From a52d50e788792a63e97a9176ab319d53db7a2853 Mon Sep 17 00:00:00 2001 From: vempo Date: Tue, 24 Jul 2018 17:34:04 +0300 Subject: Replaced old implementation at root Old project files and directories has been moved under 'deprecated-workflow-designer'. The old project is not built by the CI anymore, but can be still built manually. New modules/directories have been moved up and integrated with the CI system. Change-Id: I1528c792bcbcce9e50bfc294a1328a20e72c91cf Issue-ID: SDC-1559 Signed-off-by: vempo --- sdc-workflow-designer-ui/.angular-cli.json | 65 - sdc-workflow-designer-ui/.editorconfig | 13 - sdc-workflow-designer-ui/.gitignore | 44 - sdc-workflow-designer-ui/README.md | 57 - sdc-workflow-designer-ui/e2e/app.e2e-spec.ts | 26 - sdc-workflow-designer-ui/e2e/app.po.ts | 23 - sdc-workflow-designer-ui/e2e/tsconfig.e2e.json | 14 - sdc-workflow-designer-ui/karma.conf.js | 45 - sdc-workflow-designer-ui/package-lock.json | 9902 -------------------- sdc-workflow-designer-ui/package.json | 63 - sdc-workflow-designer-ui/pom.xml | 96 - sdc-workflow-designer-ui/protractor.conf.js | 40 - sdc-workflow-designer-ui/src/app/app.component.css | 120 - .../src/app/app.component.html | 30 - .../src/app/app.component.spec.ts | 44 - sdc-workflow-designer-ui/src/app/app.component.ts | 72 - sdc-workflow-designer-ui/src/app/app.module.ts | 158 - sdc-workflow-designer-ui/src/app/assets/.gitkeep | 0 .../src/app/assets/components/css/bootstrap4.0.css | 9320 ------------------ .../app/assets/components/css/font-awesome.min.css | 4 - .../src/app/assets/components/css/iconfont.css | 95 - .../app/assets/components/css/ngict-component.css | 1874 ---- .../src/app/assets/components/css/prism.css | 141 - .../src/app/assets/components/css/style.css | 1154 --- .../app/assets/components/fonts/FontAwesome.otf | Bin 134808 -> 0 bytes .../app/assets/components/fonts/ZteIctIcons.eot | Bin 57784 -> 0 bytes .../app/assets/components/fonts/ZteIctIcons.svg | 239 - .../app/assets/components/fonts/ZteIctIcons.ttf | Bin 57604 -> 0 bytes .../app/assets/components/fonts/ZteIctIcons.woff | Bin 57680 -> 0 bytes .../app/assets/components/fonts/ZteTableIcons.eot | Bin 1676 -> 0 bytes .../app/assets/components/fonts/ZteTableIcons.svg | 12 - .../app/assets/components/fonts/ZteTableIcons.ttf | Bin 1488 -> 0 bytes .../app/assets/components/fonts/ZteTableIcons.woff | Bin 1564 -> 0 bytes .../components/fonts/fontawesome-webfont.eot | Bin 165742 -> 0 bytes .../components/fonts/fontawesome-webfont.svg | 2671 ------ .../components/fonts/fontawesome-webfont.ttf | Bin 165548 -> 0 bytes .../components/fonts/fontawesome-webfont.woff | Bin 98024 -> 0 bytes .../components/fonts/fontawesome-webfont.woff2 | Bin 77160 -> 0 bytes .../src/app/assets/components/fonts/iconfont.eot | Bin 9664 -> 0 bytes .../src/app/assets/components/fonts/iconfont.svg | 150 - .../src/app/assets/components/fonts/iconfont.ttf | Bin 9496 -> 0 bytes .../src/app/assets/components/fonts/iconfont.woff | Bin 5956 -> 0 bytes .../src/app/assets/components/fonts/plx-icons.eot | Bin 39680 -> 0 bytes .../src/app/assets/components/fonts/plx-icons.svg | 146 - .../src/app/assets/components/fonts/plx-icons.ttf | Bin 39508 -> 0 bytes .../src/app/assets/components/fonts/plx-icons.woff | Bin 39584 -> 0 bytes .../assets/components/images/backtop/backtop.svg | 15 - .../components/images/backtop/backtop_hover.svg | 16 - .../checkbox-radio/checkbox-checked-disabled.svg | 12 - .../images/checkbox-radio/checkbox-disabled.svg | 10 - .../images/checkbox-radio/checkbox-hover.svg | 10 - .../images/checkbox-radio/checkbox-init.svg | 10 - .../checkbox-radio/radio-checked-disabled.svg | 11 - .../images/checkbox-radio/radio-checked.svg | 11 - .../images/checkbox-radio/radio-disabled.svg | 9 - .../images/checkbox-radio/radio-hover.svg | 9 - .../images/checkbox-radio/radio-init.svg | 9 - .../checkbox-radio/test/checkbox-checked.svg | 12 - .../assets/components/themes/NIV/NIV-theme.less | 271 - .../src/app/assets/components/themes/NIV/theme.css | 5549 ----------- .../app/assets/components/themes/NIV/theme.less | 89 - .../src/app/assets/components/themes/common.less | 7 - .../assets/components/themes/common/common.less | 27 - .../components/themes/common/plx-button.less | 272 - .../components/themes/common/plx-checkbox.less | 105 - .../assets/components/themes/common/plx-form.less | 233 - .../assets/components/themes/common/plx-input.less | 29 - .../assets/components/themes/common/plx-radio.less | 159 - .../assets/components/themes/common/plx-step.less | 79 - .../components/themes/common/plx-text-input.less | 50 - .../components/themes/default/NIV-theme.less | 271 - .../app/assets/components/themes/default/theme.css | 5553 ----------- .../assets/components/themes/default/theme.less | 107 - .../components/container/container.component.css | 35 - .../components/container/container.component.html | 22 - .../components/container/container.component.ts | 165 - .../editable-property.component.css | 61 - .../editable-property.component.html | 22 - .../editable-property.component.ts | 122 - .../global-notice/global-notice.component.css | 20 - .../global-notice/global-notice.component.html | 18 - .../global-notice/global-notice.component.spec.ts | 37 - .../global-notice/global-notice.component.ts | 48 - .../src/app/components/menus/menus.component.css | 26 - .../src/app/components/menus/menus.component.html | 54 - .../app/components/menus/menus.component.spec.ts | 36 - .../src/app/components/menus/menus.component.ts | 78 - .../rest-config-detail.component.html | 48 - .../rest-config-detail.component.ts | 83 - .../rest-config-list.component.css | 15 - .../rest-config-list.component.html | 32 - .../rest-config-list/rest-config-list.component.ts | 57 - .../menus/rest-config/rest-config.component.html | 39 - .../menus/rest-config/rest-config.component.ts | 43 - .../src/app/components/node/node.component.css | 229 - .../src/app/components/node/node.component.html | 164 - .../src/app/components/node/node.component.ts | 124 - .../components/parameter/parameter.component.css | 50 - .../components/parameter/parameter.component.html | 61 - .../components/parameter/parameter.component.ts | 195 - .../error-event/error-event.component.html | 15 - .../property/error-event/error-event.component.ts | 25 - .../intermediate-catch-event.component.html | 92 - .../intermediate-catch-event.component.ts | 155 - .../node-template/node-template.component.html | 49 - .../node-template/node-template.component.ts | 131 - .../components/property/properties.component.css | 36 - .../components/property/properties.component.html | 45 - .../components/property/properties.component.ts | 79 - .../node-parameters/node-parameters.component.css | 0 .../node-parameters/node-parameters.component.html | 23 - .../node-parameters/node-parameters.component.ts | 109 - .../parameter-tree/parameter-tree.component.css | 0 .../parameter-tree/parameter-tree.component.html | 36 - .../parameter-tree/parameter-tree.component.ts | 176 - .../rest-parameters/rest-parameters.component.css | 11 - .../rest-parameters/rest-parameters.component.html | 67 - .../rest-parameters.component.spec.ts | 36 - .../rest-parameters/rest-parameters.component.ts | 367 - .../property/rest-task/rest-task.component.html | 54 - .../property/rest-task/rest-task.component.ts | 273 - .../script-task/script-task.component.html | 30 - .../property/script-task/script-task.component.ts | 51 - .../service-task/service-task.component.css | 11 - .../service-task/service-task.component.html | 39 - .../service-task/service-task.component.spec.ts | 36 - .../service-task/service-task.component.ts | 97 - .../property/start-event/start-event.component.css | 44 - .../start-event/start-event.component.html | 40 - .../property/start-event/start-event.component.ts | 68 - .../sequence-flow/sequence-flow.component.css | 43 - .../sequence-flow/sequence-flow.component.html | 52 - .../sequence-flow/sequence-flow.component.ts | 76 - .../toolbar-node/toolbar-node.component.html | 28 - .../toolbar/toolbar-node/toolbar-node.component.ts | 128 - .../app/components/toolbar/toolbar.component.css | 69 - .../app/components/toolbar/toolbar.component.html | 135 - .../app/components/toolbar/toolbar.component.ts | 30 - .../app/directive/resizable/resizable.directive.ts | 42 - sdc-workflow-designer-ui/src/app/model/model.ts | 16 - .../src/app/model/node-data-type/display-name.ts | 16 - .../src/app/model/node-data-type/icon.ts | 17 - .../src/app/model/node-data-type/node-data-type.ts | 24 - .../src/app/model/notice-type.enum.ts | 14 - sdc-workflow-designer-ui/src/app/model/notice.ts | 19 - .../src/app/model/plan-model.ts | 24 - .../src/app/model/plan-treeview-item.ts | 19 - .../src/app/model/rest-config.ts | 17 - .../src/app/model/swagger-setting.ts | 18 - sdc-workflow-designer-ui/src/app/model/swagger.ts | 259 - .../src/app/model/topology/node-template.ts | 18 - .../src/app/model/value-object.ts | 15 - .../src/app/model/value-source.enum.ts | 22 - .../src/app/model/value-type.enum.ts | 20 - .../src/app/model/workflow/end-event.ts | 15 - .../src/app/model/workflow/error-event.ts | 18 - .../src/app/model/workflow/exclusive-gateway.ts | 15 - .../app/model/workflow/intermediate-catch-event.ts | 17 - .../src/app/model/workflow/node-type.enum.ts | 27 - .../src/app/model/workflow/parameter.ts | 21 - .../src/app/model/workflow/position.ts | 15 - .../src/app/model/workflow/rest-parameter.ts | 20 - .../src/app/model/workflow/rest-task.ts | 29 - .../src/app/model/workflow/script-task.ts | 17 - .../src/app/model/workflow/sequence-flow.ts | 22 - .../src/app/model/workflow/service-task.ts | 19 - .../src/app/model/workflow/start-event.ts | 17 - .../src/app/model/workflow/sub-process.ts | 15 - .../workflow/swagger/swagger-base-parameter.ts | 20 - .../workflow/swagger/swagger-body-parameter.ts | 18 - .../swagger/swagger-collection-format.enum.ts | 17 - .../workflow/swagger/swagger-data-format.enum.ts | 22 - .../workflow/swagger/swagger-data-type.enum.ts | 14 - .../app/model/workflow/swagger/swagger-in.enum.ts | 14 - .../app/model/workflow/swagger/swagger-items.ts | 31 - .../workflow/swagger/swagger-normal-parameter.ts | 34 - .../model/workflow/swagger/swagger-parameter.ts | 13 - .../app/model/workflow/swagger/swagger-response.ts | 21 - .../app/model/workflow/swagger/swagger-schema.ts | 38 - .../app/model/workflow/timer-event-definition.ts | 25 - .../src/app/model/workflow/tosca-node-task.ts | 22 - .../src/app/model/workflow/workflow-element.ts | 14 - .../src/app/model/workflow/workflow-node.ts | 25 - .../src/app/paletx/assets/css/bootstrap4.0.css | 9320 ------------------ .../src/app/paletx/assets/css/font-awesome.min.css | 4 - .../src/app/paletx/assets/css/iconfont.css | 95 - .../src/app/paletx/assets/css/ngict-component.css | 1874 ---- .../src/app/paletx/assets/css/prism.css | 141 - .../src/app/paletx/assets/css/style.css | 1154 --- .../src/app/paletx/assets/fonts/FontAwesome.otf | Bin 134808 -> 0 bytes .../src/app/paletx/assets/fonts/ZteIctIcons.eot | Bin 57784 -> 0 bytes .../src/app/paletx/assets/fonts/ZteIctIcons.svg | 239 - .../src/app/paletx/assets/fonts/ZteIctIcons.ttf | Bin 57604 -> 0 bytes .../src/app/paletx/assets/fonts/ZteIctIcons.woff | Bin 57680 -> 0 bytes .../src/app/paletx/assets/fonts/ZteTableIcons.eot | Bin 1676 -> 0 bytes .../src/app/paletx/assets/fonts/ZteTableIcons.svg | 12 - .../src/app/paletx/assets/fonts/ZteTableIcons.ttf | Bin 1488 -> 0 bytes .../src/app/paletx/assets/fonts/ZteTableIcons.woff | Bin 1564 -> 0 bytes .../paletx/assets/fonts/fontawesome-webfont.eot | Bin 165742 -> 0 bytes .../paletx/assets/fonts/fontawesome-webfont.svg | 2671 ------ .../paletx/assets/fonts/fontawesome-webfont.ttf | Bin 165548 -> 0 bytes .../paletx/assets/fonts/fontawesome-webfont.woff | Bin 98024 -> 0 bytes .../paletx/assets/fonts/fontawesome-webfont.woff2 | Bin 77160 -> 0 bytes .../src/app/paletx/assets/fonts/iconfont.eot | Bin 9664 -> 0 bytes .../src/app/paletx/assets/fonts/iconfont.svg | 150 - .../src/app/paletx/assets/fonts/iconfont.ttf | Bin 9496 -> 0 bytes .../src/app/paletx/assets/fonts/iconfont.woff | Bin 5956 -> 0 bytes .../src/app/paletx/assets/fonts/plx-icons.eot | Bin 39680 -> 0 bytes .../src/app/paletx/assets/fonts/plx-icons.svg | 146 - .../src/app/paletx/assets/fonts/plx-icons.ttf | Bin 39508 -> 0 bytes .../src/app/paletx/assets/fonts/plx-icons.woff | Bin 39584 -> 0 bytes .../app/paletx/assets/images/backtop/backtop.svg | 15 - .../paletx/assets/images/backtop/backtop_hover.svg | 16 - .../checkbox-radio/checkbox-checked-disabled.svg | 12 - .../images/checkbox-radio/checkbox-disabled.svg | 10 - .../images/checkbox-radio/checkbox-hover.svg | 10 - .../assets/images/checkbox-radio/checkbox-init.svg | 10 - .../checkbox-radio/radio-checked-disabled.svg | 11 - .../assets/images/checkbox-radio/radio-checked.svg | 11 - .../images/checkbox-radio/radio-disabled.svg | 9 - .../assets/images/checkbox-radio/radio-hover.svg | 9 - .../assets/images/checkbox-radio/radio-init.svg | 9 - .../checkbox-radio/test/checkbox-checked.svg | 12 - .../app/paletx/assets/themes/NIV/NIV-theme.less | 271 - .../src/app/paletx/assets/themes/NIV/theme.css | 5548 ----------- .../src/app/paletx/assets/themes/NIV/theme.less | 89 - .../src/app/paletx/assets/themes/common.less | 5577 ----------- .../paletx/assets/themes/default/NIV-theme.less | 271 - .../src/app/paletx/assets/themes/default/theme.css | 5552 ----------- .../app/paletx/assets/themes/default/theme.less | 107 - .../src/app/paletx/common/shared.ts | 283 - .../src/app/paletx/core/boolean-field-value.ts | 19 - .../src/app/paletx/core/domhandler.ts | 432 - .../src/app/paletx/core/number-wrapper-parse.ts | 10 - .../core/overlay/fullscreen-overlay-container.ts | 62 - .../paletx/core/overlay/generic-component-type.ts | 9 - .../src/app/paletx/core/overlay/index.ts | 49 - .../app/paletx/core/overlay/overlay-container.ts | 83 - .../app/paletx/core/overlay/overlay-directives.ts | 329 - .../paletx/core/overlay/overlay-position-map.ts | 124 - .../src/app/paletx/core/overlay/overlay-ref.ts | 271 - .../src/app/paletx/core/overlay/overlay-state.ts | 61 - .../src/app/paletx/core/overlay/overlay.ts | 109 - .../position/connected-position-strategy.ts | 478 - .../core/overlay/position/connected-position.ts | 87 - .../core/overlay/position/fake-viewport-ruler.ts | 25 - .../overlay/position/free-position-strategy.ts | 83 - .../overlay/position/global-position-strategy.ts | 178 - .../overlay/position/overlay-position-builder.ts | 51 - .../core/overlay/position/position-strategy.ts | 17 - .../paletx/core/overlay/position/viewport-ruler.ts | 110 - .../core/overlay/scroll/block-scroll-strategy.ts | 77 - .../core/overlay/scroll/close-scroll-strategy.ts | 54 - .../src/app/paletx/core/overlay/scroll/index.ts | 35 - .../core/overlay/scroll/noop-scroll-strategy.ts | 24 - .../overlay/scroll/reposition-scroll-strategy.ts | 59 - .../core/overlay/scroll/scroll-dispatcher.ts | 174 - .../core/overlay/scroll/scroll-strategy-options.ts | 52 - .../paletx/core/overlay/scroll/scroll-strategy.ts | 29 - .../app/paletx/core/overlay/scroll/scrollable.ts | 63 - .../src/app/paletx/core/overlaypanel/index.ts | 1 - .../app/paletx/core/overlaypanel/overlaypanel.ts | 163 - .../src/app/paletx/core/pxbutton/button-state.ts | 6 - .../app/paletx/core/pxbutton/button.directive.ts | 178 - .../src/app/paletx/core/pxbutton/button.module.ts | 14 - .../src/app/paletx/core/pxbutton/index.ts | 2 - .../src/app/paletx/core/select.service.ts | 57 - .../src/app/paletx/core/uuid.ts | 36 - .../paletx/plx-datepicker/numberedFixLen.pipe.ts | 27 - .../app/paletx/plx-datepicker/picker.component.css | 366 - .../paletx/plx-datepicker/picker.component.html | 134 - .../paletx/plx-datepicker/picker.component.less | 434 - .../app/paletx/plx-datepicker/picker.component.ts | 1712 ---- .../src/app/paletx/plx-datepicker/picker.module.ts | 27 - .../plx-datepicker/pickerrange.component.css | 18 - .../plx-datepicker/pickerrange.component.html | 14 - .../paletx/plx-datepicker/pickerrange.component.ts | 162 - .../app/paletx/plx-datepicker/popover-config.ts | 13 - .../src/app/paletx/plx-datepicker/popover.ts | 175 - .../src/app/paletx/plx-datepicker/time.ts | 51 - .../app/paletx/plx-datepicker/timepicker-config.ts | 19 - .../src/app/paletx/plx-datepicker/timepicker.less | 163 - .../src/app/paletx/plx-datepicker/timepicker.ts | 558 -- .../src/app/paletx/plx-datepicker/util/popup.ts | 58 - .../app/paletx/plx-datepicker/util/positioning.ts | 153 - .../src/app/paletx/plx-datepicker/util/triggers.ts | 62 - .../src/app/paletx/plx-datepicker/util/util.ts | 39 - .../app/paletx/plx-modal/modal-backdrop.spec.ts | 16 - .../src/app/paletx/plx-modal/modal-backdrop.ts | 9 - .../app/paletx/plx-modal/modal-dismiss-reasons.ts | 4 - .../src/app/paletx/plx-modal/modal-ref.ts | 109 - .../src/app/paletx/plx-modal/modal-stack.ts | 103 - .../src/app/paletx/plx-modal/modal-window.spec.ts | 114 - .../src/app/paletx/plx-modal/modal-window.ts | 82 - .../src/app/paletx/plx-modal/modal.less | 125 - .../src/app/paletx/plx-modal/modal.module.ts | 21 - .../src/app/paletx/plx-modal/modal.spec.ts | 597 -- .../src/app/paletx/plx-modal/modal.ts | 54 - .../src/app/paletx/plx-text-input/index.ts | 8 - .../plx-text-input/ipv4-validator.directive.ts | 24 - .../plx-text-input/ipv6-validator.directive.ts | 24 - .../plx-text-input/max-validator.directive.ts | 49 - .../plx-text-input/min-validator.directive.ts | 49 - .../text-input-ip-address.component.ts | 170 - .../plx-text-input/text-input-ip.component.ts | 189 - .../paletx/plx-text-input/text-input.component.ts | 765 -- .../src/app/paletx/plx-text-input/text-input.html | 69 - .../src/app/paletx/plx-text-input/text-input.less | 423 - .../app/paletx/plx-text-input/text-input.module.ts | 31 - .../plx-text-input/validate-on-blur.directive.ts | 18 - .../paletx/plx-tooltip/plx-tooltip-config.spec.ts | 11 - .../app/paletx/plx-tooltip/plx-tooltip-config.ts | 13 - .../src/app/paletx/plx-tooltip/plx-tooltip.less | 241 - .../app/paletx/plx-tooltip/plx-tooltip.module.ts | 12 - .../src/app/paletx/plx-tooltip/plx-tooltip.spec.ts | 485 - .../src/app/paletx/plx-tooltip/plx-tooltip.ts | 176 - .../src/app/paletx/util/popup.ts | 59 - .../src/app/paletx/util/positioning.ts | 425 - .../src/app/paletx/util/triggers.ts | 66 - .../src/app/paletx/util/util.ts | 65 - .../src/app/services/auth.service.spec.ts | 26 - .../src/app/services/auth.service.ts | 65 - .../src/app/services/broadcast.service.ts | 75 - .../src/app/services/display-info.service.ts | 27 - .../src/app/services/interface.service.spec.ts | 26 - .../src/app/services/interface.service.ts | 53 - .../src/app/services/jsplumb.service.ts | 581 -- .../src/app/services/model.service.ts | 625 -- .../src/app/services/node-type.service.ts | 68 - .../src/app/services/notice.service.ts | 54 - .../src/app/services/rest.service.ts | 151 - .../src/app/services/setting.service.spec.ts | 26 - .../src/app/services/setting.service.ts | 31 - .../app/services/swagger-tree-converter.service.ts | 244 - .../src/app/services/tosca.service.spec.ts | 26 - .../src/app/services/tosca.service.ts | 153 - .../src/app/shared/input/validators.ts | 147 - .../app/shared/input/wfm-text-input.component.ts | 258 - .../src/app/shared/input/wfm-text-input.module.ts | 15 - .../src/app/shared/shared.module.ts | 36 - .../src/app/util/http.service.ts | 67 - .../src/app/util/rxjs-operators.ts | 19 - .../src/app/util/workflow-util.ts | 43 - sdc-workflow-designer-ui/src/assets/.gitkeep | 0 .../src/assets/global-setting.json | 5 - sdc-workflow-designer-ui/src/assets/i18n/en.json | 100 - .../src/assets/i18n/zh-CN.json | 100 - .../src/assets/images/apds_rest.svg | 16 - .../src/assets/images/apds_script.svg | 24 - .../src/assets/images/apds_service.svg | 18 - .../src/assets/images/default.svg | 23 - .../src/assets/images/toscaNodeManagementTask.svg | 11 - .../src/environments/environment.prod.ts | 15 - .../src/environments/environment.ts | 20 - sdc-workflow-designer-ui/src/index.html | 29 - sdc-workflow-designer-ui/src/main.ts | 23 - sdc-workflow-designer-ui/src/polyfills.ts | 84 - sdc-workflow-designer-ui/src/styles.css | 164 - sdc-workflow-designer-ui/src/test.ts | 44 - sdc-workflow-designer-ui/src/tsconfig.app.json | 13 - sdc-workflow-designer-ui/src/tsconfig.spec.json | 20 - sdc-workflow-designer-ui/src/typings.d.ts | 17 - sdc-workflow-designer-ui/tsconfig.json | 19 - sdc-workflow-designer-ui/tslint.json | 142 - 364 files changed, 95091 deletions(-) delete mode 100644 sdc-workflow-designer-ui/.angular-cli.json delete mode 100644 sdc-workflow-designer-ui/.editorconfig delete mode 100644 sdc-workflow-designer-ui/.gitignore delete mode 100644 sdc-workflow-designer-ui/README.md delete mode 100644 sdc-workflow-designer-ui/e2e/app.e2e-spec.ts delete mode 100644 sdc-workflow-designer-ui/e2e/app.po.ts delete mode 100644 sdc-workflow-designer-ui/e2e/tsconfig.e2e.json delete mode 100644 sdc-workflow-designer-ui/karma.conf.js delete mode 100644 sdc-workflow-designer-ui/package-lock.json delete mode 100644 sdc-workflow-designer-ui/package.json delete mode 100644 sdc-workflow-designer-ui/pom.xml delete mode 100644 sdc-workflow-designer-ui/protractor.conf.js delete mode 100644 sdc-workflow-designer-ui/src/app/app.component.css delete mode 100644 sdc-workflow-designer-ui/src/app/app.component.html delete mode 100644 sdc-workflow-designer-ui/src/app/app.component.spec.ts delete mode 100644 sdc-workflow-designer-ui/src/app/app.component.ts delete mode 100644 sdc-workflow-designer-ui/src/app/app.module.ts delete mode 100644 sdc-workflow-designer-ui/src/app/assets/.gitkeep delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/css/bootstrap4.0.css delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/css/font-awesome.min.css delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/css/iconfont.css delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/css/ngict-component.css delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/css/prism.css delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/css/style.css delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/fonts/FontAwesome.otf delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/fonts/ZteIctIcons.eot delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/fonts/ZteIctIcons.svg delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/fonts/ZteIctIcons.ttf delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/fonts/ZteIctIcons.woff delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/fonts/ZteTableIcons.eot delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/fonts/ZteTableIcons.svg delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/fonts/ZteTableIcons.ttf delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/fonts/ZteTableIcons.woff delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/fonts/fontawesome-webfont.eot delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/fonts/fontawesome-webfont.svg delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/fonts/fontawesome-webfont.ttf delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/fonts/fontawesome-webfont.woff delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/fonts/fontawesome-webfont.woff2 delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/fonts/iconfont.eot delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/fonts/iconfont.svg delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/fonts/iconfont.ttf delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/fonts/iconfont.woff delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/fonts/plx-icons.eot delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/fonts/plx-icons.svg delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/fonts/plx-icons.ttf delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/fonts/plx-icons.woff delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/images/backtop/backtop.svg delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/images/backtop/backtop_hover.svg delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/checkbox-checked-disabled.svg delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/checkbox-disabled.svg delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/checkbox-hover.svg delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/checkbox-init.svg delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/radio-checked-disabled.svg delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/radio-checked.svg delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/radio-disabled.svg delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/radio-hover.svg delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/radio-init.svg delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/test/checkbox-checked.svg delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/themes/NIV/NIV-theme.less delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/themes/NIV/theme.css delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/themes/NIV/theme.less delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/themes/common.less delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/themes/common/common.less delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/themes/common/plx-button.less delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/themes/common/plx-checkbox.less delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/themes/common/plx-form.less delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/themes/common/plx-input.less delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/themes/common/plx-radio.less delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/themes/common/plx-step.less delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/themes/common/plx-text-input.less delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/themes/default/NIV-theme.less delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/themes/default/theme.css delete mode 100644 sdc-workflow-designer-ui/src/app/assets/components/themes/default/theme.less delete mode 100644 sdc-workflow-designer-ui/src/app/components/container/container.component.css delete mode 100644 sdc-workflow-designer-ui/src/app/components/container/container.component.html delete mode 100644 sdc-workflow-designer-ui/src/app/components/container/container.component.ts delete mode 100644 sdc-workflow-designer-ui/src/app/components/editable-property/editable-property.component.css delete mode 100644 sdc-workflow-designer-ui/src/app/components/editable-property/editable-property.component.html delete mode 100644 sdc-workflow-designer-ui/src/app/components/editable-property/editable-property.component.ts delete mode 100644 sdc-workflow-designer-ui/src/app/components/global-notice/global-notice.component.css delete mode 100644 sdc-workflow-designer-ui/src/app/components/global-notice/global-notice.component.html delete mode 100644 sdc-workflow-designer-ui/src/app/components/global-notice/global-notice.component.spec.ts delete mode 100644 sdc-workflow-designer-ui/src/app/components/global-notice/global-notice.component.ts delete mode 100644 sdc-workflow-designer-ui/src/app/components/menus/menus.component.css delete mode 100644 sdc-workflow-designer-ui/src/app/components/menus/menus.component.html delete mode 100644 sdc-workflow-designer-ui/src/app/components/menus/menus.component.spec.ts delete mode 100644 sdc-workflow-designer-ui/src/app/components/menus/menus.component.ts delete mode 100644 sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config-detail/rest-config-detail.component.html delete mode 100644 sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config-detail/rest-config-detail.component.ts delete mode 100644 sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config-list/rest-config-list.component.css delete mode 100644 sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config-list/rest-config-list.component.html delete mode 100644 sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config-list/rest-config-list.component.ts delete mode 100644 sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config.component.html delete mode 100644 sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config.component.ts delete mode 100644 sdc-workflow-designer-ui/src/app/components/node/node.component.css delete mode 100644 sdc-workflow-designer-ui/src/app/components/node/node.component.html delete mode 100644 sdc-workflow-designer-ui/src/app/components/node/node.component.ts delete mode 100644 sdc-workflow-designer-ui/src/app/components/parameter/parameter.component.css delete mode 100644 sdc-workflow-designer-ui/src/app/components/parameter/parameter.component.html delete mode 100644 sdc-workflow-designer-ui/src/app/components/parameter/parameter.component.ts delete mode 100644 sdc-workflow-designer-ui/src/app/components/property/error-event/error-event.component.html delete mode 100644 sdc-workflow-designer-ui/src/app/components/property/error-event/error-event.component.ts delete mode 100644 sdc-workflow-designer-ui/src/app/components/property/intermediate-catch-event/intermediate-catch-event.component.html delete mode 100644 sdc-workflow-designer-ui/src/app/components/property/intermediate-catch-event/intermediate-catch-event.component.ts delete mode 100644 sdc-workflow-designer-ui/src/app/components/property/node-template/node-template.component.html delete mode 100644 sdc-workflow-designer-ui/src/app/components/property/node-template/node-template.component.ts delete mode 100644 sdc-workflow-designer-ui/src/app/components/property/properties.component.css delete mode 100644 sdc-workflow-designer-ui/src/app/components/property/properties.component.html delete mode 100644 sdc-workflow-designer-ui/src/app/components/property/properties.component.ts delete mode 100644 sdc-workflow-designer-ui/src/app/components/property/rest-task/node-parameters/node-parameters.component.css delete mode 100644 sdc-workflow-designer-ui/src/app/components/property/rest-task/node-parameters/node-parameters.component.html delete mode 100644 sdc-workflow-designer-ui/src/app/components/property/rest-task/node-parameters/node-parameters.component.ts delete mode 100644 sdc-workflow-designer-ui/src/app/components/property/rest-task/node-parameters/parameter-tree/parameter-tree.component.css delete mode 100644 sdc-workflow-designer-ui/src/app/components/property/rest-task/node-parameters/parameter-tree/parameter-tree.component.html delete mode 100644 sdc-workflow-designer-ui/src/app/components/property/rest-task/node-parameters/parameter-tree/parameter-tree.component.ts delete mode 100644 sdc-workflow-designer-ui/src/app/components/property/rest-task/rest-parameters/rest-parameters.component.css delete mode 100644 sdc-workflow-designer-ui/src/app/components/property/rest-task/rest-parameters/rest-parameters.component.html delete mode 100644 sdc-workflow-designer-ui/src/app/components/property/rest-task/rest-parameters/rest-parameters.component.spec.ts delete mode 100644 sdc-workflow-designer-ui/src/app/components/property/rest-task/rest-parameters/rest-parameters.component.ts delete mode 100644 sdc-workflow-designer-ui/src/app/components/property/rest-task/rest-task.component.html delete mode 100644 sdc-workflow-designer-ui/src/app/components/property/rest-task/rest-task.component.ts delete mode 100644 sdc-workflow-designer-ui/src/app/components/property/script-task/script-task.component.html delete mode 100644 sdc-workflow-designer-ui/src/app/components/property/script-task/script-task.component.ts delete mode 100644 sdc-workflow-designer-ui/src/app/components/property/service-task/service-task.component.css delete mode 100644 sdc-workflow-designer-ui/src/app/components/property/service-task/service-task.component.html delete mode 100644 sdc-workflow-designer-ui/src/app/components/property/service-task/service-task.component.spec.ts delete mode 100644 sdc-workflow-designer-ui/src/app/components/property/service-task/service-task.component.ts delete mode 100644 sdc-workflow-designer-ui/src/app/components/property/start-event/start-event.component.css delete mode 100644 sdc-workflow-designer-ui/src/app/components/property/start-event/start-event.component.html delete mode 100644 sdc-workflow-designer-ui/src/app/components/property/start-event/start-event.component.ts delete mode 100644 sdc-workflow-designer-ui/src/app/components/sequence-flow/sequence-flow.component.css delete mode 100644 sdc-workflow-designer-ui/src/app/components/sequence-flow/sequence-flow.component.html delete mode 100644 sdc-workflow-designer-ui/src/app/components/sequence-flow/sequence-flow.component.ts delete mode 100644 sdc-workflow-designer-ui/src/app/components/toolbar/toolbar-node/toolbar-node.component.html delete mode 100644 sdc-workflow-designer-ui/src/app/components/toolbar/toolbar-node/toolbar-node.component.ts delete mode 100644 sdc-workflow-designer-ui/src/app/components/toolbar/toolbar.component.css delete mode 100644 sdc-workflow-designer-ui/src/app/components/toolbar/toolbar.component.html delete mode 100644 sdc-workflow-designer-ui/src/app/components/toolbar/toolbar.component.ts delete mode 100644 sdc-workflow-designer-ui/src/app/directive/resizable/resizable.directive.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/model.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/node-data-type/display-name.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/node-data-type/icon.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/node-data-type/node-data-type.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/notice-type.enum.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/notice.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/plan-model.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/plan-treeview-item.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/rest-config.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/swagger-setting.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/swagger.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/topology/node-template.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/value-object.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/value-source.enum.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/value-type.enum.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/workflow/end-event.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/workflow/error-event.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/workflow/exclusive-gateway.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/workflow/intermediate-catch-event.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/workflow/node-type.enum.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/workflow/parameter.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/workflow/position.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/workflow/rest-parameter.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/workflow/rest-task.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/workflow/script-task.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/workflow/sequence-flow.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/workflow/service-task.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/workflow/start-event.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/workflow/sub-process.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-base-parameter.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-body-parameter.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-collection-format.enum.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-data-format.enum.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-data-type.enum.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-in.enum.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-items.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-normal-parameter.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-parameter.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-response.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-schema.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/workflow/timer-event-definition.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/workflow/tosca-node-task.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/workflow/workflow-element.ts delete mode 100644 sdc-workflow-designer-ui/src/app/model/workflow/workflow-node.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/css/bootstrap4.0.css delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/css/font-awesome.min.css delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/css/iconfont.css delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/css/ngict-component.css delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/css/prism.css delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/css/style.css delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/fonts/FontAwesome.otf delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/fonts/ZteIctIcons.eot delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/fonts/ZteIctIcons.svg delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/fonts/ZteIctIcons.ttf delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/fonts/ZteIctIcons.woff delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/fonts/ZteTableIcons.eot delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/fonts/ZteTableIcons.svg delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/fonts/ZteTableIcons.ttf delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/fonts/ZteTableIcons.woff delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/fonts/fontawesome-webfont.eot delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/fonts/fontawesome-webfont.svg delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/fonts/fontawesome-webfont.ttf delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/fonts/fontawesome-webfont.woff delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/fonts/fontawesome-webfont.woff2 delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/fonts/iconfont.eot delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/fonts/iconfont.svg delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/fonts/iconfont.ttf delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/fonts/iconfont.woff delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/fonts/plx-icons.eot delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/fonts/plx-icons.svg delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/fonts/plx-icons.ttf delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/fonts/plx-icons.woff delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/images/backtop/backtop.svg delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/images/backtop/backtop_hover.svg delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/checkbox-checked-disabled.svg delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/checkbox-disabled.svg delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/checkbox-hover.svg delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/checkbox-init.svg delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/radio-checked-disabled.svg delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/radio-checked.svg delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/radio-disabled.svg delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/radio-hover.svg delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/radio-init.svg delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/test/checkbox-checked.svg delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/themes/NIV/NIV-theme.less delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/themes/NIV/theme.css delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/themes/NIV/theme.less delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/themes/common.less delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/themes/default/NIV-theme.less delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/themes/default/theme.css delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/assets/themes/default/theme.less delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/common/shared.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/core/boolean-field-value.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/core/domhandler.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/core/number-wrapper-parse.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/core/overlay/fullscreen-overlay-container.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/core/overlay/generic-component-type.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/core/overlay/index.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/core/overlay/overlay-container.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/core/overlay/overlay-directives.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/core/overlay/overlay-position-map.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/core/overlay/overlay-ref.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/core/overlay/overlay-state.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/core/overlay/overlay.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/connected-position-strategy.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/connected-position.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/fake-viewport-ruler.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/free-position-strategy.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/global-position-strategy.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/overlay-position-builder.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/position-strategy.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/viewport-ruler.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/core/overlay/scroll/block-scroll-strategy.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/core/overlay/scroll/close-scroll-strategy.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/core/overlay/scroll/index.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/core/overlay/scroll/noop-scroll-strategy.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/core/overlay/scroll/reposition-scroll-strategy.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/core/overlay/scroll/scroll-dispatcher.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/core/overlay/scroll/scroll-strategy-options.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/core/overlay/scroll/scroll-strategy.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/core/overlay/scroll/scrollable.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/core/overlaypanel/index.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/core/overlaypanel/overlaypanel.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/core/pxbutton/button-state.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/core/pxbutton/button.directive.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/core/pxbutton/button.module.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/core/pxbutton/index.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/core/select.service.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/core/uuid.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/numberedFixLen.pipe.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/picker.component.css delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/picker.component.html delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/picker.component.less delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/picker.component.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/picker.module.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/pickerrange.component.css delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/pickerrange.component.html delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/pickerrange.component.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/popover-config.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/popover.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/time.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/timepicker-config.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/timepicker.less delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/timepicker.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/util/popup.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/util/positioning.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/util/triggers.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/util/util.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal-backdrop.spec.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal-backdrop.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal-dismiss-reasons.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal-ref.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal-stack.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal-window.spec.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal-window.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal.less delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal.module.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal.spec.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-text-input/index.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-text-input/ipv4-validator.directive.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-text-input/ipv6-validator.directive.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-text-input/max-validator.directive.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-text-input/min-validator.directive.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-text-input/text-input-ip-address.component.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-text-input/text-input-ip.component.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-text-input/text-input.component.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-text-input/text-input.html delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-text-input/text-input.less delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-text-input/text-input.module.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-text-input/validate-on-blur.directive.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-tooltip/plx-tooltip-config.spec.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-tooltip/plx-tooltip-config.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-tooltip/plx-tooltip.less delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-tooltip/plx-tooltip.module.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-tooltip/plx-tooltip.spec.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/plx-tooltip/plx-tooltip.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/util/popup.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/util/positioning.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/util/triggers.ts delete mode 100644 sdc-workflow-designer-ui/src/app/paletx/util/util.ts delete mode 100644 sdc-workflow-designer-ui/src/app/services/auth.service.spec.ts delete mode 100644 sdc-workflow-designer-ui/src/app/services/auth.service.ts delete mode 100644 sdc-workflow-designer-ui/src/app/services/broadcast.service.ts delete mode 100644 sdc-workflow-designer-ui/src/app/services/display-info.service.ts delete mode 100644 sdc-workflow-designer-ui/src/app/services/interface.service.spec.ts delete mode 100644 sdc-workflow-designer-ui/src/app/services/interface.service.ts delete mode 100644 sdc-workflow-designer-ui/src/app/services/jsplumb.service.ts delete mode 100644 sdc-workflow-designer-ui/src/app/services/model.service.ts delete mode 100644 sdc-workflow-designer-ui/src/app/services/node-type.service.ts delete mode 100644 sdc-workflow-designer-ui/src/app/services/notice.service.ts delete mode 100644 sdc-workflow-designer-ui/src/app/services/rest.service.ts delete mode 100644 sdc-workflow-designer-ui/src/app/services/setting.service.spec.ts delete mode 100644 sdc-workflow-designer-ui/src/app/services/setting.service.ts delete mode 100644 sdc-workflow-designer-ui/src/app/services/swagger-tree-converter.service.ts delete mode 100644 sdc-workflow-designer-ui/src/app/services/tosca.service.spec.ts delete mode 100644 sdc-workflow-designer-ui/src/app/services/tosca.service.ts delete mode 100644 sdc-workflow-designer-ui/src/app/shared/input/validators.ts delete mode 100644 sdc-workflow-designer-ui/src/app/shared/input/wfm-text-input.component.ts delete mode 100644 sdc-workflow-designer-ui/src/app/shared/input/wfm-text-input.module.ts delete mode 100644 sdc-workflow-designer-ui/src/app/shared/shared.module.ts delete mode 100644 sdc-workflow-designer-ui/src/app/util/http.service.ts delete mode 100644 sdc-workflow-designer-ui/src/app/util/rxjs-operators.ts delete mode 100644 sdc-workflow-designer-ui/src/app/util/workflow-util.ts delete mode 100644 sdc-workflow-designer-ui/src/assets/.gitkeep delete mode 100644 sdc-workflow-designer-ui/src/assets/global-setting.json delete mode 100644 sdc-workflow-designer-ui/src/assets/i18n/en.json delete mode 100644 sdc-workflow-designer-ui/src/assets/i18n/zh-CN.json delete mode 100644 sdc-workflow-designer-ui/src/assets/images/apds_rest.svg delete mode 100644 sdc-workflow-designer-ui/src/assets/images/apds_script.svg delete mode 100644 sdc-workflow-designer-ui/src/assets/images/apds_service.svg delete mode 100644 sdc-workflow-designer-ui/src/assets/images/default.svg delete mode 100644 sdc-workflow-designer-ui/src/assets/images/toscaNodeManagementTask.svg delete mode 100644 sdc-workflow-designer-ui/src/environments/environment.prod.ts delete mode 100644 sdc-workflow-designer-ui/src/environments/environment.ts delete mode 100644 sdc-workflow-designer-ui/src/index.html delete mode 100644 sdc-workflow-designer-ui/src/main.ts delete mode 100644 sdc-workflow-designer-ui/src/polyfills.ts delete mode 100644 sdc-workflow-designer-ui/src/styles.css delete mode 100644 sdc-workflow-designer-ui/src/test.ts delete mode 100644 sdc-workflow-designer-ui/src/tsconfig.app.json delete mode 100644 sdc-workflow-designer-ui/src/tsconfig.spec.json delete mode 100644 sdc-workflow-designer-ui/src/typings.d.ts delete mode 100644 sdc-workflow-designer-ui/tsconfig.json delete mode 100644 sdc-workflow-designer-ui/tslint.json (limited to 'sdc-workflow-designer-ui') diff --git a/sdc-workflow-designer-ui/.angular-cli.json b/sdc-workflow-designer-ui/.angular-cli.json deleted file mode 100644 index a4cf34ee..00000000 --- a/sdc-workflow-designer-ui/.angular-cli.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "$schema": "./node_modules/@angular/cli/lib/config/schema.json", - "project": { - "name": "workflow-modeler" - }, - "apps": [ - { - "root": "src", - "outDir": "dist", - "assets": [ - "assets" - ], - "index": "index.html", - "main": "main.ts", - "polyfills": "polyfills.ts", - "test": "test.ts", - "tsconfig": "tsconfig.app.json", - "testTsconfig": "tsconfig.spec.json", - "prefix": "wfm", - "styles": [ - "../node_modules/bootstrap/dist/css/bootstrap.css", - "../node_modules/font-awesome/css/font-awesome.css", - "../node_modules/primeng/resources/primeng.min.css", - "../node_modules/primeng/resources/themes/bootstrap/theme.css", - "app/paletx/assets/css/style.css", - "app/paletx/assets/themes/default/theme.css", - "styles.css" - ], - "scripts": [], - "environmentSource": "environments/environment.ts", - "environments": { - "dev": "environments/environment.ts", - "prod": "environments/environment.prod.ts" - } - } - ], - "e2e": { - "protractor": { - "config": "./protractor.conf.js" - } - }, - "lint": [ - { - "project": "src/tsconfig.app.json", - "exclude": "**/node_modules/**" - }, - { - "project": "src/tsconfig.spec.json", - "exclude": "**/node_modules/**" - }, - { - "project": "e2e/tsconfig.e2e.json", - "exclude": "**/node_modules/**" - } - ], - "test": { - "karma": { - "config": "./karma.conf.js" - } - }, - "defaults": { - "styleExt": "css", - "component": {} - } -} diff --git a/sdc-workflow-designer-ui/.editorconfig b/sdc-workflow-designer-ui/.editorconfig deleted file mode 100644 index 6e87a003..00000000 --- a/sdc-workflow-designer-ui/.editorconfig +++ /dev/null @@ -1,13 +0,0 @@ -# Editor configuration, see http://editorconfig.org -root = true - -[*] -charset = utf-8 -indent_style = space -indent_size = 2 -insert_final_newline = true -trim_trailing_whitespace = true - -[*.md] -max_line_length = off -trim_trailing_whitespace = false diff --git a/sdc-workflow-designer-ui/.gitignore b/sdc-workflow-designer-ui/.gitignore deleted file mode 100644 index a563942c..00000000 --- a/sdc-workflow-designer-ui/.gitignore +++ /dev/null @@ -1,44 +0,0 @@ -# See http://help.github.com/ignore-files/ for more about ignoring files. - -# compiled output -/dist -/tmp -/out-tsc -/node - -# dependencies -/node_modules - -# IDEs and editors -/.idea -.project -.classpath -.c9/ -*.launch -.settings/ -*.sublime-workspace - -# IDE - VSCode -.vscode/* -!.vscode/settings.json -!.vscode/tasks.json -!.vscode/launch.json -!.vscode/extensions.json - -# misc -/.sass-cache -/connect.lock -/coverage -/libpeerconnection.log -npm-debug.log -testem.log -/typings -yarn-error.log - -# e2e -/e2e/*.js -/e2e/*.map - -# System Files -.DS_Store -Thumbs.db diff --git a/sdc-workflow-designer-ui/README.md b/sdc-workflow-designer-ui/README.md deleted file mode 100644 index 88859be5..00000000 --- a/sdc-workflow-designer-ui/README.md +++ /dev/null @@ -1,57 +0,0 @@ - -# Workflow Modeler - -This project is an implementation of a workflow modeler for creating and maintaining [TOSCA] compatible management plans. - -It is based on the thesis [Ein Modellierungswerkzeug fr BPMN4TOSCA] by Thomas Michelbach. - -## Installation - - Fetch dependencies using `npm install` - -## Run - -Execute `npm start`. -Open with correct HTTP GET params: - -repositoryURL (e.g. http://dev.winery.opentosca.org/winery/) -namespace (e.g. http://www.example.org/ServiceTemplates) -id (e.g. PlanDemonstration) -plan (e.g. Test) - -You can also directly embed it into Winery. -Ensure that `winery.properties` contains following line. - -``` -bpmn4toscamodelerBaseURI=http://localhost:9527/ -``` - -## License -Copyright (c) 2017 ZTE Corporation. - -All rights reserved. This program and the accompanying materials -are made available under the terms of the [Eclipse Public License v1.0] -and the [Apache License v2.0] which both accompany this distribution, -and are available at http://www.eclipse.org/legal/epl-v10.html -and http://www.apache.org/licenses/LICENSE-2.0. - -Please check the [EPL FAQ](https://eclipse.org/legal/eplfaq.php#DUALLIC) for implications. - - [Apache License v2.0]: http://www.apache.org/licenses/LICENSE-2.0.html - [Eclipse Public License v1.0]: http://www.eclipse.org/legal/epl-v10.html - - -## Literature - -### About TOSCA -* Binz, T., Breiter, G., Leymann, F., Spatzier, T.: Portable Cloud Services Using TOSCA. IEEE Internet Computing 16(03), 80--85 (May 2012). [DOI:10.1109/MIC.2012.43] -* Topology and Orchestration Specification for Cloud Applications Version 1.0. 25 November 2013. OASIS Standard. http://docs.oasis-open.org/tosca/TOSCA/v1.0/os/TOSCA-v1.0-os.html -* OASIS: Topology and Orchestration Specification for Cloud Applications (TOSCA) Primer Version 1.0 (2013) - -See http://www.opentosca.org/#publications for a list of publications in the OpenTOSCA ecosystem. - - [Apache License v2.0]: http://www.apache.org/licenses/LICENSE-2.0.html - [DOI:10.1109/MIC.2012.43]: http://dx.doi.org/10.1109/MIC.2012.43 - [Eclipse Public License v1.0]: http://www.eclipse.org/legal/epl-v10.html - [Ein Modellierungswerkzeug fr BPMN4TOSCA]: http://elib.uni-stuttgart.de/opus/volltexte/2015/9943/ - [TOSCA]: https://www.oasis-open.org/committees/tosca/ diff --git a/sdc-workflow-designer-ui/e2e/app.e2e-spec.ts b/sdc-workflow-designer-ui/e2e/app.e2e-spec.ts deleted file mode 100644 index 194ac2ae..00000000 --- a/sdc-workflow-designer-ui/e2e/app.e2e-spec.ts +++ /dev/null @@ -1,26 +0,0 @@ -/** - * Copyright (c) 2017-2018 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -import { AppPage } from './app.po'; - -describe('workflowmodeler App', () => { - let page: AppPage; - - beforeEach(() => { - page = new AppPage(); - }); - - it('should display welcome message', () => { - page.navigateTo(); - expect(page.getParagraphText()).toEqual('Welcome to app!'); - }); -}); diff --git a/sdc-workflow-designer-ui/e2e/app.po.ts b/sdc-workflow-designer-ui/e2e/app.po.ts deleted file mode 100644 index dd457864..00000000 --- a/sdc-workflow-designer-ui/e2e/app.po.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Copyright (c) 2017-2018 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -import { browser, by, element } from 'protractor'; - -export class AppPage { - navigateTo() { - return browser.get('/'); - } - - getParagraphText() { - return element(by.css('app-root h1')).getText(); - } -} diff --git a/sdc-workflow-designer-ui/e2e/tsconfig.e2e.json b/sdc-workflow-designer-ui/e2e/tsconfig.e2e.json deleted file mode 100644 index 1d9e5edf..00000000 --- a/sdc-workflow-designer-ui/e2e/tsconfig.e2e.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": "../tsconfig.json", - "compilerOptions": { - "outDir": "../out-tsc/e2e", - "baseUrl": "./", - "module": "commonjs", - "target": "es5", - "types": [ - "jasmine", - "jasminewd2", - "node" - ] - } -} diff --git a/sdc-workflow-designer-ui/karma.conf.js b/sdc-workflow-designer-ui/karma.conf.js deleted file mode 100644 index da79c089..00000000 --- a/sdc-workflow-designer-ui/karma.conf.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * Copyright (c) 2017-2018 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -// Karma configuration file, see link for more information -// https://karma-runner.github.io/1.0/config/configuration-file.html - -module.exports = function (config) { - config.set({ - basePath: '', - frameworks: ['jasmine', '@angular/cli'], - plugins: [ - require('karma-jasmine'), - require('karma-chrome-launcher'), - require('karma-jasmine-html-reporter'), - require('karma-coverage-istanbul-reporter'), - require('@angular/cli/plugins/karma') - ], - client:{ - clearContext: false // leave Jasmine Spec Runner output visible in browser - }, - coverageIstanbulReporter: { - reports: [ 'html', 'lcovonly' ], - fixWebpackSourcePaths: true - }, - angularCli: { - environment: 'dev' - }, - reporters: ['progress', 'kjhtml'], - port: 9876, - colors: true, - logLevel: config.LOG_INFO, - autoWatch: true, - browsers: ['Chrome'], - singleRun: false - }); -}; diff --git a/sdc-workflow-designer-ui/package-lock.json b/sdc-workflow-designer-ui/package-lock.json deleted file mode 100644 index 5c4a9cb0..00000000 --- a/sdc-workflow-designer-ui/package-lock.json +++ /dev/null @@ -1,9902 +0,0 @@ -{ - "name": "workflow-modeler", - "version": "1.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@angular-devkit/core": { - "version": "0.0.20", - "resolved": "http://registry.npm.taobao.org/@angular-devkit/core/download/@angular-devkit/core-0.0.20.tgz", - "integrity": "sha1-KtNt0hD8zQ4VbQHGSZCCrUzYwq8=", - "dev": true, - "requires": { - "source-map": "0.5.6" - } - }, - "@angular-devkit/schematics": { - "version": "0.0.52", - "resolved": "http://registry.npm.taobao.org/@angular-devkit/schematics/download/@angular-devkit/schematics-0.0.52.tgz", - "integrity": "sha1-y9L0J3i1DWQiolT/rsBa1O88tsA=", - "dev": true, - "requires": { - "@ngtools/json-schema": "1.1.0", - "rxjs": "5.5.7" - }, - "dependencies": { - "rxjs": { - "version": "5.5.7", - "resolved": "http://registry.npm.taobao.org/rxjs/download/rxjs-5.5.7.tgz", - "integrity": "sha1-r7PRZCsGmy+/IDkD1lAdGstM2ic=", - "dev": true, - "requires": { - "symbol-observable": "1.0.1" - } - }, - "symbol-observable": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/symbol-observable/download/symbol-observable-1.0.1.tgz", - "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", - "dev": true - } - } - }, - "@angular/animations": { - "version": "4.3.5", - "resolved": "http://registry.npm.taobao.org/@angular/animations/download/@angular/animations-4.3.5.tgz", - "integrity": "sha1-hapFTIh8x8zhFjfqX26a+tiEkOE=", - "requires": { - "tslib": "1.7.1" - } - }, - "@angular/cdk": { - "version": "2.0.0-beta.8", - "resolved": "http://registry.npm.taobao.org/@angular/cdk/download/@angular/cdk-2.0.0-beta.8.tgz", - "integrity": "sha1-cZYchR376xngheiYv15EYUCPi1c=", - "requires": { - "tslib": "1.7.1" - } - }, - "@angular/cli": { - "version": "1.4.3", - "resolved": "http://registry.npm.taobao.org/@angular/cli/download/@angular/cli-1.4.3.tgz", - "integrity": "sha1-g4nU7q3+NKux0W5Tg2QWqPhDD7M=", - "dev": true, - "requires": { - "@angular-devkit/build-optimizer": "0.0.42", - "@angular-devkit/schematics": "0.0.52", - "@ngtools/json-schema": "1.1.0", - "@ngtools/webpack": "1.7.1", - "@schematics/angular": "0.0.49", - "autoprefixer": "6.7.7", - "chalk": "2.1.0", - "circular-dependency-plugin": "3.0.0", - "common-tags": "1.4.0", - "copy-webpack-plugin": "4.5.1", - "core-object": "3.1.4", - "css-loader": "0.28.5", - "cssnano": "3.10.0", - "denodeify": "1.2.1", - "ember-cli-string-utils": "1.1.0", - "exports-loader": "0.6.4", - "extract-text-webpack-plugin": "3.0.0", - "file-loader": "0.10.1", - "fs-extra": "4.0.1", - "get-caller-file": "1.0.2", - "glob": "7.1.2", - "heimdalljs": "0.2.5", - "heimdalljs-logger": "0.1.9", - "html-webpack-plugin": "2.30.1", - "istanbul-instrumenter-loader": "2.0.0", - "karma-source-map-support": "1.2.0", - "less": "2.7.2", - "less-loader": "4.0.5", - "license-webpack-plugin": "1.3.1", - "lodash": "4.17.4", - "memory-fs": "0.4.1", - "node-modules-path": "1.0.1", - "node-sass": "4.5.3", - "nopt": "4.0.1", - "opn": "5.1.0", - "portfinder": "1.0.13", - "postcss-loader": "1.3.3", - "postcss-url": "5.1.2", - "raw-loader": "0.5.1", - "resolve": "1.4.0", - "rxjs": "5.4.3", - "sass-loader": "6.0.6", - "semver": "5.4.1", - "silent-error": "1.1.0", - "source-map-loader": "0.2.1", - "source-map-support": "0.4.16", - "style-loader": "0.13.2", - "stylus": "0.54.5", - "stylus-loader": "3.0.1", - "typescript": "2.4.2", - "url-loader": "0.5.9", - "webpack": "3.5.6", - "webpack-concat-plugin": "1.4.0", - "webpack-dev-middleware": "1.12.0", - "webpack-dev-server": "2.7.1", - "webpack-merge": "4.1.0", - "zone.js": "0.8.16" - }, - "dependencies": { - "@angular-devkit/build-optimizer": { - "version": "0.0.42", - "resolved": "http://registry.npm.taobao.org/@angular-devkit/build-optimizer/download/@angular-devkit/build-optimizer-0.0.42.tgz", - "integrity": "sha1-QCsN2kiD25HiOBw93FWIhAiniU4=", - "dev": true, - "requires": { - "loader-utils": "1.1.0", - "source-map": "0.5.6", - "typescript": "2.6.2", - "webpack-sources": "1.0.1" - }, - "dependencies": { - "typescript": { - "version": "2.6.2", - "resolved": "http://registry.npm.taobao.org/typescript/download/typescript-2.6.2.tgz", - "integrity": "sha1-PFtv1/beCRQmkCfwPAlGdY92c6Q=", - "dev": true - } - } - }, - "@ngtools/webpack": { - "version": "1.7.1", - "resolved": "http://registry.npm.taobao.org/@ngtools/webpack/download/@ngtools/webpack-1.7.1.tgz", - "integrity": "sha1-OD3daJhFz0L8dVl19kQPdVNfUBY=", - "dev": true, - "requires": { - "enhanced-resolve": "3.4.1", - "loader-utils": "1.1.0", - "magic-string": "0.22.4", - "source-map": "0.5.6" - } - }, - "camelcase": { - "version": "4.1.0", - "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, - "faye-websocket": { - "version": "0.11.1", - "resolved": "http://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.11.1.tgz", - "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", - "dev": true, - "requires": { - "websocket-driver": "0.6.5" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "http://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "2.0.0" - } - }, - "has-flag": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "license-webpack-plugin": { - "version": "1.3.1", - "resolved": "http://registry.npm.taobao.org/license-webpack-plugin/download/license-webpack-plugin-1.3.1.tgz", - "integrity": "sha1-aIt2RyGI71l5GLfK4+7H3C+loOg=", - "dev": true, - "requires": { - "ejs": "2.5.8" - } - }, - "load-json-file": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/load-json-file/download/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" - } - }, - "os-locale": { - "version": "2.1.0", - "resolved": "http://registry.npm.taobao.org/os-locale/download/os-locale-2.1.0.tgz", - "integrity": "sha1-QrwpAKa1uL0XN2yOiCtlr8zyS/I=", - "dev": true, - "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" - } - }, - "path-type": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/path-type/download/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "requires": { - "pify": "2.3.0" - } - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/read-pkg/download/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" - } - }, - "read-pkg-up": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "dev": true, - "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" - } - }, - "sockjs-client": { - "version": "1.1.4", - "resolved": "http://registry.npm.taobao.org/sockjs-client/download/sockjs-client-1.1.4.tgz", - "integrity": "sha1-W6vjhrd15M8U51IJEUUmVAFsixI=", - "dev": true, - "requires": { - "debug": "2.6.8", - "eventsource": "0.1.6", - "faye-websocket": "0.11.1", - "inherits": "2.0.3", - "json3": "3.3.2", - "url-parse": "1.1.9" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "http://registry.npm.taobao.org/strip-bom/download/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "supports-color": { - "version": "4.5.0", - "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } - }, - "webpack": { - "version": "3.5.6", - "resolved": "http://registry.npm.taobao.org/webpack/download/webpack-3.5.6.tgz", - "integrity": "sha1-pJL7bB7X9XOBb5DgDI+7WiDMXDY=", - "dev": true, - "requires": { - "acorn": "5.1.1", - "acorn-dynamic-import": "2.0.2", - "ajv": "5.2.2", - "ajv-keywords": "2.1.0", - "async": "2.5.0", - "enhanced-resolve": "3.4.1", - "escope": "3.6.0", - "interpret": "1.0.3", - "json-loader": "0.5.7", - "json5": "0.5.1", - "loader-runner": "2.3.0", - "loader-utils": "1.1.0", - "memory-fs": "0.4.1", - "mkdirp": "0.5.1", - "node-libs-browser": "2.0.0", - "source-map": "0.5.6", - "supports-color": "4.5.0", - "tapable": "0.2.8", - "uglifyjs-webpack-plugin": "0.4.6", - "watchpack": "1.4.0", - "webpack-sources": "1.0.1", - "yargs": "8.0.2" - } - }, - "webpack-dev-server": { - "version": "2.7.1", - "resolved": "http://registry.npm.taobao.org/webpack-dev-server/download/webpack-dev-server-2.7.1.tgz", - "integrity": "sha1-IVgPWgjNBlxxFEz29hw0W8pZqLg=", - "dev": true, - "requires": { - "ansi-html": "0.0.7", - "bonjour": "3.5.0", - "chokidar": "1.7.0", - "compression": "1.7.0", - "connect-history-api-fallback": "1.3.0", - "del": "3.0.0", - "express": "4.15.4", - "html-entities": "1.2.1", - "http-proxy-middleware": "0.17.4", - "internal-ip": "1.2.0", - "ip": "1.1.5", - "loglevel": "1.6.1", - "opn": "4.0.2", - "portfinder": "1.0.13", - "selfsigned": "1.10.1", - "serve-index": "1.9.0", - "sockjs": "0.3.18", - "sockjs-client": "1.1.4", - "spdy": "3.4.7", - "strip-ansi": "3.0.1", - "supports-color": "3.2.3", - "webpack-dev-middleware": "1.12.0", - "yargs": "6.6.0" - }, - "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - }, - "find-up": { - "version": "1.1.2", - "resolved": "http://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "http://registry.npm.taobao.org/load-json-file/download/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" - } - }, - "opn": { - "version": "4.0.2", - "resolved": "http://registry.npm.taobao.org/opn/download/opn-4.0.2.tgz", - "integrity": "sha1-erwi5kTf9jsKltWrfyeQwPAavJU=", - "dev": true, - "requires": { - "object-assign": "4.1.1", - "pinkie-promise": "2.0.1" - } - }, - "os-locale": { - "version": "1.4.0", - "resolved": "http://registry.npm.taobao.org/os-locale/download/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "dev": true, - "requires": { - "lcid": "1.0.0" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "http://registry.npm.taobao.org/path-type/download/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" - } - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "http://registry.npm.taobao.org/read-pkg/download/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "0.2.1" - } - }, - "supports-color": { - "version": "3.2.3", - "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "1.0.0" - } - }, - "which-module": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/which-module/download/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", - "dev": true - }, - "yargs": { - "version": "6.6.0", - "resolved": "http://registry.npm.taobao.org/yargs/download/yargs-6.6.0.tgz", - "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", - "dev": true, - "requires": { - "camelcase": "3.0.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "os-locale": "1.4.0", - "read-pkg-up": "1.0.1", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "1.0.2", - "which-module": "1.0.0", - "y18n": "3.2.1", - "yargs-parser": "4.2.1" - } - }, - "yargs-parser": { - "version": "4.2.1", - "resolved": "http://registry.npm.taobao.org/yargs-parser/download/yargs-parser-4.2.1.tgz", - "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", - "dev": true, - "requires": { - "camelcase": "3.0.0" - } - } - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/which-module/download/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "yargs": { - "version": "8.0.2", - "resolved": "http://registry.npm.taobao.org/yargs/download/yargs-8.0.2.tgz", - "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", - "dev": true, - "requires": { - "camelcase": "4.1.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "read-pkg-up": "2.0.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "7.0.0" - } - }, - "yargs-parser": { - "version": "7.0.0", - "resolved": "http://registry.npm.taobao.org/yargs-parser/download/yargs-parser-7.0.0.tgz", - "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", - "dev": true, - "requires": { - "camelcase": "4.1.0" - } - } - } - }, - "@angular/common": { - "version": "4.3.5", - "resolved": "http://registry.npm.taobao.org/@angular/common/download/@angular/common-4.3.5.tgz", - "integrity": "sha1-X2sRNH6uHfw0YjzP1MBsj0xIji0=", - "requires": { - "tslib": "1.7.1" - } - }, - "@angular/compiler": { - "version": "4.3.5", - "resolved": "http://registry.npm.taobao.org/@angular/compiler/download/@angular/compiler-4.3.5.tgz", - "integrity": "sha1-UNPJhmV77/H+9Pbdmj+ljiSr1Ug=", - "requires": { - "tslib": "1.7.1" - } - }, - "@angular/compiler-cli": { - "version": "4.3.5", - "resolved": "http://registry.npm.taobao.org/@angular/compiler-cli/download/@angular/compiler-cli-4.3.5.tgz", - "integrity": "sha1-JOmbNsCQk2P/gke/MxqLiert/mM=", - "dev": true, - "requires": { - "@angular/tsc-wrapped": "4.3.5", - "minimist": "1.2.0", - "reflect-metadata": "0.1.10" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } - } - }, - "@angular/core": { - "version": "4.3.5", - "resolved": "http://registry.npm.taobao.org/@angular/core/download/@angular/core-4.3.5.tgz", - "integrity": "sha1-vR79vx68+5wnojjiqkxIFZsIlbs=", - "requires": { - "tslib": "1.7.1" - } - }, - "@angular/forms": { - "version": "4.3.5", - "resolved": "http://registry.npm.taobao.org/@angular/forms/download/@angular/forms-4.3.5.tgz", - "integrity": "sha1-UZqtCtgqG4cBmTf6k/wUdzRzd4c=", - "requires": { - "tslib": "1.7.1" - } - }, - "@angular/http": { - "version": "4.3.5", - "resolved": "http://registry.npm.taobao.org/@angular/http/download/@angular/http-4.3.5.tgz", - "integrity": "sha1-gdSwdhyO8DXLC3NjAMI382KG8fA=", - "requires": { - "tslib": "1.7.1" - } - }, - "@angular/language-service": { - "version": "4.3.5", - "resolved": "http://registry.npm.taobao.org/@angular/language-service/download/@angular/language-service-4.3.5.tgz", - "integrity": "sha1-ttiC6kDRjVE/w6A1p5h1Ap/jjwE=", - "dev": true - }, - "@angular/material": { - "version": "5.2.4", - "resolved": "http://registry.npm.taobao.org/@angular/material/download/@angular/material-5.2.4.tgz", - "integrity": "sha1-noI3mDJCg9I+qDkVb6xby3NEPVU=", - "requires": { - "tslib": "1.7.1" - } - }, - "@angular/platform-browser": { - "version": "4.3.5", - "resolved": "http://registry.npm.taobao.org/@angular/platform-browser/download/@angular/platform-browser-4.3.5.tgz", - "integrity": "sha1-wNA0CUmcwp+BZ3qrYjyQhnYNhO8=", - "requires": { - "tslib": "1.7.1" - } - }, - "@angular/platform-browser-dynamic": { - "version": "4.3.5", - "resolved": "http://registry.npm.taobao.org/@angular/platform-browser-dynamic/download/@angular/platform-browser-dynamic-4.3.5.tgz", - "integrity": "sha1-Sml7OwrsgFsziE/UqbNHMGW6seA=", - "requires": { - "tslib": "1.7.1" - } - }, - "@angular/router": { - "version": "4.3.5", - "resolved": "http://registry.npm.taobao.org/@angular/router/download/@angular/router-4.3.5.tgz", - "integrity": "sha1-GICCdHvJtpdPnUs/VVe0NGRdI80=", - "requires": { - "tslib": "1.7.1" - } - }, - "@angular/tsc-wrapped": { - "version": "4.3.5", - "resolved": "http://registry.npm.taobao.org/@angular/tsc-wrapped/download/@angular/tsc-wrapped-4.3.5.tgz", - "integrity": "sha1-lf2qgTz8VyYvx+9f6nJtYorvq6w=", - "dev": true, - "requires": { - "tsickle": "0.21.6" - } - }, - "@ngtools/json-schema": { - "version": "1.1.0", - "resolved": "http://registry.npm.taobao.org/@ngtools/json-schema/download/@ngtools/json-schema-1.1.0.tgz", - "integrity": "sha1-w6DFRNYjkqzCgTpCyKDcb1j4aSI=", - "dev": true - }, - "@ngx-translate/core": { - "version": "8.0.0", - "resolved": "http://registry.npm.taobao.org/@ngx-translate/core/download/@ngx-translate/core-8.0.0.tgz", - "integrity": "sha1-dR/WtRLYDzp0jS3o38lt/vopr+A=" - }, - "@ngx-translate/http-loader": { - "version": "1.1.0", - "resolved": "http://registry.npm.taobao.org/@ngx-translate/http-loader/download/@ngx-translate/http-loader-1.1.0.tgz", - "integrity": "sha1-opMmDOpvYXhKb/nFWklz6pd43OI=" - }, - "@schematics/angular": { - "version": "0.0.49", - "resolved": "http://registry.npm.taobao.org/@schematics/angular/download/@schematics/angular-0.0.49.tgz", - "integrity": "sha1-wAylc3VtannuUYsF6rX+bntz80E=", - "dev": true, - "requires": { - "@angular-devkit/core": "0.0.20" - } - }, - "@types/jasmine": { - "version": "2.5.53", - "resolved": "http://registry.npm.taobao.org/@types/jasmine/download/@types/jasmine-2.5.53.tgz", - "integrity": "sha1-TgzvrQnfXsSMjdQEM1EvhLFWjWE=", - "dev": true - }, - "@types/jasminewd2": { - "version": "2.0.2", - "resolved": "http://registry.npm.taobao.org/@types/jasminewd2/download/@types/jasminewd2-2.0.2.tgz", - "integrity": "sha1-X2jh5pe/ELxv2Mvy4Aaj1nEsW2Q=", - "dev": true, - "requires": { - "@types/jasmine": "2.5.53" - } - }, - "@types/node": { - "version": "6.0.87", - "resolved": "http://registry.npm.taobao.org/@types/node/download/@types/node-6.0.87.tgz", - "integrity": "sha1-WrV3T4NRozqTUJn6a+hQqgsK1WQ=", - "dev": true - }, - "@types/q": { - "version": "0.0.32", - "resolved": "http://registry.npm.taobao.org/@types/q/download/@types/q-0.0.32.tgz", - "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=", - "dev": true - }, - "@types/selenium-webdriver": { - "version": "2.53.42", - "resolved": "http://registry.npm.taobao.org/@types/selenium-webdriver/download/@types/selenium-webdriver-2.53.42.tgz", - "integrity": "sha1-dMt3+2BS7a/yqJhN2v2I1BnyXKw=", - "dev": true - }, - "abbrev": { - "version": "1.1.0", - "resolved": "http://registry.npm.taobao.org/abbrev/download/abbrev-1.1.0.tgz", - "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=", - "dev": true - }, - "accepts": { - "version": "1.3.3", - "resolved": "http://registry.npm.taobao.org/accepts/download/accepts-1.3.3.tgz", - "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=", - "dev": true, - "requires": { - "mime-types": "2.1.16", - "negotiator": "0.6.1" - } - }, - "acorn": { - "version": "5.1.1", - "resolved": "http://registry.npm.taobao.org/acorn/download/acorn-5.1.1.tgz", - "integrity": "sha1-U/4WERH5EquZnuiHqQoLxSgi/XU=", - "dev": true - }, - "acorn-dynamic-import": { - "version": "2.0.2", - "resolved": "http://registry.npm.taobao.org/acorn-dynamic-import/download/acorn-dynamic-import-2.0.2.tgz", - "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", - "dev": true, - "requires": { - "acorn": "4.0.13" - }, - "dependencies": { - "acorn": { - "version": "4.0.13", - "resolved": "http://registry.npm.taobao.org/acorn/download/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", - "dev": true - } - } - }, - "adm-zip": { - "version": "0.4.7", - "resolved": "http://registry.npm.taobao.org/adm-zip/download/adm-zip-0.4.7.tgz", - "integrity": "sha1-hgbCy/HEJs6MjsABdER/1Jtur8E=", - "dev": true - }, - "after": { - "version": "0.8.2", - "resolved": "http://registry.npm.taobao.org/after/download/after-0.8.2.tgz", - "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", - "dev": true - }, - "agent-base": { - "version": "2.1.1", - "resolved": "http://registry.npm.taobao.org/agent-base/download/agent-base-2.1.1.tgz", - "integrity": "sha1-1t4Q1a9hMtW9aSQn1G/FOFOQlMc=", - "dev": true, - "requires": { - "extend": "3.0.1", - "semver": "5.0.3" - }, - "dependencies": { - "semver": { - "version": "5.0.3", - "resolved": "http://registry.npm.taobao.org/semver/download/semver-5.0.3.tgz", - "integrity": "sha1-d0Zt5YnNXTyV8TiqeLxWmjy10no=", - "dev": true - } - } - }, - "ajv": { - "version": "5.2.2", - "resolved": "http://registry.npm.taobao.org/ajv/download/ajv-5.2.2.tgz", - "integrity": "sha1-R8aNaehvXZUxA7AHSpQw3GPaXjk=", - "dev": true, - "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.0.0", - "json-schema-traverse": "0.3.1", - "json-stable-stringify": "1.0.1" - } - }, - "ajv-keywords": { - "version": "2.1.0", - "resolved": "http://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-2.1.0.tgz", - "integrity": "sha1-opbhf3v658HOT34N5T0pyzIWLfA=", - "dev": true - }, - "align-text": { - "version": "0.1.4", - "resolved": "http://registry.npm.taobao.org/align-text/download/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", - "dev": true, - "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" - } - }, - "alphanum-sort": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/alphanum-sort/download/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", - "dev": true - }, - "amdefine": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/amdefine/download/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true - }, - "ansi-html": { - "version": "0.0.7", - "resolved": "http://registry.npm.taobao.org/ansi-html/download/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", - "dev": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "anymatch": { - "version": "1.3.2", - "resolved": "http://registry.npm.taobao.org/anymatch/download/anymatch-1.3.2.tgz", - "integrity": "sha1-VT3Lj5HjyImEXf26NMd3IbkLnXo=", - "dev": true, - "requires": { - "micromatch": "2.3.11", - "normalize-path": "2.1.1" - } - }, - "app-root-path": { - "version": "2.0.1", - "resolved": "http://registry.npm.taobao.org/app-root-path/download/app-root-path-2.0.1.tgz", - "integrity": "sha1-zWLc+OT9WkF+/GZNLlsQZTxlG0Y=", - "dev": true - }, - "append-transform": { - "version": "0.4.0", - "resolved": "http://registry.npm.taobao.org/append-transform/download/append-transform-0.4.0.tgz", - "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", - "dev": true, - "requires": { - "default-require-extensions": "1.0.0" - } - }, - "aproba": { - "version": "1.1.2", - "resolved": "http://registry.npm.taobao.org/aproba/download/aproba-1.1.2.tgz", - "integrity": "sha1-RcZikJTeTpb2k+9+q3SuB5wkD8E=", - "dev": true - }, - "are-we-there-yet": { - "version": "1.1.4", - "resolved": "http://registry.npm.taobao.org/are-we-there-yet/download/are-we-there-yet-1.1.4.tgz", - "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", - "dev": true, - "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.3" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.3.tgz", - "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.0.3.tgz", - "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - } - } - }, - "argparse": { - "version": "1.0.9", - "resolved": "http://registry.npm.taobao.org/argparse/download/argparse-1.0.9.tgz", - "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", - "dev": true, - "requires": { - "sprintf-js": "1.0.3" - } - }, - "arr-diff": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/arr-diff/download/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "dev": true, - "requires": { - "arr-flatten": "1.1.0" - } - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "http://registry.npm.taobao.org/arr-flatten/download/arr-flatten-1.1.0.tgz", - "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=", - "dev": true - }, - "array-find-index": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/array-find-index/download/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true - }, - "array-flatten": { - "version": "2.1.1", - "resolved": "http://registry.npm.taobao.org/array-flatten/download/array-flatten-2.1.1.tgz", - "integrity": "sha1-Qmu52oQJDBg42BLIFQryCoMx4pY=", - "dev": true - }, - "array-slice": { - "version": "0.2.3", - "resolved": "http://registry.npm.taobao.org/array-slice/download/array-slice-0.2.3.tgz", - "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", - "dev": true - }, - "array-union": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "requires": { - "array-uniq": "1.0.3" - } - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "http://registry.npm.taobao.org/array-uniq/download/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "array-unique": { - "version": "0.2.1", - "resolved": "http://registry.npm.taobao.org/array-unique/download/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true - }, - "arraybuffer.slice": { - "version": "0.0.6", - "resolved": "http://registry.npm.taobao.org/arraybuffer.slice/download/arraybuffer.slice-0.0.6.tgz", - "integrity": "sha1-8zshWfBTKj8xB6JywMz70a0peco=", - "dev": true - }, - "arrify": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/arrify/download/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, - "asap": { - "version": "2.0.6", - "resolved": "http://registry.npm.taobao.org/asap/download/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", - "dev": true, - "optional": true - }, - "asn1": { - "version": "0.2.3", - "resolved": "http://registry.npm.taobao.org/asn1/download/asn1-0.2.3.tgz", - "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", - "dev": true - }, - "asn1.js": { - "version": "4.9.1", - "resolved": "http://registry.npm.taobao.org/asn1.js/download/asn1.js-4.9.1.tgz", - "integrity": "sha1-SLokC0WpKA6UdImQull9IWYX/UA=", - "dev": true, - "requires": { - "bn.js": "4.11.8", - "inherits": "2.0.3", - "minimalistic-assert": "1.0.0" - } - }, - "assert": { - "version": "1.4.1", - "resolved": "http://registry.npm.taobao.org/assert/download/assert-1.4.1.tgz", - "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", - "dev": true, - "requires": { - "util": "0.10.3" - } - }, - "assert-plus": { - "version": "0.2.0", - "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-0.2.0.tgz", - "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", - "dev": true - }, - "async": { - "version": "2.5.0", - "resolved": "http://registry.npm.taobao.org/async/download/async-2.5.0.tgz", - "integrity": "sha1-hDGQ/WtzV6C54clW7d3V7IRitU0=", - "dev": true, - "requires": { - "lodash": "4.17.4" - } - }, - "async-each": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/async-each/download/async-each-1.0.1.tgz", - "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", - "dev": true - }, - "async-foreach": { - "version": "0.1.3", - "resolved": "http://registry.npm.taobao.org/async-foreach/download/async-foreach-0.1.3.tgz", - "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", - "dev": true, - "optional": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "http://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "autoprefixer": { - "version": "6.7.7", - "resolved": "http://registry.npm.taobao.org/autoprefixer/download/autoprefixer-6.7.7.tgz", - "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", - "dev": true, - "requires": { - "browserslist": "1.7.7", - "caniuse-db": "1.0.30000716", - "normalize-range": "0.1.2", - "num2fraction": "1.2.2", - "postcss": "5.2.17", - "postcss-value-parser": "3.3.0" - } - }, - "aws-sign2": { - "version": "0.6.0", - "resolved": "http://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.6.0.tgz", - "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", - "dev": true - }, - "aws4": { - "version": "1.6.0", - "resolved": "http://registry.npm.taobao.org/aws4/download/aws4-1.6.0.tgz", - "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", - "dev": true - }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "http://registry.npm.taobao.org/babel-code-frame/download/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" - }, - "dependencies": { - "chalk": { - "version": "1.1.3", - "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "babel-generator": { - "version": "6.26.0", - "resolved": "http://registry.npm.taobao.org/babel-generator/download/babel-generator-6.26.0.tgz", - "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=", - "dev": true, - "requires": { - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "detect-indent": "4.0.0", - "jsesc": "1.3.0", - "lodash": "4.17.4", - "source-map": "0.5.6", - "trim-right": "1.0.1" - }, - "dependencies": { - "jsesc": { - "version": "1.3.0", - "resolved": "http://registry.npm.taobao.org/jsesc/download/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", - "dev": true - } - } - }, - "babel-messages": { - "version": "6.23.0", - "resolved": "http://registry.npm.taobao.org/babel-messages/download/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "http://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "dev": true, - "requires": { - "core-js": "2.5.0", - "regenerator-runtime": "0.11.0" - } - }, - "babel-template": { - "version": "6.26.0", - "resolved": "http://registry.npm.taobao.org/babel-template/download/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash": "4.17.4" - } - }, - "babel-traverse": { - "version": "6.26.0", - "resolved": "http://registry.npm.taobao.org/babel-traverse/download/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "dev": true, - "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.8", - "globals": "9.18.0", - "invariant": "2.2.2", - "lodash": "4.17.4" - } - }, - "babel-types": { - "version": "6.26.0", - "resolved": "http://registry.npm.taobao.org/babel-types/download/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.4", - "to-fast-properties": "1.0.3" - } - }, - "babylon": { - "version": "6.18.0", - "resolved": "http://registry.npm.taobao.org/babylon/download/babylon-6.18.0.tgz", - "integrity": "sha1-ry87iPpvXB5MY00aD46sT1WzleM=", - "dev": true - }, - "backo2": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/backo2/download/backo2-1.0.2.tgz", - "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", - "dev": true - }, - "balanced-match": { - "version": "0.4.2", - "resolved": "http://registry.npm.taobao.org/balanced-match/download/balanced-match-0.4.2.tgz", - "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", - "dev": true - }, - "base64-arraybuffer": { - "version": "0.1.5", - "resolved": "http://registry.npm.taobao.org/base64-arraybuffer/download/base64-arraybuffer-0.1.5.tgz", - "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", - "dev": true - }, - "base64-js": { - "version": "1.2.1", - "resolved": "http://registry.npm.taobao.org/base64-js/download/base64-js-1.2.1.tgz", - "integrity": "sha1-qRlH2h9KUW6jjltOwOw3c2deCIY=", - "dev": true - }, - "base64id": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/base64id/download/base64id-1.0.0.tgz", - "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=", - "dev": true - }, - "batch": { - "version": "0.6.1", - "resolved": "http://registry.npm.taobao.org/batch/download/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.1.tgz", - "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", - "dev": true, - "optional": true, - "requires": { - "tweetnacl": "0.14.5" - } - }, - "better-assert": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/better-assert/download/better-assert-1.0.2.tgz", - "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", - "dev": true, - "requires": { - "callsite": "1.0.0" - } - }, - "big.js": { - "version": "3.1.3", - "resolved": "http://registry.npm.taobao.org/big.js/download/big.js-3.1.3.tgz", - "integrity": "sha1-TK2iGTZS6zyp7I5VyQFWacmAaXg=", - "dev": true - }, - "binary-extensions": { - "version": "1.10.0", - "resolved": "http://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.10.0.tgz", - "integrity": "sha1-muuabF6IY4qtFx4Wf1kAq+JINdA=", - "dev": true - }, - "blob": { - "version": "0.0.4", - "resolved": "http://registry.npm.taobao.org/blob/download/blob-0.0.4.tgz", - "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=", - "dev": true - }, - "block-stream": { - "version": "0.0.9", - "resolved": "http://registry.npm.taobao.org/block-stream/download/block-stream-0.0.9.tgz", - "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", - "dev": true, - "optional": true, - "requires": { - "inherits": "2.0.3" - } - }, - "blocking-proxy": { - "version": "0.0.5", - "resolved": "http://registry.npm.taobao.org/blocking-proxy/download/blocking-proxy-0.0.5.tgz", - "integrity": "sha1-RikF4Nz76pcPQao3Ij3anAexkSs=", - "dev": true, - "requires": { - "minimist": "1.2.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } - } - }, - "bluebird": { - "version": "3.5.0", - "resolved": "http://registry.npm.taobao.org/bluebird/download/bluebird-3.5.0.tgz", - "integrity": "sha1-eRQg1/VR7qKJdFOop3ZT+WYG1nw=", - "dev": true - }, - "bn.js": { - "version": "4.11.8", - "resolved": "http://registry.npm.taobao.org/bn.js/download/bn.js-4.11.8.tgz", - "integrity": "sha1-LN4J617jQfSEdGuwMJsyU7GxRC8=", - "dev": true - }, - "body-parser": { - "version": "1.17.2", - "resolved": "http://registry.npm.taobao.org/body-parser/download/body-parser-1.17.2.tgz", - "integrity": "sha1-+IkqvI+eYn1Crtr7yma/WrmRBO4=", - "dev": true, - "requires": { - "bytes": "2.4.0", - "content-type": "1.0.2", - "debug": "2.6.7", - "depd": "1.1.1", - "http-errors": "1.6.2", - "iconv-lite": "0.4.15", - "on-finished": "2.3.0", - "qs": "6.4.0", - "raw-body": "2.2.0", - "type-is": "1.6.15" - }, - "dependencies": { - "bytes": { - "version": "2.4.0", - "resolved": "http://registry.npm.taobao.org/bytes/download/bytes-2.4.0.tgz", - "integrity": "sha1-fZcZb51br39pNeJZhVSe3SpsIzk=", - "dev": true - }, - "debug": { - "version": "2.6.7", - "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.7.tgz", - "integrity": "sha1-krrR9tBbu2u6Isyoi80OyJTChh4=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "iconv-lite": { - "version": "0.4.15", - "resolved": "http://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.15.tgz", - "integrity": "sha1-/iZaIYrGpXz+hUkn6dBMGYJe3es=", - "dev": true - } - } - }, - "bonjour": { - "version": "3.5.0", - "resolved": "http://registry.npm.taobao.org/bonjour/download/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", - "dev": true, - "requires": { - "array-flatten": "2.1.1", - "deep-equal": "1.0.1", - "dns-equal": "1.0.0", - "dns-txt": "2.0.2", - "multicast-dns": "6.1.1", - "multicast-dns-service-types": "1.1.0" - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/boolbase/download/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "dev": true - }, - "boom": { - "version": "2.10.1", - "resolved": "http://registry.npm.taobao.org/boom/download/boom-2.10.1.tgz", - "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, - "bootstrap": { - "version": "4.0.0-alpha.6", - "resolved": "http://10.75.8.148/repository/npm-pub/bootstrap/-/bootstrap-4.0.0-alpha.6.tgz", - "integrity": "sha1-T1TdM6wN6sOyhAe8LffsYIhpycg=", - "requires": { - "jquery": "3.2.1", - "tether": "1.4.0" - } - }, - "brace-expansion": { - "version": "1.1.8", - "resolved": "http://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", - "dev": true, - "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" - }, - "dependencies": { - "balanced-match": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - } - } - }, - "braces": { - "version": "1.8.5", - "resolved": "http://registry.npm.taobao.org/braces/download/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "dev": true, - "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "http://registry.npm.taobao.org/brorand/download/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true - }, - "browserify-aes": { - "version": "1.0.6", - "resolved": "http://registry.npm.taobao.org/browserify-aes/download/browserify-aes-1.0.6.tgz", - "integrity": "sha1-Xncl297x/Vkw1OurSFZ85FHEigo=", - "dev": true, - "requires": { - "buffer-xor": "1.0.3", - "cipher-base": "1.0.4", - "create-hash": "1.1.3", - "evp_bytestokey": "1.0.0", - "inherits": "2.0.3" - } - }, - "browserify-cipher": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/browserify-cipher/download/browserify-cipher-1.0.0.tgz", - "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", - "dev": true, - "requires": { - "browserify-aes": "1.0.6", - "browserify-des": "1.0.0", - "evp_bytestokey": "1.0.0" - } - }, - "browserify-des": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/browserify-des/download/browserify-des-1.0.0.tgz", - "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=", - "dev": true, - "requires": { - "cipher-base": "1.0.4", - "des.js": "1.0.0", - "inherits": "2.0.3" - } - }, - "browserify-rsa": { - "version": "4.0.1", - "resolved": "http://registry.npm.taobao.org/browserify-rsa/download/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", - "dev": true, - "requires": { - "bn.js": "4.11.8", - "randombytes": "2.0.5" - } - }, - "browserify-sign": { - "version": "4.0.4", - "resolved": "http://registry.npm.taobao.org/browserify-sign/download/browserify-sign-4.0.4.tgz", - "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", - "dev": true, - "requires": { - "bn.js": "4.11.8", - "browserify-rsa": "4.0.1", - "create-hash": "1.1.3", - "create-hmac": "1.1.6", - "elliptic": "6.4.0", - "inherits": "2.0.3", - "parse-asn1": "5.1.0" - } - }, - "browserify-zlib": { - "version": "0.1.4", - "resolved": "http://registry.npm.taobao.org/browserify-zlib/download/browserify-zlib-0.1.4.tgz", - "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", - "dev": true, - "requires": { - "pako": "0.2.9" - } - }, - "browserslist": { - "version": "1.7.7", - "resolved": "http://registry.npm.taobao.org/browserslist/download/browserslist-1.7.7.tgz", - "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", - "dev": true, - "requires": { - "caniuse-db": "1.0.30000716", - "electron-to-chromium": "1.3.18" - } - }, - "buffer": { - "version": "4.9.1", - "resolved": "http://registry.npm.taobao.org/buffer/download/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", - "dev": true, - "requires": { - "base64-js": "1.2.1", - "ieee754": "1.1.8", - "isarray": "1.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - } - } - }, - "buffer-from": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/buffer-from/download/buffer-from-1.0.0.tgz", - "integrity": "sha1-TLiDLSNhJYmwQG6eKVbBfwb99TE=", - "dev": true - }, - "buffer-indexof": { - "version": "1.1.0", - "resolved": "http://registry.npm.taobao.org/buffer-indexof/download/buffer-indexof-1.1.0.tgz", - "integrity": "sha1-9U9kfE9OJSKLqmVqLlfkPV8nCYI=", - "dev": true - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "http://registry.npm.taobao.org/buffer-xor/download/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true - }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "http://registry.npm.taobao.org/builtin-modules/download/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "http://registry.npm.taobao.org/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true - }, - "bytes": { - "version": "2.5.0", - "resolved": "http://registry.npm.taobao.org/bytes/download/bytes-2.5.0.tgz", - "integrity": "sha1-TJQj6i0lLCcMQbK97+/5u2tiwGo=", - "dev": true - }, - "cacache": { - "version": "10.0.4", - "resolved": "http://registry.npm.taobao.org/cacache/download/cacache-10.0.4.tgz", - "integrity": "sha1-ZFI2eZnv+dQYiu/ZoU6dfGomNGA=", - "dev": true, - "requires": { - "bluebird": "3.5.1", - "chownr": "1.0.1", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "lru-cache": "4.1.1", - "mississippi": "2.0.0", - "mkdirp": "0.5.1", - "move-concurrently": "1.0.1", - "promise-inflight": "1.0.1", - "rimraf": "2.6.2", - "ssri": "5.3.0", - "unique-filename": "1.1.0", - "y18n": "4.0.0" - }, - "dependencies": { - "bluebird": { - "version": "3.5.1", - "resolved": "http://registry.npm.taobao.org/bluebird/download/bluebird-3.5.1.tgz", - "integrity": "sha1-2VUfnemPH82h5oPRfukaBgLuLrk=", - "dev": true - }, - "rimraf": { - "version": "2.6.2", - "resolved": "http://registry.npm.taobao.org/rimraf/download/rimraf-2.6.2.tgz", - "integrity": "sha1-LtgVDSShbqhlHm1u8PR8QVjOejY=", - "dev": true, - "requires": { - "glob": "7.1.2" - } - }, - "y18n": { - "version": "4.0.0", - "resolved": "http://registry.npm.taobao.org/y18n/download/y18n-4.0.0.tgz", - "integrity": "sha1-le+U+F7MgdAHwmThkKEg8KPIVms=", - "dev": true - } - } - }, - "callsite": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/callsite/download/callsite-1.0.0.tgz", - "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", - "dev": true - }, - "camel-case": { - "version": "3.0.0", - "resolved": "http://registry.npm.taobao.org/camel-case/download/camel-case-3.0.0.tgz", - "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", - "dev": true, - "requires": { - "no-case": "2.3.1", - "upper-case": "1.1.3" - } - }, - "camelcase": { - "version": "2.1.1", - "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true - }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "http://registry.npm.taobao.org/camelcase-keys/download/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", - "dev": true, - "requires": { - "camelcase": "2.1.1", - "map-obj": "1.0.1" - } - }, - "caniuse-api": { - "version": "1.6.1", - "resolved": "http://registry.npm.taobao.org/caniuse-api/download/caniuse-api-1.6.1.tgz", - "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=", - "dev": true, - "requires": { - "browserslist": "1.7.7", - "caniuse-db": "1.0.30000716", - "lodash.memoize": "4.1.2", - "lodash.uniq": "4.5.0" - } - }, - "caniuse-db": { - "version": "1.0.30000716", - "resolved": "http://registry.npm.taobao.org/caniuse-db/download/caniuse-db-1.0.30000716.tgz", - "integrity": "sha1-sHF3ZdFXZi6MdKYVYshMn8NgSkk=", - "dev": true - }, - "caseless": { - "version": "0.12.0", - "resolved": "http://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "center-align": { - "version": "0.1.3", - "resolved": "http://registry.npm.taobao.org/center-align/download/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", - "dev": true, - "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" - }, - "dependencies": { - "lazy-cache": { - "version": "1.0.4", - "resolved": "http://registry.npm.taobao.org/lazy-cache/download/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", - "dev": true - } - } - }, - "chalk": { - "version": "2.1.0", - "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-2.1.0.tgz", - "integrity": "sha1-rFvs8U+iG5nGySynp9fP1bF+dD4=", - "dev": true, - "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.2.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.0", - "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.0.tgz", - "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=", - "dev": true, - "requires": { - "color-convert": "1.9.0" - } - }, - "has-flag": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "supports-color": { - "version": "4.2.1", - "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-4.2.1.tgz", - "integrity": "sha1-ZaS7JjHpDgJCDbpVVMN1pHVLuDY=", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } - } - } - }, - "charenc": { - "version": "0.0.2", - "resolved": "http://registry.npm.taobao.org/charenc/download/charenc-0.0.2.tgz", - "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=", - "dev": true - }, - "chokidar": { - "version": "1.7.0", - "resolved": "http://registry.npm.taobao.org/chokidar/download/chokidar-1.7.0.tgz", - "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", - "dev": true, - "requires": { - "anymatch": "1.3.2", - "async-each": "1.0.1", - "glob-parent": "2.0.0", - "inherits": "2.0.3", - "is-binary-path": "1.0.1", - "is-glob": "2.0.1", - "path-is-absolute": "1.0.1", - "readdirp": "2.1.0" - } - }, - "chownr": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/chownr/download/chownr-1.0.1.tgz", - "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", - "dev": true - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "http://registry.npm.taobao.org/cipher-base/download/cipher-base-1.0.4.tgz", - "integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=", - "dev": true, - "requires": { - "inherits": "2.0.3", - "safe-buffer": "5.1.1" - } - }, - "circular-dependency-plugin": { - "version": "3.0.0", - "resolved": "http://registry.npm.taobao.org/circular-dependency-plugin/download/circular-dependency-plugin-3.0.0.tgz", - "integrity": "sha1-m2hpLjWw41EJmNAWS2rlARvqV2A=", - "dev": true - }, - "clap": { - "version": "1.2.0", - "resolved": "http://registry.npm.taobao.org/clap/download/clap-1.2.0.tgz", - "integrity": "sha1-WckP4+E3EEdG/xlGmiemNP9oyFc=", - "dev": true, - "requires": { - "chalk": "1.1.3" - }, - "dependencies": { - "chalk": { - "version": "1.1.3", - "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "clean-css": { - "version": "4.1.7", - "resolved": "http://registry.npm.taobao.org/clean-css/download/clean-css-4.1.7.tgz", - "integrity": "sha1-ua6k+FZ5iJzz6ui0A0nsTr390DI=", - "dev": true, - "requires": { - "source-map": "0.5.6" - } - }, - "cliui": { - "version": "3.2.0", - "resolved": "http://registry.npm.taobao.org/cliui/download/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, - "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - } - } - }, - "clone": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/clone/download/clone-1.0.2.tgz", - "integrity": "sha1-Jgt6meux7f4kdTgXX3gyQ8sZ0Uk=", - "dev": true - }, - "clone-deep": { - "version": "0.3.0", - "resolved": "http://registry.npm.taobao.org/clone-deep/download/clone-deep-0.3.0.tgz", - "integrity": "sha1-NIxhrpzb4O3+BT2R/0zFIdeQ7eg=", - "dev": true, - "requires": { - "for-own": "1.0.0", - "is-plain-object": "2.0.4", - "kind-of": "3.2.2", - "shallow-clone": "0.1.2" - } - }, - "co": { - "version": "4.6.0", - "resolved": "http://registry.npm.taobao.org/co/download/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true - }, - "coa": { - "version": "1.0.4", - "resolved": "http://registry.npm.taobao.org/coa/download/coa-1.0.4.tgz", - "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", - "dev": true, - "requires": { - "q": "1.5.0" - } - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "http://registry.npm.taobao.org/code-point-at/download/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true - }, - "codelyzer": { - "version": "3.1.2", - "resolved": "http://registry.npm.taobao.org/codelyzer/download/codelyzer-3.1.2.tgz", - "integrity": "sha1-n/HwQfubXuXb60W6hm368EmDrwQ=", - "dev": true, - "requires": { - "app-root-path": "2.0.1", - "css-selector-tokenizer": "0.7.0", - "cssauron": "1.4.0", - "semver-dsl": "1.0.1", - "source-map": "0.5.6", - "sprintf-js": "1.0.3" - } - }, - "color": { - "version": "0.11.4", - "resolved": "http://registry.npm.taobao.org/color/download/color-0.11.4.tgz", - "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", - "dev": true, - "requires": { - "clone": "1.0.2", - "color-convert": "1.9.0", - "color-string": "0.3.0" - } - }, - "color-convert": { - "version": "1.9.0", - "resolved": "http://registry.npm.taobao.org/color-convert/download/color-convert-1.9.0.tgz", - "integrity": "sha1-Gsz5fdc5uYO/mU1W/sj5WFNkG3o=", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "http://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "color-string": { - "version": "0.3.0", - "resolved": "http://registry.npm.taobao.org/color-string/download/color-string-0.3.0.tgz", - "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "colormin": { - "version": "1.1.2", - "resolved": "http://registry.npm.taobao.org/colormin/download/colormin-1.1.2.tgz", - "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=", - "dev": true, - "requires": { - "color": "0.11.4", - "css-color-names": "0.0.4", - "has": "1.0.1" - } - }, - "colors": { - "version": "1.1.2", - "resolved": "http://registry.npm.taobao.org/colors/download/colors-1.1.2.tgz", - "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", - "dev": true - }, - "combine-lists": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/combine-lists/download/combine-lists-1.0.1.tgz", - "integrity": "sha1-RYwH4J4NkA/Ci3Cj/sLazR0st/Y=", - "dev": true, - "requires": { - "lodash": "4.17.4" - } - }, - "combined-stream": { - "version": "1.0.5", - "resolved": "http://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.5.tgz", - "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", - "dev": true, - "requires": { - "delayed-stream": "1.0.0" - } - }, - "commander": { - "version": "2.11.0", - "resolved": "http://registry.npm.taobao.org/commander/download/commander-2.11.0.tgz", - "integrity": "sha1-FXFS/R56bI2YpbcVzzdt+SgARWM=", - "dev": true - }, - "common-tags": { - "version": "1.4.0", - "resolved": "http://registry.npm.taobao.org/common-tags/download/common-tags-1.4.0.tgz", - "integrity": "sha1-EYe+Tz1M8MBCfUP3Tu8fc1AWFMA=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0" - } - }, - "commondir": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "component-bind": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/component-bind/download/component-bind-1.0.0.tgz", - "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", - "dev": true - }, - "component-emitter": { - "version": "1.1.2", - "resolved": "http://registry.npm.taobao.org/component-emitter/download/component-emitter-1.1.2.tgz", - "integrity": "sha1-KWWU8nU9qmOZbSrwjRWpURbJrsM=", - "dev": true - }, - "component-inherit": { - "version": "0.0.3", - "resolved": "http://registry.npm.taobao.org/component-inherit/download/component-inherit-0.0.3.tgz", - "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", - "dev": true - }, - "compressible": { - "version": "2.0.11", - "resolved": "http://registry.npm.taobao.org/compressible/download/compressible-2.0.11.tgz", - "integrity": "sha1-FnGKdd4oPtjmBAQWJaIGRYZ5fYo=", - "dev": true, - "requires": { - "mime-db": "1.29.0" - } - }, - "compression": { - "version": "1.7.0", - "resolved": "http://registry.npm.taobao.org/compression/download/compression-1.7.0.tgz", - "integrity": "sha1-AwyfGY8WQ6BX13anOOki2kNzAS0=", - "dev": true, - "requires": { - "accepts": "1.3.3", - "bytes": "2.5.0", - "compressible": "2.0.11", - "debug": "2.6.8", - "on-headers": "1.0.1", - "safe-buffer": "5.1.1", - "vary": "1.1.1" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "http://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "http://registry.npm.taobao.org/concat-stream/download/concat-stream-1.6.2.tgz", - "integrity": "sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ=", - "dev": true, - "requires": { - "buffer-from": "1.0.0", - "inherits": "2.0.3", - "readable-stream": "2.3.5", - "typedarray": "0.0.6" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.0.tgz", - "integrity": "sha1-o31zL0JxtKsa0HDTVQjoKQeI/6o=", - "dev": true - }, - "readable-stream": { - "version": "2.3.5", - "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.5.tgz", - "integrity": "sha1-tPhQA6k4y7bsvOKhJPsQEr0ag40=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.0.3.tgz", - "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - } - } - }, - "connect": { - "version": "3.6.3", - "resolved": "http://registry.npm.taobao.org/connect/download/connect-3.6.3.tgz", - "integrity": "sha1-9zINRqJbS+e0g6IjZRfySx4n4wE=", - "dev": true, - "requires": { - "debug": "2.6.8", - "finalhandler": "1.0.4", - "parseurl": "1.3.1", - "utils-merge": "1.0.0" - } - }, - "connect-history-api-fallback": { - "version": "1.3.0", - "resolved": "http://registry.npm.taobao.org/connect-history-api-fallback/download/connect-history-api-fallback-1.3.0.tgz", - "integrity": "sha1-5R0X+PDvDbkKZP20feMFFVbp8Wk=", - "dev": true - }, - "console-browserify": { - "version": "1.1.0", - "resolved": "http://registry.npm.taobao.org/console-browserify/download/console-browserify-1.1.0.tgz", - "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", - "dev": true, - "requires": { - "date-now": "0.1.4" - } - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "http://registry.npm.taobao.org/console-control-strings/download/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/constants-browserify/download/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true - }, - "content-disposition": { - "version": "0.5.2", - "resolved": "http://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.2.tgz", - "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", - "dev": true - }, - "content-type": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/content-type/download/content-type-1.0.2.tgz", - "integrity": "sha1-t9ETrueo3Se9IRM8TcJSnfFyHu0=", - "dev": true - }, - "convert-source-map": { - "version": "1.5.0", - "resolved": "http://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.5.0.tgz", - "integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=", - "dev": true - }, - "cookie": { - "version": "0.3.1", - "resolved": "http://registry.npm.taobao.org/cookie/download/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", - "dev": true - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "http://registry.npm.taobao.org/cookie-signature/download/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", - "dev": true - }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "http://registry.npm.taobao.org/copy-concurrently/download/copy-concurrently-1.0.5.tgz", - "integrity": "sha1-kilzmMrjSTf8r9bsgTnBgFHwteA=", - "dev": true, - "requires": { - "aproba": "1.1.2", - "fs-write-stream-atomic": "1.0.10", - "iferr": "0.1.5", - "mkdirp": "0.5.1", - "rimraf": "2.6.1", - "run-queue": "1.0.3" - } - }, - "copy-webpack-plugin": { - "version": "4.5.1", - "resolved": "http://registry.npm.taobao.org/copy-webpack-plugin/download/copy-webpack-plugin-4.5.1.tgz", - "integrity": "sha1-/E9o9K3YN8xeE9ERsgcVeTIl0pw=", - "dev": true, - "requires": { - "cacache": "10.0.4", - "find-cache-dir": "1.0.0", - "globby": "7.1.1", - "is-glob": "4.0.0", - "loader-utils": "1.1.0", - "minimatch": "3.0.4", - "p-limit": "1.1.0", - "serialize-javascript": "1.4.0" - }, - "dependencies": { - "globby": { - "version": "7.1.1", - "resolved": "http://registry.npm.taobao.org/globby/download/globby-7.1.1.tgz", - "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", - "dev": true, - "requires": { - "array-union": "1.0.2", - "dir-glob": "2.0.0", - "glob": "7.1.2", - "ignore": "3.3.7", - "pify": "3.0.0", - "slash": "1.0.0" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "http://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-glob": { - "version": "4.0.0", - "resolved": "http://registry.npm.taobao.org/is-glob/download/is-glob-4.0.0.tgz", - "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", - "dev": true, - "requires": { - "is-extglob": "2.1.1" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "http://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "core-js": { - "version": "2.5.0", - "resolved": "http://registry.npm.taobao.org/core-js/download/core-js-2.5.0.tgz", - "integrity": "sha1-VpwFCRi+ZIazg3VSAorgRmtxcIY=" - }, - "core-object": { - "version": "3.1.4", - "resolved": "http://registry.npm.taobao.org/core-object/download/core-object-3.1.4.tgz", - "integrity": "sha1-bfQB6FgSS+n3Vy9MSjTGFQlS1LY=", - "dev": true, - "requires": { - "chalk": "2.1.0" - } - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "cosmiconfig": { - "version": "2.2.2", - "resolved": "http://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-2.2.2.tgz", - "integrity": "sha1-YXPOvVb6wELB9DkO33r2wHx8uJI=", - "dev": true, - "requires": { - "is-directory": "0.3.1", - "js-yaml": "3.7.0", - "minimist": "1.2.0", - "object-assign": "4.1.1", - "os-homedir": "1.0.2", - "parse-json": "2.2.0", - "require-from-string": "1.2.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } - } - }, - "create-ecdh": { - "version": "4.0.0", - "resolved": "http://registry.npm.taobao.org/create-ecdh/download/create-ecdh-4.0.0.tgz", - "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", - "dev": true, - "requires": { - "bn.js": "4.11.8", - "elliptic": "6.4.0" - } - }, - "create-hash": { - "version": "1.1.3", - "resolved": "http://registry.npm.taobao.org/create-hash/download/create-hash-1.1.3.tgz", - "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=", - "dev": true, - "requires": { - "cipher-base": "1.0.4", - "inherits": "2.0.3", - "ripemd160": "2.0.1", - "sha.js": "2.4.8" - } - }, - "create-hmac": { - "version": "1.1.6", - "resolved": "http://registry.npm.taobao.org/create-hmac/download/create-hmac-1.1.6.tgz", - "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=", - "dev": true, - "requires": { - "cipher-base": "1.0.4", - "create-hash": "1.1.3", - "inherits": "2.0.3", - "ripemd160": "2.0.1", - "safe-buffer": "5.1.1", - "sha.js": "2.4.8" - } - }, - "cross-spawn": { - "version": "3.0.1", - "resolved": "http://registry.npm.taobao.org/cross-spawn/download/cross-spawn-3.0.1.tgz", - "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", - "dev": true, - "optional": true, - "requires": { - "lru-cache": "4.1.1", - "which": "1.3.0" - } - }, - "crypt": { - "version": "0.0.2", - "resolved": "http://registry.npm.taobao.org/crypt/download/crypt-0.0.2.tgz", - "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=", - "dev": true - }, - "cryptiles": { - "version": "2.0.5", - "resolved": "http://registry.npm.taobao.org/cryptiles/download/cryptiles-2.0.5.tgz", - "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", - "dev": true, - "requires": { - "boom": "2.10.1" - } - }, - "crypto-browserify": { - "version": "3.11.1", - "resolved": "http://registry.npm.taobao.org/crypto-browserify/download/crypto-browserify-3.11.1.tgz", - "integrity": "sha1-lIlF78Z1ekANbl5a9HGU0QBkJ58=", - "dev": true, - "requires": { - "browserify-cipher": "1.0.0", - "browserify-sign": "4.0.4", - "create-ecdh": "4.0.0", - "create-hash": "1.1.3", - "create-hmac": "1.1.6", - "diffie-hellman": "5.0.2", - "inherits": "2.0.3", - "pbkdf2": "3.0.13", - "public-encrypt": "4.0.0", - "randombytes": "2.0.5" - } - }, - "css-color-names": { - "version": "0.0.4", - "resolved": "http://registry.npm.taobao.org/css-color-names/download/css-color-names-0.0.4.tgz", - "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", - "dev": true - }, - "css-loader": { - "version": "0.28.5", - "resolved": "http://registry.npm.taobao.org/css-loader/download/css-loader-0.28.5.tgz", - "integrity": "sha1-3QK7kblFRXECEu9/aqpmZjET11Q=", - "dev": true, - "requires": { - "babel-code-frame": "6.26.0", - "css-selector-tokenizer": "0.7.0", - "cssnano": "3.10.0", - "icss-utils": "2.1.0", - "loader-utils": "1.1.0", - "lodash.camelcase": "4.3.0", - "object-assign": "4.1.1", - "postcss": "5.2.17", - "postcss-modules-extract-imports": "1.1.0", - "postcss-modules-local-by-default": "1.2.0", - "postcss-modules-scope": "1.1.0", - "postcss-modules-values": "1.3.0", - "postcss-value-parser": "3.3.0", - "source-list-map": "2.0.0" - } - }, - "css-parse": { - "version": "1.7.0", - "resolved": "http://registry.npm.taobao.org/css-parse/download/css-parse-1.7.0.tgz", - "integrity": "sha1-Mh9s9zeCpv91ERE5D8BeLGV9jJs=", - "dev": true - }, - "css-select": { - "version": "1.2.0", - "resolved": "http://registry.npm.taobao.org/css-select/download/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", - "dev": true, - "requires": { - "boolbase": "1.0.0", - "css-what": "2.1.0", - "domutils": "1.5.1", - "nth-check": "1.0.1" - } - }, - "css-selector-tokenizer": { - "version": "0.7.0", - "resolved": "http://registry.npm.taobao.org/css-selector-tokenizer/download/css-selector-tokenizer-0.7.0.tgz", - "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=", - "dev": true, - "requires": { - "cssesc": "0.1.0", - "fastparse": "1.1.1", - "regexpu-core": "1.0.0" - } - }, - "css-what": { - "version": "2.1.0", - "resolved": "http://registry.npm.taobao.org/css-what/download/css-what-2.1.0.tgz", - "integrity": "sha1-lGfQMsOM+u+58teVASUwYvh/ob0=", - "dev": true - }, - "cssauron": { - "version": "1.4.0", - "resolved": "http://registry.npm.taobao.org/cssauron/download/cssauron-1.4.0.tgz", - "integrity": "sha1-pmAt/34EqDBtwNuaVR6S6LVmKtg=", - "dev": true, - "requires": { - "through": "2.3.8" - } - }, - "cssesc": { - "version": "0.1.0", - "resolved": "http://registry.npm.taobao.org/cssesc/download/cssesc-0.1.0.tgz", - "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", - "dev": true - }, - "cssnano": { - "version": "3.10.0", - "resolved": "http://registry.npm.taobao.org/cssnano/download/cssnano-3.10.0.tgz", - "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=", - "dev": true, - "requires": { - "autoprefixer": "6.7.7", - "decamelize": "1.2.0", - "defined": "1.0.0", - "has": "1.0.1", - "object-assign": "4.1.1", - "postcss": "5.2.17", - "postcss-calc": "5.3.1", - "postcss-colormin": "2.2.2", - "postcss-convert-values": "2.6.1", - "postcss-discard-comments": "2.0.4", - "postcss-discard-duplicates": "2.1.0", - "postcss-discard-empty": "2.1.0", - "postcss-discard-overridden": "0.1.1", - "postcss-discard-unused": "2.2.3", - "postcss-filter-plugins": "2.0.2", - "postcss-merge-idents": "2.1.7", - "postcss-merge-longhand": "2.0.2", - "postcss-merge-rules": "2.1.2", - "postcss-minify-font-values": "1.0.5", - "postcss-minify-gradients": "1.0.5", - "postcss-minify-params": "1.2.2", - "postcss-minify-selectors": "2.1.1", - "postcss-normalize-charset": "1.1.1", - "postcss-normalize-url": "3.0.8", - "postcss-ordered-values": "2.2.3", - "postcss-reduce-idents": "2.4.0", - "postcss-reduce-initial": "1.0.1", - "postcss-reduce-transforms": "1.0.4", - "postcss-svgo": "2.1.6", - "postcss-unique-selectors": "2.0.2", - "postcss-value-parser": "3.3.0", - "postcss-zindex": "2.2.0" - } - }, - "csso": { - "version": "2.3.2", - "resolved": "http://registry.npm.taobao.org/csso/download/csso-2.3.2.tgz", - "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", - "dev": true, - "requires": { - "clap": "1.2.0", - "source-map": "0.5.6" - } - }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "http://registry.npm.taobao.org/currently-unhandled/download/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "dev": true, - "requires": { - "array-find-index": "1.0.2" - } - }, - "custom-event": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/custom-event/download/custom-event-1.0.1.tgz", - "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", - "dev": true - }, - "cyclist": { - "version": "0.2.2", - "resolved": "http://registry.npm.taobao.org/cyclist/download/cyclist-0.2.2.tgz", - "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", - "dev": true - }, - "d": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/d/download/d-1.0.0.tgz", - "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", - "dev": true, - "requires": { - "es5-ext": "0.10.29" - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "http://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } - } - }, - "date-fns": { - "version": "1.29.0", - "resolved": "http://registry.npm.taobao.org/date-fns/download/date-fns-1.29.0.tgz", - "integrity": "sha1-EuYJzcuTUScxHQTTMzTilgoqVOY=" - }, - "date-now": { - "version": "0.1.4", - "resolved": "http://registry.npm.taobao.org/date-now/download/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", - "dev": true - }, - "debug": { - "version": "2.6.8", - "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.8.tgz", - "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "http://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "deep-equal": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/deep-equal/download/deep-equal-1.0.1.tgz", - "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", - "dev": true - }, - "default-require-extensions": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/default-require-extensions/download/default-require-extensions-1.0.0.tgz", - "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", - "dev": true, - "requires": { - "strip-bom": "2.0.0" - } - }, - "defined": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/defined/download/defined-1.0.0.tgz", - "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", - "dev": true - }, - "del": { - "version": "3.0.0", - "resolved": "http://registry.npm.taobao.org/del/download/del-3.0.0.tgz", - "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", - "dev": true, - "requires": { - "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.6.1" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "http://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "delegates": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/delegates/download/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "dev": true - }, - "denodeify": { - "version": "1.2.1", - "resolved": "http://registry.npm.taobao.org/denodeify/download/denodeify-1.2.1.tgz", - "integrity": "sha1-OjYof1A05pnnV3kBBSwubJQlFjE=", - "dev": true - }, - "depd": { - "version": "1.1.1", - "resolved": "http://registry.npm.taobao.org/depd/download/depd-1.1.1.tgz", - "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", - "dev": true - }, - "des.js": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/des.js/download/des.js-1.0.0.tgz", - "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", - "dev": true, - "requires": { - "inherits": "2.0.3", - "minimalistic-assert": "1.0.0" - } - }, - "destroy": { - "version": "1.0.4", - "resolved": "http://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true - }, - "detect-indent": { - "version": "4.0.0", - "resolved": "http://registry.npm.taobao.org/detect-indent/download/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", - "dev": true, - "requires": { - "repeating": "2.0.1" - } - }, - "detect-node": { - "version": "2.0.3", - "resolved": "http://registry.npm.taobao.org/detect-node/download/detect-node-2.0.3.tgz", - "integrity": "sha1-ogM8CcyOFY03dI+951B4Mr1s4Sc=", - "dev": true - }, - "di": { - "version": "0.0.1", - "resolved": "http://registry.npm.taobao.org/di/download/di-0.0.1.tgz", - "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", - "dev": true - }, - "diff": { - "version": "3.3.0", - "resolved": "http://registry.npm.taobao.org/diff/download/diff-3.3.0.tgz", - "integrity": "sha1-BWaVFQ16qTI3yn43isOxaCt5Y7k=", - "dev": true - }, - "diffie-hellman": { - "version": "5.0.2", - "resolved": "http://registry.npm.taobao.org/diffie-hellman/download/diffie-hellman-5.0.2.tgz", - "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", - "dev": true, - "requires": { - "bn.js": "4.11.8", - "miller-rabin": "4.0.0", - "randombytes": "2.0.5" - } - }, - "dir-glob": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/dir-glob/download/dir-glob-2.0.0.tgz", - "integrity": "sha1-CyBdK2rvmCOMooZZioIE0p0KADQ=", - "dev": true, - "requires": { - "arrify": "1.0.1", - "path-type": "3.0.0" - }, - "dependencies": { - "path-type": { - "version": "3.0.0", - "resolved": "http://registry.npm.taobao.org/path-type/download/path-type-3.0.0.tgz", - "integrity": "sha1-zvMdyOCho7sNEFwM2Xzzv0f0428=", - "dev": true, - "requires": { - "pify": "3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "http://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "directory-encoder": { - "version": "0.7.2", - "resolved": "http://registry.npm.taobao.org/directory-encoder/download/directory-encoder-0.7.2.tgz", - "integrity": "sha1-WbTiqk8lQi9sY7UntGL14tDdLFg=", - "dev": true, - "requires": { - "fs-extra": "0.23.1", - "handlebars": "1.3.0", - "img-stats": "0.5.2" - }, - "dependencies": { - "fs-extra": { - "version": "0.23.1", - "resolved": "http://registry.npm.taobao.org/fs-extra/download/fs-extra-0.23.1.tgz", - "integrity": "sha1-ZhHbpq3yq43Jxp+rN83fiBgVfj0=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "2.4.0", - "path-is-absolute": "1.0.1", - "rimraf": "2.6.1" - } - }, - "jsonfile": { - "version": "2.4.0", - "resolved": "http://registry.npm.taobao.org/jsonfile/download/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11" - } - } - } - }, - "dns-equal": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/dns-equal/download/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", - "dev": true - }, - "dns-packet": { - "version": "1.2.2", - "resolved": "http://registry.npm.taobao.org/dns-packet/download/dns-packet-1.2.2.tgz", - "integrity": "sha1-qKJr7HZGQ4lj/Ibgb4+LFtbIv3o=", - "dev": true, - "requires": { - "ip": "1.1.5", - "safe-buffer": "5.1.1" - } - }, - "dns-txt": { - "version": "2.0.2", - "resolved": "http://registry.npm.taobao.org/dns-txt/download/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", - "dev": true, - "requires": { - "buffer-indexof": "1.1.0" - } - }, - "dom-converter": { - "version": "0.1.4", - "resolved": "http://registry.npm.taobao.org/dom-converter/download/dom-converter-0.1.4.tgz", - "integrity": "sha1-pF71cnuJDJv/5tfIduexnLDhfzs=", - "dev": true, - "requires": { - "utila": "0.3.3" - }, - "dependencies": { - "utila": { - "version": "0.3.3", - "resolved": "http://registry.npm.taobao.org/utila/download/utila-0.3.3.tgz", - "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=", - "dev": true - } - } - }, - "dom-serialize": { - "version": "2.2.1", - "resolved": "http://registry.npm.taobao.org/dom-serialize/download/dom-serialize-2.2.1.tgz", - "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", - "dev": true, - "requires": { - "custom-event": "1.0.1", - "ent": "2.2.0", - "extend": "3.0.1", - "void-elements": "2.0.1" - } - }, - "dom-serializer": { - "version": "0.1.0", - "resolved": "http://registry.npm.taobao.org/dom-serializer/download/dom-serializer-0.1.0.tgz", - "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", - "dev": true, - "requires": { - "domelementtype": "1.1.3", - "entities": "1.1.1" - }, - "dependencies": { - "domelementtype": { - "version": "1.1.3", - "resolved": "http://registry.npm.taobao.org/domelementtype/download/domelementtype-1.1.3.tgz", - "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", - "dev": true - } - } - }, - "domain-browser": { - "version": "1.1.7", - "resolved": "http://registry.npm.taobao.org/domain-browser/download/domain-browser-1.1.7.tgz", - "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=", - "dev": true - }, - "domelementtype": { - "version": "1.3.0", - "resolved": "http://registry.npm.taobao.org/domelementtype/download/domelementtype-1.3.0.tgz", - "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", - "dev": true - }, - "domhandler": { - "version": "2.1.0", - "resolved": "http://registry.npm.taobao.org/domhandler/download/domhandler-2.1.0.tgz", - "integrity": "sha1-0mRvXlf2w7qxHPbLBdPArPdBJZQ=", - "dev": true, - "requires": { - "domelementtype": "1.3.0" - } - }, - "domutils": { - "version": "1.5.1", - "resolved": "http://registry.npm.taobao.org/domutils/download/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "dev": true, - "requires": { - "dom-serializer": "0.1.0", - "domelementtype": "1.3.0" - } - }, - "duplexify": { - "version": "3.5.4", - "resolved": "http://registry.npm.taobao.org/duplexify/download/duplexify-3.5.4.tgz", - "integrity": "sha1-S7RsF5bqvr7sTKmi5muAjLej2LQ=", - "dev": true, - "requires": { - "end-of-stream": "1.4.1", - "inherits": "2.0.3", - "readable-stream": "2.3.5", - "stream-shift": "1.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.0.tgz", - "integrity": "sha1-o31zL0JxtKsa0HDTVQjoKQeI/6o=", - "dev": true - }, - "readable-stream": { - "version": "2.3.5", - "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.5.tgz", - "integrity": "sha1-tPhQA6k4y7bsvOKhJPsQEr0ag40=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.0.3.tgz", - "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - } - } - }, - "ecc-jsbn": { - "version": "0.1.1", - "resolved": "http://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.1.tgz", - "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", - "dev": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "http://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true - }, - "ejs": { - "version": "2.5.8", - "resolved": "http://registry.npm.taobao.org/ejs/download/ejs-2.5.8.tgz", - "integrity": "sha1-KraVRhnyJeYZO3rF98OcSP7+Q4A=", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.18", - "resolved": "http://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.18.tgz", - "integrity": "sha1-PcyZ2j5rZl9qu8ccKK1Ros1zGpw=", - "dev": true - }, - "elliptic": { - "version": "6.4.0", - "resolved": "http://registry.npm.taobao.org/elliptic/download/elliptic-6.4.0.tgz", - "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", - "dev": true, - "requires": { - "bn.js": "4.11.8", - "brorand": "1.1.0", - "hash.js": "1.1.3", - "hmac-drbg": "1.0.1", - "inherits": "2.0.3", - "minimalistic-assert": "1.0.0", - "minimalistic-crypto-utils": "1.0.1" - } - }, - "ember-cli-string-utils": { - "version": "1.1.0", - "resolved": "http://registry.npm.taobao.org/ember-cli-string-utils/download/ember-cli-string-utils-1.1.0.tgz", - "integrity": "sha1-ObZ3/CgF9VFzc1N2/O8njqpEUqE=", - "dev": true - }, - "emojis-list": { - "version": "2.1.0", - "resolved": "http://registry.npm.taobao.org/emojis-list/download/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", - "dev": true - }, - "encodeurl": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.1.tgz", - "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=", - "dev": true - }, - "end-of-stream": { - "version": "1.4.1", - "resolved": "http://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.1.tgz", - "integrity": "sha1-7SljTRm6ukY7bOa4CjchPqtx7EM=", - "dev": true, - "requires": { - "once": "1.4.0" - } - }, - "engine.io": { - "version": "1.8.3", - "resolved": "http://registry.npm.taobao.org/engine.io/download/engine.io-1.8.3.tgz", - "integrity": "sha1-jef5eJXSDTm4X4ju7nd7K9QrE9Q=", - "dev": true, - "requires": { - "accepts": "1.3.3", - "base64id": "1.0.0", - "cookie": "0.3.1", - "debug": "2.3.3", - "engine.io-parser": "1.3.2", - "ws": "1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.3.3", - "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.3.3.tgz", - "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", - "dev": true, - "requires": { - "ms": "0.7.2" - } - }, - "ms": { - "version": "0.7.2", - "resolved": "http://registry.npm.taobao.org/ms/download/ms-0.7.2.tgz", - "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", - "dev": true - } - } - }, - "engine.io-client": { - "version": "1.8.3", - "resolved": "http://registry.npm.taobao.org/engine.io-client/download/engine.io-client-1.8.3.tgz", - "integrity": "sha1-F5jtk0USRkU9TG9jXXogH+lA1as=", - "dev": true, - "requires": { - "component-emitter": "1.2.1", - "component-inherit": "0.0.3", - "debug": "2.3.3", - "engine.io-parser": "1.3.2", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "parsejson": "0.0.3", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "ws": "1.1.2", - "xmlhttprequest-ssl": "1.5.3", - "yeast": "0.1.2" - }, - "dependencies": { - "component-emitter": { - "version": "1.2.1", - "resolved": "http://registry.npm.taobao.org/component-emitter/download/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true - }, - "debug": { - "version": "2.3.3", - "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.3.3.tgz", - "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", - "dev": true, - "requires": { - "ms": "0.7.2" - } - }, - "ms": { - "version": "0.7.2", - "resolved": "http://registry.npm.taobao.org/ms/download/ms-0.7.2.tgz", - "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", - "dev": true - } - } - }, - "engine.io-parser": { - "version": "1.3.2", - "resolved": "http://registry.npm.taobao.org/engine.io-parser/download/engine.io-parser-1.3.2.tgz", - "integrity": "sha1-k3sHnwAH0Ik+xW1GyyILjLQ1Igo=", - "dev": true, - "requires": { - "after": "0.8.2", - "arraybuffer.slice": "0.0.6", - "base64-arraybuffer": "0.1.5", - "blob": "0.0.4", - "has-binary": "0.1.7", - "wtf-8": "1.0.0" - } - }, - "enhanced-resolve": { - "version": "3.4.1", - "resolved": "http://registry.npm.taobao.org/enhanced-resolve/download/enhanced-resolve-3.4.1.tgz", - "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "memory-fs": "0.4.1", - "object-assign": "4.1.1", - "tapable": "0.2.8" - } - }, - "ent": { - "version": "2.2.0", - "resolved": "http://registry.npm.taobao.org/ent/download/ent-2.2.0.tgz", - "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", - "dev": true - }, - "entities": { - "version": "1.1.1", - "resolved": "http://registry.npm.taobao.org/entities/download/entities-1.1.1.tgz", - "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", - "dev": true - }, - "errno": { - "version": "0.1.4", - "resolved": "http://registry.npm.taobao.org/errno/download/errno-0.1.4.tgz", - "integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=", - "dev": true, - "requires": { - "prr": "0.0.0" - } - }, - "error-ex": { - "version": "1.3.1", - "resolved": "http://registry.npm.taobao.org/error-ex/download/error-ex-1.3.1.tgz", - "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", - "dev": true, - "requires": { - "is-arrayish": "0.2.1" - } - }, - "es5-ext": { - "version": "0.10.29", - "resolved": "http://registry.npm.taobao.org/es5-ext/download/es5-ext-0.10.29.tgz", - "integrity": "sha1-do6y38SVe881+gVo8ZOrce3lP9g=", - "dev": true, - "requires": { - "es6-iterator": "2.0.1", - "es6-symbol": "3.1.1" - } - }, - "es6-iterator": { - "version": "2.0.1", - "resolved": "http://registry.npm.taobao.org/es6-iterator/download/es6-iterator-2.0.1.tgz", - "integrity": "sha1-jjGcnwRTv1ddN0lAplWSDlnKVRI=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.29", - "es6-symbol": "3.1.1" - } - }, - "es6-map": { - "version": "0.1.5", - "resolved": "http://registry.npm.taobao.org/es6-map/download/es6-map-0.1.5.tgz", - "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.29", - "es6-iterator": "2.0.1", - "es6-set": "0.1.5", - "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" - } - }, - "es6-set": { - "version": "0.1.5", - "resolved": "http://registry.npm.taobao.org/es6-set/download/es6-set-0.1.5.tgz", - "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.29", - "es6-iterator": "2.0.1", - "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" - } - }, - "es6-symbol": { - "version": "3.1.1", - "resolved": "http://registry.npm.taobao.org/es6-symbol/download/es6-symbol-3.1.1.tgz", - "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.29" - } - }, - "es6-weak-map": { - "version": "2.0.2", - "resolved": "http://registry.npm.taobao.org/es6-weak-map/download/es6-weak-map-2.0.2.tgz", - "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.29", - "es6-iterator": "2.0.1", - "es6-symbol": "3.1.1" - } - }, - "escape-html": { - "version": "1.0.3", - "resolved": "http://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "http://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "escope": { - "version": "3.6.0", - "resolved": "http://registry.npm.taobao.org/escope/download/escope-3.6.0.tgz", - "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", - "dev": true, - "requires": { - "es6-map": "0.1.5", - "es6-weak-map": "2.0.2", - "esrecurse": "4.2.0", - "estraverse": "4.2.0" - } - }, - "esprima": { - "version": "2.7.3", - "resolved": "http://registry.npm.taobao.org/esprima/download/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true - }, - "esrecurse": { - "version": "4.2.0", - "resolved": "http://registry.npm.taobao.org/esrecurse/download/esrecurse-4.2.0.tgz", - "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", - "dev": true, - "requires": { - "estraverse": "4.2.0", - "object-assign": "4.1.1" - } - }, - "estraverse": { - "version": "4.2.0", - "resolved": "http://registry.npm.taobao.org/estraverse/download/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", - "dev": true - }, - "esutils": { - "version": "2.0.2", - "resolved": "http://registry.npm.taobao.org/esutils/download/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true - }, - "etag": { - "version": "1.8.0", - "resolved": "http://registry.npm.taobao.org/etag/download/etag-1.8.0.tgz", - "integrity": "sha1-b2Ma7zNtbEY2K1F2QETOIWvjwFE=", - "dev": true - }, - "event-emitter": { - "version": "0.3.5", - "resolved": "http://registry.npm.taobao.org/event-emitter/download/event-emitter-0.3.5.tgz", - "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.29" - } - }, - "eventemitter3": { - "version": "1.2.0", - "resolved": "http://registry.npm.taobao.org/eventemitter3/download/eventemitter3-1.2.0.tgz", - "integrity": "sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=", - "dev": true - }, - "events": { - "version": "1.1.1", - "resolved": "http://registry.npm.taobao.org/events/download/events-1.1.1.tgz", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", - "dev": true - }, - "eventsource": { - "version": "0.1.6", - "resolved": "http://registry.npm.taobao.org/eventsource/download/eventsource-0.1.6.tgz", - "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", - "dev": true, - "requires": { - "original": "1.0.0" - } - }, - "evp_bytestokey": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/evp_bytestokey/download/evp_bytestokey-1.0.0.tgz", - "integrity": "sha1-SXtmrZ/vZc18CKYYCCS6FHa2blM=", - "dev": true, - "requires": { - "create-hash": "1.1.3" - } - }, - "execa": { - "version": "0.7.0", - "resolved": "http://registry.npm.taobao.org/execa/download/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, - "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "5.1.0", - "resolved": "http://registry.npm.taobao.org/cross-spawn/download/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "4.1.1", - "shebang-command": "1.2.0", - "which": "1.3.0" - } - } - } - }, - "exit": { - "version": "0.1.2", - "resolved": "http://registry.npm.taobao.org/exit/download/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true - }, - "expand-braces": { - "version": "0.1.2", - "resolved": "http://registry.npm.taobao.org/expand-braces/download/expand-braces-0.1.2.tgz", - "integrity": "sha1-SIsdHSRRyz06axks/AMPRMWFX+o=", - "dev": true, - "requires": { - "array-slice": "0.2.3", - "array-unique": "0.2.1", - "braces": "0.1.5" - }, - "dependencies": { - "braces": { - "version": "0.1.5", - "resolved": "http://registry.npm.taobao.org/braces/download/braces-0.1.5.tgz", - "integrity": "sha1-wIVxEIUpHYt1/ddOqw+FlygHEeY=", - "dev": true, - "requires": { - "expand-range": "0.1.1" - } - }, - "expand-range": { - "version": "0.1.1", - "resolved": "http://registry.npm.taobao.org/expand-range/download/expand-range-0.1.1.tgz", - "integrity": "sha1-TLjtoJk8pW+k9B/ELzy7TMrf8EQ=", - "dev": true, - "requires": { - "is-number": "0.1.1", - "repeat-string": "0.2.2" - } - }, - "is-number": { - "version": "0.1.1", - "resolved": "http://registry.npm.taobao.org/is-number/download/is-number-0.1.1.tgz", - "integrity": "sha1-aaevEWlj1HIG7JvZtIoUIW8eOAY=", - "dev": true - }, - "repeat-string": { - "version": "0.2.2", - "resolved": "http://registry.npm.taobao.org/repeat-string/download/repeat-string-0.2.2.tgz", - "integrity": "sha1-x6jTI2BoNiBZp+RlH8aITosftK4=", - "dev": true - } - } - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "http://registry.npm.taobao.org/expand-brackets/download/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "dev": true, - "requires": { - "is-posix-bracket": "0.1.1" - } - }, - "expand-range": { - "version": "1.8.2", - "resolved": "http://registry.npm.taobao.org/expand-range/download/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", - "dev": true, - "requires": { - "fill-range": "2.2.3" - } - }, - "exports-loader": { - "version": "0.6.4", - "resolved": "http://registry.npm.taobao.org/exports-loader/download/exports-loader-0.6.4.tgz", - "integrity": "sha1-1w/GEhl1s1/BKDDPUnVL4nQPyIY=", - "dev": true, - "requires": { - "loader-utils": "1.1.0", - "source-map": "0.5.6" - } - }, - "express": { - "version": "4.15.4", - "resolved": "http://registry.npm.taobao.org/express/download/express-4.15.4.tgz", - "integrity": "sha1-Ay4iU0ic+PzgJma+yj0R7XotrtE=", - "dev": true, - "requires": { - "accepts": "1.3.3", - "array-flatten": "1.1.1", - "content-disposition": "0.5.2", - "content-type": "1.0.2", - "cookie": "0.3.1", - "cookie-signature": "1.0.6", - "debug": "2.6.8", - "depd": "1.1.1", - "encodeurl": "1.0.1", - "escape-html": "1.0.3", - "etag": "1.8.0", - "finalhandler": "1.0.4", - "fresh": "0.5.0", - "merge-descriptors": "1.0.1", - "methods": "1.1.2", - "on-finished": "2.3.0", - "parseurl": "1.3.1", - "path-to-regexp": "0.1.7", - "proxy-addr": "1.1.5", - "qs": "6.5.0", - "range-parser": "1.2.0", - "send": "0.15.4", - "serve-static": "1.12.4", - "setprototypeof": "1.0.3", - "statuses": "1.3.1", - "type-is": "1.6.15", - "utils-merge": "1.0.0", - "vary": "1.1.1" - }, - "dependencies": { - "array-flatten": { - "version": "1.1.1", - "resolved": "http://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, - "qs": { - "version": "6.5.0", - "resolved": "http://registry.npm.taobao.org/qs/download/qs-6.5.0.tgz", - "integrity": "sha1-jQSVTTZN7z78VbWgeT4eLIsebkk=", - "dev": true - } - } - }, - "extend": { - "version": "3.0.1", - "resolved": "http://registry.npm.taobao.org/extend/download/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", - "dev": true - }, - "extglob": { - "version": "0.3.2", - "resolved": "http://registry.npm.taobao.org/extglob/download/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "dev": true, - "requires": { - "is-extglob": "1.0.0" - } - }, - "extract-text-webpack-plugin": { - "version": "3.0.0", - "resolved": "http://registry.npm.taobao.org/extract-text-webpack-plugin/download/extract-text-webpack-plugin-3.0.0.tgz", - "integrity": "sha1-kMqnkHvESfM1AF46x1MrQbAN5hI=", - "dev": true, - "requires": { - "async": "2.5.0", - "loader-utils": "1.1.0", - "schema-utils": "0.3.0", - "webpack-sources": "1.0.1" - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "http://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "fast-deep-equal": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-1.0.0.tgz", - "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=", - "dev": true - }, - "fastparse": { - "version": "1.1.1", - "resolved": "http://registry.npm.taobao.org/fastparse/download/fastparse-1.1.1.tgz", - "integrity": "sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=", - "dev": true - }, - "faye-websocket": { - "version": "0.10.0", - "resolved": "http://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.10.0.tgz", - "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", - "dev": true, - "requires": { - "websocket-driver": "0.6.5" - } - }, - "file-loader": { - "version": "0.10.1", - "resolved": "http://registry.npm.taobao.org/file-loader/download/file-loader-0.10.1.tgz", - "integrity": "sha1-gVA0EZiR/GRB+1pkwRvJPCLd2EI=", - "dev": true, - "requires": { - "loader-utils": "1.1.0" - } - }, - "filename-regex": { - "version": "2.0.1", - "resolved": "http://registry.npm.taobao.org/filename-regex/download/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", - "dev": true - }, - "fileset": { - "version": "2.0.3", - "resolved": "http://registry.npm.taobao.org/fileset/download/fileset-2.0.3.tgz", - "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", - "dev": true, - "requires": { - "glob": "7.1.2", - "minimatch": "3.0.4" - } - }, - "fill-range": { - "version": "2.2.3", - "resolved": "http://registry.npm.taobao.org/fill-range/download/fill-range-2.2.3.tgz", - "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", - "dev": true, - "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "1.1.7", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isobject": { - "version": "2.1.0", - "resolved": "http://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "finalhandler": { - "version": "1.0.4", - "resolved": "http://registry.npm.taobao.org/finalhandler/download/finalhandler-1.0.4.tgz", - "integrity": "sha1-GFdPLnxLmLiuOyMMIfIB8xvbP7c=", - "dev": true, - "requires": { - "debug": "2.6.8", - "encodeurl": "1.0.1", - "escape-html": "1.0.3", - "on-finished": "2.3.0", - "parseurl": "1.3.1", - "statuses": "1.3.1", - "unpipe": "1.0.0" - } - }, - "find-cache-dir": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-1.0.0.tgz", - "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", - "dev": true, - "requires": { - "commondir": "1.0.1", - "make-dir": "1.2.0", - "pkg-dir": "2.0.0" - } - }, - "find-up": { - "version": "1.1.2", - "resolved": "http://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" - } - }, - "flatten": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/flatten/download/flatten-1.0.2.tgz", - "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=", - "dev": true - }, - "flush-write-stream": { - "version": "1.0.3", - "resolved": "http://registry.npm.taobao.org/flush-write-stream/download/flush-write-stream-1.0.3.tgz", - "integrity": "sha1-xdWG7zivYJdlC0m8QbVfq7GfNb0=", - "dev": true, - "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.5" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.0.tgz", - "integrity": "sha1-o31zL0JxtKsa0HDTVQjoKQeI/6o=", - "dev": true - }, - "readable-stream": { - "version": "2.3.5", - "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.5.tgz", - "integrity": "sha1-tPhQA6k4y7bsvOKhJPsQEr0ag40=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.0.3.tgz", - "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - } - } - }, - "font-awesome": { - "version": "4.7.0", - "resolved": "http://10.75.8.148/repository/npm-pub/font-awesome/-/font-awesome-4.7.0.tgz", - "integrity": "sha1-j6jPBBGhoxr9B7BtKQK7n8gVoTM=" - }, - "for-in": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "for-own": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/for-own/download/for-own-1.0.0.tgz", - "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", - "dev": true, - "requires": { - "for-in": "1.0.2" - } - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "http://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, - "form-data": { - "version": "2.1.4", - "resolved": "http://registry.npm.taobao.org/form-data/download/form-data-2.1.4.tgz", - "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", - "dev": true, - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.16" - } - }, - "forwarded": { - "version": "0.1.0", - "resolved": "http://registry.npm.taobao.org/forwarded/download/forwarded-0.1.0.tgz", - "integrity": "sha1-Ge+YdMSuHCl7zweP3mOgm2aoQ2M=", - "dev": true - }, - "fresh": { - "version": "0.5.0", - "resolved": "http://registry.npm.taobao.org/fresh/download/fresh-0.5.0.tgz", - "integrity": "sha1-9HTKXmqSRtb9jglTz6m5yAWvp44=", - "dev": true - }, - "from2": { - "version": "2.3.0", - "resolved": "http://registry.npm.taobao.org/from2/download/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, - "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.5" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.0.tgz", - "integrity": "sha1-o31zL0JxtKsa0HDTVQjoKQeI/6o=", - "dev": true - }, - "readable-stream": { - "version": "2.3.5", - "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.5.tgz", - "integrity": "sha1-tPhQA6k4y7bsvOKhJPsQEr0ag40=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.0.3.tgz", - "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - } - } - }, - "fs-access": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/fs-access/download/fs-access-1.0.1.tgz", - "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=", - "dev": true, - "requires": { - "null-check": "1.0.0" - } - }, - "fs-extra": { - "version": "4.0.1", - "resolved": "http://registry.npm.taobao.org/fs-extra/download/fs-extra-4.0.1.tgz", - "integrity": "sha1-f8DGyJV/mD9X8waiTlud3Y0N2IA=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "3.0.1", - "universalify": "0.1.1" - } - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "http://registry.npm.taobao.org/fs-write-stream-atomic/download/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "iferr": "0.1.5", - "imurmurhash": "0.1.4", - "readable-stream": "1.0.34" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fstream": { - "version": "1.0.11", - "resolved": "http://registry.npm.taobao.org/fstream/download/fstream-1.0.11.tgz", - "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.1" - } - }, - "function-bind": { - "version": "1.1.0", - "resolved": "http://registry.npm.taobao.org/function-bind/download/function-bind-1.1.0.tgz", - "integrity": "sha1-FhdnFMgBeY5Ojyz391KUZ7tKV3E=", - "dev": true - }, - "gauge": { - "version": "2.7.4", - "resolved": "http://registry.npm.taobao.org/gauge/download/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, - "requires": { - "aproba": "1.1.2", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - } - } - }, - "gaze": { - "version": "1.1.2", - "resolved": "http://registry.npm.taobao.org/gaze/download/gaze-1.1.2.tgz", - "integrity": "sha1-hHIkZ3rbiHDWeSV+0ziP22HkAQU=", - "dev": true, - "optional": true, - "requires": { - "globule": "1.2.0" - } - }, - "get-caller-file": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/get-caller-file/download/get-caller-file-1.0.2.tgz", - "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", - "dev": true - }, - "get-stdin": { - "version": "4.0.1", - "resolved": "http://registry.npm.taobao.org/get-stdin/download/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true - }, - "get-stream": { - "version": "3.0.0", - "resolved": "http://registry.npm.taobao.org/get-stream/download/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - }, - "getpass": { - "version": "0.1.7", - "resolved": "http://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } - } - }, - "glob": { - "version": "7.1.2", - "resolved": "http://registry.npm.taobao.org/glob/download/glob-7.1.2.tgz", - "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", - "dev": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "glob-base": { - "version": "0.3.0", - "resolved": "http://registry.npm.taobao.org/glob-base/download/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", - "dev": true, - "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" - } - }, - "glob-parent": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/glob-parent/download/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "dev": true, - "requires": { - "is-glob": "2.0.1" - } - }, - "globals": { - "version": "9.18.0", - "resolved": "http://registry.npm.taobao.org/globals/download/globals-9.18.0.tgz", - "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=", - "dev": true - }, - "globby": { - "version": "6.1.0", - "resolved": "http://registry.npm.taobao.org/globby/download/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "requires": { - "array-union": "1.0.2", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" - } - }, - "globule": { - "version": "1.2.0", - "resolved": "http://registry.npm.taobao.org/globule/download/globule-1.2.0.tgz", - "integrity": "sha1-HcScaCLdnoovoAuiopUAboZkvQk=", - "dev": true, - "optional": true, - "requires": { - "glob": "7.1.2", - "lodash": "4.17.4", - "minimatch": "3.0.4" - } - }, - "graceful-fs": { - "version": "4.1.11", - "resolved": "http://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", - "dev": true - }, - "handle-thing": { - "version": "1.2.5", - "resolved": "http://registry.npm.taobao.org/handle-thing/download/handle-thing-1.2.5.tgz", - "integrity": "sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ=", - "dev": true - }, - "handlebars": { - "version": "1.3.0", - "resolved": "http://registry.npm.taobao.org/handlebars/download/handlebars-1.3.0.tgz", - "integrity": "sha1-npsTCpPjiUkTItl1zz7BgYw3zjQ=", - "dev": true, - "requires": { - "optimist": "0.3.7", - "uglify-js": "2.3.6" - }, - "dependencies": { - "async": { - "version": "0.2.10", - "resolved": "http://registry.npm.taobao.org/async/download/async-0.2.10.tgz", - "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", - "dev": true, - "optional": true - }, - "source-map": { - "version": "0.1.43", - "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.1.43.tgz", - "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", - "dev": true, - "optional": true, - "requires": { - "amdefine": "1.0.1" - } - }, - "uglify-js": { - "version": "2.3.6", - "resolved": "http://registry.npm.taobao.org/uglify-js/download/uglify-js-2.3.6.tgz", - "integrity": "sha1-+gmEdwtCi3qbKoBY9GNV0U/vIRo=", - "dev": true, - "optional": true, - "requires": { - "async": "0.2.10", - "optimist": "0.3.7", - "source-map": "0.1.43" - } - } - } - }, - "har-schema": { - "version": "1.0.5", - "resolved": "http://registry.npm.taobao.org/har-schema/download/har-schema-1.0.5.tgz", - "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", - "dev": true - }, - "har-validator": { - "version": "4.2.1", - "resolved": "http://registry.npm.taobao.org/har-validator/download/har-validator-4.2.1.tgz", - "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", - "dev": true, - "requires": { - "ajv": "4.11.8", - "har-schema": "1.0.5" - }, - "dependencies": { - "ajv": { - "version": "4.11.8", - "resolved": "http://registry.npm.taobao.org/ajv/download/ajv-4.11.8.tgz", - "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", - "dev": true, - "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" - } - } - } - }, - "has": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/has/download/has-1.0.1.tgz", - "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", - "dev": true, - "requires": { - "function-bind": "1.1.0" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "has-binary": { - "version": "0.1.7", - "resolved": "http://registry.npm.taobao.org/has-binary/download/has-binary-0.1.7.tgz", - "integrity": "sha1-aOYesWIQyVRaClzOBqhzkS/h5ow=", - "dev": true, - "requires": { - "isarray": "0.0.1" - } - }, - "has-cors": { - "version": "1.1.0", - "resolved": "http://registry.npm.taobao.org/has-cors/download/has-cors-1.1.0.tgz", - "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", - "dev": true - }, - "has-flag": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "http://registry.npm.taobao.org/has-unicode/download/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "dev": true - }, - "hash-base": { - "version": "2.0.2", - "resolved": "http://registry.npm.taobao.org/hash-base/download/hash-base-2.0.2.tgz", - "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=", - "dev": true, - "requires": { - "inherits": "2.0.3" - } - }, - "hash.js": { - "version": "1.1.3", - "resolved": "http://registry.npm.taobao.org/hash.js/download/hash.js-1.1.3.tgz", - "integrity": "sha1-NA3tvmKQGHFRweodd3o0SJNd+EY=", - "dev": true, - "requires": { - "inherits": "2.0.3", - "minimalistic-assert": "1.0.0" - } - }, - "hawk": { - "version": "3.1.3", - "resolved": "http://registry.npm.taobao.org/hawk/download/hawk-3.1.3.tgz", - "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", - "dev": true, - "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" - } - }, - "he": { - "version": "1.1.1", - "resolved": "http://registry.npm.taobao.org/he/download/he-1.1.1.tgz", - "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", - "dev": true - }, - "heimdalljs": { - "version": "0.2.5", - "resolved": "http://registry.npm.taobao.org/heimdalljs/download/heimdalljs-0.2.5.tgz", - "integrity": "sha1-aqVDCO7nk7ZCz/nPlHgURfN3MKw=", - "dev": true, - "requires": { - "rsvp": "3.2.1" - }, - "dependencies": { - "rsvp": { - "version": "3.2.1", - "resolved": "http://registry.npm.taobao.org/rsvp/download/rsvp-3.2.1.tgz", - "integrity": "sha1-B8tKXfJa3Z6Cbrxn3Mn9idsn2Eo=", - "dev": true - } - } - }, - "heimdalljs-logger": { - "version": "0.1.9", - "resolved": "http://registry.npm.taobao.org/heimdalljs-logger/download/heimdalljs-logger-0.1.9.tgz", - "integrity": "sha1-12raTkW3u294b8nAEKaOsuL68XY=", - "dev": true, - "requires": { - "debug": "2.6.8", - "heimdalljs": "0.2.5" - } - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/hmac-drbg/download/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true, - "requires": { - "hash.js": "1.1.3", - "minimalistic-assert": "1.0.0", - "minimalistic-crypto-utils": "1.0.1" - } - }, - "hoek": { - "version": "2.16.3", - "resolved": "http://registry.npm.taobao.org/hoek/download/hoek-2.16.3.tgz", - "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", - "dev": true - }, - "hosted-git-info": { - "version": "2.5.0", - "resolved": "http://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.5.0.tgz", - "integrity": "sha1-bWDjSzq7yDEwYsO3mO+NkBoHrzw=", - "dev": true - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "http://registry.npm.taobao.org/hpack.js/download/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", - "dev": true, - "requires": { - "inherits": "2.0.3", - "obuf": "1.1.1", - "readable-stream": "2.3.3", - "wbuf": "1.7.2" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.3.tgz", - "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.0.3.tgz", - "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - } - } - }, - "html-comment-regex": { - "version": "1.1.1", - "resolved": "http://registry.npm.taobao.org/html-comment-regex/download/html-comment-regex-1.1.1.tgz", - "integrity": "sha1-ZouTd26q5V696POtRkswekljYl4=", - "dev": true - }, - "html-entities": { - "version": "1.2.1", - "resolved": "http://registry.npm.taobao.org/html-entities/download/html-entities-1.2.1.tgz", - "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", - "dev": true - }, - "html-minifier": { - "version": "3.5.3", - "resolved": "http://registry.npm.taobao.org/html-minifier/download/html-minifier-3.5.3.tgz", - "integrity": "sha1-SideOxoWY5q7ebTBEZH/DQ/PGrk=", - "dev": true, - "requires": { - "camel-case": "3.0.0", - "clean-css": "4.1.7", - "commander": "2.11.0", - "he": "1.1.1", - "ncname": "1.0.0", - "param-case": "2.1.1", - "relateurl": "0.2.7", - "uglify-js": "3.0.28" - } - }, - "html-webpack-plugin": { - "version": "2.30.1", - "resolved": "http://registry.npm.taobao.org/html-webpack-plugin/download/html-webpack-plugin-2.30.1.tgz", - "integrity": "sha1-f5xCG36pHsRg9WUn1430hO51N9U=", - "dev": true, - "requires": { - "bluebird": "3.5.0", - "html-minifier": "3.5.3", - "loader-utils": "0.2.17", - "lodash": "4.17.4", - "pretty-error": "2.1.1", - "toposort": "1.0.3" - }, - "dependencies": { - "loader-utils": { - "version": "0.2.17", - "resolved": "http://registry.npm.taobao.org/loader-utils/download/loader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", - "dev": true, - "requires": { - "big.js": "3.1.3", - "emojis-list": "2.1.0", - "json5": "0.5.1", - "object-assign": "4.1.1" - } - } - } - }, - "htmlparser2": { - "version": "3.3.0", - "resolved": "http://registry.npm.taobao.org/htmlparser2/download/htmlparser2-3.3.0.tgz", - "integrity": "sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4=", - "dev": true, - "requires": { - "domelementtype": "1.3.0", - "domhandler": "2.1.0", - "domutils": "1.1.6", - "readable-stream": "1.0.34" - }, - "dependencies": { - "domutils": { - "version": "1.1.6", - "resolved": "http://registry.npm.taobao.org/domutils/download/domutils-1.1.6.tgz", - "integrity": "sha1-vdw94Jm5ou+sxRxiPyj0FuzFdIU=", - "dev": true, - "requires": { - "domelementtype": "1.3.0" - } - } - } - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "http://registry.npm.taobao.org/http-deceiver/download/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", - "dev": true - }, - "http-errors": { - "version": "1.6.2", - "resolved": "http://registry.npm.taobao.org/http-errors/download/http-errors-1.6.2.tgz", - "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", - "dev": true, - "requires": { - "depd": "1.1.1", - "inherits": "2.0.3", - "setprototypeof": "1.0.3", - "statuses": "1.3.1" - } - }, - "http-proxy": { - "version": "1.16.2", - "resolved": "http://registry.npm.taobao.org/http-proxy/download/http-proxy-1.16.2.tgz", - "integrity": "sha1-Bt/ykpUr9k2+hHH6nfcwZtTzd0I=", - "dev": true, - "requires": { - "eventemitter3": "1.2.0", - "requires-port": "1.0.0" - } - }, - "http-proxy-middleware": { - "version": "0.17.4", - "resolved": "http://registry.npm.taobao.org/http-proxy-middleware/download/http-proxy-middleware-0.17.4.tgz", - "integrity": "sha1-ZC6ISIUdZvCdTxJJEoRtuutBuDM=", - "dev": true, - "requires": { - "http-proxy": "1.16.2", - "is-glob": "3.1.0", - "lodash": "4.17.4", - "micromatch": "2.3.11" - }, - "dependencies": { - "is-extglob": { - "version": "2.1.1", - "resolved": "http://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-glob": { - "version": "3.1.0", - "resolved": "http://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "2.1.1" - } - } - } - }, - "http-signature": { - "version": "1.1.1", - "resolved": "http://registry.npm.taobao.org/http-signature/download/http-signature-1.1.1.tgz", - "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", - "dev": true, - "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.1", - "sshpk": "1.13.1" - } - }, - "https-browserify": { - "version": "0.0.1", - "resolved": "http://registry.npm.taobao.org/https-browserify/download/https-browserify-0.0.1.tgz", - "integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=", - "dev": true - }, - "https-proxy-agent": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/https-proxy-agent/download/https-proxy-agent-1.0.0.tgz", - "integrity": "sha1-NffabEjOTdv6JkiRrFk+5f+GceY=", - "dev": true, - "requires": { - "agent-base": "2.1.1", - "debug": "2.6.8", - "extend": "3.0.1" - } - }, - "icss-replace-symbols": { - "version": "1.1.0", - "resolved": "http://registry.npm.taobao.org/icss-replace-symbols/download/icss-replace-symbols-1.1.0.tgz", - "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", - "dev": true - }, - "icss-utils": { - "version": "2.1.0", - "resolved": "http://registry.npm.taobao.org/icss-utils/download/icss-utils-2.1.0.tgz", - "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", - "dev": true, - "requires": { - "postcss": "6.0.9" - }, - "dependencies": { - "has-flag": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "postcss": { - "version": "6.0.9", - "resolved": "http://registry.npm.taobao.org/postcss/download/postcss-6.0.9.tgz", - "integrity": "sha1-VIGXZnhKUcZbHsTVTC+TdlQ4w1o=", - "dev": true, - "requires": { - "chalk": "2.1.0", - "source-map": "0.5.6", - "supports-color": "4.2.1" - } - }, - "supports-color": { - "version": "4.2.1", - "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-4.2.1.tgz", - "integrity": "sha1-ZaS7JjHpDgJCDbpVVMN1pHVLuDY=", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } - } - } - }, - "ieee754": { - "version": "1.1.8", - "resolved": "http://registry.npm.taobao.org/ieee754/download/ieee754-1.1.8.tgz", - "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=", - "dev": true - }, - "iferr": { - "version": "0.1.5", - "resolved": "http://registry.npm.taobao.org/iferr/download/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true - }, - "ignore": { - "version": "3.3.7", - "resolved": "http://registry.npm.taobao.org/ignore/download/ignore-3.3.7.tgz", - "integrity": "sha1-YSKJv7PCIOGGpYEYYY1b6MG6sCE=", - "dev": true - }, - "image-size": { - "version": "0.5.5", - "resolved": "http://registry.npm.taobao.org/image-size/download/image-size-0.5.5.tgz", - "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", - "dev": true, - "optional": true - }, - "img-stats": { - "version": "0.5.2", - "resolved": "http://registry.npm.taobao.org/img-stats/download/img-stats-0.5.2.tgz", - "integrity": "sha1-wgNJbELy2esuWrgjL6dWurMsnis=", - "dev": true, - "requires": { - "xmldom": "0.1.27" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "http://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "in-publish": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/in-publish/download/in-publish-2.0.0.tgz", - "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=", - "dev": true, - "optional": true - }, - "indent-string": { - "version": "2.1.0", - "resolved": "http://registry.npm.taobao.org/indent-string/download/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "dev": true, - "requires": { - "repeating": "2.0.1" - } - }, - "indexes-of": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/indexes-of/download/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", - "dev": true - }, - "indexof": { - "version": "0.0.1", - "resolved": "http://registry.npm.taobao.org/indexof/download/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "http://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "http://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "ini": { - "version": "1.3.4", - "resolved": "http://registry.npm.taobao.org/ini/download/ini-1.3.4.tgz", - "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=", - "dev": true - }, - "internal-ip": { - "version": "1.2.0", - "resolved": "http://registry.npm.taobao.org/internal-ip/download/internal-ip-1.2.0.tgz", - "integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=", - "dev": true, - "requires": { - "meow": "3.7.0" - } - }, - "interpret": { - "version": "1.0.3", - "resolved": "http://registry.npm.taobao.org/interpret/download/interpret-1.0.3.tgz", - "integrity": "sha1-y8NcYu7uc/Gat7EKgBURQBr8D5A=", - "dev": true - }, - "invariant": { - "version": "2.2.2", - "resolved": "http://registry.npm.taobao.org/invariant/download/invariant-2.2.2.tgz", - "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", - "dev": true, - "requires": { - "loose-envify": "1.3.1" - } - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/invert-kv/download/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", - "dev": true - }, - "ip": { - "version": "1.1.5", - "resolved": "http://registry.npm.taobao.org/ip/download/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true - }, - "ipaddr.js": { - "version": "1.4.0", - "resolved": "http://registry.npm.taobao.org/ipaddr.js/download/ipaddr.js-1.4.0.tgz", - "integrity": "sha1-KWrKh4qCGBbluF0KKFqZvP9FgvA=", - "dev": true - }, - "is-absolute-url": { - "version": "2.1.0", - "resolved": "http://registry.npm.taobao.org/is-absolute-url/download/is-absolute-url-2.1.0.tgz", - "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", - "dev": true - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "http://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "requires": { - "binary-extensions": "1.10.0" - } - }, - "is-buffer": { - "version": "1.1.5", - "resolved": "http://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.5.tgz", - "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=", - "dev": true - }, - "is-builtin-module": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/is-builtin-module/download/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", - "dev": true, - "requires": { - "builtin-modules": "1.1.1" - } - }, - "is-directory": { - "version": "0.3.1", - "resolved": "http://registry.npm.taobao.org/is-directory/download/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", - "dev": true - }, - "is-dotfile": { - "version": "1.0.3", - "resolved": "http://registry.npm.taobao.org/is-dotfile/download/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", - "dev": true - }, - "is-equal-shallow": { - "version": "0.1.3", - "resolved": "http://registry.npm.taobao.org/is-equal-shallow/download/is-equal-shallow-0.1.3.tgz", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", - "dev": true, - "requires": { - "is-primitive": "2.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "http://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/is-extglob/download/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-finite": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/is-finite/download/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "http://registry.npm.taobao.org/is-glob/download/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "1.0.0" - } - }, - "is-number": { - "version": "2.1.0", - "resolved": "http://registry.npm.taobao.org/is-number/download/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - } - }, - "is-path-cwd": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/is-path-cwd/download/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", - "dev": true - }, - "is-path-in-cwd": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/is-path-in-cwd/download/is-path-in-cwd-1.0.0.tgz", - "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", - "dev": true, - "requires": { - "is-path-inside": "1.0.0" - } - }, - "is-path-inside": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/is-path-inside/download/is-path-inside-1.0.0.tgz", - "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=", - "dev": true, - "requires": { - "path-is-inside": "1.0.2" - } - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "http://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "http://registry.npm.taobao.org/is-plain-object/download/is-plain-object-2.0.4.tgz", - "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", - "dev": true, - "requires": { - "isobject": "3.0.1" - } - }, - "is-posix-bracket": { - "version": "0.1.1", - "resolved": "http://registry.npm.taobao.org/is-posix-bracket/download/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", - "dev": true - }, - "is-primitive": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/is-primitive/download/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "resolved": "http://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "is-svg": { - "version": "2.1.0", - "resolved": "http://registry.npm.taobao.org/is-svg/download/is-svg-2.1.0.tgz", - "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", - "dev": true, - "requires": { - "html-comment-regex": "1.1.1" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "http://registry.npm.taobao.org/is-utf8/download/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "http://registry.npm.taobao.org/is-wsl/download/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - }, - "isarray": { - "version": "0.0.1", - "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "isbinaryfile": { - "version": "3.0.2", - "resolved": "http://registry.npm.taobao.org/isbinaryfile/download/isbinaryfile-3.0.2.tgz", - "integrity": "sha1-Sj6XTsDLqQBNP8bN5yCeppNopiE=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "http://registry.npm.taobao.org/isobject/download/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "isstream": { - "version": "0.1.2", - "resolved": "http://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "istanbul-api": { - "version": "1.1.11", - "resolved": "http://registry.npm.taobao.org/istanbul-api/download/istanbul-api-1.1.11.tgz", - "integrity": "sha1-/MC0YeKzvaceMFFVE4I4doJX2d4=", - "dev": true, - "requires": { - "async": "2.5.0", - "fileset": "2.0.3", - "istanbul-lib-coverage": "1.1.1", - "istanbul-lib-hook": "1.0.7", - "istanbul-lib-instrument": "1.7.4", - "istanbul-lib-report": "1.1.1", - "istanbul-lib-source-maps": "1.2.1", - "istanbul-reports": "1.1.1", - "js-yaml": "3.7.0", - "mkdirp": "0.5.1", - "once": "1.4.0" - } - }, - "istanbul-instrumenter-loader": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/istanbul-instrumenter-loader/download/istanbul-instrumenter-loader-2.0.0.tgz", - "integrity": "sha1-5UkpAKsLuoNe+oAkywC+mz7qJwA=", - "dev": true, - "requires": { - "convert-source-map": "1.5.0", - "istanbul-lib-instrument": "1.7.4", - "loader-utils": "0.2.17", - "object-assign": "4.1.1" - }, - "dependencies": { - "loader-utils": { - "version": "0.2.17", - "resolved": "http://registry.npm.taobao.org/loader-utils/download/loader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", - "dev": true, - "requires": { - "big.js": "3.1.3", - "emojis-list": "2.1.0", - "json5": "0.5.1", - "object-assign": "4.1.1" - } - } - } - }, - "istanbul-lib-coverage": { - "version": "1.1.1", - "resolved": "http://registry.npm.taobao.org/istanbul-lib-coverage/download/istanbul-lib-coverage-1.1.1.tgz", - "integrity": "sha1-c7+5mIhSmUFck9OKPprfeEp3qdo=", - "dev": true - }, - "istanbul-lib-hook": { - "version": "1.0.7", - "resolved": "http://registry.npm.taobao.org/istanbul-lib-hook/download/istanbul-lib-hook-1.0.7.tgz", - "integrity": "sha1-3WYH8DB2V4/n1vKmMM8UO0m6zdw=", - "dev": true, - "requires": { - "append-transform": "0.4.0" - } - }, - "istanbul-lib-instrument": { - "version": "1.7.4", - "resolved": "http://registry.npm.taobao.org/istanbul-lib-instrument/download/istanbul-lib-instrument-1.7.4.tgz", - "integrity": "sha1-6f2SDkdn89Ge3HZeLWs/XMvQ7qg=", - "dev": true, - "requires": { - "babel-generator": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "istanbul-lib-coverage": "1.1.1", - "semver": "5.4.1" - } - }, - "istanbul-lib-report": { - "version": "1.1.1", - "resolved": "http://registry.npm.taobao.org/istanbul-lib-report/download/istanbul-lib-report-1.1.1.tgz", - "integrity": "sha1-8OVfVmVf+jQiIIC3oM1HYOFAX8k=", - "dev": true, - "requires": { - "istanbul-lib-coverage": "1.1.1", - "mkdirp": "0.5.1", - "path-parse": "1.0.5", - "supports-color": "3.2.3" - } - }, - "istanbul-lib-source-maps": { - "version": "1.2.1", - "resolved": "http://registry.npm.taobao.org/istanbul-lib-source-maps/download/istanbul-lib-source-maps-1.2.1.tgz", - "integrity": "sha1-pv4ay6jOCO68Y45XLilNJnAIqgw=", - "dev": true, - "requires": { - "debug": "2.6.8", - "istanbul-lib-coverage": "1.1.1", - "mkdirp": "0.5.1", - "rimraf": "2.6.1", - "source-map": "0.5.6" - } - }, - "istanbul-reports": { - "version": "1.1.1", - "resolved": "http://registry.npm.taobao.org/istanbul-reports/download/istanbul-reports-1.1.1.tgz", - "integrity": "sha1-BCvlyJ4XW8P4ZSPKqynAFOd/7k4=", - "dev": true, - "requires": { - "handlebars": "4.0.10" - }, - "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "http://registry.npm.taobao.org/async/download/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - }, - "camelcase": { - "version": "1.2.1", - "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", - "dev": true, - "optional": true - }, - "cliui": { - "version": "2.1.0", - "resolved": "http://registry.npm.taobao.org/cliui/download/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", - "dev": true, - "optional": true, - "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", - "wordwrap": "0.0.2" - }, - "dependencies": { - "wordwrap": { - "version": "0.0.2", - "resolved": "http://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", - "dev": true, - "optional": true - } - } - }, - "handlebars": { - "version": "4.0.10", - "resolved": "http://registry.npm.taobao.org/handlebars/download/handlebars-4.0.10.tgz", - "integrity": "sha1-PTDHGLCaPZbyPqTMH0A8TTup/08=", - "dev": true, - "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" - } - }, - "optimist": { - "version": "0.6.1", - "resolved": "http://registry.npm.taobao.org/optimist/download/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dev": true, - "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" - } - }, - "source-map": { - "version": "0.4.4", - "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "dev": true, - "requires": { - "amdefine": "1.0.1" - } - }, - "uglify-js": { - "version": "2.8.29", - "resolved": "http://registry.npm.taobao.org/uglify-js/download/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", - "dev": true, - "optional": true, - "requires": { - "source-map": "0.5.6", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" - }, - "dependencies": { - "source-map": { - "version": "0.5.6", - "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", - "dev": true, - "optional": true - } - } - }, - "yargs": { - "version": "3.10.0", - "resolved": "http://registry.npm.taobao.org/yargs/download/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "dev": true, - "optional": true, - "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", - "window-size": "0.1.0" - } - } - } - }, - "jasmine": { - "version": "2.7.0", - "resolved": "http://registry.npm.taobao.org/jasmine/download/jasmine-2.7.0.tgz", - "integrity": "sha1-XPC7TllLRgC7QjVWA2YhKsWuobI=", - "dev": true, - "requires": { - "exit": "0.1.2", - "glob": "7.1.2", - "jasmine-core": "2.7.0" - }, - "dependencies": { - "jasmine-core": { - "version": "2.7.0", - "resolved": "http://registry.npm.taobao.org/jasmine-core/download/jasmine-core-2.7.0.tgz", - "integrity": "sha1-UP+MT5LY71wLLBuEbdJj7YUVIJE=", - "dev": true - } - } - }, - "jasmine-core": { - "version": "2.6.4", - "resolved": "http://registry.npm.taobao.org/jasmine-core/download/jasmine-core-2.6.4.tgz", - "integrity": "sha1-3skmzQqfoof7bbXHVfpIfnTOysU=", - "dev": true - }, - "jasmine-spec-reporter": { - "version": "4.1.1", - "resolved": "http://registry.npm.taobao.org/jasmine-spec-reporter/download/jasmine-spec-reporter-4.1.1.tgz", - "integrity": "sha1-Wm1Yq11hvqcwn7wnkjlRF1axtYg=", - "dev": true, - "requires": { - "colors": "1.1.2" - } - }, - "jasminewd2": { - "version": "2.1.0", - "resolved": "http://registry.npm.taobao.org/jasminewd2/download/jasminewd2-2.1.0.tgz", - "integrity": "sha1-2llSddGuYx3nNqwKfH2Fyfc+9lI=", - "dev": true - }, - "jquery": { - "version": "3.2.1", - "resolved": "http://10.75.8.148/repository/npm-pub/jquery/-/jquery-3.2.1.tgz", - "integrity": "sha1-XE2d5lKvbNCncBVKYxu6ErAVx4c=" - }, - "jquery-ui": { - "version": "1.12.1", - "resolved": "http://registry.npm.taobao.org/jquery-ui/download/jquery-ui-1.12.1.tgz", - "integrity": "sha1-vLQEXI3QU5wTS8FIjN0+dop6nlE=" - }, - "js-base64": { - "version": "2.1.9", - "resolved": "http://registry.npm.taobao.org/js-base64/download/js-base64-2.1.9.tgz", - "integrity": "sha1-8OgK4DmkvWVLXygfyT8EqRSn/M4=", - "dev": true - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "http://registry.npm.taobao.org/js-tokens/download/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true - }, - "js-yaml": { - "version": "3.7.0", - "resolved": "http://registry.npm.taobao.org/js-yaml/download/js-yaml-3.7.0.tgz", - "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", - "dev": true, - "requires": { - "argparse": "1.0.9", - "esprima": "2.7.3" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "http://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true, - "optional": true - }, - "jsesc": { - "version": "0.5.0", - "resolved": "http://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - }, - "json-loader": { - "version": "0.5.7", - "resolved": "http://registry.npm.taobao.org/json-loader/download/json-loader-0.5.7.tgz", - "integrity": "sha1-3KFKcCNf+C8KyaOr62DTN6NlGF0=", - "dev": true - }, - "json-schema": { - "version": "0.2.3", - "resolved": "http://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.3.1", - "resolved": "http://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", - "dev": true - }, - "json-stable-stringify": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/json-stable-stringify/download/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "dev": true, - "requires": { - "jsonify": "0.0.0" - } - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "http://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, - "json3": { - "version": "3.3.2", - "resolved": "http://registry.npm.taobao.org/json3/download/json3-3.3.2.tgz", - "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=", - "dev": true - }, - "json5": { - "version": "0.5.1", - "resolved": "http://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true - }, - "jsonfile": { - "version": "3.0.1", - "resolved": "http://registry.npm.taobao.org/jsonfile/download/jsonfile-3.0.1.tgz", - "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11" - } - }, - "jsonify": { - "version": "0.0.0", - "resolved": "http://registry.npm.taobao.org/jsonify/download/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "dev": true - }, - "jsplumb": { - "version": "2.5.1", - "resolved": "http://registry.npm.taobao.org/jsplumb/download/jsplumb-2.5.1.tgz", - "integrity": "sha1-PMVAJJhdzJHSeUOARSJkH/qu3L4=" - }, - "jsprim": { - "version": "1.4.1", - "resolved": "http://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } - } - }, - "karma": { - "version": "1.7.0", - "resolved": "http://registry.npm.taobao.org/karma/download/karma-1.7.0.tgz", - "integrity": "sha1-b3oaQGRG+i4YfslTmGmPTO5HYmk=", - "dev": true, - "requires": { - "bluebird": "3.5.0", - "body-parser": "1.17.2", - "chokidar": "1.7.0", - "colors": "1.1.2", - "combine-lists": "1.0.1", - "connect": "3.6.3", - "core-js": "2.5.0", - "di": "0.0.1", - "dom-serialize": "2.2.1", - "expand-braces": "0.1.2", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "http-proxy": "1.16.2", - "isbinaryfile": "3.0.2", - "lodash": "3.10.1", - "log4js": "0.6.38", - "mime": "1.3.6", - "minimatch": "3.0.4", - "optimist": "0.6.1", - "qjobs": "1.1.5", - "range-parser": "1.2.0", - "rimraf": "2.6.1", - "safe-buffer": "5.1.1", - "socket.io": "1.7.3", - "source-map": "0.5.6", - "tmp": "0.0.31", - "useragent": "2.2.1" - }, - "dependencies": { - "lodash": { - "version": "3.10.1", - "resolved": "http://registry.npm.taobao.org/lodash/download/lodash-3.10.1.tgz", - "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", - "dev": true - }, - "optimist": { - "version": "0.6.1", - "resolved": "http://registry.npm.taobao.org/optimist/download/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dev": true, - "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" - } - } - } - }, - "karma-chrome-launcher": { - "version": "2.1.1", - "resolved": "http://registry.npm.taobao.org/karma-chrome-launcher/download/karma-chrome-launcher-2.1.1.tgz", - "integrity": "sha1-IWh5xorATY1RQOmWGboEtZr9Rs8=", - "dev": true, - "requires": { - "fs-access": "1.0.1", - "which": "1.3.0" - } - }, - "karma-cli": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/karma-cli/download/karma-cli-1.0.1.tgz", - "integrity": "sha1-rmw8WKMTodALRRZMRVubhs4X+WA=", - "dev": true, - "requires": { - "resolve": "1.4.0" - } - }, - "karma-coverage-istanbul-reporter": { - "version": "1.3.0", - "resolved": "http://registry.npm.taobao.org/karma-coverage-istanbul-reporter/download/karma-coverage-istanbul-reporter-1.3.0.tgz", - "integrity": "sha1-0ULNnFVzHJ42Pvc3To7xoxvr+ts=", - "dev": true, - "requires": { - "istanbul-api": "1.1.11", - "minimatch": "3.0.4" - } - }, - "karma-jasmine": { - "version": "1.1.0", - "resolved": "http://registry.npm.taobao.org/karma-jasmine/download/karma-jasmine-1.1.0.tgz", - "integrity": "sha1-IuTAa/mhguUpTR9wXjczgRuBCs8=", - "dev": true - }, - "karma-jasmine-html-reporter": { - "version": "0.2.2", - "resolved": "http://registry.npm.taobao.org/karma-jasmine-html-reporter/download/karma-jasmine-html-reporter-0.2.2.tgz", - "integrity": "sha1-SKjl7xiAdhfuK14zwRlMNbQ5Ukw=", - "dev": true, - "requires": { - "karma-jasmine": "1.1.0" - } - }, - "karma-source-map-support": { - "version": "1.2.0", - "resolved": "http://registry.npm.taobao.org/karma-source-map-support/download/karma-source-map-support-1.2.0.tgz", - "integrity": "sha1-G/gee7SwiWJ6s1LsQXnhF8QGpUA=", - "dev": true, - "requires": { - "source-map-support": "0.4.16" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.5" - } - }, - "lazy-cache": { - "version": "0.2.7", - "resolved": "http://registry.npm.taobao.org/lazy-cache/download/lazy-cache-0.2.7.tgz", - "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U=", - "dev": true - }, - "lcid": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/lcid/download/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dev": true, - "requires": { - "invert-kv": "1.0.0" - } - }, - "less": { - "version": "2.7.2", - "resolved": "http://registry.npm.taobao.org/less/download/less-2.7.2.tgz", - "integrity": "sha1-No1sxz4fsDmBGDKAkYdDxdz5s98=", - "dev": true, - "requires": { - "errno": "0.1.4", - "graceful-fs": "4.1.11", - "image-size": "0.5.5", - "mime": "1.3.6", - "mkdirp": "0.5.1", - "promise": "7.3.1", - "request": "2.81.0", - "source-map": "0.5.6" - } - }, - "less-loader": { - "version": "4.0.5", - "resolved": "http://registry.npm.taobao.org/less-loader/download/less-loader-4.0.5.tgz", - "integrity": "sha1-rhVadAbKxqzSk9eFWH/P8PR4xN0=", - "dev": true, - "requires": { - "clone": "2.1.1", - "loader-utils": "1.1.0", - "pify": "2.3.0" - }, - "dependencies": { - "clone": { - "version": "2.1.1", - "resolved": "http://registry.npm.taobao.org/clone/download/clone-2.1.1.tgz", - "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=", - "dev": true - } - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "http://registry.npm.taobao.org/load-json-file/download/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" - } - }, - "loader-runner": { - "version": "2.3.0", - "resolved": "http://registry.npm.taobao.org/loader-runner/download/loader-runner-2.3.0.tgz", - "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=", - "dev": true - }, - "loader-utils": { - "version": "1.1.0", - "resolved": "http://registry.npm.taobao.org/loader-utils/download/loader-utils-1.1.0.tgz", - "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", - "dev": true, - "requires": { - "big.js": "3.1.3", - "emojis-list": "2.1.0", - "json5": "0.5.1" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" - }, - "dependencies": { - "path-exists": { - "version": "3.0.0", - "resolved": "http://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - } - } - }, - "lodash": { - "version": "4.17.4", - "resolved": "http://registry.npm.taobao.org/lodash/download/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", - "dev": true - }, - "lodash.assign": { - "version": "4.2.0", - "resolved": "http://registry.npm.taobao.org/lodash.assign/download/lodash.assign-4.2.0.tgz", - "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", - "dev": true, - "optional": true - }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "http://registry.npm.taobao.org/lodash.camelcase/download/lodash.camelcase-4.3.0.tgz", - "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", - "dev": true - }, - "lodash.clonedeep": { - "version": "4.5.0", - "resolved": "http://registry.npm.taobao.org/lodash.clonedeep/download/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "http://registry.npm.taobao.org/lodash.memoize/download/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", - "dev": true - }, - "lodash.mergewith": { - "version": "4.6.0", - "resolved": "http://registry.npm.taobao.org/lodash.mergewith/download/lodash.mergewith-4.6.0.tgz", - "integrity": "sha1-FQzwoWeR9ZA7iJHqsVRgknS96lU=", - "dev": true, - "optional": true - }, - "lodash.tail": { - "version": "4.1.1", - "resolved": "http://registry.npm.taobao.org/lodash.tail/download/lodash.tail-4.1.1.tgz", - "integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=", - "dev": true - }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "http://registry.npm.taobao.org/lodash.uniq/download/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", - "dev": true - }, - "log4js": { - "version": "0.6.38", - "resolved": "http://registry.npm.taobao.org/log4js/download/log4js-0.6.38.tgz", - "integrity": "sha1-LElBFmldb7JUgJQ9P8hy5mKlIv0=", - "dev": true, - "requires": { - "readable-stream": "1.0.34", - "semver": "4.3.6" - }, - "dependencies": { - "semver": { - "version": "4.3.6", - "resolved": "http://registry.npm.taobao.org/semver/download/semver-4.3.6.tgz", - "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", - "dev": true - } - } - }, - "loglevel": { - "version": "1.6.1", - "resolved": "http://registry.npm.taobao.org/loglevel/download/loglevel-1.6.1.tgz", - "integrity": "sha1-4PyVEztu8nbNyIh82vJKpvFW+Po=", - "dev": true - }, - "longest": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/longest/download/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", - "dev": true - }, - "loose-envify": { - "version": "1.3.1", - "resolved": "http://registry.npm.taobao.org/loose-envify/download/loose-envify-1.3.1.tgz", - "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", - "dev": true, - "requires": { - "js-tokens": "3.0.2" - } - }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "http://registry.npm.taobao.org/loud-rejection/download/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "dev": true, - "requires": { - "currently-unhandled": "0.4.1", - "signal-exit": "3.0.2" - } - }, - "lower-case": { - "version": "1.1.4", - "resolved": "http://registry.npm.taobao.org/lower-case/download/lower-case-1.1.4.tgz", - "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", - "dev": true - }, - "lru-cache": { - "version": "4.1.1", - "resolved": "http://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.1.tgz", - "integrity": "sha1-Yi4y6CSItJJ5EUpPns9F581rulU=", - "dev": true, - "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" - } - }, - "macaddress": { - "version": "0.2.8", - "resolved": "http://registry.npm.taobao.org/macaddress/download/macaddress-0.2.8.tgz", - "integrity": "sha1-WQTcU3w57G2+/q6QIycTX6hRHxI=", - "dev": true - }, - "magic-string": { - "version": "0.22.4", - "resolved": "http://registry.npm.taobao.org/magic-string/download/magic-string-0.22.4.tgz", - "integrity": "sha1-MQObTkA2Y5VhjB1s+Bk8U5F0df8=", - "dev": true, - "requires": { - "vlq": "0.2.2" - } - }, - "make-dir": { - "version": "1.2.0", - "resolved": "http://registry.npm.taobao.org/make-dir/download/make-dir-1.2.0.tgz", - "integrity": "sha1-bWpJ7q1KrilsU7vzoaAIvWyJRps=", - "dev": true, - "requires": { - "pify": "3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "http://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "make-error": { - "version": "1.3.0", - "resolved": "http://registry.npm.taobao.org/make-error/download/make-error-1.3.0.tgz", - "integrity": "sha1-Uq06M5zPEM5itAQLcI/nByRLi5Y=", - "dev": true - }, - "map-obj": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/map-obj/download/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true - }, - "math-expression-evaluator": { - "version": "1.2.17", - "resolved": "http://registry.npm.taobao.org/math-expression-evaluator/download/math-expression-evaluator-1.2.17.tgz", - "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=", - "dev": true - }, - "md5": { - "version": "2.2.1", - "resolved": "http://registry.npm.taobao.org/md5/download/md5-2.2.1.tgz", - "integrity": "sha1-U6s41f48iJG6RlMp6iP6wFQBJvk=", - "dev": true, - "requires": { - "charenc": "0.0.2", - "crypt": "0.0.2", - "is-buffer": "1.1.5" - } - }, - "media-typer": { - "version": "0.3.0", - "resolved": "http://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "dev": true - }, - "mem": { - "version": "1.1.0", - "resolved": "http://registry.npm.taobao.org/mem/download/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", - "dev": true, - "requires": { - "mimic-fn": "1.1.0" - } - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "http://registry.npm.taobao.org/memory-fs/download/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "requires": { - "errno": "0.1.4", - "readable-stream": "2.3.3" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.3.tgz", - "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.0.3.tgz", - "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - } - } - }, - "meow": { - "version": "3.7.0", - "resolved": "http://registry.npm.taobao.org/meow/download/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "dev": true, - "requires": { - "camelcase-keys": "2.1.0", - "decamelize": "1.2.0", - "loud-rejection": "1.6.0", - "map-obj": "1.0.1", - "minimist": "1.2.0", - "normalize-package-data": "2.4.0", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "redent": "1.0.0", - "trim-newlines": "1.0.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } - } - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", - "dev": true - }, - "methods": { - "version": "1.1.2", - "resolved": "http://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "dev": true - }, - "micromatch": { - "version": "2.3.11", - "resolved": "http://registry.npm.taobao.org/micromatch/download/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "dev": true, - "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.3" - } - }, - "miller-rabin": { - "version": "4.0.0", - "resolved": "http://registry.npm.taobao.org/miller-rabin/download/miller-rabin-4.0.0.tgz", - "integrity": "sha1-SmL7HUKTPAVYOYL0xxb2+55sbT0=", - "dev": true, - "requires": { - "bn.js": "4.11.8", - "brorand": "1.1.0" - } - }, - "mime": { - "version": "1.3.6", - "resolved": "http://registry.npm.taobao.org/mime/download/mime-1.3.6.tgz", - "integrity": "sha1-WR2E02U6awtKO5343lqoEI5y5eA=", - "dev": true - }, - "mime-db": { - "version": "1.29.0", - "resolved": "http://registry.npm.taobao.org/mime-db/download/mime-db-1.29.0.tgz", - "integrity": "sha1-SNJtI1WJZRcErFkWygYAGRQmaHg=", - "dev": true - }, - "mime-types": { - "version": "2.1.16", - "resolved": "http://registry.npm.taobao.org/mime-types/download/mime-types-2.1.16.tgz", - "integrity": "sha1-K4WKUuXs1RbbiXrCvodIeDBpjiM=", - "dev": true, - "requires": { - "mime-db": "1.29.0" - } - }, - "mimic-fn": { - "version": "1.1.0", - "resolved": "http://registry.npm.taobao.org/mimic-fn/download/mimic-fn-1.1.0.tgz", - "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=", - "dev": true - }, - "minimalistic-assert": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/minimalistic-assert/download/minimalistic-assert-1.0.0.tgz", - "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=", - "dev": true - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "http://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz", - "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", - "dev": true, - "requires": { - "brace-expansion": "1.1.8" - } - }, - "minimist": { - "version": "0.0.8", - "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - }, - "mississippi": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/mississippi/download/mississippi-2.0.0.tgz", - "integrity": "sha1-NEKlCPr8KFAEhv7qmUCWduTuWm8=", - "dev": true, - "requires": { - "concat-stream": "1.6.2", - "duplexify": "3.5.4", - "end-of-stream": "1.4.1", - "flush-write-stream": "1.0.3", - "from2": "2.3.0", - "parallel-transform": "1.1.0", - "pump": "2.0.1", - "pumpify": "1.4.0", - "stream-each": "1.2.2", - "through2": "2.0.3" - } - }, - "mixin-object": { - "version": "2.0.1", - "resolved": "http://registry.npm.taobao.org/mixin-object/download/mixin-object-2.0.1.tgz", - "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", - "dev": true, - "requires": { - "for-in": "0.1.8", - "is-extendable": "0.1.1" - }, - "dependencies": { - "for-in": { - "version": "0.1.8", - "resolved": "http://registry.npm.taobao.org/for-in/download/for-in-0.1.8.tgz", - "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=", - "dev": true - } - } - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "http://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "move-concurrently": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/move-concurrently/download/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "dev": true, - "requires": { - "aproba": "1.1.2", - "copy-concurrently": "1.0.5", - "fs-write-stream-atomic": "1.0.10", - "mkdirp": "0.5.1", - "rimraf": "2.6.1", - "run-queue": "1.0.3" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "multicast-dns": { - "version": "6.1.1", - "resolved": "http://registry.npm.taobao.org/multicast-dns/download/multicast-dns-6.1.1.tgz", - "integrity": "sha1-bn3oalcIcqsXBYrepxYLvsqBTd4=", - "dev": true, - "requires": { - "dns-packet": "1.2.2", - "thunky": "0.1.0" - } - }, - "multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "http://registry.npm.taobao.org/multicast-dns-service-types/download/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", - "dev": true - }, - "nan": { - "version": "2.6.2", - "resolved": "http://registry.npm.taobao.org/nan/download/nan-2.6.2.tgz", - "integrity": "sha1-5P805slf37WuzAjeZZb0NgWn20U=", - "dev": true, - "optional": true - }, - "ncname": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/ncname/download/ncname-1.0.0.tgz", - "integrity": "sha1-W1etGLHKCShk72Kwse2BlPODtxw=", - "dev": true, - "requires": { - "xml-char-classes": "1.0.0" - } - }, - "negotiator": { - "version": "0.6.1", - "resolved": "http://registry.npm.taobao.org/negotiator/download/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", - "dev": true - }, - "ngx-bootstrap": { - "version": "1.9.1", - "resolved": "http://10.75.8.148/repository/npm-pub/ngx-bootstrap/-/ngx-bootstrap-1.9.1.tgz", - "integrity": "sha1-Ce0G2Qj187sj+CGg+0UumhfXZls=" - }, - "ngx-tree-select": { - "version": "0.13.3", - "resolved": "http://registry.npm.taobao.org/ngx-tree-select/download/ngx-tree-select-0.13.3.tgz", - "integrity": "sha1-OZp+fOF8JwYJdIhxmNMUZy3h4Rw=" - }, - "no-case": { - "version": "2.3.1", - "resolved": "http://registry.npm.taobao.org/no-case/download/no-case-2.3.1.tgz", - "integrity": "sha1-euuhxzpSGEJlVUt9wDuvcg34AIE=", - "dev": true, - "requires": { - "lower-case": "1.1.4" - } - }, - "node-forge": { - "version": "0.6.33", - "resolved": "http://registry.npm.taobao.org/node-forge/download/node-forge-0.6.33.tgz", - "integrity": "sha1-RjgRh59XPUUVWtap9D3ClujoXrw=", - "dev": true - }, - "node-gyp": { - "version": "3.6.2", - "resolved": "http://registry.npm.taobao.org/node-gyp/download/node-gyp-3.6.2.tgz", - "integrity": "sha1-m/vlRWIoYoSDjnUOrAUpWFP6HGA=", - "dev": true, - "optional": true, - "requires": { - "fstream": "1.0.11", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "nopt": "3.0.6", - "npmlog": "4.1.2", - "osenv": "0.1.4", - "request": "2.81.0", - "rimraf": "2.6.1", - "semver": "5.3.0", - "tar": "2.2.1", - "which": "1.3.0" - }, - "dependencies": { - "nopt": { - "version": "3.0.6", - "resolved": "http://registry.npm.taobao.org/nopt/download/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true, - "optional": true, - "requires": { - "abbrev": "1.1.0" - } - }, - "semver": { - "version": "5.3.0", - "resolved": "http://registry.npm.taobao.org/semver/download/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", - "dev": true, - "optional": true - } - } - }, - "node-libs-browser": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/node-libs-browser/download/node-libs-browser-2.0.0.tgz", - "integrity": "sha1-o6WeyXAkmFtG6Vg3lkb5bEthZkY=", - "dev": true, - "requires": { - "assert": "1.4.1", - "browserify-zlib": "0.1.4", - "buffer": "4.9.1", - "console-browserify": "1.1.0", - "constants-browserify": "1.0.0", - "crypto-browserify": "3.11.1", - "domain-browser": "1.1.7", - "events": "1.1.1", - "https-browserify": "0.0.1", - "os-browserify": "0.2.1", - "path-browserify": "0.0.0", - "process": "0.11.10", - "punycode": "1.4.1", - "querystring-es3": "0.2.1", - "readable-stream": "2.3.3", - "stream-browserify": "2.0.1", - "stream-http": "2.7.2", - "string_decoder": "0.10.31", - "timers-browserify": "2.0.4", - "tty-browserify": "0.0.0", - "url": "0.11.0", - "util": "0.10.3", - "vm-browserify": "0.0.4" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.3.tgz", - "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - }, - "dependencies": { - "string_decoder": { - "version": "1.0.3", - "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.0.3.tgz", - "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - } - } - } - } - }, - "node-modules-path": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/node-modules-path/download/node-modules-path-1.0.1.tgz", - "integrity": "sha1-QAlrCM560OoUaAhjr0ScfHWl0cg=", - "dev": true - }, - "node-sass": { - "version": "4.5.3", - "resolved": "http://registry.npm.taobao.org/node-sass/download/node-sass-4.5.3.tgz", - "integrity": "sha1-0JydEXlkEjnRuX/8YjH9zsU+FWg=", - "dev": true, - "optional": true, - "requires": { - "async-foreach": "0.1.3", - "chalk": "1.1.3", - "cross-spawn": "3.0.1", - "gaze": "1.1.2", - "get-stdin": "4.0.1", - "glob": "7.1.2", - "in-publish": "2.0.0", - "lodash.assign": "4.2.0", - "lodash.clonedeep": "4.5.0", - "lodash.mergewith": "4.6.0", - "meow": "3.7.0", - "mkdirp": "0.5.1", - "nan": "2.6.2", - "node-gyp": "3.6.2", - "npmlog": "4.1.2", - "request": "2.81.0", - "sass-graph": "2.2.4", - "stdout-stream": "1.4.0" - }, - "dependencies": { - "chalk": { - "version": "1.1.3", - "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "optional": true, - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true, - "optional": true - } - } - }, - "nopt": { - "version": "4.0.1", - "resolved": "http://registry.npm.taobao.org/nopt/download/nopt-4.0.1.tgz", - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", - "dev": true, - "requires": { - "abbrev": "1.1.0", - "osenv": "0.1.4" - } - }, - "normalize-package-data": { - "version": "2.4.0", - "resolved": "http://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.4.0.tgz", - "integrity": "sha1-EvlaMH1YNSB1oEkHuErIvpisAS8=", - "dev": true, - "requires": { - "hosted-git-info": "2.5.0", - "is-builtin-module": "1.0.0", - "semver": "5.4.1", - "validate-npm-package-license": "3.0.1" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "http://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "1.1.0" - } - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "http://registry.npm.taobao.org/normalize-range/download/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "dev": true - }, - "normalize-url": { - "version": "1.9.1", - "resolved": "http://registry.npm.taobao.org/normalize-url/download/normalize-url-1.9.1.tgz", - "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", - "dev": true, - "requires": { - "object-assign": "4.1.1", - "prepend-http": "1.0.4", - "query-string": "4.3.4", - "sort-keys": "1.1.2" - } - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "http://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "2.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "resolved": "http://registry.npm.taobao.org/npmlog/download/npmlog-4.1.2.tgz", - "integrity": "sha1-CKfyqL9zRgR3mp76StXMcXq7lUs=", - "dev": true, - "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" - } - }, - "nth-check": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/nth-check/download/nth-check-1.0.1.tgz", - "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=", - "dev": true, - "requires": { - "boolbase": "1.0.0" - } - }, - "null-check": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/null-check/download/null-check-1.0.0.tgz", - "integrity": "sha1-l33/1xdgErnsMNKjnbXPcqBDnt0=", - "dev": true - }, - "num2fraction": { - "version": "1.2.2", - "resolved": "http://registry.npm.taobao.org/num2fraction/download/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", - "dev": true - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/number-is-nan/download/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, - "oauth-sign": { - "version": "0.8.2", - "resolved": "http://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.8.2.tgz", - "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "http://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "object-component": { - "version": "0.0.3", - "resolved": "http://registry.npm.taobao.org/object-component/download/object-component-0.0.3.tgz", - "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=", - "dev": true - }, - "object.omit": { - "version": "2.0.1", - "resolved": "http://registry.npm.taobao.org/object.omit/download/object.omit-2.0.1.tgz", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", - "dev": true, - "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" - }, - "dependencies": { - "for-own": { - "version": "0.1.5", - "resolved": "http://registry.npm.taobao.org/for-own/download/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "dev": true, - "requires": { - "for-in": "1.0.2" - } - } - } - }, - "obuf": { - "version": "1.1.1", - "resolved": "http://registry.npm.taobao.org/obuf/download/obuf-1.1.1.tgz", - "integrity": "sha1-EEEktsYCxnlogaBCVB0220OlJk4=", - "dev": true - }, - "on-finished": { - "version": "2.3.0", - "resolved": "http://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/on-headers/download/on-headers-1.0.1.tgz", - "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "http://registry.npm.taobao.org/once/download/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1.0.2" - } - }, - "opn": { - "version": "5.1.0", - "resolved": "http://registry.npm.taobao.org/opn/download/opn-5.1.0.tgz", - "integrity": "sha1-cs4jBqF9vqWP8QQYUzUrSo/HdRk=", - "dev": true, - "requires": { - "is-wsl": "1.1.0" - } - }, - "optimist": { - "version": "0.3.7", - "resolved": "http://registry.npm.taobao.org/optimist/download/optimist-0.3.7.tgz", - "integrity": "sha1-yQlBrVnkJzMokjB00s8ufLxuwNk=", - "dev": true, - "requires": { - "wordwrap": "0.0.3" - } - }, - "options": { - "version": "0.0.6", - "resolved": "http://registry.npm.taobao.org/options/download/options-0.0.6.tgz", - "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=", - "dev": true - }, - "original": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/original/download/original-1.0.0.tgz", - "integrity": "sha1-kUf5P6FpbQS+YeAb1QuurKZWvTs=", - "dev": true, - "requires": { - "url-parse": "1.0.5" - }, - "dependencies": { - "url-parse": { - "version": "1.0.5", - "resolved": "http://registry.npm.taobao.org/url-parse/download/url-parse-1.0.5.tgz", - "integrity": "sha1-CFSGBCKv3P7+tsllxmLUgAFpkns=", - "dev": true, - "requires": { - "querystringify": "0.0.4", - "requires-port": "1.0.0" - } - } - } - }, - "os-browserify": { - "version": "0.2.1", - "resolved": "http://registry.npm.taobao.org/os-browserify/download/os-browserify-0.2.1.tgz", - "integrity": "sha1-Y/xMzuXS13Y9Jrv4YBB45sLgBE8=", - "dev": true - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/os-homedir/download/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "os-locale": { - "version": "1.4.0", - "resolved": "http://registry.npm.taobao.org/os-locale/download/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "dev": true, - "optional": true, - "requires": { - "lcid": "1.0.0" - } - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "osenv": { - "version": "0.1.4", - "resolved": "http://registry.npm.taobao.org/osenv/download/osenv-0.1.4.tgz", - "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=", - "dev": true, - "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" - } - }, - "p-finally": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-limit": { - "version": "1.1.0", - "resolved": "http://registry.npm.taobao.org/p-limit/download/p-limit-1.1.0.tgz", - "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=", - "dev": true - }, - "p-locate": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "1.1.0" - } - }, - "p-map": { - "version": "1.1.1", - "resolved": "http://registry.npm.taobao.org/p-map/download/p-map-1.1.1.tgz", - "integrity": "sha1-BfXkrpegaDcbwqXMhr+9vBnErno=", - "dev": true - }, - "pako": { - "version": "0.2.9", - "resolved": "http://registry.npm.taobao.org/pako/download/pako-0.2.9.tgz", - "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=", - "dev": true - }, - "parallel-transform": { - "version": "1.1.0", - "resolved": "http://registry.npm.taobao.org/parallel-transform/download/parallel-transform-1.1.0.tgz", - "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", - "dev": true, - "requires": { - "cyclist": "0.2.2", - "inherits": "2.0.3", - "readable-stream": "2.3.5" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.0.tgz", - "integrity": "sha1-o31zL0JxtKsa0HDTVQjoKQeI/6o=", - "dev": true - }, - "readable-stream": { - "version": "2.3.5", - "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.5.tgz", - "integrity": "sha1-tPhQA6k4y7bsvOKhJPsQEr0ag40=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.0.3.tgz", - "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - } - } - }, - "param-case": { - "version": "2.1.1", - "resolved": "http://registry.npm.taobao.org/param-case/download/param-case-2.1.1.tgz", - "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", - "dev": true, - "requires": { - "no-case": "2.3.1" - } - }, - "parse-asn1": { - "version": "5.1.0", - "resolved": "http://registry.npm.taobao.org/parse-asn1/download/parse-asn1-5.1.0.tgz", - "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", - "dev": true, - "requires": { - "asn1.js": "4.9.1", - "browserify-aes": "1.0.6", - "create-hash": "1.1.3", - "evp_bytestokey": "1.0.0", - "pbkdf2": "3.0.13" - } - }, - "parse-glob": { - "version": "3.0.4", - "resolved": "http://registry.npm.taobao.org/parse-glob/download/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", - "dev": true, - "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "http://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "1.3.1" - } - }, - "parsejson": { - "version": "0.0.3", - "resolved": "http://registry.npm.taobao.org/parsejson/download/parsejson-0.0.3.tgz", - "integrity": "sha1-q343WfIJ7OmUN5c/fQ8fZK4OZKs=", - "dev": true, - "requires": { - "better-assert": "1.0.2" - } - }, - "parseqs": { - "version": "0.0.5", - "resolved": "http://registry.npm.taobao.org/parseqs/download/parseqs-0.0.5.tgz", - "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", - "dev": true, - "requires": { - "better-assert": "1.0.2" - } - }, - "parseuri": { - "version": "0.0.5", - "resolved": "http://registry.npm.taobao.org/parseuri/download/parseuri-0.0.5.tgz", - "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", - "dev": true, - "requires": { - "better-assert": "1.0.2" - } - }, - "parseurl": { - "version": "1.3.1", - "resolved": "http://registry.npm.taobao.org/parseurl/download/parseurl-1.3.1.tgz", - "integrity": "sha1-yKuMkiO6NIiKpkopeyiFO+wY2lY=", - "dev": true - }, - "path-browserify": { - "version": "0.0.0", - "resolved": "http://registry.npm.taobao.org/path-browserify/download/path-browserify-0.0.0.tgz", - "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", - "dev": true - }, - "path-exists": { - "version": "2.1.0", - "resolved": "http://registry.npm.taobao.org/path-exists/download/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "2.0.1" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/path-is-inside/download/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "path-key": { - "version": "2.0.1", - "resolved": "http://registry.npm.taobao.org/path-key/download/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "path-parse": { - "version": "1.0.5", - "resolved": "http://registry.npm.taobao.org/path-parse/download/path-parse-1.0.5.tgz", - "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", - "dev": true - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "http://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", - "dev": true - }, - "path-type": { - "version": "1.1.0", - "resolved": "http://registry.npm.taobao.org/path-type/download/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" - } - }, - "pbkdf2": { - "version": "3.0.13", - "resolved": "http://registry.npm.taobao.org/pbkdf2/download/pbkdf2-3.0.13.tgz", - "integrity": "sha1-w30pVTHnhrHaPj6tyEBCasywriU=", - "dev": true, - "requires": { - "create-hash": "1.1.3", - "create-hmac": "1.1.6", - "ripemd160": "2.0.1", - "safe-buffer": "5.1.1", - "sha.js": "2.4.8" - } - }, - "performance-now": { - "version": "0.2.0", - "resolved": "http://registry.npm.taobao.org/performance-now/download/performance-now-0.2.0.tgz", - "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", - "dev": true - }, - "pify": { - "version": "2.3.0", - "resolved": "http://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "http://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "http://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "2.0.4" - } - }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/pkg-dir/download/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "dev": true, - "requires": { - "find-up": "2.1.0" - }, - "dependencies": { - "find-up": { - "version": "2.1.0", - "resolved": "http://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "2.0.0" - } - } - } - }, - "portfinder": { - "version": "1.0.13", - "resolved": "http://registry.npm.taobao.org/portfinder/download/portfinder-1.0.13.tgz", - "integrity": "sha1-uzLs2HwnEErm7kS1o8y/Drsa7ek=", - "dev": true, - "requires": { - "async": "1.5.2", - "debug": "2.6.8", - "mkdirp": "0.5.1" - }, - "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "http://registry.npm.taobao.org/async/download/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - } - } - }, - "postcss": { - "version": "5.2.17", - "resolved": "http://registry.npm.taobao.org/postcss/download/postcss-5.2.17.tgz", - "integrity": "sha1-z09Ze4ZNZcikkrLqvp1wbIecOIs=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "js-base64": "2.1.9", - "source-map": "0.5.6", - "supports-color": "3.2.3" - }, - "dependencies": { - "chalk": { - "version": "1.1.3", - "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - } - } - }, - "postcss-calc": { - "version": "5.3.1", - "resolved": "http://registry.npm.taobao.org/postcss-calc/download/postcss-calc-5.3.1.tgz", - "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=", - "dev": true, - "requires": { - "postcss": "5.2.17", - "postcss-message-helpers": "2.0.0", - "reduce-css-calc": "1.3.0" - } - }, - "postcss-colormin": { - "version": "2.2.2", - "resolved": "http://registry.npm.taobao.org/postcss-colormin/download/postcss-colormin-2.2.2.tgz", - "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=", - "dev": true, - "requires": { - "colormin": "1.1.2", - "postcss": "5.2.17", - "postcss-value-parser": "3.3.0" - } - }, - "postcss-convert-values": { - "version": "2.6.1", - "resolved": "http://registry.npm.taobao.org/postcss-convert-values/download/postcss-convert-values-2.6.1.tgz", - "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=", - "dev": true, - "requires": { - "postcss": "5.2.17", - "postcss-value-parser": "3.3.0" - } - }, - "postcss-discard-comments": { - "version": "2.0.4", - "resolved": "http://registry.npm.taobao.org/postcss-discard-comments/download/postcss-discard-comments-2.0.4.tgz", - "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=", - "dev": true, - "requires": { - "postcss": "5.2.17" - } - }, - "postcss-discard-duplicates": { - "version": "2.1.0", - "resolved": "http://registry.npm.taobao.org/postcss-discard-duplicates/download/postcss-discard-duplicates-2.1.0.tgz", - "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=", - "dev": true, - "requires": { - "postcss": "5.2.17" - } - }, - "postcss-discard-empty": { - "version": "2.1.0", - "resolved": "http://registry.npm.taobao.org/postcss-discard-empty/download/postcss-discard-empty-2.1.0.tgz", - "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=", - "dev": true, - "requires": { - "postcss": "5.2.17" - } - }, - "postcss-discard-overridden": { - "version": "0.1.1", - "resolved": "http://registry.npm.taobao.org/postcss-discard-overridden/download/postcss-discard-overridden-0.1.1.tgz", - "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=", - "dev": true, - "requires": { - "postcss": "5.2.17" - } - }, - "postcss-discard-unused": { - "version": "2.2.3", - "resolved": "http://registry.npm.taobao.org/postcss-discard-unused/download/postcss-discard-unused-2.2.3.tgz", - "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=", - "dev": true, - "requires": { - "postcss": "5.2.17", - "uniqs": "2.0.0" - } - }, - "postcss-filter-plugins": { - "version": "2.0.2", - "resolved": "http://registry.npm.taobao.org/postcss-filter-plugins/download/postcss-filter-plugins-2.0.2.tgz", - "integrity": "sha1-bYWGJTTXNaxCDkqFgG4fXUKG2Ew=", - "dev": true, - "requires": { - "postcss": "5.2.17", - "uniqid": "4.1.1" - } - }, - "postcss-load-config": { - "version": "1.2.0", - "resolved": "http://registry.npm.taobao.org/postcss-load-config/download/postcss-load-config-1.2.0.tgz", - "integrity": "sha1-U56a/J3chiASHr+djDZz4M5Q0oo=", - "dev": true, - "requires": { - "cosmiconfig": "2.2.2", - "object-assign": "4.1.1", - "postcss-load-options": "1.2.0", - "postcss-load-plugins": "2.3.0" - } - }, - "postcss-load-options": { - "version": "1.2.0", - "resolved": "http://registry.npm.taobao.org/postcss-load-options/download/postcss-load-options-1.2.0.tgz", - "integrity": "sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw=", - "dev": true, - "requires": { - "cosmiconfig": "2.2.2", - "object-assign": "4.1.1" - } - }, - "postcss-load-plugins": { - "version": "2.3.0", - "resolved": "http://registry.npm.taobao.org/postcss-load-plugins/download/postcss-load-plugins-2.3.0.tgz", - "integrity": "sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI=", - "dev": true, - "requires": { - "cosmiconfig": "2.2.2", - "object-assign": "4.1.1" - } - }, - "postcss-loader": { - "version": "1.3.3", - "resolved": "http://registry.npm.taobao.org/postcss-loader/download/postcss-loader-1.3.3.tgz", - "integrity": "sha1-piHqH6KQYqg5cqRvVEhncTAZFus=", - "dev": true, - "requires": { - "loader-utils": "1.1.0", - "object-assign": "4.1.1", - "postcss": "5.2.17", - "postcss-load-config": "1.2.0" - } - }, - "postcss-merge-idents": { - "version": "2.1.7", - "resolved": "http://registry.npm.taobao.org/postcss-merge-idents/download/postcss-merge-idents-2.1.7.tgz", - "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=", - "dev": true, - "requires": { - "has": "1.0.1", - "postcss": "5.2.17", - "postcss-value-parser": "3.3.0" - } - }, - "postcss-merge-longhand": { - "version": "2.0.2", - "resolved": "http://registry.npm.taobao.org/postcss-merge-longhand/download/postcss-merge-longhand-2.0.2.tgz", - "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=", - "dev": true, - "requires": { - "postcss": "5.2.17" - } - }, - "postcss-merge-rules": { - "version": "2.1.2", - "resolved": "http://registry.npm.taobao.org/postcss-merge-rules/download/postcss-merge-rules-2.1.2.tgz", - "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=", - "dev": true, - "requires": { - "browserslist": "1.7.7", - "caniuse-api": "1.6.1", - "postcss": "5.2.17", - "postcss-selector-parser": "2.2.3", - "vendors": "1.0.1" - } - }, - "postcss-message-helpers": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/postcss-message-helpers/download/postcss-message-helpers-2.0.0.tgz", - "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=", - "dev": true - }, - "postcss-minify-font-values": { - "version": "1.0.5", - "resolved": "http://registry.npm.taobao.org/postcss-minify-font-values/download/postcss-minify-font-values-1.0.5.tgz", - "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=", - "dev": true, - "requires": { - "object-assign": "4.1.1", - "postcss": "5.2.17", - "postcss-value-parser": "3.3.0" - } - }, - "postcss-minify-gradients": { - "version": "1.0.5", - "resolved": "http://registry.npm.taobao.org/postcss-minify-gradients/download/postcss-minify-gradients-1.0.5.tgz", - "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=", - "dev": true, - "requires": { - "postcss": "5.2.17", - "postcss-value-parser": "3.3.0" - } - }, - "postcss-minify-params": { - "version": "1.2.2", - "resolved": "http://registry.npm.taobao.org/postcss-minify-params/download/postcss-minify-params-1.2.2.tgz", - "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=", - "dev": true, - "requires": { - "alphanum-sort": "1.0.2", - "postcss": "5.2.17", - "postcss-value-parser": "3.3.0", - "uniqs": "2.0.0" - } - }, - "postcss-minify-selectors": { - "version": "2.1.1", - "resolved": "http://registry.npm.taobao.org/postcss-minify-selectors/download/postcss-minify-selectors-2.1.1.tgz", - "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=", - "dev": true, - "requires": { - "alphanum-sort": "1.0.2", - "has": "1.0.1", - "postcss": "5.2.17", - "postcss-selector-parser": "2.2.3" - } - }, - "postcss-modules-extract-imports": { - "version": "1.1.0", - "resolved": "http://registry.npm.taobao.org/postcss-modules-extract-imports/download/postcss-modules-extract-imports-1.1.0.tgz", - "integrity": "sha1-thTJcgvmgW6u41+zpfqh26agXds=", - "dev": true, - "requires": { - "postcss": "6.0.9" - }, - "dependencies": { - "has-flag": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "postcss": { - "version": "6.0.9", - "resolved": "http://registry.npm.taobao.org/postcss/download/postcss-6.0.9.tgz", - "integrity": "sha1-VIGXZnhKUcZbHsTVTC+TdlQ4w1o=", - "dev": true, - "requires": { - "chalk": "2.1.0", - "source-map": "0.5.6", - "supports-color": "4.2.1" - } - }, - "supports-color": { - "version": "4.2.1", - "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-4.2.1.tgz", - "integrity": "sha1-ZaS7JjHpDgJCDbpVVMN1pHVLuDY=", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } - } - } - }, - "postcss-modules-local-by-default": { - "version": "1.2.0", - "resolved": "http://registry.npm.taobao.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-1.2.0.tgz", - "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", - "dev": true, - "requires": { - "css-selector-tokenizer": "0.7.0", - "postcss": "6.0.9" - }, - "dependencies": { - "has-flag": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "postcss": { - "version": "6.0.9", - "resolved": "http://registry.npm.taobao.org/postcss/download/postcss-6.0.9.tgz", - "integrity": "sha1-VIGXZnhKUcZbHsTVTC+TdlQ4w1o=", - "dev": true, - "requires": { - "chalk": "2.1.0", - "source-map": "0.5.6", - "supports-color": "4.2.1" - } - }, - "supports-color": { - "version": "4.2.1", - "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-4.2.1.tgz", - "integrity": "sha1-ZaS7JjHpDgJCDbpVVMN1pHVLuDY=", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } - } - } - }, - "postcss-modules-scope": { - "version": "1.1.0", - "resolved": "http://registry.npm.taobao.org/postcss-modules-scope/download/postcss-modules-scope-1.1.0.tgz", - "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", - "dev": true, - "requires": { - "css-selector-tokenizer": "0.7.0", - "postcss": "6.0.9" - }, - "dependencies": { - "has-flag": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "postcss": { - "version": "6.0.9", - "resolved": "http://registry.npm.taobao.org/postcss/download/postcss-6.0.9.tgz", - "integrity": "sha1-VIGXZnhKUcZbHsTVTC+TdlQ4w1o=", - "dev": true, - "requires": { - "chalk": "2.1.0", - "source-map": "0.5.6", - "supports-color": "4.2.1" - } - }, - "supports-color": { - "version": "4.2.1", - "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-4.2.1.tgz", - "integrity": "sha1-ZaS7JjHpDgJCDbpVVMN1pHVLuDY=", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } - } - } - }, - "postcss-modules-values": { - "version": "1.3.0", - "resolved": "http://registry.npm.taobao.org/postcss-modules-values/download/postcss-modules-values-1.3.0.tgz", - "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", - "dev": true, - "requires": { - "icss-replace-symbols": "1.1.0", - "postcss": "6.0.9" - }, - "dependencies": { - "has-flag": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "postcss": { - "version": "6.0.9", - "resolved": "http://registry.npm.taobao.org/postcss/download/postcss-6.0.9.tgz", - "integrity": "sha1-VIGXZnhKUcZbHsTVTC+TdlQ4w1o=", - "dev": true, - "requires": { - "chalk": "2.1.0", - "source-map": "0.5.6", - "supports-color": "4.2.1" - } - }, - "supports-color": { - "version": "4.2.1", - "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-4.2.1.tgz", - "integrity": "sha1-ZaS7JjHpDgJCDbpVVMN1pHVLuDY=", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } - } - } - }, - "postcss-normalize-charset": { - "version": "1.1.1", - "resolved": "http://registry.npm.taobao.org/postcss-normalize-charset/download/postcss-normalize-charset-1.1.1.tgz", - "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=", - "dev": true, - "requires": { - "postcss": "5.2.17" - } - }, - "postcss-normalize-url": { - "version": "3.0.8", - "resolved": "http://registry.npm.taobao.org/postcss-normalize-url/download/postcss-normalize-url-3.0.8.tgz", - "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=", - "dev": true, - "requires": { - "is-absolute-url": "2.1.0", - "normalize-url": "1.9.1", - "postcss": "5.2.17", - "postcss-value-parser": "3.3.0" - } - }, - "postcss-ordered-values": { - "version": "2.2.3", - "resolved": "http://registry.npm.taobao.org/postcss-ordered-values/download/postcss-ordered-values-2.2.3.tgz", - "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=", - "dev": true, - "requires": { - "postcss": "5.2.17", - "postcss-value-parser": "3.3.0" - } - }, - "postcss-reduce-idents": { - "version": "2.4.0", - "resolved": "http://registry.npm.taobao.org/postcss-reduce-idents/download/postcss-reduce-idents-2.4.0.tgz", - "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=", - "dev": true, - "requires": { - "postcss": "5.2.17", - "postcss-value-parser": "3.3.0" - } - }, - "postcss-reduce-initial": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/postcss-reduce-initial/download/postcss-reduce-initial-1.0.1.tgz", - "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=", - "dev": true, - "requires": { - "postcss": "5.2.17" - } - }, - "postcss-reduce-transforms": { - "version": "1.0.4", - "resolved": "http://registry.npm.taobao.org/postcss-reduce-transforms/download/postcss-reduce-transforms-1.0.4.tgz", - "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=", - "dev": true, - "requires": { - "has": "1.0.1", - "postcss": "5.2.17", - "postcss-value-parser": "3.3.0" - } - }, - "postcss-selector-parser": { - "version": "2.2.3", - "resolved": "http://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-2.2.3.tgz", - "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", - "dev": true, - "requires": { - "flatten": "1.0.2", - "indexes-of": "1.0.1", - "uniq": "1.0.1" - } - }, - "postcss-svgo": { - "version": "2.1.6", - "resolved": "http://registry.npm.taobao.org/postcss-svgo/download/postcss-svgo-2.1.6.tgz", - "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=", - "dev": true, - "requires": { - "is-svg": "2.1.0", - "postcss": "5.2.17", - "postcss-value-parser": "3.3.0", - "svgo": "0.7.2" - } - }, - "postcss-unique-selectors": { - "version": "2.0.2", - "resolved": "http://registry.npm.taobao.org/postcss-unique-selectors/download/postcss-unique-selectors-2.0.2.tgz", - "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=", - "dev": true, - "requires": { - "alphanum-sort": "1.0.2", - "postcss": "5.2.17", - "uniqs": "2.0.0" - } - }, - "postcss-url": { - "version": "5.1.2", - "resolved": "http://registry.npm.taobao.org/postcss-url/download/postcss-url-5.1.2.tgz", - "integrity": "sha1-mLMWW+jVkkccsMqt3iwNH4MvEz4=", - "dev": true, - "requires": { - "directory-encoder": "0.7.2", - "js-base64": "2.1.9", - "mime": "1.3.6", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "path-is-absolute": "1.0.1", - "postcss": "5.2.17" - } - }, - "postcss-value-parser": { - "version": "3.3.0", - "resolved": "http://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.0.tgz", - "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=", - "dev": true - }, - "postcss-zindex": { - "version": "2.2.0", - "resolved": "http://registry.npm.taobao.org/postcss-zindex/download/postcss-zindex-2.2.0.tgz", - "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=", - "dev": true, - "requires": { - "has": "1.0.1", - "postcss": "5.2.17", - "uniqs": "2.0.0" - } - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "http://registry.npm.taobao.org/prepend-http/download/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "dev": true - }, - "preserve": { - "version": "0.2.0", - "resolved": "http://registry.npm.taobao.org/preserve/download/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", - "dev": true - }, - "pretty-error": { - "version": "2.1.1", - "resolved": "http://registry.npm.taobao.org/pretty-error/download/pretty-error-2.1.1.tgz", - "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", - "dev": true, - "requires": { - "renderkid": "2.0.1", - "utila": "0.4.0" - } - }, - "primeng": { - "version": "4.3.0", - "resolved": "http://registry.npm.taobao.org/primeng/download/primeng-4.3.0.tgz", - "integrity": "sha1-aH7NHhoVjPDodC78fam5M4zUcMM=" - }, - "process": { - "version": "0.11.10", - "resolved": "http://registry.npm.taobao.org/process/download/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true - }, - "process-nextick-args": { - "version": "1.0.7", - "resolved": "http://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", - "dev": true - }, - "promise": { - "version": "7.3.1", - "resolved": "http://registry.npm.taobao.org/promise/download/promise-7.3.1.tgz", - "integrity": "sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078=", - "dev": true, - "optional": true, - "requires": { - "asap": "2.0.6" - } - }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true - }, - "protractor": { - "version": "5.1.2", - "resolved": "http://registry.npm.taobao.org/protractor/download/protractor-5.1.2.tgz", - "integrity": "sha1-myIXQXCaTGLVzVPGqt1UpxE36V8=", - "dev": true, - "requires": { - "@types/node": "6.0.87", - "@types/q": "0.0.32", - "@types/selenium-webdriver": "2.53.42", - "blocking-proxy": "0.0.5", - "chalk": "1.1.3", - "glob": "7.1.2", - "jasmine": "2.7.0", - "jasminewd2": "2.1.0", - "optimist": "0.6.1", - "q": "1.4.1", - "saucelabs": "1.3.0", - "selenium-webdriver": "3.0.1", - "source-map-support": "0.4.16", - "webdriver-js-extender": "1.0.0", - "webdriver-manager": "12.0.6" - }, - "dependencies": { - "chalk": { - "version": "1.1.3", - "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } - }, - "del": { - "version": "2.2.2", - "resolved": "http://registry.npm.taobao.org/del/download/del-2.2.2.tgz", - "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", - "dev": true, - "requires": { - "globby": "5.0.0", - "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.0", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "rimraf": "2.6.1" - } - }, - "globby": { - "version": "5.0.0", - "resolved": "http://registry.npm.taobao.org/globby/download/globby-5.0.0.tgz", - "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", - "dev": true, - "requires": { - "array-union": "1.0.2", - "arrify": "1.0.1", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" - } - }, - "optimist": { - "version": "0.6.1", - "resolved": "http://registry.npm.taobao.org/optimist/download/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dev": true, - "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" - } - }, - "q": { - "version": "1.4.1", - "resolved": "http://registry.npm.taobao.org/q/download/q-1.4.1.tgz", - "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=", - "dev": true - }, - "supports-color": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - }, - "webdriver-manager": { - "version": "12.0.6", - "resolved": "http://registry.npm.taobao.org/webdriver-manager/download/webdriver-manager-12.0.6.tgz", - "integrity": "sha1-PfGkgZdwELTL+MnYXHpXeCjA5ws=", - "dev": true, - "requires": { - "adm-zip": "0.4.7", - "chalk": "1.1.3", - "del": "2.2.2", - "glob": "7.1.2", - "ini": "1.3.4", - "minimist": "1.2.0", - "q": "1.4.1", - "request": "2.81.0", - "rimraf": "2.6.1", - "semver": "5.4.1", - "xml2js": "0.4.18" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } - } - } - } - }, - "proxy-addr": { - "version": "1.1.5", - "resolved": "http://registry.npm.taobao.org/proxy-addr/download/proxy-addr-1.1.5.tgz", - "integrity": "sha1-ccDuOxAt4/IC87ZPYI0XP8uhqRg=", - "dev": true, - "requires": { - "forwarded": "0.1.0", - "ipaddr.js": "1.4.0" - } - }, - "prr": { - "version": "0.0.0", - "resolved": "http://registry.npm.taobao.org/prr/download/prr-0.0.0.tgz", - "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=", - "dev": true - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "public-encrypt": { - "version": "4.0.0", - "resolved": "http://registry.npm.taobao.org/public-encrypt/download/public-encrypt-4.0.0.tgz", - "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", - "dev": true, - "requires": { - "bn.js": "4.11.8", - "browserify-rsa": "4.0.1", - "create-hash": "1.1.3", - "parse-asn1": "5.1.0", - "randombytes": "2.0.5" - } - }, - "pump": { - "version": "2.0.1", - "resolved": "http://registry.npm.taobao.org/pump/download/pump-2.0.1.tgz", - "integrity": "sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk=", - "dev": true, - "requires": { - "end-of-stream": "1.4.1", - "once": "1.4.0" - } - }, - "pumpify": { - "version": "1.4.0", - "resolved": "http://registry.npm.taobao.org/pumpify/download/pumpify-1.4.0.tgz", - "integrity": "sha1-gLfF334kFT0D8OesigWl0Gi9B/s=", - "dev": true, - "requires": { - "duplexify": "3.5.4", - "inherits": "2.0.3", - "pump": "2.0.1" - } - }, - "punycode": { - "version": "1.4.1", - "resolved": "http://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - }, - "q": { - "version": "1.5.0", - "resolved": "http://registry.npm.taobao.org/q/download/q-1.5.0.tgz", - "integrity": "sha1-3QG6ydBtMObyGa7LglPunr3DCPE=", - "dev": true - }, - "qjobs": { - "version": "1.1.5", - "resolved": "http://registry.npm.taobao.org/qjobs/download/qjobs-1.1.5.tgz", - "integrity": "sha1-ZZ3p8s+NzCehSBJ28gU3cnI4LnM=", - "dev": true - }, - "qs": { - "version": "6.4.0", - "resolved": "http://registry.npm.taobao.org/qs/download/qs-6.4.0.tgz", - "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", - "dev": true - }, - "query-string": { - "version": "4.3.4", - "resolved": "http://registry.npm.taobao.org/query-string/download/query-string-4.3.4.tgz", - "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", - "dev": true, - "requires": { - "object-assign": "4.1.1", - "strict-uri-encode": "1.1.0" - } - }, - "querystring": { - "version": "0.2.0", - "resolved": "http://registry.npm.taobao.org/querystring/download/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true - }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "http://registry.npm.taobao.org/querystring-es3/download/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true - }, - "querystringify": { - "version": "0.0.4", - "resolved": "http://registry.npm.taobao.org/querystringify/download/querystringify-0.0.4.tgz", - "integrity": "sha1-DPf4T5Rj/wrlHExLFC2VvjdyTZw=", - "dev": true - }, - "randomatic": { - "version": "1.1.7", - "resolved": "http://registry.npm.taobao.org/randomatic/download/randomatic-1.1.7.tgz", - "integrity": "sha1-x6vpzIuHwLqodrGf3oP9RkeX44w=", - "dev": true, - "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "http://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.5" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "1.1.5" - } - } - } - }, - "randombytes": { - "version": "2.0.5", - "resolved": "http://registry.npm.taobao.org/randombytes/download/randombytes-2.0.5.tgz", - "integrity": "sha1-3ACaJGuNCaF3tLegrne8Vw9LG3k=", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - }, - "range-parser": { - "version": "1.2.0", - "resolved": "http://registry.npm.taobao.org/range-parser/download/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", - "dev": true - }, - "raw-body": { - "version": "2.2.0", - "resolved": "http://registry.npm.taobao.org/raw-body/download/raw-body-2.2.0.tgz", - "integrity": "sha1-mUl2z2pQlqQRYoQEkvC9xdbn+5Y=", - "dev": true, - "requires": { - "bytes": "2.4.0", - "iconv-lite": "0.4.15", - "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { - "version": "2.4.0", - "resolved": "http://registry.npm.taobao.org/bytes/download/bytes-2.4.0.tgz", - "integrity": "sha1-fZcZb51br39pNeJZhVSe3SpsIzk=", - "dev": true - }, - "iconv-lite": { - "version": "0.4.15", - "resolved": "http://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.15.tgz", - "integrity": "sha1-/iZaIYrGpXz+hUkn6dBMGYJe3es=", - "dev": true - } - } - }, - "raw-loader": { - "version": "0.5.1", - "resolved": "http://registry.npm.taobao.org/raw-loader/download/raw-loader-0.5.1.tgz", - "integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=", - "dev": true - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "http://registry.npm.taobao.org/read-pkg/download/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" - } - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - } - }, - "readdirp": { - "version": "2.1.0", - "resolved": "http://registry.npm.taobao.org/readdirp/download/readdirp-2.1.0.tgz", - "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "minimatch": "3.0.4", - "readable-stream": "2.3.3", - "set-immediate-shim": "1.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.3.tgz", - "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.0.3.tgz", - "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - } - } - }, - "redent": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/redent/download/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "dev": true, - "requires": { - "indent-string": "2.1.0", - "strip-indent": "1.0.1" - } - }, - "reduce-css-calc": { - "version": "1.3.0", - "resolved": "http://registry.npm.taobao.org/reduce-css-calc/download/reduce-css-calc-1.3.0.tgz", - "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", - "dev": true, - "requires": { - "balanced-match": "0.4.2", - "math-expression-evaluator": "1.2.17", - "reduce-function-call": "1.0.2" - } - }, - "reduce-function-call": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/reduce-function-call/download/reduce-function-call-1.0.2.tgz", - "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=", - "dev": true, - "requires": { - "balanced-match": "0.4.2" - } - }, - "reflect-metadata": { - "version": "0.1.10", - "resolved": "http://registry.npm.taobao.org/reflect-metadata/download/reflect-metadata-0.1.10.tgz", - "integrity": "sha1-tPg3BEFqytiZiMmxVjXUfgO5NEo=", - "dev": true - }, - "regenerate": { - "version": "1.3.2", - "resolved": "http://registry.npm.taobao.org/regenerate/download/regenerate-1.3.2.tgz", - "integrity": "sha1-0ZQcZ7rUN+G+dkM63Vs4X5WxkmA=", - "dev": true - }, - "regenerator-runtime": { - "version": "0.11.0", - "resolved": "http://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.11.0.tgz", - "integrity": "sha1-flT+W1zNXWYk6mJVw0c74JC4AuE=", - "dev": true - }, - "regex-cache": { - "version": "0.4.3", - "resolved": "http://registry.npm.taobao.org/regex-cache/download/regex-cache-0.4.3.tgz", - "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=", - "dev": true, - "requires": { - "is-equal-shallow": "0.1.3", - "is-primitive": "2.0.0" - } - }, - "regexpu-core": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/regexpu-core/download/regexpu-core-1.0.0.tgz", - "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", - "dev": true, - "requires": { - "regenerate": "1.3.2", - "regjsgen": "0.2.0", - "regjsparser": "0.1.5" - } - }, - "regjsgen": { - "version": "0.2.0", - "resolved": "http://registry.npm.taobao.org/regjsgen/download/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", - "dev": true - }, - "regjsparser": { - "version": "0.1.5", - "resolved": "http://registry.npm.taobao.org/regjsparser/download/regjsparser-0.1.5.tgz", - "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", - "dev": true, - "requires": { - "jsesc": "0.5.0" - } - }, - "relateurl": { - "version": "0.2.7", - "resolved": "http://registry.npm.taobao.org/relateurl/download/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", - "dev": true - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "http://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "renderkid": { - "version": "2.0.1", - "resolved": "http://registry.npm.taobao.org/renderkid/download/renderkid-2.0.1.tgz", - "integrity": "sha1-iYyr/Ivt5Le5ETWj/9Mj5YwNsxk=", - "dev": true, - "requires": { - "css-select": "1.2.0", - "dom-converter": "0.1.4", - "htmlparser2": "3.3.0", - "strip-ansi": "3.0.1", - "utila": "0.3.3" - }, - "dependencies": { - "utila": { - "version": "0.3.3", - "resolved": "http://registry.npm.taobao.org/utila/download/utila-0.3.3.tgz", - "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=", - "dev": true - } - } - }, - "repeat-element": { - "version": "1.1.2", - "resolved": "http://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "http://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true - }, - "repeating": { - "version": "2.0.1", - "resolved": "http://registry.npm.taobao.org/repeating/download/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "requires": { - "is-finite": "1.0.2" - } - }, - "request": { - "version": "2.81.0", - "resolved": "http://registry.npm.taobao.org/request/download/request-2.81.0.tgz", - "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", - "dev": true, - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "4.2.1", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.16", - "oauth-sign": "0.8.2", - "performance-now": "0.2.0", - "qs": "6.4.0", - "safe-buffer": "5.1.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.2", - "tunnel-agent": "0.6.0", - "uuid": "3.1.0" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "http://registry.npm.taobao.org/require-directory/download/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-from-string": { - "version": "1.2.1", - "resolved": "http://registry.npm.taobao.org/require-from-string/download/require-from-string-1.2.1.tgz", - "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=", - "dev": true - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/require-main-filename/download/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true - }, - "requires-port": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/requires-port/download/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", - "dev": true - }, - "resolve": { - "version": "1.4.0", - "resolved": "http://registry.npm.taobao.org/resolve/download/resolve-1.4.0.tgz", - "integrity": "sha1-p1vgHFPaJdk0qY69DkxKcxL5KoY=", - "dev": true, - "requires": { - "path-parse": "1.0.5" - } - }, - "right-align": { - "version": "0.1.3", - "resolved": "http://registry.npm.taobao.org/right-align/download/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", - "dev": true, - "requires": { - "align-text": "0.1.4" - } - }, - "rimraf": { - "version": "2.6.1", - "resolved": "http://registry.npm.taobao.org/rimraf/download/rimraf-2.6.1.tgz", - "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", - "dev": true, - "requires": { - "glob": "7.1.2" - } - }, - "ripemd160": { - "version": "2.0.1", - "resolved": "http://registry.npm.taobao.org/ripemd160/download/ripemd160-2.0.1.tgz", - "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=", - "dev": true, - "requires": { - "hash-base": "2.0.2", - "inherits": "2.0.3" - } - }, - "run-queue": { - "version": "1.0.3", - "resolved": "http://registry.npm.taobao.org/run-queue/download/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "dev": true, - "requires": { - "aproba": "1.1.2" - } - }, - "rxjs": { - "version": "5.4.3", - "resolved": "http://registry.npm.taobao.org/rxjs/download/rxjs-5.4.3.tgz", - "integrity": "sha1-B1jN3uYDPWjg/VNnbw81ls49SD8=", - "requires": { - "symbol-observable": "1.0.4" - } - }, - "safe-buffer": { - "version": "5.1.1", - "resolved": "http://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.1.tgz", - "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM=", - "dev": true - }, - "sass-graph": { - "version": "2.2.4", - "resolved": "http://registry.npm.taobao.org/sass-graph/download/sass-graph-2.2.4.tgz", - "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", - "dev": true, - "optional": true, - "requires": { - "glob": "7.1.2", - "lodash": "4.17.4", - "scss-tokenizer": "0.2.3", - "yargs": "7.1.0" - } - }, - "sass-loader": { - "version": "6.0.6", - "resolved": "http://registry.npm.taobao.org/sass-loader/download/sass-loader-6.0.6.tgz", - "integrity": "sha1-6dXmwfFV+qMqSybXqbcQfCJeQPk=", - "dev": true, - "requires": { - "async": "2.5.0", - "clone-deep": "0.3.0", - "loader-utils": "1.1.0", - "lodash.tail": "4.1.1", - "pify": "3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "http://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "saucelabs": { - "version": "1.3.0", - "resolved": "http://registry.npm.taobao.org/saucelabs/download/saucelabs-1.3.0.tgz", - "integrity": "sha1-0kDoAJ33+ocwbsRXimm6O1xCT+4=", - "dev": true, - "requires": { - "https-proxy-agent": "1.0.0" - } - }, - "sax": { - "version": "1.2.4", - "resolved": "http://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz", - "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=", - "dev": true - }, - "schema-utils": { - "version": "0.3.0", - "resolved": "http://registry.npm.taobao.org/schema-utils/download/schema-utils-0.3.0.tgz", - "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", - "dev": true, - "requires": { - "ajv": "5.2.2" - } - }, - "scss-tokenizer": { - "version": "0.2.3", - "resolved": "http://registry.npm.taobao.org/scss-tokenizer/download/scss-tokenizer-0.2.3.tgz", - "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", - "dev": true, - "optional": true, - "requires": { - "js-base64": "2.1.9", - "source-map": "0.4.4" - }, - "dependencies": { - "source-map": { - "version": "0.4.4", - "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "dev": true, - "optional": true, - "requires": { - "amdefine": "1.0.1" - } - } - } - }, - "select-hose": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/select-hose/download/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", - "dev": true - }, - "selenium-webdriver": { - "version": "3.0.1", - "resolved": "http://registry.npm.taobao.org/selenium-webdriver/download/selenium-webdriver-3.0.1.tgz", - "integrity": "sha1-ot6l2kqX9mcuiefKcnbO+jZRR6c=", - "dev": true, - "requires": { - "adm-zip": "0.4.7", - "rimraf": "2.6.1", - "tmp": "0.0.30", - "xml2js": "0.4.18" - }, - "dependencies": { - "tmp": { - "version": "0.0.30", - "resolved": "http://registry.npm.taobao.org/tmp/download/tmp-0.0.30.tgz", - "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=", - "dev": true, - "requires": { - "os-tmpdir": "1.0.2" - } - } - } - }, - "selfsigned": { - "version": "1.10.1", - "resolved": "http://registry.npm.taobao.org/selfsigned/download/selfsigned-1.10.1.tgz", - "integrity": "sha1-v4y3uDJWxFUeMTR8YxF3jbme7FI=", - "dev": true, - "requires": { - "node-forge": "0.6.33" - } - }, - "semver": { - "version": "5.4.1", - "resolved": "http://registry.npm.taobao.org/semver/download/semver-5.4.1.tgz", - "integrity": "sha1-4FnAnYVx8FQII3M0M1BdOi8AsY4=", - "dev": true - }, - "semver-dsl": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/semver-dsl/download/semver-dsl-1.0.1.tgz", - "integrity": "sha1-02eN5VVeimH2Ke7QJTZq5fJzQKA=", - "dev": true, - "requires": { - "semver": "5.4.1" - } - }, - "send": { - "version": "0.15.4", - "resolved": "http://registry.npm.taobao.org/send/download/send-0.15.4.tgz", - "integrity": "sha1-mF+qPihLAnPHkzZKNcZze9k5Bbk=", - "dev": true, - "requires": { - "debug": "2.6.8", - "depd": "1.1.1", - "destroy": "1.0.4", - "encodeurl": "1.0.1", - "escape-html": "1.0.3", - "etag": "1.8.0", - "fresh": "0.5.0", - "http-errors": "1.6.2", - "mime": "1.3.4", - "ms": "2.0.0", - "on-finished": "2.3.0", - "range-parser": "1.2.0", - "statuses": "1.3.1" - }, - "dependencies": { - "mime": { - "version": "1.3.4", - "resolved": "http://registry.npm.taobao.org/mime/download/mime-1.3.4.tgz", - "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM=", - "dev": true - } - } - }, - "serialize-javascript": { - "version": "1.4.0", - "resolved": "http://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-1.4.0.tgz", - "integrity": "sha1-fJWFFNtqwkQ6irwGLcn3iGp/YAU=", - "dev": true - }, - "serve-index": { - "version": "1.9.0", - "resolved": "http://registry.npm.taobao.org/serve-index/download/serve-index-1.9.0.tgz", - "integrity": "sha1-0rKA/FYNYW7oG0i/D6gqvtJIXOc=", - "dev": true, - "requires": { - "accepts": "1.3.3", - "batch": "0.6.1", - "debug": "2.6.8", - "escape-html": "1.0.3", - "http-errors": "1.6.2", - "mime-types": "2.1.16", - "parseurl": "1.3.1" - } - }, - "serve-static": { - "version": "1.12.4", - "resolved": "http://registry.npm.taobao.org/serve-static/download/serve-static-1.12.4.tgz", - "integrity": "sha1-m2qpjutyU8Tu3Ewfb9vKYJkBqWE=", - "dev": true, - "requires": { - "encodeurl": "1.0.1", - "escape-html": "1.0.3", - "parseurl": "1.3.1", - "send": "0.15.4" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "set-immediate-shim": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/set-immediate-shim/download/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", - "dev": true - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "http://registry.npm.taobao.org/setimmediate/download/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true - }, - "setprototypeof": { - "version": "1.0.3", - "resolved": "http://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.0.3.tgz", - "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", - "dev": true - }, - "sha.js": { - "version": "2.4.8", - "resolved": "http://registry.npm.taobao.org/sha.js/download/sha.js-2.4.8.tgz", - "integrity": "sha1-NwaMLEdra69ALRSknGf1l5IfY08=", - "dev": true, - "requires": { - "inherits": "2.0.3" - } - }, - "shallow-clone": { - "version": "0.1.2", - "resolved": "http://registry.npm.taobao.org/shallow-clone/download/shallow-clone-0.1.2.tgz", - "integrity": "sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=", - "dev": true, - "requires": { - "is-extendable": "0.1.1", - "kind-of": "2.0.1", - "lazy-cache": "0.2.7", - "mixin-object": "2.0.1" - }, - "dependencies": { - "kind-of": { - "version": "2.0.1", - "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-2.0.1.tgz", - "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=", - "dev": true, - "requires": { - "is-buffer": "1.1.5" - } - } - } - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "http://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/shebang-regex/download/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "http://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true - }, - "silent-error": { - "version": "1.1.0", - "resolved": "http://registry.npm.taobao.org/silent-error/download/silent-error-1.1.0.tgz", - "integrity": "sha1-IglwbxyFCp8dENDYQJGLRvJuG8k=", - "dev": true, - "requires": { - "debug": "2.6.8" - } - }, - "slash": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", - "dev": true - }, - "sntp": { - "version": "1.0.9", - "resolved": "http://registry.npm.taobao.org/sntp/download/sntp-1.0.9.tgz", - "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, - "socket.io": { - "version": "1.7.3", - "resolved": "http://registry.npm.taobao.org/socket.io/download/socket.io-1.7.3.tgz", - "integrity": "sha1-uK+cq6AJSeVo42nxMn6pvp6iRhs=", - "dev": true, - "requires": { - "debug": "2.3.3", - "engine.io": "1.8.3", - "has-binary": "0.1.7", - "object-assign": "4.1.0", - "socket.io-adapter": "0.5.0", - "socket.io-client": "1.7.3", - "socket.io-parser": "2.3.1" - }, - "dependencies": { - "debug": { - "version": "2.3.3", - "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.3.3.tgz", - "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", - "dev": true, - "requires": { - "ms": "0.7.2" - } - }, - "ms": { - "version": "0.7.2", - "resolved": "http://registry.npm.taobao.org/ms/download/ms-0.7.2.tgz", - "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", - "dev": true - }, - "object-assign": { - "version": "4.1.0", - "resolved": "http://registry.npm.taobao.org/object-assign/download/object-assign-4.1.0.tgz", - "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=", - "dev": true - } - } - }, - "socket.io-adapter": { - "version": "0.5.0", - "resolved": "http://registry.npm.taobao.org/socket.io-adapter/download/socket.io-adapter-0.5.0.tgz", - "integrity": "sha1-y21LuL7IHhB4uZZ3+c7QBGBmu4s=", - "dev": true, - "requires": { - "debug": "2.3.3", - "socket.io-parser": "2.3.1" - }, - "dependencies": { - "debug": { - "version": "2.3.3", - "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.3.3.tgz", - "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", - "dev": true, - "requires": { - "ms": "0.7.2" - } - }, - "ms": { - "version": "0.7.2", - "resolved": "http://registry.npm.taobao.org/ms/download/ms-0.7.2.tgz", - "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", - "dev": true - } - } - }, - "socket.io-client": { - "version": "1.7.3", - "resolved": "http://registry.npm.taobao.org/socket.io-client/download/socket.io-client-1.7.3.tgz", - "integrity": "sha1-sw6GqhDV7zVGYBwJzeR2Xjgdo3c=", - "dev": true, - "requires": { - "backo2": "1.0.2", - "component-bind": "1.0.0", - "component-emitter": "1.2.1", - "debug": "2.3.3", - "engine.io-client": "1.8.3", - "has-binary": "0.1.7", - "indexof": "0.0.1", - "object-component": "0.0.3", - "parseuri": "0.0.5", - "socket.io-parser": "2.3.1", - "to-array": "0.1.4" - }, - "dependencies": { - "component-emitter": { - "version": "1.2.1", - "resolved": "http://registry.npm.taobao.org/component-emitter/download/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true - }, - "debug": { - "version": "2.3.3", - "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.3.3.tgz", - "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", - "dev": true, - "requires": { - "ms": "0.7.2" - } - }, - "ms": { - "version": "0.7.2", - "resolved": "http://registry.npm.taobao.org/ms/download/ms-0.7.2.tgz", - "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", - "dev": true - } - } - }, - "socket.io-parser": { - "version": "2.3.1", - "resolved": "http://registry.npm.taobao.org/socket.io-parser/download/socket.io-parser-2.3.1.tgz", - "integrity": "sha1-3VMgJRA85Clpcya+/WQAX8/ltKA=", - "dev": true, - "requires": { - "component-emitter": "1.1.2", - "debug": "2.2.0", - "isarray": "0.0.1", - "json3": "3.3.2" - }, - "dependencies": { - "debug": { - "version": "2.2.0", - "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", - "dev": true, - "requires": { - "ms": "0.7.1" - } - }, - "ms": { - "version": "0.7.1", - "resolved": "http://registry.npm.taobao.org/ms/download/ms-0.7.1.tgz", - "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", - "dev": true - } - } - }, - "sockjs": { - "version": "0.3.18", - "resolved": "http://registry.npm.taobao.org/sockjs/download/sockjs-0.3.18.tgz", - "integrity": "sha1-2bKJMWyn33dZXvKZ4HXw+TfrQgc=", - "dev": true, - "requires": { - "faye-websocket": "0.10.0", - "uuid": "2.0.3" - }, - "dependencies": { - "uuid": { - "version": "2.0.3", - "resolved": "http://registry.npm.taobao.org/uuid/download/uuid-2.0.3.tgz", - "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", - "dev": true - } - } - }, - "sort-keys": { - "version": "1.1.2", - "resolved": "http://registry.npm.taobao.org/sort-keys/download/sort-keys-1.1.2.tgz", - "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", - "dev": true, - "requires": { - "is-plain-obj": "1.1.0" - } - }, - "source-list-map": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/source-list-map/download/source-list-map-2.0.0.tgz", - "integrity": "sha1-qqR0A/eyRakvvJfqCPJQ1gh+0IU=", - "dev": true - }, - "source-map": { - "version": "0.5.6", - "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", - "dev": true - }, - "source-map-loader": { - "version": "0.2.1", - "resolved": "http://registry.npm.taobao.org/source-map-loader/download/source-map-loader-0.2.1.tgz", - "integrity": "sha1-SBJr6SML1H+tBeRqjDwuPS2r5Qc=", - "dev": true, - "requires": { - "async": "0.9.2", - "loader-utils": "0.2.17", - "source-map": "0.1.43" - }, - "dependencies": { - "async": { - "version": "0.9.2", - "resolved": "http://registry.npm.taobao.org/async/download/async-0.9.2.tgz", - "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", - "dev": true - }, - "loader-utils": { - "version": "0.2.17", - "resolved": "http://registry.npm.taobao.org/loader-utils/download/loader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", - "dev": true, - "requires": { - "big.js": "3.1.3", - "emojis-list": "2.1.0", - "json5": "0.5.1", - "object-assign": "4.1.1" - } - }, - "source-map": { - "version": "0.1.43", - "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.1.43.tgz", - "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", - "dev": true, - "requires": { - "amdefine": "1.0.1" - } - } - } - }, - "source-map-support": { - "version": "0.4.16", - "resolved": "http://registry.npm.taobao.org/source-map-support/download/source-map-support-0.4.16.tgz", - "integrity": "sha1-Fv7PmCEkZ9AX1Yair2jWKLlCHNg=", - "dev": true, - "requires": { - "source-map": "0.5.6" - } - }, - "spdx-correct": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/spdx-correct/download/spdx-correct-1.0.2.tgz", - "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", - "dev": true, - "requires": { - "spdx-license-ids": "1.2.2" - } - }, - "spdx-expression-parse": { - "version": "1.0.4", - "resolved": "http://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-1.0.4.tgz", - "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", - "dev": true - }, - "spdx-license-ids": { - "version": "1.2.2", - "resolved": "http://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-1.2.2.tgz", - "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", - "dev": true - }, - "spdy": { - "version": "3.4.7", - "resolved": "http://registry.npm.taobao.org/spdy/download/spdy-3.4.7.tgz", - "integrity": "sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw=", - "dev": true, - "requires": { - "debug": "2.6.8", - "handle-thing": "1.2.5", - "http-deceiver": "1.2.7", - "safe-buffer": "5.1.1", - "select-hose": "2.0.0", - "spdy-transport": "2.0.20" - } - }, - "spdy-transport": { - "version": "2.0.20", - "resolved": "http://registry.npm.taobao.org/spdy-transport/download/spdy-transport-2.0.20.tgz", - "integrity": "sha1-c15yBUxIayNU/onnAiVgBKOazk0=", - "dev": true, - "requires": { - "debug": "2.6.8", - "detect-node": "2.0.3", - "hpack.js": "2.1.6", - "obuf": "1.1.1", - "readable-stream": "2.3.3", - "safe-buffer": "5.1.1", - "wbuf": "1.7.2" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.3.tgz", - "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.0.3.tgz", - "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - } - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "http://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "sshpk": { - "version": "1.13.1", - "resolved": "http://registry.npm.taobao.org/sshpk/download/sshpk-1.13.1.tgz", - "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", - "dev": true, - "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } - } - }, - "ssri": { - "version": "5.3.0", - "resolved": "http://registry.npm.taobao.org/ssri/download/ssri-5.3.0.tgz", - "integrity": "sha1-ujhyycbTOgcEp9cf8EXl7EiZnQY=", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - }, - "statuses": { - "version": "1.3.1", - "resolved": "http://registry.npm.taobao.org/statuses/download/statuses-1.3.1.tgz", - "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", - "dev": true - }, - "stdout-stream": { - "version": "1.4.0", - "resolved": "http://registry.npm.taobao.org/stdout-stream/download/stdout-stream-1.4.0.tgz", - "integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=", - "dev": true, - "optional": true, - "requires": { - "readable-stream": "2.3.3" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true, - "optional": true - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.3.tgz", - "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=", - "dev": true, - "optional": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.0.3.tgz", - "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "5.1.1" - } - } - } - }, - "stream-browserify": { - "version": "2.0.1", - "resolved": "http://registry.npm.taobao.org/stream-browserify/download/stream-browserify-2.0.1.tgz", - "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", - "dev": true, - "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.3" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.3.tgz", - "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.0.3.tgz", - "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - } - } - }, - "stream-each": { - "version": "1.2.2", - "resolved": "http://registry.npm.taobao.org/stream-each/download/stream-each-1.2.2.tgz", - "integrity": "sha1-joxGP5HaiZF3h2WHP+TZYNj2Fr0=", - "dev": true, - "requires": { - "end-of-stream": "1.4.1", - "stream-shift": "1.0.0" - } - }, - "stream-http": { - "version": "2.7.2", - "resolved": "http://registry.npm.taobao.org/stream-http/download/stream-http-2.7.2.tgz", - "integrity": "sha1-QKBQ7I3DtTsz2ZCUFcAsC/Gr+60=", - "dev": true, - "requires": { - "builtin-status-codes": "3.0.0", - "inherits": "2.0.3", - "readable-stream": "2.3.3", - "to-arraybuffer": "1.0.1", - "xtend": "4.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.3.tgz", - "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.0.3.tgz", - "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - } - } - }, - "stream-shift": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.0.tgz", - "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", - "dev": true - }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "http://registry.npm.taobao.org/strict-uri-encode/download/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "http://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz", - "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", - "dev": true, - "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - } - } - }, - "stringstream": { - "version": "0.0.5", - "resolved": "http://registry.npm.taobao.org/stringstream/download/stringstream-0.0.5.tgz", - "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", - "dev": true - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "0.2.1" - } - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/strip-eof/download/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, - "strip-indent": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/strip-indent/download/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "dev": true, - "requires": { - "get-stdin": "4.0.1" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "http://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true - }, - "style-loader": { - "version": "0.13.2", - "resolved": "http://registry.npm.taobao.org/style-loader/download/style-loader-0.13.2.tgz", - "integrity": "sha1-dFMzhM9pjHEEx5URULSXF63C87s=", - "dev": true, - "requires": { - "loader-utils": "1.1.0" - } - }, - "stylus": { - "version": "0.54.5", - "resolved": "http://registry.npm.taobao.org/stylus/download/stylus-0.54.5.tgz", - "integrity": "sha1-QrlWCTHKcJDOhRWnmLqeaqPW3Hk=", - "dev": true, - "requires": { - "css-parse": "1.7.0", - "debug": "2.6.8", - "glob": "7.0.6", - "mkdirp": "0.5.1", - "sax": "0.5.8", - "source-map": "0.1.43" - }, - "dependencies": { - "glob": { - "version": "7.0.6", - "resolved": "http://registry.npm.taobao.org/glob/download/glob-7.0.6.tgz", - "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=", - "dev": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "sax": { - "version": "0.5.8", - "resolved": "http://registry.npm.taobao.org/sax/download/sax-0.5.8.tgz", - "integrity": "sha1-1HLbIo6zMcJQaw6MFVJK25OdEsE=", - "dev": true - }, - "source-map": { - "version": "0.1.43", - "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.1.43.tgz", - "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", - "dev": true, - "requires": { - "amdefine": "1.0.1" - } - } - } - }, - "stylus-loader": { - "version": "3.0.1", - "resolved": "http://registry.npm.taobao.org/stylus-loader/download/stylus-loader-3.0.1.tgz", - "integrity": "sha1-d/SzT9Aw0lsmF7z1UT21sHMMQIk=", - "dev": true, - "requires": { - "loader-utils": "1.1.0", - "lodash.clonedeep": "4.5.0", - "when": "3.6.4" - } - }, - "supports-color": { - "version": "3.2.3", - "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "1.0.0" - } - }, - "svgo": { - "version": "0.7.2", - "resolved": "http://registry.npm.taobao.org/svgo/download/svgo-0.7.2.tgz", - "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", - "dev": true, - "requires": { - "coa": "1.0.4", - "colors": "1.1.2", - "csso": "2.3.2", - "js-yaml": "3.7.0", - "mkdirp": "0.5.1", - "sax": "1.2.4", - "whet.extend": "0.9.9" - } - }, - "symbol-observable": { - "version": "1.0.4", - "resolved": "http://registry.npm.taobao.org/symbol-observable/download/symbol-observable-1.0.4.tgz", - "integrity": "sha1-Kb9hXUqnEhvdiYsi1LP5vE4qoD0=" - }, - "tapable": { - "version": "0.2.8", - "resolved": "http://registry.npm.taobao.org/tapable/download/tapable-0.2.8.tgz", - "integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=", - "dev": true - }, - "tar": { - "version": "2.2.1", - "resolved": "http://registry.npm.taobao.org/tar/download/tar-2.2.1.tgz", - "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", - "dev": true, - "optional": true, - "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" - } - }, - "tether": { - "version": "1.4.0", - "resolved": "http://10.75.8.148/repository/npm-pub/tether/-/tether-1.4.0.tgz", - "integrity": "sha1-D5+hcfdb9YSF2BSelHmdeudNHBo=" - }, - "through": { - "version": "2.3.8", - "resolved": "http://registry.npm.taobao.org/through/download/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "through2": { - "version": "2.0.3", - "resolved": "http://registry.npm.taobao.org/through2/download/through2-2.0.3.tgz", - "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", - "dev": true, - "requires": { - "readable-stream": "2.3.5", - "xtend": "4.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.0.tgz", - "integrity": "sha1-o31zL0JxtKsa0HDTVQjoKQeI/6o=", - "dev": true - }, - "readable-stream": { - "version": "2.3.5", - "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.5.tgz", - "integrity": "sha1-tPhQA6k4y7bsvOKhJPsQEr0ag40=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.0.3.tgz", - "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - } - } - }, - "thunky": { - "version": "0.1.0", - "resolved": "http://registry.npm.taobao.org/thunky/download/thunky-0.1.0.tgz", - "integrity": "sha1-vzAUaCTituZ7Dy16Ssi+smkIaE4=", - "dev": true - }, - "time-stamp": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/time-stamp/download/time-stamp-2.0.0.tgz", - "integrity": "sha1-lcakRTDhW6jW9KPsuMOj+sRto1c=", - "dev": true - }, - "timers-browserify": { - "version": "2.0.4", - "resolved": "http://registry.npm.taobao.org/timers-browserify/download/timers-browserify-2.0.4.tgz", - "integrity": "sha1-lspT9LeUpefA4b18yIo3Ipj6AeY=", - "dev": true, - "requires": { - "setimmediate": "1.0.5" - } - }, - "tmp": { - "version": "0.0.31", - "resolved": "http://registry.npm.taobao.org/tmp/download/tmp-0.0.31.tgz", - "integrity": "sha1-jzirlDjhcxXl29izZX6L+yd65Kc=", - "dev": true, - "requires": { - "os-tmpdir": "1.0.2" - } - }, - "to-array": { - "version": "0.1.4", - "resolved": "http://registry.npm.taobao.org/to-array/download/to-array-0.1.4.tgz", - "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=", - "dev": true - }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true - }, - "to-fast-properties": { - "version": "1.0.3", - "resolved": "http://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "dev": true - }, - "toposort": { - "version": "1.0.3", - "resolved": "http://registry.npm.taobao.org/toposort/download/toposort-1.0.3.tgz", - "integrity": "sha1-8CzYp0vYvi/A6YYRw7rLlaFxhpw=", - "dev": true - }, - "tough-cookie": { - "version": "2.3.2", - "resolved": "http://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.3.2.tgz", - "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=", - "dev": true, - "requires": { - "punycode": "1.4.1" - } - }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/trim-newlines/download/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", - "dev": true - }, - "trim-right": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/trim-right/download/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", - "dev": true - }, - "ts-node": { - "version": "3.2.2", - "resolved": "http://registry.npm.taobao.org/ts-node/download/ts-node-3.2.2.tgz", - "integrity": "sha1-u9KOOK9Kqj6WB2xGbhsiAZfBo84=", - "dev": true, - "requires": { - "arrify": "1.0.1", - "chalk": "2.1.0", - "diff": "3.3.0", - "make-error": "1.3.0", - "minimist": "1.2.0", - "mkdirp": "0.5.1", - "source-map-support": "0.4.16", - "tsconfig": "6.0.0", - "v8flags": "3.0.0", - "yn": "2.0.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } - } - }, - "tsconfig": { - "version": "6.0.0", - "resolved": "http://registry.npm.taobao.org/tsconfig/download/tsconfig-6.0.0.tgz", - "integrity": "sha1-aw6DdgA9evGGT434+J3QBZ/80DI=", - "dev": true, - "requires": { - "strip-bom": "3.0.0", - "strip-json-comments": "2.0.1" - }, - "dependencies": { - "strip-bom": { - "version": "3.0.0", - "resolved": "http://registry.npm.taobao.org/strip-bom/download/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - } - } - }, - "tsickle": { - "version": "0.21.6", - "resolved": "http://registry.npm.taobao.org/tsickle/download/tsickle-0.21.6.tgz", - "integrity": "sha1-U7Abl5xcE/2xOvs/uVgXflmRWI0=", - "dev": true, - "requires": { - "minimist": "1.2.0", - "mkdirp": "0.5.1", - "source-map": "0.5.6", - "source-map-support": "0.4.16" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } - } - }, - "tslib": { - "version": "1.7.1", - "resolved": "http://registry.npm.taobao.org/tslib/download/tslib-1.7.1.tgz", - "integrity": "sha1-vIAEFkaRkjp5/oN4u+s9ogF1OOw=" - }, - "tslint": { - "version": "5.3.2", - "resolved": "http://registry.npm.taobao.org/tslint/download/tslint-5.3.2.tgz", - "integrity": "sha1-5WRZ+wlacwfxA7hAUhdPXju+9u0=", - "dev": true, - "requires": { - "babel-code-frame": "6.26.0", - "colors": "1.1.2", - "diff": "3.3.0", - "glob": "7.1.2", - "optimist": "0.6.1", - "resolve": "1.4.0", - "semver": "5.4.1", - "tslib": "1.7.1", - "tsutils": "2.8.0" - }, - "dependencies": { - "optimist": { - "version": "0.6.1", - "resolved": "http://registry.npm.taobao.org/optimist/download/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dev": true, - "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" - } - } - } - }, - "tsutils": { - "version": "2.8.0", - "resolved": "http://registry.npm.taobao.org/tsutils/download/tsutils-2.8.0.tgz", - "integrity": "sha1-AWAXNymzvxOGKN0UoVN+AIUdgUo=", - "dev": true, - "requires": { - "tslib": "1.7.1" - } - }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "http://registry.npm.taobao.org/tty-browserify/download/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", - "dev": true - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "http://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "http://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true, - "optional": true - }, - "type-is": { - "version": "1.6.15", - "resolved": "http://registry.npm.taobao.org/type-is/download/type-is-1.6.15.tgz", - "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=", - "dev": true, - "requires": { - "media-typer": "0.3.0", - "mime-types": "2.1.16" - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "http://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "typescript": { - "version": "2.4.2", - "resolved": "http://registry.npm.taobao.org/typescript/download/typescript-2.4.2.tgz", - "integrity": "sha1-+DlfhdRZJ2BnyYiqQYN6j4KHCEQ=", - "dev": true - }, - "uglify-js": { - "version": "3.0.28", - "resolved": "http://registry.npm.taobao.org/uglify-js/download/uglify-js-3.0.28.tgz", - "integrity": "sha1-lrhJXwJylEeHtYQ6FnmqMmZA1fc=", - "dev": true, - "requires": { - "commander": "2.11.0", - "source-map": "0.5.6" - } - }, - "uglify-to-browserify": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/uglify-to-browserify/download/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", - "dev": true, - "optional": true - }, - "uglifyjs-webpack-plugin": { - "version": "0.4.6", - "resolved": "http://registry.npm.taobao.org/uglifyjs-webpack-plugin/download/uglifyjs-webpack-plugin-0.4.6.tgz", - "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", - "dev": true, - "requires": { - "source-map": "0.5.6", - "uglify-js": "2.8.29", - "webpack-sources": "1.0.1" - }, - "dependencies": { - "camelcase": { - "version": "1.2.1", - "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", - "dev": true - }, - "cliui": { - "version": "2.1.0", - "resolved": "http://registry.npm.taobao.org/cliui/download/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", - "dev": true, - "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", - "wordwrap": "0.0.2" - } - }, - "uglify-js": { - "version": "2.8.29", - "resolved": "http://registry.npm.taobao.org/uglify-js/download/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", - "dev": true, - "requires": { - "source-map": "0.5.6", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" - } - }, - "wordwrap": { - "version": "0.0.2", - "resolved": "http://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", - "dev": true - }, - "yargs": { - "version": "3.10.0", - "resolved": "http://registry.npm.taobao.org/yargs/download/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "dev": true, - "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", - "window-size": "0.1.0" - } - } - } - }, - "ultron": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/ultron/download/ultron-1.0.2.tgz", - "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=", - "dev": true - }, - "uniq": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/uniq/download/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", - "dev": true - }, - "uniqid": { - "version": "4.1.1", - "resolved": "http://registry.npm.taobao.org/uniqid/download/uniqid-4.1.1.tgz", - "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=", - "dev": true, - "requires": { - "macaddress": "0.2.8" - } - }, - "uniqs": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/uniqs/download/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", - "dev": true - }, - "unique-filename": { - "version": "1.1.0", - "resolved": "http://registry.npm.taobao.org/unique-filename/download/unique-filename-1.1.0.tgz", - "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=", - "dev": true, - "requires": { - "unique-slug": "2.0.0" - } - }, - "unique-slug": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/unique-slug/download/unique-slug-2.0.0.tgz", - "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=", - "dev": true, - "requires": { - "imurmurhash": "0.1.4" - } - }, - "universalify": { - "version": "0.1.1", - "resolved": "http://registry.npm.taobao.org/universalify/download/universalify-0.1.1.tgz", - "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=", - "dev": true - }, - "unpipe": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true - }, - "upper-case": { - "version": "1.1.3", - "resolved": "http://registry.npm.taobao.org/upper-case/download/upper-case-1.1.3.tgz", - "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", - "dev": true - }, - "url": { - "version": "0.11.0", - "resolved": "http://registry.npm.taobao.org/url/download/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "http://registry.npm.taobao.org/punycode/download/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - } - } - }, - "url-loader": { - "version": "0.5.9", - "resolved": "http://registry.npm.taobao.org/url-loader/download/url-loader-0.5.9.tgz", - "integrity": "sha1-zI/qgse5Bud3cBklCGnlaemVwpU=", - "dev": true, - "requires": { - "loader-utils": "1.1.0", - "mime": "1.3.6" - } - }, - "url-parse": { - "version": "1.1.9", - "resolved": "http://registry.npm.taobao.org/url-parse/download/url-parse-1.1.9.tgz", - "integrity": "sha1-xn8dd11R8KGJEd17P/rSe7nlvRk=", - "dev": true, - "requires": { - "querystringify": "1.0.0", - "requires-port": "1.0.0" - }, - "dependencies": { - "querystringify": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/querystringify/download/querystringify-1.0.0.tgz", - "integrity": "sha1-YoYkIRLFtxL6ZU5SZlK/ahP/Bcs=", - "dev": true - } - } - }, - "user-home": { - "version": "1.1.1", - "resolved": "http://registry.npm.taobao.org/user-home/download/user-home-1.1.1.tgz", - "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=", - "dev": true - }, - "useragent": { - "version": "2.2.1", - "resolved": "http://registry.npm.taobao.org/useragent/download/useragent-2.2.1.tgz", - "integrity": "sha1-z1k+9PLRdYdei7ZY6pLhik/QbY4=", - "dev": true, - "requires": { - "lru-cache": "2.2.4", - "tmp": "0.0.31" - }, - "dependencies": { - "lru-cache": { - "version": "2.2.4", - "resolved": "http://registry.npm.taobao.org/lru-cache/download/lru-cache-2.2.4.tgz", - "integrity": "sha1-bGWGGb7PFAMdDQtZSxYELOTcBj0=", - "dev": true - } - } - }, - "util": { - "version": "0.10.3", - "resolved": "http://registry.npm.taobao.org/util/download/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "requires": { - "inherits": "2.0.1" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "http://registry.npm.taobao.org/inherits/download/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - } - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "utila": { - "version": "0.4.0", - "resolved": "http://registry.npm.taobao.org/utila/download/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", - "dev": true - }, - "utils-merge": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.0.tgz", - "integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg=", - "dev": true - }, - "uuid": { - "version": "3.1.0", - "resolved": "http://registry.npm.taobao.org/uuid/download/uuid-3.1.0.tgz", - "integrity": "sha1-PdPT55Crwk17DToDT/q6vijrvAQ=", - "dev": true - }, - "v8flags": { - "version": "3.0.0", - "resolved": "http://registry.npm.taobao.org/v8flags/download/v8flags-3.0.0.tgz", - "integrity": "sha1-S+lgRIjgxBI2Rd73BbGEjRa44B8=", - "dev": true, - "requires": { - "user-home": "1.1.1" - } - }, - "validate-npm-package-license": { - "version": "3.0.1", - "resolved": "http://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.1.tgz", - "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", - "dev": true, - "requires": { - "spdx-correct": "1.0.2", - "spdx-expression-parse": "1.0.4" - } - }, - "vary": { - "version": "1.1.1", - "resolved": "http://registry.npm.taobao.org/vary/download/vary-1.1.1.tgz", - "integrity": "sha1-Z1Neu2lMHVIldFeYRmUyP1h+jTc=", - "dev": true - }, - "vendors": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/vendors/download/vendors-1.0.1.tgz", - "integrity": "sha1-N61zyO5Bf7PVgOeFMSMH0nSEfyI=", - "dev": true - }, - "verror": { - "version": "1.10.0", - "resolved": "http://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "1.3.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } - } - }, - "vlq": { - "version": "0.2.2", - "resolved": "http://registry.npm.taobao.org/vlq/download/vlq-0.2.2.tgz", - "integrity": "sha1-4xbVJXtAuGu0PLjV/qXX9U1rDKE=", - "dev": true - }, - "vm-browserify": { - "version": "0.0.4", - "resolved": "http://registry.npm.taobao.org/vm-browserify/download/vm-browserify-0.0.4.tgz", - "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", - "dev": true, - "requires": { - "indexof": "0.0.1" - } - }, - "void-elements": { - "version": "2.0.1", - "resolved": "http://registry.npm.taobao.org/void-elements/download/void-elements-2.0.1.tgz", - "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", - "dev": true - }, - "watchpack": { - "version": "1.4.0", - "resolved": "http://registry.npm.taobao.org/watchpack/download/watchpack-1.4.0.tgz", - "integrity": "sha1-ShRyvLuVK9Cpu0A2gB+VTfs5+qw=", - "dev": true, - "requires": { - "async": "2.5.0", - "chokidar": "1.7.0", - "graceful-fs": "4.1.11" - } - }, - "wbuf": { - "version": "1.7.2", - "resolved": "http://registry.npm.taobao.org/wbuf/download/wbuf-1.7.2.tgz", - "integrity": "sha1-1pe5nx9ZUS3ydRvkJ2nBWAtYAf4=", - "dev": true, - "requires": { - "minimalistic-assert": "1.0.0" - } - }, - "webdriver-js-extender": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/webdriver-js-extender/download/webdriver-js-extender-1.0.0.tgz", - "integrity": "sha1-gcUzqeM9W/tZe05j4s2yW1R3dRU=", - "dev": true, - "requires": { - "@types/selenium-webdriver": "2.53.42", - "selenium-webdriver": "2.53.3" - }, - "dependencies": { - "adm-zip": { - "version": "0.4.4", - "resolved": "http://registry.npm.taobao.org/adm-zip/download/adm-zip-0.4.4.tgz", - "integrity": "sha1-ph7VrmkFw66lizplfSUDMJEFJzY=", - "dev": true - }, - "sax": { - "version": "0.6.1", - "resolved": "http://registry.npm.taobao.org/sax/download/sax-0.6.1.tgz", - "integrity": "sha1-VjsZx8HeiS4Jv8Ty/DDjwn8JUrk=", - "dev": true - }, - "selenium-webdriver": { - "version": "2.53.3", - "resolved": "http://registry.npm.taobao.org/selenium-webdriver/download/selenium-webdriver-2.53.3.tgz", - "integrity": "sha1-0p/1qVff8aG0ncRXdW5OS/vc4IU=", - "dev": true, - "requires": { - "adm-zip": "0.4.4", - "rimraf": "2.6.1", - "tmp": "0.0.24", - "ws": "1.1.2", - "xml2js": "0.4.4" - } - }, - "tmp": { - "version": "0.0.24", - "resolved": "http://registry.npm.taobao.org/tmp/download/tmp-0.0.24.tgz", - "integrity": "sha1-1qXhmNFKmDXMby18PZ4wJCjIzxI=", - "dev": true - }, - "xml2js": { - "version": "0.4.4", - "resolved": "http://registry.npm.taobao.org/xml2js/download/xml2js-0.4.4.tgz", - "integrity": "sha1-MREBAAMAiuGSQOuhdJe1fHKcVV0=", - "dev": true, - "requires": { - "sax": "0.6.1", - "xmlbuilder": "9.0.4" - } - } - } - }, - "webpack": { - "version": "3.5.6", - "resolved": "http://registry.npm.taobao.org/webpack/download/webpack-3.5.6.tgz", - "integrity": "sha1-pJL7bB7X9XOBb5DgDI+7WiDMXDY=", - "dev": true, - "requires": { - "acorn": "5.1.1", - "acorn-dynamic-import": "2.0.2", - "ajv": "5.2.2", - "ajv-keywords": "2.1.0", - "async": "2.5.0", - "enhanced-resolve": "3.4.1", - "escope": "3.6.0", - "interpret": "1.0.3", - "json-loader": "0.5.7", - "json5": "0.5.1", - "loader-runner": "2.3.0", - "loader-utils": "1.1.0", - "memory-fs": "0.4.1", - "mkdirp": "0.5.1", - "node-libs-browser": "2.0.0", - "source-map": "0.5.6", - "supports-color": "4.5.0", - "tapable": "0.2.8", - "uglifyjs-webpack-plugin": "0.4.6", - "watchpack": "1.4.0", - "webpack-sources": "1.0.1", - "yargs": "8.0.2" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, - "find-up": { - "version": "2.1.0", - "resolved": "http://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "2.0.0" - } - }, - "has-flag": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "load-json-file": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/load-json-file/download/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" - } - }, - "os-locale": { - "version": "2.1.0", - "resolved": "http://registry.npm.taobao.org/os-locale/download/os-locale-2.1.0.tgz", - "integrity": "sha1-QrwpAKa1uL0XN2yOiCtlr8zyS/I=", - "dev": true, - "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" - } - }, - "path-type": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/path-type/download/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "requires": { - "pify": "2.3.0" - } - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/read-pkg/download/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" - } - }, - "read-pkg-up": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "dev": true, - "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "http://registry.npm.taobao.org/strip-bom/download/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "supports-color": { - "version": "4.5.0", - "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/which-module/download/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "yargs": { - "version": "8.0.2", - "resolved": "http://registry.npm.taobao.org/yargs/download/yargs-8.0.2.tgz", - "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", - "dev": true, - "requires": { - "camelcase": "4.1.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "read-pkg-up": "2.0.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "7.0.0" - } - }, - "yargs-parser": { - "version": "7.0.0", - "resolved": "http://registry.npm.taobao.org/yargs-parser/download/yargs-parser-7.0.0.tgz", - "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", - "dev": true, - "requires": { - "camelcase": "4.1.0" - } - } - } - }, - "webpack-concat-plugin": { - "version": "1.4.0", - "resolved": "http://registry.npm.taobao.org/webpack-concat-plugin/download/webpack-concat-plugin-1.4.0.tgz", - "integrity": "sha1-pus/AILQPHnY7i8VGMf0jkTuEsU=", - "dev": true, - "requires": { - "md5": "2.2.1", - "uglify-js": "2.8.29" - }, - "dependencies": { - "camelcase": { - "version": "1.2.1", - "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", - "dev": true - }, - "cliui": { - "version": "2.1.0", - "resolved": "http://registry.npm.taobao.org/cliui/download/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", - "dev": true, - "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", - "wordwrap": "0.0.2" - } - }, - "uglify-js": { - "version": "2.8.29", - "resolved": "http://registry.npm.taobao.org/uglify-js/download/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", - "dev": true, - "requires": { - "source-map": "0.5.6", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" - } - }, - "wordwrap": { - "version": "0.0.2", - "resolved": "http://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", - "dev": true - }, - "yargs": { - "version": "3.10.0", - "resolved": "http://registry.npm.taobao.org/yargs/download/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "dev": true, - "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", - "window-size": "0.1.0" - } - } - } - }, - "webpack-dev-middleware": { - "version": "1.12.0", - "resolved": "http://registry.npm.taobao.org/webpack-dev-middleware/download/webpack-dev-middleware-1.12.0.tgz", - "integrity": "sha1-007++y7dp+HTtdvgcolRMhllFwk=", - "dev": true, - "requires": { - "memory-fs": "0.4.1", - "mime": "1.3.6", - "path-is-absolute": "1.0.1", - "range-parser": "1.2.0", - "time-stamp": "2.0.0" - } - }, - "webpack-merge": { - "version": "4.1.0", - "resolved": "http://registry.npm.taobao.org/webpack-merge/download/webpack-merge-4.1.0.tgz", - "integrity": "sha1-atciI7PguDflMeRZfBmfkJNhUR4=", - "dev": true, - "requires": { - "lodash": "4.17.4" - } - }, - "webpack-sources": { - "version": "1.0.1", - "resolved": "http://registry.npm.taobao.org/webpack-sources/download/webpack-sources-1.0.1.tgz", - "integrity": "sha1-xzVkNqTRMSO+LiQmoF0drZy+Zc8=", - "dev": true, - "requires": { - "source-list-map": "2.0.0", - "source-map": "0.5.6" - } - }, - "websocket-driver": { - "version": "0.6.5", - "resolved": "http://registry.npm.taobao.org/websocket-driver/download/websocket-driver-0.6.5.tgz", - "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=", - "dev": true, - "requires": { - "websocket-extensions": "0.1.1" - } - }, - "websocket-extensions": { - "version": "0.1.1", - "resolved": "http://registry.npm.taobao.org/websocket-extensions/download/websocket-extensions-0.1.1.tgz", - "integrity": "sha1-domUmcGEtu91Q3fC27DNbLVdKec=", - "dev": true - }, - "when": { - "version": "3.6.4", - "resolved": "http://registry.npm.taobao.org/when/download/when-3.6.4.tgz", - "integrity": "sha1-RztRfsFZ4rhQBUl6E5g/CVQS404=", - "dev": true - }, - "whet.extend": { - "version": "0.9.9", - "resolved": "http://registry.npm.taobao.org/whet.extend/download/whet.extend-0.9.9.tgz", - "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=", - "dev": true - }, - "which": { - "version": "1.3.0", - "resolved": "http://registry.npm.taobao.org/which/download/which-1.3.0.tgz", - "integrity": "sha1-/wS9/AEO5UfXgL7DjhrBwnd9JTo=", - "dev": true, - "requires": { - "isexe": "2.0.0" - } - }, - "which-module": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/which-module/download/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", - "dev": true, - "optional": true - }, - "wide-align": { - "version": "1.1.2", - "resolved": "http://registry.npm.taobao.org/wide-align/download/wide-align-1.1.2.tgz", - "integrity": "sha1-Vx4PGwYEY268DfwhsDObvjE0FxA=", - "dev": true, - "requires": { - "string-width": "1.0.2" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - } - } - }, - "window-size": { - "version": "0.1.0", - "resolved": "http://registry.npm.taobao.org/window-size/download/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", - "dev": true - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "http://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "http://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, - "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "ws": { - "version": "1.1.2", - "resolved": "http://registry.npm.taobao.org/ws/download/ws-1.1.2.tgz", - "integrity": "sha1-iiRPoFJAHgjJiGz0SoUYnh/UBn8=", - "dev": true, - "requires": { - "options": "0.0.6", - "ultron": "1.0.2" - } - }, - "wtf-8": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/wtf-8/download/wtf-8-1.0.0.tgz", - "integrity": "sha1-OS2LotDxw00e4tYw8V0O+2jhBIo=", - "dev": true - }, - "xml-char-classes": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/xml-char-classes/download/xml-char-classes-1.0.0.tgz", - "integrity": "sha1-ZGV4SKIP/F31g6Qq2KJ3tFErvE0=", - "dev": true - }, - "xml2js": { - "version": "0.4.18", - "resolved": "http://registry.npm.taobao.org/xml2js/download/xml2js-0.4.18.tgz", - "integrity": "sha1-oRfsgVOu6yL5VBv76IBeNdrnuWk=", - "dev": true, - "requires": { - "sax": "1.2.4", - "xmlbuilder": "9.0.4" - } - }, - "xmlbuilder": { - "version": "9.0.4", - "resolved": "http://registry.npm.taobao.org/xmlbuilder/download/xmlbuilder-9.0.4.tgz", - "integrity": "sha1-UZy0ymhtAFqEINNJbz8MruzKWA8=", - "dev": true - }, - "xmldom": { - "version": "0.1.27", - "resolved": "http://registry.npm.taobao.org/xmldom/download/xmldom-0.1.27.tgz", - "integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk=", - "dev": true - }, - "xmlhttprequest-ssl": { - "version": "1.5.3", - "resolved": "http://registry.npm.taobao.org/xmlhttprequest-ssl/download/xmlhttprequest-ssl-1.5.3.tgz", - "integrity": "sha1-GFqIjATspGw+QHDZn3tJ3jUomS0=", - "dev": true - }, - "xtend": { - "version": "4.0.1", - "resolved": "http://registry.npm.taobao.org/xtend/download/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", - "dev": true - }, - "y18n": { - "version": "3.2.1", - "resolved": "http://registry.npm.taobao.org/y18n/download/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", - "dev": true - }, - "yallist": { - "version": "2.1.2", - "resolved": "http://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - }, - "yargs": { - "version": "7.1.0", - "resolved": "http://registry.npm.taobao.org/yargs/download/yargs-7.1.0.tgz", - "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", - "dev": true, - "optional": true, - "requires": { - "camelcase": "3.0.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "os-locale": "1.4.0", - "read-pkg-up": "1.0.1", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "1.0.2", - "which-module": "1.0.0", - "y18n": "3.2.1", - "yargs-parser": "5.0.0" - }, - "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "http://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "optional": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "http://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "optional": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - } - } - }, - "yargs-parser": { - "version": "5.0.0", - "resolved": "http://registry.npm.taobao.org/yargs-parser/download/yargs-parser-5.0.0.tgz", - "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", - "dev": true, - "optional": true, - "requires": { - "camelcase": "3.0.0" - }, - "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true, - "optional": true - } - } - }, - "yeast": { - "version": "0.1.2", - "resolved": "http://registry.npm.taobao.org/yeast/download/yeast-0.1.2.tgz", - "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", - "dev": true - }, - "yn": { - "version": "2.0.0", - "resolved": "http://registry.npm.taobao.org/yn/download/yn-2.0.0.tgz", - "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=", - "dev": true - }, - "zone.js": { - "version": "0.8.16", - "resolved": "http://registry.npm.taobao.org/zone.js/download/zone.js-0.8.16.tgz", - "integrity": "sha1-rDG2xBj4jA+Ritas2KQCrKkxOrs=" - } - } -} diff --git a/sdc-workflow-designer-ui/package.json b/sdc-workflow-designer-ui/package.json deleted file mode 100644 index 67a28e1a..00000000 --- a/sdc-workflow-designer-ui/package.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "name": "workflow-modeler", - "version": "1.0.0", - "license": "SEE LICENSE IN LICENSE.TXT", - "scripts": { - "ng": "ng", - "start": "ng serve --host localhost --disable-host-check true", - "build": "ng build --prod --sm=true", - "test": "ng test", - "lint": "ng lint", - "e2e": "ng e2e" - }, - "private": true, - "dependencies": { - "@angular/animations": "^4.2.4", - "@angular/cdk": "2.0.0-beta.8", - "@angular/common": "^4.2.4", - "@angular/compiler": "^4.2.4", - "@angular/core": "^4.2.4", - "@angular/forms": "^4.2.4", - "@angular/http": "^4.2.4", - "@angular/material": "^5.2.0", - "@angular/platform-browser": "^4.2.4", - "@angular/platform-browser-dynamic": "^4.2.4", - "@angular/router": "^4.2.4", - "@ngx-translate/core": "^8.0.0", - "@ngx-translate/http-loader": "^1.0.2", - "bootstrap": "4.0.0-alpha.6", - "core-js": "^2.4.1", - "date-fns": "^1.29.0", - "font-awesome": "^4.7.0", - "jquery": "^3.2.1", - "jquery-ui": "^1.12.1", - "jsplumb": "2.5.1", - "ngx-bootstrap": "^1.9.1", - "ngx-tree-select": "^0.13.3", - "primeng": "^4.2.0", - "rxjs": "^5.4.2", - "zone.js": "^0.8.14" - }, - "devDependencies": { - "@angular/cli": "1.4.3", - "@angular/compiler-cli": "^4.2.4", - "@angular/language-service": "^4.2.4", - "@types/jasmine": "~2.5.53", - "@types/jasminewd2": "~2.0.2", - "@types/node": "~6.0.60", - "codelyzer": "~3.1.1", - "jasmine-core": "~2.6.2", - "jasmine-spec-reporter": "~4.1.0", - "karma": "~1.7.0", - "karma-chrome-launcher": "~2.1.1", - "karma-cli": "~1.0.1", - "karma-coverage-istanbul-reporter": "^1.2.1", - "karma-jasmine": "~1.1.0", - "karma-jasmine-html-reporter": "^0.2.2", - "protractor": "~5.1.2", - "ts-node": "~3.2.0", - "tslint": "~5.3.2", - "typescript": "~2.4.2", - "webpack": "3.5.6" - } -} diff --git a/sdc-workflow-designer-ui/pom.xml b/sdc-workflow-designer-ui/pom.xml deleted file mode 100644 index 2f758c5b..00000000 --- a/sdc-workflow-designer-ui/pom.xml +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - org.onap.sdc.sdc-workflow-designer - sdc-workflow-designer - 1.1.0-SNAPSHOT - - - 4.0.0 - org.onap.sdc.sdc-workflow-designer - sdc-workflow-designer-ui - sdc-workflow-designer-ui - jar - - - 1.4 - target/version - - - - - - com.github.eirslett - frontend-maven-plugin - - ${frontend-maven-plugin-version} - - - - - - - install node and npm - - install-node-and-npm - - - - v8.2.1 - 5.3.0 - - - - - npm install - - npm - - - install - - - - - npm run build - - npm - - - run build - - - - - - - - - - workflow-modeler - dist - - **/** - - false - - - - diff --git a/sdc-workflow-designer-ui/protractor.conf.js b/sdc-workflow-designer-ui/protractor.conf.js deleted file mode 100644 index d61f2d6d..00000000 --- a/sdc-workflow-designer-ui/protractor.conf.js +++ /dev/null @@ -1,40 +0,0 @@ -/** - * Copyright (c) 2017-2018 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -// Protractor configuration file, see link for more information -// https://github.com/angular/protractor/blob/master/lib/config.ts - -const { SpecReporter } = require('jasmine-spec-reporter'); - -exports.config = { - allScriptsTimeout: 11000, - specs: [ - './e2e/**/*.e2e-spec.ts' - ], - capabilities: { - 'browserName': 'chrome' - }, - directConnect: true, - baseUrl: 'http://localhost:4200/', - framework: 'jasmine', - jasmineNodeOpts: { - showColors: true, - defaultTimeoutInterval: 30000, - print: function() {} - }, - onPrepare() { - require('ts-node').register({ - project: 'e2e/tsconfig.e2e.json' - }); - jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } })); - } -}; diff --git a/sdc-workflow-designer-ui/src/app/app.component.css b/sdc-workflow-designer-ui/src/app/app.component.css deleted file mode 100644 index dd226ff1..00000000 --- a/sdc-workflow-designer-ui/src/app/app.component.css +++ /dev/null @@ -1,120 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -.authorized-div{ - height: 100%; -} - -.unauthorized-div{ - text-align: center; - color: red; -} - -.loading-div{ - position: absolute; - top: 0; - width: 100%; - height: 100%; - background-color: white; -} - -.loading-div div{ - position: relative; - top: calc(50% - 36px); - left: calc(50% - 36px); -} - -.loading-div div:not(:required) { - -moz-animation: three-quarters-loader 1.5s infinite linear; - -webkit-animation: three-quarters-loader 1.5s infinite linear; - animation: three-quarters-loader 1.5s infinite linear; - box-sizing: border-box; - display: inline-block; - overflow: hidden; - text-indent: -9999px; - border: 5px solid #1dadfc; - border-right-color: transparent; - border-radius: 36px; - width: 72px; - height: 72px; -} - -@-moz-keyframes three-quarters-loader { - 0% { - -moz-transform: rotate(0deg); - transform: rotate(0deg) - } - to { - -moz-transform: rotate(1turn); - transform: rotate(1turn) - } -} - -@-webkit-keyframes three-quarters-loader { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg) - } - to { - -webkit-transform: rotate(1turn); - transform: rotate(1turn) - } -} - -@keyframes three-quarters-loader { - 0% { - -moz-transform: rotate(0deg); - -ms-transform: rotate(0deg); - -webkit-transform: rotate(0deg); - transform: rotate(0deg) - } - to { - -moz-transform: rotate(1turn); - -ms-transform: rotate(1turn); - -webkit-transform: rotate(1turn); - transform: rotate(1turn) - } -} - -.main-content-wrapper{ - height: 100%; - background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMTEgMTEiPjxkZWZzPjxzdHlsZT4uY2xzLTF7aXNvbGF0aW9uOmlzb2xhdGU7fS5jbHMtMntmaWxsOiNmYWZiZmQ7fS5jbHMtM3tmaWxsOiNlY2VkZWY7ZmlsbC1ydWxlOmV2ZW5vZGQ7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT5iYWNrZ3JvdW5kLWltYWdlc192MjwvdGl0bGU+PGc+PGltYWdlIHdpZHRoPSIxMSIgaGVpZ2h0PSIxMSIgeGxpbms6aHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBc0FBQUFMQ0FJQUFBQW16dUJ4QUFBQUNYQklXWE1BQUFzU0FBQUxFZ0hTM1g3OEFBQUFFMGxFUVZRWVYyUDRUd2d3RUZJd3FvSmtGUUF3eFdtbDRtUGRyd0FBQUFCSlJVNUVya0pnZ2c9PSIvPjwvZz48ZyBpZD0i55+p5b2iXzEiIGRhdGEtbmFtZT0i55+p5b2iIDEiIGNsYXNzPSJjbHMtMSI+PGcgaWQ9IuefqeW9ol8xLTIiIGRhdGEtbmFtZT0i55+p5b2iIDEiPjxyZWN0IGNsYXNzPSJjbHMtMiIgd2lkdGg9IjExIiBoZWlnaHQ9IjExIi8+PC9nPjwvZz48ZyBjbGFzcz0iY2xzLTEiPjxnPjxwb2x5Z29uIGNsYXNzPSJjbHMtMyIgcG9pbnRzPSIxMCAwIDEwIDEwIDAgMTAgMCAxMSAxMCAxMSAxMC45MiAxMSAxMC45MiAwIDEwIDAiLz48L2c+PC9nPjwvc3ZnPg==); - background-size: 11px; -} - -.tool-bar{ - position: fixed; - top: 0px; - left: 0px; - width: 200px; - height: 100%; - background-color: white; - overflow-y: auto; -} - -.design-area{ - position: relative; - left: 200px; - width: calc(100% - 200px); - height: 100%; - padding: 20px; -} - -.design-menus{ - display: block; - height: 30px; - margin-bottom: 10px; -} - -.design-container{ - display: block; - height: calc(100% - 40px); -} \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/app.component.html b/sdc-workflow-designer-ui/src/app/app.component.html deleted file mode 100644 index d629bbd9..00000000 --- a/sdc-workflow-designer-ui/src/app/app.component.html +++ /dev/null @@ -1,30 +0,0 @@ - -
- {{ 'WORKFLOW.UNAUTHORIZED' | translate }} -
-
-
- -
- - -
- -
- -
-
-
-
\ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/app.component.spec.ts b/sdc-workflow-designer-ui/src/app/app.component.spec.ts deleted file mode 100644 index 126bda51..00000000 --- a/sdc-workflow-designer-ui/src/app/app.component.spec.ts +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -import { TestBed, async } from '@angular/core/testing'; - -import { AppComponent } from './app.component'; - -describe('AppComponent', () => { - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [ - AppComponent - ], - }).compileComponents(); - })); - - it('should create the app', async(() => { - const fixture = TestBed.createComponent(AppComponent); - const app = fixture.debugElement.componentInstance; - expect(app).toBeTruthy(); - })); - - it(`should have as title 'app'`, async(() => { - const fixture = TestBed.createComponent(AppComponent); - const app = fixture.debugElement.componentInstance; - expect(app.title).toEqual('app'); - })); - - it('should render title in a h1 tag', async(() => { - const fixture = TestBed.createComponent(AppComponent); - fixture.detectChanges(); - const compiled = fixture.debugElement.nativeElement; - expect(compiled.querySelector('h1').textContent).toContain('Welcome to app!'); - })); -}); diff --git a/sdc-workflow-designer-ui/src/app/app.component.ts b/sdc-workflow-designer-ui/src/app/app.component.ts deleted file mode 100644 index 15796977..00000000 --- a/sdc-workflow-designer-ui/src/app/app.component.ts +++ /dev/null @@ -1,72 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -import { Component, OnInit } from '@angular/core'; -import { TranslateService } from '@ngx-translate/core'; -import { BroadcastService } from './services/broadcast.service'; -import { LOCATION_INITIALIZED } from '@angular/common'; -import { AuthService } from './services/auth.service'; -import { RestService } from './services/rest.service'; -import { ToscaService } from './services/tosca.service'; - -/** - * main component - */ -@Component({ - selector: 'workflow', - templateUrl: './app.component.html', - styleUrls: ['./app.component.css'] -}) -export class AppComponent implements OnInit { - public isAuthorized = false; - public toscaLoaded = false; - public restLoaded = false; - public typeLoaded = true; - - constructor(translate: TranslateService, private authService: AuthService, - private broadcastService: BroadcastService, toscaService: ToscaService, - restService: RestService) { - // Init the I18n function. - // this language will be used as a fallback when a translation isn't found in the current language - translate.setDefaultLang('en'); - // the lang to use, if the lang isn't available, it will use the current loader to get them - const topWin: any = window.top; - let browserLang = ''; - if (topWin.getLanguage && typeof topWin.getLanguage == 'function') { - browserLang = topWin.getLanguage() || ''; - } else { - // browserLang = translate.getBrowserCultureLang() || ''; - // by default, window.navigator.languages will return a language list with the users prefered language as the first one. - // then, browserLang may with the result of translate.getBrowserCultureLang(). - // but chrome version 57 not implement this functional. The first is not the user's prefered. - // So, browserLang can only use window.navigator.language as the user's prefered language. - browserLang = window.navigator.language; - } - translate.use(browserLang); - } - - public ngOnInit() { - // this.broadcastService.openRight$.subscribe(hasRight => { - // this.isAuthorized = hasRight; - // }); - this.isAuthorized = true; - this.broadcastService.updateModelToscaConfig$.subscribe(tosca => { - this.toscaLoaded = true; - }); - this.broadcastService.updateModelRestConfig$.subscribe(swagger => { - this.restLoaded = true; - }); - this.broadcastService.updateNodeTypeConfig$.subscribe(type => { - this.typeLoaded = true; - }); - } -} diff --git a/sdc-workflow-designer-ui/src/app/app.module.ts b/sdc-workflow-designer-ui/src/app/app.module.ts deleted file mode 100644 index 66ea97cd..00000000 --- a/sdc-workflow-designer-ui/src/app/app.module.ts +++ /dev/null @@ -1,158 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -import { NgModule } from '@angular/core'; -import { BrowserModule } from '@angular/platform-browser'; -import { RouterModule } from '@angular/router'; -import {BrowserAnimationsModule} from "@angular/platform-browser/animations"; -import { AccordionModule } from 'ngx-bootstrap/accordion'; -import { AlertModule, ModalModule } from 'ngx-bootstrap/index'; -import { NgxTreeSelectModule } from 'ngx-tree-select'; -import { HttpClientModule, HttpClient } from '@angular/common/http'; -import { TranslateModule, TranslateLoader } from '@ngx-translate/core'; -import { TranslateHttpLoader } from '@ngx-translate/http-loader'; - -import { AppComponent } from './app.component'; -import { ContainerComponent } from './components/container/container.component'; -import { EditablePropertyComponent } from './components/editable-property/editable-property.component'; -import { NodeParametersComponent } from './components/property/rest-task/node-parameters/node-parameters.component'; -import { ParameterTreeComponent } from './components/property/rest-task/node-parameters/parameter-tree/parameter-tree.component'; -import { NodeComponent } from './components/node/node.component'; -import { ParameterComponent } from './components/parameter/parameter.component'; -import { IntermediateCatchEventComponent } from './components/property/intermediate-catch-event/intermediate-catch-event.component'; -import { NodeTemplateComponent } from './components/property/node-template/node-template.component'; -import { PropertiesComponent } from './components/property/properties.component'; -import { RestTaskComponent } from './components/property/rest-task/rest-task.component'; -import { ErrorEventComponent } from './components/property/error-event/error-event.component'; -import { StartEventComponent } from './components/property/start-event/start-event.component'; -import { SequenceFlowComponent } from './components/sequence-flow/sequence-flow.component'; -import { RestConfigDetailComponent } from './components/menus/rest-config/rest-config-detail/rest-config-detail.component'; -import { RestConfigListComponent } from './components/menus/rest-config/rest-config-list/rest-config-list.component'; -import { RestConfigComponent } from './components/menus/rest-config/rest-config.component'; -import { ToolbarComponent } from './components/toolbar/toolbar.component'; - -import { ResizableDirective } from './directive/resizable/resizable.directive'; - -import { AuthService } from './services/auth.service'; -import { BroadcastService } from './services/broadcast.service'; -import { InterfaceService } from './services/interface.service'; -import { JsPlumbService } from './services/jsplumb.service'; -import { ModelService } from './services/model.service'; -import { NoticeService } from './services/notice.service'; -import { RestService } from './services/rest.service'; -import { SwaggerTreeConverterService } from './services/swagger-tree-converter.service'; -import { SettingService } from './services/setting.service'; -import { ToscaService } from './services/tosca.service'; - -import { SharedModule } from './shared/shared.module'; -import { HttpService } from './util/http.service'; -import { GlobalNoticeComponent } from './components/global-notice/global-notice.component'; -import { MenusComponent } from './components/menus/menus.component'; -import { ScriptTaskComponent } from "./components/property/script-task/script-task.component"; -import { ToolbarNodeComponent } from "./components/toolbar/toolbar-node/toolbar-node.component"; -import { NodeTypeService } from "./services/node-type.service"; -import { DisplayInfoService } from "./services/display-info.service"; -import { ServiceTaskComponent } from './components/property/service-task/service-task.component'; -import { RestParametersComponent } from './components/property/rest-task/rest-parameters/rest-parameters.component'; -import {WfmInputModule} from "./shared/input/wfm-text-input.module"; -import { PlxTextInputModule } from "./paletx/plx-text-input/index"; -import { PlxTooltipModule } from "./paletx/plx-tooltip/plx-tooltip.module"; -import { PlxModalModule } from "./paletx/plx-modal/modal.module"; -import { PlxDatePickerModule } from "./paletx/plx-datepicker/picker.module"; - -// AoT requires an exported function for factories -export function HttpLoaderFactory(http: HttpClient) { - return new TranslateHttpLoader(http, './assets/i18n/', '.json'); -} - -@NgModule({ - declarations: [ - AppComponent, - ContainerComponent, - EditablePropertyComponent, - ErrorEventComponent, - IntermediateCatchEventComponent, - NodeComponent, - NodeParametersComponent, - NodeTemplateComponent, - ParameterComponent, - ParameterTreeComponent, - PropertiesComponent, - RestConfigComponent, - RestTaskComponent, - SequenceFlowComponent, - ScriptTaskComponent, - StartEventComponent, - ToolbarComponent, - ToolbarNodeComponent, - RestConfigDetailComponent, - RestConfigListComponent, - ResizableDirective, - GlobalNoticeComponent, - MenusComponent, - ServiceTaskComponent, - RestParametersComponent - ], - providers: [ - AuthService, - BroadcastService, - HttpService, - JsPlumbService, - ModelService, - NoticeService, - RestService, - SwaggerTreeConverterService, - InterfaceService, - SettingService, - ToscaService, - NodeTypeService, - DisplayInfoService - ], - imports: [ - AccordionModule.forRoot(), - AlertModule.forRoot(), - BrowserModule, - BrowserAnimationsModule, - ModalModule.forRoot(), - RouterModule.forRoot([]), - SharedModule, - PlxTextInputModule, - PlxTooltipModule, - PlxModalModule.forRoot(), - PlxDatePickerModule, - NgxTreeSelectModule.forRoot({ - allowFilter: true, - // filterPlaceholder: 'Type your filter here...', - maxVisibleItemCount: 5, - idField: 'id', - textField: 'name', - childrenField: 'children', - allowParentSelection: false, - expandMode: 'Selection' - }), - HttpClientModule, - TranslateModule.forRoot({ - loader: { - provide: TranslateLoader, - useFactory: HttpLoaderFactory, - deps: [HttpClient] - } - }), - WfmInputModule - ], - bootstrap: [ - AppComponent, - ], -}) -export class AppModule { - -} diff --git a/sdc-workflow-designer-ui/src/app/assets/.gitkeep b/sdc-workflow-designer-ui/src/app/assets/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/sdc-workflow-designer-ui/src/app/assets/components/css/bootstrap4.0.css b/sdc-workflow-designer-ui/src/app/assets/components/css/bootstrap4.0.css deleted file mode 100644 index d52c5848..00000000 --- a/sdc-workflow-designer-ui/src/app/assets/components/css/bootstrap4.0.css +++ /dev/null @@ -1,9320 +0,0 @@ -/*! - * Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com) - * Copyright 2011-2017 The Bootstrap Authors - * Copyright 2011-2017 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ -/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */ -html { - font-family: sans-serif; - line-height: 1.15; - -ms-text-size-adjust: 100%; - -webkit-text-size-adjust: 100%; -} - -body { - margin: 0; -} - -article, -aside, -footer, -header, -nav, -section { - display: block; -} - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -figcaption, -figure, -main { - display: block; -} - -figure { - margin: 1em 40px; -} - -hr { - -webkit-box-sizing: content-box; - box-sizing: content-box; - height: 0; - overflow: visible; -} - -pre { - font-family: monospace, monospace; - font-size: 1em; -} - -a { - background-color: transparent; - -webkit-text-decoration-skip: objects; -} - -a:active, -a:hover { - outline-width: 0; -} - -abbr[title] { - border-bottom: none; - text-decoration: underline; - text-decoration: underline dotted; -} - -b, -strong { - font-weight: inherit; -} - -b, -strong { - font-weight: bolder; -} - -code, -kbd, -samp { - font-family: monospace, monospace; - font-size: 1em; -} - -dfn { - font-style: italic; -} - -mark { - background-color: #ff0; - color: #000; -} - -small { - font-size: 80%; -} - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sub { - bottom: -0.25em; -} - -sup { - top: -0.5em; -} - -audio, -video { - display: inline-block; -} - -audio:not([controls]) { - display: none; - height: 0; -} - -img { - border-style: none; -} - -svg:not(:root) { - overflow: hidden; -} - -button, -input, -optgroup, -select, -textarea { - font-family: sans-serif; - font-size: 100%; - line-height: 1.15; - margin: 0; -} - -button, -input { - overflow: visible; -} - -button, -select { - text-transform: none; -} - -button, -html [type="button"], -[type="reset"], -[type="submit"] { - -webkit-appearance: button; -} - -button::-moz-focus-inner, -[type="button"]::-moz-focus-inner, -[type="reset"]::-moz-focus-inner, -[type="submit"]::-moz-focus-inner { - border-style: none; - padding: 0; -} - -button:-moz-focusring, -[type="button"]:-moz-focusring, -[type="reset"]:-moz-focusring, -[type="submit"]:-moz-focusring { - outline: 1px dotted ButtonText; -} - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -legend { - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: inherit; - display: table; - max-width: 100%; - padding: 0; - white-space: normal; -} - -progress { - display: inline-block; - vertical-align: baseline; -} - -textarea { - overflow: auto; -} - -[type="checkbox"], -[type="radio"] { - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding: 0; -} - -[type="number"]::-webkit-inner-spin-button, -[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -[type="search"] { - -webkit-appearance: textfield; - outline-offset: -2px; -} - -[type="search"]::-webkit-search-cancel-button, -[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -::-webkit-file-upload-button { - -webkit-appearance: button; - font: inherit; -} - -details, -menu { - display: block; -} - -summary { - display: list-item; -} - -canvas { - display: inline-block; -} - -template { - display: none; -} - -[hidden] { - display: none; -} - -@media print { - *, - *::before, - *::after, - p::first-letter, - div::first-letter, - blockquote::first-letter, - li::first-letter, - p::first-line, - div::first-line, - blockquote::first-line, - li::first-line { - text-shadow: none !important; - -webkit-box-shadow: none !important; - box-shadow: none !important; - } - a, - a:visited { - text-decoration: underline; - } - abbr[title]::after { - content: " (" attr(title) ")"; - } - pre { - white-space: pre-wrap !important; - } - pre, - blockquote { - border: 1px solid #999; - page-break-inside: avoid; - } - thead { - display: table-header-group; - } - tr, - img { - page-break-inside: avoid; - } - p, - h2, - h3 { - orphans: 3; - widows: 3; - } - h2, - h3 { - page-break-after: avoid; - } - .navbar { - display: none; - } - .badge { - 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; - } -} - -html { - -webkit-box-sizing: border-box; - box-sizing: border-box; -} - -*, -*::before, -*::after { - -webkit-box-sizing: inherit; - box-sizing: inherit; -} - -@-ms-viewport { - width: device-width; -} - -html { - -ms-overflow-style: scrollbar; - -webkit-tap-highlight-color: transparent; -} - -body { - font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; - font-size: 1rem; - font-weight: normal; - line-height: 1.5; - color: #292b2c; - background-color: #fff; -} - -[tabindex="-1"]:focus { - outline: none !important; -} - -h1, h2, h3, h4, h5, h6 { - margin-top: 0; - margin-bottom: .5rem; -} - -p { - margin-top: 0; - margin-bottom: 1rem; -} - -abbr[title], -abbr[data-original-title] { - cursor: help; -} - -address { - margin-bottom: 1rem; - font-style: normal; - line-height: inherit; -} - -ol, -ul, -dl { - margin-top: 0; - margin-bottom: 1rem; -} - -ol ol, -ul ul, -ol ul, -ul ol { - margin-bottom: 0; -} - -dt { - font-weight: bold; -} - -dd { - margin-bottom: .5rem; - margin-left: 0; -} - -blockquote { - margin: 0 0 1rem; -} - -a { - color: #0275d8; - text-decoration: none; -} - -a:focus, a:hover { - color: #014c8c; - text-decoration: underline; -} - -a:not([href]):not([tabindex]) { - color: inherit; - text-decoration: none; -} - -a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover { - color: inherit; - text-decoration: none; -} - -a:not([href]):not([tabindex]):focus { - outline: 0; -} - -pre { - margin-top: 0; - margin-bottom: 1rem; - overflow: auto; -} - -figure { - margin: 0 0 1rem; -} - -img { - vertical-align: middle; -} - -[role="button"] { - cursor: pointer; -} - -a, -area, -button, -[role="button"], -input, -label, -select, -summary, -textarea { - -ms-touch-action: manipulation; - touch-action: manipulation; -} - -table { - border-collapse: collapse; - background-color: transparent; -} - -caption { - padding-top: 0.75rem; - padding-bottom: 0.75rem; - color: #636c72; - text-align: left; - caption-side: bottom; -} - -th { - text-align: left; -} - -label { - display: inline-block; - margin-bottom: .5rem; -} - -button:focus { - outline: 1px dotted; - outline: 5px auto -webkit-focus-ring-color; -} - -input, -button, -select, -textarea { - line-height: inherit; -} - -input[type="radio"]:disabled, -input[type="checkbox"]:disabled { - cursor: not-allowed; -} - -input[type="date"], -input[type="time"], -input[type="datetime-local"], -input[type="month"] { - -webkit-appearance: listbox; -} - -textarea { - resize: vertical; -} - -fieldset { - min-width: 0; - padding: 0; - margin: 0; - border: 0; -} - -legend { - display: block; - width: 100%; - padding: 0; - margin-bottom: .5rem; - font-size: 1.5rem; - line-height: inherit; -} - -input[type="search"] { - -webkit-appearance: none; -} - -output { - display: inline-block; -} - -[hidden] { - display: none !important; -} - -h1, h2, h3, h4, h5, h6, -.h1, .h2, .h3, .h4, .h5, .h6 { - margin-bottom: 0.5rem; - font-family: inherit; - font-weight: 500; - line-height: 1.1; - color: inherit; -} - -h1, .h1 { - font-size: 2.5rem; -} - -h2, .h2 { - font-size: 2rem; -} - -h3, .h3 { - font-size: 1.75rem; -} - -h4, .h4 { - font-size: 1.5rem; -} - -h5, .h5 { - font-size: 1.25rem; -} - -h6, .h6 { - font-size: 1rem; -} - -.lead { - font-size: 1.25rem; - font-weight: 300; -} - -.display-1 { - font-size: 6rem; - font-weight: 300; - line-height: 1.1; -} - -.display-2 { - font-size: 5.5rem; - font-weight: 300; - line-height: 1.1; -} - -.display-3 { - font-size: 4.5rem; - font-weight: 300; - line-height: 1.1; -} - -.display-4 { - font-size: 3.5rem; - font-weight: 300; - line-height: 1.1; -} - -hr { - margin-top: 1rem; - margin-bottom: 1rem; - border: 0; - border-top: 1px solid rgba(0, 0, 0, 0.1); -} - -small, -.small { - font-size: 80%; - font-weight: normal; -} - -mark, -.mark { - padding: 0.2em; - background-color: #fcf8e3; -} - -.list-unstyled { - padding-left: 0; - list-style: none; -} - -.list-inline { - padding-left: 0; - list-style: none; -} - -.list-inline-item { - display: inline-block; -} - -.list-inline-item:not(:last-child) { - margin-right: 5px; -} - -.initialism { - font-size: 90%; - text-transform: uppercase; -} - -.blockquote { - padding: 0.5rem 1rem; - margin-bottom: 1rem; - font-size: 1.25rem; - border-left: 0.25rem solid #eceeef; -} - -.blockquote-footer { - display: block; - font-size: 80%; - color: #636c72; -} - -.blockquote-footer::before { - content: "\2014 \00A0"; -} - -.blockquote-reverse { - padding-right: 1rem; - padding-left: 0; - text-align: right; - border-right: 0.25rem solid #eceeef; - border-left: 0; -} - -.blockquote-reverse .blockquote-footer::before { - content: ""; -} - -.blockquote-reverse .blockquote-footer::after { - content: "\00A0 \2014"; -} - -.img-fluid { - max-width: 100%; - height: auto; -} - -.img-thumbnail { - padding: 0.25rem; - background-color: #fff; - border: 1px solid #ddd; - border-radius: 0.25rem; - -webkit-transition: all 0.2s ease-in-out; - -o-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; - max-width: 100%; - height: auto; -} - -.figure { - display: inline-block; -} - -.figure-img { - margin-bottom: 0.5rem; - line-height: 1; -} - -.figure-caption { - font-size: 90%; - color: #636c72; -} - -code, -kbd, -pre, -samp { - font-family: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; -} - -code { - padding: 0.2rem 0.4rem; - font-size: 90%; - color: #bd4147; - background-color: #f7f7f9; - border-radius: 0.25rem; -} - -a > code { - padding: 0; - color: inherit; - background-color: inherit; -} - -kbd { - padding: 0.2rem 0.4rem; - font-size: 90%; - color: #fff; - background-color: #292b2c; - border-radius: 0.2rem; -} - -kbd kbd { - padding: 0; - font-size: 100%; - font-weight: bold; -} - -pre { - display: block; - margin-top: 0; - margin-bottom: 1rem; - font-size: 90%; - color: #292b2c; -} - -pre code { - padding: 0; - font-size: inherit; - color: inherit; - background-color: transparent; - border-radius: 0; -} - -.pre-scrollable { - max-height: 340px; - overflow-y: scroll; -} - -.container { - position: relative; - margin-left: auto; - margin-right: auto; - padding-right: 15px; - padding-left: 15px; -} - -@media (min-width: 576px) { - .container { - padding-right: 15px; - padding-left: 15px; - } -} - -@media (min-width: 768px) { - .container { - padding-right: 15px; - padding-left: 15px; - } -} - -@media (min-width: 992px) { - .container { - padding-right: 15px; - padding-left: 15px; - } -} - -@media (min-width: 1200px) { - .container { - padding-right: 15px; - padding-left: 15px; - } -} - -@media (min-width: 576px) { - .container { - width: 540px; - max-width: 100%; - } -} - -@media (min-width: 768px) { - .container { - width: 720px; - max-width: 100%; - } -} - -@media (min-width: 992px) { - .container { - width: 960px; - max-width: 100%; - } -} - -@media (min-width: 1200px) { - .container { - width: 1140px; - max-width: 100%; - } -} - -.container-fluid { - position: relative; - margin-left: auto; - margin-right: auto; - padding-right: 15px; - padding-left: 15px; -} - -@media (min-width: 576px) { - .container-fluid { - padding-right: 15px; - padding-left: 15px; - } -} - -@media (min-width: 768px) { - .container-fluid { - padding-right: 15px; - padding-left: 15px; - } -} - -@media (min-width: 992px) { - .container-fluid { - padding-right: 15px; - padding-left: 15px; - } -} - -@media (min-width: 1200px) { - .container-fluid { - padding-right: 15px; - padding-left: 15px; - } -} - -.row { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-wrap: wrap; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - margin-right: -15px; - margin-left: -15px; -} - -@media (min-width: 576px) { - .row { - margin-right: -15px; - margin-left: -15px; - } -} - -@media (min-width: 768px) { - .row { - margin-right: -15px; - margin-left: -15px; - } -} - -@media (min-width: 992px) { - .row { - margin-right: -15px; - margin-left: -15px; - } -} - -@media (min-width: 1200px) { - .row { - margin-right: -15px; - margin-left: -15px; - } -} - -.no-gutters { - margin-right: 0; - margin-left: 0; -} - -.no-gutters > .col, -.no-gutters > [class*="col-"] { - padding-right: 0; - padding-left: 0; -} - -.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .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, .col-sm, .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, .col-md, .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, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl { - position: relative; - width: 100%; - min-height: 1px; - padding-right: 15px; - padding-left: 15px; -} - -@media (min-width: 576px) { - .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .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, .col-sm, .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, .col-md, .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, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl { - padding-right: 15px; - padding-left: 15px; - } -} - -@media (min-width: 768px) { - .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .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, .col-sm, .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, .col-md, .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, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl { - padding-right: 15px; - padding-left: 15px; - } -} - -@media (min-width: 992px) { - .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .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, .col-sm, .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, .col-md, .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, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl { - padding-right: 15px; - padding-left: 15px; - } -} - -@media (min-width: 1200px) { - .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .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, .col-sm, .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, .col-md, .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, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl { - padding-right: 15px; - padding-left: 15px; - } -} - -.col { - -webkit-flex-basis: 0; - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; -} - -.col-auto { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; -} - -.col-1 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 8.333333%; - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; -} - -.col-2 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 16.666667%; - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; -} - -.col-3 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 25%; - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; -} - -.col-4 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 33.333333%; - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; -} - -.col-5 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 41.666667%; - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; -} - -.col-6 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 50%; - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; -} - -.col-7 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 58.333333%; - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; -} - -.col-8 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 66.666667%; - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; -} - -.col-9 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 75%; - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; -} - -.col-10 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 83.333333%; - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; -} - -.col-11 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 91.666667%; - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; -} - -.col-12 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 100%; - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; -} - -.pull-0 { - right: auto; -} - -.pull-1 { - right: 8.333333%; -} - -.pull-2 { - right: 16.666667%; -} - -.pull-3 { - right: 25%; -} - -.pull-4 { - right: 33.333333%; -} - -.pull-5 { - right: 41.666667%; -} - -.pull-6 { - right: 50%; -} - -.pull-7 { - right: 58.333333%; -} - -.pull-8 { - right: 66.666667%; -} - -.pull-9 { - right: 75%; -} - -.pull-10 { - right: 83.333333%; -} - -.pull-11 { - right: 91.666667%; -} - -.pull-12 { - right: 100%; -} - -.push-0 { - left: auto; -} - -.push-1 { - left: 8.333333%; -} - -.push-2 { - left: 16.666667%; -} - -.push-3 { - left: 25%; -} - -.push-4 { - left: 33.333333%; -} - -.push-5 { - left: 41.666667%; -} - -.push-6 { - left: 50%; -} - -.push-7 { - left: 58.333333%; -} - -.push-8 { - left: 66.666667%; -} - -.push-9 { - left: 75%; -} - -.push-10 { - left: 83.333333%; -} - -.push-11 { - left: 91.666667%; -} - -.push-12 { - left: 100%; -} - -.offset-1 { - margin-left: 8.333333%; -} - -.offset-2 { - margin-left: 16.666667%; -} - -.offset-3 { - margin-left: 25%; -} - -.offset-4 { - margin-left: 33.333333%; -} - -.offset-5 { - margin-left: 41.666667%; -} - -.offset-6 { - margin-left: 50%; -} - -.offset-7 { - margin-left: 58.333333%; -} - -.offset-8 { - margin-left: 66.666667%; -} - -.offset-9 { - margin-left: 75%; -} - -.offset-10 { - margin-left: 83.333333%; -} - -.offset-11 { - margin-left: 91.666667%; -} - -@media (min-width: 576px) { - .col-sm { - -webkit-flex-basis: 0; - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - .col-sm-auto { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - } - .col-sm-1 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 8.333333%; - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-sm-2 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 16.666667%; - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-sm-3 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 25%; - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; - } - .col-sm-4 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 33.333333%; - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-sm-5 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 41.666667%; - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-sm-6 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 50%; - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; - } - .col-sm-7 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 58.333333%; - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-sm-8 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 66.666667%; - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-sm-9 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 75%; - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; - } - .col-sm-10 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 83.333333%; - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-sm-11 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 91.666667%; - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-sm-12 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 100%; - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; - } - .pull-sm-0 { - right: auto; - } - .pull-sm-1 { - right: 8.333333%; - } - .pull-sm-2 { - right: 16.666667%; - } - .pull-sm-3 { - right: 25%; - } - .pull-sm-4 { - right: 33.333333%; - } - .pull-sm-5 { - right: 41.666667%; - } - .pull-sm-6 { - right: 50%; - } - .pull-sm-7 { - right: 58.333333%; - } - .pull-sm-8 { - right: 66.666667%; - } - .pull-sm-9 { - right: 75%; - } - .pull-sm-10 { - right: 83.333333%; - } - .pull-sm-11 { - right: 91.666667%; - } - .pull-sm-12 { - right: 100%; - } - .push-sm-0 { - left: auto; - } - .push-sm-1 { - left: 8.333333%; - } - .push-sm-2 { - left: 16.666667%; - } - .push-sm-3 { - left: 25%; - } - .push-sm-4 { - left: 33.333333%; - } - .push-sm-5 { - left: 41.666667%; - } - .push-sm-6 { - left: 50%; - } - .push-sm-7 { - left: 58.333333%; - } - .push-sm-8 { - left: 66.666667%; - } - .push-sm-9 { - left: 75%; - } - .push-sm-10 { - left: 83.333333%; - } - .push-sm-11 { - left: 91.666667%; - } - .push-sm-12 { - left: 100%; - } - .offset-sm-0 { - margin-left: 0%; - } - .offset-sm-1 { - margin-left: 8.333333%; - } - .offset-sm-2 { - margin-left: 16.666667%; - } - .offset-sm-3 { - margin-left: 25%; - } - .offset-sm-4 { - margin-left: 33.333333%; - } - .offset-sm-5 { - margin-left: 41.666667%; - } - .offset-sm-6 { - margin-left: 50%; - } - .offset-sm-7 { - margin-left: 58.333333%; - } - .offset-sm-8 { - margin-left: 66.666667%; - } - .offset-sm-9 { - margin-left: 75%; - } - .offset-sm-10 { - margin-left: 83.333333%; - } - .offset-sm-11 { - margin-left: 91.666667%; - } -} - -@media (min-width: 768px) { - .col-md { - -webkit-flex-basis: 0; - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - .col-md-auto { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - } - .col-md-1 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 8.333333%; - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-md-2 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 16.666667%; - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-md-3 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 25%; - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; - } - .col-md-4 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 33.333333%; - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-md-5 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 41.666667%; - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-md-6 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 50%; - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; - } - .col-md-7 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 58.333333%; - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-md-8 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 66.666667%; - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-md-9 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 75%; - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; - } - .col-md-10 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 83.333333%; - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-md-11 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 91.666667%; - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-md-12 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 100%; - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; - } - .pull-md-0 { - right: auto; - } - .pull-md-1 { - right: 8.333333%; - } - .pull-md-2 { - right: 16.666667%; - } - .pull-md-3 { - right: 25%; - } - .pull-md-4 { - right: 33.333333%; - } - .pull-md-5 { - right: 41.666667%; - } - .pull-md-6 { - right: 50%; - } - .pull-md-7 { - right: 58.333333%; - } - .pull-md-8 { - right: 66.666667%; - } - .pull-md-9 { - right: 75%; - } - .pull-md-10 { - right: 83.333333%; - } - .pull-md-11 { - right: 91.666667%; - } - .pull-md-12 { - right: 100%; - } - .push-md-0 { - left: auto; - } - .push-md-1 { - left: 8.333333%; - } - .push-md-2 { - left: 16.666667%; - } - .push-md-3 { - left: 25%; - } - .push-md-4 { - left: 33.333333%; - } - .push-md-5 { - left: 41.666667%; - } - .push-md-6 { - left: 50%; - } - .push-md-7 { - left: 58.333333%; - } - .push-md-8 { - left: 66.666667%; - } - .push-md-9 { - left: 75%; - } - .push-md-10 { - left: 83.333333%; - } - .push-md-11 { - left: 91.666667%; - } - .push-md-12 { - left: 100%; - } - .offset-md-0 { - margin-left: 0%; - } - .offset-md-1 { - margin-left: 8.333333%; - } - .offset-md-2 { - margin-left: 16.666667%; - } - .offset-md-3 { - margin-left: 25%; - } - .offset-md-4 { - margin-left: 33.333333%; - } - .offset-md-5 { - margin-left: 41.666667%; - } - .offset-md-6 { - margin-left: 50%; - } - .offset-md-7 { - margin-left: 58.333333%; - } - .offset-md-8 { - margin-left: 66.666667%; - } - .offset-md-9 { - margin-left: 75%; - } - .offset-md-10 { - margin-left: 83.333333%; - } - .offset-md-11 { - margin-left: 91.666667%; - } -} - -@media (min-width: 992px) { - .col-lg { - -webkit-flex-basis: 0; - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - .col-lg-auto { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - } - .col-lg-1 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 8.333333%; - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-lg-2 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 16.666667%; - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-lg-3 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 25%; - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; - } - .col-lg-4 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 33.333333%; - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-lg-5 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 41.666667%; - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-lg-6 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 50%; - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; - } - .col-lg-7 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 58.333333%; - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-lg-8 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 66.666667%; - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-lg-9 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 75%; - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; - } - .col-lg-10 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 83.333333%; - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-lg-11 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 91.666667%; - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-lg-12 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 100%; - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; - } - .pull-lg-0 { - right: auto; - } - .pull-lg-1 { - right: 8.333333%; - } - .pull-lg-2 { - right: 16.666667%; - } - .pull-lg-3 { - right: 25%; - } - .pull-lg-4 { - right: 33.333333%; - } - .pull-lg-5 { - right: 41.666667%; - } - .pull-lg-6 { - right: 50%; - } - .pull-lg-7 { - right: 58.333333%; - } - .pull-lg-8 { - right: 66.666667%; - } - .pull-lg-9 { - right: 75%; - } - .pull-lg-10 { - right: 83.333333%; - } - .pull-lg-11 { - right: 91.666667%; - } - .pull-lg-12 { - right: 100%; - } - .push-lg-0 { - left: auto; - } - .push-lg-1 { - left: 8.333333%; - } - .push-lg-2 { - left: 16.666667%; - } - .push-lg-3 { - left: 25%; - } - .push-lg-4 { - left: 33.333333%; - } - .push-lg-5 { - left: 41.666667%; - } - .push-lg-6 { - left: 50%; - } - .push-lg-7 { - left: 58.333333%; - } - .push-lg-8 { - left: 66.666667%; - } - .push-lg-9 { - left: 75%; - } - .push-lg-10 { - left: 83.333333%; - } - .push-lg-11 { - left: 91.666667%; - } - .push-lg-12 { - left: 100%; - } - .offset-lg-0 { - margin-left: 0%; - } - .offset-lg-1 { - margin-left: 8.333333%; - } - .offset-lg-2 { - margin-left: 16.666667%; - } - .offset-lg-3 { - margin-left: 25%; - } - .offset-lg-4 { - margin-left: 33.333333%; - } - .offset-lg-5 { - margin-left: 41.666667%; - } - .offset-lg-6 { - margin-left: 50%; - } - .offset-lg-7 { - margin-left: 58.333333%; - } - .offset-lg-8 { - margin-left: 66.666667%; - } - .offset-lg-9 { - margin-left: 75%; - } - .offset-lg-10 { - margin-left: 83.333333%; - } - .offset-lg-11 { - margin-left: 91.666667%; - } -} - -@media (min-width: 1200px) { - .col-xl { - -webkit-flex-basis: 0; - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - .col-xl-auto { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - } - .col-xl-1 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 8.333333%; - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-xl-2 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 16.666667%; - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-xl-3 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 25%; - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; - } - .col-xl-4 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 33.333333%; - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-xl-5 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 41.666667%; - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-xl-6 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 50%; - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; - } - .col-xl-7 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 58.333333%; - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-xl-8 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 66.666667%; - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-xl-9 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 75%; - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; - } - .col-xl-10 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 83.333333%; - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-xl-11 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 91.666667%; - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-xl-12 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 100%; - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; - } - .pull-xl-0 { - right: auto; - } - .pull-xl-1 { - right: 8.333333%; - } - .pull-xl-2 { - right: 16.666667%; - } - .pull-xl-3 { - right: 25%; - } - .pull-xl-4 { - right: 33.333333%; - } - .pull-xl-5 { - right: 41.666667%; - } - .pull-xl-6 { - right: 50%; - } - .pull-xl-7 { - right: 58.333333%; - } - .pull-xl-8 { - right: 66.666667%; - } - .pull-xl-9 { - right: 75%; - } - .pull-xl-10 { - right: 83.333333%; - } - .pull-xl-11 { - right: 91.666667%; - } - .pull-xl-12 { - right: 100%; - } - .push-xl-0 { - left: auto; - } - .push-xl-1 { - left: 8.333333%; - } - .push-xl-2 { - left: 16.666667%; - } - .push-xl-3 { - left: 25%; - } - .push-xl-4 { - left: 33.333333%; - } - .push-xl-5 { - left: 41.666667%; - } - .push-xl-6 { - left: 50%; - } - .push-xl-7 { - left: 58.333333%; - } - .push-xl-8 { - left: 66.666667%; - } - .push-xl-9 { - left: 75%; - } - .push-xl-10 { - left: 83.333333%; - } - .push-xl-11 { - left: 91.666667%; - } - .push-xl-12 { - left: 100%; - } - .offset-xl-0 { - margin-left: 0%; - } - .offset-xl-1 { - margin-left: 8.333333%; - } - .offset-xl-2 { - margin-left: 16.666667%; - } - .offset-xl-3 { - margin-left: 25%; - } - .offset-xl-4 { - margin-left: 33.333333%; - } - .offset-xl-5 { - margin-left: 41.666667%; - } - .offset-xl-6 { - margin-left: 50%; - } - .offset-xl-7 { - margin-left: 58.333333%; - } - .offset-xl-8 { - margin-left: 66.666667%; - } - .offset-xl-9 { - margin-left: 75%; - } - .offset-xl-10 { - margin-left: 83.333333%; - } - .offset-xl-11 { - margin-left: 91.666667%; - } -} - -.table { - width: 100%; - max-width: 100%; - margin-bottom: 1rem; -} - -.table th, -.table td { - padding: 0.75rem; - vertical-align: top; - border-top: 1px solid #eceeef; -} - -.table thead th { - vertical-align: bottom; - border-bottom: 2px solid #eceeef; -} - -.table tbody + tbody { - border-top: 2px solid #eceeef; -} - -.table .table { - background-color: #fff; -} - -.table-sm th, -.table-sm td { - padding: 0.3rem; -} - -.table-bordered { - border: 1px solid #eceeef; -} - -.table-bordered th, -.table-bordered td { - border: 1px solid #eceeef; -} - -.table-bordered thead th, -.table-bordered thead td { - border-bottom-width: 2px; -} - -.table-striped tbody tr:nth-of-type(odd) { - background-color: rgba(0, 0, 0, 0.05); -} - -.table-hover tbody tr:hover { - background-color: rgba(0, 0, 0, 0.075); -} - -.table-active, -.table-active > th, -.table-active > td { - background-color: rgba(0, 0, 0, 0.075); -} - -.table-hover .table-active:hover { - background-color: rgba(0, 0, 0, 0.075); -} - -.table-hover .table-active:hover > td, -.table-hover .table-active:hover > th { - background-color: rgba(0, 0, 0, 0.075); -} - -.table-success, -.table-success > th, -.table-success > td { - background-color: #dff0d8; -} - -.table-hover .table-success:hover { - background-color: #d0e9c6; -} - -.table-hover .table-success:hover > td, -.table-hover .table-success:hover > th { - background-color: #d0e9c6; -} - -.table-info, -.table-info > th, -.table-info > td { - background-color: #d9edf7; -} - -.table-hover .table-info:hover { - background-color: #c4e3f3; -} - -.table-hover .table-info:hover > td, -.table-hover .table-info:hover > th { - background-color: #c4e3f3; -} - -.table-warning, -.table-warning > th, -.table-warning > td { - background-color: #fcf8e3; -} - -.table-hover .table-warning:hover { - background-color: #faf2cc; -} - -.table-hover .table-warning:hover > td, -.table-hover .table-warning:hover > th { - background-color: #faf2cc; -} - -.table-danger, -.table-danger > th, -.table-danger > td { - background-color: #f2dede; -} - -.table-hover .table-danger:hover { - background-color: #ebcccc; -} - -.table-hover .table-danger:hover > td, -.table-hover .table-danger:hover > th { - background-color: #ebcccc; -} - -.thead-inverse th { - color: #fff; - background-color: #292b2c; -} - -.thead-default th { - color: #464a4c; - background-color: #eceeef; -} - -.table-inverse { - color: #fff; - background-color: #292b2c; -} - -.table-inverse th, -.table-inverse td, -.table-inverse thead th { - border-color: #fff; -} - -.table-inverse.table-bordered { - border: 0; -} - -.table-responsive { - display: block; - width: 100%; - overflow-x: auto; - -ms-overflow-style: -ms-autohiding-scrollbar; -} - -.table-responsive.table-bordered { - border: 0; -} - -.form-control { - display: block; - width: 100%; - padding: 0.5rem 0.75rem; - font-size: 1rem; - line-height: 1.25; - color: #464a4c; - background-color: #fff; - background-image: none; - -webkit-background-clip: padding-box; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.15); - border-radius: 0.25rem; - -webkit-transition: border-color ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s; - transition: border-color ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s; - -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; - transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; - transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s; -} - -.form-control::-ms-expand { - background-color: transparent; - border: 0; -} - -.form-control:focus { - color: #464a4c; - background-color: #fff; - border-color: #5cb3fd; - outline: none; -} - -.form-control::-webkit-input-placeholder { - color: #636c72; - opacity: 1; -} - -.form-control::-moz-placeholder { - color: #636c72; - opacity: 1; -} - -.form-control:-ms-input-placeholder { - color: #636c72; - opacity: 1; -} - -.form-control::placeholder { - color: #636c72; - opacity: 1; -} - -.form-control:disabled, .form-control[readonly] { - background-color: #eceeef; - opacity: 1; -} - -.form-control:disabled { - cursor: not-allowed; -} - -select.form-control:not([size]):not([multiple]) { - height: calc(2.25rem + 2px); -} - -select.form-control:focus::-ms-value { - color: #464a4c; - background-color: #fff; -} - -.form-control-file, -.form-control-range { - display: block; -} - -.col-form-label { - padding-top: calc(0.5rem - 1px * 2); - padding-bottom: calc(0.5rem - 1px * 2); - margin-bottom: 0; -} - -.col-form-label-lg { - padding-top: calc(0.75rem - 1px * 2); - padding-bottom: calc(0.75rem - 1px * 2); - font-size: 1.25rem; -} - -.col-form-label-sm { - padding-top: calc(0.25rem - 1px * 2); - padding-bottom: calc(0.25rem - 1px * 2); - font-size: 0.875rem; -} - -.col-form-legend { - padding-top: 0.5rem; - padding-bottom: 0.5rem; - margin-bottom: 0; - font-size: 1rem; -} - -.form-control-static { - padding-top: 0.5rem; - padding-bottom: 0.5rem; - margin-bottom: 0; - line-height: 1.25; - border: solid transparent; - border-width: 1px 0; -} - -.form-control-static.form-control-sm, .input-group-sm > .form-control-static.form-control, -.input-group-sm > .form-control-static.input-group-addon, -.input-group-sm > .input-group-btn > .form-control-static.btn, .form-control-static.form-control-lg, .input-group-lg > .form-control-static.form-control, -.input-group-lg > .form-control-static.input-group-addon, -.input-group-lg > .input-group-btn > .form-control-static.btn { - padding-right: 0; - padding-left: 0; -} - -.form-control-sm, .input-group-sm > .form-control, -.input-group-sm > .input-group-addon, -.input-group-sm > .input-group-btn > .btn { - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - border-radius: 0.2rem; -} - -select.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]), -.input-group-sm > select.input-group-addon:not([size]):not([multiple]), -.input-group-sm > .input-group-btn > select.btn:not([size]):not([multiple]) { - height: 1.8125rem; -} - -.form-control-lg, .input-group-lg > .form-control, -.input-group-lg > .input-group-addon, -.input-group-lg > .input-group-btn > .btn { - padding: 0.75rem 1.5rem; - font-size: 1.25rem; - border-radius: 0.3rem; -} - -select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]), -.input-group-lg > select.input-group-addon:not([size]):not([multiple]), -.input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]) { - height: 3.166667rem; -} - -.form-group { - margin-bottom: 1rem; -} - -.form-text { - display: block; - margin-top: 0.25rem; -} - -.form-check { - position: relative; - display: block; - margin-bottom: 0.5rem; -} - -.form-check.disabled .form-check-label { - color: #636c72; - cursor: not-allowed; -} - -.form-check-label { - padding-left: 1.25rem; - margin-bottom: 0; - cursor: pointer; -} - -.form-check-input { - position: absolute; - margin-top: 0.25rem; - margin-left: -1.25rem; -} - -.form-check-input:only-child { - position: static; -} - -.form-check-inline { - display: inline-block; -} - -.form-check-inline .form-check-label { - vertical-align: middle; -} - -.form-check-inline + .form-check-inline { - margin-left: 0.75rem; -} - -.form-control-feedback { - margin-top: 0.25rem; -} - -.form-control-success, -.form-control-warning, -.form-control-danger { - padding-right: 2.25rem; - background-repeat: no-repeat; - background-position: center right 0.5625rem; - -webkit-background-size: 1.125rem 1.125rem; - background-size: 1.125rem 1.125rem; -} - -.has-success .form-control-feedback, -.has-success .form-control-label, -.has-success .col-form-label, -.has-success .form-check-label, -.has-success .custom-control { - color: #5cb85c; -} - -.has-success .form-control { - border-color: #5cb85c; -} - -.has-success .input-group-addon { - color: #5cb85c; - border-color: #5cb85c; - background-color: #eaf6ea; -} - -.has-success .form-control-success { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E"); -} - -.has-warning .form-control-feedback, -.has-warning .form-control-label, -.has-warning .col-form-label, -.has-warning .form-check-label, -.has-warning .custom-control { - color: #f0ad4e; -} - -.has-warning .form-control { - border-color: #f0ad4e; -} - -.has-warning .input-group-addon { - color: #f0ad4e; - border-color: #f0ad4e; - background-color: white; -} - -.has-warning .form-control-warning { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E"); -} - -.has-danger .form-control-feedback, -.has-danger .form-control-label, -.has-danger .col-form-label, -.has-danger .form-check-label, -.has-danger .custom-control { - color: #d9534f; -} - -.has-danger .form-control { - border-color: #d9534f; -} - -.has-danger .input-group-addon { - color: #d9534f; - border-color: #d9534f; - background-color: #fdf7f7; -} - -.has-danger .form-control-danger { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E"); -} - -.form-inline { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-flow: row wrap; - -ms-flex-flow: row wrap; - flex-flow: row wrap; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; -} - -.form-inline .form-check { - width: 100%; -} - -@media (min-width: 576px) { - .form-inline label { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - margin-bottom: 0; - } - .form-inline .form-group { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - -webkit-flex-flow: row wrap; - -ms-flex-flow: row wrap; - flex-flow: row wrap; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - margin-bottom: 0; - } - .form-inline .form-control { - display: inline-block; - width: auto; - vertical-align: middle; - } - .form-inline .form-control-static { - display: inline-block; - } - .form-inline .input-group { - width: auto; - } - .form-inline .form-control-label { - margin-bottom: 0; - vertical-align: middle; - } - .form-inline .form-check { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - width: auto; - margin-top: 0; - margin-bottom: 0; - } - .form-inline .form-check-label { - padding-left: 0; - } - .form-inline .form-check-input { - position: relative; - margin-top: 0; - margin-right: 0.25rem; - margin-left: 0; - } - .form-inline .custom-control { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - padding-left: 0; - } - .form-inline .custom-control-indicator { - position: static; - display: inline-block; - margin-right: 0.25rem; - vertical-align: text-bottom; - } - .form-inline .has-feedback .form-control-feedback { - top: 0; - } -} - -.btn { - display: inline-block; - font-weight: normal; - line-height: 1.25; - text-align: center; - white-space: nowrap; - vertical-align: middle; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - border: 1px solid transparent; - padding: 0.5rem 1rem; - font-size: 1rem; - border-radius: 0.25rem; - -webkit-transition: all 0.2s ease-in-out; - -o-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; -} - -.btn:focus, .btn:hover { - text-decoration: none; -} - -.btn:focus, .btn.focus { - outline: 0; - -webkit-box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.25); - box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.25); -} - -.btn.disabled, .btn:disabled { - cursor: not-allowed; - opacity: .65; -} - -.btn:active, .btn.active { - background-image: none; -} - -a.btn.disabled, -fieldset[disabled] a.btn { - pointer-events: none; -} - -.btn-primary { - color: #fff; - background-color: #0275d8; - border-color: #0275d8; -} - -.btn-primary:hover { - color: #fff; - background-color: #025aa5; - border-color: #01549b; -} - -.btn-primary:focus, .btn-primary.focus { - -webkit-box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5); - box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5); -} - -.btn-primary.disabled, .btn-primary:disabled { - background-color: #0275d8; - border-color: #0275d8; -} - -.btn-primary:active, .btn-primary.active, -.show > .btn-primary.dropdown-toggle { - color: #fff; - background-color: #025aa5; - background-image: none; - border-color: #01549b; -} - -.btn-secondary { - color: #292b2c; - background-color: #fff; - border-color: #ccc; -} - -.btn-secondary:hover { - color: #292b2c; - background-color: #e6e6e6; - border-color: #adadad; -} - -.btn-secondary:focus, .btn-secondary.focus { - -webkit-box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5); - box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5); -} - -.btn-secondary.disabled, .btn-secondary:disabled { - background-color: #fff; - border-color: #ccc; -} - -.btn-secondary:active, .btn-secondary.active, -.show > .btn-secondary.dropdown-toggle { - color: #292b2c; - background-color: #e6e6e6; - background-image: none; - border-color: #adadad; -} - -.btn-info { - color: #fff; - background-color: #5bc0de; - border-color: #5bc0de; -} - -.btn-info:hover { - color: #fff; - background-color: #31b0d5; - border-color: #2aabd2; -} - -.btn-info:focus, .btn-info.focus { - -webkit-box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5); - box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5); -} - -.btn-info.disabled, .btn-info:disabled { - background-color: #5bc0de; - border-color: #5bc0de; -} - -.btn-info:active, .btn-info.active, -.show > .btn-info.dropdown-toggle { - color: #fff; - background-color: #31b0d5; - background-image: none; - border-color: #2aabd2; -} - -.btn-success { - color: #fff; - background-color: #5cb85c; - border-color: #5cb85c; -} - -.btn-success:hover { - color: #fff; - background-color: #449d44; - border-color: #419641; -} - -.btn-success:focus, .btn-success.focus { - -webkit-box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5); - box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5); -} - -.btn-success.disabled, .btn-success:disabled { - background-color: #5cb85c; - border-color: #5cb85c; -} - -.btn-success:active, .btn-success.active, -.show > .btn-success.dropdown-toggle { - color: #fff; - background-color: #449d44; - background-image: none; - border-color: #419641; -} - -.btn-warning { - color: #fff; - background-color: #f0ad4e; - border-color: #f0ad4e; -} - -.btn-warning:hover { - color: #fff; - background-color: #ec971f; - border-color: #eb9316; -} - -.btn-warning:focus, .btn-warning.focus { - -webkit-box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5); - box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5); -} - -.btn-warning.disabled, .btn-warning:disabled { - background-color: #f0ad4e; - border-color: #f0ad4e; -} - -.btn-warning:active, .btn-warning.active, -.show > .btn-warning.dropdown-toggle { - color: #fff; - background-color: #ec971f; - background-image: none; - border-color: #eb9316; -} - -.btn-danger { - color: #fff; - background-color: #d9534f; - border-color: #d9534f; -} - -.btn-danger:hover { - color: #fff; - background-color: #c9302c; - border-color: #c12e2a; -} - -.btn-danger:focus, .btn-danger.focus { - -webkit-box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5); - box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5); -} - -.btn-danger.disabled, .btn-danger:disabled { - background-color: #d9534f; - border-color: #d9534f; -} - -.btn-danger:active, .btn-danger.active, -.show > .btn-danger.dropdown-toggle { - color: #fff; - background-color: #c9302c; - background-image: none; - border-color: #c12e2a; -} - -.btn-outline-primary { - color: #0275d8; - background-image: none; - background-color: transparent; - border-color: #0275d8; -} - -.btn-outline-primary:hover { - color: #fff; - background-color: #0275d8; - border-color: #0275d8; -} - -.btn-outline-primary:focus, .btn-outline-primary.focus { - -webkit-box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5); - box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5); -} - -.btn-outline-primary.disabled, .btn-outline-primary:disabled { - color: #0275d8; - background-color: transparent; -} - -.btn-outline-primary:active, .btn-outline-primary.active, -.show > .btn-outline-primary.dropdown-toggle { - color: #fff; - background-color: #0275d8; - border-color: #0275d8; -} - -.btn-outline-secondary { - color: #ccc; - background-image: none; - background-color: transparent; - border-color: #ccc; -} - -.btn-outline-secondary:hover { - color: #fff; - background-color: #ccc; - border-color: #ccc; -} - -.btn-outline-secondary:focus, .btn-outline-secondary.focus { - -webkit-box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5); - box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5); -} - -.btn-outline-secondary.disabled, .btn-outline-secondary:disabled { - color: #ccc; - background-color: transparent; -} - -.btn-outline-secondary:active, .btn-outline-secondary.active, -.show > .btn-outline-secondary.dropdown-toggle { - color: #fff; - background-color: #ccc; - border-color: #ccc; -} - -.btn-outline-info { - color: #5bc0de; - background-image: none; - background-color: transparent; - border-color: #5bc0de; -} - -.btn-outline-info:hover { - color: #fff; - background-color: #5bc0de; - border-color: #5bc0de; -} - -.btn-outline-info:focus, .btn-outline-info.focus { - -webkit-box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5); - box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5); -} - -.btn-outline-info.disabled, .btn-outline-info:disabled { - color: #5bc0de; - background-color: transparent; -} - -.btn-outline-info:active, .btn-outline-info.active, -.show > .btn-outline-info.dropdown-toggle { - color: #fff; - background-color: #5bc0de; - border-color: #5bc0de; -} - -.btn-outline-success { - color: #5cb85c; - background-image: none; - background-color: transparent; - border-color: #5cb85c; -} - -.btn-outline-success:hover { - color: #fff; - background-color: #5cb85c; - border-color: #5cb85c; -} - -.btn-outline-success:focus, .btn-outline-success.focus { - -webkit-box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5); - box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5); -} - -.btn-outline-success.disabled, .btn-outline-success:disabled { - color: #5cb85c; - background-color: transparent; -} - -.btn-outline-success:active, .btn-outline-success.active, -.show > .btn-outline-success.dropdown-toggle { - color: #fff; - background-color: #5cb85c; - border-color: #5cb85c; -} - -.btn-outline-warning { - color: #f0ad4e; - background-image: none; - background-color: transparent; - border-color: #f0ad4e; -} - -.btn-outline-warning:hover { - color: #fff; - background-color: #f0ad4e; - border-color: #f0ad4e; -} - -.btn-outline-warning:focus, .btn-outline-warning.focus { - -webkit-box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5); - box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5); -} - -.btn-outline-warning.disabled, .btn-outline-warning:disabled { - color: #f0ad4e; - background-color: transparent; -} - -.btn-outline-warning:active, .btn-outline-warning.active, -.show > .btn-outline-warning.dropdown-toggle { - color: #fff; - background-color: #f0ad4e; - border-color: #f0ad4e; -} - -.btn-outline-danger { - color: #d9534f; - background-image: none; - background-color: transparent; - border-color: #d9534f; -} - -.btn-outline-danger:hover { - color: #fff; - background-color: #d9534f; - border-color: #d9534f; -} - -.btn-outline-danger:focus, .btn-outline-danger.focus { - -webkit-box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5); - box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5); -} - -.btn-outline-danger.disabled, .btn-outline-danger:disabled { - color: #d9534f; - background-color: transparent; -} - -.btn-outline-danger:active, .btn-outline-danger.active, -.show > .btn-outline-danger.dropdown-toggle { - color: #fff; - background-color: #d9534f; - border-color: #d9534f; -} - -.btn-link { - font-weight: normal; - color: #0275d8; - border-radius: 0; -} - -.btn-link, .btn-link:active, .btn-link.active, .btn-link:disabled { - background-color: transparent; -} - -.btn-link, .btn-link:focus, .btn-link:active { - border-color: transparent; -} - -.btn-link:hover { - border-color: transparent; -} - -.btn-link:focus, .btn-link:hover { - color: #014c8c; - text-decoration: underline; - background-color: transparent; -} - -.btn-link:disabled { - color: #636c72; -} - -.btn-link:disabled:focus, .btn-link:disabled:hover { - text-decoration: none; -} - -.btn-lg, .btn-group-lg > .btn { - padding: 0.75rem 1.5rem; - font-size: 1.25rem; - border-radius: 0.3rem; -} - -.btn-sm, .btn-group-sm > .btn { - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - border-radius: 0.2rem; -} - -.btn-block { - display: block; - width: 100%; -} - -.btn-block + .btn-block { - margin-top: 0.5rem; -} - -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.show { - opacity: 1; -} - -.collapse { - display: none; -} - -.collapse.show { - display: block; -} - -tr.collapse.show { - display: table-row; -} - -tbody.collapse.show { - display: table-row-group; -} - -.collapsing { - position: relative; - height: 0; - overflow: hidden; - -webkit-transition: height 0.35s ease; - -o-transition: height 0.35s ease; - transition: height 0.35s ease; -} - -.dropup, -.dropdown { - position: relative; -} - -.dropdown-toggle::after { - display: inline-block; - width: 0; - height: 0; - margin-left: 0.3em; - vertical-align: middle; - content: ""; - border-top: 0.3em solid; - border-right: 0.3em solid transparent; - border-left: 0.3em solid transparent; -} - -.dropdown-toggle:focus { - outline: 0; -} - -.dropup .dropdown-toggle::after { - border-top: 0; - border-bottom: 0.3em solid; -} - -.dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: 1000; - display: none; - float: left; - min-width: 10rem; - padding: 0.5rem 0; - margin: 0.125rem 0 0; - font-size: 1rem; - color: #292b2c; - text-align: left; - list-style: none; - background-color: #fff; - -webkit-background-clip: padding-box; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.15); - border-radius: 0.25rem; -} - -.dropdown-divider { - height: 1px; - margin: 0.5rem 0; - overflow: hidden; - background-color: #eceeef; -} - -.dropdown-item { - display: block; - width: 100%; - padding: 3px 1.5rem; - clear: both; - font-weight: normal; - color: #292b2c; - text-align: inherit; - white-space: nowrap; - background: none; - border: 0; -} - -.dropdown-item:focus, .dropdown-item:hover { - color: #1d1e1f; - text-decoration: none; - background-color: #f7f7f9; -} - -.dropdown-item.active, .dropdown-item:active { - color: #fff; - text-decoration: none; - background-color: #0275d8; -} - -.dropdown-item.disabled, .dropdown-item:disabled { - color: #636c72; - cursor: not-allowed; - background-color: transparent; -} - -.show > .dropdown-menu { - display: block; -} - -.show > a { - outline: 0; -} - -.dropdown-menu-right { - right: 0; - left: auto; -} - -.dropdown-menu-left { - right: auto; - left: 0; -} - -.dropdown-header { - display: block; - padding: 0.5rem 1.5rem; - margin-bottom: 0; - font-size: 0.875rem; - color: #636c72; - white-space: nowrap; -} - -.dropdown-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 990; -} - -.dropup .dropdown-menu { - top: auto; - bottom: 100%; - margin-bottom: 0.125rem; -} - -.btn-group, -.btn-group-vertical { - position: relative; - display: -webkit-inline-box; - display: -webkit-inline-flex; - display: -ms-inline-flexbox; - display: inline-flex; - vertical-align: middle; -} - -.btn-group > .btn, -.btn-group-vertical > .btn { - position: relative; - -webkit-box-flex: 0; - -webkit-flex: 0 1 auto; - -ms-flex: 0 1 auto; - flex: 0 1 auto; -} - -.btn-group > .btn:hover, -.btn-group-vertical > .btn:hover { - z-index: 2; -} - -.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, -.btn-group-vertical > .btn:focus, -.btn-group-vertical > .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, -.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-left: -1px; -} - -.btn-toolbar { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: start; - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start; -} - -.btn-toolbar .input-group { - width: auto; -} - -.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 + .dropdown-toggle-split { - padding-right: 0.75rem; - padding-left: 0.75rem; -} - -.btn + .dropdown-toggle-split::after { - margin-left: 0; -} - -.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { - padding-right: 0.375rem; - padding-left: 0.375rem; -} - -.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { - padding-right: 1.125rem; - padding-left: 1.125rem; -} - -.btn-group-vertical { - display: -webkit-inline-box; - display: -webkit-inline-flex; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-align: start; - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; -} - -.btn-group-vertical .btn, -.btn-group-vertical .btn-group { - width: 100%; -} - -.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-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} - -.btn-group-vertical > .btn:last-child:not(:first-child) { - 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; -} - -[data-toggle="buttons"] > .btn input[type="radio"], -[data-toggle="buttons"] > .btn input[type="checkbox"], -[data-toggle="buttons"] > .btn-group > .btn input[type="radio"], -[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: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - width: 100%; -} - -.input-group .form-control { - position: relative; - z-index: 2; - -webkit-box-flex: 1; - -webkit-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - width: 1%; - margin-bottom: 0; -} - -.input-group .form-control:focus, .input-group .form-control:active, .input-group .form-control:hover { - z-index: 3; -} - -.input-group-addon, -.input-group-btn, -.input-group .form-control { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; -} - -.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 { - white-space: nowrap; - vertical-align: middle; -} - -.input-group-addon { - padding: 0.5rem 0.75rem; - margin-bottom: 0; - font-size: 1rem; - font-weight: normal; - line-height: 1.25; - color: #464a4c; - text-align: center; - background-color: #eceeef; - border: 1px solid rgba(0, 0, 0, 0.15); - border-radius: 0.25rem; -} - -.input-group-addon.form-control-sm, -.input-group-sm > .input-group-addon, -.input-group-sm > .input-group-btn > .input-group-addon.btn { - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - border-radius: 0.2rem; -} - -.input-group-addon.form-control-lg, -.input-group-lg > .input-group-addon, -.input-group-lg > .input-group-btn > .input-group-addon.btn { - padding: 0.75rem 1.5rem; - font-size: 1.25rem; - border-radius: 0.3rem; -} - -.input-group-addon input[type="radio"], -.input-group-addon input[type="checkbox"] { - margin-top: 0; -} - -.input-group .form-control:not(:last-child), -.input-group-addon:not(:last-child), -.input-group-btn:not(:last-child) > .btn, -.input-group-btn:not(:last-child) > .btn-group > .btn, -.input-group-btn:not(:last-child) > .dropdown-toggle, -.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle), -.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn { - border-bottom-right-radius: 0; - border-top-right-radius: 0; -} - -.input-group-addon:not(:last-child) { - border-right: 0; -} - -.input-group .form-control:not(:first-child), -.input-group-addon:not(:first-child), -.input-group-btn:not(:first-child) > .btn, -.input-group-btn:not(:first-child) > .btn-group > .btn, -.input-group-btn:not(:first-child) > .dropdown-toggle, -.input-group-btn:not(:last-child) > .btn:not(:first-child), -.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn { - border-bottom-left-radius: 0; - border-top-left-radius: 0; -} - -.form-control + .input-group-addon:not(:first-child) { - border-left: 0; -} - -.input-group-btn { - position: relative; - font-size: 0; - white-space: nowrap; -} - -.input-group-btn > .btn { - position: relative; - -webkit-box-flex: 1; - -webkit-flex: 1 1 0%; - -ms-flex: 1 1 0%; - flex: 1 1 0%; -} - -.input-group-btn > .btn + .btn { - margin-left: -1px; -} - -.input-group-btn > .btn:focus, .input-group-btn > .btn:active, .input-group-btn > .btn:hover { - z-index: 3; -} - -.input-group-btn:not(:last-child) > .btn, -.input-group-btn:not(:last-child) > .btn-group { - margin-right: -1px; -} - -.input-group-btn:not(:first-child) > .btn, -.input-group-btn:not(:first-child) > .btn-group { - z-index: 2; - margin-left: -1px; -} - -.input-group-btn:not(:first-child) > .btn:focus, .input-group-btn:not(:first-child) > .btn:active, .input-group-btn:not(:first-child) > .btn:hover, -.input-group-btn:not(:first-child) > .btn-group:focus, -.input-group-btn:not(:first-child) > .btn-group:active, -.input-group-btn:not(:first-child) > .btn-group:hover { - z-index: 3; -} - -.custom-control { - position: relative; - display: -webkit-inline-box; - display: -webkit-inline-flex; - display: -ms-inline-flexbox; - display: inline-flex; - min-height: 1.5rem; - padding-left: 1.5rem; - margin-right: 1rem; - cursor: pointer; -} - -.custom-control-input { - position: absolute; - z-index: -1; - opacity: 0; -} - -.custom-control-input:checked ~ .custom-control-indicator { - color: #fff; - background-color: #0275d8; -} - -.custom-control-input:focus ~ .custom-control-indicator { - -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 3px #0275d8; - box-shadow: 0 0 0 1px #fff, 0 0 0 3px #0275d8; -} - -.custom-control-input:active ~ .custom-control-indicator { - color: #fff; - background-color: #8fcafe; -} - -.custom-control-input:disabled ~ .custom-control-indicator { - cursor: not-allowed; - background-color: #eceeef; -} - -.custom-control-input:disabled ~ .custom-control-description { - color: #636c72; - cursor: not-allowed; -} - -.custom-control-indicator { - position: absolute; - top: 0.25rem; - left: 0; - display: block; - width: 1rem; - height: 1rem; - pointer-events: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background-color: #ddd; - background-repeat: no-repeat; - background-position: center center; - -webkit-background-size: 50% 50%; - background-size: 50% 50%; -} - -.custom-checkbox .custom-control-indicator { - border-radius: 0.25rem; -} - -.custom-checkbox .custom-control-input:checked ~ .custom-control-indicator { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E"); -} - -.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-indicator { - background-color: #0275d8; - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E"); -} - -.custom-radio .custom-control-indicator { - border-radius: 50%; -} - -.custom-radio .custom-control-input:checked ~ .custom-control-indicator { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E"); -} - -.custom-controls-stacked { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; -} - -.custom-controls-stacked .custom-control { - margin-bottom: 0.25rem; -} - -.custom-controls-stacked .custom-control + .custom-control { - margin-left: 0; -} - -.custom-select { - display: inline-block; - max-width: 100%; - height: calc(2.25rem + 2px); - padding: 0.375rem 1.75rem 0.375rem 0.75rem; - line-height: 1.25; - color: #464a4c; - vertical-align: middle; - background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center; - -webkit-background-size: 8px 10px; - background-size: 8px 10px; - border: 1px solid rgba(0, 0, 0, 0.15); - border-radius: 0.25rem; - -moz-appearance: none; - -webkit-appearance: none; -} - -.custom-select:focus { - border-color: #5cb3fd; - outline: none; -} - -.custom-select:focus::-ms-value { - color: #464a4c; - background-color: #fff; -} - -.custom-select:disabled { - color: #636c72; - cursor: not-allowed; - background-color: #eceeef; -} - -.custom-select::-ms-expand { - opacity: 0; -} - -.custom-select-sm { - padding-top: 0.375rem; - padding-bottom: 0.375rem; - font-size: 75%; -} - -.custom-file { - position: relative; - display: inline-block; - max-width: 100%; - height: 2.5rem; - margin-bottom: 0; - cursor: pointer; -} - -.custom-file-input { - min-width: 14rem; - max-width: 100%; - height: 2.5rem; - margin: 0; - filter: alpha(opacity=0); - opacity: 0; -} - -.custom-file-control { - position: absolute; - top: 0; - right: 0; - left: 0; - z-index: 5; - height: 2.5rem; - padding: 0.5rem 1rem; - line-height: 1.5; - color: #464a4c; - pointer-events: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background-color: #fff; - border: 1px solid rgba(0, 0, 0, 0.15); - border-radius: 0.25rem; -} - -.custom-file-control:lang(en)::after { - content: "Choose file..."; -} - -.custom-file-control::before { - position: absolute; - top: -1px; - right: -1px; - bottom: -1px; - z-index: 6; - display: block; - height: 2.5rem; - padding: 0.5rem 1rem; - line-height: 1.5; - color: #464a4c; - background-color: #eceeef; - border: 1px solid rgba(0, 0, 0, 0.15); - border-radius: 0 0.25rem 0.25rem 0; -} - -.custom-file-control:lang(en)::before { - content: "Browse"; -} - -.nav { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - padding-left: 0; - margin-bottom: 0; - list-style: none; -} - -.nav-link { - display: block; - padding: 0.5em 1em; -} - -.nav-link:focus, .nav-link:hover { - text-decoration: none; -} - -.nav-link.disabled { - color: #636c72; - cursor: not-allowed; -} - -.nav-tabs { - border-bottom: 1px solid #ddd; -} - -.nav-tabs .nav-item { - margin-bottom: -1px; -} - -.nav-tabs .nav-link { - border: 1px solid transparent; - border-top-right-radius: 0.25rem; - border-top-left-radius: 0.25rem; -} - -.nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover { - border-color: #eceeef #eceeef #ddd; -} - -.nav-tabs .nav-link.disabled { - color: #636c72; - background-color: transparent; - border-color: transparent; -} - -.nav-tabs .nav-link.active, -.nav-tabs .nav-item.show .nav-link { - color: #464a4c; - background-color: #fff; - border-color: #ddd #ddd #fff; -} - -.nav-tabs .dropdown-menu { - margin-top: -1px; - border-top-right-radius: 0; - border-top-left-radius: 0; -} - -.nav-pills .nav-link { - border-radius: 0.25rem; -} - -.nav-pills .nav-link.active, -.nav-pills .nav-item.show .nav-link { - color: #fff; - cursor: default; - background-color: #0275d8; -} - -.nav-fill .nav-item { - -webkit-box-flex: 1; - -webkit-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - text-align: center; -} - -.nav-justified .nav-item { - -webkit-box-flex: 1; - -webkit-flex: 1 1 100%; - -ms-flex: 1 1 100%; - flex: 1 1 100%; - text-align: center; -} - -.tab-content > .tab-pane { - display: none; -} - -.tab-content > .active { - display: block; -} - -.navbar { - position: relative; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - padding: 0.5rem 1rem; -} - -.navbar-brand { - display: inline-block; - padding-top: .25rem; - padding-bottom: .25rem; - margin-right: 1rem; - font-size: 1.25rem; - line-height: inherit; - white-space: nowrap; -} - -.navbar-brand:focus, .navbar-brand:hover { - text-decoration: none; -} - -.navbar-nav { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - padding-left: 0; - margin-bottom: 0; - list-style: none; -} - -.navbar-nav .nav-link { - padding-right: 0; - padding-left: 0; -} - -.navbar-text { - display: inline-block; - padding-top: .425rem; - padding-bottom: .425rem; -} - -.navbar-toggler { - -webkit-align-self: flex-start; - -ms-flex-item-align: start; - align-self: flex-start; - padding: 0.25rem 0.75rem; - font-size: 1.25rem; - line-height: 1; - background: transparent; - border: 1px solid transparent; - border-radius: 0.25rem; -} - -.navbar-toggler:focus, .navbar-toggler:hover { - text-decoration: none; -} - -.navbar-toggler-icon { - display: inline-block; - width: 1.5em; - height: 1.5em; - vertical-align: middle; - content: ""; - background: no-repeat center center; - -webkit-background-size: 100% 100%; - background-size: 100% 100%; -} - -.navbar-toggler-left { - position: absolute; - left: 1rem; -} - -.navbar-toggler-right { - position: absolute; - right: 1rem; -} - -@media (max-width: 575px) { - .navbar-toggleable .navbar-nav .dropdown-menu { - position: static; - float: none; - } - .navbar-toggleable > .container { - padding-right: 0; - padding-left: 0; - } -} - -@media (min-width: 576px) { - .navbar-toggleable { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - } - .navbar-toggleable .navbar-nav { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - } - .navbar-toggleable .navbar-nav .nav-link { - padding-right: .5rem; - padding-left: .5rem; - } - .navbar-toggleable > .container { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - } - .navbar-toggleable .navbar-collapse { - display: -webkit-box !important; - display: -webkit-flex !important; - display: -ms-flexbox !important; - display: flex !important; - width: 100%; - } - .navbar-toggleable .navbar-toggler { - display: none; - } -} - -@media (max-width: 767px) { - .navbar-toggleable-sm .navbar-nav .dropdown-menu { - position: static; - float: none; - } - .navbar-toggleable-sm > .container { - padding-right: 0; - padding-left: 0; - } -} - -@media (min-width: 768px) { - .navbar-toggleable-sm { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - } - .navbar-toggleable-sm .navbar-nav { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - } - .navbar-toggleable-sm .navbar-nav .nav-link { - padding-right: .5rem; - padding-left: .5rem; - } - .navbar-toggleable-sm > .container { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - } - .navbar-toggleable-sm .navbar-collapse { - display: -webkit-box !important; - display: -webkit-flex !important; - display: -ms-flexbox !important; - display: flex !important; - width: 100%; - } - .navbar-toggleable-sm .navbar-toggler { - display: none; - } -} - -@media (max-width: 991px) { - .navbar-toggleable-md .navbar-nav .dropdown-menu { - position: static; - float: none; - } - .navbar-toggleable-md > .container { - padding-right: 0; - padding-left: 0; - } -} - -@media (min-width: 992px) { - .navbar-toggleable-md { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - } - .navbar-toggleable-md .navbar-nav { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - } - .navbar-toggleable-md .navbar-nav .nav-link { - padding-right: .5rem; - padding-left: .5rem; - } - .navbar-toggleable-md > .container { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - } - .navbar-toggleable-md .navbar-collapse { - display: -webkit-box !important; - display: -webkit-flex !important; - display: -ms-flexbox !important; - display: flex !important; - width: 100%; - } - .navbar-toggleable-md .navbar-toggler { - display: none; - } -} - -@media (max-width: 1199px) { - .navbar-toggleable-lg .navbar-nav .dropdown-menu { - position: static; - float: none; - } - .navbar-toggleable-lg > .container { - padding-right: 0; - padding-left: 0; - } -} - -@media (min-width: 1200px) { - .navbar-toggleable-lg { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - } - .navbar-toggleable-lg .navbar-nav { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - } - .navbar-toggleable-lg .navbar-nav .nav-link { - padding-right: .5rem; - padding-left: .5rem; - } - .navbar-toggleable-lg > .container { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - } - .navbar-toggleable-lg .navbar-collapse { - display: -webkit-box !important; - display: -webkit-flex !important; - display: -ms-flexbox !important; - display: flex !important; - width: 100%; - } - .navbar-toggleable-lg .navbar-toggler { - display: none; - } -} - -.navbar-toggleable-xl { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; -} - -.navbar-toggleable-xl .navbar-nav .dropdown-menu { - position: static; - float: none; -} - -.navbar-toggleable-xl > .container { - padding-right: 0; - padding-left: 0; -} - -.navbar-toggleable-xl .navbar-nav { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; -} - -.navbar-toggleable-xl .navbar-nav .nav-link { - padding-right: .5rem; - padding-left: .5rem; -} - -.navbar-toggleable-xl > .container { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; -} - -.navbar-toggleable-xl .navbar-collapse { - display: -webkit-box !important; - display: -webkit-flex !important; - display: -ms-flexbox !important; - display: flex !important; - width: 100%; -} - -.navbar-toggleable-xl .navbar-toggler { - display: none; -} - -.navbar-light .navbar-brand, -.navbar-light .navbar-toggler { - color: rgba(0, 0, 0, 0.9); -} - -.navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover, -.navbar-light .navbar-toggler:focus, -.navbar-light .navbar-toggler:hover { - color: rgba(0, 0, 0, 0.9); -} - -.navbar-light .navbar-nav .nav-link { - color: rgba(0, 0, 0, 0.5); -} - -.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover { - color: rgba(0, 0, 0, 0.7); -} - -.navbar-light .navbar-nav .nav-link.disabled { - color: rgba(0, 0, 0, 0.3); -} - -.navbar-light .navbar-nav .open > .nav-link, -.navbar-light .navbar-nav .active > .nav-link, -.navbar-light .navbar-nav .nav-link.open, -.navbar-light .navbar-nav .nav-link.active { - color: rgba(0, 0, 0, 0.9); -} - -.navbar-light .navbar-toggler { - border-color: rgba(0, 0, 0, 0.1); -} - -.navbar-light .navbar-toggler-icon { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E"); -} - -.navbar-light .navbar-text { - color: rgba(0, 0, 0, 0.5); -} - -.navbar-inverse .navbar-brand, -.navbar-inverse .navbar-toggler { - color: white; -} - -.navbar-inverse .navbar-brand:focus, .navbar-inverse .navbar-brand:hover, -.navbar-inverse .navbar-toggler:focus, -.navbar-inverse .navbar-toggler:hover { - color: white; -} - -.navbar-inverse .navbar-nav .nav-link { - color: rgba(255, 255, 255, 0.5); -} - -.navbar-inverse .navbar-nav .nav-link:focus, .navbar-inverse .navbar-nav .nav-link:hover { - color: rgba(255, 255, 255, 0.75); -} - -.navbar-inverse .navbar-nav .nav-link.disabled { - color: rgba(255, 255, 255, 0.25); -} - -.navbar-inverse .navbar-nav .open > .nav-link, -.navbar-inverse .navbar-nav .active > .nav-link, -.navbar-inverse .navbar-nav .nav-link.open, -.navbar-inverse .navbar-nav .nav-link.active { - color: white; -} - -.navbar-inverse .navbar-toggler { - border-color: rgba(255, 255, 255, 0.1); -} - -.navbar-inverse .navbar-toggler-icon { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E"); -} - -.navbar-inverse .navbar-text { - color: rgba(255, 255, 255, 0.5); -} - -.card { - position: relative; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - background-color: #fff; - border: 1px solid rgba(0, 0, 0, 0.125); - border-radius: 0.25rem; -} - -.card-block { - -webkit-box-flex: 1; - -webkit-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - padding: 1.25rem; -} - -.card-title { - margin-bottom: 0.75rem; -} - -.card-subtitle { - margin-top: -0.375rem; - margin-bottom: 0; -} - -.card-text:last-child { - margin-bottom: 0; -} - -.card-link:hover { - text-decoration: none; -} - -.card-link + .card-link { - margin-left: 1.25rem; -} - -.card > .list-group:first-child .list-group-item:first-child { - border-top-right-radius: 0.25rem; - border-top-left-radius: 0.25rem; -} - -.card > .list-group:last-child .list-group-item:last-child { - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; -} - -.card-header { - padding: 0.75rem 1.25rem; - margin-bottom: 0; - background-color: #f7f7f9; - border-bottom: 1px solid rgba(0, 0, 0, 0.125); -} - -.card-header:first-child { - border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; -} - -.card-footer { - padding: 0.75rem 1.25rem; - background-color: #f7f7f9; - border-top: 1px solid rgba(0, 0, 0, 0.125); -} - -.card-footer:last-child { - border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); -} - -.card-header-tabs { - margin-right: -0.625rem; - margin-bottom: -0.75rem; - margin-left: -0.625rem; - border-bottom: 0; -} - -.card-header-pills { - margin-right: -0.625rem; - margin-left: -0.625rem; -} - -.card-primary { - background-color: #0275d8; - border-color: #0275d8; -} - -.card-primary .card-header, -.card-primary .card-footer { - background-color: transparent; -} - -.card-success { - background-color: #5cb85c; - border-color: #5cb85c; -} - -.card-success .card-header, -.card-success .card-footer { - background-color: transparent; -} - -.card-info { - background-color: #5bc0de; - border-color: #5bc0de; -} - -.card-info .card-header, -.card-info .card-footer { - background-color: transparent; -} - -.card-warning { - background-color: #f0ad4e; - border-color: #f0ad4e; -} - -.card-warning .card-header, -.card-warning .card-footer { - background-color: transparent; -} - -.card-danger { - background-color: #d9534f; - border-color: #d9534f; -} - -.card-danger .card-header, -.card-danger .card-footer { - background-color: transparent; -} - -.card-outline-primary { - background-color: transparent; - border-color: #0275d8; -} - -.card-outline-secondary { - background-color: transparent; - border-color: #ccc; -} - -.card-outline-info { - background-color: transparent; - border-color: #5bc0de; -} - -.card-outline-success { - background-color: transparent; - border-color: #5cb85c; -} - -.card-outline-warning { - background-color: transparent; - border-color: #f0ad4e; -} - -.card-outline-danger { - background-color: transparent; - border-color: #d9534f; -} - -.card-inverse { - color: rgba(255, 255, 255, 0.65); -} - -.card-inverse .card-header, -.card-inverse .card-footer { - background-color: transparent; - border-color: rgba(255, 255, 255, 0.2); -} - -.card-inverse .card-header, -.card-inverse .card-footer, -.card-inverse .card-title, -.card-inverse .card-blockquote { - color: #fff; -} - -.card-inverse .card-link, -.card-inverse .card-text, -.card-inverse .card-subtitle, -.card-inverse .card-blockquote .blockquote-footer { - color: rgba(255, 255, 255, 0.65); -} - -.card-inverse .card-link:focus, .card-inverse .card-link:hover { - color: #fff; -} - -.card-blockquote { - padding: 0; - margin-bottom: 0; - border-left: 0; -} - -.card-img { - border-radius: calc(0.25rem - 1px); -} - -.card-img-overlay { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - padding: 1.25rem; -} - -.card-img-top { - border-top-right-radius: calc(0.25rem - 1px); - border-top-left-radius: calc(0.25rem - 1px); -} - -.card-img-bottom { - border-bottom-right-radius: calc(0.25rem - 1px); - border-bottom-left-radius: calc(0.25rem - 1px); -} - -@media (min-width: 576px) { - .card-deck { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-flow: row wrap; - -ms-flex-flow: row wrap; - flex-flow: row wrap; - } - .card-deck .card { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-flex: 1; - -webkit-flex: 1 0 0%; - -ms-flex: 1 0 0%; - flex: 1 0 0%; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - } - .card-deck .card:not(:first-child) { - margin-left: 15px; - } - .card-deck .card:not(:last-child) { - margin-right: 15px; - } -} - -@media (min-width: 576px) { - .card-group { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-flow: row wrap; - -ms-flex-flow: row wrap; - flex-flow: row wrap; - } - .card-group .card { - -webkit-box-flex: 1; - -webkit-flex: 1 0 0%; - -ms-flex: 1 0 0%; - flex: 1 0 0%; - } - .card-group .card + .card { - margin-left: 0; - border-left: 0; - } - .card-group .card:first-child { - border-bottom-right-radius: 0; - border-top-right-radius: 0; - } - .card-group .card:first-child .card-img-top { - border-top-right-radius: 0; - } - .card-group .card:first-child .card-img-bottom { - border-bottom-right-radius: 0; - } - .card-group .card:last-child { - border-bottom-left-radius: 0; - border-top-left-radius: 0; - } - .card-group .card:last-child .card-img-top { - border-top-left-radius: 0; - } - .card-group .card:last-child .card-img-bottom { - border-bottom-left-radius: 0; - } - .card-group .card:not(:first-child):not(:last-child) { - border-radius: 0; - } - .card-group .card:not(:first-child):not(:last-child) .card-img-top, - .card-group .card:not(:first-child):not(:last-child) .card-img-bottom { - border-radius: 0; - } -} - -@media (min-width: 576px) { - .card-columns { - -webkit-column-count: 3; - -moz-column-count: 3; - column-count: 3; - -webkit-column-gap: 1.25rem; - -moz-column-gap: 1.25rem; - column-gap: 1.25rem; - } - .card-columns .card { - display: inline-block; - width: 100%; - margin-bottom: 0.75rem; - } -} - -.breadcrumb { - padding: 0.75rem 1rem; - margin-bottom: 1rem; - list-style: none; - background-color: #eceeef; - border-radius: 0.25rem; -} - -.breadcrumb::after { - display: block; - content: ""; - clear: both; -} - -.breadcrumb-item { - float: left; -} - -.breadcrumb-item + .breadcrumb-item::before { - display: inline-block; - padding-right: 0.5rem; - padding-left: 0.5rem; - color: #636c72; - content: "/"; -} - -.breadcrumb-item + .breadcrumb-item:hover::before { - text-decoration: underline; -} - -.breadcrumb-item + .breadcrumb-item:hover::before { - text-decoration: none; -} - -.breadcrumb-item.active { - color: #636c72; -} - -.pagination { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - padding-left: 0; - list-style: none; - border-radius: 0.25rem; -} - -.page-item:first-child .page-link { - margin-left: 0; - border-bottom-left-radius: 0.25rem; - border-top-left-radius: 0.25rem; -} - -.page-item:last-child .page-link { - border-bottom-right-radius: 0.25rem; - border-top-right-radius: 0.25rem; -} - -.page-item.active .page-link { - z-index: 2; - color: #fff; - background-color: #0275d8; - border-color: #0275d8; -} - -.page-item.disabled .page-link { - color: #636c72; - pointer-events: none; - cursor: not-allowed; - background-color: #fff; - border-color: #ddd; -} - -.page-link { - position: relative; - display: block; - padding: 0.5rem 0.75rem; - margin-left: -1px; - line-height: 1.25; - color: #0275d8; - background-color: #fff; - border: 1px solid #ddd; -} - -.page-link:focus, .page-link:hover { - color: #014c8c; - text-decoration: none; - background-color: #eceeef; - border-color: #ddd; -} - -.pagination-lg .page-link { - padding: 0.75rem 1.5rem; - font-size: 1.25rem; -} - -.pagination-lg .page-item:first-child .page-link { - border-bottom-left-radius: 0.3rem; - border-top-left-radius: 0.3rem; -} - -.pagination-lg .page-item:last-child .page-link { - border-bottom-right-radius: 0.3rem; - border-top-right-radius: 0.3rem; -} - -.pagination-sm .page-link { - padding: 0.25rem 0.5rem; - font-size: 0.875rem; -} - -.pagination-sm .page-item:first-child .page-link { - border-bottom-left-radius: 0.2rem; - border-top-left-radius: 0.2rem; -} - -.pagination-sm .page-item:last-child .page-link { - border-bottom-right-radius: 0.2rem; - border-top-right-radius: 0.2rem; -} - -.badge { - display: inline-block; - padding: 0.25em 0.4em; - font-size: 75%; - font-weight: bold; - line-height: 1; - color: #fff; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: 0.25rem; -} - -.badge:empty { - display: none; -} - -.btn .badge { - position: relative; - top: -1px; -} - -a.badge:focus, a.badge:hover { - color: #fff; - text-decoration: none; - cursor: pointer; -} - -.badge-pill { - padding-right: 0.6em; - padding-left: 0.6em; - border-radius: 10rem; -} - -.badge-default { - background-color: #636c72; -} - -.badge-default[href]:focus, .badge-default[href]:hover { - background-color: #4b5257; -} - -.badge-primary { - background-color: #0275d8; -} - -.badge-primary[href]:focus, .badge-primary[href]:hover { - background-color: #025aa5; -} - -.badge-success { - background-color: #5cb85c; -} - -.badge-success[href]:focus, .badge-success[href]:hover { - background-color: #449d44; -} - -.badge-info { - background-color: #5bc0de; -} - -.badge-info[href]:focus, .badge-info[href]:hover { - background-color: #31b0d5; -} - -.badge-warning { - background-color: #f0ad4e; -} - -.badge-warning[href]:focus, .badge-warning[href]:hover { - background-color: #ec971f; -} - -.badge-danger { - background-color: #d9534f; -} - -.badge-danger[href]:focus, .badge-danger[href]:hover { - background-color: #c9302c; -} - -.jumbotron { - padding: 2rem 1rem; - margin-bottom: 2rem; - background-color: #eceeef; - border-radius: 0.3rem; -} - -@media (min-width: 576px) { - .jumbotron { - padding: 4rem 2rem; - } -} - -.jumbotron-hr { - border-top-color: #d0d5d8; -} - -.jumbotron-fluid { - padding-right: 0; - padding-left: 0; - border-radius: 0; -} - -.alert { - padding: 0.75rem 1.25rem; - margin-bottom: 1rem; - border: 1px solid transparent; - border-radius: 0.25rem; -} - -.alert-heading { - color: inherit; -} - -.alert-link { - font-weight: bold; -} - -.alert-dismissible .close { - position: relative; - top: -0.75rem; - right: -1.25rem; - padding: 0.75rem 1.25rem; - color: inherit; -} - -.alert-success { - background-color: #dff0d8; - border-color: #d0e9c6; - color: #3c763d; -} - -.alert-success hr { - border-top-color: #c1e2b3; -} - -.alert-success .alert-link { - color: #2b542c; -} - -.alert-info { - background-color: #d9edf7; - border-color: #bcdff1; - color: #31708f; -} - -.alert-info hr { - border-top-color: #a6d5ec; -} - -.alert-info .alert-link { - color: #245269; -} - -.alert-warning { - background-color: #fcf8e3; - border-color: #faf2cc; - color: #8a6d3b; -} - -.alert-warning hr { - border-top-color: #f7ecb5; -} - -.alert-warning .alert-link { - color: #66512c; -} - -.alert-danger { - background-color: #f2dede; - border-color: #ebcccc; - color: #a94442; -} - -.alert-danger hr { - border-top-color: #e4b9b9; -} - -.alert-danger .alert-link { - color: #843534; -} - -@-webkit-keyframes progress-bar-stripes { - from { - background-position: 1rem 0; - } - to { - background-position: 0 0; - } -} - -@-o-keyframes progress-bar-stripes { - from { - background-position: 1rem 0; - } - to { - background-position: 0 0; - } -} - -@keyframes progress-bar-stripes { - from { - background-position: 1rem 0; - } - to { - background-position: 0 0; - } -} - -.progress { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - overflow: hidden; - font-size: 0.75rem; - line-height: 1rem; - text-align: center; - background-color: #eceeef; - border-radius: 0.25rem; -} - -.progress-bar { - height: 1rem; - color: #fff; - background-color: #0275d8; -} - -.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: 1rem 1rem; - background-size: 1rem 1rem; -} - -.progress-bar-animated { - -webkit-animation: progress-bar-stripes 1s linear infinite; - -o-animation: progress-bar-stripes 1s linear infinite; - animation: progress-bar-stripes 1s linear infinite; -} - -.media { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-align: start; - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; -} - -.media-body { - -webkit-box-flex: 1; - -webkit-flex: 1 1 0%; - -ms-flex: 1 1 0%; - flex: 1 1 0%; -} - -.list-group { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - padding-left: 0; - margin-bottom: 0; -} - -.list-group-item-action { - width: 100%; - color: #464a4c; - text-align: inherit; -} - -.list-group-item-action .list-group-item-heading { - color: #292b2c; -} - -.list-group-item-action:focus, .list-group-item-action:hover { - color: #464a4c; - text-decoration: none; - background-color: #f7f7f9; -} - -.list-group-item-action:active { - color: #292b2c; - background-color: #eceeef; -} - -.list-group-item { - position: relative; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-flow: row wrap; - -ms-flex-flow: row wrap; - flex-flow: row wrap; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - padding: 0.75rem 1.25rem; - margin-bottom: -1px; - background-color: #fff; - border: 1px solid rgba(0, 0, 0, 0.125); -} - -.list-group-item:first-child { - border-top-right-radius: 0.25rem; - border-top-left-radius: 0.25rem; -} - -.list-group-item:last-child { - margin-bottom: 0; - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; -} - -.list-group-item:focus, .list-group-item:hover { - text-decoration: none; -} - -.list-group-item.disabled, .list-group-item:disabled { - color: #636c72; - cursor: not-allowed; - background-color: #fff; -} - -.list-group-item.disabled .list-group-item-heading, .list-group-item:disabled .list-group-item-heading { - color: inherit; -} - -.list-group-item.disabled .list-group-item-text, .list-group-item:disabled .list-group-item-text { - color: #636c72; -} - -.list-group-item.active { - z-index: 2; - color: #fff; - background-color: #0275d8; - border-color: #0275d8; -} - -.list-group-item.active .list-group-item-heading, -.list-group-item.active .list-group-item-heading > small, -.list-group-item.active .list-group-item-heading > .small { - color: inherit; -} - -.list-group-item.active .list-group-item-text { - color: #daeeff; -} - -.list-group-flush .list-group-item { - border-right: 0; - border-left: 0; - border-radius: 0; -} - -.list-group-flush:first-child .list-group-item:first-child { - border-top: 0; -} - -.list-group-flush:last-child .list-group-item:last-child { - border-bottom: 0; -} - -.list-group-item-success { - color: #3c763d; - background-color: #dff0d8; -} - -a.list-group-item-success, -button.list-group-item-success { - color: #3c763d; -} - -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:focus, a.list-group-item-success:hover, -button.list-group-item-success:focus, -button.list-group-item-success:hover { - color: #3c763d; - background-color: #d0e9c6; -} - -a.list-group-item-success.active, -button.list-group-item-success.active { - color: #fff; - background-color: #3c763d; - border-color: #3c763d; -} - -.list-group-item-info { - color: #31708f; - background-color: #d9edf7; -} - -a.list-group-item-info, -button.list-group-item-info { - color: #31708f; -} - -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:focus, a.list-group-item-info:hover, -button.list-group-item-info:focus, -button.list-group-item-info:hover { - color: #31708f; - background-color: #c4e3f3; -} - -a.list-group-item-info.active, -button.list-group-item-info.active { - color: #fff; - background-color: #31708f; - border-color: #31708f; -} - -.list-group-item-warning { - color: #8a6d3b; - background-color: #fcf8e3; -} - -a.list-group-item-warning, -button.list-group-item-warning { - color: #8a6d3b; -} - -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:focus, a.list-group-item-warning:hover, -button.list-group-item-warning:focus, -button.list-group-item-warning:hover { - color: #8a6d3b; - background-color: #faf2cc; -} - -a.list-group-item-warning.active, -button.list-group-item-warning.active { - color: #fff; - background-color: #8a6d3b; - border-color: #8a6d3b; -} - -.list-group-item-danger { - color: #a94442; - background-color: #f2dede; -} - -a.list-group-item-danger, -button.list-group-item-danger { - color: #a94442; -} - -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:focus, a.list-group-item-danger:hover, -button.list-group-item-danger:focus, -button.list-group-item-danger:hover { - color: #a94442; - background-color: #ebcccc; -} - -a.list-group-item-danger.active, -button.list-group-item-danger.active { - color: #fff; - background-color: #a94442; - border-color: #a94442; -} - -.embed-responsive { - position: relative; - display: block; - width: 100%; - padding: 0; - overflow: hidden; -} - -.embed-responsive::before { - display: block; - content: ""; -} - -.embed-responsive .embed-responsive-item, -.embed-responsive iframe, -.embed-responsive embed, -.embed-responsive object, -.embed-responsive video { - position: absolute; - top: 0; - bottom: 0; - left: 0; - width: 100%; - height: 100%; - border: 0; -} - -.embed-responsive-21by9::before { - padding-top: 42.857143%; -} - -.embed-responsive-16by9::before { - padding-top: 56.25%; -} - -.embed-responsive-4by3::before { - padding-top: 75%; -} - -.embed-responsive-1by1::before { - padding-top: 100%; -} - -.close { - float: right; - font-size: 1.5rem; - font-weight: bold; - line-height: 1; - color: #000; - text-shadow: 0 1px 0 #fff; - opacity: .5; -} - -.close:focus, .close:hover { - color: #000; - text-decoration: none; - cursor: pointer; - opacity: .75; -} - -button.close { - padding: 0; - cursor: pointer; - background: transparent; - border: 0; - -webkit-appearance: none; -} - -.modal-open { - overflow: hidden; -} - -.modal { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1050; - display: none; - overflow: hidden; - outline: 0; -} - -.modal.fade .modal-dialog { - -webkit-transition: -webkit-transform 0.3s ease-out; - transition: -webkit-transform 0.3s ease-out; - -o-transition: -o-transform 0.3s ease-out; - transition: transform 0.3s ease-out; - transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out, -o-transform 0.3s ease-out; - -webkit-transform: translate(0, -25%); - -o-transform: translate(0, -25%); - transform: translate(0, -25%); -} - -.modal.show .modal-dialog { - -webkit-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; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - background-color: #fff; - -webkit-background-clip: padding-box; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 0.3rem; - outline: 0; -} - -.modal-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1040; - background-color: #000; -} - -.modal-backdrop.fade { - opacity: 0; -} - -.modal-backdrop.show { - opacity: 0.5; -} - -.modal-header { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: justify; - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; - padding: 15px; - border-bottom: 1px solid #eceeef; -} - -.modal-title { - margin-bottom: 0; - line-height: 1.5; -} - -.modal-body { - position: relative; - -webkit-box-flex: 1; - -webkit-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - padding: 15px; -} - -.modal-footer { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: end; - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end; - padding: 15px; - border-top: 1px solid #eceeef; -} - -.modal-footer > :not(:first-child) { - margin-left: .25rem; -} - -.modal-footer > :not(:last-child) { - margin-right: .25rem; -} - -.modal-scrollbar-measure { - position: absolute; - top: -9999px; - width: 50px; - height: 50px; - overflow: scroll; -} - -@media (min-width: 576px) { - .modal-dialog { - max-width: 500px; - margin: 30px auto; - } - .modal-sm { - max-width: 300px; - } -} - -@media (min-width: 992px) { - .modal-lg { - max-width: 800px; - } -} - -.tooltip { - position: absolute; - z-index: 1070; - display: block; - font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; - font-style: normal; - font-weight: normal; - letter-spacing: normal; - line-break: auto; - line-height: 1.5; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - white-space: normal; - word-break: normal; - word-spacing: normal; - font-size: 0.875rem; - word-wrap: break-word; - opacity: 0; -} - -.tooltip.show { - opacity: 0.9; -} - -.tooltip.tooltip-top, .tooltip.bs-tether-element-attached-bottom { - padding: 5px 0; - margin-top: -3px; -} - -.tooltip.tooltip-top .tooltip-inner::before, .tooltip.bs-tether-element-attached-bottom .tooltip-inner::before { - bottom: 0; - left: 50%; - margin-left: -5px; - content: ""; - border-width: 5px 5px 0; - border-top-color: #000; -} - -.tooltip.tooltip-right, .tooltip.bs-tether-element-attached-left { - padding: 0 5px; - margin-left: 3px; -} - -.tooltip.tooltip-right .tooltip-inner::before, .tooltip.bs-tether-element-attached-left .tooltip-inner::before { - top: 50%; - left: 0; - margin-top: -5px; - content: ""; - border-width: 5px 5px 5px 0; - border-right-color: #000; -} - -.tooltip.tooltip-bottom, .tooltip.bs-tether-element-attached-top { - padding: 5px 0; - margin-top: 3px; -} - -.tooltip.tooltip-bottom .tooltip-inner::before, .tooltip.bs-tether-element-attached-top .tooltip-inner::before { - top: 0; - left: 50%; - margin-left: -5px; - content: ""; - border-width: 0 5px 5px; - border-bottom-color: #000; -} - -.tooltip.tooltip-left, .tooltip.bs-tether-element-attached-right { - padding: 0 5px; - margin-left: -3px; -} - -.tooltip.tooltip-left .tooltip-inner::before, .tooltip.bs-tether-element-attached-right .tooltip-inner::before { - top: 50%; - right: 0; - margin-top: -5px; - content: ""; - border-width: 5px 0 5px 5px; - border-left-color: #000; -} - -.tooltip-inner { - max-width: 200px; - padding: 3px 8px; - color: #fff; - text-align: center; - background-color: #000; - border-radius: 0.25rem; -} - -.tooltip-inner::before { - position: absolute; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; -} - -.popover { - position: absolute; - top: 0; - left: 0; - z-index: 1060; - display: block; - max-width: 276px; - padding: 1px; - font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; - font-style: normal; - font-weight: normal; - letter-spacing: normal; - line-break: auto; - line-height: 1.5; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - white-space: normal; - word-break: normal; - word-spacing: normal; - font-size: 0.875rem; - word-wrap: break-word; - background-color: #fff; - -webkit-background-clip: padding-box; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 0.3rem; -} - -.popover.popover-top, .popover.bs-tether-element-attached-bottom { - margin-top: -10px; -} - -.popover.popover-top::before, .popover.popover-top::after, .popover.bs-tether-element-attached-bottom::before, .popover.bs-tether-element-attached-bottom::after { - left: 50%; - border-bottom-width: 0; -} - -.popover.popover-top::before, .popover.bs-tether-element-attached-bottom::before { - bottom: -11px; - margin-left: -11px; - border-top-color: rgba(0, 0, 0, 0.25); -} - -.popover.popover-top::after, .popover.bs-tether-element-attached-bottom::after { - bottom: -10px; - margin-left: -10px; - border-top-color: #fff; -} - -.popover.popover-right, .popover.bs-tether-element-attached-left { - margin-left: 10px; -} - -.popover.popover-right::before, .popover.popover-right::after, .popover.bs-tether-element-attached-left::before, .popover.bs-tether-element-attached-left::after { - top: 50%; - border-left-width: 0; -} - -.popover.popover-right::before, .popover.bs-tether-element-attached-left::before { - left: -11px; - margin-top: -11px; - border-right-color: rgba(0, 0, 0, 0.25); -} - -.popover.popover-right::after, .popover.bs-tether-element-attached-left::after { - left: -10px; - margin-top: -10px; - border-right-color: #fff; -} - -.popover.popover-bottom, .popover.bs-tether-element-attached-top { - margin-top: 10px; -} - -.popover.popover-bottom::before, .popover.popover-bottom::after, .popover.bs-tether-element-attached-top::before, .popover.bs-tether-element-attached-top::after { - left: 50%; - border-top-width: 0; -} - -.popover.popover-bottom::before, .popover.bs-tether-element-attached-top::before { - top: -11px; - margin-left: -11px; - border-bottom-color: rgba(0, 0, 0, 0.25); -} - -.popover.popover-bottom::after, .popover.bs-tether-element-attached-top::after { - top: -10px; - margin-left: -10px; - border-bottom-color: #f7f7f7; -} - -.popover.popover-bottom .popover-title::before, .popover.bs-tether-element-attached-top .popover-title::before { - position: absolute; - top: 0; - left: 50%; - display: block; - width: 20px; - margin-left: -10px; - content: ""; - border-bottom: 1px solid #f7f7f7; -} - -.popover.popover-left, .popover.bs-tether-element-attached-right { - margin-left: -10px; -} - -.popover.popover-left::before, .popover.popover-left::after, .popover.bs-tether-element-attached-right::before, .popover.bs-tether-element-attached-right::after { - top: 50%; - border-right-width: 0; -} - -.popover.popover-left::before, .popover.bs-tether-element-attached-right::before { - right: -11px; - margin-top: -11px; - border-left-color: rgba(0, 0, 0, 0.25); -} - -.popover.popover-left::after, .popover.bs-tether-element-attached-right::after { - right: -10px; - margin-top: -10px; - border-left-color: #fff; -} - -.popover-title { - padding: 8px 14px; - margin-bottom: 0; - font-size: 1rem; - background-color: #f7f7f7; - border-bottom: 1px solid #ebebeb; - border-top-right-radius: calc(0.3rem - 1px); - border-top-left-radius: calc(0.3rem - 1px); -} - -.popover-title:empty { - display: none; -} - -.popover-content { - padding: 9px 14px; -} - -.popover::before, -.popover::after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; -} - -.popover::before { - content: ""; - border-width: 11px; -} - -.popover::after { - content: ""; - border-width: 10px; -} - -.carousel { - position: relative; -} - -.carousel-inner { - position: relative; - width: 100%; - overflow: hidden; -} - -.carousel-item { - position: relative; - display: none; - width: 100%; -} - -@media (-webkit-transform-3d) { - .carousel-item { - -webkit-transition: -webkit-transform 0.6s ease-in-out; - transition: -webkit-transform 0.6s ease-in-out; - -o-transition: -o-transform 0.6s ease-in-out; - transition: transform 0.6s ease-in-out; - transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out, -o-transform 0.6s ease-in-out; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - -webkit-perspective: 1000px; - perspective: 1000px; - } -} - -@supports ((-webkit-transform: translate3d(0, 0, 0)) or (transform: translate3d(0, 0, 0))) { - .carousel-item { - -webkit-transition: -webkit-transform 0.6s ease-in-out; - transition: -webkit-transform 0.6s ease-in-out; - -o-transition: -o-transform 0.6s ease-in-out; - transition: transform 0.6s ease-in-out; - transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out, -o-transform 0.6s ease-in-out; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - -webkit-perspective: 1000px; - perspective: 1000px; - } -} - -.carousel-item.active, -.carousel-item-next, -.carousel-item-prev { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; -} - -.carousel-item-next, -.carousel-item-prev { - position: absolute; - top: 0; -} - -@media (-webkit-transform-3d) { - .carousel-item-next.carousel-item-left, - .carousel-item-prev.carousel-item-right { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - .carousel-item-next, - .active.carousel-item-right { - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - } - .carousel-item-prev, - .active.carousel-item-left { - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - } -} - -@supports ((-webkit-transform: translate3d(0, 0, 0)) or (transform: translate3d(0, 0, 0))) { - .carousel-item-next.carousel-item-left, - .carousel-item-prev.carousel-item-right { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - .carousel-item-next, - .active.carousel-item-right { - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - } - .carousel-item-prev, - .active.carousel-item-left { - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - } -} - -.carousel-control-prev, -.carousel-control-next { - position: absolute; - top: 0; - bottom: 0; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - width: 15%; - color: #fff; - text-align: center; - opacity: 0.5; -} - -.carousel-control-prev:focus, .carousel-control-prev:hover, -.carousel-control-next:focus, -.carousel-control-next:hover { - color: #fff; - text-decoration: none; - outline: 0; - opacity: .9; -} - -.carousel-control-prev { - left: 0; -} - -.carousel-control-next { - right: 0; -} - -.carousel-control-prev-icon, -.carousel-control-next-icon { - display: inline-block; - width: 20px; - height: 20px; - background: transparent no-repeat center center; - -webkit-background-size: 100% 100%; - background-size: 100% 100%; -} - -.carousel-control-prev-icon { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E"); -} - -.carousel-control-next-icon { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E"); -} - -.carousel-indicators { - position: absolute; - right: 0; - bottom: 10px; - left: 0; - z-index: 15; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - padding-left: 0; - margin-right: 15%; - margin-left: 15%; - list-style: none; -} - -.carousel-indicators li { - position: relative; - -webkit-box-flex: 1; - -webkit-flex: 1 0 auto; - -ms-flex: 1 0 auto; - flex: 1 0 auto; - max-width: 30px; - height: 3px; - margin-right: 3px; - margin-left: 3px; - text-indent: -999px; - cursor: pointer; - background-color: rgba(255, 255, 255, 0.5); -} - -.carousel-indicators li::before { - position: absolute; - top: -10px; - left: 0; - display: inline-block; - width: 100%; - height: 10px; - content: ""; -} - -.carousel-indicators li::after { - position: absolute; - bottom: -10px; - left: 0; - display: inline-block; - width: 100%; - height: 10px; - content: ""; -} - -.carousel-indicators .active { - background-color: #fff; -} - -.carousel-caption { - position: absolute; - right: 15%; - bottom: 20px; - left: 15%; - z-index: 10; - padding-top: 20px; - padding-bottom: 20px; - color: #fff; - text-align: center; -} - -.align-baseline { - vertical-align: baseline !important; -} - -.align-top { - vertical-align: top !important; -} - -.align-middle { - vertical-align: middle !important; -} - -.align-bottom { - vertical-align: bottom !important; -} - -.align-text-bottom { - vertical-align: text-bottom !important; -} - -.align-text-top { - vertical-align: text-top !important; -} - -.bg-faded { - background-color: #f7f7f7; -} - -.bg-primary { - background-color: #0275d8 !important; -} - -a.bg-primary:focus, a.bg-primary:hover { - background-color: #025aa5 !important; -} - -.bg-success { - background-color: #5cb85c !important; -} - -a.bg-success:focus, a.bg-success:hover { - background-color: #449d44 !important; -} - -.bg-info { - background-color: #5bc0de !important; -} - -a.bg-info:focus, a.bg-info:hover { - background-color: #31b0d5 !important; -} - -.bg-warning { - background-color: #f0ad4e !important; -} - -a.bg-warning:focus, a.bg-warning:hover { - background-color: #ec971f !important; -} - -.bg-danger { - background-color: #d9534f !important; -} - -a.bg-danger:focus, a.bg-danger:hover { - background-color: #c9302c !important; -} - -.bg-inverse { - background-color: #292b2c !important; -} - -a.bg-inverse:focus, a.bg-inverse:hover { - background-color: #101112 !important; -} - -.border-0 { - border: 0 !important; -} - -.border-top-0 { - border-top: 0 !important; -} - -.border-right-0 { - border-right: 0 !important; -} - -.border-bottom-0 { - border-bottom: 0 !important; -} - -.border-left-0 { - border-left: 0 !important; -} - -.rounded { - border-radius: 0.25rem; -} - -.rounded-top { - border-top-right-radius: 0.25rem; - border-top-left-radius: 0.25rem; -} - -.rounded-right { - border-bottom-right-radius: 0.25rem; - border-top-right-radius: 0.25rem; -} - -.rounded-bottom { - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; -} - -.rounded-left { - border-bottom-left-radius: 0.25rem; - border-top-left-radius: 0.25rem; -} - -.rounded-circle { - border-radius: 50%; -} - -.rounded-0 { - border-radius: 0; -} - -.clearfix::after { - display: block; - content: ""; - clear: both; -} - -.d-none { - display: none !important; -} - -.d-inline { - display: inline !important; -} - -.d-inline-block { - display: inline-block !important; -} - -.d-block { - display: block !important; -} - -.d-table { - display: table !important; -} - -.d-table-cell { - display: table-cell !important; -} - -.d-flex { - display: -webkit-box !important; - display: -webkit-flex !important; - display: -ms-flexbox !important; - display: flex !important; -} - -.d-inline-flex { - display: -webkit-inline-box !important; - display: -webkit-inline-flex !important; - display: -ms-inline-flexbox !important; - display: inline-flex !important; -} - -@media (min-width: 576px) { - .d-sm-none { - display: none !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-block { - display: block !important; - } - .d-sm-table { - display: table !important; - } - .d-sm-table-cell { - display: table-cell !important; - } - .d-sm-flex { - display: -webkit-box !important; - display: -webkit-flex !important; - display: -ms-flexbox !important; - display: flex !important; - } - .d-sm-inline-flex { - display: -webkit-inline-box !important; - display: -webkit-inline-flex !important; - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -@media (min-width: 768px) { - .d-md-none { - display: none !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-block { - display: block !important; - } - .d-md-table { - display: table !important; - } - .d-md-table-cell { - display: table-cell !important; - } - .d-md-flex { - display: -webkit-box !important; - display: -webkit-flex !important; - display: -ms-flexbox !important; - display: flex !important; - } - .d-md-inline-flex { - display: -webkit-inline-box !important; - display: -webkit-inline-flex !important; - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -@media (min-width: 992px) { - .d-lg-none { - display: none !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-block { - display: block !important; - } - .d-lg-table { - display: table !important; - } - .d-lg-table-cell { - display: table-cell !important; - } - .d-lg-flex { - display: -webkit-box !important; - display: -webkit-flex !important; - display: -ms-flexbox !important; - display: flex !important; - } - .d-lg-inline-flex { - display: -webkit-inline-box !important; - display: -webkit-inline-flex !important; - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -@media (min-width: 1200px) { - .d-xl-none { - display: none !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-block { - display: block !important; - } - .d-xl-table { - display: table !important; - } - .d-xl-table-cell { - display: table-cell !important; - } - .d-xl-flex { - display: -webkit-box !important; - display: -webkit-flex !important; - display: -ms-flexbox !important; - display: flex !important; - } - .d-xl-inline-flex { - display: -webkit-inline-box !important; - display: -webkit-inline-flex !important; - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -.flex-first { - -webkit-box-ordinal-group: 0; - -webkit-order: -1; - -ms-flex-order: -1; - order: -1; -} - -.flex-last { - -webkit-box-ordinal-group: 2; - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; -} - -.flex-unordered { - -webkit-box-ordinal-group: 1; - -webkit-order: 0; - -ms-flex-order: 0; - order: 0; -} - -.flex-row { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: normal !important; - -webkit-flex-direction: row !important; - -ms-flex-direction: row !important; - flex-direction: row !important; -} - -.flex-column { - -webkit-box-orient: vertical !important; - -webkit-box-direction: normal !important; - -webkit-flex-direction: column !important; - -ms-flex-direction: column !important; - flex-direction: column !important; -} - -.flex-row-reverse { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: reverse !important; - -webkit-flex-direction: row-reverse !important; - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; -} - -.flex-column-reverse { - -webkit-box-orient: vertical !important; - -webkit-box-direction: reverse !important; - -webkit-flex-direction: column-reverse !important; - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; -} - -.flex-wrap { - -webkit-flex-wrap: wrap !important; - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; -} - -.flex-nowrap { - -webkit-flex-wrap: nowrap !important; - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; -} - -.flex-wrap-reverse { - -webkit-flex-wrap: wrap-reverse !important; - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; -} - -.justify-content-start { - -webkit-box-pack: start !important; - -webkit-justify-content: flex-start !important; - -ms-flex-pack: start !important; - justify-content: flex-start !important; -} - -.justify-content-end { - -webkit-box-pack: end !important; - -webkit-justify-content: flex-end !important; - -ms-flex-pack: end !important; - justify-content: flex-end !important; -} - -.justify-content-center { - -webkit-box-pack: center !important; - -webkit-justify-content: center !important; - -ms-flex-pack: center !important; - justify-content: center !important; -} - -.justify-content-between { - -webkit-box-pack: justify !important; - -webkit-justify-content: space-between !important; - -ms-flex-pack: justify !important; - justify-content: space-between !important; -} - -.justify-content-around { - -webkit-justify-content: space-around !important; - -ms-flex-pack: distribute !important; - justify-content: space-around !important; -} - -.align-items-start { - -webkit-box-align: start !important; - -webkit-align-items: flex-start !important; - -ms-flex-align: start !important; - align-items: flex-start !important; -} - -.align-items-end { - -webkit-box-align: end !important; - -webkit-align-items: flex-end !important; - -ms-flex-align: end !important; - align-items: flex-end !important; -} - -.align-items-center { - -webkit-box-align: center !important; - -webkit-align-items: center !important; - -ms-flex-align: center !important; - align-items: center !important; -} - -.align-items-baseline { - -webkit-box-align: baseline !important; - -webkit-align-items: baseline !important; - -ms-flex-align: baseline !important; - align-items: baseline !important; -} - -.align-items-stretch { - -webkit-box-align: stretch !important; - -webkit-align-items: stretch !important; - -ms-flex-align: stretch !important; - align-items: stretch !important; -} - -.align-content-start { - -webkit-align-content: flex-start !important; - -ms-flex-line-pack: start !important; - align-content: flex-start !important; -} - -.align-content-end { - -webkit-align-content: flex-end !important; - -ms-flex-line-pack: end !important; - align-content: flex-end !important; -} - -.align-content-center { - -webkit-align-content: center !important; - -ms-flex-line-pack: center !important; - align-content: center !important; -} - -.align-content-between { - -webkit-align-content: space-between !important; - -ms-flex-line-pack: justify !important; - align-content: space-between !important; -} - -.align-content-around { - -webkit-align-content: space-around !important; - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; -} - -.align-content-stretch { - -webkit-align-content: stretch !important; - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; -} - -.align-self-auto { - -webkit-align-self: auto !important; - -ms-flex-item-align: auto !important; - -ms-grid-row-align: auto !important; - align-self: auto !important; -} - -.align-self-start { - -webkit-align-self: flex-start !important; - -ms-flex-item-align: start !important; - align-self: flex-start !important; -} - -.align-self-end { - -webkit-align-self: flex-end !important; - -ms-flex-item-align: end !important; - align-self: flex-end !important; -} - -.align-self-center { - -webkit-align-self: center !important; - -ms-flex-item-align: center !important; - -ms-grid-row-align: center !important; - align-self: center !important; -} - -.align-self-baseline { - -webkit-align-self: baseline !important; - -ms-flex-item-align: baseline !important; - align-self: baseline !important; -} - -.align-self-stretch { - -webkit-align-self: stretch !important; - -ms-flex-item-align: stretch !important; - -ms-grid-row-align: stretch !important; - align-self: stretch !important; -} - -@media (min-width: 576px) { - .flex-sm-first { - -webkit-box-ordinal-group: 0; - -webkit-order: -1; - -ms-flex-order: -1; - order: -1; - } - .flex-sm-last { - -webkit-box-ordinal-group: 2; - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; - } - .flex-sm-unordered { - -webkit-box-ordinal-group: 1; - -webkit-order: 0; - -ms-flex-order: 0; - order: 0; - } - .flex-sm-row { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: normal !important; - -webkit-flex-direction: row !important; - -ms-flex-direction: row !important; - flex-direction: row !important; - } - .flex-sm-column { - -webkit-box-orient: vertical !important; - -webkit-box-direction: normal !important; - -webkit-flex-direction: column !important; - -ms-flex-direction: column !important; - flex-direction: column !important; - } - .flex-sm-row-reverse { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: reverse !important; - -webkit-flex-direction: row-reverse !important; - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; - } - .flex-sm-column-reverse { - -webkit-box-orient: vertical !important; - -webkit-box-direction: reverse !important; - -webkit-flex-direction: column-reverse !important; - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; - } - .flex-sm-wrap { - -webkit-flex-wrap: wrap !important; - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; - } - .flex-sm-nowrap { - -webkit-flex-wrap: nowrap !important; - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; - } - .flex-sm-wrap-reverse { - -webkit-flex-wrap: wrap-reverse !important; - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; - } - .justify-content-sm-start { - -webkit-box-pack: start !important; - -webkit-justify-content: flex-start !important; - -ms-flex-pack: start !important; - justify-content: flex-start !important; - } - .justify-content-sm-end { - -webkit-box-pack: end !important; - -webkit-justify-content: flex-end !important; - -ms-flex-pack: end !important; - justify-content: flex-end !important; - } - .justify-content-sm-center { - -webkit-box-pack: center !important; - -webkit-justify-content: center !important; - -ms-flex-pack: center !important; - justify-content: center !important; - } - .justify-content-sm-between { - -webkit-box-pack: justify !important; - -webkit-justify-content: space-between !important; - -ms-flex-pack: justify !important; - justify-content: space-between !important; - } - .justify-content-sm-around { - -webkit-justify-content: space-around !important; - -ms-flex-pack: distribute !important; - justify-content: space-around !important; - } - .align-items-sm-start { - -webkit-box-align: start !important; - -webkit-align-items: flex-start !important; - -ms-flex-align: start !important; - align-items: flex-start !important; - } - .align-items-sm-end { - -webkit-box-align: end !important; - -webkit-align-items: flex-end !important; - -ms-flex-align: end !important; - align-items: flex-end !important; - } - .align-items-sm-center { - -webkit-box-align: center !important; - -webkit-align-items: center !important; - -ms-flex-align: center !important; - align-items: center !important; - } - .align-items-sm-baseline { - -webkit-box-align: baseline !important; - -webkit-align-items: baseline !important; - -ms-flex-align: baseline !important; - align-items: baseline !important; - } - .align-items-sm-stretch { - -webkit-box-align: stretch !important; - -webkit-align-items: stretch !important; - -ms-flex-align: stretch !important; - align-items: stretch !important; - } - .align-content-sm-start { - -webkit-align-content: flex-start !important; - -ms-flex-line-pack: start !important; - align-content: flex-start !important; - } - .align-content-sm-end { - -webkit-align-content: flex-end !important; - -ms-flex-line-pack: end !important; - align-content: flex-end !important; - } - .align-content-sm-center { - -webkit-align-content: center !important; - -ms-flex-line-pack: center !important; - align-content: center !important; - } - .align-content-sm-between { - -webkit-align-content: space-between !important; - -ms-flex-line-pack: justify !important; - align-content: space-between !important; - } - .align-content-sm-around { - -webkit-align-content: space-around !important; - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; - } - .align-content-sm-stretch { - -webkit-align-content: stretch !important; - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; - } - .align-self-sm-auto { - -webkit-align-self: auto !important; - -ms-flex-item-align: auto !important; - -ms-grid-row-align: auto !important; - align-self: auto !important; - } - .align-self-sm-start { - -webkit-align-self: flex-start !important; - -ms-flex-item-align: start !important; - align-self: flex-start !important; - } - .align-self-sm-end { - -webkit-align-self: flex-end !important; - -ms-flex-item-align: end !important; - align-self: flex-end !important; - } - .align-self-sm-center { - -webkit-align-self: center !important; - -ms-flex-item-align: center !important; - -ms-grid-row-align: center !important; - align-self: center !important; - } - .align-self-sm-baseline { - -webkit-align-self: baseline !important; - -ms-flex-item-align: baseline !important; - align-self: baseline !important; - } - .align-self-sm-stretch { - -webkit-align-self: stretch !important; - -ms-flex-item-align: stretch !important; - -ms-grid-row-align: stretch !important; - align-self: stretch !important; - } -} - -@media (min-width: 768px) { - .flex-md-first { - -webkit-box-ordinal-group: 0; - -webkit-order: -1; - -ms-flex-order: -1; - order: -1; - } - .flex-md-last { - -webkit-box-ordinal-group: 2; - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; - } - .flex-md-unordered { - -webkit-box-ordinal-group: 1; - -webkit-order: 0; - -ms-flex-order: 0; - order: 0; - } - .flex-md-row { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: normal !important; - -webkit-flex-direction: row !important; - -ms-flex-direction: row !important; - flex-direction: row !important; - } - .flex-md-column { - -webkit-box-orient: vertical !important; - -webkit-box-direction: normal !important; - -webkit-flex-direction: column !important; - -ms-flex-direction: column !important; - flex-direction: column !important; - } - .flex-md-row-reverse { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: reverse !important; - -webkit-flex-direction: row-reverse !important; - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; - } - .flex-md-column-reverse { - -webkit-box-orient: vertical !important; - -webkit-box-direction: reverse !important; - -webkit-flex-direction: column-reverse !important; - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; - } - .flex-md-wrap { - -webkit-flex-wrap: wrap !important; - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; - } - .flex-md-nowrap { - -webkit-flex-wrap: nowrap !important; - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; - } - .flex-md-wrap-reverse { - -webkit-flex-wrap: wrap-reverse !important; - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; - } - .justify-content-md-start { - -webkit-box-pack: start !important; - -webkit-justify-content: flex-start !important; - -ms-flex-pack: start !important; - justify-content: flex-start !important; - } - .justify-content-md-end { - -webkit-box-pack: end !important; - -webkit-justify-content: flex-end !important; - -ms-flex-pack: end !important; - justify-content: flex-end !important; - } - .justify-content-md-center { - -webkit-box-pack: center !important; - -webkit-justify-content: center !important; - -ms-flex-pack: center !important; - justify-content: center !important; - } - .justify-content-md-between { - -webkit-box-pack: justify !important; - -webkit-justify-content: space-between !important; - -ms-flex-pack: justify !important; - justify-content: space-between !important; - } - .justify-content-md-around { - -webkit-justify-content: space-around !important; - -ms-flex-pack: distribute !important; - justify-content: space-around !important; - } - .align-items-md-start { - -webkit-box-align: start !important; - -webkit-align-items: flex-start !important; - -ms-flex-align: start !important; - align-items: flex-start !important; - } - .align-items-md-end { - -webkit-box-align: end !important; - -webkit-align-items: flex-end !important; - -ms-flex-align: end !important; - align-items: flex-end !important; - } - .align-items-md-center { - -webkit-box-align: center !important; - -webkit-align-items: center !important; - -ms-flex-align: center !important; - align-items: center !important; - } - .align-items-md-baseline { - -webkit-box-align: baseline !important; - -webkit-align-items: baseline !important; - -ms-flex-align: baseline !important; - align-items: baseline !important; - } - .align-items-md-stretch { - -webkit-box-align: stretch !important; - -webkit-align-items: stretch !important; - -ms-flex-align: stretch !important; - align-items: stretch !important; - } - .align-content-md-start { - -webkit-align-content: flex-start !important; - -ms-flex-line-pack: start !important; - align-content: flex-start !important; - } - .align-content-md-end { - -webkit-align-content: flex-end !important; - -ms-flex-line-pack: end !important; - align-content: flex-end !important; - } - .align-content-md-center { - -webkit-align-content: center !important; - -ms-flex-line-pack: center !important; - align-content: center !important; - } - .align-content-md-between { - -webkit-align-content: space-between !important; - -ms-flex-line-pack: justify !important; - align-content: space-between !important; - } - .align-content-md-around { - -webkit-align-content: space-around !important; - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; - } - .align-content-md-stretch { - -webkit-align-content: stretch !important; - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; - } - .align-self-md-auto { - -webkit-align-self: auto !important; - -ms-flex-item-align: auto !important; - -ms-grid-row-align: auto !important; - align-self: auto !important; - } - .align-self-md-start { - -webkit-align-self: flex-start !important; - -ms-flex-item-align: start !important; - align-self: flex-start !important; - } - .align-self-md-end { - -webkit-align-self: flex-end !important; - -ms-flex-item-align: end !important; - align-self: flex-end !important; - } - .align-self-md-center { - -webkit-align-self: center !important; - -ms-flex-item-align: center !important; - -ms-grid-row-align: center !important; - align-self: center !important; - } - .align-self-md-baseline { - -webkit-align-self: baseline !important; - -ms-flex-item-align: baseline !important; - align-self: baseline !important; - } - .align-self-md-stretch { - -webkit-align-self: stretch !important; - -ms-flex-item-align: stretch !important; - -ms-grid-row-align: stretch !important; - align-self: stretch !important; - } -} - -@media (min-width: 992px) { - .flex-lg-first { - -webkit-box-ordinal-group: 0; - -webkit-order: -1; - -ms-flex-order: -1; - order: -1; - } - .flex-lg-last { - -webkit-box-ordinal-group: 2; - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; - } - .flex-lg-unordered { - -webkit-box-ordinal-group: 1; - -webkit-order: 0; - -ms-flex-order: 0; - order: 0; - } - .flex-lg-row { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: normal !important; - -webkit-flex-direction: row !important; - -ms-flex-direction: row !important; - flex-direction: row !important; - } - .flex-lg-column { - -webkit-box-orient: vertical !important; - -webkit-box-direction: normal !important; - -webkit-flex-direction: column !important; - -ms-flex-direction: column !important; - flex-direction: column !important; - } - .flex-lg-row-reverse { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: reverse !important; - -webkit-flex-direction: row-reverse !important; - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; - } - .flex-lg-column-reverse { - -webkit-box-orient: vertical !important; - -webkit-box-direction: reverse !important; - -webkit-flex-direction: column-reverse !important; - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; - } - .flex-lg-wrap { - -webkit-flex-wrap: wrap !important; - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; - } - .flex-lg-nowrap { - -webkit-flex-wrap: nowrap !important; - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; - } - .flex-lg-wrap-reverse { - -webkit-flex-wrap: wrap-reverse !important; - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; - } - .justify-content-lg-start { - -webkit-box-pack: start !important; - -webkit-justify-content: flex-start !important; - -ms-flex-pack: start !important; - justify-content: flex-start !important; - } - .justify-content-lg-end { - -webkit-box-pack: end !important; - -webkit-justify-content: flex-end !important; - -ms-flex-pack: end !important; - justify-content: flex-end !important; - } - .justify-content-lg-center { - -webkit-box-pack: center !important; - -webkit-justify-content: center !important; - -ms-flex-pack: center !important; - justify-content: center !important; - } - .justify-content-lg-between { - -webkit-box-pack: justify !important; - -webkit-justify-content: space-between !important; - -ms-flex-pack: justify !important; - justify-content: space-between !important; - } - .justify-content-lg-around { - -webkit-justify-content: space-around !important; - -ms-flex-pack: distribute !important; - justify-content: space-around !important; - } - .align-items-lg-start { - -webkit-box-align: start !important; - -webkit-align-items: flex-start !important; - -ms-flex-align: start !important; - align-items: flex-start !important; - } - .align-items-lg-end { - -webkit-box-align: end !important; - -webkit-align-items: flex-end !important; - -ms-flex-align: end !important; - align-items: flex-end !important; - } - .align-items-lg-center { - -webkit-box-align: center !important; - -webkit-align-items: center !important; - -ms-flex-align: center !important; - align-items: center !important; - } - .align-items-lg-baseline { - -webkit-box-align: baseline !important; - -webkit-align-items: baseline !important; - -ms-flex-align: baseline !important; - align-items: baseline !important; - } - .align-items-lg-stretch { - -webkit-box-align: stretch !important; - -webkit-align-items: stretch !important; - -ms-flex-align: stretch !important; - align-items: stretch !important; - } - .align-content-lg-start { - -webkit-align-content: flex-start !important; - -ms-flex-line-pack: start !important; - align-content: flex-start !important; - } - .align-content-lg-end { - -webkit-align-content: flex-end !important; - -ms-flex-line-pack: end !important; - align-content: flex-end !important; - } - .align-content-lg-center { - -webkit-align-content: center !important; - -ms-flex-line-pack: center !important; - align-content: center !important; - } - .align-content-lg-between { - -webkit-align-content: space-between !important; - -ms-flex-line-pack: justify !important; - align-content: space-between !important; - } - .align-content-lg-around { - -webkit-align-content: space-around !important; - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; - } - .align-content-lg-stretch { - -webkit-align-content: stretch !important; - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; - } - .align-self-lg-auto { - -webkit-align-self: auto !important; - -ms-flex-item-align: auto !important; - -ms-grid-row-align: auto !important; - align-self: auto !important; - } - .align-self-lg-start { - -webkit-align-self: flex-start !important; - -ms-flex-item-align: start !important; - align-self: flex-start !important; - } - .align-self-lg-end { - -webkit-align-self: flex-end !important; - -ms-flex-item-align: end !important; - align-self: flex-end !important; - } - .align-self-lg-center { - -webkit-align-self: center !important; - -ms-flex-item-align: center !important; - -ms-grid-row-align: center !important; - align-self: center !important; - } - .align-self-lg-baseline { - -webkit-align-self: baseline !important; - -ms-flex-item-align: baseline !important; - align-self: baseline !important; - } - .align-self-lg-stretch { - -webkit-align-self: stretch !important; - -ms-flex-item-align: stretch !important; - -ms-grid-row-align: stretch !important; - align-self: stretch !important; - } -} - -@media (min-width: 1200px) { - .flex-xl-first { - -webkit-box-ordinal-group: 0; - -webkit-order: -1; - -ms-flex-order: -1; - order: -1; - } - .flex-xl-last { - -webkit-box-ordinal-group: 2; - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; - } - .flex-xl-unordered { - -webkit-box-ordinal-group: 1; - -webkit-order: 0; - -ms-flex-order: 0; - order: 0; - } - .flex-xl-row { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: normal !important; - -webkit-flex-direction: row !important; - -ms-flex-direction: row !important; - flex-direction: row !important; - } - .flex-xl-column { - -webkit-box-orient: vertical !important; - -webkit-box-direction: normal !important; - -webkit-flex-direction: column !important; - -ms-flex-direction: column !important; - flex-direction: column !important; - } - .flex-xl-row-reverse { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: reverse !important; - -webkit-flex-direction: row-reverse !important; - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; - } - .flex-xl-column-reverse { - -webkit-box-orient: vertical !important; - -webkit-box-direction: reverse !important; - -webkit-flex-direction: column-reverse !important; - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; - } - .flex-xl-wrap { - -webkit-flex-wrap: wrap !important; - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; - } - .flex-xl-nowrap { - -webkit-flex-wrap: nowrap !important; - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; - } - .flex-xl-wrap-reverse { - -webkit-flex-wrap: wrap-reverse !important; - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; - } - .justify-content-xl-start { - -webkit-box-pack: start !important; - -webkit-justify-content: flex-start !important; - -ms-flex-pack: start !important; - justify-content: flex-start !important; - } - .justify-content-xl-end { - -webkit-box-pack: end !important; - -webkit-justify-content: flex-end !important; - -ms-flex-pack: end !important; - justify-content: flex-end !important; - } - .justify-content-xl-center { - -webkit-box-pack: center !important; - -webkit-justify-content: center !important; - -ms-flex-pack: center !important; - justify-content: center !important; - } - .justify-content-xl-between { - -webkit-box-pack: justify !important; - -webkit-justify-content: space-between !important; - -ms-flex-pack: justify !important; - justify-content: space-between !important; - } - .justify-content-xl-around { - -webkit-justify-content: space-around !important; - -ms-flex-pack: distribute !important; - justify-content: space-around !important; - } - .align-items-xl-start { - -webkit-box-align: start !important; - -webkit-align-items: flex-start !important; - -ms-flex-align: start !important; - align-items: flex-start !important; - } - .align-items-xl-end { - -webkit-box-align: end !important; - -webkit-align-items: flex-end !important; - -ms-flex-align: end !important; - align-items: flex-end !important; - } - .align-items-xl-center { - -webkit-box-align: center !important; - -webkit-align-items: center !important; - -ms-flex-align: center !important; - align-items: center !important; - } - .align-items-xl-baseline { - -webkit-box-align: baseline !important; - -webkit-align-items: baseline !important; - -ms-flex-align: baseline !important; - align-items: baseline !important; - } - .align-items-xl-stretch { - -webkit-box-align: stretch !important; - -webkit-align-items: stretch !important; - -ms-flex-align: stretch !important; - align-items: stretch !important; - } - .align-content-xl-start { - -webkit-align-content: flex-start !important; - -ms-flex-line-pack: start !important; - align-content: flex-start !important; - } - .align-content-xl-end { - -webkit-align-content: flex-end !important; - -ms-flex-line-pack: end !important; - align-content: flex-end !important; - } - .align-content-xl-center { - -webkit-align-content: center !important; - -ms-flex-line-pack: center !important; - align-content: center !important; - } - .align-content-xl-between { - -webkit-align-content: space-between !important; - -ms-flex-line-pack: justify !important; - align-content: space-between !important; - } - .align-content-xl-around { - -webkit-align-content: space-around !important; - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; - } - .align-content-xl-stretch { - -webkit-align-content: stretch !important; - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; - } - .align-self-xl-auto { - -webkit-align-self: auto !important; - -ms-flex-item-align: auto !important; - -ms-grid-row-align: auto !important; - align-self: auto !important; - } - .align-self-xl-start { - -webkit-align-self: flex-start !important; - -ms-flex-item-align: start !important; - align-self: flex-start !important; - } - .align-self-xl-end { - -webkit-align-self: flex-end !important; - -ms-flex-item-align: end !important; - align-self: flex-end !important; - } - .align-self-xl-center { - -webkit-align-self: center !important; - -ms-flex-item-align: center !important; - -ms-grid-row-align: center !important; - align-self: center !important; - } - .align-self-xl-baseline { - -webkit-align-self: baseline !important; - -ms-flex-item-align: baseline !important; - align-self: baseline !important; - } - .align-self-xl-stretch { - -webkit-align-self: stretch !important; - -ms-flex-item-align: stretch !important; - -ms-grid-row-align: stretch !important; - align-self: stretch !important; - } -} - -.float-left { - float: left !important; -} - -.float-right { - float: right !important; -} - -.float-none { - float: none !important; -} - -@media (min-width: 576px) { - .float-sm-left { - float: left !important; - } - .float-sm-right { - float: right !important; - } - .float-sm-none { - float: none !important; - } -} - -@media (min-width: 768px) { - .float-md-left { - float: left !important; - } - .float-md-right { - float: right !important; - } - .float-md-none { - float: none !important; - } -} - -@media (min-width: 992px) { - .float-lg-left { - float: left !important; - } - .float-lg-right { - float: right !important; - } - .float-lg-none { - float: none !important; - } -} - -@media (min-width: 1200px) { - .float-xl-left { - float: left !important; - } - .float-xl-right { - float: right !important; - } - .float-xl-none { - float: none !important; - } -} - -.fixed-top { - position: fixed; - top: 0; - right: 0; - left: 0; - z-index: 1030; -} - -.fixed-bottom { - position: fixed; - right: 0; - bottom: 0; - left: 0; - z-index: 1030; -} - -.sticky-top { - position: -webkit-sticky; - position: sticky; - top: 0; - z-index: 1030; -} - -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - 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; -} - -.w-25 { - width: 25% !important; -} - -.w-50 { - width: 50% !important; -} - -.w-75 { - width: 75% !important; -} - -.w-100 { - width: 100% !important; -} - -.h-25 { - height: 25% !important; -} - -.h-50 { - height: 50% !important; -} - -.h-75 { - height: 75% !important; -} - -.h-100 { - height: 100% !important; -} - -.mw-100 { - max-width: 100% !important; -} - -.mh-100 { - max-height: 100% !important; -} - -.m-0 { - margin: 0 0 !important; -} - -.mt-0 { - margin-top: 0 !important; -} - -.mr-0 { - margin-right: 0 !important; -} - -.mb-0 { - margin-bottom: 0 !important; -} - -.ml-0 { - margin-left: 0 !important; -} - -.mx-0 { - margin-right: 0 !important; - margin-left: 0 !important; -} - -.my-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; -} - -.m-1 { - margin: 0.25rem 0.25rem !important; -} - -.mt-1 { - margin-top: 0.25rem !important; -} - -.mr-1 { - margin-right: 0.25rem !important; -} - -.mb-1 { - margin-bottom: 0.25rem !important; -} - -.ml-1 { - margin-left: 0.25rem !important; -} - -.mx-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; -} - -.my-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; -} - -.m-2 { - margin: 0.5rem 0.5rem !important; -} - -.mt-2 { - margin-top: 0.5rem !important; -} - -.mr-2 { - margin-right: 0.5rem !important; -} - -.mb-2 { - margin-bottom: 0.5rem !important; -} - -.ml-2 { - margin-left: 0.5rem !important; -} - -.mx-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; -} - -.my-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; -} - -.m-3 { - margin: 1rem 1rem !important; -} - -.mt-3 { - margin-top: 1rem !important; -} - -.mr-3 { - margin-right: 1rem !important; -} - -.mb-3 { - margin-bottom: 1rem !important; -} - -.ml-3 { - margin-left: 1rem !important; -} - -.mx-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; -} - -.my-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; -} - -.m-4 { - margin: 1.5rem 1.5rem !important; -} - -.mt-4 { - margin-top: 1.5rem !important; -} - -.mr-4 { - margin-right: 1.5rem !important; -} - -.mb-4 { - margin-bottom: 1.5rem !important; -} - -.ml-4 { - margin-left: 1.5rem !important; -} - -.mx-4 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; -} - -.my-4 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; -} - -.m-5 { - margin: 3rem 3rem !important; -} - -.mt-5 { - margin-top: 3rem !important; -} - -.mr-5 { - margin-right: 3rem !important; -} - -.mb-5 { - margin-bottom: 3rem !important; -} - -.ml-5 { - margin-left: 3rem !important; -} - -.mx-5 { - margin-right: 3rem !important; - margin-left: 3rem !important; -} - -.my-5 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; -} - -.p-0 { - padding: 0 0 !important; -} - -.pt-0 { - padding-top: 0 !important; -} - -.pr-0 { - padding-right: 0 !important; -} - -.pb-0 { - padding-bottom: 0 !important; -} - -.pl-0 { - padding-left: 0 !important; -} - -.px-0 { - padding-right: 0 !important; - padding-left: 0 !important; -} - -.py-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; -} - -.p-1 { - padding: 0.25rem 0.25rem !important; -} - -.pt-1 { - padding-top: 0.25rem !important; -} - -.pr-1 { - padding-right: 0.25rem !important; -} - -.pb-1 { - padding-bottom: 0.25rem !important; -} - -.pl-1 { - padding-left: 0.25rem !important; -} - -.px-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; -} - -.py-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; -} - -.p-2 { - padding: 0.5rem 0.5rem !important; -} - -.pt-2 { - padding-top: 0.5rem !important; -} - -.pr-2 { - padding-right: 0.5rem !important; -} - -.pb-2 { - padding-bottom: 0.5rem !important; -} - -.pl-2 { - padding-left: 0.5rem !important; -} - -.px-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; -} - -.py-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; -} - -.p-3 { - padding: 1rem 1rem !important; -} - -.pt-3 { - padding-top: 1rem !important; -} - -.pr-3 { - padding-right: 1rem !important; -} - -.pb-3 { - padding-bottom: 1rem !important; -} - -.pl-3 { - padding-left: 1rem !important; -} - -.px-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; -} - -.py-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; -} - -.p-4 { - padding: 1.5rem 1.5rem !important; -} - -.pt-4 { - padding-top: 1.5rem !important; -} - -.pr-4 { - padding-right: 1.5rem !important; -} - -.pb-4 { - padding-bottom: 1.5rem !important; -} - -.pl-4 { - padding-left: 1.5rem !important; -} - -.px-4 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; -} - -.py-4 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; -} - -.p-5 { - padding: 3rem 3rem !important; -} - -.pt-5 { - padding-top: 3rem !important; -} - -.pr-5 { - padding-right: 3rem !important; -} - -.pb-5 { - padding-bottom: 3rem !important; -} - -.pl-5 { - padding-left: 3rem !important; -} - -.px-5 { - padding-right: 3rem !important; - padding-left: 3rem !important; -} - -.py-5 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; -} - -.m-auto { - margin: auto !important; -} - -.mt-auto { - margin-top: auto !important; -} - -.mr-auto { - margin-right: auto !important; -} - -.mb-auto { - margin-bottom: auto !important; -} - -.ml-auto { - margin-left: auto !important; -} - -.mx-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.my-auto { - margin-top: auto !important; - margin-bottom: auto !important; -} - -@media (min-width: 576px) { - .m-sm-0 { - margin: 0 0 !important; - } - .mt-sm-0 { - margin-top: 0 !important; - } - .mr-sm-0 { - margin-right: 0 !important; - } - .mb-sm-0 { - margin-bottom: 0 !important; - } - .ml-sm-0 { - margin-left: 0 !important; - } - .mx-sm-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .my-sm-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .m-sm-1 { - margin: 0.25rem 0.25rem !important; - } - .mt-sm-1 { - margin-top: 0.25rem !important; - } - .mr-sm-1 { - margin-right: 0.25rem !important; - } - .mb-sm-1 { - margin-bottom: 0.25rem !important; - } - .ml-sm-1 { - margin-left: 0.25rem !important; - } - .mx-sm-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } - .my-sm-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .m-sm-2 { - margin: 0.5rem 0.5rem !important; - } - .mt-sm-2 { - margin-top: 0.5rem !important; - } - .mr-sm-2 { - margin-right: 0.5rem !important; - } - .mb-sm-2 { - margin-bottom: 0.5rem !important; - } - .ml-sm-2 { - margin-left: 0.5rem !important; - } - .mx-sm-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } - .my-sm-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .m-sm-3 { - margin: 1rem 1rem !important; - } - .mt-sm-3 { - margin-top: 1rem !important; - } - .mr-sm-3 { - margin-right: 1rem !important; - } - .mb-sm-3 { - margin-bottom: 1rem !important; - } - .ml-sm-3 { - margin-left: 1rem !important; - } - .mx-sm-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } - .my-sm-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .m-sm-4 { - margin: 1.5rem 1.5rem !important; - } - .mt-sm-4 { - margin-top: 1.5rem !important; - } - .mr-sm-4 { - margin-right: 1.5rem !important; - } - .mb-sm-4 { - margin-bottom: 1.5rem !important; - } - .ml-sm-4 { - margin-left: 1.5rem !important; - } - .mx-sm-4 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; - } - .my-sm-4 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; - } - .m-sm-5 { - margin: 3rem 3rem !important; - } - .mt-sm-5 { - margin-top: 3rem !important; - } - .mr-sm-5 { - margin-right: 3rem !important; - } - .mb-sm-5 { - margin-bottom: 3rem !important; - } - .ml-sm-5 { - margin-left: 3rem !important; - } - .mx-sm-5 { - margin-right: 3rem !important; - margin-left: 3rem !important; - } - .my-sm-5 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; - } - .p-sm-0 { - padding: 0 0 !important; - } - .pt-sm-0 { - padding-top: 0 !important; - } - .pr-sm-0 { - padding-right: 0 !important; - } - .pb-sm-0 { - padding-bottom: 0 !important; - } - .pl-sm-0 { - padding-left: 0 !important; - } - .px-sm-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .py-sm-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .p-sm-1 { - padding: 0.25rem 0.25rem !important; - } - .pt-sm-1 { - padding-top: 0.25rem !important; - } - .pr-sm-1 { - padding-right: 0.25rem !important; - } - .pb-sm-1 { - padding-bottom: 0.25rem !important; - } - .pl-sm-1 { - padding-left: 0.25rem !important; - } - .px-sm-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } - .py-sm-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .p-sm-2 { - padding: 0.5rem 0.5rem !important; - } - .pt-sm-2 { - padding-top: 0.5rem !important; - } - .pr-sm-2 { - padding-right: 0.5rem !important; - } - .pb-sm-2 { - padding-bottom: 0.5rem !important; - } - .pl-sm-2 { - padding-left: 0.5rem !important; - } - .px-sm-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } - .py-sm-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .p-sm-3 { - padding: 1rem 1rem !important; - } - .pt-sm-3 { - padding-top: 1rem !important; - } - .pr-sm-3 { - padding-right: 1rem !important; - } - .pb-sm-3 { - padding-bottom: 1rem !important; - } - .pl-sm-3 { - padding-left: 1rem !important; - } - .px-sm-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } - .py-sm-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .p-sm-4 { - padding: 1.5rem 1.5rem !important; - } - .pt-sm-4 { - padding-top: 1.5rem !important; - } - .pr-sm-4 { - padding-right: 1.5rem !important; - } - .pb-sm-4 { - padding-bottom: 1.5rem !important; - } - .pl-sm-4 { - padding-left: 1.5rem !important; - } - .px-sm-4 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; - } - .py-sm-4 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; - } - .p-sm-5 { - padding: 3rem 3rem !important; - } - .pt-sm-5 { - padding-top: 3rem !important; - } - .pr-sm-5 { - padding-right: 3rem !important; - } - .pb-sm-5 { - padding-bottom: 3rem !important; - } - .pl-sm-5 { - padding-left: 3rem !important; - } - .px-sm-5 { - padding-right: 3rem !important; - padding-left: 3rem !important; - } - .py-sm-5 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; - } - .m-sm-auto { - margin: auto !important; - } - .mt-sm-auto { - margin-top: auto !important; - } - .mr-sm-auto { - margin-right: auto !important; - } - .mb-sm-auto { - margin-bottom: auto !important; - } - .ml-sm-auto { - margin-left: auto !important; - } - .mx-sm-auto { - margin-right: auto !important; - margin-left: auto !important; - } - .my-sm-auto { - margin-top: auto !important; - margin-bottom: auto !important; - } -} - -@media (min-width: 768px) { - .m-md-0 { - margin: 0 0 !important; - } - .mt-md-0 { - margin-top: 0 !important; - } - .mr-md-0 { - margin-right: 0 !important; - } - .mb-md-0 { - margin-bottom: 0 !important; - } - .ml-md-0 { - margin-left: 0 !important; - } - .mx-md-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .my-md-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .m-md-1 { - margin: 0.25rem 0.25rem !important; - } - .mt-md-1 { - margin-top: 0.25rem !important; - } - .mr-md-1 { - margin-right: 0.25rem !important; - } - .mb-md-1 { - margin-bottom: 0.25rem !important; - } - .ml-md-1 { - margin-left: 0.25rem !important; - } - .mx-md-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } - .my-md-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .m-md-2 { - margin: 0.5rem 0.5rem !important; - } - .mt-md-2 { - margin-top: 0.5rem !important; - } - .mr-md-2 { - margin-right: 0.5rem !important; - } - .mb-md-2 { - margin-bottom: 0.5rem !important; - } - .ml-md-2 { - margin-left: 0.5rem !important; - } - .mx-md-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } - .my-md-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .m-md-3 { - margin: 1rem 1rem !important; - } - .mt-md-3 { - margin-top: 1rem !important; - } - .mr-md-3 { - margin-right: 1rem !important; - } - .mb-md-3 { - margin-bottom: 1rem !important; - } - .ml-md-3 { - margin-left: 1rem !important; - } - .mx-md-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } - .my-md-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .m-md-4 { - margin: 1.5rem 1.5rem !important; - } - .mt-md-4 { - margin-top: 1.5rem !important; - } - .mr-md-4 { - margin-right: 1.5rem !important; - } - .mb-md-4 { - margin-bottom: 1.5rem !important; - } - .ml-md-4 { - margin-left: 1.5rem !important; - } - .mx-md-4 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; - } - .my-md-4 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; - } - .m-md-5 { - margin: 3rem 3rem !important; - } - .mt-md-5 { - margin-top: 3rem !important; - } - .mr-md-5 { - margin-right: 3rem !important; - } - .mb-md-5 { - margin-bottom: 3rem !important; - } - .ml-md-5 { - margin-left: 3rem !important; - } - .mx-md-5 { - margin-right: 3rem !important; - margin-left: 3rem !important; - } - .my-md-5 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; - } - .p-md-0 { - padding: 0 0 !important; - } - .pt-md-0 { - padding-top: 0 !important; - } - .pr-md-0 { - padding-right: 0 !important; - } - .pb-md-0 { - padding-bottom: 0 !important; - } - .pl-md-0 { - padding-left: 0 !important; - } - .px-md-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .py-md-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .p-md-1 { - padding: 0.25rem 0.25rem !important; - } - .pt-md-1 { - padding-top: 0.25rem !important; - } - .pr-md-1 { - padding-right: 0.25rem !important; - } - .pb-md-1 { - padding-bottom: 0.25rem !important; - } - .pl-md-1 { - padding-left: 0.25rem !important; - } - .px-md-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } - .py-md-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .p-md-2 { - padding: 0.5rem 0.5rem !important; - } - .pt-md-2 { - padding-top: 0.5rem !important; - } - .pr-md-2 { - padding-right: 0.5rem !important; - } - .pb-md-2 { - padding-bottom: 0.5rem !important; - } - .pl-md-2 { - padding-left: 0.5rem !important; - } - .px-md-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } - .py-md-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .p-md-3 { - padding: 1rem 1rem !important; - } - .pt-md-3 { - padding-top: 1rem !important; - } - .pr-md-3 { - padding-right: 1rem !important; - } - .pb-md-3 { - padding-bottom: 1rem !important; - } - .pl-md-3 { - padding-left: 1rem !important; - } - .px-md-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } - .py-md-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .p-md-4 { - padding: 1.5rem 1.5rem !important; - } - .pt-md-4 { - padding-top: 1.5rem !important; - } - .pr-md-4 { - padding-right: 1.5rem !important; - } - .pb-md-4 { - padding-bottom: 1.5rem !important; - } - .pl-md-4 { - padding-left: 1.5rem !important; - } - .px-md-4 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; - } - .py-md-4 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; - } - .p-md-5 { - padding: 3rem 3rem !important; - } - .pt-md-5 { - padding-top: 3rem !important; - } - .pr-md-5 { - padding-right: 3rem !important; - } - .pb-md-5 { - padding-bottom: 3rem !important; - } - .pl-md-5 { - padding-left: 3rem !important; - } - .px-md-5 { - padding-right: 3rem !important; - padding-left: 3rem !important; - } - .py-md-5 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; - } - .m-md-auto { - margin: auto !important; - } - .mt-md-auto { - margin-top: auto !important; - } - .mr-md-auto { - margin-right: auto !important; - } - .mb-md-auto { - margin-bottom: auto !important; - } - .ml-md-auto { - margin-left: auto !important; - } - .mx-md-auto { - margin-right: auto !important; - margin-left: auto !important; - } - .my-md-auto { - margin-top: auto !important; - margin-bottom: auto !important; - } -} - -@media (min-width: 992px) { - .m-lg-0 { - margin: 0 0 !important; - } - .mt-lg-0 { - margin-top: 0 !important; - } - .mr-lg-0 { - margin-right: 0 !important; - } - .mb-lg-0 { - margin-bottom: 0 !important; - } - .ml-lg-0 { - margin-left: 0 !important; - } - .mx-lg-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .my-lg-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .m-lg-1 { - margin: 0.25rem 0.25rem !important; - } - .mt-lg-1 { - margin-top: 0.25rem !important; - } - .mr-lg-1 { - margin-right: 0.25rem !important; - } - .mb-lg-1 { - margin-bottom: 0.25rem !important; - } - .ml-lg-1 { - margin-left: 0.25rem !important; - } - .mx-lg-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } - .my-lg-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .m-lg-2 { - margin: 0.5rem 0.5rem !important; - } - .mt-lg-2 { - margin-top: 0.5rem !important; - } - .mr-lg-2 { - margin-right: 0.5rem !important; - } - .mb-lg-2 { - margin-bottom: 0.5rem !important; - } - .ml-lg-2 { - margin-left: 0.5rem !important; - } - .mx-lg-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } - .my-lg-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .m-lg-3 { - margin: 1rem 1rem !important; - } - .mt-lg-3 { - margin-top: 1rem !important; - } - .mr-lg-3 { - margin-right: 1rem !important; - } - .mb-lg-3 { - margin-bottom: 1rem !important; - } - .ml-lg-3 { - margin-left: 1rem !important; - } - .mx-lg-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } - .my-lg-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .m-lg-4 { - margin: 1.5rem 1.5rem !important; - } - .mt-lg-4 { - margin-top: 1.5rem !important; - } - .mr-lg-4 { - margin-right: 1.5rem !important; - } - .mb-lg-4 { - margin-bottom: 1.5rem !important; - } - .ml-lg-4 { - margin-left: 1.5rem !important; - } - .mx-lg-4 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; - } - .my-lg-4 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; - } - .m-lg-5 { - margin: 3rem 3rem !important; - } - .mt-lg-5 { - margin-top: 3rem !important; - } - .mr-lg-5 { - margin-right: 3rem !important; - } - .mb-lg-5 { - margin-bottom: 3rem !important; - } - .ml-lg-5 { - margin-left: 3rem !important; - } - .mx-lg-5 { - margin-right: 3rem !important; - margin-left: 3rem !important; - } - .my-lg-5 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; - } - .p-lg-0 { - padding: 0 0 !important; - } - .pt-lg-0 { - padding-top: 0 !important; - } - .pr-lg-0 { - padding-right: 0 !important; - } - .pb-lg-0 { - padding-bottom: 0 !important; - } - .pl-lg-0 { - padding-left: 0 !important; - } - .px-lg-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .py-lg-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .p-lg-1 { - padding: 0.25rem 0.25rem !important; - } - .pt-lg-1 { - padding-top: 0.25rem !important; - } - .pr-lg-1 { - padding-right: 0.25rem !important; - } - .pb-lg-1 { - padding-bottom: 0.25rem !important; - } - .pl-lg-1 { - padding-left: 0.25rem !important; - } - .px-lg-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } - .py-lg-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .p-lg-2 { - padding: 0.5rem 0.5rem !important; - } - .pt-lg-2 { - padding-top: 0.5rem !important; - } - .pr-lg-2 { - padding-right: 0.5rem !important; - } - .pb-lg-2 { - padding-bottom: 0.5rem !important; - } - .pl-lg-2 { - padding-left: 0.5rem !important; - } - .px-lg-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } - .py-lg-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .p-lg-3 { - padding: 1rem 1rem !important; - } - .pt-lg-3 { - padding-top: 1rem !important; - } - .pr-lg-3 { - padding-right: 1rem !important; - } - .pb-lg-3 { - padding-bottom: 1rem !important; - } - .pl-lg-3 { - padding-left: 1rem !important; - } - .px-lg-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } - .py-lg-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .p-lg-4 { - padding: 1.5rem 1.5rem !important; - } - .pt-lg-4 { - padding-top: 1.5rem !important; - } - .pr-lg-4 { - padding-right: 1.5rem !important; - } - .pb-lg-4 { - padding-bottom: 1.5rem !important; - } - .pl-lg-4 { - padding-left: 1.5rem !important; - } - .px-lg-4 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; - } - .py-lg-4 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; - } - .p-lg-5 { - padding: 3rem 3rem !important; - } - .pt-lg-5 { - padding-top: 3rem !important; - } - .pr-lg-5 { - padding-right: 3rem !important; - } - .pb-lg-5 { - padding-bottom: 3rem !important; - } - .pl-lg-5 { - padding-left: 3rem !important; - } - .px-lg-5 { - padding-right: 3rem !important; - padding-left: 3rem !important; - } - .py-lg-5 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; - } - .m-lg-auto { - margin: auto !important; - } - .mt-lg-auto { - margin-top: auto !important; - } - .mr-lg-auto { - margin-right: auto !important; - } - .mb-lg-auto { - margin-bottom: auto !important; - } - .ml-lg-auto { - margin-left: auto !important; - } - .mx-lg-auto { - margin-right: auto !important; - margin-left: auto !important; - } - .my-lg-auto { - margin-top: auto !important; - margin-bottom: auto !important; - } -} - -@media (min-width: 1200px) { - .m-xl-0 { - margin: 0 0 !important; - } - .mt-xl-0 { - margin-top: 0 !important; - } - .mr-xl-0 { - margin-right: 0 !important; - } - .mb-xl-0 { - margin-bottom: 0 !important; - } - .ml-xl-0 { - margin-left: 0 !important; - } - .mx-xl-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .my-xl-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .m-xl-1 { - margin: 0.25rem 0.25rem !important; - } - .mt-xl-1 { - margin-top: 0.25rem !important; - } - .mr-xl-1 { - margin-right: 0.25rem !important; - } - .mb-xl-1 { - margin-bottom: 0.25rem !important; - } - .ml-xl-1 { - margin-left: 0.25rem !important; - } - .mx-xl-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } - .my-xl-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .m-xl-2 { - margin: 0.5rem 0.5rem !important; - } - .mt-xl-2 { - margin-top: 0.5rem !important; - } - .mr-xl-2 { - margin-right: 0.5rem !important; - } - .mb-xl-2 { - margin-bottom: 0.5rem !important; - } - .ml-xl-2 { - margin-left: 0.5rem !important; - } - .mx-xl-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } - .my-xl-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .m-xl-3 { - margin: 1rem 1rem !important; - } - .mt-xl-3 { - margin-top: 1rem !important; - } - .mr-xl-3 { - margin-right: 1rem !important; - } - .mb-xl-3 { - margin-bottom: 1rem !important; - } - .ml-xl-3 { - margin-left: 1rem !important; - } - .mx-xl-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } - .my-xl-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .m-xl-4 { - margin: 1.5rem 1.5rem !important; - } - .mt-xl-4 { - margin-top: 1.5rem !important; - } - .mr-xl-4 { - margin-right: 1.5rem !important; - } - .mb-xl-4 { - margin-bottom: 1.5rem !important; - } - .ml-xl-4 { - margin-left: 1.5rem !important; - } - .mx-xl-4 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; - } - .my-xl-4 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; - } - .m-xl-5 { - margin: 3rem 3rem !important; - } - .mt-xl-5 { - margin-top: 3rem !important; - } - .mr-xl-5 { - margin-right: 3rem !important; - } - .mb-xl-5 { - margin-bottom: 3rem !important; - } - .ml-xl-5 { - margin-left: 3rem !important; - } - .mx-xl-5 { - margin-right: 3rem !important; - margin-left: 3rem !important; - } - .my-xl-5 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; - } - .p-xl-0 { - padding: 0 0 !important; - } - .pt-xl-0 { - padding-top: 0 !important; - } - .pr-xl-0 { - padding-right: 0 !important; - } - .pb-xl-0 { - padding-bottom: 0 !important; - } - .pl-xl-0 { - padding-left: 0 !important; - } - .px-xl-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .py-xl-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .p-xl-1 { - padding: 0.25rem 0.25rem !important; - } - .pt-xl-1 { - padding-top: 0.25rem !important; - } - .pr-xl-1 { - padding-right: 0.25rem !important; - } - .pb-xl-1 { - padding-bottom: 0.25rem !important; - } - .pl-xl-1 { - padding-left: 0.25rem !important; - } - .px-xl-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } - .py-xl-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .p-xl-2 { - padding: 0.5rem 0.5rem !important; - } - .pt-xl-2 { - padding-top: 0.5rem !important; - } - .pr-xl-2 { - padding-right: 0.5rem !important; - } - .pb-xl-2 { - padding-bottom: 0.5rem !important; - } - .pl-xl-2 { - padding-left: 0.5rem !important; - } - .px-xl-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } - .py-xl-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .p-xl-3 { - padding: 1rem 1rem !important; - } - .pt-xl-3 { - padding-top: 1rem !important; - } - .pr-xl-3 { - padding-right: 1rem !important; - } - .pb-xl-3 { - padding-bottom: 1rem !important; - } - .pl-xl-3 { - padding-left: 1rem !important; - } - .px-xl-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } - .py-xl-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .p-xl-4 { - padding: 1.5rem 1.5rem !important; - } - .pt-xl-4 { - padding-top: 1.5rem !important; - } - .pr-xl-4 { - padding-right: 1.5rem !important; - } - .pb-xl-4 { - padding-bottom: 1.5rem !important; - } - .pl-xl-4 { - padding-left: 1.5rem !important; - } - .px-xl-4 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; - } - .py-xl-4 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; - } - .p-xl-5 { - padding: 3rem 3rem !important; - } - .pt-xl-5 { - padding-top: 3rem !important; - } - .pr-xl-5 { - padding-right: 3rem !important; - } - .pb-xl-5 { - padding-bottom: 3rem !important; - } - .pl-xl-5 { - padding-left: 3rem !important; - } - .px-xl-5 { - padding-right: 3rem !important; - padding-left: 3rem !important; - } - .py-xl-5 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; - } - .m-xl-auto { - margin: auto !important; - } - .mt-xl-auto { - margin-top: auto !important; - } - .mr-xl-auto { - margin-right: auto !important; - } - .mb-xl-auto { - margin-bottom: auto !important; - } - .ml-xl-auto { - margin-left: auto !important; - } - .mx-xl-auto { - margin-right: auto !important; - margin-left: auto !important; - } - .my-xl-auto { - margin-top: auto !important; - margin-bottom: auto !important; - } -} - -.text-justify { - text-align: justify !important; -} - -.text-nowrap { - white-space: nowrap !important; -} - -.text-truncate { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -.text-left { - text-align: left !important; -} - -.text-right { - text-align: right !important; -} - -.text-center { - text-align: center !important; -} - -@media (min-width: 576px) { - .text-sm-left { - text-align: left !important; - } - .text-sm-right { - text-align: right !important; - } - .text-sm-center { - text-align: center !important; - } -} - -@media (min-width: 768px) { - .text-md-left { - text-align: left !important; - } - .text-md-right { - text-align: right !important; - } - .text-md-center { - text-align: center !important; - } -} - -@media (min-width: 992px) { - .text-lg-left { - text-align: left !important; - } - .text-lg-right { - text-align: right !important; - } - .text-lg-center { - text-align: center !important; - } -} - -@media (min-width: 1200px) { - .text-xl-left { - text-align: left !important; - } - .text-xl-right { - text-align: right !important; - } - .text-xl-center { - text-align: center !important; - } -} - -.text-lowercase { - text-transform: lowercase !important; -} - -.text-uppercase { - text-transform: uppercase !important; -} - -.text-capitalize { - text-transform: capitalize !important; -} - -.font-weight-normal { - font-weight: normal; -} - -.font-weight-bold { - font-weight: bold; -} - -.font-italic { - font-style: italic; -} - -.text-white { - color: #fff !important; -} - -.text-muted { - color: #636c72 !important; -} - -a.text-muted:focus, a.text-muted:hover { - color: #4b5257 !important; -} - -.text-primary { - color: #0275d8 !important; -} - -a.text-primary:focus, a.text-primary:hover { - color: #025aa5 !important; -} - -.text-success { - color: #5cb85c !important; -} - -a.text-success:focus, a.text-success:hover { - color: #449d44 !important; -} - -.text-info { - color: #5bc0de !important; -} - -a.text-info:focus, a.text-info:hover { - color: #31b0d5 !important; -} - -.text-warning { - color: #f0ad4e !important; -} - -a.text-warning:focus, a.text-warning:hover { - color: #ec971f !important; -} - -.text-danger { - color: #d9534f !important; -} - -a.text-danger:focus, a.text-danger:hover { - color: #c9302c !important; -} - -.text-gray-dark { - color: #292b2c !important; -} - -a.text-gray-dark:focus, a.text-gray-dark:hover { - color: #101112 !important; -} - -.text-hide { - font: 0/0 a; - color: transparent; - text-shadow: none; - background-color: transparent; - border: 0; -} - -.invisible { - visibility: hidden !important; -} - -.hidden-xs-up { - display: none !important; -} - -@media (max-width: 575px) { - .hidden-xs-down { - display: none !important; - } -} - -@media (min-width: 576px) { - .hidden-sm-up { - display: none !important; - } -} - -@media (max-width: 767px) { - .hidden-sm-down { - display: none !important; - } -} - -@media (min-width: 768px) { - .hidden-md-up { - display: none !important; - } -} - -@media (max-width: 991px) { - .hidden-md-down { - display: none !important; - } -} - -@media (min-width: 992px) { - .hidden-lg-up { - display: none !important; - } -} - -@media (max-width: 1199px) { - .hidden-lg-down { - display: none !important; - } -} - -@media (min-width: 1200px) { - .hidden-xl-up { - display: none !important; - } -} - -.hidden-xl-down { - display: none !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; - } -} -/*# sourceMappingURL=bootstrap.css.map */ \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/assets/components/css/font-awesome.min.css b/sdc-workflow-designer-ui/src/app/assets/components/css/font-awesome.min.css deleted file mode 100644 index 248ea7ab..00000000 --- a/sdc-workflow-designer-ui/src/app/assets/components/css/font-awesome.min.css +++ /dev/null @@ -1,4 +0,0 @@ -/*! - * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome - * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale} .fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%} .fa-2x{font-size:2em} .fa-3x{font-size:3em} .fa-4x{font-size:4em} .fa-5x{font-size:5em} .fa-fw{width:1.28571429em;text-align:center} .fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none} .fa-ul>li{position:relative} .fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center} .fa-li.fa-lg{left:-1.85714286em} .fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em} .fa-pull-left{float:left} .fa-pull-right{float:right} .fa.fa-pull-left{margin-right:.3em} .fa.fa-pull-right{margin-left:.3em} .pull-right{float:right} .pull-left{float:left} .fa.pull-left{margin-right:.3em} .fa.pull-right{margin-left:.3em} .fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear} .fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)} @-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}} @keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}} .fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)} .fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)} .fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)} .fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)} .fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)} :root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none} .fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle} .fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center} .fa-stack-1x{line-height:inherit} .fa-stack-2x{font-size:2em} .fa-inverse{color:#fff} .fa-glass:before{content:"\f000"} .fa-music:before{content:"\f001"} .fa-search:before{content:"\f002"} .fa-envelope-o:before{content:"\f003"} .fa-heart:before{content:"\f004"} .fa-star:before{content:"\f005"} .fa-star-o:before{content:"\f006"} .fa-user:before{content:"\f007"} .fa-film:before{content:"\f008"} .fa-th-large:before{content:"\f009"} .fa-th:before{content:"\f00a"} .fa-th-list:before{content:"\f00b"} .fa-check:before{content:"\f00c"} .fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"} .fa-search-plus:before{content:"\f00e"} .fa-search-minus:before{content:"\f010"} .fa-power-off:before{content:"\f011"} .fa-signal:before{content:"\f012"} .fa-gear:before,.fa-cog:before{content:"\f013"} .fa-trash-o:before{content:"\f014"} .fa-home:before{content:"\f015"} .fa-file-o:before{content:"\f016"} .fa-clock-o:before{content:"\f017"} .fa-road:before{content:"\f018"} .fa-download:before{content:"\f019"} .fa-arrow-circle-o-down:before{content:"\f01a"} .fa-arrow-circle-o-up:before{content:"\f01b"} .fa-inbox:before{content:"\f01c"} .fa-play-circle-o:before{content:"\f01d"} .fa-rotate-right:before,.fa-repeat:before{content:"\f01e"} .fa-refresh:before{content:"\f021"} .fa-list-alt:before{content:"\f022"} .fa-lock:before{content:"\f023"} .fa-flag:before{content:"\f024"} .fa-headphones:before{content:"\f025"} .fa-volume-off:before{content:"\f026"} .fa-volume-down:before{content:"\f027"} .fa-volume-up:before{content:"\f028"} .fa-qrcode:before{content:"\f029"} .fa-barcode:before{content:"\f02a"} .fa-tag:before{content:"\f02b"} .fa-tags:before{content:"\f02c"} .fa-book:before{content:"\f02d"} .fa-bookmark:before{content:"\f02e"} .fa-print:before{content:"\f02f"} .fa-camera:before{content:"\f030"} .fa-font:before{content:"\f031"} .fa-bold:before{content:"\f032"} .fa-italic:before{content:"\f033"} .fa-text-height:before{content:"\f034"} .fa-text-width:before{content:"\f035"} .fa-align-left:before{content:"\f036"} .fa-align-center:before{content:"\f037"} .fa-align-right:before{content:"\f038"} .fa-align-justify:before{content:"\f039"} .fa-list:before{content:"\f03a"} .fa-dedent:before,.fa-outdent:before{content:"\f03b"} .fa-indent:before{content:"\f03c"} .fa-video-camera:before{content:"\f03d"} .fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"} .fa-pencil:before{content:"\f040"} .fa-map-marker:before{content:"\f041"} .fa-adjust:before{content:"\f042"} .fa-tint:before{content:"\f043"} .fa-edit:before,.fa-pencil-square-o:before{content:"\f044"} .fa-share-square-o:before{content:"\f045"} .fa-check-square-o:before{content:"\f046"} .fa-arrows:before{content:"\f047"} .fa-step-backward:before{content:"\f048"} .fa-fast-backward:before{content:"\f049"} .fa-backward:before{content:"\f04a"} .fa-play:before{content:"\f04b"} .fa-pause:before{content:"\f04c"} .fa-stop:before{content:"\f04d"} .fa-forward:before{content:"\f04e"} .fa-fast-forward:before{content:"\f050"} .fa-step-forward:before{content:"\f051"} .fa-eject:before{content:"\f052"} .fa-chevron-left:before{content:"\f053"} .fa-chevron-right:before{content:"\f054"} .fa-plus-circle:before{content:"\f055"} .fa-minus-circle:before{content:"\f056"} .fa-times-circle:before{content:"\f057"} .fa-check-circle:before{content:"\f058"} .fa-question-circle:before{content:"\f059"} .fa-info-circle:before{content:"\f05a"} .fa-crosshairs:before{content:"\f05b"} .fa-times-circle-o:before{content:"\f05c"} .fa-check-circle-o:before{content:"\f05d"} .fa-ban:before{content:"\f05e"} .fa-arrow-left:before{content:"\f060"} .fa-arrow-right:before{content:"\f061"} .fa-arrow-up:before{content:"\f062"} .fa-arrow-down:before{content:"\f063"} .fa-mail-forward:before,.fa-share:before{content:"\f064"} .fa-expand:before{content:"\f065"} .fa-compress:before{content:"\f066"} .fa-plus:before{content:"\f067"} .fa-minus:before{content:"\f068"} .fa-asterisk:before{content:"\f069"} .fa-exclamation-circle:before{content:"\f06a"} .fa-gift:before{content:"\f06b"} .fa-leaf:before{content:"\f06c"} .fa-fire:before{content:"\f06d"} .fa-eye:before{content:"\f06e"} .fa-eye-slash:before{content:"\f070"} .fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"} .fa-plane:before{content:"\f072"} .fa-calendar:before{content:"\f073"} .fa-random:before{content:"\f074"} .fa-comment:before{content:"\f075"} .fa-magnet:before{content:"\f076"} .fa-chevron-up:before{content:"\f077"} .fa-chevron-down:before{content:"\f078"} .fa-retweet:before{content:"\f079"} .fa-shopping-cart:before{content:"\f07a"} .fa-folder:before{content:"\f07b"} .fa-folder-open:before{content:"\f07c"} .fa-arrows-v:before{content:"\f07d"} .fa-arrows-h:before{content:"\f07e"} .fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"} .fa-twitter-square:before{content:"\f081"} .fa-facebook-square:before{content:"\f082"} .fa-camera-retro:before{content:"\f083"} .fa-key:before{content:"\f084"} .fa-gears:before,.fa-cogs:before{content:"\f085"} .fa-comments:before{content:"\f086"} .fa-thumbs-o-up:before{content:"\f087"} .fa-thumbs-o-down:before{content:"\f088"} .fa-star-half:before{content:"\f089"} .fa-heart-o:before{content:"\f08a"} .fa-sign-out:before{content:"\f08b"} .fa-linkedin-square:before{content:"\f08c"} .fa-thumb-tack:before{content:"\f08d"} .fa-external-link:before{content:"\f08e"} .fa-sign-in:before{content:"\f090"} .fa-trophy:before{content:"\f091"} .fa-github-square:before{content:"\f092"} .fa-upload:before{content:"\f093"} .fa-lemon-o:before{content:"\f094"} .fa-phone:before{content:"\f095"} .fa-square-o:before{content:"\f096"} .fa-bookmark-o:before{content:"\f097"} .fa-phone-square:before{content:"\f098"} .fa-twitter:before{content:"\f099"} .fa-facebook-f:before,.fa-facebook:before{content:"\f09a"} .fa-github:before{content:"\f09b"} .fa-unlock:before{content:"\f09c"} .fa-credit-card:before{content:"\f09d"} .fa-feed:before,.fa-rss:before{content:"\f09e"} .fa-hdd-o:before{content:"\f0a0"} .fa-bullhorn:before{content:"\f0a1"} .fa-bell:before{content:"\f0f3"} .fa-certificate:before{content:"\f0a3"} .fa-hand-o-right:before{content:"\f0a4"} .fa-hand-o-left:before{content:"\f0a5"} .fa-hand-o-up:before{content:"\f0a6"} .fa-hand-o-down:before{content:"\f0a7"} .fa-arrow-circle-left:before{content:"\f0a8"} .fa-arrow-circle-right:before{content:"\f0a9"} .fa-arrow-circle-up:before{content:"\f0aa"} .fa-arrow-circle-down:before{content:"\f0ab"} .fa-globe:before{content:"\f0ac"} .fa-wrench:before{content:"\f0ad"} .fa-tasks:before{content:"\f0ae"} .fa-filter:before{content:"\f0b0"} .fa-briefcase:before{content:"\f0b1"} .fa-arrows-alt:before{content:"\f0b2"} .fa-group:before,.fa-users:before{content:"\f0c0"} .fa-chain:before,.fa-link:before{content:"\f0c1"} .fa-cloud:before{content:"\f0c2"} .fa-flask:before{content:"\f0c3"} .fa-cut:before,.fa-scissors:before{content:"\f0c4"} .fa-copy:before,.fa-files-o:before{content:"\f0c5"} .fa-paperclip:before{content:"\f0c6"} .fa-save:before,.fa-floppy-o:before{content:"\f0c7"} .fa-square:before{content:"\f0c8"} .fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"} .fa-list-ul:before{content:"\f0ca"} .fa-list-ol:before{content:"\f0cb"} .fa-strikethrough:before{content:"\f0cc"} .fa-underline:before{content:"\f0cd"} .fa-table:before{content:"\f0ce"} .fa-magic:before{content:"\f0d0"} .fa-truck:before{content:"\f0d1"} .fa-pinterest:before{content:"\f0d2"} .fa-pinterest-square:before{content:"\f0d3"} .fa-google-plus-square:before{content:"\f0d4"} .fa-google-plus:before{content:"\f0d5"} .fa-money:before{content:"\f0d6"} .fa-caret-down:before{content:"\f0d7"} .fa-caret-up:before{content:"\f0d8"} .fa-caret-left:before{content:"\f0d9"} .fa-caret-right:before{content:"\f0da"} .fa-columns:before{content:"\f0db"} .fa-unsorted:before,.fa-sort:before{content:"\f0dc"} .fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"} .fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"} .fa-envelope:before{content:"\f0e0"} .fa-linkedin:before{content:"\f0e1"} .fa-rotate-left:before,.fa-undo:before{content:"\f0e2"} .fa-legal:before,.fa-gavel:before{content:"\f0e3"} .fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"} .fa-comment-o:before{content:"\f0e5"} .fa-comments-o:before{content:"\f0e6"} .fa-flash:before,.fa-bolt:before{content:"\f0e7"} .fa-sitemap:before{content:"\f0e8"} .fa-umbrella:before{content:"\f0e9"} .fa-paste:before,.fa-clipboard:before{content:"\f0ea"} .fa-lightbulb-o:before{content:"\f0eb"} .fa-exchange:before{content:"\f0ec"} .fa-cloud-download:before{content:"\f0ed"} .fa-cloud-upload:before{content:"\f0ee"} .fa-user-md:before{content:"\f0f0"} .fa-stethoscope:before{content:"\f0f1"} .fa-suitcase:before{content:"\f0f2"} .fa-bell-o:before{content:"\f0a2"} .fa-coffee:before{content:"\f0f4"} .fa-cutlery:before{content:"\f0f5"} .fa-file-text-o:before{content:"\f0f6"} .fa-building-o:before{content:"\f0f7"} .fa-hospital-o:before{content:"\f0f8"} .fa-ambulance:before{content:"\f0f9"} .fa-medkit:before{content:"\f0fa"} .fa-fighter-jet:before{content:"\f0fb"} .fa-beer:before{content:"\f0fc"} .fa-h-square:before{content:"\f0fd"} .fa-plus-square:before{content:"\f0fe"} .fa-angle-double-left:before{content:"\f100"} .fa-angle-double-right:before{content:"\f101"} .fa-angle-double-up:before{content:"\f102"} .fa-angle-double-down:before{content:"\f103"} .fa-angle-left:before{content:"\f104"} .fa-angle-right:before{content:"\f105"} .fa-angle-up:before{content:"\f106"} .fa-angle-down:before{content:"\f107"} .fa-desktop:before{content:"\f108"} .fa-laptop:before{content:"\f109"} .fa-tablet:before{content:"\f10a"} .fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"} .fa-circle-o:before{content:"\f10c"} .fa-quote-left:before{content:"\f10d"} .fa-quote-right:before{content:"\f10e"} .fa-spinner:before{content:"\f110"} .fa-circle:before{content:"\f111"} .fa-mail-reply:before,.fa-reply:before{content:"\f112"} .fa-github-alt:before{content:"\f113"} .fa-folder-o:before{content:"\f114"} .fa-folder-open-o:before{content:"\f115"} .fa-smile-o:before{content:"\f118"} .fa-frown-o:before{content:"\f119"} .fa-meh-o:before{content:"\f11a"} .fa-gamepad:before{content:"\f11b"} .fa-keyboard-o:before{content:"\f11c"} .fa-flag-o:before{content:"\f11d"} .fa-flag-checkered:before{content:"\f11e"} .fa-terminal:before{content:"\f120"} .fa-code:before{content:"\f121"} .fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"} .fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"} .fa-location-arrow:before{content:"\f124"} .fa-crop:before{content:"\f125"} .fa-code-fork:before{content:"\f126"} .fa-unlink:before,.fa-chain-broken:before{content:"\f127"} .fa-question:before{content:"\f128"} .fa-info:before{content:"\f129"} .fa-exclamation:before{content:"\f12a"} .fa-superscript:before{content:"\f12b"} .fa-subscript:before{content:"\f12c"} .fa-eraser:before{content:"\f12d"} .fa-puzzle-piece:before{content:"\f12e"} .fa-microphone:before{content:"\f130"} .fa-microphone-slash:before{content:"\f131"} .fa-shield:before{content:"\f132"} .fa-calendar-o:before{content:"\f133"} .fa-fire-extinguisher:before{content:"\f134"} .fa-rocket:before{content:"\f135"} .fa-maxcdn:before{content:"\f136"} .fa-chevron-circle-left:before{content:"\f137"} .fa-chevron-circle-right:before{content:"\f138"} .fa-chevron-circle-up:before{content:"\f139"} .fa-chevron-circle-down:before{content:"\f13a"} .fa-html5:before{content:"\f13b"} .fa-css3:before{content:"\f13c"} .fa-anchor:before{content:"\f13d"} .fa-unlock-alt:before{content:"\f13e"} .fa-bullseye:before{content:"\f140"} .fa-ellipsis-h:before{content:"\f141"} .fa-ellipsis-v:before{content:"\f142"} .fa-rss-square:before{content:"\f143"} .fa-play-circle:before{content:"\f144"} .fa-ticket:before{content:"\f145"} .fa-minus-square:before{content:"\f146"} .fa-minus-square-o:before{content:"\f147"} .fa-level-up:before{content:"\f148"} .fa-level-down:before{content:"\f149"} .fa-check-square:before{content:"\f14a"} .fa-pencil-square:before{content:"\f14b"} .fa-external-link-square:before{content:"\f14c"} .fa-share-square:before{content:"\f14d"} .fa-compass:before{content:"\f14e"} .fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"} .fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"} .fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"} .fa-euro:before,.fa-eur:before{content:"\f153"} .fa-gbp:before{content:"\f154"} .fa-dollar:before,.fa-usd:before{content:"\f155"} .fa-rupee:before,.fa-inr:before{content:"\f156"} .fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"} .fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"} .fa-won:before,.fa-krw:before{content:"\f159"} .fa-bitcoin:before,.fa-btc:before{content:"\f15a"} .fa-file:before{content:"\f15b"} .fa-file-text:before{content:"\f15c"} .fa-sort-alpha-asc:before{content:"\f15d"} .fa-sort-alpha-desc:before{content:"\f15e"} .fa-sort-amount-asc:before{content:"\f160"} .fa-sort-amount-desc:before{content:"\f161"} .fa-sort-numeric-asc:before{content:"\f162"} .fa-sort-numeric-desc:before{content:"\f163"} .fa-thumbs-up:before{content:"\f164"} .fa-thumbs-down:before{content:"\f165"} .fa-youtube-square:before{content:"\f166"} .fa-youtube:before{content:"\f167"} .fa-xing:before{content:"\f168"} .fa-xing-square:before{content:"\f169"} .fa-youtube-play:before{content:"\f16a"} .fa-dropbox:before{content:"\f16b"} .fa-stack-overflow:before{content:"\f16c"} .fa-instagram:before{content:"\f16d"} .fa-flickr:before{content:"\f16e"} .fa-adn:before{content:"\f170"} .fa-bitbucket:before{content:"\f171"} .fa-bitbucket-square:before{content:"\f172"} .fa-tumblr:before{content:"\f173"} .fa-tumblr-square:before{content:"\f174"} .fa-long-arrow-down:before{content:"\f175"} .fa-long-arrow-up:before{content:"\f176"} .fa-long-arrow-left:before{content:"\f177"} .fa-long-arrow-right:before{content:"\f178"} .fa-apple:before{content:"\f179"} .fa-windows:before{content:"\f17a"} .fa-android:before{content:"\f17b"} .fa-linux:before{content:"\f17c"} .fa-dribbble:before{content:"\f17d"} .fa-skype:before{content:"\f17e"} .fa-foursquare:before{content:"\f180"} .fa-trello:before{content:"\f181"} .fa-female:before{content:"\f182"} .fa-male:before{content:"\f183"} .fa-gittip:before,.fa-gratipay:before{content:"\f184"} .fa-sun-o:before{content:"\f185"} .fa-moon-o:before{content:"\f186"} .fa-archive:before{content:"\f187"} .fa-bug:before{content:"\f188"} .fa-vk:before{content:"\f189"} .fa-weibo:before{content:"\f18a"} .fa-renren:before{content:"\f18b"} .fa-pagelines:before{content:"\f18c"} .fa-stack-exchange:before{content:"\f18d"} .fa-arrow-circle-o-right:before{content:"\f18e"} .fa-arrow-circle-o-left:before{content:"\f190"} .fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"} .fa-dot-circle-o:before{content:"\f192"} .fa-wheelchair:before{content:"\f193"} .fa-vimeo-square:before{content:"\f194"} .fa-turkish-lira:before,.fa-try:before{content:"\f195"} .fa-plus-square-o:before{content:"\f196"} .fa-space-shuttle:before{content:"\f197"} .fa-slack:before{content:"\f198"} .fa-envelope-square:before{content:"\f199"} .fa-wordpress:before{content:"\f19a"} .fa-openid:before{content:"\f19b"} .fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"} .fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"} .fa-yahoo:before{content:"\f19e"} .fa-google:before{content:"\f1a0"} .fa-reddit:before{content:"\f1a1"} .fa-reddit-square:before{content:"\f1a2"} .fa-stumbleupon-circle:before{content:"\f1a3"} .fa-stumbleupon:before{content:"\f1a4"} .fa-delicious:before{content:"\f1a5"} .fa-digg:before{content:"\f1a6"} .fa-pied-piper-pp:before{content:"\f1a7"} .fa-pied-piper-alt:before{content:"\f1a8"} .fa-drupal:before{content:"\f1a9"} .fa-joomla:before{content:"\f1aa"} .fa-language:before{content:"\f1ab"} .fa-fax:before{content:"\f1ac"} .fa-building:before{content:"\f1ad"} .fa-child:before{content:"\f1ae"} .fa-paw:before{content:"\f1b0"} .fa-spoon:before{content:"\f1b1"} .fa-cube:before{content:"\f1b2"} .fa-cubes:before{content:"\f1b3"} .fa-behance:before{content:"\f1b4"} .fa-behance-square:before{content:"\f1b5"} .fa-steam:before{content:"\f1b6"} .fa-steam-square:before{content:"\f1b7"} .fa-recycle:before{content:"\f1b8"} .fa-automobile:before,.fa-car:before{content:"\f1b9"} .fa-cab:before,.fa-taxi:before{content:"\f1ba"} .fa-tree:before{content:"\f1bb"} .fa-spotify:before{content:"\f1bc"} .fa-deviantart:before{content:"\f1bd"} .fa-soundcloud:before{content:"\f1be"} .fa-database:before{content:"\f1c0"} .fa-file-pdf-o:before{content:"\f1c1"} .fa-file-word-o:before{content:"\f1c2"} .fa-file-excel-o:before{content:"\f1c3"} .fa-file-powerpoint-o:before{content:"\f1c4"} .fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"} .fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"} .fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"} .fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"} .fa-file-code-o:before{content:"\f1c9"} .fa-vine:before{content:"\f1ca"} .fa-codepen:before{content:"\f1cb"} .fa-jsfiddle:before{content:"\f1cc"} .fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"} .fa-circle-o-notch:before{content:"\f1ce"} .fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"} .fa-ge:before,.fa-empire:before{content:"\f1d1"} .fa-git-square:before{content:"\f1d2"} .fa-git:before{content:"\f1d3"} .fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"} .fa-tencent-weibo:before{content:"\f1d5"} .fa-qq:before{content:"\f1d6"} .fa-wechat:before,.fa-weixin:before{content:"\f1d7"} .fa-send:before,.fa-paper-plane:before{content:"\f1d8"} .fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"} .fa-history:before{content:"\f1da"} .fa-circle-thin:before{content:"\f1db"} .fa-header:before{content:"\f1dc"} .fa-paragraph:before{content:"\f1dd"} .fa-sliders:before{content:"\f1de"} .fa-share-alt:before{content:"\f1e0"} .fa-share-alt-square:before{content:"\f1e1"} .fa-bomb:before{content:"\f1e2"} .fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"} .fa-tty:before{content:"\f1e4"} .fa-binoculars:before{content:"\f1e5"} .fa-plug:before{content:"\f1e6"} .fa-slideshare:before{content:"\f1e7"} .fa-twitch:before{content:"\f1e8"} .fa-yelp:before{content:"\f1e9"} .fa-newspaper-o:before{content:"\f1ea"} .fa-wifi:before{content:"\f1eb"} .fa-calculator:before{content:"\f1ec"} .fa-paypal:before{content:"\f1ed"} .fa-google-wallet:before{content:"\f1ee"} .fa-cc-visa:before{content:"\f1f0"} .fa-cc-mastercard:before{content:"\f1f1"} .fa-cc-discover:before{content:"\f1f2"} .fa-cc-amex:before{content:"\f1f3"} .fa-cc-paypal:before{content:"\f1f4"} .fa-cc-stripe:before{content:"\f1f5"} .fa-bell-slash:before{content:"\f1f6"} .fa-bell-slash-o:before{content:"\f1f7"} .fa-trash:before{content:"\f1f8"} .fa-copyright:before{content:"\f1f9"} .fa-at:before{content:"\f1fa"} .fa-eyedropper:before{content:"\f1fb"} .fa-paint-brush:before{content:"\f1fc"} .fa-birthday-cake:before{content:"\f1fd"} .fa-area-chart:before{content:"\f1fe"} .fa-pie-chart:before{content:"\f200"} .fa-line-chart:before{content:"\f201"} .fa-lastfm:before{content:"\f202"} .fa-lastfm-square:before{content:"\f203"} .fa-toggle-off:before{content:"\f204"} .fa-toggle-on:before{content:"\f205"} .fa-bicycle:before{content:"\f206"} .fa-bus:before{content:"\f207"} .fa-ioxhost:before{content:"\f208"} .fa-angellist:before{content:"\f209"} .fa-cc:before{content:"\f20a"} .fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"} .fa-meanpath:before{content:"\f20c"} .fa-buysellads:before{content:"\f20d"} .fa-connectdevelop:before{content:"\f20e"} .fa-dashcube:before{content:"\f210"} .fa-forumbee:before{content:"\f211"} .fa-leanpub:before{content:"\f212"} .fa-sellsy:before{content:"\f213"} .fa-shirtsinbulk:before{content:"\f214"} .fa-simplybuilt:before{content:"\f215"} .fa-skyatlas:before{content:"\f216"} .fa-cart-plus:before{content:"\f217"} .fa-cart-arrow-down:before{content:"\f218"} .fa-diamond:before{content:"\f219"} .fa-ship:before{content:"\f21a"} .fa-user-secret:before{content:"\f21b"} .fa-motorcycle:before{content:"\f21c"} .fa-street-view:before{content:"\f21d"} .fa-heartbeat:before{content:"\f21e"} .fa-venus:before{content:"\f221"} .fa-mars:before{content:"\f222"} .fa-mercury:before{content:"\f223"} .fa-intersex:before,.fa-transgender:before{content:"\f224"} .fa-transgender-alt:before{content:"\f225"} .fa-venus-double:before{content:"\f226"} .fa-mars-double:before{content:"\f227"} .fa-venus-mars:before{content:"\f228"} .fa-mars-stroke:before{content:"\f229"} .fa-mars-stroke-v:before{content:"\f22a"} .fa-mars-stroke-h:before{content:"\f22b"} .fa-neuter:before{content:"\f22c"} .fa-genderless:before{content:"\f22d"} .fa-facebook-official:before{content:"\f230"} .fa-pinterest-p:before{content:"\f231"} .fa-whatsapp:before{content:"\f232"} .fa-server:before{content:"\f233"} .fa-user-plus:before{content:"\f234"} .fa-user-times:before{content:"\f235"} .fa-hotel:before,.fa-bed:before{content:"\f236"} .fa-viacoin:before{content:"\f237"} .fa-train:before{content:"\f238"} .fa-subway:before{content:"\f239"} .fa-medium:before{content:"\f23a"} .fa-yc:before,.fa-y-combinator:before{content:"\f23b"} .fa-optin-monster:before{content:"\f23c"} .fa-opencart:before{content:"\f23d"} .fa-expeditedssl:before{content:"\f23e"} .fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"} .fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"} .fa-battery-2:before,.fa-battery-half:before{content:"\f242"} .fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"} .fa-battery-0:before,.fa-battery-empty:before{content:"\f244"} .fa-mouse-pointer:before{content:"\f245"} .fa-i-cursor:before{content:"\f246"} .fa-object-group:before{content:"\f247"} .fa-object-ungroup:before{content:"\f248"} .fa-sticky-note:before{content:"\f249"} .fa-sticky-note-o:before{content:"\f24a"} .fa-cc-jcb:before{content:"\f24b"} .fa-cc-diners-club:before{content:"\f24c"} .fa-clone:before{content:"\f24d"} .fa-balance-scale:before{content:"\f24e"} .fa-hourglass-o:before{content:"\f250"} .fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"} .fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"} .fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"} .fa-hourglass:before{content:"\f254"} .fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"} .fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"} .fa-hand-scissors-o:before{content:"\f257"} .fa-hand-lizard-o:before{content:"\f258"} .fa-hand-spock-o:before{content:"\f259"} .fa-hand-pointer-o:before{content:"\f25a"} .fa-hand-peace-o:before{content:"\f25b"} .fa-trademark:before{content:"\f25c"} .fa-registered:before{content:"\f25d"} .fa-creative-commons:before{content:"\f25e"} .fa-gg:before{content:"\f260"} .fa-gg-circle:before{content:"\f261"} .fa-tripadvisor:before{content:"\f262"} .fa-odnoklassniki:before{content:"\f263"} .fa-odnoklassniki-square:before{content:"\f264"} .fa-get-pocket:before{content:"\f265"} .fa-wikipedia-w:before{content:"\f266"} .fa-safari:before{content:"\f267"} .fa-chrome:before{content:"\f268"} .fa-firefox:before{content:"\f269"} .fa-opera:before{content:"\f26a"} .fa-internet-explorer:before{content:"\f26b"} .fa-tv:before,.fa-television:before{content:"\f26c"} .fa-contao:before{content:"\f26d"} .fa-500px:before{content:"\f26e"} .fa-amazon:before{content:"\f270"} .fa-calendar-plus-o:before{content:"\f271"} .fa-calendar-minus-o:before{content:"\f272"} .fa-calendar-times-o:before{content:"\f273"} .fa-calendar-check-o:before{content:"\f274"} .fa-industry:before{content:"\f275"} .fa-map-pin:before{content:"\f276"} .fa-map-signs:before{content:"\f277"} .fa-map-o:before{content:"\f278"} .fa-map:before{content:"\f279"} .fa-commenting:before{content:"\f27a"} .fa-commenting-o:before{content:"\f27b"} .fa-houzz:before{content:"\f27c"} .fa-vimeo:before{content:"\f27d"} .fa-black-tie:before{content:"\f27e"} .fa-fonticons:before{content:"\f280"} .fa-reddit-alien:before{content:"\f281"} .fa-edge:before{content:"\f282"} .fa-credit-card-alt:before{content:"\f283"} .fa-codiepie:before{content:"\f284"} .fa-modx:before{content:"\f285"} .fa-fort-awesome:before{content:"\f286"} .fa-usb:before{content:"\f287"} .fa-product-hunt:before{content:"\f288"} .fa-mixcloud:before{content:"\f289"} .fa-scribd:before{content:"\f28a"} .fa-pause-circle:before{content:"\f28b"} .fa-pause-circle-o:before{content:"\f28c"} .fa-stop-circle:before{content:"\f28d"} .fa-stop-circle-o:before{content:"\f28e"} .fa-shopping-bag:before{content:"\f290"} .fa-shopping-basket:before{content:"\f291"} .fa-hashtag:before{content:"\f292"} .fa-bluetooth:before{content:"\f293"} .fa-bluetooth-b:before{content:"\f294"} .fa-percent:before{content:"\f295"} .fa-gitlab:before{content:"\f296"} .fa-wpbeginner:before{content:"\f297"} .fa-wpforms:before{content:"\f298"} .fa-envira:before{content:"\f299"} .fa-universal-access:before{content:"\f29a"} .fa-wheelchair-alt:before{content:"\f29b"} .fa-question-circle-o:before{content:"\f29c"} .fa-blind:before{content:"\f29d"} .fa-audio-description:before{content:"\f29e"} .fa-volume-control-phone:before{content:"\f2a0"} .fa-braille:before{content:"\f2a1"} .fa-assistive-listening-systems:before{content:"\f2a2"} .fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"} .fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"} .fa-glide:before{content:"\f2a5"} .fa-glide-g:before{content:"\f2a6"} .fa-signing:before,.fa-sign-language:before{content:"\f2a7"} .fa-low-vision:before{content:"\f2a8"} .fa-viadeo:before{content:"\f2a9"} .fa-viadeo-square:before{content:"\f2aa"} .fa-snapchat:before{content:"\f2ab"} .fa-snapchat-ghost:before{content:"\f2ac"} .fa-snapchat-square:before{content:"\f2ad"} .fa-pied-piper:before{content:"\f2ae"} .fa-first-order:before{content:"\f2b0"} .fa-yoast:before{content:"\f2b1"} .fa-themeisle:before{content:"\f2b2"} .fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"} .fa-fa:before,.fa-font-awesome:before{content:"\f2b4"} .fa-handshake-o:before{content:"\f2b5"} .fa-envelope-open:before{content:"\f2b6"} .fa-envelope-open-o:before{content:"\f2b7"} .fa-linode:before{content:"\f2b8"} .fa-address-book:before{content:"\f2b9"} .fa-address-book-o:before{content:"\f2ba"} .fa-vcard:before,.fa-address-card:before{content:"\f2bb"} .fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"} .fa-user-circle:before{content:"\f2bd"} .fa-user-circle-o:before{content:"\f2be"} .fa-user-o:before{content:"\f2c0"} .fa-id-badge:before{content:"\f2c1"} .fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"} .fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"} .fa-quora:before{content:"\f2c4"} .fa-free-code-camp:before{content:"\f2c5"} .fa-telegram:before{content:"\f2c6"} .fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"} .fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"} .fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"} .fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"} .fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"} .fa-shower:before{content:"\f2cc"} .fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"} .fa-podcast:before{content:"\f2ce"} .fa-window-maximize:before{content:"\f2d0"} .fa-window-minimize:before{content:"\f2d1"} .fa-window-restore:before{content:"\f2d2"} .fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"} .fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"} .fa-bandcamp:before{content:"\f2d5"} .fa-grav:before{content:"\f2d6"} .fa-etsy:before{content:"\f2d7"} .fa-imdb:before{content:"\f2d8"} .fa-ravelry:before{content:"\f2d9"} .fa-eercast:before{content:"\f2da"} .fa-microchip:before{content:"\f2db"} .fa-snowflake-o:before{content:"\f2dc"} .fa-superpowers:before{content:"\f2dd"} .fa-wpexplorer:before{content:"\f2de"} .fa-meetup:before{content:"\f2e0"} .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;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} diff --git a/sdc-workflow-designer-ui/src/app/assets/components/css/iconfont.css b/sdc-workflow-designer-ui/src/app/assets/components/css/iconfont.css deleted file mode 100644 index 1b4dfb98..00000000 --- a/sdc-workflow-designer-ui/src/app/assets/components/css/iconfont.css +++ /dev/null @@ -1,95 +0,0 @@ - -@font-face {font-family: "iconfont"; - src: url('../fonts/iconfont.eot?t=1510714355480'); /* IE9*/ - src: url('../fonts/iconfont.eot?t=1510714355480#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAABdEAAsAAAAAJRgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADMAAABCsP6z7U9TLzIAAAE8AAAARAAAAFZW7kmjY21hcAAAAYAAAAGdAAAEOjIGFotnbHlmAAADIAAAEGwAABk8OpQGYGhlYWQAABOMAAAALwAAADYPgt3jaGhlYQAAE7wAAAAcAAAAJAfeA6pobXR4AAAT2AAAABQAAACko+kAAGxvY2EAABPsAAAAVAAAAFRt8HQsbWF4cAAAFEAAAAAfAAAAIAFCAJduYW1lAAAUYAAAAUUAAAJtPlT+fXBvc3QAABWoAAABmgAAAmHv9z0eeJxjYGRgYOBikGPQYWB0cfMJYeBgYGGAAJAMY05meiJQDMoDyrGAaQ4gZoOIAgCKIwNPAHicY2Bk/s84gYGVgYOpk+kMAwNDP4RmfM1gxMjBwMDEwMrMgBUEpLmmMDgwVDzfxNzwv4EhhrmBoQEozAiSAwAy6w0meJzFks1OFFEQRk/DiKAoDoOKjsqPoENCXBogI84CkLiAMI/Citdgx4YflSfgKZAnYM3iq61vAF93NQnuNDHxVk5335vq7rq3DnAPGDSLpgEDXyn8RLHm1aJaH+RBtd4oJj3/wLTzHrOnQktaUU+b2lZf+zrQoS50qatoRivasRDLsRuncXZ97fdu87ta15Z26vzzO/mdKv+ozv/zUbim2/hIl1V6dazdiY0q+lX+Owa8q4b3PsR9hhnxDh8yyiPva4wnNBmnxQRPecZzJnnBS9q84jVveM+UT2CGWd4yxzwdf3Dor+r9p6P4f7/+fYyWl+JXPfOpsFfjElXjk0dLiXuAVpLSQHWT0kJ9Sko7tZq4V+hz4q6hXuL+ofXEnUQbSWmtviTuLtpMykq1lbjjaDtx79FOYgtQP7EPaD+xGeggsSPoMLEt6DyxN+hnYoPQRWKX0GViq9BVYr+IZmLTiFZi54h2QnnvJPaQWEhsJLGc2E1iN7GlxFFiX4njxOYSJ4kdJr4ltpn4nthr4kdiw4nTxK4TZwmdG6fXsYMAAAB4nIVZCZAc1Xl+/3vdr++e6Znu6dlDOzszu9O70mrX2p6d0cEeSAosh2zrCoeVsrShVlWSwCTBkEBsJlREEuwYMDIurY3MoTIQSkrB4kSiLHspWRirtHES46JQFamIuARJAYGkiO2CaeV/3XsJIjKa/bvf67/f8R/f/70RkQm5cI79kOVJlvSQVWQj+TwhwFdAyabLoBhU++kK8Iqy57s2C8pBUSmX+tkw+CXu5gZr1YrPFZ4CGzogLA7Wgn4awFB1hK6DwdwygJa21q2Z7vYMewD0fNCxP7qaPg5eodyeGlkZXdU36g52ZtU7zEymJZP5usplWaVUStlws5/TZE3n0WE51er9sNBLC2C2BK3X3mB1tmV2/WX1lmXdvgbQaEC2rdN+ctRpdfD7p625bKZFSVtqvtUqd7lwx6+MfNZcVvk3gp8U7vU8m2KtxMD7LPFJGymQMgnICjJAQlIn68go2YD790KvOBQOlZ2iw4pOsbuIFhDXsuhM/mDJfXZpf+iVu/GPhWGzGu5m1WqzSs9EBKrRGZhtTtHJKJyMP0DOxJ+ppBmRMITZMKTT+DxshnS2uRvOzIaz0VQYhtUwvECWXmAKP7hUsTG2m76JeyJQdHDJXtEJnSKbjE5uiU7C8BYYhqdheK4l1ON36BTMEoqNoEjJFFQhnFp89jZ9mWBkdGuARqaz0ZVwvBA1oLEaxmG8NzoXnfuErkYD9EcIx6MrC9CIGvTl6Fh0rBcKUFjQZeN0X6Jb14CNLyjQTQszfEIXNRUNji1MPL0ww5K9txGSHYH6YM7lZRuUDvCxVa0N5jxs9cMUO33QtCzznqOMHb0Hpe3b2HXwNDQOno4bcS9KoYVd7PTiOiboG7Ftg3ghaI86sF290cvRy73Cqr2wGlb3RifpsV5h34se4Osivw6xN9gEjuGTLtJNBkV+ESVH/BqpVwjrhwAXi0u2gQ3W6tl+KHEli+2y2wGDI1DFDhsomY3ek2VIz85CWpaj92an35Xld6cTaTvAwev0QIaMvdL08p4ZCzYhNJe8+dFXFt6ZfhfCjA2fTXteOpq2s982XctyW4RY8O0bdCLZuxIovuLX/XpAz/UeO9Z74kQs6er5O5SExfb6XTgV77WMPhEgEa4SMFEuXuL+P5cFwTLxR0vLKpX4Llrog58Ea4OPfROb/kQibJiYpIVUyLXkBlxjiXuOgKQhp1qR0e0OWi9udC8+qVXqg/UhtGhKGBkhC6OrUlKAu34Ob3N1dAB4HYB4tvgKTMqqaqhq9O+yAWAYKmf74h6qtqVkSdG+jHEBpjoevRX9mFty9ANZNtKwFi6XdKpRKIEW/R0XLzCNmipvvopvy7Siav8Fqhz9TLSgLqszmhwpsqbJ8FtZm3Vuo5qCs3FFV6JX4DPo87OyLes6tEWzEkgM1v6ObkW3XTQEIdISjPMR0behZRYyoh+WRltgM7eDDo5QxPgswr0XVmv1EQhrfgd4OYHpCn69cKhWx3+jMILAXgkqlBx5S5bfOpLIOFkOxvKQaqucqzair6KoFi2tqjj9mmF2+4FvaOB5fkGROCKNpvpZO6OoTraDtS6MdOStpjw/FMqfA1et9MKIHG73gmrBL6UM9I3RlvV9VzRaUqmU79u5rJlSS9m2lakKmYtDgQsFcg35LOLYMFQrA+hp7hYgCb6igj4XETIK1ZpSLA054WBtGEJRtYTjh6EfRJym5kIhLArbBP0ACO2TEjRUN6VcF91l2LYBjesURdJSOmvQt6JdqaOm9YZkIKxI5bbonKKzwyBV2mEqlcLQUd3oXw68r+sSYw01nVWvt/L2daqrMkpZQ2KPpuAByzyqqD8SI/+ovSLBYaZKUX97BTTJNVWJfvEAifd44Tx9Hv2c5ADBAuw7NpQqgYPr7BCL5qUKxn+te2mDEtMCsPJCfMO0cZE2jBrxlbWCZTaJgECWaF2yNY+Nm9DGfSL3Qr4MDYbxgjb1cxgu/cCxhfYKKtjK+QjLbs4PhzAEVytKx8ZffOnWO7jxyB/efuozEk9n5L5nJifv1fm+iYnnL3tAbP1NMOl5yO/fMVrpPXnnn/yNl7nlD9SMytVdO23nwJ49TxU7RrbHG3nTsOfXs40eIe3YQN9hfuPcSE5yBTQN0hHM7DiC2Zic4rovR99/Kdtt69R+R3Z0rjsy3Clhuj4qq7oWhUc0aqd6Uj+VFU3HfMxoPCVwB+eYpa8je2jD3BoSsQXFJED8IuaVgzYolirVGnIhrEWyK4gUNgUbCpJL0hUU0RIBpldFCC/J0BA9x+6LtrRXMFqOosOhUokm4wibQstHZ20jRJeZoWFPxjJub4HJ9i9dsWFvIaiMfg4G6kB3XrkfeuF9qLRHx9rEKG0w3l65IHzs25twhLzlnEp8/uPe9dcCbFyXp3TbaMrdVr9mF4VN5f45e75NZ8ly3GOFe8KUK9CwmAWxG4O4spaT1SNkxvtH7zbcVuuWLi2NOCmV714hs2/sufqOTnO5v+FGxBrYs4VOXjNB5dWwn1GQlm1Kyxl16xrq3XI/g2s3mDb9wpVufsfaz91M6cTV9e2EzOfzLP1n5GyFON6YSE6cms1PPOTKi2YvX2R3NrtbstTmpGpJu6Gvk5HOPvhoVtiRnhGyOWsbu4UtUSAZOYR6thrtPoxqqH5Y9efslhhMLEVg7DSbZZtIHjOvStbEGSD+FTEAVgCncXXvqqOZIAHcGEGwwCNFFrZLKlJ3EWsUO6bEn2hcMVT5uKjU7NRxIC6Y0Rgio/TSI+j/o7nXt8GkacuvPY5rhhuiM199ChpwQlXdC+T4qagpy+8dl007mkQkfez1XLTFsB95CX5mm4+/JttmNGXaIVTtpwTjw7V/j3lztaGMsSiQIXGlUx5I0ljxKjk/se0o1IRfbRHZmM9YPkVCi6SqY6I7cTXxcCO+yLKExgy3LP/mRonT4Z6eYfD65fT6rhaLse5tak8ezrf3qpU2ha9bC2ktanW0NatBUc2C2m/1WlaBSp0uonRnfuO3l7vpgsxXwWEucQlITxXqXdGG2+U2J5sqmTp85bzfBlBsn767u7wq+qJqQvrRQyldMRSVm7e3oCVzHXDCQp026wLxS5LE5byZPyt8qF5UJ8vkMrKV7CF3kvtERicVQtATpRjjFppB3C/2Q2yvsssVD7vcXIwvOawaCtIJjEDs9YQ9RpgoJAomT4mLwhIbCWtsFccIBHQImjIPHQxfLCYwLQLZo+cjkfemcHzsw//rPqpjuDKGjADQSoak40XHegKSLGmqziQFmKSqtiQKDOgy9jCZS7SrOVlYCbCyQKfiK7eNZow1dMqw6aYk6KfnKkXemk46YEJkrcQkHacCLjFN0p9WVYm7WM9wKtHnSuozODmXcDJMUVS3VFOia3CupXM2W+dns404pzDHp+jzc/7ouzRvYUv6EYIEzXc5JU++w/k7TyZyCSs5WB8HGK8nsrOvb6yvj04rL+7d+6ISy+Yr/MmtW5/ksYQ7F1Tr42dAKI/1xbU2yfc5Xnsp/p5diJZ+JOxxVmIynwKG5K15aglt4iIhbRP2mjZk2CbxdIn2R4eWkCL42wUfxJQc1/L37B/ZFsSeLqTCQWyGYMEkfsxhkbTOrwktxE5OIc2RPzh+4tcyyi0Prf2eqkiWpEgffUc++9jjZyXp7OOPnS18a+3DNxz/QFZ/ffyFD2RYM/gtDookZeDFx87KqPf9Vxl7dQ6Pl9gj/BR7lIfi04w3V/09QbjqQ6HIpk+3z8F40weFkRZv/z9DfUw9uSXzsfVz5CpZxOuQjCEjhHhhEBMWkdJoMiVJv3pQEUxhMOdDLl58smg040WNE1FDLfYU1ahhInx1+Yz4XaoBa0y1SQwdKEWOyLS0xpAqRjctki5z8fZ+Ws06TrZ5Jrs85Xqem13eJRmGhPBFQ4lzqTnrwHdsM65SKKJZ23TFPQoRB7in79IL6IOM2E98jIljD5R6uR4q7MHoIavfih7SfZ+e9f3o3C82//HQX10zQp/xvOb2XAAQQP6Xhw7fPB9X/8HGWI6UyCZRF6oDgi4loYW+U7hXTqqWsJY4VglzlZBVK0gM4otg2BhntbBWAA9Piv0wVIkrsMe8PdZmvx2uqtWugnZ/s7Un09KSoctRftPQpbwjjTGmmPLAKiWtUE75esYtna5YqaVzYKt7VQtmHGtzpto5l8bVzGbLaclEjUw+n4FGpiVSrVxaWicBUL5qJY5AFYePSHgAowPLlXSLpFqWusgl9tJ3iUU649itdCpedg6Es3Jc2nK8rPDqKNIev5ZjczsL8VEKcrWAl9je/ua9/TuprcOvdJPujM4YWhpWyTa9wQfjps00+O7vi55QTtMbc4waN22i5UP0q7feqjVf0DIAWZ2O7W01FHqdZXg0S1s7r1LvwuBuNThst02fubRl2dXqXfPrbdC3iUMCsg7P1HJusN4tmGzQjfgnc1cOZF4KupU4xxaeKgu9833Vyl/DHhkPiiis6GGmy9HDFv3vjXiuxDPk2Y0Kx4RYUJiIfiO6/2dCB2uhl9PUs4w9y3Ru8WcloM8pbX9UepDS+0tU1w02/+zIwD2M/fmA0safo/Q5pllGzJl+w77GNFIkvWSV4EzdIJBAHM0CxIdlCUIkGVkv5sRxqxvjWIB7/WNXdm/0iqdahv6vQrRGv5RlVQs0er9cSlms+c4XWtbrptmzo2WDZloDO1rX64ZxGfzTaTB0rpkwdzkdrZLzaUcBkA27/enlhmtsX2FmrOvF3TzO/ZZ9nZnEQ64/givuj48U8cE4XqA4GFfQtNhZkRQusMTPKUhfcuFgHQ+oyAtqmaCSlKgS3KRlUoorp1sMrMSOku/LYXEGODTRlf7p/Z+P3rycKcyQp4FpPVpKUVM6HqT/4bYj2SCsBIMvWK7GmZJfnucZLPJGPs01pr734EmntFP+8hlT5zyF2zJ7NPoDi0sbwf+aG1Z6BrvjfbzP7mYZsh5PLDdizMfhg+vHuE4hEgrSVw7EYZcrAfbwAt64viL4cG4USZ1ge6EvDss1rDAoB9BP5Rjpww5BZwVEDMY8cUiSlTGZsZqS3t6ytuhRg9+s6LT18up2W1+jaOsQpsZkyoZU+7r8mo48GMrN3KBtY1XMhbqivSTtGh/fAbE8XLuKXYGYweAKJEhFp7NzmFvyTou6+S5jK8KkqmzNrvSZscPSxzo7y4UR2cbHLOuXtOu5ho+3u8t9quPjvxjfwXDI35MnLotHFGIe9+Zr2cqLK1lW8cU5IlDKlaAeVCtor1FaRXxg4ozLP1HAgn2tVNLv269rtHUfY8iEDmzgSM02HJA4MPaJ6hXt2odP1l+pqAf2YS1GJfc+iQJl97n4rqQQjmubYQ02Fv9aXSArSJ1sSU6cF9HGolOUi4s/rPmXuI/f85IfN4pOWXQJLiqGoI1orEWcFFtgJrlGYzATPQok5TipC7G8xD0diF91OhyYGRO9yUC0gYM05waj2Nf8Mzo2g1r4bVx0oTOokbzZFApz+nO/nc6wGdz//G+n/Z/KChd//2Pl5D8nSuilmQ9l+cOZRD7xmiS99kQiU2JyJ9WZac/gl40tKM18+NGpBa0nXqO3g2NHM/G2x2wnCmyhjzX3fwHOAZADeJxjYGRgYADiw4s/qcfz23xl4GZhAIFrhmc+I+j/81gYmJOAXA4GJpAoAFhSC8wAeJxjYGRgYG7438AQw8IAAkCSkQEVaAIARy8CknicY2FgYGB+ycDAwjB4MQDGiwGNAAAAAAB2AOAA+gEIAR4BNAFKAV4BjgGwAgwCJgJaAugDagPcBBwEZASWBQwFUgWaBfgGfAdEB5IH2AgaCHII3AkECXgJ0Ao0Co4K8guAC84MTgyeeJxjYGRgYNBk6GbgZwABJiDmAkIGhv9gPgMAG4kB2gB4nGWPTU7DMBCFX/oHpBKqqGCH5AViASj9EatuWFRq911036ZOmyqJI8et1ANwHo7ACTgC3IA78EgnmzaWx9+8eWNPANzgBx6O3y33kT1cMjtyDRe4F65TfxBukF+Em2jjVbhF/U3YxzOmwm10YXmD17hi9oR3YQ8dfAjXcI1P4Tr1L+EG+Vu4iTv8CrfQ8erCPuZeV7iNRy/2x1YvnF6p5UHFockikzm/gple75KFrdLqnGtbxCZTg6BfSVOdaVvdU+zXQ+ciFVmTqgmrOkmMyq3Z6tAFG+fyUa8XiR6EJuVYY/62xgKOcQWFJQ6MMUIYZIjK6Og7VWb0r7FDwl57Vj3N53RbFNT/c4UBAvTPXFO6stJ5Ok+BPV8bUnV0K27LnpQ0kV7NSRKyQl7WtlRC6gE2ZVeOEXpc0Yk/KGdI/wAJWm7IAAAAeJxtUGtv2zAMNNs0SZ026bq03da9u1cHGOiKYdi/MRSKiYXIkkDJafzvR8X9OH3R3ZHHA1kcFcMri/+/eziCYxjBCYxhAlM4hRJmcAbnMIcFXMALuISXsIQruIYbeAWv4Q3cwlt4B+/hA3yET/AZ7uALfIVv8B1+wD38LGA/RWXJacWjYLtYomJKlfZPrlRuY6mytE6zAbLZNOlZzh3TAXZhjoZRkK+cT9icoPWRLmmPVrUqGe+qoWEmUZyqQ/lMknStMJdjqVVSFbUh9aOGbBjTPnhOY/S2a92Eac0UZW5DuF2IvdN142OqQ/34cD1wcjvD3rXkBnn53JZTtInbgzhfKdx2oc5xQqdoDW4F3G6sXylbR+KdQRIDEybPvdRKcQerMhxrspToNJJibEQ4VlrP1Mp5bsX9+DDhnPT77+LJ89a4TW290sJvZFwv11hZqmUT3zFSFH0WhMWOSfAVU6uMyy5UQaFJvajntF4bNOQwsyV3bujwTpt8ujx8462uo7E7YimEIF9ediS4nx5OXv/6UxT/AIqNtbgAAA==') format('woff'), - url('../fonts/iconfont.ttf?t=1510714355480') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/ - url('../fonts/iconfont.svg?t=1510714355480#iconfont') format('svg'); /* iOS 4.1- */ -} - -.iconfont { - font-family:"iconfont" !important; - font-size:16px; - font-style:normal; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.fp-calendar:before { content: "\e638"; } - -.fp-plus:before { content: "\e63a"; } - -.fp-caret-down:before { content: "\e63c"; } - -.fp-angle-left:before { content: "\e63d"; } - -.fp-angle-right:before { content: "\e63e"; } - -.fp-angle-down:before { content: "\e63f"; } - -.fp-angle-up:before { content: "\e640"; } - -.fp-circle-o-notch:before { content: "\e645"; } - -.fp-close:before { content: "\e646"; } - -.fp-exclamation-circle:before { content: "\e647"; } - -.fp-alert-close:before { content: "\e648"; } - -.fp-card_actions:before { content: "\e64e"; } - -.fp-data-empty:before { content: "\e64f"; } - -.fp-help:before { content: "\e651"; } - -.fp-export:before { content: "\e652"; } - -.fp-column:before { content: "\e691"; } - -.fp-refresh:before { content: "\e698"; } - -.fp-check:before { content: "\e69d"; } - -.fp-cloud_host_p_20:before { content: "\e6c8"; } - -.fp-cloud_environment_p_20:before { content: "\e6c9"; } - -.fp-cloud_hard_disk_p_20:before { content: "\e6ca"; } - -.fp-backup_data_20:before { content: "\e6d8"; } - -.fp-click_20:before { content: "\e6e2"; } - -.fp-global_service_directory_20:before { content: "\e711"; } - -.fp-display_20:before { content: "\e713"; } - -.fp-delete:before { content: "\e71b"; } - -.fp-search_20:before { content: "\e728"; } - -.fp-add:before { content: "\e729"; } - -.fp-abnormal_20:before { content: "\e739"; } - -.fp-risk_48:before { content: "\e79e"; } - -.fp-working_load_48:before { content: "\e79f"; } - -.fp-recyclable_resources_48:before { content: "\e7a0"; } - -.fp-pressure_48:before { content: "\e7a1"; } - -.fp-remaining_capacity_48:before { content: "\e7a2"; } - -.fp-efficiency_48:before { content: "\e7a3"; } - -.fp-running_condition_48:before { content: "\e7a4"; } - -.fp-gold_silver_copper_p_20:before { content: "\e601"; } - -.fp-copy:before { content: "\e772"; } - -.fp-alert_16:before { content: "\e7b2"; } - diff --git a/sdc-workflow-designer-ui/src/app/assets/components/css/ngict-component.css b/sdc-workflow-designer-ui/src/app/assets/components/css/ngict-component.css deleted file mode 100644 index 98ad2e36..00000000 --- a/sdc-workflow-designer-ui/src/app/assets/components/css/ngict-component.css +++ /dev/null @@ -1,1874 +0,0 @@ -/***main***/ -body, -button, -input, -optgroup, -select, -textarea, -.tooltip { - font-family: "Microsoft yahei", Segoe UI, Arial !important; - font-size: 12px; - color: #333; -} -body { - background-color: transparent; - font-size: 12px; - min-width: 1024px; -} -[class^="col-"], -[class*="col-"] { - float: left; -} -.clearfix: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; -} -.clearfix:before, -.clearfix: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; -} -.label, -label { - font-weight: 400; -} -*:focus { - outline: 0; -} -a { - color: #00abff; - text-decoration: none ; - cursor: pointer; -} -a:hover { - color: #00a3f5; - text-decoration: underline; -} -.border-box { - border: 1px solid #ddd; -} -/***icon***/ -[class^="ict-"], -[class*=" ict-"] { - padding-right: 3px; -} -/***color***/ -.red { - background-color: #ff5b55; - color: #fff; -} -.red:hover { - background-color: #f55651; - color: #fff; -} -.green { - background-color: #5fcc4a; - color: #fff; -} -.green:hover { - background-color: #329d96; - color: #fff; -} -.gold { - background-color: #c0af69; - color: #fff; -} -.gold:hover { - background-color: #ad9a4d; - color: #fff; -} -.over-grey { - background-color: transparent; - color: #00abff; - border: 0; -} -.over-grey:hover { - background-color: #f8f8f8; -} -.over-grey:focus:active { - background-color: #f2f2f2; -} -.grey { - background-color: #fff; - border: 1px solid #fff; - color: #a1abb3; - border: 1px solid #ddd; -} -.grey:hover { - background-color: #f8f8f8; -} -.grey-disabled, -.grey-disabled:hover { - border: 1px solid #c6c6c6; - color: #c6c6c6; - background-color: #fff; -} -.dark-grey { - background-color: #333; - border: 1px solid #333; - color: #fff; -} -.dark-grey:hover { - background-color: #101010; - color: #fff; -} -.px-red { - color: #ff5b55; -} -.bg-danger { - background-color: #ff5b55 !important; -} -.px-red-bg { - background-color: #ff5b55; - border: 1px solid #ff5b55; - color: #fff; -} -.px-red-bg:hover { - background-color: #f55651; - color: #fff; -} -.px-red-bg:active { - background-color: #eb534d; - color: #fff; -} -.px-green { - color: #5fcc4a; -} -.px-green-bg { - background-color: #73cf22; - border: 1px solid #73cf22; - color: #fff; -} -.px-green-bg:hover { - background-color: #6cc41f; - color: #fff; -} -.px-green-bg:active { - background-color: #67ba1e; - color: #fff; -} -.px-yellow { - color: #ffc766; -} -.px-yellow-bg { - background-color: #f7c515; - border: 1px solid #f7c515; - color: #fff; -} -.px-yellow-bg:hover { - background-color: #edbe13; - color: #fff; -} -.px-yellow-bg:active { - background-color: #e3b612; - color: #fff; -} -.px-grey { - color: #a5a5a5; -} -.px-grey-bg { - background-color: #a1abb3; - border: 1px solid #a1abb3; - color: #fff; -} -.px-grey-bg:hover { - background-color: #919da6; - color: #fff; -} -.px-grey-bg:active { - background-color: #85919a; - color: #fff; -} -.blue { - background-color: #fff; - color: #1991c5; -} -.blue:hover { - background-color: #e8f3fd; - color: #3366cc; -} -.blue.selected { - border: 0; - background-color: #00abff; - color: #fff; -} -.blue.selected:hover { - border: 0; - background-color: #00abff; - color: #fff; -} -.blue1 { - background-color: #00abff; - color: #fff; - border: 1px solid #00abff; -} -.blue1:hover { - background-color: #00a3f5; - color: #fff; - border: 1px solid #00a3f5; -} -.blue1:active { - background-color: #009ceb; -} -.blue1.disabled, -.blue1.disabled:hover, -.blue1.disabled:focus:active, -.blue1:disabled, -.blue1:disabled:hover, -.blue1:disabled:focus:active { - background-color: #59c8ff; - border-color: #59c8ff; -} -.blue1:focus { - background-color: #00abff; - color: #fff; - border: 1px solid #00abff; -} -.blue1:focus:hover { - background-color: #00a3f5; - color: #fff; - border: 1px solid #00a3f5; -} -.blue1:focus:active { - background-color: #009ceb; -} -.blue1-active { - background-color: #00abff !important; - color: #fff !important; - border: 1px solid #00abff !important; -} -.blue1-active:hover { - background-color: #00a3f5 !important; - color: #fff !important; - border: 1px solid #00a3f5 !important; -} -.blue1-active:focus { - background-color: #00abff !important; - color: #fff !important; - border: 1px solid #00abff !important; -} -.blue1-active:focus:hover { - background-color: #00a3f5 !important; - color: #fff !important; - border: 1px solid #00a3f5 !important; -} -.white { - background-color: #fff; - border: 1px solid #ddd; - color: #00abff; -} -.white:hover { - background-color: #f8f8f8; -} -.white:active { - background-color: #f2f2f2; -} -.white.active { - background-color: #00abff; - color: #fff; - border-color: #00abff; -} -.white.disabled, -.white.disabled:hover, -.white.disabled:focus:active, -.white:disabled, -.white:disabled:hover, -.white:disabled:focus:active { - background-color: #eee; -} -.white:focus { - background-color: #fff; - border: 1px solid #ddd; - color: #00abff; - outline: none; -} -.white:focus:hover { - background-color: #f8f8f8; -} -.white:focus:hover:active { - background-color: #f2f2f2; -} -.white:focus.active { - background-color: #00abff; - color: #fff; - border-color: #00abff; -} -.blue1-icons { - color: #009ceb; -} -.blue1-icons:hover { - color: #00a3f5; -} -.px-font1, -.px-font1:active, -.px-font1:focus { - color: #c2c6c9; -} -.px-font2, -.px-font2:active, -.px-font2:focus { - color: #777; -} -.px-font3, -.px-font3:active, -.px-font3:focus { - color: #4d5761; -} -.px-font4, -.px-font4:active, -.px-font4:focus { - color: #333; -} -/*** -Responsive & Scrollable Tables -***/ -.table-scrollable { - width: 100%; - overflow-x: auto; - overflow-y: hidden; - border: 1px solid #ddd; -} -.table-scrollable > .table { - width: 100% !important; - margin: 0 !important; - margin-bottom: 0; - background-color: #fff; -} -.table-scrollable > .table-bordered { - border: 0; -} -.table-scrollable > .table-bordered > thead > tr > th:first-child, -.table-scrollable > .table-bordered > tbody > tr > th:first-child, -.table-scrollable > .table-bordered > tfoot > tr > th:first-child, -.table-scrollable > .table-bordered > thead > tr > td:first-child, -.table-scrollable > .table-bordered > tbody > tr > td:first-child, -.table-scrollable > .table-bordered > tfoot > tr > td:first-child { - border-left: 0; -} -.table-scrollable > .table-bordered > thead > tr > th:last-child, -.table-scrollable > .table-bordered > tbody > tr > th:last-child, -.table-scrollable > .table-bordered > tfoot > tr > th:last-child, -.table-scrollable > .table-bordered > thead > tr > td:last-child, -.table-scrollable > .table-bordered > tbody > tr > td:last-child, -.table-scrollable > .table-bordered > tfoot > tr > td:last-child { - border-right: 0; -} -.table-scrollable > .table-bordered > thead > tr:last-child > th, -.table-scrollable > .table-bordered > tbody > tr:last-child > th, -.table-scrollable > .table-bordered > tfoot > tr:last-child > th, -.table-scrollable > .table-bordered > thead > tr:last-child > td, -.table-scrollable > .table-bordered > tbody > tr:last-child > td, -.table-scrollable > .table-bordered > tfoot > tr:last-child > td { - border-bottom: 0; -} -/*table*/ -table { - font-size: 12px; -} -.table-hover > tbody > tr:hover > td, -.table-hover > tbody > tr:hover > th { - background: #ebf6fd; -} -.dataTables_length, -.dataTables_info, -.dataTables_paginate { - font-size: 12px; - color: #7c868d; - display: inline-block; -} -.dataTables_length { - margin-right: 9px; -} -.dataTables_info { - margin-right: 10px; - color: #4d5761; -} -.dataTables_length select { - margin-left: 1px; - margin-right: 1px; - width: 42px; - height: 30px; - border-color: #ddd; - color: #7c868d; -} -.dataTables_paginate { - vertical-align: top; -} -.dataTables_paginate input { - border-color: #ddd !important; - width: 42px !important; - height: 30px !important; - margin-left: 6px!important; - margin-right: 6px!important; - color: #7c868d; -} -.dataTables_paginate .pagination-panel a { - border: 1px solid #ddd; - width: 26px; - height: 30px; - opacity: 1; - margin-left: 6px; - vertical-align: top; - cursor: pointer; - color: #7c868d; -} -.dataTables_wrapper > div > div { - float: right; - margin-bottom: 10px; - margin-top: 10px; -} -table th { - font-weight: normal; - font-size: 12px; -} -.table thead th { - border-bottom: 0; - color: #8b8b8b; -} -.table th { - border-top: 0; -} -table .heading { - font-size: 12px; - background: #fff !important; - font-weight: normal; -} -table tr:nth-of-type(odd) { - background: #f9f9f9; -} -table tr:nth-of-type(even) { - background: #fff; -} -table tr td label { - cursor: pointer; -} -.table-btn span { - padding-left: 5px; - padding-right: 5px; -} -.table-bordered > thead > tr > th, -.table-bordered > thead > tr > td { - border-bottom-width: 1px; -} -table tr td .btn-xs { - margin-bottom: 3px; - margin-top: 3px; -} -/* px-table */ -.px-table.light .px-th { - padding-bottom: 15px !important; -} -.px-table .px-th { - padding-bottom: 10px !important; -} -/*.px-table.card tr:nth-of-type(odd){ - background-color:#fff !important; -}*/ -.px-table.card tr:nth-of-type(odd):hover { - background-color: #ebf6fd !important; -} -.px-table.card tr td:first-child, -.px-table.card tr th:first-child { - text-align: center; -} -.px-table.card .title { - font-weight: normal; -} -.px-table .filter span.filterToggle { - width: 30px !important; - height: 30px !important; -} -.px-table input[type="checkbox"] { - margin-right: 0; -} -.px-page-item .px-page-link { - height: 28px !important; -} -.px-filters .px-th { - padding-bottom: 2px !important; -} -.px-pagination { - margin-top: 0 !important; -} -.px-table .filter span.filterToggle { - height: 30px !important; -} -.px-table label, -.px-table input[type="checkbox"] { - margin-bottom: 0; -} -.px-table .innerTable tr:nth-of-type(odd) { - background-color: #fff !important; -} -/*ng2-smart-table*/ -.ng2-smart-table.light .ng2-smart-th, -.ng2-smart-table .ng2-smart-th { - padding-bottom: 10px !important; -} -.ng2-smart-table .card tr:nth-of-type(odd) { - background-color: #fff !important; -} -.ng2-smart-table .card tr:nth-of-type(odd):hover { - background-color: #ebf6fd !important; -} -.ng2-smart-table .card tr td:first-child, -.ng2-smart-table .card tr th:first-child { - text-align: center; -} -.ng2-smart-table .card .title { - font-weight: normal; -} -.ng2-smart-table .filter span.filterToggle { - width: 30px !important; - height: 30px !important; -} -.ng2-smart-table input[type="checkbox"] { - margin-right: 0; -} -.ng2-smart-page-item .ng2-smart-page-link { - height: 28px !important; -} -.ng2-smart-filters .ng2-smart-th { - padding-bottom: 2px !important; -} -.ng2-smart-pagination { - margin-top: 0 !important; -} -.ng2-smart-table .filter span.filterToggle { - height: 30px !important; -} -.ng2-smart-table label, -.ng2-smart-table input[type="checkbox"] { - margin-bottom: 0; -} -.ng2-smart-table .innerTable tr:nth-of-type(odd) { - background-color: #fff !important; -} -/***form***/ -.form { - padding: 0 !important; -} -.form-group .multiRow { - margin-bottom: 15px; -} -.form-group .multiRow:last-child { - margin-bottom: 5px; -} -.form-group { - font-size: 12px; -} -.form-group .btn { - font-size: 14px; -} -.form-group .btn-s { - font-size: 12px; -} -.form-group .ict-helpTip { - font-size: 18px; - color: #bababa; - margin-left: 10px; - vertical-align: text-bottom; -} -.form-group .ict-helpTip:hover { - color: #00abff; -} -.form-group.equal-group .form-control { - display: block; -} -.form-group.equal-group .form-control:first-child { - margin-bottom: 5px; -} -.form-body { - padding: 15px; -} -.form-actions .btn { - font-size: 14px; -} -.form-actions.nobg { - background-color: transparent; -} -.form-actions.top { - margin-top: 0; - margin-bottom: 20px; - border-top: 0; - border-bottom: 1px solid #e5e5e5; -} -.form-control { - font-size: 12px; - display: inline-block; -} -.form-actions .btnGroup { - padding-left: 0; -} -.form-actions.fluid > [class^="col-"] { - padding-left: 13px; -} -.form-actions:before, -.form-actions:after { - display: table; - line-height: 0; - content: ""; -} -.form-actions:after { - clear: both; -} -.form-section { - margin: 30px 0px 25px 0px; - padding-bottom: 5px; - border-bottom: 1px solid #eee; -} -.form .form-section:first-child { - margin-top: 5px; -} -.help-inline { - font-size: 13px; - color: #737373; - display: inline-block; - padding: 5px; -} -.submBtn { - /*text-align: center;*/ -} -.subm-iconMargin { - margin-left: -40px; -} -.subm-margin { - margin-left: -40px; -} -.form-actions.right { - padding-left: 0; - padding-right: 10px; - text-align: right; -} -.form-actions.left { - padding-left: 10px; - padding-right: 0; - text-align: left; -} -.help-block { - margin-top: 5px; - margin-bottom: 5px; - color: #a94442 !important; -} -.form-inline input { - margin-bottom: 0px !important; -} -.form-horizontal .control-label { - text-align: right; -} -.form-group .control-label { - padding-top: 3px; -} -.form-control-static { - font-size: 14px; - padding-top: 7px; -} -.control-label .required { - color: #e02222; - font-size: 12px; - padding-left: 2px; -} -.form-control:focus { - -webkit-box-shadow: none; - box-shadow: none; -} -select.form-control, -.form-control { - padding: 4px 12px; - border-radius: 2px; - height: 30px; - /* width:400px;*/ - border-color: #ddd; -} -select.form-control:not([size]):not([multiple]) { - height: 30px ; -} -/***checkbox&radio***/ -/* Checkbox */ -.form-group .checkbox { - padding-left: 0; -} -.checkbox-list > label { - display: block; -} -.checkbox-list > label.checkbox-inline { - display: inline-block; -} -.checkbox-list > label.checkbox-inline:first-child { - padding-left: 0; -} -/* Radios */ -input[type="radio"] { - cursor: pointer; -} -.radio-list > label { - display: block; -} -.radio-list > label.radio-inline { - display: inline-block; -} -.radio-list > label.radio-inline:first-child { - padding-left: 0; -} -.form-horizontal .radio-list .radio { - padding-top: 1px; -} -.form-horizontal .radio-list > label { - margin-bottom: 0; -} -.form-horizontal .radio > span { - margin-top: 2px; -} -input[type="checkbox"]:focus, -input[type="radio"]:focus { - outline: 0; - -webkit-box-shadow: none; - box-shadow: none; - border: 0; -} -.raw-container { - font-size: 0; - position: relative; -} -.raw-container input[type="checkbox"], -.raw-container input[type="radio"] { - position: absolute; - z-index: -1; - opacity: 0; -} -.raw-container input[type="checkbox"] + .checkbox-substitute + span, -.raw-container input[type="radio"] + .radio-substitute + span { - font-weight: normal; - font-size: 12px; - line-height: 12px; - cursor: pointer; - vertical-align: middle; -} -.raw-container input[type="checkbox"] + .checkbox-substitute { - position: relative; - display: inline-block; - cursor: pointer; - height: 14px; - width: 14px; - border: 1px solid #ccc; - border-radius: 2px; - vertical-align: middle; - margin-right: 6px; -} -.raw-container input[type="checkbox"] + .checkbox-substitute:hover { - border-color: #00abff; -} -.raw-container input[type="checkbox"]:checked + .checkbox-substitute { - border-color: #00abff; - background-color: #00abff; -} -.raw-container input[type="checkbox"]:checked + .checkbox-substitute::after { - content: ''; - position: absolute; - display: block; - width: 6px; - height: 10px; - border: solid #fff; - border-width: 0 2px 2px 0; - transform: rotate(45deg); - left: 3px; - top: 0; -} -.raw-container input[type="checkbox"][disabled] + .checkbox-substitute { - background-color: #efefef; - cursor: auto; - border-color: #ccc; -} -.raw-container input[type="checkbox"]:checked[disabled] + .checkbox-substitute { - background-color: #efefef; - cursor: auto; - border-color: #ccc; -} -.raw-container input[type="checkbox"]:checked[disabled] + .checkbox-substitute::after { - border: 1px solid #ccc; - border-width: 0 2px 2px 0; -} -.raw-container input[type="checkbox"]:checked.portion + .checkbox-substitute { - background-color: #97dbfc; - border-color: #97dbfc; -} -.raw-container input[type="radio"] + .radio-substitute { - position: relative; - display: inline-block; - cursor: pointer; - height: 14px; - width: 14px; - border: 1px solid #ccc; - border-radius: 14px; - vertical-align: middle; - margin-right: 6px; -} -.raw-container input[type="radio"] + .radio-substitute:hover { - border-color: #00abff; -} -.raw-container input[type="radio"]:checked + .radio-substitute { - border-color: #00abff; - border-width: 4px; -} -.raw-container input[type="radio"][disabled] + .radio-substitute { - border-color: #ccc; - background-color: #efefef; - cursor: auto; -} -.raw-container input[type="radio"]:checked [disabled] + .radio-substitute { - border-color: #ccc; - cursor: auto; -} -/***input***/ -::-webkit-input-placeholder { - color: #bcbcbc !important; -} -:-moz-placeholder { - /* Mozilla Firefox 4 to 18 */ - color: #bcbcbc !important; -} -::-moz-placeholder { - /* Mozilla Firefox 19+ */ - color: #bcbcbc !important; -} -input:-ms-input-placeholder { - color: #bcbcbc !important; -} -input::-webkit-input-placeholder { - color: #bcbcbc !important; -} -/*group*/ -.input-group-btn-vertical.fa { - font-size: 12px; -} -.input-group.spinner .btn { - min-width: 20px !important; - height: 16px; -} -.spinner { - width: 60px !important; - margin-left: 10px; - margin-right: 30px; -} -.spinner input { - text-align: right; -} -.input-group-btn-vertical { - position: relative; - white-space: nowrap; - width: 1%; - vertical-align: middle; - display: table-cell; -} -.input-group-btn-vertical > .btn { - display: block; - float: none; - width: 100%; - max-width: 100%; - padding: 6px; - margin-left: -1px; - position: relative; - border-radius: 0; -} -.input-group-btn-vertical > .btn { - min-width: 20px; -} -.input-group-btn-vertical > .btn:first-child { - border-top-right-radius: 4px; -} -.input-group-btn-vertical > .btn:last-child { - margin-top: -2px; - border-bottom-right-radius: 4px; -} -.input-group-btn-vertical i { - position: absolute; - top: 0; - left: 6px; -} -/*.input-group .form-control { - height: 26px !important; -}*/ -.input-group { - /* width:400px;*/ - font-size: 0; -} -.input-group .form-control { - display: inline-block; -} -.input-group .form-control:hover, -.input-group .form-control:focus:hover { - z-index: 2; -} -.input-group .input-group-btn { - z-index: 0; -} -/*html滑块组件*/ -input[type="range"] { - margin-top: 2px; - background-color: #f0f3f9; - border: 1px solid #ccd6e8; - border-radius: 15px; - width: 400px; - -webkit-appearance: none; - height: 15px; -} -input[type="range"]::-webkit-slider-thumb { - -webkit-appearance: none; - cursor: pointer; - top: -5px; - height: 28px; - width: 15px; - transform: translateY(-4px); - background: none repeat scroll 0 0 #f0f3f9; - background-color: #9cc2cb; - border-radius: 20px; -} -input[type="range"]:focus { - outline: none; -} -/*search*/ -.input-group .btn { - min-width: 40px; - padding-top: 3px; -} -/***tab***/ -/*.nav-tabs { - border: 0; - font-weight: bold; -} -.nav-tabs > li.active > a, -.nav-tabs > li.active > a:hover, -.nav-tabs > li.active > a:focus { - border: 0; -} -.nav-tabs > li > a { - border-radius: 0; - font-weight: bold; - border: 0; - margin-right: 0; -} -.nav > li > a:hover, -.nav > li > a:focus { - background-color: transparent; -} -.nav-tabs.boder-tab > li.active > a, -.nav-tabs.boder-tab > div > li.active > a { - border: 1px solid #ddd; - border-bottom: 0; -} -.nav-tabs-content { - border: 1px solid #ddd; -} -!***tab***! -.nav-tabs.tabset > li.active, -.nav-tabs.tabset > li.active:hover, -.nav-tabs.tabset > li.active:focus { - border: 0; - border-top: 2px solid #00abff; -} -.nav-tabs > div > li.active, -.nav-tabs > div > li.active:hover, -.nav-tabs > div > li.active:focus { - border: 0; - background-color: #fcfcfc; - border-top: 2px solid #00abff; -} -ul.nav.nav-tabs { - background-color: transparent; -} -.nav-tabs > div > li > a:hover { - background-color: transparent; - border-bottom: 1px transparent; -} -.nav-tabs .nav-link { - border-top-right-radius: 0; - border-top-left-radius: 0; - color: #777; -} -.nav-tabs .nav-link:hover { - background-color: transparent; - border-color: transparent; - color: #777; -} -.nav-tabs .nav-link:focus { - border-left-color: transparent; - border-right-color: transparent; -} -.boder-tab ul.nav.nav-tabs { - background-color: #fff; -} -.boder-tab ul.nav.nav-tabs .nav-link:hover { - border-bottom: 1px solid #ddd ; - background-color: #fcfcfc; -} -.boder-tab ul.nav.nav-tabs .nav-link.active:hover { - border-bottom: 0 ; -} -.nav-tabs { - border: 0; - font-weight: normal; -} -.nav-tabs > li > a { - border-radius: 0; - font-weight: normal; - border: 0; - margin-right: 0; -} -.nav-tabs > li > a:hover, -.nav-tabs > li > a:focus { - background-color: transparent; -} -.nav-tabs .nav-link.active { - border: 0; - border-top: 2px solid #00abff; - background-color: #fff; -} -.nav-tabs .nav-link.active:hover { - background-color: #fff; - border-top: 2px solid #00abff; -} -.nav-tabs .nav-link.disabled { - border-top: 0; - color: #c2c6c9; -} -.nav-tabs .nav-link.disabled:hover, -.nav-tabs .nav-link.disabled:focus { - background-color: transparent; - color: #c2c6c9; -} -.boder-tab > .nav-tabs > .nav-item > .nav-link.active, -.less-border > .nav-tabs > .nav-item > .nav-link.active { - border: 1px solid #ddd; - border-top: 2px solid #00abff; - border-bottom: 0; -} -.boder-tab .tab-pane.active { - border: 1px solid #ddd; -} -.tab-pane.active { - padding: 15px; -} -.nav-pills .nav-link.active, -.nav-pills .nav-item.show .nav-link { - color: #fff; - cursor: default; - background-color: #00abff; -} -.less-border .tab-pane.active { - border-top: 1px solid #ddd; - border-left: 0; - border-right: 0; - border-bottom: 0; -}*/ -/***button***/ -button { - font-size: 14px; -} -.btn { - min-width: 80px; - letter-spacing: 1px; - padding-top: 4px !important; - padding-bottom: 4px !important; - height: 30px; - font-size: 14px; - cursor: pointer; - line-height: 1.42857143; -} -.btnGroup .btn, -.btnGroup a { - margin-right: 10px; -} -.btnGroup a:last-child, -.btnGroup .btn:last-child { - margin-right: 0; -} -.btnGroup .sub-btn { - /*float:right; - width: 400px;*/ - /*text-align: right;*/ -} -.pagination-panel .btn { - min-width: 4px; -} -.btn.dropdown-toggle, -.btn-group .btn.dropdown-toggle, -.btn:hover, -.btn:disabled, -.btn[disabled], -.btn:focus, -.btn:active, -.btn.active { - outline: none !important; - background-image: none !important; - filter: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; -} -.btn-s { - min-width: 50px; - height: 26px; - line-height: 14px; - font-size: 12px; - cursor: pointer; -} -.btn-s:hover { - text-decoration: none ; -} -.btn-s:focus { - outline: 0; -} -.btn-xs { - min-width: 50px; - line-height: 1.2; - padding-top: 3px; - padding-bottom: 3px; - font-size: 12px; - cursor: pointer; -} -.btn-xs:hover { - text-decoration: none ; -} -.btn-xs:focus { - outline: 0; -} -/***btn-group***/ -.btn-group .blue1-active { - border-left: #a4d7f7 1px solid !important; -} -.btn-group .blue1-active:hover { - border-left: #1289d6 1px solid !important; -} -.btn-group .white.btn.active, -.btn-group .white.btn-s.active { - border-left: #6ac7f5 1px solid !important; -} -/***toolbar & icons ***/ -.toolbar span { - padding: 5px; - font-size: 20px; - cursor: pointer; - color: #00abff; - border: 1px solid transparent; -} -.toolbar span:hover { - color: #00a3f5; - border: 1px solid #cbdfec; -} -.toolbar i.seperate-vertical { - padding: 0; - border-right: 1px solid #ddd; - margin-right: 8px; - margin-left: 4px; -} -/*btn-link*/ -.btn-link { - color: #ccc; -} -.btn-link:hover { - color: #1798eb; -} -/***radius***/ -.radius-l { - border-radius: 20px; -} -.radius-m { - border-radius: 8px; -} -.radius-s { - border-radius: 4px; -} -.radius-xs { - border-radius: 3px; -} -/***progress***/ -.progress, -.progress-s { - border: 0; - background-image: none !important; - filter: none !important; - -webkit-box-shadow: none !important; - -moz-box-shadow: none !important; - box-shadow: none !important; - opacity: 0.7; -} -.progress { - height: 8px; - display: inline-block; -} -.progress-s { - height: 2px; -} -.progress > .progress-bar-success { - background-color: #00abff; -} -.progress-bar { - height: 8px; -} -.progress > .bg-success { - background-color: #00abff !important; -} -.px-progressbar .progress { - display: inline-block; -} -.progress-rate { - vertical-align: sub; - margin-left: 5px; -} -.progress-error { - display: inline-block; - width: 16px; - height: 16px; - border-radius: 16px; - border: 1px solid #ff5b55; - font-size: 12px; - color: #ff5b55; - text-align: center; - line-height: 1; - margin-left: 5px; -} -.progress-error::before { - content: "!"; -} -.progressbar-s .progress { - height: 2px; -} -/***separator & title***/ -.separator-line { - height: 1px; - width: 100%; - background: #ddd; - overflow: hidden; - margin-bottom: 15px; - opacity: 0.7; -} -.separator { - opacity: 0.7; -} -.separator:hover { - opacity: 1; -} -.separator-line-dashed { - margin-top: 15px; - height: 1px; - border-bottom: 1px dashed #ddd; - margin-bottom: 15px; - overflow: hidden; - width: 100%; -} -.titlefont { - font-size: 14px; - margin-top: 15px; - margin-bottom: 5px; - color: #777; -} -.form-title, -.form-title-foldable { - border-left: 3px solid #00abff; -} -.form-title { - padding: 1px 2px 1px 5px; - margin-bottom: 15px; - color: #7c868d; - font-size: 14px; -} -.form-title-foldable { - padding: 1px 2px 1px 5px; - margin-bottom: 15px; - font-size: 14px; -} -.form-title-foldable span { - margin-right: 10px; - cursor: pointer; -} -.form-title-foldable span[class^="ict-"] { - font-size: 12px; - color: #009ceb; -} -/***ztree***/ -.ztree { - padding: 15px 30px 0 5px; -} -.ztree * { - font-family: "microsoft yahei"; - font-size: 12px; -} -.ztree li a { - width: auto; - padding-right: 5px; - height: 25px; - border: 1px solid #fff; - padding-left: 5px; -} -.ztree li a:hover { - border: 1px solid #ddd !important; -} -.ztree li > span { - margin-top: 5px !important; -} -.ztree li span.button.chk { - width: 13px; - height: 13px; - margin-left: 10px; - cursor: auto; -} -.ztree li span.button.add { - margin-left: 2px; - margin-right: 4px; - background-position: -144px 0; - vertical-align: top; - *vertical-align: middle; - float: right; -} -.ztree li span.button.edit { - margin-right: 4px; - background-position: -110px -48px; - vertical-align: top; - *vertical-align: middle; - float: right; -} -.ztree li span.button.remove { - margin-right: 4px; - background-position: -110px -64px; - vertical-align: top; - *vertical-align: middle; - float: right; -} -.ztree li a.curSelectedNode { - height: 25px; - border: 1px #accbdd solid !important; -} -.ztree-select .ztree li a { - border: 1px solid #fff !important; -} -.ztree-select .ztree li a:hover { - border: 1px #ddd solid !important; -} -/***px-tree***/ -.px-tree ul.px-tree-children { - -webkit-padding-start: 21px; -} -/***tip***/ -.terminology { - color: #468ECE; - border-bottom: 1px #468ECE dotted; -} -.General-tip { - height: 20px; - width: 20px; - background-color: #fff; - border: 1px #5b9bd1 solid; - padding-bottom: 5px; - padding-left: 5px; - border-radius: 20px; - margin-top: 5px; -} -.General-tip span { - font-size: 15px; - text-align: center; - color: #5b9bd1; - line-height: 1.1; -} -.General-tip:hover { - border: 1px #2a6496 solid; - cursor: pointer; -} -.General-tip:hover span { - color: #2a6496; -} -/*tip-box*/ -.frmTipBoxTransition { - -webkit-transition: -webkit-transform 0.3s ease-out; - -o-transition: -o-transform 0.3s ease-out; - transition: transform 0.3s ease-out; - -webkit-transform: translate(0, 50%); - -ms-transform: translate(0, 50%); - -o-transform: translate(0, 50%); - transform: translate(0, 50%); -} -#frmTipBox { - position: absolute; - width: 400px; - margin: 10px auto; - left: 30%; - right: 30%; - top: 14px; -} -/*alert*/ -.alert { - padding: 12px 15px; - max-width: 600px; - text-align: left; - -webkit-box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1); - -moz-box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1); - box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1); -} -/* -.alert-success { - color: #fff; - background-color: #73cf22; - border-color:#73cf22; -} - -.alert-info { - color: #fff; - background-color: #00abff; - border-color:#00abff; -} - -.alert-warning { - color: #fff; - background-color: #f7c515; - border-color:#f7c515; -} - -.alert-danger { - color: #fff; - background-color: #ff5b55; - border-color:#ff5b55; -}*/ -.close { - color: #f2f2f2; - font-size: 16px; -} -.close:hover, -.close:focus { - color: inherit; - outline: 0; -} -.alert-success { - color: #56963e; - background-color: #edfbe8; - border-color: #d5eccc; - opacity: 0.85; -} -.alert-info { - color: #5090c3; - background-color: #ecf7fd; - border-color: #bce1f1; - opacity: 0.85; -} -.alert-warning { - color: #bf880a; - background-color: #fff8e9; - border-color: #f5e1b8; - opacity: 0.85; -} -.alert-danger { - color: #df4364; - background-color: #fbf0f1; - border-color: #f3d9da; - opacity: 0.85; -} -.close { - color: #333; - font-size: 1rem; -} -/*tooltip*/ -.tooltip.show { - font-size: 12px; - opacity: 1; -} -.tooltip.show .tooltip-inner { - background-color: #4d5761; - border-radius: 4px; - padding: 5px 8px; -} -.tooltip.tooltip-top .tooltip-inner::before, -.tooltip.bs-tether-element-attached-bottom .tooltip-inner::before { - border-top-color: #4d5761; -} -.tooltip.tooltip-right .tooltip-inner::before, -.tooltip.bs-tether-element-attached-left .tooltip-inner::before { - border-right-color: #4d5761; -} -.tooltip.tooltip-bottom .tooltip-inner::before, -.tooltip.bs-tether-element-attached-top .tooltip-inner::before { - border-bottom-color: #4d5761; -} -.tooltip.tooltip-left .tooltip-inner::before, -.tooltip.bs-tether-element-attached-right .tooltip-inner::before { - border-left-color: #4d5761; -} -/*modal*/ - -/***pagination***/ -.page-item.active .page-link { - background-color: #1798eb; - border-color: #1798eb; -} -/***wizard***/ -.form-wizard .nav > li > a { - padding-bottom: 0; -} -.wizard-body .button-next.disabled, -.wizard-body .button-previous.disabled { - display: none ; -} -.wizard-body .nav .step { - background: none !important; -} -.form-wizard .progress { - margin-bottom: 30px; - margin-top: 10px; - height: 4px; - width: 100%; -} -.form-wizard .steps { - background-color: #fff ; - background-image: none ; - filter: none ; - border: 0px; - box-shadow: none ; -} -.form-wizard .steps li a { - background-color: #fff ; - background-image: none ; - filter: none; - border: 0px; - box-shadow: none ; - color: #7c868d; -} -.form-wizard .steps:hover { - background: none; -} -.form-wizard .step:hover { - text-decoration: none; -} -.form-wizard .step .number { - background-color: #ddd; - color: #fff; - display: inline-block; - text-align: center !important; - font-size: 14px; - font-weight: 300; - padding-top: 2px; - margin-right: 10px; - height: 24px; - width: 24px; - -webkit-border-radius: 50% !important; - -moz-border-radius: 50% !important; - border-radius: 50% !important; -} -.form-wizard .step .desc { - display: inline-block; - font-size: 14px; - font-weight: 300; - color: #7c868d; -} -.form-wizard .step i { - display: none; -} -.form-wizard .active .step .number { - background-color: #35aa47; - color: #fff; -} -.form-wizard .active .step .desc { - color: #333; - font-weight: 400; -} -.form-wizard .done .step .number { - background-color: #73cf22 ; - color: #fff; -} -.form-wizard .done .step .desc { - font-weight: 400; -} -.form-wizard .done .step .form-wizard .done .step i { - font-size: 12px; - font-weight: normal; - color: #999; - display: inline-block; -} -.form-wizard .steps > li.active > a.step .number { - background-color: #00abff; -} -@media (min-width: 600px) and (max-width: 1280px) { - .form-wizard .step .desc { - margin-top: 10px; - display: block; - } -} -@media (max-width: 600px) { - .form-wizard .steps > li > a { - text-align: left; - } -} -@media (min-width: 600px) { - .nav-justified > li { - display: table-cell; - width: 1%; - } -} -.px-wizard .nav.nav-pills.steps li { - text-align: center; -} -.px-wizard .nav.nav-pills.steps li .desc { - font-size: 14px; -} -.px-wizard .nav.nav-pills.steps li .px-wizard .form-wizard .step .number { - padding-top: 1px; -} -/***popover***/ -ngb-popover-window.popover.show { - color: #333; - border: 1px solid #ddd; -} -.popover.popover-top::after, -.popover.bs-tether-element-attached-bottom::after { - border-top-color: #fff; -} -.popover.popover-top::before, -.popover.bs-tether-element-attached-bottom::before { - border-top-color: #ddd; -} -.popover.popover-left::after, -.popover.bs-tether-element-attached-right::after { - border-left-color: #fff; -} -.popover.popover-left::before, -.popover.bs-tether-element-attached-right::before { - border-left-color: #ddd; -} -.popover.popover-right::after, -.popover.bs-tether-element-attached-left::after { - border-right-color: #fff; -} -.popover.popover-right::before, -.popover.bs-tether-element-attached-left::before { - border-right-color: #ddd; -} -.popover.popover-bottom::after, -.popover.bs-tether-element-attached-top::after { - border-bottom-color: #fff; -} -.popover.popover-bottom::before, -.popover.bs-tether-element-attached-top::before { - border-bottom-color: #ddd; -} -.popover { - max-width: 600px; - min-width: 250px; - background-color: #fff; - font-family: "Microsoft yahei", Segoe UI, Arial !important; - font-size: 12px; - border-color: #ddd; - -webkit-box-shadow: 0 1px 8px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 8px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 8px rgba(0, 0, 0, 0.2); -} -.popover .popover-title { - background-color: #fff; - border-bottom: 1px solid #ddd; -} -.popover .popover-content { - background-color: #fff; - padding-top: 20px; -} -.popover .ict-warning { - color: #ff5b55; - font-size: 26px; - margin-right: 5px; -} -.popover .popo { - text-align: center; -} -.popover .pop-btn { - float: right; - margin-top: 10px; - margin-bottom: 10px; - font-size: 0; -} -.popover .pop-btn .btn-s { - margin-left: 10px; -} -.popover .tip-info span { - vertical-align: middle; -} -.popover .tip-info .content { - font-size: 14px; -} -/***collapse***/ -/*.collapse-bottom .card span.pop-trgl { - position: absolute; - top: -10px; - left: 20px; - width: 0; - height: 0; - border-style: solid; - border-width: 0 10px 10px 10px; - border-color: transparent transparent #cbc5c5 transparent; -} -.collapse-bottom .card span.pop-trgl i { - position: absolute; - left: -9px; - top: 1px; - width: 0; - height: 0; - border-style: solid; - border-width: 0 9px 9px 9px; - border-color: transparent transparent #fff transparent; -} - -.collapse-top .card span.pop-trgl { - position: absolute; - bottom: -10px; - left: 20px; - width: 0; - height: 0; - border-style: solid; - border-width: 0 10px 10px 10px; - border-color: transparent transparent #cbc5c5 transparent; - transform:rotate(180deg); -} -.collapse-top .card span.pop-trgl i { - position: absolute; - left: -9px; - top: 1px; - width: 0; - height: 0; - border-style: solid; - border-width: 0 9px 9px 9px; - border-color: transparent transparent #fff transparent; -} -.collapse-top .card-block { - padding: 0; -} -.collapse-top .card { - margin-bottom: 5px; - padding: 15px; -} -.collapse-bottom .card { - margin-top: 5px; - padding: 15px; -}*/ -/***select-box with icon***/ -.iconselect-box .col-xs-1 { - width: 15px; - padding: 110px 0 0 0; -} -.iconPosition > div { - margin: 20px 0px 0px 0px; -} -/***.dropdown-item***/ -.dropdown-item { - color: #4d5761; -} -.dropdown-item:focus, -.dropdown-item:hover, -.dropdown-item:active { - background-color: #f8f8f8; - outline: none; - color: #4d5761; -} -.dropdown-menu { - border: 0; - -webkit-box-shadow: 0 1px 8px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 8px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 8px rgba(0, 0, 0, 0.2); -} -.btn-xs + .dropdown-menu .dropdown-item { - font-size: 12px; -} -/***datepicker***/ -.px-dp-header { - border-bottom: 0 !important; -} -.px-dp-header select.custom-select { - color: #777; - margin-top: 5px; - width: 45%; - margin-right: 5px; - font-size: 12px; -} -.px-date-range-picker .ngb-dp-weekday { - color: #777; -} -/*.px-dp-months.pb-1{ - padding-left:15px !important; - padding-right:15px !important; - .px-dp-day, - .px-dp-weekday, - .px-dp-week-number{ - width:40px; - height:40px; - } - }*/ -.px-dp-week.d-flex { - color: #777; -} -.font-italic { - font-style: normal; -} -.px-dp-weekday.text-info { - color: #777 !important; -} -.px-dp-day .btn-secondary { - border-radius: 20px !important; -} -.px-dp-day .bg-primary { - background-color: #00abff !important; - border-radius: 20px !important; -} -.dropdown-menu .px-dp-day { - font-size: 14px; -} -.dropdown-menu .px-dp-weekday.small { - font-size: 80%; -} -.px-dp-month-name.text-center { - color: #777; - font-size: 14px !important; -} -.custom-day.weekend { - background-color: #00abff !important; - height: 2rem; - line-height: 1.8; - border-radius: 20px !important; -} -.custom-day.weekend:hover { - background-color: #00a3f5 !important; -} -/***px-upload***/ -.px-uploder .progress { - width: 300px; -} diff --git a/sdc-workflow-designer-ui/src/app/assets/components/css/prism.css b/sdc-workflow-designer-ui/src/app/assets/components/css/prism.css deleted file mode 100644 index 0100f8dd..00000000 --- a/sdc-workflow-designer-ui/src/app/assets/components/css/prism.css +++ /dev/null @@ -1,141 +0,0 @@ -/** - * prism.js default theme for JavaScript, CSS and HTML - * Based on dabblet (http://dabblet.com) - * @author Lea Verou - */ - -code[class*="language-"], -pre[class*="language-"] { - color: black; - background: none; - text-shadow: 0 1px white; - font-family:"Helvetica Neue","PingFang SC",Tahoma,"Microsoft Yahei"; - direction: ltr; - text-align: left; - white-space: pre; - word-spacing: normal; - word-break: normal; - word-wrap: normal; - line-height: 1.5; - - -moz-tab-size: 4; - -o-tab-size: 4; - tab-size: 4; - - -webkit-hyphens: none; - -moz-hyphens: none; - -ms-hyphens: none; - hyphens: none; -} - -pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, -code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { - text-shadow: none; - background: #b3d4fc; -} - -pre[class*="language-"]::selection, pre[class*="language-"] ::selection, -code[class*="language-"]::selection, code[class*="language-"] ::selection { - text-shadow: none; - background: #b3d4fc; -} - -@media print { - code[class*="language-"], - pre[class*="language-"] { - text-shadow: none; - } -} - -/* Code blocks */ -pre[class*="language-"] { - padding: 1em; - margin: 0; - overflow: auto; - padding-top: 20px; -} - -:not(pre) > code[class*="language-"], -pre[class*="language-"] { - background: #fff; - border:1px solid #e9e9e9; - border-top:0; -} - -/* Inline code */ -:not(pre) > code[class*="language-"] { - padding: .1em; - border-radius: .3em; - white-space: normal; -} - -.token.comment, -.token.prolog, -.token.doctype, -.token.cdata { - color: slategray; -} - -.token.punctuation { - color: #999; -} - -.namespace { - opacity: .7; -} - -.token.property, -.token.tag, -.token.boolean, -.token.number, -.token.constant, -.token.symbol, -.token.deleted { - color: #905; -} - -.token.selector, -.token.attr-name, -.token.string, -.token.char, -.token.builtin, -.token.inserted { - color: #690; -} - -.token.operator, -.token.entity, -.token.url, -.language-css .token.string, -.style .token.string { - color: #a67f59; - background: hsla(0, 0%, 100%, .5); -} - -.token.atrule, -.token.attr-value, -.token.keyword { - color: #07a; -} - -.token.function { - color: #DD4A68; -} - -.token.regex, -.token.important, -.token.variable { - color: #e90; -} - -.token.important, -.token.bold { - font-weight: bold; -} -.token.italic { - font-style: italic; -} - -.token.entity { - cursor: help; -} diff --git a/sdc-workflow-designer-ui/src/app/assets/components/css/style.css b/sdc-workflow-designer-ui/src/app/assets/components/css/style.css deleted file mode 100644 index 9cb8e913..00000000 --- a/sdc-workflow-designer-ui/src/app/assets/components/css/style.css +++ /dev/null @@ -1,1154 +0,0 @@ -@font-face { - font-family: 'ZteIctIcons'; - src: url('../fonts/ZteIctIcons.eot?yfideg'); - src: url('../fonts/ZteIctIcons.eot?yfideg#iefix') format('embedded-opentype'), - url('../fonts/ZteIctIcons.ttf?yfideg') format('truetype'), - url('../fonts/ZteIctIcons.woff?yfideg') format('woff'), - url('../fonts/ZteIctIcons.svg?yfideg#ZteIctIcons') format('svg'); - font-weight: normal; - font-style: normal; -} - -[class^="ict-"], [class*=" ict-"] { - /* use !important to prevent issues with browser extensions that change fonts */ - font-family: 'ZteIctIcons' !important; - speak: none; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - - /* Better Font Rendering =========== */ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.ict-pm-query:before { - content: "\e900"; -} -.ict-sm-follow-up:before { - content: "\e901"; -} -.ict-sm-syn-down:before { - content: "\e902"; -} -.ict-pm:before { - content: "\e903"; -} -.ict-pm-monitor:before { - content: "\e904"; -} -.ict-pm-customized:before { - content: "\e905"; -} -.ict-fm-group:before { - content: "\e906"; -} -.ict-fm-alarm-code:before { - content: "\e907"; -} -.ict-new:before { - content: "\e908"; -} -.ict-fm-restype:before { - content: "\e909"; -} -.ict-fm-moc:before { - content: "\e90a"; -} -.ict-col:before { - content: "\e90b"; -} -.ict-filter:before { - content: "\e90c"; -} -.ict-filter-f:before { - content: "\e90d"; -} -.ict-code:before { - content: "\e90e"; -} -.ict-code-f:before { - content: "\e90f"; -} -.ict-fullScreen:before { - content: "\e910"; -} -.ict-reduction:before { - content: "\e911"; -} -.ict-userCompare:before { - content: "\e912"; -} -.ict-userDispatch:before { - content: "\e913"; -} -.ict-voice:before { - content: "\e914"; -} -.ict-warning:before { - content: "\e915"; -} -.ict-xml:before { - content: "\e916"; -} -.ict-zoomIn:before { - content: "\e917"; -} -.ict-zoomOut:before { - content: "\e918"; -} -.ict-zoomOverView:before { - content: "\e919"; -} -.ict-zoomReset:before { - content: "\e91a"; -} -.ict-thumbtack:before { - content: "\e91b"; -} -.ict-toRight:before { - content: "\e91c"; -} -.ict-treefile:before { - content: "\e91d"; -} -.ict-treeFolder:before { - content: "\e91e"; -} -.ict-triangle:before { - content: "\e91f"; -} -.ict-unacknownledge:before { - content: "\e920"; -} -.ict-unlock:before { - content: "\e921"; -} -.ict-up:before { - content: "\e922"; -} -.ict-upload:before { - content: "\e923"; -} -.ict-user:before { - content: "\e924"; -} -.ict-start:before { - content: "\e925"; -} -.ict-stop:before { - content: "\e926"; -} -.ict-stretch:before { - content: "\e927"; -} -.ict-strikeOut:before { - content: "\e928"; -} -.ict-Synchronous:before { - content: "\e929"; -} -.ict-table:before { - content: "\e92a"; -} -.ict-third-grid:before { - content: "\e92b"; -} -.ict-third-grid-selected:before { - content: "\e92c"; -} -.ict-thumbtack-selected:before { - content: "\e92d"; -} -.ict-save:before { - content: "\e92e"; -} -.ict-select:before { - content: "\e92f"; -} -.ict-selectAll:before { - content: "\e930"; -} -.ict-selectLeft:before { - content: "\e931"; -} -.ict-selectRight:before { - content: "\e932"; -} -.ict-show:before { - content: "\e933"; -} -.ict-shrink:before { - content: "\e934"; -} -.ict-singleCommand:before { - content: "\e935"; -} -.ict-sm-center:before { - content: "\e936"; -} -.ict-sql:before { - content: "\e937"; -} -.ict-process:before { - content: "\e938"; -} -.ict-product:before { - content: "\e939"; -} -.ict-rbArrow:before { - content: "\e93a"; -} -.ict-refresh:before { - content: "\e93b"; -} -.ict-rename:before { - content: "\e93c"; -} -.ict-right-select:before { - content: "\e93d"; -} -.ict-role:before { - content: "\e93e"; -} -.ict-roleset:before { - content: "\e93f"; -} -.ict-openTree:before { - content: "\e940"; -} -.ict-Operation:before { - content: "\e941"; -} -.ict-palette:before { - content: "\e942"; -} -.ict-parallel:before { - content: "\e943"; -} -.ict-pause:before { - content: "\e944"; -} -.ict-pbp:before { - content: "\e945"; -} -.ict-pie:before { - content: "\e946"; -} -.ict-poNode:before { - content: "\e947"; -} -.ict-pre:before { - content: "\e948"; -} -.ict-print:before { - content: "\e949"; -} -.ict-move:before { - content: "\e94a"; -} -.ict-node-close:before { - content: "\e94b"; -} -.ict-node-open:before { - content: "\e94c"; -} -.ict-noticeAlarm:before { - content: "\e94d"; -} -.ict-noticeFilter:before { - content: "\e94e"; -} -.ict-open:before { - content: "\e94f"; -} -.ict-next:before { - content: "\e950"; -} -.ict-no-voice:before { - content: "\e951"; -} -.ict-message:before { - content: "\e952"; -} -.ict-modify:before { - content: "\e953"; -} -.ict-Monitor:before { - content: "\e954"; -} -.ict-more:before { - content: "\e955"; -} -.ict-more-line:before { - content: "\e956"; -} -.ict-newShortcut:before { - content: "\e957"; -} -.ict-lock:before { - content: "\e958"; -} -.ict-loseError:before { - content: "\e959"; -} -.ict-ltArrow:before { - content: "\e95a"; -} -.ict-Magnifier:before { - content: "\e95b"; -} -.ict-Maintain:before { - content: "\e95c"; -} -.ict-manAnalysis:before { - content: "\e95d"; -} -.ict-maximize:before { - content: "\e95e"; -} -.ict-memory:before { - content: "\e95f"; -} -.ict-menu:before { - content: "\e960"; -} -.ict-idea:before { - content: "\e961"; -} -.ict-import:before { - content: "\e962"; -} -.ict-inProgress:before { - content: "\e963"; -} -.ict-launchingTower:before { - content: "\e964"; -} -.ict-layout:before { - content: "\e965"; -} -.ict-legendhide:before { - content: "\e966"; -} -.ict-legendshow:before { - content: "\e967"; -} -.ict-link:before { - content: "\e968"; -} -.ict-godown:before { - content: "\e969"; -} -.ict-goup:before { - content: "\e96a"; -} -.ict-grammarCheck:before { - content: "\e96b"; -} -.ict-Graphical:before { - content: "\e96c"; -} -.ict-half-grid:before { - content: "\e96d"; -} -.ict-half-grid-selected:before { - content: "\e96e"; -} -.ict-helpTip:before { - content: "\e96f"; -} -.ict-hide:before { - content: "\e970"; -} -.ict-history:before { - content: "\e971"; -} -.ict-historyAlarm:before { - content: "\e972"; -} -.ict-eye-closed:before { - content: "\e973"; -} -.ict-forceOut:before { - content: "\e974"; -} -.ict-full-grid:before { - content: "\e975"; -} -.ict-full-grid-selected:before { - content: "\e976"; -} -.ict-gear:before { - content: "\e977"; -} -.ict-go:before { - content: "\e978"; -} -.ict-find:before { - content: "\e979"; -} -.ict-fobidden:before { - content: "\e97a"; -} -.ict-fold:before { - content: "\e97b"; -} -.ict-folder:before { - content: "\e97c"; -} -.ict-folderOpen:before { - content: "\e97d"; -} -.ict-drill:before { - content: "\e97e"; -} -.ict-empty:before { - content: "\e97f"; -} -.ict-executNext:before { - content: "\e980"; -} -.ict-export:before { - content: "\e981"; -} -.ict-export-ne:before { - content: "\e982"; -} -.ict-eye:before { - content: "\e983"; -} -.ict-file:before { - content: "\e984"; -} -.ict-currentAlarm:before { - content: "\e985"; -} -.ict-debug:before { - content: "\e986"; -} -.ict-deleSingle:before { - content: "\e987"; -} -.ict-delete:before { - content: "\e988"; -} -.ict-department:before { - content: "\e989"; -} -.ict-detail:before { - content: "\e98a"; -} -.ict-displaySwitch:before { - content: "\e98b"; -} -.ict-down:before { - content: "\e98c"; -} -.ict-download:before { - content: "\e98d"; -} -.ict-circle:before { - content: "\e98e"; -} -.ict-clearAlarm:before { - content: "\e98f"; -} -.ict-close:before { - content: "\e990"; -} -.ict-closeTree:before { - content: "\e991"; -} -.ict-cloud:before { - content: "\e992"; -} -.ict-completed:before { - content: "\e993"; -} -.ict-computer:before { - content: "\e994"; -} -.ict-configmap:before { - content: "\e995"; -} -.ict-copy:before { - content: "\e996"; -} -.ict-cpu:before { - content: "\e997"; -} -.ict-arrowRight:before { - content: "\e998"; -} -.ict-autoFind:before { - content: "\e999"; -} -.ict-back:before { - content: "\e99a"; -} -.ict-ball:before { - content: "\e99b"; -} -.ict-batchCommand:before { - content: "\e99c"; -} -.ict-bell:before { - content: "\e99d"; -} -.ict-blackList:before { - content: "\e99e"; -} -.ict-breakLink:before { - content: "\e99f"; -} -.ict-cancle:before { - content: "\e9a0"; -} -.ict-check-error:before { - content: "\e9a1"; -} -.ict-check-right:before { - content: "\e9a2"; -} -.ict-alarmBox:before { - content: "\e9a3"; -} -.ict-alarmFilter:before { - content: "\e9a4"; -} -.ict-alarmTurn:before { - content: "\e9a5"; -} -.ict-allSelected:before { - content: "\e9a6"; -} -.ict-angleLeft:before { - content: "\e9a7"; -} -.ict-angleRight:before { - content: "\e9a8"; -} -.ict-arrowLeft:before { - content: "\e9a9"; -} -.ict-arrowLeftAll:before { - content: "\e9aa"; -} -.ict-arrowRightAll:before { - content: "\e9ab"; -} -.ict-acknownledge:before { - content: "\e9ac"; -} -.ict-Admin:before { - content: "\e9ad"; -} -.ict-advice:before { - content: "\e9ae"; -} -.ict-afreshDef:before { - content: "\e9af"; -} -.ict-alarm:before { - content: "\e9b0"; -} -.ict-code-b:before { - content: "\e9b1"; -} -.ict-log:before { - content: "\e9b2"; -} -.ict-analysis:before { - content: "\e9b3"; -} -.ict-bindingRelationship:before { - content: "\e9b4"; -} -.ict-browsePolicy:before { - content: "\e9b5"; -} -.ict-businessManagment:before { - content: "\e9b6"; -} -.ict-cardData:before { - content: "\e9b7"; -} -.ict-dailyManagment:before { - content: "\e9b8"; -} -.ict-enterpriseCustomer:before { - content: "\e9b9"; -} -.ict-equipmentBlacklist:before { - content: "\e9ba"; -} -.ict-equipmentModel:before { - content: "\e9bb"; -} -.ict-examine:before { - content: "\e9bc"; -} -.ict-failureList:before { - content: "\e9bd"; -} -.ict-familyCustomer:before { - content: "\e9be"; -} -.ict-fileTool:before { - content: "\e9bf"; -} -.ict-groupManagment:before { - content: "\e9c0"; -} -.ict-notice:before { - content: "\e9c1"; -} -.ict-policy:before { - content: "\e9c2"; -} -.ict-portal:before { - content: "\e9c3"; -} -.ict-recordQuery:before { - content: "\e9c4"; -} -.ict-resourceManagment:before { - content: "\e9c5"; -} -.ict-ruleManagment:before { - content: "\e9c6"; -} -.ict-sucessRate:before { - content: "\e9c7"; -} -.ict-terminalManagment:before { - content: "\e9c8"; -} -.ict-tools:before { - content: "\e9c9"; -} -.ict-track:before { - content: "\e9ca"; -} -.ict-userManagment:before { - content: "\e9cb"; -} -.ict-versionManagment:before { - content: "\e9cc"; -} -.ict-workOrder:before { - content: "\e9cd"; -} -.ict-app:before { - content: "\e9ce"; -} -.ict-car:before { - content: "\e9cf"; -} -.ict-chgpile:before { - content: "\e9d0"; -} -.ict-chgposition:before { - content: "\e9d1"; -} -.ict-chgstation:before { - content: "\e9d2"; -} -.ict-cms:before { - content: "\e9d3"; -} -.ict-common_dc:before { - content: "\e9d4"; -} -.ict-common_ncd:before { - content: "\e9d5"; -} -.ict-common_ncd_break:before { - content: "\e9d6"; -} -.ict-common_ncd_stop:before { - content: "\e9d7"; -} -.ict-common_sc:before { - content: "\e9d8"; -} -.ict-ems:before { - content: "\e9d9"; -} -.ict-host:before { - content: "\e9da"; -} -.ict-network:before { - content: "\e9db"; -} -.ict-NFV:before { - content: "\e9dc"; -} -.ict-NS:before { - content: "\e9dd"; -} -.ict-sdno:before { - content: "\e9de"; -} -.ict-vapel_chgpile:before { - content: "\e9df"; -} -.ict-VDU:before { - content: "\e9e0"; -} -.ict-VIM:before { - content: "\e9e1"; -} -.ict-VNF:before { - content: "\e9e2"; -} -.ict-VNFC:before { - content: "\e9e3"; -} -.ict-VNFM:before { - content: "\e9e4"; -} - - -/********************************** - - plx-icons - -**********************************/ -@font-face { - font-family: 'plx-icons'; - src: url('../fonts/plx-icons.eot?15hpu9'); - src: url('../fonts/plx-icons.eot?15hpu9#iefix') format('embedded-opentype'), - url('../fonts/plx-icons.ttf?15hpu9') format('truetype'), - url('../fonts/plx-icons.woff?15hpu9') format('woff'), - url('../fonts/plx-icons.svg?15hpu9#plx-icons') format('svg'); - font-weight: normal; - font-style: normal; -} - -[class^="plx-ico-"], [class*=" plx-ico-"] { - /* use !important to prevent issues with browser extensions that change fonts */ - font-family: 'plx-icons' !important; - speak: none; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - - /* Better Font Rendering =========== */ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.plx-ico-drag-drop-16:before { - content: "\e987"; -} -.plx-ico-all-selected-16:before { - content: "\e900"; -} -.plx-ico-arrow-down-16:before { - content: "\e901"; -} -.plx-ico-arrow-left-16:before { - content: "\e902"; -} -.plx-ico-arrow-right-16:before { - content: "\e903"; -} -.plx-ico-arrow-up-16:before { - content: "\e904"; -} -.plx-ico-bell-20:before { - content: "\e905"; -} -.plx-ico-calendar-16:before { - content: "\e906"; -} -.plx-ico-close-16:before { - content: "\e907"; -} -.plx-ico-code-16:before { - content: "\e908"; -} -.plx-ico-code-f-16:before { - content: "\e909"; -} -.plx-ico-copy-16:before { - content: "\e90a"; -} -.plx-ico-delete-16:before { - content: "\e90b"; -} -.plx-ico-detail-16:before { - content: "\e90c"; -} -.plx-ico-double-left-16:before { - content: "\e90d"; -} -.plx-ico-double-right-16:before { - content: "\e90e"; -} -.plx-ico-down-16:before { - content: "\e90f"; -} -.plx-ico-download-16:before { - content: "\e910"; -} -.plx-ico-empty-16:before { - content: "\e911"; -} -.plx-ico-export-16:before { - content: "\e912"; -} -.plx-ico-export-other-16:before { - content: "\e913"; -} -.plx-ico-eye-16:before { - content: "\e914"; -} -.plx-ico-eye-closed-16:before { - content: "\e915"; -} -.plx-ico-file-16:before { - content: "\e916"; -} -.plx-ico-filter-16:before { - content: "\e917"; -} -.plx-ico-filter-f-16:before { - content: "\e918"; -} -.plx-ico-folder-16:before { - content: "\e919"; -} -.plx-ico-folder-custom-16:before { - content: "\e91a"; -} -.plx-ico-folder-open-16:before { - content: "\e91b"; -} -.plx-ico-folder-open-custom-16:before { - content: "\e91c"; -} -.plx-ico-full-grid-16:before { - content: "\e91d"; -} -.plx-ico-full-grid-f-16:before { - content: "\e91e"; -} -.plx-ico-full-screen-16:before { - content: "\e91f"; -} -.plx-ico-gear-16:before { - content: "\e920"; -} -.plx-ico-half-grid-16:before { - content: "\e921"; -} -.plx-ico-half-grid-f-16:before { - content: "\e922"; -} -.plx-ico-help-tip-16:before { - content: "\e923"; -} -.plx-ico-help-tip-20:before { - content: "\e924"; -} -.plx-ico-history-16:before { - content: "\e925"; -} -.plx-ico-import-16:before { - content: "\e926"; -} -.plx-ico-info-16:before { - content: "\e927"; -} -.plx-ico-info-f-20:before { - content: "\e928"; -} -.plx-ico-left-16:before { - content: "\e929"; -} -.plx-ico-lock-16:before { - content: "\e92a"; -} -.plx-ico-magnifier-16:before { - content: "\e92b"; -} -.plx-ico-maximize-16:before { - content: "\e92c"; -} -.plx-ico-menu-16:before { - content: "\e92d"; -} -.plx-ico-message-16:before { - content: "\e92e"; -} -.plx-ico-message-20:before { - content: "\e92f"; -} -.plx-ico-minus-16:before { - content: "\e930"; -} -.plx-ico-modify-16:before { - content: "\e931"; -} -.plx-ico-move-16:before { - content: "\e932"; -} -.plx-ico-new-16:before { - content: "\e933"; -} -.plx-ico-pause-16:before { - content: "\e934"; -} -.plx-ico-plus-16:before { - content: "\e935"; -} -.plx-ico-print-16:before { - content: "\e936"; -} -.plx-ico-reduction-16:before { - content: "\e937"; -} -.plx-ico-refresh-16:before { - content: "\e938"; -} -.plx-ico-remove-16:before { - content: "\e939"; -} -.plx-ico-right-16:before { - content: "\e93a"; -} -.plx-ico-save-16:before { - content: "\e93b"; -} -.plx-ico-select-16:before { - content: "\e93c"; -} -.plx-ico-setting-20:before { - content: "\e93d"; -} -.plx-ico-square-down-16:before { - content: "\e93e"; -} -.plx-ico-square-left-16:before { - content: "\e93f"; -} -.plx-ico-square-right-16:before { - content: "\e940"; -} -.plx-ico-square-up-16:before { - content: "\e941"; -} -.plx-ico-start-16:before { - content: "\e942"; -} -.plx-ico-stop-16:before { - content: "\e943"; -} -.plx-ico-sucess-16:before { - content: "\e944"; -} -.plx-ico-sucess-f-20:before { - content: "\e945"; -} -.plx-ico-three-grid-16:before { - content: "\e946"; -} -.plx-ico-three-grid-f-16:before { - content: "\e947"; -} -.plx-ico-unlock-16:before { - content: "\e948"; -} -.plx-ico-up-16:before { - content: "\e949"; -} -.plx-ico-upload-16:before { - content: "\e94a"; -} -.plx-ico-user-20:before { - content: "\e94b"; -} -.plx-ico-warning-16:before { - content: "\e94c"; -} -.plx-ico-warning-f-20:before { - content: "\e94d"; -} -.plx-ico-zoom-in-16:before { - content: "\e94e"; -} -.plx-ico-zoom-out-16:before { - content: "\e94f"; -} -.plx-ico-zoom-overview-16:before { - content: "\e950"; -} -.plx-ico-zoom-reset-16:before { - content: "\e951"; -} -.plx-ico-config-auto-discover-16:before { - content: "\e952"; -} -.plx-ico-config-backup-16:before { - content: "\e953"; -} -.plx-ico-config-script-16:before { - content: "\e954"; -} -.plx-ico-console-16:before { - content: "\e955"; -} -.plx-ico-fm-acknownledge-16:before { - content: "\e956"; -} -.plx-ico-fm-alarm-16:before { - content: "\e957"; -} -.plx-ico-fm-alarm-box-16:before { - content: "\e958"; -} -.plx-ico-fm-alarm-code-16:before { - content: "\e959"; -} -.plx-ico-fm-alarm-turn-16:before { - content: "\e95a"; -} -.plx-ico-fm-current-alarm-16:before { - content: "\e95b"; -} -.plx-ico-fm-group-16:before { - content: "\e95c"; -} -.plx-ico-fm-history-alarm-16:before { - content: "\e95d"; -} -.plx-ico-fm-moc-16:before { - content: "\e95e"; -} -.plx-ico-fm-notice-alarm-16:before { - content: "\e95f"; -} -.plx-ico-fm-no-voice-16:before { - content: "\e960"; -} -.plx-ico-fm-restype-16:before { - content: "\e961"; -} -.plx-ico-fm-setting-16:before { - content: "\e962"; -} -.plx-ico-fm-unacknownledge-16:before { - content: "\e963"; -} -.plx-ico-fm-voice-16:before { - content: "\e964"; -} -.plx-ico-hmf-16:before { - content: "\e965"; -} -.plx-ico-license-16:before { - content: "\e966"; -} -.plx-ico-log-16:before { - content: "\e967"; -} -.plx-ico-mml-16:before { - content: "\e968"; -} -.plx-ico-mml-batch-command-16:before { - content: "\e969"; -} -.plx-ico-mml-debug-16:before { - content: "\e96a"; -} -.plx-ico-mml-dele-single-16:before { - content: "\e96b"; -} -.plx-ico-mml-execut-next-16:before { - content: "\e96c"; -} -.plx-ico-mml-grammar-check-16:before { - content: "\e96d"; -} -.plx-ico-mml-lose-error-16:before { - content: "\e96e"; -} -.plx-ico-mml-parallel-16:before { - content: "\e96f"; -} -.plx-ico-mml-single-command-16:before { - content: "\e970"; -} -.plx-ico-octopus-16:before { - content: "\e971"; -} -.plx-ico-performance-16:before { - content: "\e972"; -} -.plx-ico-pm-customized-16:before { - content: "\e973"; -} -.plx-ico-pm-monitor-16:before { - content: "\e974"; -} -.plx-ico-pm-query-16:before { - content: "\e975"; -} -.plx-ico-sm-16:before { - content: "\e976"; -} -.plx-ico-sm-admin-16:before { - content: "\e977"; -} -.plx-ico-sm-blacklist-16:before { - content: "\e978"; -} -.plx-ico-sm-department-16:before { - content: "\e979"; -} -.plx-ico-sm-follow-up-16:before { - content: "\e97a"; -} -.plx-ico-sm-maintain-16:before { - content: "\e97b"; -} -.plx-ico-sm-operation-16:before { - content: "\e97c"; -} -.plx-ico-sm-role-16:before { - content: "\e97d"; -} -.plx-ico-sm-roleset-16:before { - content: "\e97e"; -} -.plx-ico-sm-syn-down-16:before { - content: "\e97f"; -} -.plx-ico-sm-user-16:before { - content: "\e980"; -} -.plx-ico-sm-user-compare-16:before { - content: "\e981"; -} -.plx-ico-sm-user-dispatch-16:before { - content: "\e982"; -} -.plx-ico-sm-user-managment-16:before { - content: "\e983"; -} -.plx-ico-topo-group-16:before { - content: "\e984"; -} -.plx-ico-topo-layer-access-16:before { - content: "\e985"; -} -.plx-ico-topo-logic-16:before { - content: "\e986"; -} \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/assets/components/fonts/FontAwesome.otf b/sdc-workflow-designer-ui/src/app/assets/components/fonts/FontAwesome.otf deleted file mode 100644 index 401ec0f3..00000000 Binary files a/sdc-workflow-designer-ui/src/app/assets/components/fonts/FontAwesome.otf and /dev/null differ diff --git a/sdc-workflow-designer-ui/src/app/assets/components/fonts/ZteIctIcons.eot b/sdc-workflow-designer-ui/src/app/assets/components/fonts/ZteIctIcons.eot deleted file mode 100644 index 8ddba569..00000000 Binary files a/sdc-workflow-designer-ui/src/app/assets/components/fonts/ZteIctIcons.eot and /dev/null differ diff --git a/sdc-workflow-designer-ui/src/app/assets/components/fonts/ZteIctIcons.svg b/sdc-workflow-designer-ui/src/app/assets/components/fonts/ZteIctIcons.svg deleted file mode 100644 index 94a04d7c..00000000 --- a/sdc-workflow-designer-ui/src/app/assets/components/fonts/ZteIctIcons.svg +++ /dev/null @@ -1,239 +0,0 @@ - - - -Generated by IcoMoon - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/assets/components/fonts/ZteIctIcons.ttf b/sdc-workflow-designer-ui/src/app/assets/components/fonts/ZteIctIcons.ttf deleted file mode 100644 index 5cc40aac..00000000 Binary files a/sdc-workflow-designer-ui/src/app/assets/components/fonts/ZteIctIcons.ttf and /dev/null differ diff --git a/sdc-workflow-designer-ui/src/app/assets/components/fonts/ZteIctIcons.woff b/sdc-workflow-designer-ui/src/app/assets/components/fonts/ZteIctIcons.woff deleted file mode 100644 index 0564e188..00000000 Binary files a/sdc-workflow-designer-ui/src/app/assets/components/fonts/ZteIctIcons.woff and /dev/null differ diff --git a/sdc-workflow-designer-ui/src/app/assets/components/fonts/ZteTableIcons.eot b/sdc-workflow-designer-ui/src/app/assets/components/fonts/ZteTableIcons.eot deleted file mode 100644 index 2b6211f8..00000000 Binary files a/sdc-workflow-designer-ui/src/app/assets/components/fonts/ZteTableIcons.eot and /dev/null differ diff --git a/sdc-workflow-designer-ui/src/app/assets/components/fonts/ZteTableIcons.svg b/sdc-workflow-designer-ui/src/app/assets/components/fonts/ZteTableIcons.svg deleted file mode 100644 index 77eff7d7..00000000 --- a/sdc-workflow-designer-ui/src/app/assets/components/fonts/ZteTableIcons.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - -Generated by IcoMoon - - - - - - - - \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/assets/components/fonts/ZteTableIcons.ttf b/sdc-workflow-designer-ui/src/app/assets/components/fonts/ZteTableIcons.ttf deleted file mode 100644 index f52ce211..00000000 Binary files a/sdc-workflow-designer-ui/src/app/assets/components/fonts/ZteTableIcons.ttf and /dev/null differ diff --git a/sdc-workflow-designer-ui/src/app/assets/components/fonts/ZteTableIcons.woff b/sdc-workflow-designer-ui/src/app/assets/components/fonts/ZteTableIcons.woff deleted file mode 100644 index f120a67e..00000000 Binary files a/sdc-workflow-designer-ui/src/app/assets/components/fonts/ZteTableIcons.woff and /dev/null differ diff --git a/sdc-workflow-designer-ui/src/app/assets/components/fonts/fontawesome-webfont.eot b/sdc-workflow-designer-ui/src/app/assets/components/fonts/fontawesome-webfont.eot deleted file mode 100644 index e9f60ca9..00000000 Binary files a/sdc-workflow-designer-ui/src/app/assets/components/fonts/fontawesome-webfont.eot and /dev/null differ diff --git a/sdc-workflow-designer-ui/src/app/assets/components/fonts/fontawesome-webfont.svg b/sdc-workflow-designer-ui/src/app/assets/components/fonts/fontawesome-webfont.svg deleted file mode 100644 index 855c845e..00000000 --- a/sdc-workflow-designer-ui/src/app/assets/components/fonts/fontawesome-webfont.svg +++ /dev/null @@ -1,2671 +0,0 @@ - - - - -Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 - By ,,, -Copyright Dave Gandy 2016. All rights reserved. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sdc-workflow-designer-ui/src/app/assets/components/fonts/fontawesome-webfont.ttf b/sdc-workflow-designer-ui/src/app/assets/components/fonts/fontawesome-webfont.ttf deleted file mode 100644 index 35acda2f..00000000 Binary files a/sdc-workflow-designer-ui/src/app/assets/components/fonts/fontawesome-webfont.ttf and /dev/null differ diff --git a/sdc-workflow-designer-ui/src/app/assets/components/fonts/fontawesome-webfont.woff b/sdc-workflow-designer-ui/src/app/assets/components/fonts/fontawesome-webfont.woff deleted file mode 100644 index 400014a4..00000000 Binary files a/sdc-workflow-designer-ui/src/app/assets/components/fonts/fontawesome-webfont.woff and /dev/null differ diff --git a/sdc-workflow-designer-ui/src/app/assets/components/fonts/fontawesome-webfont.woff2 b/sdc-workflow-designer-ui/src/app/assets/components/fonts/fontawesome-webfont.woff2 deleted file mode 100644 index 4d13fc60..00000000 Binary files a/sdc-workflow-designer-ui/src/app/assets/components/fonts/fontawesome-webfont.woff2 and /dev/null differ diff --git a/sdc-workflow-designer-ui/src/app/assets/components/fonts/iconfont.eot b/sdc-workflow-designer-ui/src/app/assets/components/fonts/iconfont.eot deleted file mode 100644 index e45edf09..00000000 Binary files a/sdc-workflow-designer-ui/src/app/assets/components/fonts/iconfont.eot and /dev/null differ diff --git a/sdc-workflow-designer-ui/src/app/assets/components/fonts/iconfont.svg b/sdc-workflow-designer-ui/src/app/assets/components/fonts/iconfont.svg deleted file mode 100644 index f5e45b4d..00000000 --- a/sdc-workflow-designer-ui/src/app/assets/components/fonts/iconfont.svg +++ /dev/null @@ -1,150 +0,0 @@ - - - - - -Created by iconfont - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sdc-workflow-designer-ui/src/app/assets/components/fonts/iconfont.ttf b/sdc-workflow-designer-ui/src/app/assets/components/fonts/iconfont.ttf deleted file mode 100644 index b8bc410e..00000000 Binary files a/sdc-workflow-designer-ui/src/app/assets/components/fonts/iconfont.ttf and /dev/null differ diff --git a/sdc-workflow-designer-ui/src/app/assets/components/fonts/iconfont.woff b/sdc-workflow-designer-ui/src/app/assets/components/fonts/iconfont.woff deleted file mode 100644 index 7cbe02f9..00000000 Binary files a/sdc-workflow-designer-ui/src/app/assets/components/fonts/iconfont.woff and /dev/null differ diff --git a/sdc-workflow-designer-ui/src/app/assets/components/fonts/plx-icons.eot b/sdc-workflow-designer-ui/src/app/assets/components/fonts/plx-icons.eot deleted file mode 100644 index 5611721d..00000000 Binary files a/sdc-workflow-designer-ui/src/app/assets/components/fonts/plx-icons.eot and /dev/null differ diff --git a/sdc-workflow-designer-ui/src/app/assets/components/fonts/plx-icons.svg b/sdc-workflow-designer-ui/src/app/assets/components/fonts/plx-icons.svg deleted file mode 100644 index 98d20729..00000000 --- a/sdc-workflow-designer-ui/src/app/assets/components/fonts/plx-icons.svg +++ /dev/null @@ -1,146 +0,0 @@ - - - -Generated by IcoMoon - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/assets/components/fonts/plx-icons.ttf b/sdc-workflow-designer-ui/src/app/assets/components/fonts/plx-icons.ttf deleted file mode 100644 index 2d56c73c..00000000 Binary files a/sdc-workflow-designer-ui/src/app/assets/components/fonts/plx-icons.ttf and /dev/null differ diff --git a/sdc-workflow-designer-ui/src/app/assets/components/fonts/plx-icons.woff b/sdc-workflow-designer-ui/src/app/assets/components/fonts/plx-icons.woff deleted file mode 100644 index bf943465..00000000 Binary files a/sdc-workflow-designer-ui/src/app/assets/components/fonts/plx-icons.woff and /dev/null differ diff --git a/sdc-workflow-designer-ui/src/app/assets/components/images/backtop/backtop.svg b/sdc-workflow-designer-ui/src/app/assets/components/images/backtop/backtop.svg deleted file mode 100644 index 58bca254..00000000 --- a/sdc-workflow-designer-ui/src/app/assets/components/images/backtop/backtop.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - diff --git a/sdc-workflow-designer-ui/src/app/assets/components/images/backtop/backtop_hover.svg b/sdc-workflow-designer-ui/src/app/assets/components/images/backtop/backtop_hover.svg deleted file mode 100644 index f35c0fb0..00000000 --- a/sdc-workflow-designer-ui/src/app/assets/components/images/backtop/backtop_hover.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - diff --git a/sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/checkbox-checked-disabled.svg b/sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/checkbox-checked-disabled.svg deleted file mode 100644 index 041c368b..00000000 --- a/sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/checkbox-checked-disabled.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/checkbox-disabled.svg b/sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/checkbox-disabled.svg deleted file mode 100644 index 03bfad63..00000000 --- a/sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/checkbox-disabled.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - diff --git a/sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/checkbox-hover.svg b/sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/checkbox-hover.svg deleted file mode 100644 index 4cac1803..00000000 --- a/sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/checkbox-hover.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - diff --git a/sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/checkbox-init.svg b/sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/checkbox-init.svg deleted file mode 100644 index d518db1b..00000000 --- a/sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/checkbox-init.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - diff --git a/sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/radio-checked-disabled.svg b/sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/radio-checked-disabled.svg deleted file mode 100644 index ff139644..00000000 --- a/sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/radio-checked-disabled.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - diff --git a/sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/radio-checked.svg b/sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/radio-checked.svg deleted file mode 100644 index 29dfaf84..00000000 --- a/sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/radio-checked.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - diff --git a/sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/radio-disabled.svg b/sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/radio-disabled.svg deleted file mode 100644 index 6e1a1b12..00000000 --- a/sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/radio-disabled.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - diff --git a/sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/radio-hover.svg b/sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/radio-hover.svg deleted file mode 100644 index c050f69d..00000000 --- a/sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/radio-hover.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - diff --git a/sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/radio-init.svg b/sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/radio-init.svg deleted file mode 100644 index 7e2977c2..00000000 --- a/sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/radio-init.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - diff --git a/sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/test/checkbox-checked.svg b/sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/test/checkbox-checked.svg deleted file mode 100644 index 22b9535c..00000000 --- a/sdc-workflow-designer-ui/src/app/assets/components/images/checkbox-radio/test/checkbox-checked.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/sdc-workflow-designer-ui/src/app/assets/components/themes/NIV/NIV-theme.less b/sdc-workflow-designer-ui/src/app/assets/components/themes/NIV/NIV-theme.less deleted file mode 100644 index 2490a0d9..00000000 --- a/sdc-workflow-designer-ui/src/app/assets/components/themes/NIV/NIV-theme.less +++ /dev/null @@ -1,271 +0,0 @@ -//color -@blue-1: #e7f4fd; -@blue-2: #cfe9fc; -@blue-3: #a0d3f8; -@blue-4: #70bef5; -@blue-5: #40a8f2; -@blue-6: #108ee9; -@blue-7: #0d75bf; -@blue-8: #0c66a7; -@blue-9: #084977; -@blue-10: #073a5f; - -@green-1: #e5f6ee; -@green-2: #cceedd; -@green-3: #99dcbb; -@green-4: #66cb98; -@green-5: #33b976; -@green-6: #00a854; -@green-7: #00994d; -@green-8: #008040; -@green-9: #006633; -@green-10: #004d26; - -@red-1: #fdeae8; -@red-2: #fad4d1; -@red-3: #f8bfba; -@red-4: #f5aaa3; -@red-5: #ee6a5d; -@red-6: #ea4335; -@red-7: #e72918; -@red-8: #b92113; -@red-9: #a21d11; -@red-10: #8a190f; - -@yellow-1: #fff8e6; -@yellow-2: #fef2cd; -@yellow-3: #fde59b; -@yellow-4: #fdde81; -@yellow-5: #fcca36; -@yellow-6: #f3b709; -@yellow-7: #c99703; -@yellow-8: #977202; -@yellow-9: #7e5f02; -@yellow-10: #644c02; - -@orange-1: #fff1e6; -@orange-2: #ffe2cc; -@orange-3: #ffd4b3; -@orange-4: #ffb780; -@orange-5: #ff8b33; -@orange-6: #f56a30; -@orange-7: #cc5800; -@orange-8: #994200; -@orange-9: #803700; -@orange-10: #662c00; - -@purple-1: #f5e9f7; -@purple-2: #ebd4ef; -@purple-3: #d7a9df; -@purple-4: #c47cd0; -@purple-5: #ad49be; -@purple-6: #9c27b0; -@purple-7: #862097; -@purple-8: #6f1c7d; -@purple-9: #60166d; -@purple-10: #51145c; - -@pink-1: #fde8ef; -@pink-2: #fad1df; -@pink-3: #f8bace; -@pink-4: #ff84af; -@pink-5: #ee5d8e; -@pink-6: #e81e63; -@pink-7: #d01654; -@pink-8: #b9134a; -@pink-9: #a21141; -@pink-10: #8a0f38; - -@cyan-1: #ebf8f9; -@cyan-2: #cfedf0; -@cyan-3: #a7dfe3; -@cyan-4: #76cdd3; -@cyan-5: #3db8c1; -@cyan-6: #00a2ae; -@cyan-7: #008997; -@cyan-8: #00707f; -@cyan-9: #005667; -@cyan-10: #003c4e; - -@lemon-1: #fffdeb; -@lemon-2: #ffface; -@lemon-3: #fff7b1; -@lemon-4: #fff59d; -@lemon-5: #fff175; -@lemon-6: #ffeb3b; -@lemon-7: #f7e225; -@lemon-8: #e8d211; -@lemon-9: #d3bf0b; -@lemon-10: #c3b003; - -@brown-1: #f5f1ef; -@brown-2: #ece3df; -@brown-3: #d9c6bf; -@brown-4: #c6aa9f; -@brown-5: #9f7160; -@brown-6: #795548; -@brown-7: #604439; -@brown-8: #503830; -@brown-9: #402d26; -@brown-10: #30221d; - -@indigo-1: #eceef8; -@indigo-2: #d9ddf2; -@indigo-3: #c6cceb; -@indigo-4: #a1aade; -@indigo-5: #6877ca; -@indigo-6: #3f51b5; -@indigo-7: #354497; -@indigo-8: #2e3b84; -@indigo-9: #212a5e; -@indigo-10: #1b224b; - -@lime-1: #f3f9ec; -@lime-2: #e6f2d9; -@lime-3: #daecc6; -@lime-4: #b5d98c; -@lime-5: #9ccc66; -@lime-6: #8bc24a; -@lime-7: #77ac39; -@lime-8: #699933; -@lime-9: #4f7326; -@lime-10: #426020; - -@bluegray-1: #f0f3f5; -@bluegray-2: #d2dbe0; -@bluegray-3: #b4c3cb; -@bluegray-4: #96abb6; -@bluegray-5: #7893a1; -@bluegray-6: #607d8b; -@bluegray-7: #546c78; -@bluegray-8: #495f69; -@bluegray-9: #34444b; -@bluegray-10: #2a363c; - -@default-white: #ffffff; -@default-black: #000000; - -@default-blue: @blue-6; -@hover-blue: @blue-7; -@active-blue: @blue-8; - -@nav-default-blue: @default-blue; -@nav-hover-blue: @hover-blue; -@nav-active-blue: @active-blue; - -@default-green: @green-6; -@hover-green: @green-7; -@active-green: @green-8; - -@default-red: @red-6; -@hover-red: @red-7; -@active-red: @red-8; - -@default-yellow: @yellow-6; -@hover-yellow: @yellow-7; -@active-yellow: @yellow-8; - -@gray-grade-1: #212121; -@gray-grade-2: #404040; -@gray-grade-3: #595959; -@gray-grade-4: #737373; -@gray-grade-5: #999999; -@gray-grade-6: #bfbfbf; -@gray-grade-7: #d9d9d9; -@gray-grade-8: #e9e9e9; -@gray-grade-9: #f5f5f5; - -//font -@font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - -@font-size-normal: 14px; -@font-size-xl: 24px; -@font-size-lg: 20px; -@font-size-sm: 12px; - -@font-gray-normal: @gray-grade-3; -@font-gray-light: @gray-grade-5; -@font-gray-lightest: @gray-grade-6; -@font-gray-dark: @gray-grade-2; - -@font-weight-normal: 400; -@font-weight-bold: 500; -@title-font-weight: 500; - -.font(@font-size: @font-size-normal, @color:@font-gray-normal, @font-weight: @font-weight-normal) { - font-family: @font-family; - font-weight: @font-weight; - font-size: @font-size; - line-height: @font-size; - color: @color; -} - -.input-font(@font-size: @font-size-normal, @color:@font-gray-normal) { - .font(@font-size, @color, @font-weight-bold); -} - -//disabled -@disabled-font: @font-gray-lightest; -@disabled-background: @gray-grade-9; -@disabled-border-color: rgba(191, 191, 191, 0.5); - -//hover -@hover-background: @blue-1; -@hover-border-color: @default-blue; - -//active -@active-background: @gray-grade-9; - -//highlight -@highlight-background: @gray-grade-6; - -//border -@border-color: @gray-grade-7; -@border-base: 1px solid @border-color; -@border-radius-base: 3px; -@box-shadow-base: 0 2px 4px 0 rgba(0, 0, 0, 0.2); - -//height -@component-height-lg: 32px; -@component-height-md: 28px; -@component-height-sm: 24px; -@line-height-base: 1.5; - -//spacing -@spacing-within-item: 10px; -@spacing-between-item: 20px; - -//z-index -@z-index-affix : 10; -@z-index-back-top : 10; -@z-index-modal-mask : 1000; -@z-index-modal : 1000; -@z-index-notification : 1010; -@z-index-message : 1010; -@z-index-popover : 1030; -@z-index-picker : 1050; -@z-index-dropdown : 1050; -@z-index-tooltip : 1060; - -//input -@input-padding-both-side: 10px; -@input-width: 400px; - -//overlay -@overlay-margin-top: 5px; -@overlay-item-padding-left: 10px; - -//clear icon -@hover-clear-icon-bg: @gray-grade-9; -@clear-icon-color: @gray-grade-5; - -//button -@button-width: 88px; -@button-border: 0; -@button-border-color: @border-base; - -//tab -@tab-height: 36px; -@tab-active-line-height: 2px; -@tab-line-height: @tab-height - @tab-active-line-height; -@icon-menu-active-bg: @blue-2; diff --git a/sdc-workflow-designer-ui/src/app/assets/components/themes/NIV/theme.css b/sdc-workflow-designer-ui/src/app/assets/components/themes/NIV/theme.css deleted file mode 100644 index 134187dd..00000000 --- a/sdc-workflow-designer-ui/src/app/assets/components/themes/NIV/theme.css +++ /dev/null @@ -1,5549 +0,0 @@ -.plx-breadcrumb { - margin: 0; - padding: 5px 10px; - font-size: 12px; -} -.plx-breadcrumb li { - display: inline-block; -} -.plx-breadcrumb a { - color: #737373; - text-decoration: none; -} -.plx-breadcrumb a:hover { - color: #108EE9; -} -.plx-breadcrumb .plx-breadcrumb-separator { - color: #999; - padding: 0 5px; - vertical-align: 1px; -} -.plx-breadcrumb .plx-breadcrumb-collapse { - padding-left: 6px; - padding-right: 6px; - cursor: pointer; -} -.plx-breadcrumb .plx-breadcrumb-collapse circle { - fill: #8e8e8e; -} -.plx-breadcrumb .plx-breadcrumb-collapse:hover circle { - fill: #108EE9; -} -.plx-breadcrumb .plx-breadcrumb-active { - vertical-align: 1px; -} -.plx-breadcrumb .plx-breadcrumb-active a { - font-size: 20px; - color: #404040; - cursor: text; -} -.owl-dateTime { - display: inline-block; - position: relative; - width: 100%; - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - font-size: 14px; - background: #fff; - color: #595959; -} -.owl-dateTime input { - font-size: 14px; - height: 32px; - padding-left: 10px; - padding-right: 10px; - outline: 0; - border: 1px solid #d9d9d9; - border-radius: 3px; - vertical-align: middle; -} -.short-text-input .owl-dateTime input { - width: 120px; -} -.text-input-with-unit .owl-dateTime input { - width: 355px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-unitOption .owl-dateTime input { - width: 316px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-prefix .owl-dateTime input { - width: 330px; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.text-input-with-prefixOption .owl-dateTime input { - width: 316px; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.text-input-with-passwordSwith .owl-dateTime input { - width: 360px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-prefix.text-input-with-unit .owl-dateTime input { - width: 285px; -} -.text-input-with-prefix.text-input-with-unitOption .owl-dateTime input { - width: 246px; -} -.short-text-input.text-input-with-prefix .owl-dateTime input { - width: 80px; -} -.short-text-input.text-input-with-unit .owl-dateTime input { - width: 80px; -} -.short-text-input.text-input-with-prefix.text-input-with-unit .owl-dateTime input { - width: 40px; -} -.owl-dateTime input:focus { - border: 1px solid #108EE9; -} -.owl-dateTime input:disabled, -.owl-dateTime input[disabled] { - cursor: not-allowed; - background-color: #f5f5f5; -} -.owl-dateTime input:-ms-input-placeholder { - color: #999 !important; -} -.owl-dateTime input::-webkit-input-placeholder { - color: #999 !important; -} -.owl-dateTime-input { - width: 100%; - padding-right: 1.5em; -} -.owl-dateTime-cancel { - position: absolute; - top: 50%; - right: .1em; - border-radius: 50%; - transform: translateY(-50%); - cursor: pointer; - color: inherit; -} -.owl-dateTime-inputWrapper { - position: relative; -} -.owl-dateTime-customTemp { - display: inline-block; - position: relative; -} -.owl-dateTime-dialog { - padding: 0px; - position: absolute; -} -.owl-dateTime-dialogHeader { - display: flex; - justify-content: center; - align-items: center; - width: 100%; -} -.owl-calendar-wrapper, -.owl-timer-wrapper { - position: relative; - width: 100%; - padding: .2em .5em; -} -.owl-calendar-control { - display: flex; - justify-content: space-around; - width: 100%; - height: 2em; -} -.owl-calendar-control .owl-calendar-controlNav { - position: relative; - cursor: pointer; - width: 12.5%; -} -.owl-calendar-control .owl-calendar-controlContent { - display: flex; - justify-content: center; - align-items: center; - width: 75%; - height: 100%; -} -.owl-calendar { - position: relative; - min-height: 13.7em; -} -.owl-calendar table { - width: 100%; - border-collapse: collapse; -} -.owl-calendar tbody td { - position: relative; - text-align: center; -} -.owl-calendar tbody td a { - display: block; - width: 100%; - height: 100%; - text-decoration: none; - color: inherit; - font-size: 12px; -} -.owl-calendar .owl-calendar-yearArrow { - position: absolute; - top: 50%; - width: 1.5em; - height: 1.5em; - transform: translateY(-50%); - cursor: pointer; -} -.owl-calendar .owl-calendar-yearArrow.left { - left: -0.5em; -} -.owl-calendar .owl-calendar-yearArrow.right { - right: -0.5em; -} -.owl-timer-wrapper { - position: relative; - display: flex; - justify-content: center; -} -.owl-timer-wrapper .owl-timer { - position: relative; - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - width: 25%; - height: 100%; -} -.owl-timer-wrapper .owl-timer-control { - display: flex; - justify-content: center; - align-items: center; - height: 30%; - width: 100%; - cursor: pointer; -} -.owl-timer-wrapper .owl-timer-control .icon:before { - margin: 0; -} -.owl-timer-wrapper .owl-timer-input { - width: 60%; - height: 100%; -} -/*# sourceMappingURL=picker.component.css.map */ -.font-face { - font-weight: normal; - font-style: normal; -} -[class^="paletx-datepicker-icon-"]:before, -[class*="paletx-datepicker-icon-"]:before { - font-family: "fontello"; - font-style: normal; - font-weight: normal; - speak: none; - display: inline-block; - text-decoration: inherit; - width: 1em; - margin-right: .2em; - text-align: center; - /* opacity: .8; */ - /* For safety - reset parent styles, that can break glyph codes*/ - font-variant: normal; - text-transform: none; - /* fix buttons height, for twitter bootstrap */ - line-height: 1em; - /* Animation center compensation - margins should be symmetric */ - /* remove if not needed */ - margin-left: .2em; - /* you can be more comfortable with increased icons size */ - /* font-size: 120%; */ - /* Font smoothing. That was taken from TWBS */ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - /* Uncomment for 3D effect */ - /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ -} -.paletx-datepicker-icon-cancel:before { - content: '\e802'; -} -/* '' */ -.paletx-datepicker-icon-up-open:before { - content: '\e805'; -} -/* '' */ -.paletx-datepicker-icon-down-open:before { - content: '\e80b'; -} -/* '' */ -.paletx-datepicker-icon-left-open:before { - content: '\e817'; -} -/* '' */ -.paletx-datepicker-icon-right-open:before { - content: '\e818'; -} -/* '' */ -.owl-widget, -.owl-widget * { - box-sizing: border-box; -} -.owl-widget { - font-size: 1em; -} -.owl-padding { - padding: 0px; -} -.owl-corner-all { - border-radius: 3px; -} -.owl-corner-top { - border-top-left-radius: 3px; - border-top-right-radius: 3px; -} -.owl-state-default { - border: 1px solid #d9d9d9; - background: #fff; - color: #595959; -} -.owl-inputtext { - margin: 0; - outline: medium none; - transition: .2s; -} -.owl-dateTime.owl-dateTime-inline { - width: auto; -} -.owl-dateTime.owl-dateTime-inline .owl-dateTime-dialog { - position: relative; - z-index: auto; -} -.owl-dateTime-dialog { - width: 300px; - user-select: none; - z-index: 99999; -} -.owl-dateTime-dialogHeader { - height: 2.5em; - padding: .25em; - background-color: #fff; - overflow-y: auto; -} -.owl-calendar-control .owl-calendar-controlNav .nav-prev, -.owl-calendar-control .owl-calendar-controlNav .nav-next { - position: absolute; - top: 50%; - right: auto; - bottom: auto; - left: 50%; - transform: translate(-50%, -50%); -} -.owl-cal-header { - background: #f5f5f5; - height: 35px; -} -.owl-calendar-control .owl-calendar-controlNav .nav-prev:before, -.owl-calendar-control .owl-calendar-controlNav .nav-next:before { - border-top: .5em solid transparent; - border-bottom: .5em solid transparent; - border-right: 0.75em solid #000000; - width: 0; - height: 0; - display: block; - margin: 0 auto; -} -.owl-calendar-control .owl-calendar-controlNav .nav-next:before { - border-right: 0; - border-left: 0.75em solid #000000; -} -.owl-calendar-control .owl-calendar-controlContent .month-control, -.owl-calendar-control .owl-calendar-controlContent .year-control { - color: #999; - display: inline-block; - cursor: pointer; - transition: transform 200ms ease; -} -.owl-calendar-control .owl-calendar-controlContent .month-control:hover, -.owl-calendar-control .owl-calendar-controlContent .year-control:hover { - color: #5cb85c; -} -.owl-calendar-control .owl-calendar-controlContent .month-control { - font-size: 16px; - margin-right: .8rem; -} -.owl-calendar-control .owl-calendar-controlContent .year-control { - font-size: 16px; -} -.owl-calendar tbody td.owl-calendar-selected { - background-color: #5cb85c; - color: #fff; -} -.owl-calendar tbody td.owl-calendar-invalid { - color: #bfbfbf; -} -.owl-calendar tbody td.owl-calendar-outFocus { - color: #999; -} -.owl-calendar tbody td.owl-calendar-hidden { - visibility: hidden; -} -/** -.owl-calendar tbody td:not(.owl-calendar-selected):not(.owl-calendar-invalid):hover { - background-color: @hover-bg-color; - color: @shadow-color } -**/ -.owl-years td.owl-year, -.owl-years td.owl-month, -.owl-months td.owl-year, -.owl-months td.owl-month { - font-size: 1.2em; - height: 2.5em; - width: 33.33%; - line-height: 2.5em; - border-radius: 60px; -} -.owl-weekdays th.owl-weekday { - height: 1em; - line-height: 2em; - text-align: center; - font-weight: normal; - font-size: 14px; - /**color: @unselected-text-color; **/ -} -.owl-days td.owl-day { - border-radius: 30px; - height: 2em; - width: calc(14.28571429%); - line-height: 2em; -} -.owl-days td.owl-day.owl-day-today:before { - content: ''; - display: block; - position: absolute; - right: 2px; - top: 2px; - color: #108EE9; - border-top: 0.5em solid #0D75BF; - border-left: .5em solid transparent; -} -.owl-timer-wrapper { - height: 5.4em; - background-color: rgba(0, 0, 0, 0.2); -} -.owl-timer-wrapper .owl-timer-text { - display: flex; - justify-content: center; - align-items: center; - width: 100%; - height: 40%; - font-size: 1.5em; -} -.owl-timer-wrapper .owl-meridian-btn { - font-size: .8em; - color: #5cb85c; - background-image: none; - background-color: transparent; - border-color: #5cb85c; -} -.owl-timer-wrapper .owl-meridian-btn:hover { - color: #fff; - background-color: #5cb85c; - border-color: #5cb85c; -} -.owl-timer-divider { - display: inline-block; - align-self: flex-end; - position: absolute; - width: .6em; - height: 100%; - left: -0.3em; -} -.owl-timer-divider .owl-timer-dot { - display: block; - width: .3em; - height: .3em; - position: absolute; - left: 50%; - border-radius: 50%; - transform: translateX(-50%); -} -.owl-timer-divider .owl-timer-dot.dot-top { - top: 38%; -} -.owl-timer-divider .owl-timer-dot.dot-bottom { - bottom: 38%; -} -.owl-icon { - position: absolute; - top: 50%; - right: .1em; - border-radius: 50%; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); - cursor: pointer; - color: #8e8e8e; -} -.oes-time-control { - color: #595959 !important; -} -.owl-calendar-selected { - background-color: #5cb85c; - color: #fff; - border-radius: 50%; -} -.owl-calendar tbody td div.day:not(.owl-calendar-selected):not(.owl-calendar-invalid):hover { - background-color: #E7F4FD; - color: #000; - border-radius: 50%; -} -.oes-time-control { - font-size: 14px; -} -.owl-calendar-year-part { - width: 42px; - margin-left: 30px; - text-align: center; -} -.owl-calendar-year-part:hover { - background-color: #E7F4FD; - color: #000; - border-radius: 50%; -} -.owl-calendar-year-selected { - background-color: #5cb85c; - color: #fff; - border-radius: 50%; -} -.owl-calendar-year-selected:hover { - background-color: #5cb85c; - color: #fff; - border-radius: 50%; -} -.owl-calendar-month-part { - width: 42px; - margin-left: 30px; - text-align: center; -} -.owl-calendar-month-part:hover { - background-color: #E7F4FD; - color: #000; - border-radius: 50%; -} -.owl-calendar-month-selected { - background-color: #5cb85c; - color: #fff; - border-radius: 50%; -} -.owl-calendar-month-selected:hover { - background-color: #5cb85c; - color: #fff; - border-radius: 50%; -} -/*# sourceMappingURL=picker.css.map */ -.oes-time-table .chevron::before { - border-style: solid; - border-width: 0.29em 0.29em 0 0; - content: ''; - display: inline-block; - height: 0.69em; - left: 0.05em; - position: relative; - top: 0.15em; - transform: rotate(-45deg); - -webkit-transform: rotate(-45deg); - -ms-transform: rotate(-45deg); - vertical-align: middle; - width: 0.71em; -} -.oes-time-table .chevron.bottom:before { - top: -0.3em; - -webkit-transform: rotate(135deg); - -ms-transform: rotate(135deg); - transform: rotate(135deg); -} -.oes-time-table .btn-link { - border: none!important; - cursor: pointer; - outline: 0; - display: block; -} -.oes-time-table .btn-link.disabled { - cursor: not-allowed; - opacity: .65; -} -.oes-time-control { - text-align: center; -} -.datapicker-form-control { - width: auto !important; - display: inline-block; -} -.oes-time-table .ict-stretch { - font-size: 8px; -} -.oes-time-table .ict-shrink { - font-size: 8px; -} -.time-pick-bk { - background-color: #fff; -} -.btn-link:focus, -.btn-link:hover { - text-decoration: none; -} -.oes-time-control { - border: 0; - width: 30px !important; - padding: 3px 0; - margin: 0; - font-size: 14px; -} -.oes-time-control:hover { - background-color: #e6e6e6; - color: #000; - cursor: pointer; -} -.oes-time-control-foucs-bk { - background-color: #00abff !important; - color: #fff!important; -} -.oes-time-separator { - margin: 0 -5px; -} -.oes-time-group, -.oes-time-group:hover { - border-bottom: 1px solid #ccc; - border-left: 1px solid #ccc; - border-top: 1px solid #ccc; - border-radius: 0.2em; -} -.oes-time-btns, -.oes-time-btns:hover { - border-bottom: 1px solid #ccc; - border-right: 1px solid #ccc; - border-top: 1px solid #ccc; - border-radius: 0.2em; - padding: 0 0 7px 0 !important; -} -.oes-time-btns-wrapper { - margin-top: -3px; - transform: scale(0.6, 0.6); -} -.i18nTimeDes, -.i18nTimeDes:hover { - padding: 0 5px 0px 0; -} -.oes-time-btn { - height: 5px; -} -.oes-time-table { - margin-bottom: 10px; -} -.hour-table { - font-size: 12px; -} -.hour-table td { - padding: 5px; - padding-top: 3px; - padding-bottom: 3px; - cursor: pointer; -} -.oes-time-btn-shrink { - position: relative; - top: -5px; - left: 0px; - color: #CCC; -} -.oes-time-btn-stretch { - position: relative; - left: 0px; - color: #CCC; -} -.owl-calendar-timer-invalid { - color: #acacac; -} -.owl-calendar-timer-selected { - background-color: #00abff; - color: #FFFFFF; - border-radius: 1.2em; -} -.hour-table td:not(.owl-calendar-timer-selected):not(.owl-calendar-timer-invalid):hover { - background-color: #ebf6fd; - color: #000000; - border-radius: 1.2em; -} -.icon { - color: #8e8e8e; - vertical-align: text-bottom; - margin-left: 5px; - font-size: 20px; -} -.plx-input-password { - display: inline-block; - line-height: 30px; - width: 40px; - text-align: center; - vertical-align: middle; - margin-top: -2px; - background-color: #fff; - border-top: 1px solid #d9d9d9; - border-right: 1px solid #d9d9d9; - border-bottom: 1px solid #d9d9d9; - border-bottom-right-radius: 3px; - border-top-right-radius: 3px; - cursor: pointer; -} -.plx-input-password:focus, -.plx-input-password:hover { - background-color: #fff; -} -.plx-input-password:active { - background-color: #108ee9; -} -.plx-input-password.ict-eye-closed, -.plx-input-password.ict-eye { - color: #8e8e8e; -} -.plx-input-password-disabled { - cursor: not-allowed; -} -.plx-input-password-disabled:focus, -.plx-input-password-disabled:hover, -.plx-input-password-disabled:active { - background-color: #fff; -} -.plx-input-password-sm { - line-height: 26px; -} -@-moz-keyframes three-quarters-loader { - 0% { - -moz-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -moz-transform: rotate(360deg); - transform: rotate(360deg); - } -} -@-webkit-keyframes three-quarters-loader { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -@keyframes three-quarters-loader { - 0% { - -moz-transform: rotate(0deg); - -ms-transform: rotate(0deg); - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -moz-transform: rotate(360deg); - -ms-transform: rotate(360deg); - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -.plx-loading-max:not(:required) { - -moz-animation: three-quarters-loader 1500ms infinite linear; - -webkit-animation: three-quarters-loader 1500ms infinite linear; - animation: three-quarters-loader 1500ms infinite linear; - box-sizing: border-box; - display: inline-block; - position: relative; - overflow: hidden; - text-indent: -9999px; - width: 72px; - height: 72px; - border: 5px solid #108EE9; - border-right-color: #fff; - border-radius: 36px; -} -.plx-loading-medium:not(:required) { - -moz-animation: three-quarters-loader 1500ms infinite linear; - -webkit-animation: three-quarters-loader 1500ms infinite linear; - animation: three-quarters-loader 1500ms infinite linear; - box-sizing: border-box; - display: inline-block; - position: relative; - overflow: hidden; - text-indent: -9999px; - width: 36px; - height: 36px; - border: 4px solid #108EE9; - border-right-color: #fff; - border-radius: 18px; -} -.plx-loading-min:not(:required) { - -moz-animation: three-quarters-loader 1500ms infinite linear; - -webkit-animation: three-quarters-loader 1500ms infinite linear; - animation: three-quarters-loader 1500ms infinite linear; - box-sizing: border-box; - display: inline-block; - position: relative; - overflow: hidden; - text-indent: -9999px; - width: 18px; - height: 18px; - border: 2px solid #108EE9; - border-right-color: #fff; - border-radius: 9px; -} -.plx-loading-default:not(:required) { - margin-left: 100px; - margin-top: 100px; - box-sizing: border-box; - display: inline-block; - position: relative; - overflow: hidden; - text-indent: -9999px; - width: 36px; - height: 36px; - border: 4px solid #108EE9; - border-right-color: #fff; - border-radius: 18px; -} -.plx-loading-xs:not(:required) { - -moz-animation: three-quarters-loader 1500ms infinite linear; - -webkit-animation: three-quarters-loader 1500ms infinite linear; - animation: three-quarters-loader 1500ms infinite linear; - box-sizing: border-box; - display: inline-block; - position: relative; - overflow: hidden; - text-indent: -9999px; - width: 12px; - height: 12px; - border: 2px solid #108EE9; - border-right-color: #fff; - border-radius: 6px; -} -.plx-loading { - -moz-animation: three-quarters-loader 1500ms infinite linear; - -webkit-animation: three-quarters-loader 1500ms infinite linear; - animation: three-quarters-loader 1500ms infinite linear; - box-sizing: border-box; - display: inline-block; - position: relative; - overflow: hidden; - text-indent: -9999px; -} -.plx-loading-white:not(:required) { - -moz-animation: three-quarters-loader 1500ms infinite linear; - -webkit-animation: three-quarters-loader 1500ms infinite linear; - animation: three-quarters-loader 1500ms infinite linear; - box-sizing: border-box; - display: inline-block; - position: relative; - overflow: hidden; - text-indent: -9999px; - width: 12px; - height: 12px; - border: 2px solid #fff; - border-right-color: #108EE9; - border-radius: 6px; -} -.plx-loading-gray:not(:required) { - -moz-animation: three-quarters-loader 1500ms infinite linear; - -webkit-animation: three-quarters-loader 1500ms infinite linear; - animation: three-quarters-loader 1500ms infinite linear; - box-sizing: border-box; - display: inline-block; - position: relative; - overflow: hidden; - text-indent: -9999px; - width: 12px; - height: 12px; - border: 2px solid #bfbfbf; - border-right-color: #fff; - border-radius: 6px; -} -.message { - width: 400px; - right: 10px; - top: 0; - position: fixed; - z-index: 99999; - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - font-weight: 400; - font-style: normal; - font-size: 14px; - color: #404040; -} -.message > p { - width: 100%; - margin: 10px 0 16px; - padding: 0 25px ; - border: 1px solid #e9e9e9; - box-shadow: 1px 3px 9px rgba(0, 0, 0, 0.2); - line-height: 36px; - background: #fff; - font-size: 14px !important; - color: #595959; -} -.message > p > span { - float: right; - cursor: pointer; - font-weight: 400; - font-style: normal; - color: #108EE9; - text-align: center; -} -.message > p > span:hover { - text-decoration: underline; -} -.message > div { - width: 100%; - margin-bottom: 16px; - border: 1px solid ; - line-height: 62px; - border: 1px solid #e9e9e9; - box-shadow: 1px 4px 9px rgba(0, 0, 0, 0.2); - border-radius: 5px; - background: #fff; - position: relative; -} -.message > div > span { - display: inline-block; - font-size: 24px !important; - margin-left: 12px; - margin-right: 3px; - vertical-align: middle; -} -.message > div.success { - border-left: 4px solid #00A854; -} -.message > div.success > span { - color: #00A854; -} -.message > div.error { - border-left: 4px solid #EA4335; -} -.message > div.error > span { - color: #EA4335; -} -.message > div.warning { - border-left: 4px solid #F3B709; -} -.message > div.warning > span { - color: #F3B709; -} -.message > div.info { - border-left: 4px solid #108EE9; -} -.message > div.info > span { - color: #108EE9; -} -.message > div > i { - float: right; - width: 20px; - height: 20px; - margin-top: 21px; - line-height: 20px; - border-radius: 50%; - margin-right: 20px; - cursor: pointer; - text-align: center; - font-size: 16px; -} -.message > div > i:hover { - background: #E7F4FD; -} -.message > div > p { - top: -3px; - margin: 0; - padding: 0 20px 16px 43px; - font-size: 14px !important; - color: #595959; - line-height: 18px; - position: relative; -} -.message > div > p > span { - color: #108EE9; - cursor: pointer; -} -.message > div > p > span:hover { - text-decoration: underline; -} -.message > div > div { - padding-left: 45px ; - padding-bottom: 19px; - font-size: 14px; - color: #108EE9; - line-height: 18px; - cursor: pointer; -} -.message > div > div:hover { - text-decoration: underline; -} -#plxMessageMeasure { - position: fixed; - top: -12px; - opacity: 0; - white-space: nowrap; - margin: 0; - padding: 0; - font-size: 14px !important; - line-height: 14px; - z-index: -9999; -} -.stack > span { - display: inline-block; - position: absolute; - bottom: 16px; - right: 25px; -} -plx-modal-window .modal { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - display: none; - outline: 0; - z-index: 10000; -} -plx-modal-window .modal-dialog { - position: relative; - max-width: 600px; - margin: 30px auto; -} -plx-modal-window .modal-dialog.modal-sm { - max-width: 600px; -} -plx-modal-window .modal-dialog.modal-lg { - max-width: 1000px; -} -plx-modal-window .modal-content { - position: relative; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - background-color: #fff; - background-clip: padding-box; - border-radius: 3px; - box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2); - outline: 0; -} -plx-modal-window .modal-content .modal-header { - border-bottom: 0; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - padding: 15px; -} -plx-modal-window .modal-content .modal-body .form-group:last-child, -plx-modal-window .modal-content .modal-body form:last-child { - margin-bottom: 0; -} -plx-modal-window .modal-content .modal-footer { - display: block; - border-top: 0; - margin-top: 0; - padding: 0 15px 15px 15px; -} -plx-modal-window .modal-content .modal-title { - font-size: 20px; - margin-bottom: 0; - line-height: 1.5; -} -plx-modal-window .modal-content .modal-btn { - text-align: center; - font-size: 0; -} -plx-modal-window .close { - color: #8e8e8e; - font-size: 16px; - text-shadow: none; - width: 24px; - height: 24px; - background: #fff; - border-radius: 20px; - padding-bottom: 2px; - outline: none; -} -plx-modal-window .close:hover { - color: #8e8e8e; - background: #E7F4FD; -} -plx-modal-window .alert-modal.row { - margin-left: 100px; - margin-bottom: 30px; - text-align: left; -} -plx-modal-window .alert-modal.row .tip-img { - display: inline-block; - width: 52px; - height: 52px; - border-radius: 50px; - font-size: 45px; - text-align: center; - line-height: 1; - margin-top: -5px; - margin-right: 15px; -} -plx-modal-window .alert-modal.row .tip-img::before { - content: "!"; -} -plx-modal-window .alert-modal.row .tip-info { - width: 300px; -} -plx-modal-window .alert-modal.row .tip-info .alert-title { - font-size: 16px; - color: #404040; -} -plx-modal-window .alert-modal.row .tip-info .alert-result { - margin-top: 5px; - font-size: 14px; - color: #999; -} -plx-modal-window .alert-modal.row .warning { - border: 3px solid #F3B709; - color: #F3B709; -} -plx-modal-window .alert-modal.row .error { - border: 3px solid #EA4335; - color: #EA4335; -} -ngb-popover-window.plx-popover.show { - color: #333; - border: 1px solid #d9d9d9; -} -.plx-popover { - position: absolute; - top: 0; - left: 0; - z-index: 10001; - display: block; - padding: 1px; - font-style: normal; - font-weight: normal; - letter-spacing: normal; - line-break: auto; - line-height: 1.5; - text-align: left; - text-decoration: none; - text-shadow: none; - text-transform: none; - white-space: normal; - word-break: normal; - word-spacing: normal; - word-wrap: break-word; - -webkit-background-clip: padding-box; - background-clip: padding-box; - max-width: 400px; - min-width: 200px; - background-color: #fff; - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - font-size: 14px; - border: 1px solid #d9d9d9; - border-radius: 3px; - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); -} -.plx-popover::before, -.plx-popover::after { - content: ""; - position: absolute; - display: block; - width: 0; - height: 0; - border: solid transparent; -} -.plx-popover::before { - border-width: 7px; -} -.plx-popover::after { - border-width: 6px; -} -.plx-popover-top-common { - margin-top: -9px; -} -.plx-popover-top-common::before { - border-top-color: #ccc; - border-bottom-width: 0; - bottom: -7px; -} -.plx-popover-top-common::after { - border-top-color: #fff; - border-bottom-width: 0; - bottom: -6px; -} -.plx-popover-top { - margin-top: -9px; -} -.plx-popover-top::before { - border-top-color: #ccc; - border-bottom-width: 0; - bottom: -7px; -} -.plx-popover-top::after { - border-top-color: #fff; - border-bottom-width: 0; - bottom: -6px; -} -.plx-popover-top::before { - left: 50%; - margin-left: -7px; -} -.plx-popover-top::after { - left: 50%; - margin-left: -6px; -} -.plx-popover.plx-popover-top-left { - margin-top: -9px; -} -.plx-popover.plx-popover-top-left::before { - border-top-color: #ccc; - border-bottom-width: 0; - bottom: -7px; -} -.plx-popover.plx-popover-top-left::after { - border-top-color: #fff; - border-bottom-width: 0; - bottom: -6px; -} -.plx-popover.plx-popover-top-left::before { - left: 10px; -} -.plx-popover.plx-popover-top-left::after { - left: 11px; -} -.plx-popover.plx-popover-top-right { - margin-top: -9px; -} -.plx-popover.plx-popover-top-right::before { - border-top-color: #ccc; - border-bottom-width: 0; - bottom: -7px; -} -.plx-popover.plx-popover-top-right::after { - border-top-color: #fff; - border-bottom-width: 0; - bottom: -6px; -} -.plx-popover.plx-popover-top-right::before { - right: 10px; -} -.plx-popover.plx-popover-top-right::after { - right: 11px; -} -.plx-popover-right-common { - margin-left: 9px; -} -.plx-popover-right-common::before { - border-right-color: #ccc; - border-left-width: 0; - left: -7px; -} -.plx-popover-right-common::after { - border-right-color: #fff; - border-left-width: 0; - left: -6px; -} -.plx-popover.plx-popover-right { - margin-left: 9px; -} -.plx-popover.plx-popover-right::before { - border-right-color: #ccc; - border-left-width: 0; - left: -7px; -} -.plx-popover.plx-popover-right::after { - border-right-color: #fff; - border-left-width: 0; - left: -6px; -} -.plx-popover.plx-popover-right::before { - top: 50%; - margin-top: -7px; -} -.plx-popover.plx-popover-right::after { - top: 50%; - margin-top: -6px; -} -.plx-popover.plx-popover-right-top { - margin-left: 9px; -} -.plx-popover.plx-popover-right-top::before { - border-right-color: #ccc; - border-left-width: 0; - left: -7px; -} -.plx-popover.plx-popover-right-top::after { - border-right-color: #fff; - border-left-width: 0; - left: -6px; -} -.plx-popover.plx-popover-right-top::before { - top: 10px; -} -.plx-popover.plx-popover-right-top::after { - top: 11px; -} -.plx-popover.plx-popover-right-bottom { - margin-left: 9px; -} -.plx-popover.plx-popover-right-bottom::before { - border-right-color: #ccc; - border-left-width: 0; - left: -7px; -} -.plx-popover.plx-popover-right-bottom::after { - border-right-color: #fff; - border-left-width: 0; - left: -6px; -} -.plx-popover.plx-popover-right-bottom::before { - bottom: 10px; -} -.plx-popover.plx-popover-right-bottom::after { - bottom: 11px; -} -.plx-popover-bottom-common { - margin-top: 9px; -} -.plx-popover-bottom-common::before { - border-bottom-color: #ccc; - border-top-width: 0; - top: -7px; -} -.plx-popover-bottom-common::after { - border-bottom-color: #fff; - border-top-width: 0; - top: -6px; -} -.plx-popover.plx-popover-bottom { - margin-top: 9px; -} -.plx-popover.plx-popover-bottom::before { - border-bottom-color: #ccc; - border-top-width: 0; - top: -7px; -} -.plx-popover.plx-popover-bottom::after { - border-bottom-color: #fff; - border-top-width: 0; - top: -6px; -} -.plx-popover.plx-popover-bottom::before { - left: 50%; - margin-left: -7px; -} -.plx-popover.plx-popover-bottom::after { - left: 50%; - margin-left: -6px; -} -.plx-popover.plx-popover-bottom-left { - margin-top: 9px; -} -.plx-popover.plx-popover-bottom-left::before { - border-bottom-color: #ccc; - border-top-width: 0; - top: -7px; -} -.plx-popover.plx-popover-bottom-left::after { - border-bottom-color: #fff; - border-top-width: 0; - top: -6px; -} -.plx-popover.plx-popover-bottom-left::before { - left: 10px; -} -.plx-popover.plx-popover-bottom-left::after { - left: 11px; -} -.plx-popover.plx-popover-bottom-right { - margin-top: 9px; -} -.plx-popover.plx-popover-bottom-right::before { - border-bottom-color: #ccc; - border-top-width: 0; - top: -7px; -} -.plx-popover.plx-popover-bottom-right::after { - border-bottom-color: #fff; - border-top-width: 0; - top: -6px; -} -.plx-popover.plx-popover-bottom-right::before { - right: 10px; -} -.plx-popover.plx-popover-bottom-right::after { - right: 11px; -} -.plx-popover-left-common { - margin-left: -9px; -} -.plx-popover-left-common::before { - border-left-color: #ccc; - border-right-width: 0; - right: -7px; -} -.plx-popover-left-common::after { - border-left-color: #fff; - border-right-width: 0; - right: -6px; -} -.plx-popover.plx-popover-left { - margin-left: -9px; -} -.plx-popover.plx-popover-left::before { - border-left-color: #ccc; - border-right-width: 0; - right: -7px; -} -.plx-popover.plx-popover-left::after { - border-left-color: #fff; - border-right-width: 0; - right: -6px; -} -.plx-popover.plx-popover-left::before { - top: 50%; - margin-top: -7px; -} -.plx-popover.plx-popover-left::after { - top: 50%; - margin-top: -6px; -} -.plx-popover.plx-popover-left-top { - margin-left: -9px; -} -.plx-popover.plx-popover-left-top::before { - border-left-color: #ccc; - border-right-width: 0; - right: -7px; -} -.plx-popover.plx-popover-left-top::after { - border-left-color: #fff; - border-right-width: 0; - right: -6px; -} -.plx-popover.plx-popover-left-top::before { - top: 10px; -} -.plx-popover.plx-popover-left-top::after { - top: 11px; -} -.plx-popover.plx-popover-left-bottom { - margin-left: -9px; -} -.plx-popover.plx-popover-left-bottom::before { - border-left-color: #ccc; - border-right-width: 0; - right: -7px; -} -.plx-popover.plx-popover-left-bottom::after { - border-left-color: #fff; - border-right-width: 0; - right: -6px; -} -.plx-popover.plx-popover-left-bottom::before { - bottom: 10px; -} -.plx-popover.plx-popover-left-bottom::after { - bottom: 11px; -} -.plx-popover .plx-popover-title { - padding: 8px 14px; - margin-bottom: 0; - font-size: 16px; - background-color: #fff; - border-bottom: 1px solid #d9d9d9; -} -.plx-popover .plx-popover-title:empty { - display: none; -} -.plx-popover .plx-popover-content { - padding: 9px 14px; - background-color: #fff; -} -.plx-popover .ict-warning { - color: #EA4335; - font-size: 24px; - margin-right: 5px; -} -.popover-template { - padding: 10px 0px; - min-width: 220px; -} -.popover-template .popover-template-content { - padding: 10px 10px; -} -.popover-template .popover-template-footer { - padding: 10px 10px 5px 10px; - text-align: center; -} -.popover-template .popover-template-icon { - display: inline-block; - max-width: 30px; - float: left; -} -.popover-template .popover-template-icon-area { - display: inline-block; - height: 100%; - vertical-align: middle; -} -.popover-template .popover-template-msg { - display: inline-block; - max-width: 300px; - margin-left: 10px; - margin-top: 1px; -} -.plx-progress { - display: inline-block; - margin: 0 10px 1px 0; - border-radius: 20px; - overflow: hidden; - background-color: #eee; -} -.plx-progress .plx-progress-bar { - width: 0; - height: 8px; - transition: width 0.8s ease-in-out; - opacity: 1; -} -.plx-progress .plx-progress-bar-info { - position: relative; - background-color: #3aa5f2; -} -.plx-progress .plx-progress-bar-info::before { - background-color: #108EE9; - content: ''; - position: absolute; - top: 0; - left: 0; - width: 0; - height: 8px; - animation: plx-progress-bar-stripes 0.5s cubic-bezier(0.23, 1, 0.32, 1) infinite; -} -.plx-progress .plx-progress-bar-info.plx-progress-bar-reset { - transition: none; -} -.plx-progress .plx-progress-bar-warning { - background-color: #EA4335; -} -.plx-progress .plx-progress-bar-success, -.plx-progress .plx-progress-bar-info.plx-progress-bar-success { - background-color: #108EE9; -} -.plx-progress-info { - display: inline-block; -} -.plx-progress-info .fp-exclamation-circle { - color: #EA4335; -} -@keyframes plx-progress-bar-stripes { - from { - width: 0; - } - to { - width: 100%; - } -} -:host(.plx-progressbar-sm) { - font-size: 12px; -} -:host(.plx-progressbar-sm) .plx-progress-bar { - height: 2px; -} -:host(.plx-progressbar-sm) .fp-exclamation-circle { - vertical-align: middle; - font-size: 12px; -} -:host(.plx-progressbar-sm) .plx-progress-info span { - vertical-align: middle; -} -.plx-progressbar-sm { - font-size: 12px; -} -.plx-progressbar-sm .plx-progress-bar { - height: 2px; -} -.plx-progressbar-sm .fp-exclamation-circle { - vertical-align: middle; - font-size: 12px; -} -.plx-progressbar-sm .plx-progress-info span { - vertical-align: middle; -} -.plx-progressbar-sm-common { - font-size: 12px; -} -.plx-progressbar-sm-common .plx-progress-bar { - height: 2px; -} -.plx-progressbar-sm-common .fp-exclamation-circle { - vertical-align: middle; - font-size: 12px; -} -.plx-progressbar-sm-common .plx-progress-info span { - vertical-align: middle; -} -.search-input { - position: relative; - background: #fff; - color: #595959; -} -.search-input input { - height: 32px; - padding-left: 10px; - padding-right: 10px; - outline: 0; - border: 1px solid #d9d9d9; - border-radius: 3px; - vertical-align: middle; - width: 100%; - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - font-size: 14px; - color: #595959; -} -.short-text-input .search-input input { - width: 120px; -} -.text-input-with-unit .search-input input { - width: 355px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-unitOption .search-input input { - width: 316px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-prefix .search-input input { - width: 330px; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.text-input-with-prefixOption .search-input input { - width: 316px; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.text-input-with-passwordSwith .search-input input { - width: 360px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-prefix.text-input-with-unit .search-input input { - width: 285px; -} -.text-input-with-prefix.text-input-with-unitOption .search-input input { - width: 246px; -} -.short-text-input.text-input-with-prefix .search-input input { - width: 80px; -} -.short-text-input.text-input-with-unit .search-input input { - width: 80px; -} -.short-text-input.text-input-with-prefix.text-input-with-unit .search-input input { - width: 40px; -} -.search-input input:focus { - border: 1px solid #108EE9; -} -.search-input input:disabled, -.search-input input[disabled] { - cursor: not-allowed; - background-color: #f5f5f5; -} -.search-input-sm { - height: 28px !important; -} -.search-img { - color: #bfbfbf; - position: absolute; - right: 8px; - top: 8px; - list-style: none; - font-size: 16px; -} -.search-img-confirm { - color: #0C66A7; - cursor: pointer; -} -::-webkit-input-placeholder { - color: #999 !important; -} -:-moz-placeholder { - /* Mozilla Firefox 4 to 18 */ - color: #999 !important; -} -::-moz-placeholder { - /* Mozilla Firefox 19+ */ - color: #999 !important; -} -input:-ms-input-placeholder { - color: #999 !important; -} -input::-webkit-input-placeholder { - color: #999 !important; -} -select-dropdown { - box-sizing: border-box; - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - font-size: 14px; - outline: none; -} -select-dropdown > div { - background-color: #fff; - position: absolute; - z-index: 9999; -} -select-dropdown > div.select-sm .filter input { - height: 30px; -} -select-dropdown > div.select-sm .filter .toggle { - top: 13px; -} -select-dropdown > div .filter { - width: 100%; -} -select-dropdown > div .filter input { - border: 1px solid #108EE9; - border-radius: 3px; - padding: 0 10px; - width: 100%; - height: 34px; -} -select-dropdown > div .filter .toggle { - display: block; - position: absolute; - top: 15px; - right: 10px; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-top: 4px solid #9b9b9b; -} -select-dropdown > div .options { - border: 1px solid #d9d9d9; - border-top: none; - border-radius: 3px; - max-height: 160px; - overflow-y: auto; -} -select-dropdown > div .options ul { - list-style: none; - margin: 0; - padding: 0; -} -select-dropdown > div .options ul li { - color: #595959; - height: 30px; - line-height: 18px; - padding: 6px 20px 6px 8px; - position: relative; - cursor: pointer; - user-select: none; -} -select-dropdown > div .options ul li.single-selected { - background-color: #f5f5f5; -} -select-dropdown > div .options ul li.highlighted { - background-color: #E7F4FD; - color: #595959; -} -select-dropdown > div .options ul li.disabled { - background-color: #fff; - color: #bfbfbf; - cursor: default; - pointer-events: none; -} -select-dropdown > div .options ul li.plx-select-message { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} -select-dropdown > div .options ul li .option-label { - display: inline-block; - width: 100%; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} -select-dropdown > div .options ul li .option-tick { - display: inline-block; - position: absolute; - right: 5px; - top: 5px; -} -select-dropdown > div .options ul li .tick { - fill: none; - stroke: #00A854; - stroke-width: 2; - stroke-linecap: round; - stroke-linejoin: round; - stroke-miterlimit: 10; -} -plx-select { - display: inline-block; - margin: 0; - position: relative; - vertical-align: middle; - width: 100%; -} -plx-select.ng-untouched:not(form).ng-untouched:not(fieldset) { - border: 0; -} -plx-select * { - box-sizing: border-box; - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - font-size: 14px; - outline: none; -} -plx-select > div { - border: 1px solid #d9d9d9; - border-radius: 3px; - cursor: pointer; - user-select: none; - width: 100%; -} -plx-select > div.disabled { - background-color: #f5f5f5; - color: #bfbfbf; - cursor: not-allowed; -} -plx-select > div.focus-border { - border: 1px solid #108EE9 !important; -} -plx-select > div.select-sm .value, -plx-select > div.select-sm .placeholder { - height: 28px !important; - line-height: 28px !important; -} -plx-select > div.select-sm .toggle { - top: 13px; -} -plx-select > div.select-sm div.option { - height: 20px !important; - line-height: 14px !important; -} -plx-select > div.select-sm input { - height: 28px; - line-height: 28px; -} -plx-select > div input { - background-color: transparent; - border: none; - border-radius: 3px; - cursor: pointer; - height: 32px; - line-height: 32px; -} -plx-select > div .toggle { - display: block; - position: absolute; - top: 15px; - right: 10px; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-top: 4px solid #9b9b9b; -} -plx-select > div .single { - display: flex; - width: 100%; -} -plx-select > div .single .value, -plx-select > div .single .placeholder { - color: #595959; - flex: 1; - height: 32px; - line-height: 32px; - overflow: hidden; - padding: 0 10px; - white-space: nowrap; -} -plx-select > div .single .value span, -plx-select > div .single .placeholder span { - display: inline-block; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - max-width: 100%; -} -plx-select > div .single .placeholder { - color: #999; -} -plx-select > div .single input { - flex: 1; - padding: 1px 10px 0 10px; -} -plx-select > div .multiple { - display: flex; - flex-flow: row wrap; - padding: 0 10px; - width: 100%; -} -plx-select > div .multiple .placeholder { - flex: 1; - color: #999; - height: 32px; - line-height: 32px; - overflow: hidden; - white-space: nowrap; -} -plx-select > div .multiple input { - padding: 0; - margin-right: 10px; -} -plx-select > div .multiple div.option { - background-color: #f8f8f8; - border: 1px solid #e6e6e6; - border-radius: 2px; - color: #595959; - cursor: default; - display: inline-block; - flex-shrink: 0; - height: 24px; - line-height: 18px; - margin: 4px 10px 4px 0; - padding: 2px 30px 2px 10px; - max-width: 100%; - position: relative; -} -plx-select > div .multiple div.option span { - display: inline-block; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - max-width: 100%; -} -plx-select > div .multiple div.option .deselect-option { - color: #c0c0c0; - cursor: pointer; - font-size: 8px; - position: absolute; - top: 2px; - right: 8px; -} -plx-select > div .multiple div.option .deselect-option:hover { - color: #555; -} -.plx-ui-steps { - height: 40px; -} -.plx-ui-horizon-ul-horizon { - display: flex; - box-orient: horizontal; - padding: 0; - font-size: 14px; - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; -} -.plx-ui-steps-li { - list-style: none; - position: relative; - height: 24px; - line-height: 24px; - float: left; - margin-right: 0; -} -.plx-ui-steps-number-active { - color: #fff; - background-color: #108EE9; - width: 24px; - height: 24px; - border-radius: 50%; - display: inline-block; - margin-right: 10px; - float: left; - text-align: center; -} -.plx-ui-steps-number-passive { - background-color: #D7D7D7; - color: #fff; - width: 24px; - height: 24px; - border-radius: 50%; - display: inline-block; - margin-right: 10px; - float: left; - text-align: center; -} -.plx-rapire-steps { - position: relative; -} -.plx-ui-steps-number-visited { - width: 24px; - height: 24px; - border-radius: 50%; - display: inline-block; - margin-right: 10px; - float: left; - position: relative; - color: #108EE9; - background-color: #fff; - border: 2px solid #108EE9; -} -.plx-ui-menuitem-div-passive { - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate(-50%, -50%); - -moz-transform: translate(-50%, -50%); - -ms-transform: translate(-50%, -50%); - -o-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); -} -.plx-ui-menuitem-div-active { - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate(-50%, -50%); - -moz-transform: translate(-50%, -50%); - -ms-transform: translate(-50%, -50%); - -o-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); -} -.plx-ui-menuitem-div-passive { - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate(-50%, -50%); - -moz-transform: translate(-50%, -50%); - -ms-transform: translate(-50%, -50%); - -o-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); -} -.plx-ui-menuitem-div-visited { - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate(-50%, -50%); - -moz-transform: translate(-50%, -50%); - -ms-transform: translate(-50%, -50%); - -o-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); -} -.plx-ui-underline { - width: 386px; - height: 2px; - margin-top: 49px; - position: absolute; - background-color: #108EE9; -} -.passive .plx-ui-underline { - background-color: #D7D7D7; -} -.plx-ui-steps-title-active { - white-space: nowrap; -} -.plx-ui-steps-title-passive { - white-space: nowrap; -} -.plx-ui-steps-title-visited { - white-space: nowrap; -} -.plx-ui-steps-number-visited-tick { - position: absolute; - background-color: transparent; - height: 12px; - width: 7px; - transform: rotate(45deg); - transform-origin: 50% 120%; - transition: all 0.2s; - border-right: 2px solid #108EE9; - border-bottom: 2px solid #108EE9; -} -/**********************************************************************************************************/ -.plx-ui-steps-display-vertical { - display: inline-block; -} -.plx-ui-steps-vertical { - height: auto; - width: auto; - min-width: 180px; - display: inline-block; - font-size: 14px; - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; -} -.plx-ui-horizon-ul-vertical { - display: inline-block; - box-orient: vertical; - width: auto; - padding: 0; -} -.plx-ui-underline-active-vertical { - margin-left: 3px; - width: 10px; - display: table-caption; - min-height: 30px; - border-right: 2px solid #D7D7D7; -} -.plx-ui-underline-visited-vertical { - margin-left: 3px; - width: 10px; - display: table-caption; - height: 30px; -} -.plx-ui-underline-passive-vertical { - height: 30px; - margin-left: 3px; - width: 10px; - display: table-caption; - border-right: 2px solid #D7D7D7; -} -.plx-ui-steps-li-vertical { - list-style: none; - width: auto; -} -.plx-ui-steps-title-active-vertical { - margin-left: 10px; - position: absolute; - width: auto; - height: 24px; - min-width: 64px; - margin-top: 1px; - white-space: nowrap; -} -.plx-ui-steps-title-visited-vertical { - margin-left: 10px; - position: absolute; - width: auto; - height: 24px; - min-width: 64px; - margin-top: 3px; - white-space: nowrap; -} -.plx-ui-steps-title-passive-vertical { - margin-left: 10px; - position: absolute; - width: auto; - height: 24px; - min-width: 64px; - margin-top: 1px; - white-space: nowrap; -} -.plx-ui-steps-number-visited-tick-vertical { - position: absolute; - background-color: transparent; - height: 12px; - width: 7px; - transform: rotate(45deg); - transform-origin: 50% 120%; - transition: all 0.2s; -} -.plx-ui-steps-number-active-vertical { - width: 24px; - height: 24px; - border-radius: 50%; - display: inline-block; - margin-right: 0; - float: left; - text-align: left; - position: relative; - line-height: 24px; -} -.plx-ui-steps-number-passive-vertical { - width: 24px; - height: 24px; - border-radius: 50%; - display: inline-block; - margin-right: 0; - float: left; - text-align: left; - position: relative; - padding-top: 2px; - line-height: 24px; -} -.plx-ui-steps-number-visited-vertical { - width: 24px; - height: 24px; - border-radius: 50%; - display: inline-block; - margin-right: 0; - float: left; - position: relative; - line-height: 24px; -} -.plx-table-wrapper { - position: relative; - width: 100%; -} -.plx-table-blur { - opacity: .7; - filter: blur(0.5px); -} -.plx-table-loading { - position: absolute; - width: 100%; - height: 100%; - opacity: 1; - z-index: 9999; -} -.plx-table-loading-content { - position: absolute; - width: 36px; - height: 36px; - border: 5px solid #108EE9; - border-right-color: transparent; - top: calc(50% - 36px); - left: calc(50% - 18px); - animation: plx-table-loading-animation 1s infinite ease-in-out; - border-radius: 50%; -} -.plx-table-loading-placeholder { - position: absolute; - top: calc(50% + 10px); - left: calc(50% - 18px); -} -/* 加载中动画 */ -@-moz-keyframes plx-table-loading-animation { - 0% { - -moz-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -moz-transform: rotate(360deg); - transform: rotate(360deg); - } -} -@-webkit-keyframes plx-table-loading-animation { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -@keyframes plx-table-loading-animation { - 0% { - -moz-transform: rotate(0deg); - -ms-transform: rotate(0deg); - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -moz-transform: rotate(360deg); - -ms-transform: rotate(360deg); - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -/*表格样式*/ -.plx-table { - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - font-size: 14px; - line-height: 1.5; - color: #595959; - border-collapse: collapse; - width: 100%; - display: table; - table-layout: fixed; - max-width: 100%; - min-width: 100%; - word-break: break-all; -} -.plx-table .plx-table-subHead th { - background-color: #fff; - line-height: 1; - border-bottom: 1px solid #d9d9d9; -} -.plx-table tr.plx-table-hlt { - background-color: #e2f2fc; -} -.plx-table tr:hover { - background-color: #E7F4FD; -} -.plx-table.plx-table-normal th { - box-sizing: border-box; - height: 40px; - padding: 0px 10px ; - color: #595959; - text-decoration: none; - font-weight: normal; - font-size: 14px; - border: 1px solid #d9d9d9; - background-color: #f5f5f5; -} -.plx-table.plx-table-normal td { - border: 1px solid #d9d9d9; - vertical-align: middle; - height: 40px; - padding: 2px 10px 0px 10px; -} -.plx-table.plx-table-large th { - box-sizing: border-box; - height: 50px; - padding: 0px 10px ; - color: #595959; - text-decoration: none; - font-weight: normal; - font-size: 14px; - border: none; - background-color: #f5f5f5; -} -.plx-table.plx-table-large td { - border-bottom: 1px solid #d9d9d9; - vertical-align: middle; - height: 50px; - padding: 2px 10px 0px 10px; -} -.plx-table.plx-table-card th { - box-sizing: border-box; - height: 64px; - padding: 0px 10px ; - color: #595959; - text-decoration: none; - font-weight: normal; - font-size: 14px; - border: none; - background-color: #f5f5f5; -} -.plx-table.plx-table-card td { - border-bottom: 1px solid #d9d9d9; - vertical-align: middle; - height: 64px; - padding: 2px 10px 0px 10px; -} -.plx-table.plx-table-sm th { - box-sizing: border-box; - height: 30px; - padding: 0px 10px ; - color: #595959; - text-decoration: none; - font-weight: normal; - font-size: 14px; - border: 1px solid #d9d9d9; - background-color: #f5f5f5; -} -.plx-table.plx-table-sm td { - border: 1px solid #d9d9d9; - vertical-align: middle; - height: 30px; - padding: 2px 10px 0px 10px; -} -.plx-table tbody tr:first-child td { - border-top: none; -} -.plx-table-fix { - table-layout: fixed; -} -/*防止分页区域高度塌陷*/ -.plx-table-pagnation-content { - overflow: auto; -} -/*搜索区域*/ -.plx-table-opretions-wrapper:after { - content: ''; - display: block; - clear: both; - height: 0; - visibility: hidden; -} -.plx-table-align-center { - text-align: center; -} -.plx-table-align-left { - text-align: left; -} -.plx-table-align-right { - text-align: right; -} -.plx-table-head-checkbox label { - margin-bottom: 0px; - vertical-align: top; -} -.plx-table td.plx-table-no-data { - height: 60px; - text-align: center; - font-size: 14px; - color: #595959; -} -.plx-tabset { - display: flex; - padding-left: 0; - margin-bottom: 0; - list-style: none; -} -.plx-tabset.plx-nav-tabs { - border-bottom: 1px solid #d9d9d9; - font-size: 16px; -} -.plx-tabset.plx-nav-tabs .plx-nav-item { - margin-bottom: -1px; -} -.plx-tabset.plx-nav-tabs .plx-nav-link { - display: block; - border-radius: 0; - border: 1px solid transparent; - border-top: 2px solid transparent; - color: #999; - min-width: 100px; - text-align: center; - padding: 6px 16px; -} -.plx-tabset.plx-nav-tabs .plx-nav-link:hover, -.plx-tabset.plx-nav-tabs .plx-nav-link:focus { - text-decoration: none; - background-color: #E7F4FD; - border-bottom: 0; - border-left: 0; - border-right: 0; -} -.plx-tabset.plx-nav-tabs .plx-nav-link.active { - color: #595959; - border-top: 2px solid #108EE9; - border-left: 1px solid #d9d9d9; - border-right: 1px solid #d9d9d9; - background-color: #fff; -} -.plx-tabset.plx-nav-tabs .plx-nav-link.active:hover, -.plx-tabset.plx-nav-tabs .plx-nav-link.active:focus { - border-left: 1px solid #d9d9d9; - border-right: 1px solid #d9d9d9; - border-bottom: 1px solid transparent; -} -.plx-tabset.plx-nav-tabs.bottom .plx-nav-link { - border: 0; - border-bottom: 2px solid transparent; -} -.plx-tabset.plx-nav-tabs.bottom .plx-nav-link:hover { - border-bottom: 1px solid transparent; -} -.plx-tabset.plx-nav-tabs.bottom .plx-nav-link.active { - border: 0; - border-bottom: 2px solid #108EE9; -} -.plx-tabset.plx-nav-pills .plx-nav-link { - border: 1px solid #d9d9d9; - border-radius: 0.25em; - color: #999; - display: block; - padding: 6px 10px; - min-width: 100px; - text-align: center; -} -.plx-tabset.plx-nav-pills .plx-nav-link:hover, -.plx-tabset.plx-nav-pills .plx-nav-link:focus { - text-decoration: none; - color: #108ee9; - border-color: #108ee9; - background-color: #fff; -} -.plx-tabset.plx-nav-pills .plx-nav-link:active { - color: #fff; - border-color: #108ee9; - background-color: #108ee9; -} -.plx-tabset.plx-nav-pills .plx-nav-link.active { - color: #fff; - cursor: default; - background-color: #108EE9; - border-color: #108EE9; -} -.plx-tabset.plx-nav-pills .plx-nav-item:hover, -.plx-tabset.plx-nav-pills .plx-nav-item:focus, -.plx-tabset.plx-nav-pills .plx-nav-item:active { - z-index: 2; -} -.plx-tabset.plx-nav-pills .plx-nav-item:first-child:not(:last-child) .plx-nav-link { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.plx-tabset.plx-nav-pills .plx-nav-item:not(:first-child):not(:last-child) .plx-nav-link { - border-radius: 0; -} -.plx-tabset.plx-nav-pills .plx-nav-item:last-child:not(:first-child) .plx-nav-link { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.plx-tabset.plx-nav-pills .plx-nav-item + .plx-nav-item .plx-nav-link { - margin-left: -1px; -} -.plx-tab-content .plx-tab-pane { - display: none; -} -.plx-tab-content .plx-tab-pane.active { - display: block; -} -.font { - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - font-size: 14px; -} -.text-input { - display: inline-block; -} -.text-input .caret-down { - display: block; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-top: 4px solid #9b9b9b; - margin-top: 4px; - margin-bottom: 10px; -} -.text-input .caret-down.caret-down-hover:hover, -.text-input .caret-down.caret-down-hover:active { - border-top: 4px solid #108EE9; -} -.text-input .caret-up { - display: block; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-bottom: 4px solid #9b9b9b; - margin-top: 10px; -} -.text-input .caret-up.caret-up-hover:hover, -.text-input .caret-up.caret-up-hover:active { - border-bottom: 4px solid #108EE9; -} -.text-input .toggle { - float: right; - margin-right: 10px; - margin-top: 14px; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-top: 4px solid #9b9b9b; -} -.text-input .text-input-dataList { - margin-top: 2px; - position: absolute; - z-index: 1050; - border: 1px solid #d9d9d9; - background: #fff; - cursor: pointer; - border-radius: 3px; -} -.text-input .text-input-dataList li { - list-style: none; - height: 32px; - width: 400px; - padding-left: 10px; -} -.text-input .text-input-dataList li:hover { - background-color: #E7F4FD; -} -.input-span { - display: inline-block; - overflow: visible; - padding: 0; - position: relative; -} -.text-input-with-hint { - margin-bottom: -8px; -} -:host(.ng-touched.ng-invalid.input-blur) .text-input-with-hint { - height: auto; - margin-bottom: 0; -} -.plx-text-input-unit-group, -.plx-text-input-prefix-group { - position: absolute; - margin-top: 5px; - width: 84px; - z-index: 1050; - border-radius: 3px; - background: #fff; - border: 1px solid #d9d9d9; - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - cursor: pointer; -} -.plx-text-input-unit-group li, -.plx-text-input-prefix-group li { - padding-left: 10px; - height: 32px; - list-style: none; - line-height: 32px; - font-size: 14px; -} -.plx-text-input-unit-group li:hover, -.plx-text-input-prefix-group li:hover { - background-color: #E7F4FD; -} -.plx-text-input-unit-group li.group-selected, -.plx-text-input-prefix-group li.group-selected, -.plx-text-input-unit-group li.group-selected:hover, -.plx-text-input-prefix-group li.group-selected:hover { - background-color: #f5f5f5; - color: #595959; -} -.text-input-optional { - display: inline-block; - margin-right: 6px; - padding-left: 5px; -} -.input-right-border .plx-input { - border-right: 1px solid #108EE9; -} -.input-left-border .plx-input { - border-left: 1px solid #108EE9; -} -.text-input-hint { - top: 42px; - left: 10px; - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - font-size: 14px; - color: #bfbfbf; -} -:host(.ng-touched.ng-invalid.input-blur) .text-input-hint { - display: none; -} -.text-input-prefix { - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - font-weight: 400; - font-size: 14px; - line-height: 14px; - color: #595959; - display: inline-block; - width: 70px; - height: 32px; - text-align: center; - line-height: 32px; - border-top-left-radius: 3px; - border-bottom-left-radius: 3px; - color: #bfbfbf; - border: 1px solid #d9d9d9; - border-right: 0; - vertical-align: middle; -} -.short-text-input .text-input-prefix { - width: 40px; -} -.input-span-focus .text-input-prefix { - border-color: #108EE9; -} -.input-invalid.ng-dirty.ng-invalid.ng-touched.input-blur .text-input-prefix, -.input-invalid.ng-dirty.ng-invalid.ng-touched.input-blur .input-span-focus:focus .text-input-prefix { - border-color: #EA4335; -} -.input-unit, -.text-input-unit-option { - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - font-weight: 400; - font-size: 14px; - line-height: 14px; - color: #595959; - display: inline-block; - height: 32px; - text-align: center; - line-height: 32px; - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; -} -.text-input-unit { - border: 1px solid #d9d9d9; - border-left: 0; - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - font-weight: 400; - font-size: 14px; - line-height: 14px; - color: #595959; - display: inline-block; - height: 32px; - line-height: 32px; - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; - color: #bfbfbf; - width: 45px; - text-align: center; - vertical-align: middle; -} -.short-text-input .text-input-unit { - width: 40px; -} -.input-span-focus .text-input-unit { - border-color: #108EE9; -} -.text-input-prefix-option { - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - font-weight: 400; - font-size: 14px; - line-height: 14px; - color: #595959; - display: inline-block; - height: 32px; - text-align: center; - line-height: 32px; - border-top-left-radius: 3px; - border-bottom-left-radius: 3px; - width: 84px; - text-align: left; - padding-left: 10px; - cursor: pointer; - border: 1px solid #d9d9d9; - border-right: 0; - vertical-align: middle; -} -.text-input-prefix-option.prefix-focus { - border-color: #108EE9; -} -.text-input-unit-option { - width: 84px; - text-align: left; - padding-left: 10px; - cursor: pointer; - border: 1px solid #d9d9d9; - border-left: 0; - vertical-align: middle; -} -.input-span-focus .text-input-unit-option { - border-color: #108EE9; -} -.text-input-with-unitOption div.unit-focus { - border-color: #108EE9; -} -.short-text-input .plx-input { - width: 120px; -} -.text-input-with-unit .plx-input { - width: 355px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-unitOption .plx-input { - width: 316px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-prefix .plx-input { - width: 330px; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.text-input-with-prefixOption .plx-input { - width: 316px; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.text-input-with-passwordSwith .plx-input { - width: 360px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-prefix.text-input-with-unit .plx-input { - width: 285px; -} -.text-input-with-prefix.text-input-with-unitOption .plx-input { - width: 246px; -} -.short-text-input.text-input-with-prefix .plx-input { - width: 80px; -} -.short-text-input.text-input-with-unit .plx-input { - width: 80px; -} -.short-text-input.text-input-with-prefix.text-input-with-unit .plx-input { - width: 40px; -} -.input-spinner-up { - cursor: pointer; - display: block; - font-size: 12px; - position: absolute; - margin: 0; - right: 0; - overflow: hidden; - border: none; - padding: 0; - text-align: center; - vertical-align: middle; - width: 18px; - top: 0; -} -.input-spinner-down { - cursor: pointer; - display: block; - font-size: 12px; - position: absolute; - margin: 0; - right: 0; - overflow: hidden; - border: none; - padding: 0; - text-align: center; - vertical-align: middle; - width: 18px; - bottom: 0; -} -:host(.plx-input-sm) .plx-input { - height: 28px; - line-height: 28px; -} -:host(.plx-input-sm) .text-input-prefix, -:host(.plx-input-sm) .text-input-unit, -:host(.plx-input-sm) .text-input-unit-option, -:host(.plx-input-sm) .text-input-prefix-option { - height: 28px; - line-height: 28px; -} -:host(.plx-input-sm) div.text-input-dataList { - height: 28px; -} -:host(.plx-input-sm) .toggle { - margin-top: 11px; -} -:host(.plx-input-sm) .caret-down { - margin-bottom: 8px; -} -:host(.plx-input-sm) .caret-up { - margin-top: 8px; -} -:host(.plx-input-sm) .plx-input-passwordSwitch { - line-height: 26px; -} -.plx-input-sm .plx-input { - height: 28px; - line-height: 28px; -} -.plx-input-sm .text-input-prefix, -.plx-input-sm .text-input-unit, -.plx-input-sm .text-input-unit-option, -.plx-input-sm .text-input-prefix-option { - height: 28px; - line-height: 28px; -} -.plx-input-sm div.text-input-dataList { - height: 28px; -} -.plx-input-sm .toggle { - margin-top: 11px; -} -.plx-input-sm .caret-down { - margin-bottom: 8px; -} -.plx-input-sm .caret-up { - margin-top: 8px; -} -.plx-input-sm .plx-input-passwordSwitch { - line-height: 26px; -} -.plx-input-sm-common .plx-input { - height: 28px; - line-height: 28px; -} -.plx-input-sm-common .text-input-prefix, -.plx-input-sm-common .text-input-unit, -.plx-input-sm-common .text-input-unit-option, -.plx-input-sm-common .text-input-prefix-option { - height: 28px; - line-height: 28px; -} -.plx-input-sm-common div.text-input-dataList { - height: 28px; -} -.plx-input-sm-common .toggle { - margin-top: 11px; -} -.plx-input-sm-common .caret-down { - margin-bottom: 8px; -} -.plx-input-sm-common .caret-up { - margin-top: 8px; -} -.plx-input-sm-common .plx-input-passwordSwitch { - line-height: 26px; -} -.plx-input-passwordSwitch { - display: inline-block; - line-height: 30px; - width: 40px; - text-align: center; - vertical-align: middle; - background-color: #fff; - border: 1px solid #d9d9d9; - border-left: 0; - border-bottom-right-radius: 3px; - border-top-right-radius: 3px; - cursor: pointer; -} -.plx-input-passwordSwitch:focus, -.plx-input-passwordSwitch:hover { - border-color: #108ee9; - background-color: #fff; -} -.plx-input-passwordSwitch:focus.ict-eye-closed, -.plx-input-passwordSwitch:hover.ict-eye-closed, -.plx-input-passwordSwitch:focus.ict-eye, -.plx-input-passwordSwitch:hover.ict-eye { - color: #108ee9; -} -.plx-input-passwordSwitch:active { - background-color: #108ee9; - border-color: #108ee9; -} -.plx-input-passwordSwitch:active.ict-eye-closed, -.plx-input-passwordSwitch:active.ict-eye { - color: #fff; -} -.plx-input-passwordSwitch.ict-eye-closed, -.plx-input-passwordSwitch.ict-eye { - color: #8e8e8e; - font-size: 16px; -} -.input-right-border-pwdswith-hover .plx-input { - border-right-color: #108ee9; -} -.input-right-border-pwdswith-click .plx-input { - border-right-color: #108ee9; -} -.plx-text-input-ip-dot { - display: inline-block; - vertical-align: bottom; - color: #999; -} -.plx-text-input-error { - font-size: 12px; - color: #EA4335; - margin-top: 5px; -} -:host(.plx-text-input-ip-invalid) .plx-input { - border-color: #EA4335; -} -:host(.plx-text-input-ip-invalid) .input-span-focus .plx-input { - border-color: #108EE9; -} -.plx-text-input-ip-invalid .plx-input { - border-color: #EA4335; -} -.plx-text-input-ip-invalid .input-span-focus .plx-input { - border-color: #108EE9; -} -.plx-text-input-ip-invalid-common .plx-input { - border-color: #EA4335; -} -.plx-text-input-ip-invalid-common .input-span-focus .plx-input { - border-color: #108EE9; -} -.plx-textarea-container { - display: inline-block; -} -.plx-textarea-class { - width: 100%; - font-size: 14px; - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - line-height: 1.5; - resize: none; - padding: 7px; - border: 1px solid #d9d9d9; - border-radius: 3px; - box-shadow: none; - outline: none; - overflow-y: auto; -} -.plx-textarea-class:focus { - border-color: #108EE9; -} -.plx-textarea-class::-webkit-input-placeholder { - text-shadow: none; - -webkit-text-fill-color: initial; -} -.plx-align-tip { - vertical-align: top; - font-size: 14px; - font-weight: normal; - color: #bfbfbf; -} -.plx-align-number { - font-size: 14px; - font-weight: normal; - line-height: 1; - text-align: right; - width: 100%; - color: #bfbfbf; - margin-top: -3px; -} -.plx-toggle-switch { - display: inline-block; - height: 22px; - width: 44px; - position: relative; - vertical-align: middle; - text-align: left; - font-size: 0; -} -.plx-toggle-switch input[type='checkbox'] { - display: none; - -webkit-appearance: none; - -moz-appearance: none; - -ms-progress-appearance: none; -} -.plx-toggle-switch input[type='checkbox'] + label { - display: inline-block; - height: 22px; - position: relative; - cursor: pointer; -} -.plx-toggle-switch input[type='checkbox'] + label::before { - position: absolute; - display: inline-block; - content: ''; - height: 22px; - width: 44px; - border-radius: 11px; - transition: 0.15s ease-in; - transition-property: background-color; - background-color: #DDDDDD; -} -.plx-toggle-switch input[type='checkbox'] + label::after { - position: absolute; - display: inline-block; - content: ''; - height: 18px; - width: 18px; - border-radius: 50%; - top: 2px; - left: 2px; - transition: left 0.15s ease-in; - background-color: #fff; -} -.plx-toggle-switch input[type='checkbox']:checked + label::before { - background-color: #108EE9; - transition: background-color 0.15s ease-in; -} -.plx-toggle-switch input[type='checkbox']:checked + label::after { - left: 24px; - transition: left 0.15s ease-in; -} -.plx-toggle-switch input[type='checkbox']:disabled + label, -.plx-toggle-switch input[type='checkbox']:checked:disabled + label { - cursor: not-allowed; -} -.plx-toggle-switch input[type='checkbox']:disabled + label::before, -.plx-toggle-switch input[type='checkbox']:checked:disabled + label::before { - opacity: 0.5; -} -:host(.plx-toggle-sm) .plx-toggle-switch { - height: 18px; - width: 34px; -} -:host(.plx-toggle-sm) .plx-toggle-switch input[type='checkbox'] + label { - height: 18px; -} -:host(.plx-toggle-sm) .plx-toggle-switch input[type='checkbox'] + label::before { - height: 18px; - width: 34px; - border-radius: 9px; -} -:host(.plx-toggle-sm) .plx-toggle-switch input[type='checkbox'] + label::after { - height: 14px; - width: 14px; -} -:host(.plx-toggle-sm) .plx-toggle-switch input[type='checkbox']:checked + label::after { - left: 18px; - transition: left 0.15s ease-in; -} -.plx-toggle-sm .plx-toggle-switch { - height: 18px; - width: 34px; -} -.plx-toggle-sm .plx-toggle-switch input[type='checkbox'] + label { - height: 18px; -} -.plx-toggle-sm .plx-toggle-switch input[type='checkbox'] + label::before { - height: 18px; - width: 34px; - border-radius: 9px; -} -.plx-toggle-sm .plx-toggle-switch input[type='checkbox'] + label::after { - height: 14px; - width: 14px; -} -.plx-toggle-sm .plx-toggle-switch input[type='checkbox']:checked + label::after { - left: 18px; - transition: left 0.15s ease-in; -} -.plx-toggle-sm-switch-common { - height: 18px; - width: 34px; -} -.plx-toggle-sm-switch-common input[type='checkbox'] + label { - height: 18px; -} -.plx-toggle-sm-switch-common input[type='checkbox'] + label::before { - height: 18px; - width: 34px; - border-radius: 9px; -} -.plx-toggle-sm-switch-common input[type='checkbox'] + label::after { - height: 14px; - width: 14px; -} -.plx-toggle-sm-switch-common input[type='checkbox']:checked + label::after { - left: 18px; - transition: left 0.15s ease-in; -} -.toolbar i.seperate-vertical { - margin-right: 10px; - margin-left: 0; - border-right: 1px solid #e9e9e9; -} -.toolbar span { - color: #595959; - cursor: pointer; - margin-right: 10px; - font-size: 16px; - display: inline-block; - width: 28px; - height: 28px; - border: 1px solid transparent; - padding: 5px; -} -.toolbar span:hover { - background-color: #E7F4FD; - border-radius: 2px; -} -.toolbar span:last-child { - margin-right: 0px; -} -.plx-tooltip { - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - font-size: 14px; - opacity: 1; - position: absolute; - z-index: 10001; - display: block; - font-style: normal; - font-weight: normal; - letter-spacing: normal; - line-break: auto; - line-height: 1.5; - text-align: left; - text-decoration: none; - text-shadow: none; - text-transform: none; - white-space: normal; - word-break: normal; - word-spacing: normal; - word-wrap: break-word; -} -.plx-tooltip::before, -.plx-tooltip::after { - content: ""; - position: absolute; - display: block; - width: 0; - height: 0; - border: solid transparent; -} -.plx-tooltip::before { - border-width: 5px; -} -.plx-tooltip::after { - border-width: 4px; -} -.plx-tooltip-inner { - min-width: 60px; - max-width: 200px; - padding: 3px 8px; - color: #fff; - text-align: center; - background-color: #000; -} -.plx-tooltip.show { - font-size: 14px; - opacity: 1; -} -.plx-tooltip.show .plx-tooltip-inner { - background-color: #595959; - border-radius: 3px; - padding: 0px 12px; - height: 30px; - line-height: 30px; -} -.plx-tooltip-top-common { - margin-top: -7px; -} -.plx-tooltip-top-common::before { - border-top-color: #595959; - border-bottom-width: 0; - bottom: -5px; -} -.plx-tooltip-top-common::after { - border-top-color: #595959; - border-bottom-width: 0; - bottom: -4px; -} -.plx-tooltip-top { - margin-top: -7px; -} -.plx-tooltip-top::before { - border-top-color: #595959; - border-bottom-width: 0; - bottom: -5px; -} -.plx-tooltip-top::after { - border-top-color: #595959; - border-bottom-width: 0; - bottom: -4px; -} -.plx-tooltip-top::before { - left: 50%; - margin-left: -5px; -} -.plx-tooltip-top::after { - left: 50%; - margin-left: -4px; -} -.plx-tooltip.plx-tooltip-top-left { - margin-top: -7px; -} -.plx-tooltip.plx-tooltip-top-left::before { - border-top-color: #595959; - border-bottom-width: 0; - bottom: -5px; -} -.plx-tooltip.plx-tooltip-top-left::after { - border-top-color: #595959; - border-bottom-width: 0; - bottom: -4px; -} -.plx-tooltip.plx-tooltip-top-left::before { - left: 5px; -} -.plx-tooltip.plx-tooltip-top-left::after { - left: 6px; -} -.plx-tooltip.plx-tooltip-top-right { - margin-top: -7px; -} -.plx-tooltip.plx-tooltip-top-right::before { - border-top-color: #595959; - border-bottom-width: 0; - bottom: -5px; -} -.plx-tooltip.plx-tooltip-top-right::after { - border-top-color: #595959; - border-bottom-width: 0; - bottom: -4px; -} -.plx-tooltip.plx-tooltip-top-right::before { - right: 5px; -} -.plx-tooltip.plx-tooltip-top-right::after { - right: 6px; -} -.plx-tooltip-right-common { - margin-left: 7px; -} -.plx-tooltip-right-common::before { - border-right-color: #595959; - border-left-width: 0; - left: -5px; -} -.plx-tooltip-right-common::after { - border-right-color: #595959; - border-left-width: 0; - left: -4px; -} -.plx-tooltip.plx-tooltip-right { - margin-left: 7px; -} -.plx-tooltip.plx-tooltip-right::before { - border-right-color: #595959; - border-left-width: 0; - left: -5px; -} -.plx-tooltip.plx-tooltip-right::after { - border-right-color: #595959; - border-left-width: 0; - left: -4px; -} -.plx-tooltip.plx-tooltip-right::before { - top: 50%; - margin-top: -5px; -} -.plx-tooltip.plx-tooltip-right::after { - top: 50%; - margin-top: -4px; -} -.plx-tooltip.plx-tooltip-right-top { - margin-left: 7px; -} -.plx-tooltip.plx-tooltip-right-top::before { - border-right-color: #595959; - border-left-width: 0; - left: -5px; -} -.plx-tooltip.plx-tooltip-right-top::after { - border-right-color: #595959; - border-left-width: 0; - left: -4px; -} -.plx-tooltip.plx-tooltip-right-top::before { - top: 5px; -} -.plx-tooltip.plx-tooltip-right-top::after { - top: 6px; -} -.plx-tooltip.plx-tooltip-right-bottom { - margin-left: 7px; -} -.plx-tooltip.plx-tooltip-right-bottom::before { - border-right-color: #595959; - border-left-width: 0; - left: -5px; -} -.plx-tooltip.plx-tooltip-right-bottom::after { - border-right-color: #595959; - border-left-width: 0; - left: -4px; -} -.plx-tooltip.plx-tooltip-right-bottom::before { - bottom: 5px; -} -.plx-tooltip.plx-tooltip-right-bottom::after { - bottom: 6px; -} -.plx-tooltip-bottom-common { - margin-top: 7px; -} -.plx-tooltip-bottom-common::before { - border-bottom-color: #595959; - border-top-width: 0; - top: -5px; -} -.plx-tooltip-bottom-common::after { - border-bottom-color: #595959; - border-top-width: 0; - top: -4px; -} -.plx-tooltip.plx-tooltip-bottom { - margin-top: 7px; -} -.plx-tooltip.plx-tooltip-bottom::before { - border-bottom-color: #595959; - border-top-width: 0; - top: -5px; -} -.plx-tooltip.plx-tooltip-bottom::after { - border-bottom-color: #595959; - border-top-width: 0; - top: -4px; -} -.plx-tooltip.plx-tooltip-bottom::before { - left: 50%; - margin-left: -5px; -} -.plx-tooltip.plx-tooltip-bottom::after { - left: 50%; - margin-left: -4px; -} -.plx-tooltip.plx-tooltip-bottom-left { - margin-top: 7px; -} -.plx-tooltip.plx-tooltip-bottom-left::before { - border-bottom-color: #595959; - border-top-width: 0; - top: -5px; -} -.plx-tooltip.plx-tooltip-bottom-left::after { - border-bottom-color: #595959; - border-top-width: 0; - top: -4px; -} -.plx-tooltip.plx-tooltip-bottom-left::before { - left: 5px; -} -.plx-tooltip.plx-tooltip-bottom-left::after { - left: 6px; -} -.plx-tooltip.plx-tooltip-bottom-right { - margin-top: 7px; -} -.plx-tooltip.plx-tooltip-bottom-right::before { - border-bottom-color: #595959; - border-top-width: 0; - top: -5px; -} -.plx-tooltip.plx-tooltip-bottom-right::after { - border-bottom-color: #595959; - border-top-width: 0; - top: -4px; -} -.plx-tooltip.plx-tooltip-bottom-right::before { - right: 5px; -} -.plx-tooltip.plx-tooltip-bottom-right::after { - right: 6px; -} -.plx-tooltip-left-common { - margin-left: -7px; -} -.plx-tooltip-left-common::before { - border-left-color: #595959; - border-right-width: 0; - right: -5px; -} -.plx-tooltip-left-common::after { - border-left-color: #595959; - border-right-width: 0; - right: -4px; -} -.plx-tooltip.plx-tooltip-left { - margin-left: -7px; -} -.plx-tooltip.plx-tooltip-left::before { - border-left-color: #595959; - border-right-width: 0; - right: -5px; -} -.plx-tooltip.plx-tooltip-left::after { - border-left-color: #595959; - border-right-width: 0; - right: -4px; -} -.plx-tooltip.plx-tooltip-left::before { - top: 50%; - margin-top: -5px; -} -.plx-tooltip.plx-tooltip-left::after { - top: 50%; - margin-top: -4px; -} -.plx-tooltip.plx-tooltip-left-top { - margin-left: -7px; -} -.plx-tooltip.plx-tooltip-left-top::before { - border-left-color: #595959; - border-right-width: 0; - right: -5px; -} -.plx-tooltip.plx-tooltip-left-top::after { - border-left-color: #595959; - border-right-width: 0; - right: -4px; -} -.plx-tooltip.plx-tooltip-left-top::before { - top: 5px; -} -.plx-tooltip.plx-tooltip-left-top::after { - top: 6px; -} -.plx-tooltip.plx-tooltip-left-bottom { - margin-left: -7px; -} -.plx-tooltip.plx-tooltip-left-bottom::before { - border-left-color: #595959; - border-right-width: 0; - right: -5px; -} -.plx-tooltip.plx-tooltip-left-bottom::after { - border-left-color: #595959; - border-right-width: 0; - right: -4px; -} -.plx-tooltip.plx-tooltip-left-bottom::before { - bottom: 5px; -} -.plx-tooltip.plx-tooltip-left-bottom::after { - bottom: 6px; -} -.plx-checkbox-container { - font-size: 0; - position: relative; -} -.plx-checkbox { - position: absolute; - z-index: -1; - opacity: 0; -} -.plx-checkbox + .checkbox-substitute { - position: relative; - display: inline-block; - cursor: pointer; - height: 16px; - width: 16px; - border: 1px solid #d9d9d9; - border-radius: 2px; - vertical-align: middle; -} -.plx-checkbox + .checkbox-substitute + span { - font-weight: normal; - font-size: 14px; - cursor: pointer; - vertical-align: middle; - padding-left: 10px; -} -.plx-checkbox:hover + .checkbox-substitute { - border-color: #108EE9; - outline: none; - background-image: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; -} -.plx-checkbox:checked + .checkbox-substitute { - border-color: #108EE9; - background-color: #108EE9; -} -.plx-checkbox:checked + .checkbox-substitute::after { - content: ''; - position: absolute; - display: block; - width: 6px; - height: 10px; - border: solid #fff; - border-width: 0 2px 2px 0; - transform: rotate(45deg); - left: 4px; - top: 0; -} -.plx-checkbox:checked.portion + .checkbox-substitute { - background-color: #108EE9; - border-color: #108EE9; - opacity: 0.5; -} -.plx-checkbox:disabled + .checkbox-substitute, -.plx-checkbox[disabled] + .checkbox-substitute { - border-color: #d9d9d9; - background-color: #f5f5f5; - cursor: not-allowed; -} -.plx-checkbox:disabled + .checkbox-substitute + span, -.plx-checkbox[disabled] + .checkbox-substitute + span { - cursor: not-allowed; -} -.plx-checkbox:checked.portion[disabled] + .checkbox-substitute { - background-color: #d9d9d9; - border-color: #d9d9d9; -} -.plx-checkbox:checked.portion[disabled] + .checkbox-substitute::after { - content: ''; - position: absolute; - display: block; - width: 6px; - height: 10px; - border: solid #8e8e8e; - border-width: 0 2px 2px 0; - transform: rotate(45deg); - left: 4px; - top: 0; -} -.plx-checkbox:checked[disabled] + .checkbox-substitute { - border-color: #d9d9d9; - background-color: #d9d9d9; -} -.plx-treenode { - cursor: pointer; - background-attachment: scroll; - background-color: transparent; - background-image: none; - background-position: 0 0; - background-repeat: repeat-y; - list-style: none outside none; - margin: 0; - padding: 0; - white-space: nowrap; - font-size: 14px; -} -.plx-treenode .plx-treenode-content { - margin-top: 10px; -} -.plx-treenode .plx-treenode-content.light { - margin-top: 15px; -} -.plx-treenode ul.plx-treenode-children { - display: block; - -webkit-padding-start: 21px; -} -.plx-treenode-toggler { - font-size: 16px; - color: #108EE9; - display: inline-block; - margin-right: 7px; - margin-top: 2px; - vertical-align: bottom; - float: left; -} -.plx-treenode-ckbox { - float: left; - margin-right: 10px; - margin-top: 2px; -} -.plx-treenode-icon { - color: #8e8e8e; - margin-right: 10px; - float: left; - font-size: 16px; - vertical-align: bottom; - margin-top: 2px; -} -.plx-treenode-label-container { - overflow: visible; -} -.plx-treenode-label-container.plx-treenode-label-ellipsis { - overflow: hidden; -} -.plx-treenode-label-container:hover { - background-color: #E7F4FD; -} -.plx-treenode-active > div .plx-treenode-label-container { - background-color: #def0fc; -} -.plx-treenode-active > div .plx-treenode-label-container:hover { - background-color: #E7F4FD; -} -.plx-treenode-label-container span:last-child { - margin-right: 5px; -} -.plx-treenode-lable { - display: inline-block; - vertical-align: 0; - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - color: #595959; -} -.plx-treenode-lable span { - display: inline-block; - overflow: hidden; - max-width: 100%; - text-overflow: ellipsis; - white-space: nowrap; - vertical-align: bottom; -} -.plx-treenode-operations { - margin-left: 20px; - display: none; - vertical-align: bottom; - width: fit-content; - line-height: 1; - margin-bottom: 2px; -} -.plx-treenode-operation { - display: inline-block; - margin-right: 10px; - color: #8e8e8e; - font-size: 16px; - vertical-align: text-bottom; -} -.plx-treenode-operation:hover { - color: #108EE9; -} -.plx-treenode-label-container:hover .plx-treenode-operations { - display: inline-block; -} -*:focus { - outline: none; - box-shadow: none !important; -} -input[type="checkbox"]:focus { - border: 0 !important; -} -.plx-treenode-hide-tree-toggle { - visibility: hidden; -} -.plx-treenode-droppoint { - height: 4px; - list-style-type: none; -} -.plx-treenode-droppoint-active { - background-color: #186ba0; - border: 0 none; -} -.upload-wrapper { - font-size: 14px; - position: relative; - display: inline-block; -} -.upload-wrapper .item-text { - max-width: 280px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - display: inline-block; - margin-bottom: 2px; - font-size: 14px; -} -.upload-wrapper .item-text.no-progressbar { - vertical-align: middle; -} -.upload-wrapper .plx-upload-progressbar { - margin-top: -13px; -} -.upload-wrapper .list-group-item { - border: 0; - padding: 0; -} -.upload-wrapper .list-group-item .item { - width: 335px; - padding: 0 0 5px 0px; -} -.upload-wrapper .list-group-item .item .item-text-wrapper { - position: relative; - display: inline-block; - width: 100%; - box-sizing: border-box; - height: 40px; - padding: 2px 3px 2px 10px; - border: 1px solid transparent; -} -.upload-wrapper .list-group-item .item .item-text-wrapper .text-red { - color: #EA4335 !important; -} -.upload-wrapper .list-group-item .item .item-text-wrapper:hover { - background-color: #E7F4FD; - cursor: default; -} -.upload-wrapper .list-group-item .item .item-text-wrapper:hover .plx-ico-close-16 { - display: block; - transform: scale(0.8); -} -.upload-wrapper .list-group-item .item .item-text-wrapper.no-progressbar { - height: 28px; -} -.upload-wrapper .list-group-item .item .item-delete { - height: 14px; - width: 16px; - text-align: center; - line-height: 14px; - position: absolute; - right: 2%; - color: #999999; - display: none; - top: 3px; -} -.upload-wrapper .list-group-item .item .item-delete:hover { - cursor: pointer; - color: #666666; -} -.upload-wrapper .list-group-item .item .item-delete.no-progressbar { - top: 6px; -} -.upload-wrapper .plx-ico-close-16 { - font-size: 16px; - float: right; - cursor: pointer; -} -.upload-wrapper ul.list-group { - margin-top: 15px; -} -.upload-wrapper .url-form-control { - display: inline-block; -} -.upload-wrapper .item-detail { - color: #aaa; - position: relative; - padding: 0 10px; - font-size: 12px; -} -.upload-wrapper .item-detail div { - margin: 0px 0px 15px 0; -} -.upload-wrapper .item-detail .detail { - margin: 5px 0 10px 0; -} -.upload-wrapper .item-detail-des { - display: inline-block; - width: 170px; - word-wrap: break-word; - margin-left: 15px; - vertical-align: top; -} -.upload-wrapper .item-detail-time { - display: inline-block; - width: 119px; - word-break: break-all; - vertical-align: top; -} -.upload-wrapper .selectFile { - display: inline-block; - min-width: 50px; - margin-right: 10px; - text-align: right; -} -.upload-wrapper label.raw-container { - margin: 0 10px; -} -.upload-wrapper .item-lists { - font-size: 14px; -} -.upload-wrapper .list-container { - padding-right: 15px; -} -.upload-wrapper .list-container.plx-upload-Manual-showdetail { - margin-left: -22px; -} -.upload-wrapper .list-container.plx-upload-auto-showdetail { - margin-left: -10px; -} -.upload-wrapper .list-footer .upload-btn { - margin-top: 10px; -} -.upload-wrapper .upload-btn { - display: inline-block; -} -.upload-wrapper .loader-container { - position: absolute; - display: inline-block; - top: 8px; - left: 12px; -} -.upload-wrapper .list-group-item-pdleft-s { - padding: 0px 0px 0px 12px; -} -.upload-wrapper .list-group-item-pdleft { - padding: 0px 0px 0px 12px !important; -} -.upload-wrapper .upload-btn-wrapper { - display: inline-block; -} -.upload-wrapper .plx-red.left { - margin-left: 75px; -} -.upload-wrapper .expand-wrapper { - position: absolute; - left: 20px; - top: 4px; - display: inline-block; - font-size: 14px; -} -.upload-wrapper .expand-wrapper.open .ict-go { - display: none; -} -.upload-wrapper .expand-wrapper.open .ict-fold { - display: block; -} -.upload-wrapper .expand-wrapper i { - height: 18px; - width: 20px; - text-align: left; - line-height: 19px; - cursor: pointer; -} -.upload-wrapper .ict-fold { - display: none; - color: #108EE9; - font-weight: bold; - transform: scale(0.7); -} -.upload-wrapper .ict-go { - display: block; - color: #108EE9; - font-weight: bold; - transform: scale(0.7); -} -.upload-wrapper .no-customparm-extend-wrapper { - left: -2px !important; -} -/* loding动画效果*/ -.upload-wrapper .loader { - font-size: 14px; - width: 14px; - height: 14px; - display: inline-block; - border-radius: 50%; - background: #108EE9; - background: -moz-linear-gradient(left, #108EE9 10%, rgba(255, 255, 255, 0) 85%); - background: -webkit-linear-gradient(left, #108EE9 10%, rgba(255, 255, 255, 0) 85%); - background: -o-linear-gradient(left, #108EE9 10%, rgba(255, 255, 255, 0) 85%); - background: -ms-linear-gradient(left, #108EE9 10%, rgba(255, 255, 255, 0) 85%); - background: linear-gradient(to right, #108EE9 10%, rgba(255, 255, 255, 0) 85%); - position: relative; - -webkit-animation: load3 1.4s infinite linear; - animation: load3 1.4s infinite linear; -} -.upload-wrapper .loader:before { - width: 50%; - height: 50%; - background: #108EE9; - border-radius: 100% 0 0 0; - position: absolute; - top: 0; - left: 0; - content: ''; -} -.upload-wrapper .loader:after { - background: #fff; - width: 75%; - height: 75%; - border-radius: 50%; - content: ''; - margin: auto; - position: absolute; - top: 0; - left: 0; - bottom: 0; - right: 0; -} -@-webkit-keyframes load3 { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -@keyframes load3 { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -.plx-table-customCols { - height: 40px; - float: right; -} -.plx-table-customCols-toggle { - display: inline-block; - border-radius: 3px; - width: 30px; - height: 23px; - border: 1px solid #d9d9d9; - vertical-align: top; - text-align: center; - padding-top: 7px; - margin-left: 6px; - cursor: pointer; - box-sizing: content-box; -} -.plx-table-customCols-toggle .ict-col:before { - vertical-align: top; -} -.plx-table-customCols-toggle:hover { - background-color: #fff; -} -.plx-table-customCols-toggle:active { - background-color: #108ee9; -} -.toggle-icon { - display: inline-block; - height: 14px; - border-right: 1px solid #595959; - vertical-align: top; - padding-left: 4px; -} -.toggle-icon:first-child { - padding-left: 0; -} -.plx-table-customCols-pannel { - margin-top: 5px; - margin-right: 5px; - border: 1px solid #d9d9d9; - background-color: #fff; - z-index: 1; - position: absolute; - right: 0px; - border-radius: 5px; - font-size: 14px; - color: #595959; - overflow: auto; - min-width: 300px; - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); -} -.plx-table-customCols-pannel .plx-table-customCols-toolbar { - display: flex; - justify-content: space-between; - padding: 16px; -} -.plx-table-customCols-pannel .plx-table-customCols-toolbar .plx-table-filter-wrapper { - display: flex; - flex: auto; -} -.plx-table-customCols-pannel .plx-table-customCols-toolbar .plx-table-filter-wrapper input { - border-radius: 3px; - flex: auto; - padding-left: 28px; - border: 1px solid #d9d9d9; -} -.plx-table-customCols-pannel .plx-table-customCols-toolbar .plx-table-filter-wrapper input:focus { - border: 1px solid #108EE9; - outline: none; -} -.plx-table-customCols-pannel .plx-table-customCols-toolbar .plx-table-filter-wrapper span { - color: #bfbfbf; - line-height: 28px; - position: relative; - left: 20px; -} -.plx-table-customCols-pannel .plx-table-customCols-items { - cursor: pointer; - border-bottom: 1px solid #e9e9e9; - border-top: 1px solid #e9e9e9; -} -.plx-table-customCols-pannel .plx-table-customCols-items > div:hover { - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); -} -.plx-table-customCols-pannel .plx-table-customCols-items label { - margin-bottom: 0px; - vertical-align: -moz-middle-with-baseline; - vertical-align: -webkit-baseline-middle; - vertical-align: 25%; -} -.plx-table-customCols-pannel .plx-table-customCols-items .plx-table-customCols-item > span { - padding: 0px 6px; -} -.plx-table-customCols-pannel .plx-table-customCols-items .plx-table-customCols-operations { - visibility: hidden; - float: right; -} -.plx-table-customCols-pannel .plx-table-customCols-items .plx-table-customCols-operations div { - box-sizing: content-box; - padding: 0px 8px; - display: inline-block; -} -.plx-table-customCols-pannel .plx-table-customCols-items .heighLight { - background-color: #e2f2fc; -} -.plx-table-customCols-pannel .plx-table-customCols-items .heighLight .plx-table-customCols-operations .plx-table-goup-show { - visibility: visible; -} -.plx-table-customCols-pannel .plx-table-customCols-items .heighLight .plx-table-customCols-operations .plx-table-godown-show { - visibility: visible; -} -.plx-table-customCols-pannel .plx-table-customCols-items .heighLight .plx-table-customCols-operations span { - color: #108EE9; -} -.plx-table-customCols-pannel .plx-table-customCols-items .dragging { - box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2); -} -.plx-table-customCols-pannel .plx-table-customCols-items .dragEnter { - background-color: #00abff; -} -.plx-table-customCols-pannel .plx-table-customCols-items .plx-table-customCols-dropArea { - height: 10px; - border-bottom: 1px solid #e9e9e9; -} -.plx-table-customCols-pannel .plx-table-customCols-items .plx-table-customCols-dropArea-before { - height: 10px; - border-bottom: none; -} -.plx-table-customCols-pannel .plx-table-customCols-items > div:last-child .plx-table-customCols-dropArea { - border-bottom: none; -} -.plx-table-customCols-pannel .plx-table-customCols-items .plx-table-customCols-item { - line-height: 20px; - height: 20px; - padding: 0px 16px; -} -.plx-table-customCols-pannel .plx-table-customCols-confirm { - display: flex; - align-items: center; - justify-content: center; - padding: 16px 16px; -} -.plx-table-col-filter { - border: 1px solid #d9d9d9; - margin: 5px; - box-sizing: border-box; - height: 30px; -} -.plx-table-col-filter input { - width: calc(100% - 25px); - line-height: normal; - font-weight: normal; - border: none; - height: 26px; - font-size: 14px; - box-sizing: border-box; -} -.plx-table-col-filter input:focus { - outline: none; -} -.plx-table-col-filter .filterIcon { - /*position: absolute;*/ - top: 6px; - left: 3px; - fill: #dedede; - width: 14px; -} -.plx-filter-focused { - outline: none; - border: 1px solid #108EE9; -} -.plx-table-col-icon-wrapper { - padding-left: 5px; - display: inline-block; - line-height: 30px; -} -.plx-table-col-icon-wrapper span { - vertical-align: sub; -} -::-webkit-input-placeholder { - /* WebKit browsers */ - color: #c1c1c1; -} -:-moz-placeholder { - /* Mozilla Firefox 4 to 18 */ - color: #c1c1c1; -} -::-moz-placeholder { - /* Mozilla Firefox 19+ */ - color: #c1c1c1; -} -:-ms-input-placeholder { - /* Internet Explorer 10+ */ - color: #c1c1c1; -} -.plx-table-selectFilter-wrapper { - display: inline-block; - vertical-align: middle; - height: 28px; - cursor: pointer; - /*此处 若不为absolute则被td遮挡*/ - position: absolute; -} -.plx-table-selectFilter-icon { - vertical-align: middle; - height: 28px; - fill: #8e8e8e; -} -.icon-selectFilter-activtied { - fill: #108EE9; -} -.plx-table-selectFilter-panel { - margin-top: -5px; - border: 1px solid #d9d9d9; - background-color: #fff; - padding: 10px; - right: 0px; - border-radius: 5px; - /*此处若为absolute则文本要换行,恩,玄学*/ - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); -} -.plx-table-selectFilter-panel span { - vertical-align: -25%; - font-size: 14px; -} -.plx-table-selectFilter-panel label { - line-height: normal; -} -.plx-table-selectFilter-panel div { - line-height: normal; -} -.plx-table-filter { - height: 40px; - float: right; -} -.plx-table-filter input { - border-radius: 3px; - line-height: normal; - padding: 0px 6px; - font-weight: normal; - border: 1px solid #d9d9d9; - margin-bottom: 10px; - height: 32px; - width: 200px; - box-sizing: border-box; - font-size: 14px; - color: #595959; -} -.plx-table-filter input:focus { - outline: none; - border: 1px solid #108EE9; -} -.plx-table-filterToggle { - display: inline-block; - width: 30px; - height: 30px; - border-radius: 3px; - border: 1px solid #d9d9d9; - vertical-align: top; - text-align: center; - margin-left: 6px; - cursor: pointer; - box-sizing: content-box; -} -.plx-table-filterToggle.ict-filter:before { - line-height: 30px; -} -.plx-table-filterToggle.ict-filter-f:before { - line-height: 30px; - color: #108EE9; -} -.plx-table-filter-icon-wrapper { - vertical-align: middle; - display: inline-block; - padding-top: 5px; -} -.plx-table-filterIcon { - fill: #595959; -} -.plx-table-pagination { - float: right; - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - font-size: 14px; - color: #595959; - margin-top: 10px; - margin-bottom: 10px; -} -.plx-table-pagination-content { - display: inline-block; - text-decoration: none; -} -.plx-table-pagination-item { - list-style-type: none; - display: inline-block; -} -.plx-table-pagination-item span { - vertical-align: middle; -} -.plx-table-pagination-item select { - vertical-align: middle; - height: 26px; - width: 45px; - border: 1px solid #d9d9d9; -} -.plx-table-pagination-input { - padding: 1px; - height: 26px; - width: 45px; - margin-left: 1px; - margin-right: 1px; - font-size: 12px; - color: #595959; - box-sizing: border-box; - border: 1px solid #d9d9d9; - text-align: center; - vertical-align: middle; -} -.plx-table-pagination-nav { - display: inline-block; - height: 26px; - border: 1px solid #d9d9d9; - font-size: 14px; - text-decoration: none; - color: #595959; - padding-left: 6px; - padding-right: 6px; - cursor: pointer; - text-align: center; - vertical-align: middle; - box-sizing: border-box; -} -a:not([href]):not([tabindex]).plx-table-pagination-disabled { - color: #bfbfbf; - cursor: not-allowed; -} -.plx-table-dropdown-wrapper { - cursor: pointer; -} -.plx-table-dropdown-icon-shared { - font-size: 20px; - line-height: 2.2 !important; - cursor: pointer; -} -.plx-table-dropdown-icon-polyline-shared { - height: 16px; - width: 16px; - stroke: #00abff ; -} -.ict-down, -.ict-up { - font-size: 20px; - line-height: 2.2 !important; - cursor: pointer; -} -.ict-down polyline, -.ict-up polyline { - height: 16px; - width: 16px; - stroke: #00abff ; -} -.ict-down polyline:hover, -.ict-up polyline:hover { - stroke: #2d91c4; -} -.plx-table-innerTr { - border: 1px solid #d9d9d9; -} -.plx-table-innerTr #plx-table-innerTd { - padding: 0px; -} -.plx-table-innerTable { - width: 100%; -} -.plx-table-innerTable tr { - color: #595959; - font-size: 14px; -} -.plx-table-innerTable tr td#plx-inner-table-title, -.plx-table-innerTable tr td#plx-inner-table-content { - padding: 8px; - height: 40px; - border: none; - border-bottom: 1px solid #d9d9d9; -} -.plx-table-innerTable tr td:first-child { - text-align: right; -} -.plx-table-innerTable tr td:last-child { - text-align: left; -} -.plx-table-innerTable tr:last-child td#plx-inner-table-title, -.plx-table-innerTable tr:last-child td#plx-inner-table-content { - border-bottom: none; -} -/* 排序图标 */ -.plx-table-sort-icon-shared { - display: block; - cursor: pointer; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - margin-bottom: 2px; -} -.plx-table-sortIconWrapper { - display: inline-block; - vertical-align: middle; - margin-left: 3px; -} -/* 排序图标:箭头向上 */ -.plx-table-sortAsc { - display: block; - cursor: pointer; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - margin-bottom: 2px; - border-bottom: 5px solid #8e8e8e; -} -.plx-table-ascActived { - border-bottom: 5px solid #108EE9; -} -/* 排序图标:箭头向下 */ -.plx-table-sortDesc { - display: block; - cursor: pointer; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - margin-bottom: 2px; - border-top: 5px solid #8e8e8e; -} -.plx-table-descActived { - border-top: 5px solid #108EE9; -} -.plx-color-picker-border-radius { - border-top-left-radius: 3px; - border-top-right-radius: 3px; -} -.plx-color-picker * { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - margin: 0; - font-size: 12px; - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; -} -.plx-color-picker { - cursor: default; - width: 246px; - height: auto; - left: 30px; - top: 250px; - position: absolute; - z-index: 1000; - background-color: #fff; - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - border-radius: 3px; - border: 1px solid #d9d9d9; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.plx-color-picker i { - cursor: default; - position: relative; -} -.plx-color-picker input { - font-size: 14px; - height: 32px; - padding-left: 10px; - padding-right: 10px; - outline: 0; - border: 1px solid #d9d9d9; - border-radius: 3px; - vertical-align: middle; - text-align: center; - height: 24px; - -moz-appearance: textfield; -} -.short-text-input .plx-color-picker input { - width: 120px; -} -.text-input-with-unit .plx-color-picker input { - width: 355px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-unitOption .plx-color-picker input { - width: 316px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-prefix .plx-color-picker input { - width: 330px; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.text-input-with-prefixOption .plx-color-picker input { - width: 316px; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.text-input-with-passwordSwith .plx-color-picker input { - width: 360px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-prefix.text-input-with-unit .plx-color-picker input { - width: 285px; -} -.text-input-with-prefix.text-input-with-unitOption .plx-color-picker input { - width: 246px; -} -.short-text-input.text-input-with-prefix .plx-color-picker input { - width: 80px; -} -.short-text-input.text-input-with-unit .plx-color-picker input { - width: 80px; -} -.short-text-input.text-input-with-prefix.text-input-with-unit .plx-color-picker input { - width: 40px; -} -.plx-color-picker input:focus { - border: 1px solid #108EE9; -} -.plx-color-picker input:disabled, -.plx-color-picker input[disabled] { - cursor: not-allowed; - background-color: #f5f5f5; -} -.plx-color-picker input:invalid { - box-shadow: none; -} -.plx-color-picker input:-moz-submit-invalid { - box-shadow: none; -} -.plx-color-picker input:-moz-ui-invalid { - box-shadow: none; -} -.plx-color-picker input::-webkit-outer-spin-button, -.plx-color-picker input::-webkit-outer-spin-button { - -webkit-appearance: textfield; - margin: 0; -} -.plx-color-picker .color-picker-overlay1 { - border-top-left-radius: 3px; - border-top-right-radius: 3px; - position: absolute; - left: 0; - top: 0; - width: 244px; - height: 118px; - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='#ffffff', endColorstr='#00ffffff')"; - /* IE8 */ - background: -moz-linear-gradient(left, #ffffff 0%, rgba(255, 255, 255, 0) 100%); - /* FF3.6+ */ - background: -webkit-gradient(linear, left top, right top, color-stop(0%, #ffffff), color-stop(100%, rgba(255, 255, 255, 0))); - /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(left, #ffffff 0%, rgba(255, 255, 255, 0) 100%); - /* Chrome10+,Safari5.1+ */ - background: -o-linear-gradient(left, #ffffff 0%, rgba(255, 255, 255, 0) 100%); - /* Opera 11.10+ */ - background: -ms-linear-gradient(left, #ffffff 0%, rgba(255, 255, 255, 0) 100%); - /* IE10+ */ - background: linear-gradient(to right, #ffffff 0%, rgba(255, 255, 255, 0) 100%); - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr='#ffffff', endColorstr='#00ffffff'); - /* IE6 & IE7 */ -} -.plx-color-picker .color-picker-overlay2 { - border-top-left-radius: 3px; - border-top-right-radius: 3px; - position: absolute; - left: 0; - top: 0; - width: 244px; - height: 118px; - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#00000000', endColorstr='#000000')"; - /* IE8 */ - background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0%, #000000 100%); - /* FF3.6+ */ - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(0, 0, 0, 0)), color-stop(100%, #000000)); - /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, #000000 100%); - /* Chrome10+,Safari5.1+ */ - background: -o-linear-gradient(top, rgba(0, 0, 0, 0) 0%, #000000 100%); - /* Opera 11.10+ */ - background: -ms-linear-gradient(top, rgba(0, 0, 0, 0) 0%, #000000 100%); - /* IE10+ */ - background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, #000000 100%); - /* W3C */ - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#000000', GradientType=0); - /* IE6-9 */ -} -.plx-color-picker .color-picker-saturation-lightness { - border-top-left-radius: 3px; - border-top-right-radius: 3px; - cursor: pointer; - width: 244px; - height: 118px; - border: none; - background-size: 100% 100%; -} -.plx-color-picker .color-picker-hue { - cursor: pointer; - border-radius: 3px; - width: 168px; - height: 10px; - border: none; - margin-bottom: 10px; - background-size: 100% 100%; - background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAQCAYAAAD06IYnAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIWDwkUFWbCCAAAAFxJREFUaN7t0kEKg0AQAME2x83/n2qu5qCgD1iDhCoYdpnbQC9bbY1qVO/jvc6k3ad91s7/7F1/csgPrujuQ17BDYSFsBAWwgJhISyEBcJCWAgLhIWwEBYIi2f7Ar/1TCgFH2X9AAAAAElFTkSuQmCC'); -} -.plx-color-picker .color-picker-alpha { - cursor: pointer; - border-radius: 3px; - width: 168px; - height: 10px; - border: none; - background-size: 100% 100%; - background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKgAAAAKCAYAAAAgnxVRAAAC9klEQVRYhdVYPc7bMAylku7WViCrfJ2cocfoGXqLHslbDhAvHjNkCBBRHSoZzwQpKW7T7yuBwAn9+CtKIuOu1+vXy+UyPx6PL5QphEDee0KKMdI0TRveP8KlaZoSEZUPhxCS9z4RERd+jJEzbuWFEKL3nlEWcDHzYgiBQR//Nht5miZGXrbLWbaGY+99RBuAK3zOuGfBZP+iwJU4ItgtuAiyaJdBH2fc6iPoY9CH/jH4xyKOJHAJcEnRlwxcWY8k1o3KepxOp3Rg5h9YnJ+UkvjtxNPCO8Ak4MunxevxRXun6UVCn1ynXyhb5Mp7Tc4Z3y0e6pG2tXw7quuQWI0v/ZGx0cEAfzaygtUWBAPVClXqRblaErX3cgPU/C4Y/Gi+1+TRTllI/FjUKvjy1OxLf60NodmUG9GSQRuY5/+mQAtpye0pEKvwrELRsGhPW/CWrNwsTnnXc8rgUxaPptOi3huj6NVyJ3NR2yS9mI0/rxRoTyDvJmvhe65U7QrT9LRO0pYti2oLYxW9/F07/WqbbY9Pmm/ajSR9kLH0knoLuPv9/vN2u31D5rIsNM/zBjgMA43jSB+AS+M4rk11xvE8z8hLwzDwOI6bpnxZljTPc+FFIuKsrwwHiYhixm2GhoxDnoaLYHflZ/82w9QwDNHAbYaajJN2o6KPM24dksDuE+KIEC8DbiML8a65UnCc7SbwJYHdNf+AY4FLAifXt6xbOp/Pae8V/xGnKfYxrUZbXu2J7GtK6rbIuuIsn1q9Xk9faMnW9PTEIm1ofTgZPDwpe6/r3TfR3gLtScDfplrPRuKdFryVBOu6avmh9b6vDCqtReuRlba1KdvqS63caTwrLq2t0NqTVs9u0juGpHecrr2TYyFtuu0pnt7pVPtuye8d3jQ8vu8psNqJ+sohgydmq0+3NkmtMM1/Eg7Oue/H4/H5grMtqk3Vf6Lz1SRbxWPh5ADQc5q0pm38bk3emtyeHMoC0ApCa3/2tAOtjSWLWDv1rc204f8CQvGUIhalBqwAAAAASUVORK5CYII='); -} -.plx-color-picker .color-picker-alpha-ba { - position: absolute; - background: linear-gradient(90deg, rgba(255, 255, 255, 0), #000); -} -.plx-color-picker .selected-color { - width: 30px; - height: 30px; - top: 0px; - left: 0px; - position: absolute; - -moz-border-radius: 50%; - -webkit-border-radius: 50%; - border-radius: 50%; - -khtml-border-radius: 50%; -} -.plx-color-picker .selected-color-background { - width: 30px; - height: 30px; - -moz-border-radius: 50%; - -webkit-border-radius: 50%; - border-radius: 50%; - -khtml-border-radius: 50%; - background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAh0lEQVRYR+2W0QlAMQgD60zdfwOdqa8TmI/wQMr5K0I5bZLIzLOa2nt37VVVbd+dDx5obgCC3KBLwJ2ff4PnVidkf+ucIhw80HQaCLo3DMH3CRK3iFsmAWVl6hPNDwt8EvNE5q+YuEXcMgkonVM6SdyCoEvAnZ8v1Hjx817MilmxSUB5rdLJDycZgUAZUch/AAAAAElFTkSuQmCC'); -} -.plx-color-picker .color-picker-cursor { - cursor: default; - position: relative; - -moz-border-radius: 50%; - -webkit-border-radius: 50%; - border-radius: 50%; - -khtml-border-radius: 50%; - width: 10px; - height: 10px; - border: #ffffff solid 1px; -} -.plx-color-picker .color-picker-cursor-selector { - cursor: default; - position: relative; - -moz-border-radius: 50%; - -webkit-border-radius: 50%; - border-radius: 50%; - -khtml-border-radius: 50%; - width: 10px; - height: 10px; - border: #ffffff solid 1px; - width: 12px; - height: 12px; - top: -1px; - background-color: #ffffff; - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); -} -.plx-color-picker .type-policy { - float: right; - position: absolute; - top: 198px; - right: 12px; - width: 16px; - height: 16px; -} -.plx-color-picker .type-policy:hover { - background-color: #E7F4FD; - cursor: pointer; -} -.plx-color-picker .arrow-down { - display: block; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-top: 4px solid #9b9b9b; - margin-top: 4px; - margin-left: 4px; -} -.plx-color-picker .arrow-up { - display: block; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-bottom: 4px solid #9b9b9b; - margin-top: 2px; - margin-left: 4px; -} -.plx-color-picker .box { - width: 100%; - height: 100%; - display: flex; -} -.plx-color-picker .box .left { - position: relative; - margin-right: 16px; -} -.plx-color-picker .box .right { - flex: 1 1 auto; -} -.plx-color-picker .button-area { - padding: 0 16px 16px 16px; - text-align: right; -} -.plx-color-picker .preset-area { - padding: 4px 15px; -} -.plx-color-picker .preset-area .preset-label { - width: 100%; - padding: 4px; - text-align: left; - color: #555; -} -.plx-color-picker .preset-area .preset-color { - cursor: pointer; - display: inline-block; - width: 18px; - height: 18px; - margin: 4px 6px 8px 6px; - -moz-border-radius: 25%; - -webkit-border-radius: 25%; - border-radius: 25%; - -khtml-border-radius: 25%; - border: #a9a9a9 solid 1px; -} -.plx-color-picker .hsla-text, -.plx-color-picker .rgba-text { - width: 196px; -} -.plx-color-picker .hsla-text input, -.plx-color-picker .rgba-text input { - color: #595959; - min-width: 0; - flex: 1; - margin: 0; - float: left; - padding: 1px; -} -.plx-color-picker .hsla-text input:last-child, -.plx-color-picker .rgba-text input:last-child { - margin-right: 0; -} -.plx-color-picker .hsla-text .hsla-text-div, -.plx-color-picker .rgba-text .hsla-text-div, -.plx-color-picker .hsla-text .rgba-text-div, -.plx-color-picker .rgba-text .rgba-text-div { - margin-top: 2px; - flex: 1; - text-align: center; - color: #999999; - height: 18px; - padding-right: 8px; -} -.plx-color-picker .hsla-text .hsla-text-div:last-child, -.plx-color-picker .rgba-text .hsla-text-div:last-child, -.plx-color-picker .hsla-text .rgba-text-div:last-child, -.plx-color-picker .rgba-text .rgba-text-div:last-child { - margin-right: 0; - padding-right: 0; -} -.plx-color-picker .hsla-text .hsla-text-degree, -.plx-color-picker .rgba-text .hsla-text-degree { - padding-right: 16px; -} -.plx-color-picker .hsla-text .hsla-text-percent, -.plx-color-picker .rgba-text .hsla-text-percent { - padding-right: 22px; -} -.plx-color-picker .hsla-text .hsla-degree, -.plx-color-picker .rgba-text .hsla-degree { - display: inline-block; - width: 6px; - margin-left: 2px; - margin-right: 8px; - margin-top: 2px; -} -.plx-color-picker .hsla-text .hsla-percent, -.plx-color-picker .rgba-text .hsla-percent { - display: inline-block; - width: 12px; - margin-left: 2px; - margin-right: 8px; - margin-top: 3px; -} -.plx-color-picker .hsla-text .rgba-text-input, -.plx-color-picker .rgba-text .rgba-text-input { - margin-right: 8px; -} -.plx-color-picker .hex-text { - width: 196px; -} -.plx-color-picker .hex-text .box input { - color: #595959; - flex: 1 1 auto; - padding: 1px; -} -.plx-color-picker .hex-text .box div { - margin-top: 2px; - flex: 1 1 auto; - text-align: center; - height: 18px; - color: #999999; - float: left; - clear: left; -} -.plx-color-picker .bacis-color-alpha-select-area { - padding: 20px 16px 16px 16px; -} -.plx-color-picker .color-format-content-area { - padding: 0px 16px 16px 16px; -} -.plx-color-picker .arrow::after, -.plx-color-picker .arrow::before { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; - content: ""; - border-width: 7px 7px; -} -.plx-color-picker .arrow.arrow-bottom::after { - left: 20px; - border-top-width: 0; - top: -7px; - border-bottom-color: #ffffff; -} -.plx-color-picker .arrow.arrow-bottom::before { - left: 20px; - border-top-width: 0; - top: -8px; - border-bottom-color: #999999; -} -body { - font-size: 14px; -} -.shadow { - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); -} -:-moz-placeholder { - /* Mozilla Firefox 4 to 18 */ - color: #bfbfbf; -} -::-moz-placeholder { - /* Mozilla Firefox 19+ */ - color: #bfbfbf; -} -input:-ms-input-placeholder { - color: #bfbfbf; -} -input::-webkit-input-placeholder { - color: #bfbfbf; -} -.plx-btn { - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - color: #108EE9; - min-width: 88px; - letter-spacing: 1px; - padding: 0px 16px; - height: 32px; - font-size: 14px; - cursor: pointer; - text-align: center; - white-space: nowrap; - margin-right: 10px; - vertical-align: middle; - border: 1px solid #d9d9d9; - background-color: #fff; - border-radius: 3px; - line-height: 30px; -} -.plx-btn:hover, -.plx-btn:disabled, -.plx-btn[disabled], -.plx-btn:focus, -.plx-btn:active { - outline: none; - background-image: none; - filter: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; -} -.plx-btn:hover, -.plx-btn:focus { - color: #108ee9; - border-color: #108ee9; - background-color: #fff; -} -.plx-btn:active { - color: #fff; - border-color: #108ee9; - background-color: #108ee9; -} -.plx-btn:disabled, -.plx-btn[disabled] { - color: #bfbfbf; - background-color: #fff; - border-color: #e9e9e9; -} -.plx-btn:disabled:hover, -.plx-btn[disabled]:hover, -.plx-btn:disabled:focus, -.plx-btn[disabled]:focus { - color: #bfbfbf; - background-color: #fff; - border-color: #e9e9e9; - cursor: not-allowed; -} -.plx-btn .plx-btn-icon { - font-size: 16px; - vertical-align: text-top; - margin-right: 3px; -} -.plx-btn-primary { - background-color: #108EE9; - color: #fff; - border-color: #108EE9; -} -.plx-btn-primary:hover, -.plx-btn-primary:focus { - color: #fff; - background-color: #0D75BF; - border-color: #0D75BF; -} -.plx-btn-primary:active { - color: #fff; - background-color: #0C66A7; - border-color: #0C66A7; -} -.plx-btn-primary:disabled, -.plx-btn-primary[disabled], -.plx-btn-primary:disabled:hover, -.plx-btn-primary[disabled]:hover, -.plx-btn-primary:disabled:focus, -.plx-btn-primary[disabled]:focus { - color: #fff; - border-color: #108EE9; - background-color: #108EE9; - opacity: 0.5; -} -.plx-btn-guide { - background-color: #5cb85c; - color: #fff; - border-color: #5cb85c; -} -.plx-btn-guide:hover, -.plx-btn-guide:focus { - color: #fff; - background-color: #00994d; - border-color: #00994d; -} -.plx-btn-guide:active { - color: #fff; - background-color: #008040; - border-color: #008040; -} -.plx-btn-guide:disabled, -.plx-btn-guide[disabled], -.plx-btn-guide:disabled:hover, -.plx-btn-guide[disabled]:hover, -.plx-btn-guide:disabled:focus, -.plx-btn-guide[disabled]:focus { - color: #fff; - border-color: #5cb85c; - background-color: #5cb85c; - opacity: 0.5; -} -.plx-btn-table { - color: #595959; -} -.plx-btn-error { - background-color: #EA4335; - color: #fff; - border-color: #EA4335; -} -.plx-btn-error:hover, -.plx-btn-error:focus { - color: #fff; - background-color: #DD1B0A; - border-color: #DD1B0A; -} -.plx-btn-error:active { - color: #fff; - background-color: #B92113; - border-color: #B92113; -} -.plx-btn-error:disabled, -.plx-btn-error[disabled], -.plx-btn-error:disabled:hover, -.plx-btn-error[disabled]:hover, -.plx-btn-error:disabled:focus, -.plx-btn-error[disabled]:focus { - color: #fff; - border-color: #EA4335; - background-color: #EA4335; - opacity: 0.5; -} -.plx-btn-sm { - height: 28px; - padding: 0px 14px; - min-width: 68px; - margin-right: 5px; - line-height: 26px; -} -.plx-btn-xs { - height: 24px; - padding: 0px 12px; - min-width: 68px; - margin-right: 5px; - line-height: 22px; -} -.plx-btn.dropdown-toggle { - margin-right: 0; - outline: none !important; - background-image: none !important; - filter: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; -} -.plx-btn.dropdown-toggle::after { - margin-left: 16px; - border-top: 4px solid; - border-right: 4px solid transparent; - border-left: 4px solid transparent; - color: #c0c0c0; - margin-bottom: 1px; -} -.plx-btn-sm.dropdown-toggle::after { - margin-left: 14px; -} -.plx-btn-xs.dropdown-toggle::after { - margin-left: 12px; -} -.plx-btn + .dropdown-menu { - margin: 0; - padding: 0; - border: 0; - min-width: 100%; - font-size: 14px; - border-radius: 3px; - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); -} -.plx-btn + .dropdown-menu .dropdown-item { - background-color: #fff; - color: #595959; - font-size: 14px; - padding: 0px 16px; - height: 30px; - cursor: pointer; -} -.plx-btn + .dropdown-menu .dropdown-item:hover, -.plx-btn + .dropdown-menu .dropdown-item:focus, -.plx-btn + .dropdown-menu .dropdown-item:active { - outline: none; - background-color: #E7F4FD; -} -.plx-btn + .dropdown-menu .dropdown-item:disabled, -.plx-btn + .dropdown-menu .dropdown-item[disabled] { - color: #bfbfbf; -} -.plx-btn + .dropdown-menu .dropdown-item:disabled:hover, -.plx-btn + .dropdown-menu .dropdown-item[disabled]:hover, -.plx-btn + .dropdown-menu .dropdown-item:disabled:focus, -.plx-btn + .dropdown-menu .dropdown-item[disabled]:focus { - cursor: not-allowed; - background-color: #fff; -} -.plx-btn-sm + .dropdown-menu .dropdown-item { - padding: 0px 14px; -} -.plx-btn-xs + .dropdown-menu .dropdown-item { - padding: 0px 12px; -} -.plx-btn-more { - display: inline-block; - margin-right: 10px; -} -.plx-btn-more-sm { - margin-right: 5px; -} -.plx-btn-more-xs { - margin-right: 5px; -} -.plx-checkbox-container { - font-size: 0; - position: relative; -} -.plx-checkbox { - position: absolute; - z-index: -1; - opacity: 0; -} -.plx-checkbox + .checkbox-substitute { - position: relative; - display: inline-block; - cursor: pointer; - height: 16px; - width: 16px; - border: 1px solid #d9d9d9; - border-radius: 2px; - vertical-align: middle; -} -.plx-checkbox + .checkbox-substitute + span { - font-weight: normal; - font-size: 14px; - cursor: pointer; - vertical-align: middle; - padding-left: 10px; -} -.plx-checkbox:hover + .checkbox-substitute { - border-color: #108EE9; - outline: none; - background-image: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; -} -.plx-checkbox:checked + .checkbox-substitute { - border-color: #108EE9; - background-color: #108EE9; -} -.plx-checkbox:checked + .checkbox-substitute::after { - content: ''; - position: absolute; - display: block; - width: 6px; - height: 10px; - border: solid #fff; - border-width: 0 2px 2px 0; - transform: rotate(45deg); - left: 4px; - top: 0; -} -.plx-checkbox.portion + .checkbox-substitute { - background-color: #108EE9; - border-color: #108EE9; - opacity: 0.5; -} -.plx-checkbox.portion + .checkbox-substitute::after { - content: ''; - position: absolute; - display: block; - width: 6px; - height: 10px; - border: solid #fff; - border-width: 0 2px 2px 0; - transform: rotate(45deg); - left: 4px; - top: 0; -} -.plx-checkbox:disabled + .checkbox-substitute, -.plx-checkbox[disabled] + .checkbox-substitute { - border-color: #d9d9d9; - background-color: #f5f5f5; - cursor: not-allowed; -} -.plx-checkbox:disabled + .checkbox-substitute + span, -.plx-checkbox[disabled] + .checkbox-substitute + span { - cursor: not-allowed; -} -.plx-checkbox.portion[disabled] + .checkbox-substitute { - background-color: #d9d9d9; - border-color: #d9d9d9; -} -.plx-checkbox.portion[disabled] + .checkbox-substitute::after { - content: ''; - position: absolute; - display: block; - width: 6px; - height: 10px; - border: solid #8e8e8e; - border-width: 0 2px 2px 0; - transform: rotate(45deg); - left: 4px; - top: 0; -} -.plx-checkbox:checked[disabled] + .checkbox-substitute { - border-color: #d9d9d9; - background-color: #d9d9d9; -} -.plx-form { - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - font-size: 14px; - background: #fff; - color: #595959; -} -.plx-form .ng-invalid:not(form).ng-invalid:not(fieldset).ng-invalid:not(plx-select) { - border: 1px solid #EA4335; - /* red */ -} -.plx-form .ng-untouched:not(form).ng-untouched:not(fieldset).ng-untouched:not(plx-select) { - border: 1px solid #d9d9d9; -} -.plx-form label { - font-size: 14px; - text-align: right; - color: #737373; - background: #fff; -} -.plx-form label .label-span { - color: #595959; -} -.plx-form .text-autocut { - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; - display: block; -} -.plx-form .forms-group-pointer { - margin-bottom: 10px; - padding-left: 15px; - color: #404040; - font-size: 16px; - height: 32px; - line-height: 32px; - cursor: pointer; -} -.plx-form .forms-group-pointer:hover { - background: #E7F4FD; -} -.plx-form .forms-group-pointer span { - margin-left: 24px; - border-left: 3px solid #108EE9; - padding-left: 5px; -} -.plx-form .forms-group-pointer .group-icon { - float: left; - font-size: 16px; - color: #108EE9 !important; - line-height: 32px; - margin-right: 8px; - transform: scale(0.7, 0.7); - font-weight: bold; -} -.plx-form .forms-group-default { - margin-bottom: 10px; - padding-left: 15px; - color: #404040; - font-size: 16px; - height: 32px; - line-height: 32px; - cursor: default; - line-height: 16px; -} -.plx-form .forms-group-default:hover { - background: #fff; -} -.plx-form .forms-group-default span { - margin-left: 24px; - border-left: 3px solid #108EE9; - padding-left: 5px; -} -.plx-form .forms-group-default .group-icon { - float: left; - font-size: 16px; - color: #108EE9 !important; - line-height: 32px; - margin-right: 8px; - transform: scale(0.7, 0.7); - font-weight: bold; -} -.plx-form .input-sm { - height: 28px !important; -} -.plx-form .px-red { - color: #EA4335; -} -.plx-form input:focus { - border: 1px solid #108EE9 !important; -} -.plx-form .error-div { - height: 14px; - margin-top: -4px; - margin-bottom: 5px; -} -.plx-form .error-div .error-msg { - color: #EA4335; -} -.plx-form .help-div { - color: #bfbfbf; - height: 14px; - margin-top: -5px; - margin-bottom: 6px; -} -.plx-form .forms-header { - margin-left: 15px; - margin-bottom: 25px; - padding-bottom: 5px; - border-bottom: 1px solid #e9e9e9; -} -.plx-form .forms-header span { - font-size: 16px; - color: #404040; -} -.plx-form .plx-input { - width: 100%; - color: #595959; - background: #fff; - text-align: left; -} -.plx-form .field-radio { - padding-right: 10px; - line-height: 27px; -} -.plx-form .field-radio.field-radio-tight { - line-height: 23px; -} -.plx-form .field-tail { - padding-right: 10px; - line-height: 32px; -} -.plx-form .field-tail.field-tail-tight { - line-height: 28px; -} -.plx-form .field-tail .tip { - color: #8e8e8e; - font-size: 16px; -} -.plx-form .field-info { - font-size: 14px; - color: #108EE9; - margin-left: -15px; -} -.plx-form .field-info.field-info-group { - margin-left: 15px; -} -.plx-form .form-field:not(select-dropdown) { - color: #595959; - font-size: 14px; - line-height: 32px; -} -.plx-form .form-field:not(select-dropdown).form-field-tight { - line-height: 28px; -} -.plx-form .form-field:not(select-dropdown).form-filed-hint { - margin-bottom: 15px; -} -.plx-form .field-div { - margin-bottom: 15px; - padding-left: 0; -} -.plx-form .field-div.field-div-tight { - margin-bottom: 10px; -} -.plx-form .field-div.inputchanged > input { - font-weight: bold; -} -.plx-form .field-div.inputchanged > select { - font-weight: bold; -} -.plx-form .button-div { - padding: 15px 0 0 0; - color: #595959; - font-size: 16px; - text-align: left; -} -.plx-form .button-div button { - margin-right: 10px; -} -.plx-form .button-r-submit { - float: right; - margin-right: -20px !important; -} -.plx-form .button-r-cancel { - float: right; -} -.plx-form .content { - overflow-y: auto; - overflow-x: hidden; -} -.plx-form .plx-scrollbar::-webkit-scrollbar { - width: 4px; - height: 6px; -} -.plx-form .plx-scrollbar::-webkit-scrollbar-thumb { - background-color: rgba(0, 0, 0, 0.2); - border-radius: 2em; - min-height: 50px; - max-height: 100px; -} -.plx-form .plx-scrollbar::-webkit-scrollbar-corner { - background-color: transparent; -} -.plx-form input:-ms-input-placeholder { - color: #999 !important; -} -.plx-form input::-webkit-input-placeholder { - color: #999 !important; -} -.plx-form plx-info .icon { - margin-left: -10px; - line-height: 28px !important; -} -.para-content .icon-active { - fill: #108EE9; -} -.para-content .icon-disactive { - fill: #bfbfbf; - cursor: default; -} -.plx-input { - font-size: 14px; - height: 32px; - padding-left: 10px; - padding-right: 10px; - outline: 0; - border: 1px solid #d9d9d9; - border-radius: 3px; - vertical-align: middle; -} -.plx-input:focus { - border: 1px solid #108EE9; -} -.plx-input:disabled, -.plx-input[disabled] { - cursor: not-allowed; - background-color: #f5f5f5; -} -.plx-input-sm { - height: 28px; -} -.plx-input-right-no-radius { - border-bottom-right-radius: 0; - border-top-right-radius: 0; -} -.plx-radio-container { - font-size: 0; - position: relative; -} -.plx-radio { - position: absolute; - z-index: -1; - opacity: 0; -} -.plx-radio + .radio-substitute { - position: relative; - display: inline-block; - cursor: pointer; - height: 16px; - width: 16px; - border: 1px solid #d9d9d9; - border-radius: 16px; - vertical-align: middle; -} -.plx-radio:hover + .radio-substitute, -.plx-radio:focus + .radio-substitute { - border-color: #108EE9; - outline: none; - background-image: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; -} -.plx-radio:checked + .radio-substitute { - border: 5px solid #108EE9; -} -.plx-radio:disabled + .radio-substitute, -.plx-radio[disabled] + .radio-substitute { - border-color: #d9d9d9; - background-color: #f5f5f5; - cursor: not-allowed; -} -.plx-radio:checked [disabled] + .radio-substitute { - border-color: #e9e9e9; - background-color: #e9e9e9; - cursor: not-allowed; -} -.plx-radio + .radio-substitute + span { - font-weight: normal; - font-size: 14px; - cursor: pointer; - vertical-align: middle; - padding-left: 10px; -} -.plx-radio:disabled + .radio-substitute + span, -.plx-radio[disabled] + .radio-substitute + span { - cursor: not-allowed; -} -/*radio-group*/ -.btn.dropdown-toggle, -.btn-group .btn.dropdown-toggle, -.btn:hover, -.btn:disabled, -.btn[disabled], -.btn:focus, -.btn:active, -.btn.active { - outline: none !important; - background-image: none !important; - filter: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; -} -.plx-radio-group { - cursor: pointer; - font-size: 14px; - height: 32px; - background-color: #fff; - border: 1px solid #d9d9d9; - color: #595959; - border-radius: 3px; - padding: 0px 16px; - min-width: 88px; - transition: none; -} -.plx-radio-group:hover, -.plx-radio-group:focus, -.plx-radio-group:active { - outline: none; - background-image: none; - filter: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; -} -.plx-radio-group:hover, -.plx-radio-group:focus { - color: #108ee9; - border-color: #108ee9; - background-color: #fff; -} -.plx-radio-group:active { - color: #fff; - border-color: #108ee9; - background-color: #108ee9; -} -.plx-radio-group.active { - background-color: #108EE9; - color: #fff; - border-color: #108EE9; -} -.plx-radio-group > span { - line-height: 30px; -} -.plx-radio-group-sm { - height: 28px; - padding: 0px 14px; - min-width: 68px; -} -.plx-radio-group-sm > span { - line-height: 26px; -} -.plx-ui-steps-number-active { - background: #108ee9; - color: #ffffff; -} -.plx-ui-steps-number-passive { - background: #d9d9d9; - color: #ffffff; -} -.plx-ui-steps-number-visited { - color: #ffffff; - border: 2px #108ee9 solid; -} -.plx-ui-underline-active { - background: #108ee9; -} -.plx-ui-underline-passive { - background: #e9e9e9; -} -.plx-ui-steps-title-active { - color: #595959; -} -.plx-ui-steps-title-passive { - color: #999999; -} -.plx-ui-steps-title-visited { - color: #999999; -} -.plx-ui-steps-number-visited-tick { - border-bottom: 2px solid #108ee9; - border-right: 2px solid #108ee9; -} -.plx-ui-underline-active-vertical { - border-right: 2px solid #d9d9d9; -} -.plx-ui-underline-visited-vertical { - border-right: 2px solid #108ee9; -} -.plx-ui-underline-passive-vertical { - border-right: 2px solid #d9d9d9; -} -.plx-ui-steps-title-active-vertical { - color: #595959; -} -.plx-ui-steps-title-visited-vertical { - color: #999999; -} -.plx-ui-steps-title-passive-vertical { - color: #999999; -} -.plx-ui-steps-number-active-vertical { - background: #108ee9; - color: #ffffff; -} -.plx-ui-steps-number-passive-vertical { - background: #d9d9d9; - color: #ffffff; -} -.plx-ui-steps-number-visited-vertical { - color: #ffffff; -} diff --git a/sdc-workflow-designer-ui/src/app/assets/components/themes/NIV/theme.less b/sdc-workflow-designer-ui/src/app/assets/components/themes/NIV/theme.less deleted file mode 100644 index a145f3fa..00000000 --- a/sdc-workflow-designer-ui/src/app/assets/components/themes/NIV/theme.less +++ /dev/null @@ -1,89 +0,0 @@ -//-------------------common start------------------------ -// -------- Colors start----------- -//配置说明:通常primary-color和primary-color-guide相同,某些产品需要有特别引导用户操作的按钮时,可以单独定义primary-color-guide -@primary-color: #108EE9; //主色,用于重点按钮底色,普通按钮文字色、tab页的选中横条色、进度条色、分组标题竖线等, 应用开发需要关注搭配class plx-btn-primary t -@guide-color: #5cb85c; //引导色,搭配class plx-btn-guide -@success-color: #00A854; //搭配class plx-btn-success -@warning-color: #F3B709; //搭配class plx-btn-warning -@error-color: #EA4335; //搭配class plx-btn-error -@common-color: #fff; //搭配class plx-btn - -//Colors-hover -@primary-color-hover: #0D75BF; -@primary-color-guide-hover: #00994d; -@success-color-hover: #00994D; -@warning-color-hover: #C99703; -@error-color-hover: #DD1B0A; -@common-color-hover: #fff; -@btn-common-color-text-hover: #108ee9; -@btn-common-color-border-hover: #108ee9; - - -//colors-click -@primary-color-click: #0C66A7; -@primary-color-guide-click: #008040; -@success-color-click: #008040; -@warning-color-click: #977202; -@error-color-click: #B92113; -@common-color-click: #108ee9; -@btn-common-color-text-click: #fff; -@btn-common-color-border-click: #108ee9; - -//opacity-disable -@opacity-disable: 0.5; -//text-color-scenes,在按钮或tab上的文字色 -@scene-textcolor: #fff; //用于有底色时的文字颜色,搭配class plx-btn-primary,plx-btn-* -@common-textcolor: @primary-color; //用于普通按钮和链接上的文字颜色,应用关注搭配 class plx-btn -//text color -@text-color: #595959; //普通文字颜色,不需要专用class -@title-text-color: #404040; //用于标题文字颜色 -@disabled-text-color: #bfbfbf; //用于禁用状态文字、placeholder文字颜色 -@light-text-color: #737373; //较浅色 -@unselected-text-color: #999; //用于未选中文字颜色 -@form-label:#737373;//用于表单标签颜色 -// Background color for `` -@body-bg: #fff; -// Base background color for most components -@component-bg: #fff; -@hover-bg-color: #E7F4FD; //用于菜单 、列表项、树项、表格行的hover背景色 -@selected-bg-color: #f5f5f5; //用于菜单 、列表项、树项、表格行的选中背景色 -@input-bg-color-disabled: #f5f5f5; //用于输入框禁用状态背景色 -//边框 -@border-color-base: #d9d9d9; // base border outline a component 搭配class: plx-border -@border-color-split: #e9e9e9; // split border inside a component 搭配class: plx-split -//字体图标 -@fonticon-color: #8e8e8e; //字体图标颜色,搭配class: plx-icon-* -@fonticon-bg-color-hover: @hover-bg-color; //一般字体图标hover时背景色变化 -@fonticon-color-hover: @primary-color; //当字体图标本身有背景色的时候,使用图标颜色本身加深的hover颜色。 -// Shadow -@shadow-color: rgba(0, 0, 0, .2); //阴影颜色,个别组件需要,无需搭配固定class - -// -------- Colors end------------- -// -------- font start------------- -@font-family: PingFang SC, Hiragino Sans GB, Microsoft YaHei, Segoe UI, Helvetica, Arial, "san-serif"; -@font-size-spacing:20px; //用于间距定义 -@font-size: 14px; //正文文字 -@font-size-title-level1: @font-size + 6px; //一级标题 -@font-size-title-level2: @font-size + 2px; //二级标题 -@font-size-title-group: @font-size + 2px; -// -------- font end--------------- -// -------- radius start------------- -@radius: 3px; //圆角 -@radius-sm: 2px; //小按钮圆角,用于下拉多选框的已选项的圆角 -@radius-lg: 20px; //用于标签,搭配class:plx-tag -// -------- radius start------------- -//size -//checkbos -@checkbox-size: @font-size+2px; //复选框高度 -//btn -@btn-height: 32px; //按钮高度 -@btn-height-sm: 28px; //小尺寸按钮,搭配class:plx-btn-sm -@btn-height-xs: 24px; //加小尺寸按钮,搭配class:plx-btn-xs -// Input -@input-height: 32px; //输入框高度 -@input-height-sm: 28px; //小尺寸输入框,搭配class:plx-input-sm - - - -@import "../common.less"; -@import "./NIV-theme.less"; \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/assets/components/themes/common.less b/sdc-workflow-designer-ui/src/app/assets/components/themes/common.less deleted file mode 100644 index bf530f08..00000000 --- a/sdc-workflow-designer-ui/src/app/assets/components/themes/common.less +++ /dev/null @@ -1,7 +0,0 @@ -@import "./common/plx-button.less"; -@import "./common/plx-checkbox.less"; -@import "./common/common.less"; -@import "./common/plx-form.less"; -@import "./common/plx-radio.less"; -@import "./common/plx-step.less"; -@import "./common/plx-text-input.less"; \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/assets/components/themes/common/common.less b/sdc-workflow-designer-ui/src/app/assets/components/themes/common/common.less deleted file mode 100644 index e53ef3d5..00000000 --- a/sdc-workflow-designer-ui/src/app/assets/components/themes/common/common.less +++ /dev/null @@ -1,27 +0,0 @@ -html{ - //font-size:@font-size-spacing; -}// 定义间距使用 -body{ - font-size:@font-size; -} -.shadow { --webkit-box-shadow: 0 1px 6px @shadow-color; --moz-box-shadow: 0 1px 6px @shadow-color; -box-shadow: 0 1px 6px @shadow-color; -} //阴影样式(包含跨浏览器),可以直接引用.shadow - -:-moz-placeholder { /* Mozilla Firefox 4 to 18 */ - color: @disabled-text-color; -} - -::-moz-placeholder { /* Mozilla Firefox 19+ */ - color: @disabled-text-color; -} - -input:-ms-input-placeholder{ - color: @disabled-text-color; -} - -input::-webkit-input-placeholder{ - color: @disabled-text-color; -} diff --git a/sdc-workflow-designer-ui/src/app/assets/components/themes/common/plx-button.less b/sdc-workflow-designer-ui/src/app/assets/components/themes/common/plx-button.less deleted file mode 100644 index a1421c81..00000000 --- a/sdc-workflow-designer-ui/src/app/assets/components/themes/common/plx-button.less +++ /dev/null @@ -1,272 +0,0 @@ -@import "../default/theme.less"; - -@padding-normal: 0px 16px; -@padding-sm: 0px 14px; -@padding-xs: 0px 12px; -@min-width-normal: 80px; -@min-width-sm: 60px; -@min-width-xs: 60px; -@btn-margin-right: 10px; -@btn-margin-right-sm: 5px; -@btn-margin-right-xs: 5px; -@btn-border-height: 1px; - -.border-min-width(@min-width, 14px) { - min-width: @min-width + 8px; -} - -.border-min-width(@min-width, 12px) { - min-width: @min-width; -} - -.background-color-white-color-disabled (@color) when (@color = #fff) { - color: @disabled-text-color; - background-color: @common-color; - border-color: #e9e9e9; -} - -.background-color-white-color-disabled (@color) when not (@color = #fff) { - border-color: @color; - background-color: @color; - opacity: @opacity-disable; -} - -.plx-btn { - font-family: @font-family; - color: @common-textcolor; - .border-min-width(@min-width-normal, @font-size); - letter-spacing: 1px; - padding: @padding-normal; - height: @btn-height; - font-size: @font-size; - cursor: pointer; - text-align: center; - white-space: nowrap; - margin-right: @btn-margin-right; - vertical-align: middle; - border: @btn-border-height solid @border-color-base; - background-color: @common-color; - border-radius: @radius; - line-height: @btn-height - @btn-border-height * 2; - &:hover, - &:disabled, - &[disabled], - &:focus, - &:active { - outline: none; - background-image: none; - filter: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; - } - &:hover, - &:focus { - color: @btn-common-color-text-hover; - border-color: @btn-common-color-border-hover; - background-color: @common-color-hover; - } - &:active { - color: @btn-common-color-text-click; - border-color: @btn-common-color-border-click; - background-color: @common-color-click; - } - &:disabled, - &[disabled] { - .background-color-white-color-disabled(@common-color); - } - &:disabled:hover, - &[disabled]:hover, - &:disabled:focus, - &[disabled]:focus { - .background-color-white-color-disabled(@common-color); - cursor: not-allowed; - } - & .plx-btn-icon { - font-size: 16px; - vertical-align: text-top; - margin-right: 3px; - } -} - -.plx-btn-primary { - background-color: @primary-color; - color: @scene-textcolor; - border-color: @primary-color; - &:hover, - &:focus { - color: @scene-textcolor; - background-color: @primary-color-hover; - border-color: @primary-color-hover; - } - &:active { - color: @scene-textcolor; - background-color: @primary-color-click; - border-color: @primary-color-click; - } - &:disabled, - &[disabled], - &:disabled:hover, - &[disabled]:hover, - &:disabled:focus, - &[disabled]:focus { - color: @scene-textcolor; - .background-color-white-color-disabled(@primary-color); - } -} - -.plx-btn-guide { - background-color: @guide-color; - color: @scene-textcolor; - border-color: @guide-color; - &:hover, - &:focus { - color: @scene-textcolor; - background-color: @primary-color-guide-hover; - border-color: @primary-color-guide-hover; - } - &:active { - color: @scene-textcolor; - background-color: @primary-color-guide-click; - border-color: @primary-color-guide-click; - } - &:disabled, - &[disabled], - &:disabled:hover, - &[disabled]:hover, - &:disabled:focus, - &[disabled]:focus { - color: @scene-textcolor; - .background-color-white-color-disabled(@guide-color); - } -} - -.plx-btn-table { - color: @text-color; -} - -.plx-btn-error { - background-color: @error-color; - color: @scene-textcolor; - border-color: @error-color; - &:hover, - &:focus { - color: @scene-textcolor; - background-color: @error-color-hover; - border-color: @error-color-hover; - } - &:active { - color: @scene-textcolor; - background-color: @error-color-click; - border-color: @error-color-click; - } - &:disabled, - &[disabled], - &:disabled:hover, - &[disabled]:hover, - &:disabled:focus, - &[disabled]:focus { - color: @scene-textcolor; - .background-color-white-color-disabled(@error-color); - } -} - -.plx-btn-sm { - height: @btn-height-sm; - padding: @padding-sm; - .border-min-width(@min-width-sm, @font-size); - margin-right: @btn-margin-right-sm; - line-height: @btn-height-sm - @btn-border-height * 2; -} - -.plx-btn-xs{ - height: @btn-height-xs; - padding: @padding-xs; - .border-min-width(@min-width-xs, @font-size); - margin-right: @btn-margin-right-xs; - line-height: @btn-height-xs - @btn-border-height * 2; -} - -.plx-btn.dropdown-toggle { - margin-right: 0; - outline: none !important; - background-image: none !important; - filter: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; -} - -.plx-btn.dropdown-toggle::after { - margin-left: 16px; - border-top: 4px solid; - border-right: 4px solid transparent; - border-left: 4px solid transparent; - color: darken(@border-color-base, 10%); - margin-bottom: 1px; -} - -.plx-btn-sm.dropdown-toggle::after { - margin-left: 14px; -} - -.plx-btn-xs.dropdown-toggle::after { - margin-left: 12px; -} - -.plx-btn+.dropdown-menu { - margin: 0; - padding: 0; - border: 0; - min-width: 100%; - font-size: @font-size; - border-radius: @radius; - .shadow; - & .dropdown-item { - background-color: @component-bg; - color: @text-color; - font-size: @font-size; - padding: @padding-normal; - height: 30px; - cursor: pointer; - &:hover, - &:focus, - &:active{ - outline: none; - background-color: @hover-bg-color; - } - &:disabled, - &[disabled] { - color: @disabled-text-color; - } - &:disabled:hover, - &[disabled]:hover, - &:disabled:focus, - &[disabled]:focus { - cursor: not-allowed; - background-color: @component-bg; - } - } -} - -.plx-btn-sm+.dropdown-menu .dropdown-item { - padding: @padding-sm; -} -.plx-btn-xs+.dropdown-menu .dropdown-item { - padding: @padding-xs; -} - -.plx-btn-more { - display: inline-block; - margin-right: @btn-margin-right; -} - -.plx-btn-more-sm { - margin-right: @btn-margin-right-sm; -} - -.plx-btn-more-xs { - margin-right: @btn-margin-right-xs; -} \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/assets/components/themes/common/plx-checkbox.less b/sdc-workflow-designer-ui/src/app/assets/components/themes/common/plx-checkbox.less deleted file mode 100644 index e0742f61..00000000 --- a/sdc-workflow-designer-ui/src/app/assets/components/themes/common/plx-checkbox.less +++ /dev/null @@ -1,105 +0,0 @@ -@import "../default/theme.less"; - -@checkbox-border-size: 1px; - -.plx-checkbox-container { - font-size: 0; - position: relative; -} - -.plx-checkbox { - position: absolute; - z-index: -1; - opacity: 0; - & + .checkbox-substitute { - position: relative; - display: inline-block; - cursor: pointer; - height: @checkbox-size; - width: @checkbox-size; - border: @checkbox-border-size solid @border-color-base; - border-radius: @radius-sm; - vertical-align: middle; - } - & + .checkbox-substitute + span { - font-weight: normal; - font-size: @font-size; - cursor: pointer; - vertical-align: middle; - .font-padding(@font-size); - } - &:hover + .checkbox-substitute { - border-color: @primary-color; - outline: none; - background-image: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; - } - &:checked + .checkbox-substitute { - border-color: @primary-color; - background-color: @primary-color; - &::after { - .checkbox-check(@component-bg); - } - } - &.portion + .checkbox-substitute { - background-color: @primary-color; - border-color: @primary-color; - opacity: 0.5; - &::after { - .checkbox-check(@component-bg); - } - } - &:disabled + .checkbox-substitute, - &[disabled] + .checkbox-substitute { - border-color: @border-color-base; - background-color: @input-bg-color-disabled; - cursor: not-allowed; - } - &:disabled + .checkbox-substitute + span, - &[disabled] + .checkbox-substitute + span { - cursor: not-allowed; - } - &.portion[disabled] + .checkbox-substitute { - background-color: @border-color-base; - border-color: @border-color-base; - &::after { - .checkbox-check(@fonticon-color); - } - } - &:checked[disabled] + .checkbox-substitute { - border-color: @border-color-base; - background-color: @border-color-base; - } -} - -.checkbox-check(@color) { - content: ''; - position: absolute; - display: block; - width: 6px; - height: 10px; - border: solid @color; - border-width: 0 2px 2px 0; - transform: rotate(45deg); - .checkbox-check-left(@font-size); - top: 0; -} - -.checkbox-check-left(12px) { - left: 3px; -} - -.checkbox-check-left(14px) { - left: 4px; -} - -.font-padding(12px) { - padding-left: 6px; -} - -.font-padding(14px) { - padding-left: 10px; -} diff --git a/sdc-workflow-designer-ui/src/app/assets/components/themes/common/plx-form.less b/sdc-workflow-designer-ui/src/app/assets/components/themes/common/plx-form.less deleted file mode 100644 index 600898a3..00000000 --- a/sdc-workflow-designer-ui/src/app/assets/components/themes/common/plx-form.less +++ /dev/null @@ -1,233 +0,0 @@ -@import "../default/theme.less"; -@import "./plx-button.less"; -@import "./plx-radio.less"; -@import "./plx-checkbox.less"; -@import "./plx-input.less"; - -.plx-form { - font-family: @font-family; - font-size: @font-size; - background: @component-bg; - color: @text-color; - .ng-invalid:not(form).ng-invalid:not(fieldset).ng-invalid:not(plx-select) { - border: 1px solid @error-color; /* red */ - } - .ng-untouched:not(form).ng-untouched:not(fieldset).ng-untouched:not(plx-select) { - border: 1px solid @border-color-base ; - } - // 标签和通用组件样式 - label { - font-size: @font-size; - text-align: right; - color: @form-label; - background: @component-bg; - .label-span { - color: @text-color; - } - } - - //分组的样式 - .forms-group(@cursor, @bgcolor) { - margin-bottom: 10px; - padding-left: 15px; - color: @title-text-color; - font-size: @font-size-title-group; - height: @input-height; - line-height: @input-height; - cursor: @cursor; - &:hover { - background: @bgcolor; - } - span { - margin-left: 24px; - border-left: 3px solid @primary-color; - padding-left: 5px; - } - // 分组的展开和隐藏 - .group-icon { - float:left; - font-size: @font-size-title-group; - color: @primary-color !important; - line-height:@input-height; - margin-right:8px; - transform: scale(0.7,0.7); - font-weight: bold; - } - } - - .text-autocut { - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; - display: block; - } - - .forms-group-pointer { - .forms-group(pointer, @hover-bg-color); - } - - .forms-group-default { - .forms-group(default, @component-bg); - line-height: @input-height / 2; - } - // 紧凑型表单input高度 - .input-sm { - height: @input-height-sm !important; - } - // 必选的*号颜色 - .px-red { - color: @error-color; - } - - input:focus { - border: 1px solid @primary-color !important; - } - // 错误信息 - .error-div { - height: @font-size; - margin-top: -4px; - margin-bottom: 5px; - .error-msg { - color: @error-color; - } - } - // 输入提示信息的样式 - .help-div { - color: @disabled-text-color; - height: @font-size; - margin-top: -5px; - margin-bottom: 6px; - } - // 标题样式 - .forms-header { - margin-left: 15px; - margin-bottom: 25px; - padding-bottom: 5px; - border-bottom:1px solid @border-color-split; - span { - font-size: @font-size-title-level2; - color: @title-text-color; - } - } - - .plx-input{ - width: 100%; - color: @text-color; - background: @component-bg; - text-align: left; - } - //radio、checkbox、tail的样式 - .field-radio { - padding-right:10px; - line-height:@input-height - 5px; - &.field-radio-tight { - line-height:@input-height-sm - 5px; - } - } - .field-tail { - padding-right:10px; - line-height:@input-height; - &.field-tail-tight { - line-height:@input-height-sm; - } - .tip { - color: @fonticon-color; - font-size: 16px; - } - } - .field-info { - font-size: @font-size; - color: @primary-color; - margin-left: -15px; - &.field-info-group { - margin-left: 15px; - } - } - //field的样式 - .form-field:not(select-dropdown) { - color: @text-color; - font-size: @font-size; - line-height: @input-height; - &.form-field-tight { - line-height:@input-height-sm; - } - &.form-filed-hint { - margin-bottom: 15px; - } - } - .field-div { - margin-bottom: 15px; - padding-left: 0; - &.field-div-tight { - margin-bottom: 10px; - } - // 输入值改变后的样式变化 - &.inputchanged > input{ - font-weight:bold; - } - &.inputchanged > select{ - font-weight:bold; - } - } - - .button-div { - padding: 15px 0 0 0; - color: @text-color; - font-size: @font-size-title-group; - text-align: left; - button { - margin-right: 10px; - } - } - - .button-r-submit { - float: right; - margin-right: -20px !important; - } - - .button-r-cancel { - float: right; - } - - .content { - overflow-y: auto; - overflow-x: hidden; - } - - //滚动条 - .plx-scrollbar::-webkit-scrollbar { - width: 4px; - height: 6px; - } - .plx-scrollbar::-webkit-scrollbar-thumb { - background-color: rgba(0,0,0,.2); - border-radius: 2em; - min-height: 50px; - max-height: 100px; - } - .plx-scrollbar::-webkit-scrollbar-corner{ - background-color: transparent; - } - // placeholder - input:-ms-input-placeholder { - color: @unselected-text-color !important; - } - input::-webkit-input-placeholder { - color: @unselected-text-color !important; - } - plx-info .icon { - margin-left: -10px; - line-height: 28px !important; - } - -} -.para-content { - .icon-active { - fill:@primary-color; - } - .icon-disactive { - fill: @disabled-text-color; - cursor: default; - } -} - diff --git a/sdc-workflow-designer-ui/src/app/assets/components/themes/common/plx-input.less b/sdc-workflow-designer-ui/src/app/assets/components/themes/common/plx-input.less deleted file mode 100644 index a83dd19c..00000000 --- a/sdc-workflow-designer-ui/src/app/assets/components/themes/common/plx-input.less +++ /dev/null @@ -1,29 +0,0 @@ -@import "../default/theme.less"; - -.plx-input { - font-size: @font-size; - height: @input-height; - padding-left: 10px; - padding-right: 10px; - outline: 0; - border: 1px solid @border-color-base; - border-radius: @radius; - vertical-align: middle; - &:focus { - border: 1px solid @primary-color; - } - &:disabled, - &[disabled] { - cursor: not-allowed; - background-color: @input-bg-color-disabled; - } -} - -.plx-input-sm { - height: @input-height-sm; -} - -.plx-input-right-no-radius { - border-bottom-right-radius: 0; - border-top-right-radius: 0; -} \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/assets/components/themes/common/plx-radio.less b/sdc-workflow-designer-ui/src/app/assets/components/themes/common/plx-radio.less deleted file mode 100644 index 23ddd177..00000000 --- a/sdc-workflow-designer-ui/src/app/assets/components/themes/common/plx-radio.less +++ /dev/null @@ -1,159 +0,0 @@ -@import "../default/theme.less"; - -.plx-radio-container { - font-size: 0; - position: relative; -} - -.plx-radio { - position: absolute; - z-index: -1; - opacity: 0; - & + .radio-substitute { - position: relative; - display: inline-block; - cursor: pointer; - height: @checkbox-size; - width: @checkbox-size; - border: 1px solid @border-color-base; - border-radius: @checkbox-size; - vertical-align: middle; - } - &:hover + .radio-substitute, - &:focus + .radio-substitute { - border-color: @primary-color; - outline: none; - background-image: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; - } - &:checked + .radio-substitute { - .radio-boder-checked-width(@font-size); - } - &:disabled + .radio-substitute, - &[disabled] + .radio-substitute { - border-color: @border-color-base; - background-color: @input-bg-color-disabled; - cursor: not-allowed; - } - &:checked [disabled] + .radio-substitute { - border-color: @border-color-split; - background-color: @border-color-split; - cursor: not-allowed; - } - & + .radio-substitute + span { - font-weight: normal; - font-size: @font-size; - cursor: pointer; - vertical-align: middle; - .font-padding(@font-size); - } - &:disabled + .radio-substitute + span, - &[disabled] + .radio-substitute + span { - cursor: not-allowed; - } -} - -.radio-boder-checked-width(12px) { - border: 4px solid @primary-color; -} - -.radio-boder-checked-width(14px) { - border: 5px solid @primary-color; -} - -.font-padding(12px) { - padding-left: 6px; -} - -.font-padding(14px) { - padding-left: 10px; -} - -/*radio-group*/ - -@radio-group-border-height: 1px; -@padding-normal: 0px 16px; -@padding-sm: 0px 14px; -@min-width-normal: 80px; -@min-width-sm: 60px; - -.border-min-width(@min-width, 14px) { - min-width: @min-width + 8px; -} - -.border-min-width(@min-width, 12px) { - min-width: @min-width; -} - -.btn.dropdown-toggle, -.btn-group .btn.dropdown-toggle, -.btn:hover, -.btn:disabled, -.btn[disabled], -.btn:focus, -.btn:active, -.btn.active { - outline: none !important; - background-image: none !important; - filter: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; -} - -.plx-radio-group { - cursor: pointer; - font-size: @font-size; - height: @btn-height; - background-color: @common-color; - border: @radio-group-border-height solid @border-color-base; - color: @text-color; - border-radius: @radius; - padding: @padding-normal; - .border-min-width(@min-width-normal, @font-size); - transition: none; - &:hover, - &:focus, - &:active { - outline: none; - background-image: none; - filter: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; - } - - &:hover, - &:focus { - color: @btn-common-color-text-hover; - border-color: @btn-common-color-border-hover; - background-color: @common-color-hover; - } - &:active { - color: @btn-common-color-text-click; - border-color: @btn-common-color-border-click; - background-color: @common-color-click; - } - &.active { - background-color: @primary-color; - color: @scene-textcolor; - border-color: @primary-color; - } - & > span { - line-height: @btn-height - @radio-group-border-height * 2; - } -} - -.plx-radio-group-sm { - height: @btn-height-sm; - padding: @padding-sm; - .border-min-width(@min-width-sm, @font-size); - & > span { - line-height: @btn-height-sm - @radio-group-border-height * 2; - } -} diff --git a/sdc-workflow-designer-ui/src/app/assets/components/themes/common/plx-step.less b/sdc-workflow-designer-ui/src/app/assets/components/themes/common/plx-step.less deleted file mode 100644 index c9b047d0..00000000 --- a/sdc-workflow-designer-ui/src/app/assets/components/themes/common/plx-step.less +++ /dev/null @@ -1,79 +0,0 @@ -@import "../default/NIV-theme.less"; - -.plx-ui-steps-number-active { - background: @default-blue; - color: @default-white; -} - -.plx-ui-steps-number-passive { - background: @gray-grade-7; - color: @default-white; -} - -.plx-ui-steps-number-visited { - color: @default-white; - border: 2px @default-blue solid; -} - -.plx-ui-underline-active { - background: @default-blue; -} - -.plx-ui-underline-passive { - background: @gray-grade-8; -} - -.plx-ui-steps-title-active { - color: @font-gray-normal; -} - -.plx-ui-steps-title-passive { - color: @font-gray-light; -} - -.plx-ui-steps-title-visited { - color: @font-gray-light; -} - -.plx-ui-steps-number-visited-tick { - border-bottom: 2px solid @default-blue; - border-right: 2px solid @default-blue; -} - -.plx-ui-underline-active-vertical { - border-right: 2px solid @gray-grade-7; -} - -.plx-ui-underline-visited-vertical { - border-right: 2px solid @default-blue; -} - -.plx-ui-underline-passive-vertical { - border-right: 2px solid @gray-grade-7; -} - -.plx-ui-steps-title-active-vertical { - color: @font-gray-normal; -} - -.plx-ui-steps-title-visited-vertical { - color: @font-gray-light; -} - -.plx-ui-steps-title-passive-vertical { - color: @font-gray-light; -} - -.plx-ui-steps-number-active-vertical { - background: @default-blue; - color: @default-white; -} - -.plx-ui-steps-number-passive-vertical { - background: @gray-grade-7; - color: @default-white; -} - -.plx-ui-steps-number-visited-vertical { - color: @default-white; -} diff --git a/sdc-workflow-designer-ui/src/app/assets/components/themes/common/plx-text-input.less b/sdc-workflow-designer-ui/src/app/assets/components/themes/common/plx-text-input.less deleted file mode 100644 index fe1c7d57..00000000 --- a/sdc-workflow-designer-ui/src/app/assets/components/themes/common/plx-text-input.less +++ /dev/null @@ -1,50 +0,0 @@ -@import "../default/NIV-theme.less"; - -//input[type='text'], -//input[type='password'], -//input[type='email'], -//input[type='tel'] { -// color: @font-gray-normal !important; -// font-weight: @font-weight-bold !important; -// border: @border-base; -// &:focus { -// border-color: @default-blue !important; -// } -//} -// -//@media screen and (-webkit-min-device-pixel-ratio: 0) { -// input[type='text'], -// input[type='password'], -// input[type='email'], -// input[type='tel'] { -// &:focus { -// border-color: @default-blue; -// color: @default-blue; -// text-shadow: 0 0 0 @font-gray-normal; -// -webkit-text-fill-color: transparent; -// } -// &::-webkit-input-placeholder { -// font-weight: @font-weight-normal; -// text-shadow: none; -// -webkit-text-fill-color: @font-gray-lightest; -// } -// } -//} -// -//input[disabled] { -// background: @gray-grade-9; -// color: @font-gray-lightest !important; -// border-color: rgba(191, 191, 191, 0.5) !important; -// cursor: not-allowed; -//} -// -// -//input[type='text'], -//input[type='password'], -//input[type='email'], -//input[type='tel'] { -// .input-invalid.ng-dirty.ng-invalid.ng-touched.input-blur &, -// &.ng-dirty.ng-invalid.ng-touched.input-blur { -// border-color: @default-red; -// } -//} diff --git a/sdc-workflow-designer-ui/src/app/assets/components/themes/default/NIV-theme.less b/sdc-workflow-designer-ui/src/app/assets/components/themes/default/NIV-theme.less deleted file mode 100644 index 607c7174..00000000 --- a/sdc-workflow-designer-ui/src/app/assets/components/themes/default/NIV-theme.less +++ /dev/null @@ -1,271 +0,0 @@ -//color -@blue-1: #e7f4fd; -@blue-2: #cfe9fc; -@blue-3: #a0d3f8; -@blue-4: #70bef5; -@blue-5: #40a8f2; -@blue-6: #108ee9; -@blue-7: #0d75bf; -@blue-8: #0c66a7; -@blue-9: #084977; -@blue-10: #073a5f; - -@green-1: #e5f6ee; -@green-2: #cceedd; -@green-3: #99dcbb; -@green-4: #66cb98; -@green-5: #33b976; -@green-6: #00a854; -@green-7: #00994d; -@green-8: #008040; -@green-9: #006633; -@green-10: #004d26; - -@red-1: #fdeae8; -@red-2: #fad4d1; -@red-3: #f8bfba; -@red-4: #f5aaa3; -@red-5: #ee6a5d; -@red-6: #ea4335; -@red-7: #e72918; -@red-8: #b92113; -@red-9: #a21d11; -@red-10: #8a190f; - -@yellow-1: #fff8e6; -@yellow-2: #fef2cd; -@yellow-3: #fde59b; -@yellow-4: #fdde81; -@yellow-5: #fcca36; -@yellow-6: #f3b709; -@yellow-7: #c99703; -@yellow-8: #977202; -@yellow-9: #7e5f02; -@yellow-10: #644c02; - -@orange-1: #fff1e6; -@orange-2: #ffe2cc; -@orange-3: #ffd4b3; -@orange-4: #ffb780; -@orange-5: #ff8b33; -@orange-6: #f56a30; -@orange-7: #cc5800; -@orange-8: #994200; -@orange-9: #803700; -@orange-10: #662c00; - -@purple-1: #f5e9f7; -@purple-2: #ebd4ef; -@purple-3: #d7a9df; -@purple-4: #c47cd0; -@purple-5: #ad49be; -@purple-6: #9c27b0; -@purple-7: #862097; -@purple-8: #6f1c7d; -@purple-9: #60166d; -@purple-10: #51145c; - -@pink-1: #fde8ef; -@pink-2: #fad1df; -@pink-3: #f8bace; -@pink-4: #ff84af; -@pink-5: #ee5d8e; -@pink-6: #e81e63; -@pink-7: #d01654; -@pink-8: #b9134a; -@pink-9: #a21141; -@pink-10: #8a0f38; - -@cyan-1: #ebf8f9; -@cyan-2: #cfedf0; -@cyan-3: #a7dfe3; -@cyan-4: #76cdd3; -@cyan-5: #3db8c1; -@cyan-6: #00a2ae; -@cyan-7: #008997; -@cyan-8: #00707f; -@cyan-9: #005667; -@cyan-10: #003c4e; - -@lemon-1: #fffdeb; -@lemon-2: #ffface; -@lemon-3: #fff7b1; -@lemon-4: #fff59d; -@lemon-5: #fff175; -@lemon-6: #ffeb3b; -@lemon-7: #f7e225; -@lemon-8: #e8d211; -@lemon-9: #d3bf0b; -@lemon-10: #c3b003; - -@brown-1: #f5f1ef; -@brown-2: #ece3df; -@brown-3: #d9c6bf; -@brown-4: #c6aa9f; -@brown-5: #9f7160; -@brown-6: #795548; -@brown-7: #604439; -@brown-8: #503830; -@brown-9: #402d26; -@brown-10: #30221d; - -@indigo-1: #eceef8; -@indigo-2: #d9ddf2; -@indigo-3: #c6cceb; -@indigo-4: #a1aade; -@indigo-5: #6877ca; -@indigo-6: #3f51b5; -@indigo-7: #354497; -@indigo-8: #2e3b84; -@indigo-9: #212a5e; -@indigo-10: #1b224b; - -@lime-1: #f3f9ec; -@lime-2: #e6f2d9; -@lime-3: #daecc6; -@lime-4: #b5d98c; -@lime-5: #9ccc66; -@lime-6: #8bc24a; -@lime-7: #77ac39; -@lime-8: #699933; -@lime-9: #4f7326; -@lime-10: #426020; - -@bluegray-1: #f0f3f5; -@bluegray-2: #d2dbe0; -@bluegray-3: #b4c3cb; -@bluegray-4: #96abb6; -@bluegray-5: #7893a1; -@bluegray-6: #607d8b; -@bluegray-7: #546c78; -@bluegray-8: #495f69; -@bluegray-9: #34444b; -@bluegray-10: #2a363c; - -@default-white: #ffffff; -@default-black: #000000; - -@default-blue: @blue-6; -@hover-blue: @blue-7; -@active-blue: @blue-8; - -@nav-default-blue: @default-blue; -@nav-hover-blue: @hover-blue; -@nav-active-blue: @active-blue; - -@default-green: @green-6; -@hover-green: @green-7; -@active-green: @green-8; - -@default-red: @red-6; -@hover-red: @red-7; -@active-red: @red-8; - -@default-yellow: @yellow-6; -@hover-yellow: @yellow-7; -@active-yellow: @yellow-8; - -@gray-grade-1: #212121; -@gray-grade-2: #404040; -@gray-grade-3: #595959; -@gray-grade-4: #737373; -@gray-grade-5: #999999; -@gray-grade-6: #bfbfbf; -@gray-grade-7: #d9d9d9; -@gray-grade-8: #e9e9e9; -@gray-grade-9: #f5f5f5; - -//font -@font-family: "Helvetica Neue","PingFang SC",Tahoma,"Microsoft Yahei"; - -@font-size-normal: 14px; -@font-size-xl: 24px; -@font-size-lg: 20px; -@font-size-sm: 12px; - -@font-gray-normal: @gray-grade-3; -@font-gray-light: @gray-grade-5; -@font-gray-lightest: @gray-grade-6; -@font-gray-dark: @gray-grade-2; - -@font-weight-normal: 400; -@font-weight-bold: 500; -@title-font-weight: 500; - -.font(@font-size: @font-size-normal, @color:@font-gray-normal, @font-weight: @font-weight-normal) { - font-family: @font-family; - font-weight: @font-weight; - font-size: @font-size; - line-height: @font-size; - color: @color; -} - -.input-font(@font-size: @font-size-normal, @color:@font-gray-normal) { - .font(@font-size, @color, @font-weight-bold); -} - -//disabled -@disabled-font: @font-gray-lightest; -@disabled-background: @gray-grade-9; -@disabled-border-color: rgba(191, 191, 191, 0.5); - -//hover -@hover-background: @blue-1; -@hover-border-color: @default-blue; - -//active -@active-background: @gray-grade-9; - -//highlight -@highlight-background: @gray-grade-6; - -//border -@border-color: @gray-grade-7; -@border-base: 1px solid @border-color; -@border-radius-base: 3px; -@box-shadow-base: 0 2px 4px 0 rgba(0, 0, 0, 0.2); - -//height -@component-height-lg: 32px; -@component-height-md: 28px; -@component-height-sm: 24px; -@line-height-base: 1.5; - -//spacing -@spacing-within-item: 10px; -@spacing-between-item: 20px; - -//z-index -@z-index-affix : 10; -@z-index-back-top : 10; -@z-index-modal-mask : 1000; -@z-index-modal : 1000; -@z-index-notification : 1010; -@z-index-message : 1010; -@z-index-popover : 1030; -@z-index-picker : 1050; -@z-index-dropdown : 1050; -@z-index-tooltip : 1060; - -//input -@input-padding-both-side: 10px; -@input-width: 400px; - -//overlay -@overlay-margin-top: 5px; -@overlay-item-padding-left: 10px; - -//clear icon -@hover-clear-icon-bg: @gray-grade-9; -@clear-icon-color: @gray-grade-5; - -//button -@button-width: 88px; -@button-border: 0; -@button-border-color: @border-base; - -//tab -@tab-height: 36px; -@tab-active-line-height: 2px; -@tab-line-height: @tab-height - @tab-active-line-height; -@icon-menu-active-bg: @blue-2; diff --git a/sdc-workflow-designer-ui/src/app/assets/components/themes/default/theme.css b/sdc-workflow-designer-ui/src/app/assets/components/themes/default/theme.css deleted file mode 100644 index 8c77bd96..00000000 --- a/sdc-workflow-designer-ui/src/app/assets/components/themes/default/theme.css +++ /dev/null @@ -1,5553 +0,0 @@ -.plx-breadcrumb { - margin: 0; - padding: 5px 10px; - font-size: 12px; -} -.plx-breadcrumb li { - display: inline-block; -} -.plx-breadcrumb a { - color: #737373; - text-decoration: none; -} -.plx-breadcrumb a:hover { - color: #00abff; -} -.plx-breadcrumb .plx-breadcrumb-separator { - color: #999; - padding: 0 5px; - vertical-align: 1px; -} -.plx-breadcrumb .plx-breadcrumb-collapse { - padding-left: 6px; - padding-right: 6px; - cursor: pointer; -} -.plx-breadcrumb .plx-breadcrumb-collapse circle { - fill: #999; -} -.plx-breadcrumb .plx-breadcrumb-collapse:hover circle { - fill: #00abff; -} -.plx-breadcrumb .plx-breadcrumb-active { - vertical-align: 1px; -} -.plx-breadcrumb .plx-breadcrumb-active a { - font-size: 20px; - color: #404040; - cursor: text; -} -.owl-dateTime { - display: inline-block; - position: relative; - width: 100%; - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; - font-size: 12px; - background: #fff; - color: #595959; -} -.owl-dateTime input { - font-size: 12px; - height: 32px; - padding-left: 10px; - padding-right: 10px; - outline: 0; - border: 1px solid #d9d9d9; - border-radius: 3px; - vertical-align: middle; -} -.short-text-input .owl-dateTime input { - width: 120px; -} -.text-input-with-unit .owl-dateTime input { - width: 355px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-unitOption .owl-dateTime input { - width: 316px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-prefix .owl-dateTime input { - width: 330px; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.text-input-with-prefixOption .owl-dateTime input { - width: 316px; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.text-input-with-passwordSwith .owl-dateTime input { - width: 360px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-prefix.text-input-with-unit .owl-dateTime input { - width: 285px; -} -.text-input-with-prefix.text-input-with-unitOption .owl-dateTime input { - width: 246px; -} -.short-text-input.text-input-with-prefix .owl-dateTime input { - width: 80px; -} -.short-text-input.text-input-with-unit .owl-dateTime input { - width: 80px; -} -.short-text-input.text-input-with-prefix.text-input-with-unit .owl-dateTime input { - width: 40px; -} -.owl-dateTime input:focus { - border: 1px solid #00abff; -} -.owl-dateTime input:disabled, -.owl-dateTime input[disabled] { - cursor: not-allowed; - background-color: #f5f5f5; -} -.owl-dateTime input:-ms-input-placeholder { - color: #999 !important; -} -.owl-dateTime input::-webkit-input-placeholder { - color: #999 !important; -} -.owl-dateTime-input { - width: 100%; - padding-right: 1.5em; -} -.owl-dateTime-cancel { - position: absolute; - top: 50%; - right: .1em; - border-radius: 50%; - transform: translateY(-50%); - cursor: pointer; - color: inherit; -} -.owl-dateTime-inputWrapper { - position: relative; -} -.owl-dateTime-customTemp { - display: inline-block; - position: relative; -} -.owl-dateTime-dialog { - padding: 0px; - position: absolute; -} -.owl-dateTime-dialogHeader { - display: flex; - justify-content: center; - align-items: center; - width: 100%; -} -.owl-calendar-wrapper, -.owl-timer-wrapper { - position: relative; - width: 100%; - padding: .2em .5em; -} -.owl-calendar-control { - display: flex; - justify-content: space-around; - width: 100%; - height: 2em; -} -.owl-calendar-control .owl-calendar-controlNav { - position: relative; - cursor: pointer; - width: 12.5%; -} -.owl-calendar-control .owl-calendar-controlContent { - display: flex; - justify-content: center; - align-items: center; - width: 75%; - height: 100%; -} -.owl-calendar { - position: relative; - min-height: 13.7em; -} -.owl-calendar table { - width: 100%; - border-collapse: collapse; -} -.owl-calendar tbody td { - position: relative; - text-align: center; -} -.owl-calendar tbody td a { - display: block; - width: 100%; - height: 100%; - text-decoration: none; - color: inherit; - font-size: 12px; -} -.owl-calendar .owl-calendar-yearArrow { - position: absolute; - top: 50%; - width: 1.5em; - height: 1.5em; - transform: translateY(-50%); - cursor: pointer; -} -.owl-calendar .owl-calendar-yearArrow.left { - left: -0.5em; -} -.owl-calendar .owl-calendar-yearArrow.right { - right: -0.5em; -} -.owl-timer-wrapper { - position: relative; - display: flex; - justify-content: center; -} -.owl-timer-wrapper .owl-timer { - position: relative; - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - width: 25%; - height: 100%; -} -.owl-timer-wrapper .owl-timer-control { - display: flex; - justify-content: center; - align-items: center; - height: 30%; - width: 100%; - cursor: pointer; -} -.owl-timer-wrapper .owl-timer-control .icon:before { - margin: 0; -} -.owl-timer-wrapper .owl-timer-input { - width: 60%; - height: 100%; -} -/*# sourceMappingURL=picker.component.css.map */ -.font-face { - font-weight: normal; - font-style: normal; -} -[class^="paletx-datepicker-icon-"]:before, -[class*="paletx-datepicker-icon-"]:before { - font-family: "fontello"; - font-style: normal; - font-weight: normal; - speak: none; - display: inline-block; - text-decoration: inherit; - width: 1em; - margin-right: .2em; - text-align: center; - /* opacity: .8; */ - /* For safety - reset parent styles, that can break glyph codes*/ - font-variant: normal; - text-transform: none; - /* fix buttons height, for twitter bootstrap */ - line-height: 1em; - /* Animation center compensation - margins should be symmetric */ - /* remove if not needed */ - margin-left: .2em; - /* you can be more comfortable with increased icons size */ - /* font-size: 120%; */ - /* Font smoothing. That was taken from TWBS */ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - /* Uncomment for 3D effect */ - /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ -} -.paletx-datepicker-icon-cancel:before { - content: '\e802'; -} -/* '' */ -.paletx-datepicker-icon-up-open:before { - content: '\e805'; -} -/* '' */ -.paletx-datepicker-icon-down-open:before { - content: '\e80b'; -} -/* '' */ -.paletx-datepicker-icon-left-open:before { - content: '\e817'; -} -/* '' */ -.paletx-datepicker-icon-right-open:before { - content: '\e818'; -} -/* '' */ -.owl-widget, -.owl-widget * { - box-sizing: border-box; -} -.owl-widget { - font-size: 1em; -} -.owl-padding { - padding: 0px; -} -.owl-corner-all { - border-radius: 3px; -} -.owl-corner-top { - border-top-left-radius: 3px; - border-top-right-radius: 3px; -} -.owl-state-default { - border: 1px solid #d9d9d9; - background: #fff; - color: #595959; -} -.owl-inputtext { - margin: 0; - outline: medium none; - transition: .2s; -} -.owl-dateTime.owl-dateTime-inline { - width: auto; -} -.owl-dateTime.owl-dateTime-inline .owl-dateTime-dialog { - position: relative; - z-index: auto; -} -.owl-dateTime-dialog { - width: 300px; - user-select: none; - z-index: 99999; -} -.owl-dateTime-dialogHeader { - height: 2.5em; - padding: .25em; - background-color: #fff; - overflow-y: auto; -} -.owl-calendar-control .owl-calendar-controlNav .nav-prev, -.owl-calendar-control .owl-calendar-controlNav .nav-next { - position: absolute; - top: 50%; - right: auto; - bottom: auto; - left: 50%; - transform: translate(-50%, -50%); -} -.owl-cal-header { - background: #f5f5f5; - height: 35px; -} -.owl-calendar-control .owl-calendar-controlNav .nav-prev:before, -.owl-calendar-control .owl-calendar-controlNav .nav-next:before { - border-top: .5em solid transparent; - border-bottom: .5em solid transparent; - border-right: 0.75em solid #000000; - width: 0; - height: 0; - display: block; - margin: 0 auto; -} -.owl-calendar-control .owl-calendar-controlNav .nav-next:before { - border-right: 0; - border-left: 0.75em solid #000000; -} -.owl-calendar-control .owl-calendar-controlContent .month-control, -.owl-calendar-control .owl-calendar-controlContent .year-control { - color: #999; - display: inline-block; - cursor: pointer; - transition: transform 200ms ease; -} -.owl-calendar-control .owl-calendar-controlContent .month-control:hover, -.owl-calendar-control .owl-calendar-controlContent .year-control:hover { - color: #00abff; -} -.owl-calendar-control .owl-calendar-controlContent .month-control { - font-size: 14px; - margin-right: .8rem; -} -.owl-calendar-control .owl-calendar-controlContent .year-control { - font-size: 14px; -} -.owl-calendar tbody td.owl-calendar-selected { - background-color: #00abff; - color: #fff; -} -.owl-calendar tbody td.owl-calendar-invalid { - color: #bfbfbf; -} -.owl-calendar tbody td.owl-calendar-outFocus { - color: #999; -} -.owl-calendar tbody td.owl-calendar-hidden { - visibility: hidden; -} -/** -.owl-calendar tbody td:not(.owl-calendar-selected):not(.owl-calendar-invalid):hover { - background-color: @hover-bg-color; - color: @shadow-color } -**/ -.owl-years td.owl-year, -.owl-years td.owl-month, -.owl-months td.owl-year, -.owl-months td.owl-month { - font-size: 1.2em; - height: 2.5em; - width: 33.33%; - line-height: 2.5em; - border-radius: 60px; -} -.owl-weekdays th.owl-weekday { - height: 1em; - line-height: 2em; - text-align: center; - font-weight: normal; - font-size: 12px; - /**color: @unselected-text-color; **/ -} -.owl-days td.owl-day { - border-radius: 30px; - height: 2em; - width: calc(14.28571429%); - line-height: 2em; -} -.owl-days td.owl-day.owl-day-today:before { - content: ''; - display: block; - position: absolute; - right: 2px; - top: 2px; - color: #00abff; - border-top: 0.5em solid #009dea; - border-left: .5em solid transparent; -} -.owl-timer-wrapper { - height: 5.4em; - background-color: rgba(0, 0, 0, 0.2); -} -.owl-timer-wrapper .owl-timer-text { - display: flex; - justify-content: center; - align-items: center; - width: 100%; - height: 40%; - font-size: 1.5em; -} -.owl-timer-wrapper .owl-meridian-btn { - font-size: .8em; - color: #00abff; - background-image: none; - background-color: transparent; - border-color: #00abff; -} -.owl-timer-wrapper .owl-meridian-btn:hover { - color: #fff; - background-color: #00abff; - border-color: #00abff; -} -.owl-timer-divider { - display: inline-block; - align-self: flex-end; - position: absolute; - width: .6em; - height: 100%; - left: -0.3em; -} -.owl-timer-divider .owl-timer-dot { - display: block; - width: .3em; - height: .3em; - position: absolute; - left: 50%; - border-radius: 50%; - transform: translateX(-50%); -} -.owl-timer-divider .owl-timer-dot.dot-top { - top: 38%; -} -.owl-timer-divider .owl-timer-dot.dot-bottom { - bottom: 38%; -} -.owl-icon { - position: absolute; - top: 50%; - right: .1em; - border-radius: 50%; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); - cursor: pointer; - color: #999; -} -.oes-time-control { - color: #595959 !important; -} -.owl-calendar-selected { - background-color: #00abff; - color: #fff; - border-radius: 50%; -} -.owl-calendar tbody td div.day:not(.owl-calendar-selected):not(.owl-calendar-invalid):hover { - background-color: #ebf6fd; - color: #000; - border-radius: 50%; -} -.oes-time-control { - font-size: 12px; -} -.owl-calendar-year-part { - width: 42px; - margin-left: 30px; - text-align: center; -} -.owl-calendar-year-part:hover { - background-color: #ebf6fd; - color: #000; - border-radius: 50%; -} -.owl-calendar-year-selected { - background-color: #00abff; - color: #fff; - border-radius: 50%; -} -.owl-calendar-year-selected:hover { - background-color: #00abff; - color: #fff; - border-radius: 50%; -} -.owl-calendar-month-part { - width: 42px; - margin-left: 30px; - text-align: center; -} -.owl-calendar-month-part:hover { - background-color: #ebf6fd; - color: #000; - border-radius: 50%; -} -.owl-calendar-month-selected { - background-color: #00abff; - color: #fff; - border-radius: 50%; -} -.owl-calendar-month-selected:hover { - background-color: #00abff; - color: #fff; - border-radius: 50%; -} -/*# sourceMappingURL=picker.css.map */ -.oes-time-table .chevron::before { - border-style: solid; - border-width: 0.29em 0.29em 0 0; - content: ''; - display: inline-block; - height: 0.69em; - left: 0.05em; - position: relative; - top: 0.15em; - transform: rotate(-45deg); - -webkit-transform: rotate(-45deg); - -ms-transform: rotate(-45deg); - vertical-align: middle; - width: 0.71em; -} -.oes-time-table .chevron.bottom:before { - top: -0.3em; - -webkit-transform: rotate(135deg); - -ms-transform: rotate(135deg); - transform: rotate(135deg); -} -.oes-time-table .btn-link { - border: none!important; - cursor: pointer; - outline: 0; - display: block; -} -.oes-time-table .btn-link.disabled { - cursor: not-allowed; - opacity: .65; -} -.oes-time-control { - text-align: center; -} -.datapicker-form-control { - width: auto !important; - display: inline-block; -} -.oes-time-table .ict-stretch { - font-size: 8px; -} -.oes-time-table .ict-shrink { - font-size: 8px; -} -.time-pick-bk { - background-color: #fff; -} -.btn-link:focus, -.btn-link:hover { - text-decoration: none; -} -.oes-time-control { - border: 0; - width: 30px !important; - padding: 3px 0; - margin: 0; - font-size: 12px; -} -.oes-time-control:hover { - background-color: #e6e6e6; - color: #000; - cursor: pointer; -} -.oes-time-control-foucs-bk { - background-color: #00abff !important; - color: #fff!important; -} -.oes-time-separator { - margin: 0 -5px; -} -.oes-time-group, -.oes-time-group:hover { - border-bottom: 1px solid #ccc; - border-left: 1px solid #ccc; - border-top: 1px solid #ccc; - border-radius: 0.2em; -} -.oes-time-btns, -.oes-time-btns:hover { - border-bottom: 1px solid #ccc; - border-right: 1px solid #ccc; - border-top: 1px solid #ccc; - border-radius: 0.2em; - padding: 0 0 7px 0 !important; -} -.oes-time-btns-wrapper { - margin-top: -3px; - transform: scale(0.6, 0.6); -} -.i18nTimeDes, -.i18nTimeDes:hover { - padding: 0 5px 0px 0; -} -.oes-time-btn { - height: 5px; -} -.oes-time-table { - margin-bottom: 10px; -} -.hour-table { - font-size: 12px; -} -.hour-table td { - padding: 5px; - padding-top: 3px; - padding-bottom: 3px; - cursor: pointer; -} -.oes-time-btn-shrink { - position: relative; - top: -5px; - left: 0px; - color: #CCC; -} -.oes-time-btn-stretch { - position: relative; - left: 0px; - color: #CCC; -} -.owl-calendar-timer-invalid { - color: #acacac; -} -.owl-calendar-timer-selected { - background-color: #00abff; - color: #FFFFFF; - border-radius: 1.2em; -} -.hour-table td:not(.owl-calendar-timer-selected):not(.owl-calendar-timer-invalid):hover { - background-color: #ebf6fd; - color: #000000; - border-radius: 1.2em; -} -.icon { - color: #999; - vertical-align: text-bottom; - margin-left: 5px; - font-size: 20px; -} -.plx-input-password { - display: inline-block; - line-height: 30px; - width: 40px; - text-align: center; - vertical-align: middle; - margin-top: -2px; - background-color: #fff; - border-top: 1px solid #d9d9d9; - border-right: 1px solid #d9d9d9; - border-bottom: 1px solid #d9d9d9; - border-bottom-right-radius: 3px; - border-top-right-radius: 3px; - cursor: pointer; -} -.plx-input-password:focus, -.plx-input-password:hover { - background-color: #fff; -} -.plx-input-password:active { - background-color: #fff; -} -.plx-input-password.ict-eye-closed, -.plx-input-password.ict-eye { - color: #999; -} -.plx-input-password-disabled { - cursor: not-allowed; -} -.plx-input-password-disabled:focus, -.plx-input-password-disabled:hover, -.plx-input-password-disabled:active { - background-color: #fff; -} -.plx-input-password-sm { - line-height: 26px; -} -@-moz-keyframes three-quarters-loader { - 0% { - -moz-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -moz-transform: rotate(360deg); - transform: rotate(360deg); - } -} -@-webkit-keyframes three-quarters-loader { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -@keyframes three-quarters-loader { - 0% { - -moz-transform: rotate(0deg); - -ms-transform: rotate(0deg); - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -moz-transform: rotate(360deg); - -ms-transform: rotate(360deg); - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -.plx-loading-max:not(:required) { - -moz-animation: three-quarters-loader 1500ms infinite linear; - -webkit-animation: three-quarters-loader 1500ms infinite linear; - animation: three-quarters-loader 1500ms infinite linear; - box-sizing: border-box; - display: inline-block; - position: relative; - overflow: hidden; - text-indent: -9999px; - width: 72px; - height: 72px; - border: 5px solid #00abff; - border-right-color: #fff; - border-radius: 36px; -} -.plx-loading-medium:not(:required) { - -moz-animation: three-quarters-loader 1500ms infinite linear; - -webkit-animation: three-quarters-loader 1500ms infinite linear; - animation: three-quarters-loader 1500ms infinite linear; - box-sizing: border-box; - display: inline-block; - position: relative; - overflow: hidden; - text-indent: -9999px; - width: 36px; - height: 36px; - border: 4px solid #00abff; - border-right-color: #fff; - border-radius: 18px; -} -.plx-loading-min:not(:required) { - -moz-animation: three-quarters-loader 1500ms infinite linear; - -webkit-animation: three-quarters-loader 1500ms infinite linear; - animation: three-quarters-loader 1500ms infinite linear; - box-sizing: border-box; - display: inline-block; - position: relative; - overflow: hidden; - text-indent: -9999px; - width: 18px; - height: 18px; - border: 2px solid #00abff; - border-right-color: #fff; - border-radius: 9px; -} -.plx-loading-default:not(:required) { - margin-left: 100px; - margin-top: 100px; - box-sizing: border-box; - display: inline-block; - position: relative; - overflow: hidden; - text-indent: -9999px; - width: 36px; - height: 36px; - border: 4px solid #00abff; - border-right-color: #fff; - border-radius: 18px; -} -.plx-loading-xs:not(:required) { - -moz-animation: three-quarters-loader 1500ms infinite linear; - -webkit-animation: three-quarters-loader 1500ms infinite linear; - animation: three-quarters-loader 1500ms infinite linear; - box-sizing: border-box; - display: inline-block; - position: relative; - overflow: hidden; - text-indent: -9999px; - width: 12px; - height: 12px; - border: 2px solid #00abff; - border-right-color: #fff; - border-radius: 6px; -} -.plx-loading { - -moz-animation: three-quarters-loader 1500ms infinite linear; - -webkit-animation: three-quarters-loader 1500ms infinite linear; - animation: three-quarters-loader 1500ms infinite linear; - box-sizing: border-box; - display: inline-block; - position: relative; - overflow: hidden; - text-indent: -9999px; -} -.plx-loading-white:not(:required) { - -moz-animation: three-quarters-loader 1500ms infinite linear; - -webkit-animation: three-quarters-loader 1500ms infinite linear; - animation: three-quarters-loader 1500ms infinite linear; - box-sizing: border-box; - display: inline-block; - position: relative; - overflow: hidden; - text-indent: -9999px; - width: 12px; - height: 12px; - border: 2px solid #fff; - border-right-color: #00abff; - border-radius: 6px; -} -.plx-loading-gray:not(:required) { - -moz-animation: three-quarters-loader 1500ms infinite linear; - -webkit-animation: three-quarters-loader 1500ms infinite linear; - animation: three-quarters-loader 1500ms infinite linear; - box-sizing: border-box; - display: inline-block; - position: relative; - overflow: hidden; - text-indent: -9999px; - width: 12px; - height: 12px; - border: 2px solid #bfbfbf; - border-right-color: #fff; - border-radius: 6px; -} -.message { - width: 400px; - right: 10px; - top: 0; - position: fixed; - z-index: 99999; - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; - font-weight: 400; - font-style: normal; - font-size: 14px; - color: #404040; -} -.message > p { - width: 100%; - margin: 10px 0 16px; - padding: 0 25px ; - border: 1px solid #e9e9e9; - box-shadow: 1px 3px 9px rgba(0, 0, 0, 0.2); - line-height: 36px; - background: #fff; - font-size: 12px !important; - color: #595959; -} -.message > p > span { - float: right; - cursor: pointer; - font-weight: 400; - font-style: normal; - color: #108EE9; - text-align: center; -} -.message > p > span:hover { - text-decoration: underline; -} -.message > div { - width: 100%; - margin-bottom: 16px; - border: 1px solid ; - line-height: 62px; - border: 1px solid #e9e9e9; - box-shadow: 1px 4px 9px rgba(0, 0, 0, 0.2); - border-radius: 5px; - background: #fff; - position: relative; -} -.message > div > span { - display: inline-block; - font-size: 24px !important; - margin-left: 12px; - margin-right: 3px; - vertical-align: middle; -} -.message > div.success { - border-left: 4px solid #73cf22; -} -.message > div.success > span { - color: #73cf22; -} -.message > div.error { - border-left: 4px solid #ff5b55; -} -.message > div.error > span { - color: #ff5b55; -} -.message > div.warning { - border-left: 4px solid #f7c515; -} -.message > div.warning > span { - color: #f7c515; -} -.message > div.info { - border-left: 4px solid #00abff; -} -.message > div.info > span { - color: #00abff; -} -.message > div > i { - float: right; - width: 20px; - height: 20px; - margin-top: 21px; - line-height: 20px; - border-radius: 50%; - margin-right: 20px; - cursor: pointer; - text-align: center; - font-size: 16px; -} -.message > div > i:hover { - background: #ebf6fd; -} -.message > div > p { - top: -3px; - margin: 0; - padding: 0 20px 16px 43px; - font-size: 12px !important; - color: #595959; - line-height: 18px; - position: relative; -} -.message > div > p > span { - color: #00abff; - cursor: pointer; -} -.message > div > p > span:hover { - text-decoration: underline; -} -.message > div > div { - padding-left: 45px ; - padding-bottom: 19px; - font-size: 12px; - color: #00abff; - line-height: 18px; - cursor: pointer; -} -.message > div > div:hover { - text-decoration: underline; -} -#plxMessageMeasure { - position: fixed; - top: -12px; - opacity: 0; - white-space: nowrap; - margin: 0; - padding: 0; - font-size: 12px !important; - line-height: 12px; - z-index: -9999; -} -.stack > span { - display: inline-block; - position: absolute; - bottom: 16px; - right: 25px; -} -plx-modal-window .modal { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - display: none; - outline: 0; - z-index: 10000; -} -plx-modal-window .modal-dialog { - position: relative; - max-width: 600px; - margin: 30px auto; -} -plx-modal-window .modal-dialog.modal-sm { - max-width: 600px; -} -plx-modal-window .modal-dialog.modal-lg { - max-width: 1000px; -} -plx-modal-window .modal-content { - position: relative; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - background-color: #fff; - background-clip: padding-box; - border-radius: 3px; - box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2); - outline: 0; -} -plx-modal-window .modal-content .modal-header { - border-bottom: 0; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - padding: 15px; -} -plx-modal-window .modal-content .modal-body .form-group:last-child, -plx-modal-window .modal-content .modal-body form:last-child { - margin-bottom: 0; -} -plx-modal-window .modal-content .modal-footer { - display: block; - border-top: 0; - margin-top: 0; - padding: 0 15px 15px 15px; -} -plx-modal-window .modal-content .modal-title { - font-size: 20px; - margin-bottom: 0; - line-height: 1.5; -} -plx-modal-window .modal-content .modal-btn { - text-align: center; - font-size: 0; -} -plx-modal-window .close { - color: #999; - font-size: 16px; - text-shadow: none; - width: 24px; - height: 24px; - background: #fff; - border-radius: 20px; - padding-bottom: 2px; - outline: none; -} -plx-modal-window .close:hover { - color: #999; - background: #ebf6fd; -} -plx-modal-window .alert-modal.row { - margin-left: 100px; - margin-bottom: 30px; - text-align: left; -} -plx-modal-window .alert-modal.row .tip-img { - display: inline-block; - width: 52px; - height: 52px; - border-radius: 50px; - font-size: 45px; - text-align: center; - line-height: 1; - margin-top: -5px; - margin-right: 15px; -} -plx-modal-window .alert-modal.row .tip-img::before { - content: "!"; -} -plx-modal-window .alert-modal.row .tip-info { - width: 300px; -} -plx-modal-window .alert-modal.row .tip-info .alert-title { - font-size: 16px; - color: #404040; -} -plx-modal-window .alert-modal.row .tip-info .alert-result { - margin-top: 5px; - font-size: 12px; - color: #999; -} -plx-modal-window .alert-modal.row .warning { - border: 3px solid #f7c515; - color: #f7c515; -} -plx-modal-window .alert-modal.row .error { - border: 3px solid #ff5b55; - color: #ff5b55; -} -ngb-popover-window.plx-popover.show { - color: #333; - border: 1px solid #d9d9d9; -} -.plx-popover { - position: absolute; - top: 0; - left: 0; - z-index: 10001; - display: block; - padding: 1px; - font-style: normal; - font-weight: normal; - letter-spacing: normal; - line-break: auto; - line-height: 1.5; - text-align: left; - text-decoration: none; - text-shadow: none; - text-transform: none; - white-space: normal; - word-break: normal; - word-spacing: normal; - word-wrap: break-word; - -webkit-background-clip: padding-box; - background-clip: padding-box; - max-width: 400px; - min-width: 200px; - background-color: #fff; - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; - font-size: 12px; - border: 1px solid #d9d9d9; - border-radius: 3px; - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); -} -.plx-popover::before, -.plx-popover::after { - content: ""; - position: absolute; - display: block; - width: 0; - height: 0; - border: solid transparent; -} -.plx-popover::before { - border-width: 7px; -} -.plx-popover::after { - border-width: 6px; -} -.plx-popover-top-common { - margin-top: -9px; -} -.plx-popover-top-common::before { - border-top-color: #ccc; - border-bottom-width: 0; - bottom: -7px; -} -.plx-popover-top-common::after { - border-top-color: #fff; - border-bottom-width: 0; - bottom: -6px; -} -.plx-popover-top { - margin-top: -9px; -} -.plx-popover-top::before { - border-top-color: #ccc; - border-bottom-width: 0; - bottom: -7px; -} -.plx-popover-top::after { - border-top-color: #fff; - border-bottom-width: 0; - bottom: -6px; -} -.plx-popover-top::before { - left: 50%; - margin-left: -7px; -} -.plx-popover-top::after { - left: 50%; - margin-left: -6px; -} -.plx-popover.plx-popover-top-left { - margin-top: -9px; -} -.plx-popover.plx-popover-top-left::before { - border-top-color: #ccc; - border-bottom-width: 0; - bottom: -7px; -} -.plx-popover.plx-popover-top-left::after { - border-top-color: #fff; - border-bottom-width: 0; - bottom: -6px; -} -.plx-popover.plx-popover-top-left::before { - left: 10px; -} -.plx-popover.plx-popover-top-left::after { - left: 11px; -} -.plx-popover.plx-popover-top-right { - margin-top: -9px; -} -.plx-popover.plx-popover-top-right::before { - border-top-color: #ccc; - border-bottom-width: 0; - bottom: -7px; -} -.plx-popover.plx-popover-top-right::after { - border-top-color: #fff; - border-bottom-width: 0; - bottom: -6px; -} -.plx-popover.plx-popover-top-right::before { - right: 10px; -} -.plx-popover.plx-popover-top-right::after { - right: 11px; -} -.plx-popover-right-common { - margin-left: 9px; -} -.plx-popover-right-common::before { - border-right-color: #ccc; - border-left-width: 0; - left: -7px; -} -.plx-popover-right-common::after { - border-right-color: #fff; - border-left-width: 0; - left: -6px; -} -.plx-popover.plx-popover-right { - margin-left: 9px; -} -.plx-popover.plx-popover-right::before { - border-right-color: #ccc; - border-left-width: 0; - left: -7px; -} -.plx-popover.plx-popover-right::after { - border-right-color: #fff; - border-left-width: 0; - left: -6px; -} -.plx-popover.plx-popover-right::before { - top: 50%; - margin-top: -7px; -} -.plx-popover.plx-popover-right::after { - top: 50%; - margin-top: -6px; -} -.plx-popover.plx-popover-right-top { - margin-left: 9px; -} -.plx-popover.plx-popover-right-top::before { - border-right-color: #ccc; - border-left-width: 0; - left: -7px; -} -.plx-popover.plx-popover-right-top::after { - border-right-color: #fff; - border-left-width: 0; - left: -6px; -} -.plx-popover.plx-popover-right-top::before { - top: 10px; -} -.plx-popover.plx-popover-right-top::after { - top: 11px; -} -.plx-popover.plx-popover-right-bottom { - margin-left: 9px; -} -.plx-popover.plx-popover-right-bottom::before { - border-right-color: #ccc; - border-left-width: 0; - left: -7px; -} -.plx-popover.plx-popover-right-bottom::after { - border-right-color: #fff; - border-left-width: 0; - left: -6px; -} -.plx-popover.plx-popover-right-bottom::before { - bottom: 10px; -} -.plx-popover.plx-popover-right-bottom::after { - bottom: 11px; -} -.plx-popover-bottom-common { - margin-top: 9px; -} -.plx-popover-bottom-common::before { - border-bottom-color: #ccc; - border-top-width: 0; - top: -7px; -} -.plx-popover-bottom-common::after { - border-bottom-color: #fff; - border-top-width: 0; - top: -6px; -} -.plx-popover.plx-popover-bottom { - margin-top: 9px; -} -.plx-popover.plx-popover-bottom::before { - border-bottom-color: #ccc; - border-top-width: 0; - top: -7px; -} -.plx-popover.plx-popover-bottom::after { - border-bottom-color: #fff; - border-top-width: 0; - top: -6px; -} -.plx-popover.plx-popover-bottom::before { - left: 50%; - margin-left: -7px; -} -.plx-popover.plx-popover-bottom::after { - left: 50%; - margin-left: -6px; -} -.plx-popover.plx-popover-bottom-left { - margin-top: 9px; -} -.plx-popover.plx-popover-bottom-left::before { - border-bottom-color: #ccc; - border-top-width: 0; - top: -7px; -} -.plx-popover.plx-popover-bottom-left::after { - border-bottom-color: #fff; - border-top-width: 0; - top: -6px; -} -.plx-popover.plx-popover-bottom-left::before { - left: 10px; -} -.plx-popover.plx-popover-bottom-left::after { - left: 11px; -} -.plx-popover.plx-popover-bottom-right { - margin-top: 9px; -} -.plx-popover.plx-popover-bottom-right::before { - border-bottom-color: #ccc; - border-top-width: 0; - top: -7px; -} -.plx-popover.plx-popover-bottom-right::after { - border-bottom-color: #fff; - border-top-width: 0; - top: -6px; -} -.plx-popover.plx-popover-bottom-right::before { - right: 10px; -} -.plx-popover.plx-popover-bottom-right::after { - right: 11px; -} -.plx-popover-left-common { - margin-left: -9px; -} -.plx-popover-left-common::before { - border-left-color: #ccc; - border-right-width: 0; - right: -7px; -} -.plx-popover-left-common::after { - border-left-color: #fff; - border-right-width: 0; - right: -6px; -} -.plx-popover.plx-popover-left { - margin-left: -9px; -} -.plx-popover.plx-popover-left::before { - border-left-color: #ccc; - border-right-width: 0; - right: -7px; -} -.plx-popover.plx-popover-left::after { - border-left-color: #fff; - border-right-width: 0; - right: -6px; -} -.plx-popover.plx-popover-left::before { - top: 50%; - margin-top: -7px; -} -.plx-popover.plx-popover-left::after { - top: 50%; - margin-top: -6px; -} -.plx-popover.plx-popover-left-top { - margin-left: -9px; -} -.plx-popover.plx-popover-left-top::before { - border-left-color: #ccc; - border-right-width: 0; - right: -7px; -} -.plx-popover.plx-popover-left-top::after { - border-left-color: #fff; - border-right-width: 0; - right: -6px; -} -.plx-popover.plx-popover-left-top::before { - top: 10px; -} -.plx-popover.plx-popover-left-top::after { - top: 11px; -} -.plx-popover.plx-popover-left-bottom { - margin-left: -9px; -} -.plx-popover.plx-popover-left-bottom::before { - border-left-color: #ccc; - border-right-width: 0; - right: -7px; -} -.plx-popover.plx-popover-left-bottom::after { - border-left-color: #fff; - border-right-width: 0; - right: -6px; -} -.plx-popover.plx-popover-left-bottom::before { - bottom: 10px; -} -.plx-popover.plx-popover-left-bottom::after { - bottom: 11px; -} -.plx-popover .plx-popover-title { - padding: 8px 14px; - margin-bottom: 0; - font-size: 16px; - background-color: #fff; - border-bottom: 1px solid #d9d9d9; -} -.plx-popover .plx-popover-title:empty { - display: none; -} -.plx-popover .plx-popover-content { - padding: 9px 14px; - background-color: #fff; -} -.plx-popover .ict-warning { - color: #ff5b55; - font-size: 24px; - margin-right: 5px; -} -.popover-template { - padding: 10px 0px; - min-width: 220px; -} -.popover-template .popover-template-content { - padding: 10px 10px; -} -.popover-template .popover-template-footer { - padding: 10px 10px 5px 10px; - text-align: center; -} -.popover-template .popover-template-icon { - display: inline-block; - max-width: 30px; - float: left; -} -.popover-template .popover-template-icon-area { - display: inline-block; - height: 100%; - vertical-align: middle; -} -.popover-template .popover-template-msg { - display: inline-block; - max-width: 300px; - margin-left: 10px; - margin-top: 1px; -} -.plx-progress { - display: inline-block; - margin: 0 10px 1px 0; - border-radius: 20px; - overflow: hidden; - background-color: #eee; -} -.plx-progress .plx-progress-bar { - width: 0; - height: 8px; - transition: width 0.8s ease-in-out; - opacity: 1; -} -.plx-progress .plx-progress-bar-info { - position: relative; - background-color: #33bcff; -} -.plx-progress .plx-progress-bar-info::before { - background-color: #00abff; - content: ''; - position: absolute; - top: 0; - left: 0; - width: 0; - height: 8px; - animation: plx-progress-bar-stripes 0.5s cubic-bezier(0.23, 1, 0.32, 1) infinite; -} -.plx-progress .plx-progress-bar-info.plx-progress-bar-reset { - transition: none; -} -.plx-progress .plx-progress-bar-warning { - background-color: #ff5b55; -} -.plx-progress .plx-progress-bar-success, -.plx-progress .plx-progress-bar-info.plx-progress-bar-success { - background-color: #00abff; -} -.plx-progress-info { - display: inline-block; -} -.plx-progress-info .fp-exclamation-circle { - color: #ff5b55; -} -@keyframes plx-progress-bar-stripes { - from { - width: 0; - } - to { - width: 100%; - } -} -:host(.plx-progressbar-sm) { - font-size: 12px; -} -:host(.plx-progressbar-sm) .plx-progress-bar { - height: 2px; -} -:host(.plx-progressbar-sm) .fp-exclamation-circle { - vertical-align: middle; - font-size: 12px; -} -:host(.plx-progressbar-sm) .plx-progress-info span { - vertical-align: middle; -} -.plx-progressbar-sm { - font-size: 12px; -} -.plx-progressbar-sm .plx-progress-bar { - height: 2px; -} -.plx-progressbar-sm .fp-exclamation-circle { - vertical-align: middle; - font-size: 12px; -} -.plx-progressbar-sm .plx-progress-info span { - vertical-align: middle; -} -.plx-progressbar-sm-common { - font-size: 12px; -} -.plx-progressbar-sm-common .plx-progress-bar { - height: 2px; -} -.plx-progressbar-sm-common .fp-exclamation-circle { - vertical-align: middle; - font-size: 12px; -} -.plx-progressbar-sm-common .plx-progress-info span { - vertical-align: middle; -} -.search-input { - position: relative; - background: #fff; - color: #595959; -} -.search-input input { - height: 32px; - padding-left: 10px; - padding-right: 10px; - outline: 0; - border: 1px solid #d9d9d9; - border-radius: 3px; - vertical-align: middle; - width: 100%; - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; - font-size: 12px; - color: #595959; -} -.short-text-input .search-input input { - width: 120px; -} -.text-input-with-unit .search-input input { - width: 355px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-unitOption .search-input input { - width: 316px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-prefix .search-input input { - width: 330px; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.text-input-with-prefixOption .search-input input { - width: 316px; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.text-input-with-passwordSwith .search-input input { - width: 360px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-prefix.text-input-with-unit .search-input input { - width: 285px; -} -.text-input-with-prefix.text-input-with-unitOption .search-input input { - width: 246px; -} -.short-text-input.text-input-with-prefix .search-input input { - width: 80px; -} -.short-text-input.text-input-with-unit .search-input input { - width: 80px; -} -.short-text-input.text-input-with-prefix.text-input-with-unit .search-input input { - width: 40px; -} -.search-input input:focus { - border: 1px solid #00abff; -} -.search-input input:disabled, -.search-input input[disabled] { - cursor: not-allowed; - background-color: #f5f5f5; -} -.search-input-sm { - height: 28px !important; -} -.search-img { - color: #bfbfbf; - position: absolute; - right: 8px; - top: 8px; - list-style: none; - font-size: 16px; -} -.search-img-confirm { - color: #008fd5; - cursor: pointer; -} -::-webkit-input-placeholder { - color: #999 !important; -} -:-moz-placeholder { - /* Mozilla Firefox 4 to 18 */ - color: #999 !important; -} -::-moz-placeholder { - /* Mozilla Firefox 19+ */ - color: #999 !important; -} -input:-ms-input-placeholder { - color: #999 !important; -} -input::-webkit-input-placeholder { - color: #999 !important; -} -select-dropdown { - box-sizing: border-box; - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; - font-size: 12px; - outline: none; -} -select-dropdown > div { - background-color: #fff; - position: absolute; - z-index: 9999; -} -select-dropdown > div.select-sm .filter input { - height: 30px; -} -select-dropdown > div.select-sm .filter .toggle { - top: 13px; -} -select-dropdown > div .filter { - width: 100%; -} -select-dropdown > div .filter input { - border: 1px solid #00abff; - border-radius: 3px; - padding: 0 10px; - width: 100%; - height: 34px; -} -select-dropdown > div .filter .toggle { - display: block; - position: absolute; - top: 15px; - right: 10px; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-top: 4px solid #a6a6a6; -} -select-dropdown > div .options { - border: 1px solid #d9d9d9; - border-top: none; - border-radius: 3px; - max-height: 160px; - overflow-y: auto; -} -select-dropdown > div .options ul { - list-style: none; - margin: 0; - padding: 0; -} -select-dropdown > div .options ul li { - color: #595959; - height: 30px; - line-height: 18px; - padding: 6px 20px 6px 8px; - position: relative; - cursor: pointer; - user-select: none; -} -select-dropdown > div .options ul li.single-selected { - background-color: #f5f5f5; -} -select-dropdown > div .options ul li.highlighted { - background-color: #ebf6fd; - color: #595959; -} -select-dropdown > div .options ul li.disabled { - background-color: #fff; - color: #bfbfbf; - cursor: default; - pointer-events: none; -} -select-dropdown > div .options ul li.plx-select-message { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} -select-dropdown > div .options ul li .option-label { - display: inline-block; - width: 100%; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} -select-dropdown > div .options ul li .option-tick { - display: inline-block; - position: absolute; - right: 5px; - top: 5px; -} -select-dropdown > div .options ul li .tick { - fill: none; - stroke: #73cf22; - stroke-width: 2; - stroke-linecap: round; - stroke-linejoin: round; - stroke-miterlimit: 10; -} -plx-select { - display: inline-block; - margin: 0; - position: relative; - vertical-align: middle; - width: 100%; -} -plx-select.ng-untouched:not(form).ng-untouched:not(fieldset) { - border: 0; -} -plx-select * { - box-sizing: border-box; - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; - font-size: 12px; - outline: none; -} -plx-select > div { - border: 1px solid #d9d9d9; - border-radius: 3px; - cursor: pointer; - user-select: none; - width: 100%; -} -plx-select > div.disabled { - background-color: #f5f5f5; - color: #bfbfbf; - cursor: not-allowed; -} -plx-select > div.focus-border { - border: 1px solid #00abff !important; -} -plx-select > div.select-sm .value, -plx-select > div.select-sm .placeholder { - height: 28px !important; - line-height: 28px !important; -} -plx-select > div.select-sm .toggle { - top: 13px; -} -plx-select > div.select-sm div.option { - height: 20px !important; - line-height: 14px !important; -} -plx-select > div.select-sm input { - height: 28px; - line-height: 28px; -} -plx-select > div input { - background-color: transparent; - border: none; - border-radius: 3px; - cursor: pointer; - height: 32px; - line-height: 32px; -} -plx-select > div .toggle { - display: block; - position: absolute; - top: 15px; - right: 10px; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-top: 4px solid #a6a6a6; -} -plx-select > div .single { - display: flex; - width: 100%; -} -plx-select > div .single .value, -plx-select > div .single .placeholder { - color: #595959; - flex: 1; - height: 32px; - line-height: 32px; - overflow: hidden; - padding: 0 10px; - white-space: nowrap; -} -plx-select > div .single .value span, -plx-select > div .single .placeholder span { - display: inline-block; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - max-width: 100%; -} -plx-select > div .single .placeholder { - color: #999; -} -plx-select > div .single input { - flex: 1; - padding: 1px 10px 0 10px; -} -plx-select > div .multiple { - display: flex; - flex-flow: row wrap; - padding: 0 10px; - width: 100%; -} -plx-select > div .multiple .placeholder { - flex: 1; - color: #999; - height: 32px; - line-height: 32px; - overflow: hidden; - white-space: nowrap; -} -plx-select > div .multiple input { - padding: 0; - margin-right: 10px; -} -plx-select > div .multiple div.option { - background-color: #f8f8f8; - border: 1px solid #e6e6e6; - border-radius: 2px; - color: #595959; - cursor: default; - display: inline-block; - flex-shrink: 0; - height: 24px; - line-height: 18px; - margin: 4px 10px 4px 0; - padding: 2px 30px 2px 10px; - max-width: 100%; - position: relative; -} -plx-select > div .multiple div.option span { - display: inline-block; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - max-width: 100%; -} -plx-select > div .multiple div.option .deselect-option { - color: #c0c0c0; - cursor: pointer; - font-size: 8px; - position: absolute; - top: 2px; - right: 8px; -} -plx-select > div .multiple div.option .deselect-option:hover { - color: #555; -} -.plx-ui-steps { - height: 40px; -} -.plx-ui-horizon-ul-horizon { - display: flex; - box-orient: horizontal; - padding: 0; - font-size: 12px; - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; -} -.plx-ui-steps-li { - list-style: none; - position: relative; - height: 24px; - line-height: 24px; - float: left; - margin-right: 0; -} -.plx-ui-steps-number-active { - color: #fff; - background-color: #00abff; - width: 24px; - height: 24px; - border-radius: 50%; - display: inline-block; - margin-right: 10px; - float: left; - text-align: center; -} -.plx-ui-steps-number-passive { - background-color: #D7D7D7; - color: #fff; - width: 24px; - height: 24px; - border-radius: 50%; - display: inline-block; - margin-right: 10px; - float: left; - text-align: center; -} -.plx-rapire-steps { - position: relative; -} -.plx-ui-steps-number-visited { - width: 24px; - height: 24px; - border-radius: 50%; - display: inline-block; - margin-right: 10px; - float: left; - position: relative; - color: #00abff; - background-color: #fff; - border: 2px solid #00abff; -} -.plx-ui-menuitem-div-passive { - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate(-50%, -50%); - -moz-transform: translate(-50%, -50%); - -ms-transform: translate(-50%, -50%); - -o-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); -} -.plx-ui-menuitem-div-active { - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate(-50%, -50%); - -moz-transform: translate(-50%, -50%); - -ms-transform: translate(-50%, -50%); - -o-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); -} -.plx-ui-menuitem-div-passive { - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate(-50%, -50%); - -moz-transform: translate(-50%, -50%); - -ms-transform: translate(-50%, -50%); - -o-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); -} -.plx-ui-menuitem-div-visited { - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate(-50%, -50%); - -moz-transform: translate(-50%, -50%); - -ms-transform: translate(-50%, -50%); - -o-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); -} -.plx-ui-underline { - width: 386px; - height: 2px; - margin-top: 49px; - position: absolute; - background-color: #00abff; -} -.passive .plx-ui-underline { - background-color: #D7D7D7; -} -.plx-ui-steps-title-active { - white-space: nowrap; -} -.plx-ui-steps-title-passive { - white-space: nowrap; -} -.plx-ui-steps-title-visited { - white-space: nowrap; -} -.plx-ui-steps-number-visited-tick { - position: absolute; - background-color: transparent; - height: 12px; - width: 7px; - transform: rotate(45deg); - transform-origin: 50% 120%; - transition: all 0.2s; - border-right: 2px solid #00abff; - border-bottom: 2px solid #00abff; -} -/**********************************************************************************************************/ -.plx-ui-steps-display-vertical { - display: inline-block; -} -.plx-ui-steps-vertical { - height: auto; - width: auto; - min-width: 180px; - display: inline-block; - font-size: 12px; - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; -} -.plx-ui-horizon-ul-vertical { - display: inline-block; - box-orient: vertical; - width: auto; - padding: 0; -} -.plx-ui-underline-active-vertical { - margin-left: 3px; - width: 10px; - display: table-caption; - min-height: 30px; - border-right: 2px solid #D7D7D7; -} -.plx-ui-underline-visited-vertical { - margin-left: 3px; - width: 10px; - display: table-caption; - height: 30px; -} -.plx-ui-underline-passive-vertical { - height: 30px; - margin-left: 3px; - width: 10px; - display: table-caption; - border-right: 2px solid #D7D7D7; -} -.plx-ui-steps-li-vertical { - list-style: none; - width: auto; -} -.plx-ui-steps-title-active-vertical { - margin-left: 10px; - position: absolute; - width: auto; - height: 24px; - min-width: 64px; - margin-top: 1px; - white-space: nowrap; -} -.plx-ui-steps-title-visited-vertical { - margin-left: 10px; - position: absolute; - width: auto; - height: 24px; - min-width: 64px; - margin-top: 3px; - white-space: nowrap; -} -.plx-ui-steps-title-passive-vertical { - margin-left: 10px; - position: absolute; - width: auto; - height: 24px; - min-width: 64px; - margin-top: 1px; - white-space: nowrap; -} -.plx-ui-steps-number-visited-tick-vertical { - position: absolute; - background-color: transparent; - height: 12px; - width: 7px; - transform: rotate(45deg); - transform-origin: 50% 120%; - transition: all 0.2s; -} -.plx-ui-steps-number-active-vertical { - width: 24px; - height: 24px; - border-radius: 50%; - display: inline-block; - margin-right: 0; - float: left; - text-align: left; - position: relative; - line-height: 24px; -} -.plx-ui-steps-number-passive-vertical { - width: 24px; - height: 24px; - border-radius: 50%; - display: inline-block; - margin-right: 0; - float: left; - text-align: left; - position: relative; - padding-top: 2px; - line-height: 24px; -} -.plx-ui-steps-number-visited-vertical { - width: 24px; - height: 24px; - border-radius: 50%; - display: inline-block; - margin-right: 0; - float: left; - position: relative; - line-height: 24px; -} -.plx-table-wrapper { - position: relative; - width: 100%; -} -.plx-table-blur { - opacity: .7; - filter: blur(0.5px); -} -.plx-table-loading { - position: absolute; - width: 100%; - height: 100%; - opacity: 1; - z-index: 9999; -} -.plx-table-loading-content { - position: absolute; - width: 36px; - height: 36px; - border: 5px solid #00abff; - border-right-color: transparent; - top: calc(50% - 36px); - left: calc(50% - 18px); - animation: plx-table-loading-animation 1s infinite ease-in-out; - border-radius: 50%; -} -.plx-table-loading-placeholder { - position: absolute; - top: calc(50% + 10px); - left: calc(50% - 18px); -} -/* 加载中动画 */ -@-moz-keyframes plx-table-loading-animation { - 0% { - -moz-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -moz-transform: rotate(360deg); - transform: rotate(360deg); - } -} -@-webkit-keyframes plx-table-loading-animation { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -@keyframes plx-table-loading-animation { - 0% { - -moz-transform: rotate(0deg); - -ms-transform: rotate(0deg); - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -moz-transform: rotate(360deg); - -ms-transform: rotate(360deg); - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -/*表格样式*/ -.plx-table { - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; - font-size: 12px; - line-height: 1.5; - color: #595959; - border-collapse: collapse; - width: 100%; - display: table; - table-layout: fixed; - max-width: 100%; - min-width: 100%; - word-break: break-all; -} -.plx-table .plx-table-subHead th { - background-color: #fff; - line-height: 1; - border-bottom: 1px solid #d9d9d9; -} -.plx-table tr.plx-table-hlt { - background-color: #e2f2fc; -} -.plx-table tr:hover { - background-color: #ebf6fd; -} -.plx-table.plx-table-normal th { - box-sizing: border-box; - height: 40px; - padding: 0px 10px ; - color: #595959; - text-decoration: none; - font-weight: normal; - font-size: 12px; - border: 1px solid #d9d9d9; - background-color: #f5f5f5; -} -.plx-table.plx-table-normal td { - border: 1px solid #d9d9d9; - vertical-align: middle; - height: 40px; - padding: 2px 10px 0px 10px; -} -.plx-table.plx-table-large th { - box-sizing: border-box; - height: 50px; - padding: 0px 10px ; - color: #595959; - text-decoration: none; - font-weight: normal; - font-size: 12px; - border: none; - background-color: #f5f5f5; -} -.plx-table.plx-table-large td { - border-bottom: 1px solid #d9d9d9; - vertical-align: middle; - height: 50px; - padding: 2px 10px 0px 10px; -} -.plx-table.plx-table-card th { - box-sizing: border-box; - height: 64px; - padding: 0px 10px ; - color: #595959; - text-decoration: none; - font-weight: normal; - font-size: 12px; - border: none; - background-color: #f5f5f5; -} -.plx-table.plx-table-card td { - border-bottom: 1px solid #d9d9d9; - vertical-align: middle; - height: 64px; - padding: 2px 10px 0px 10px; -} -.plx-table.plx-table-sm th { - box-sizing: border-box; - height: 30px; - padding: 0px 10px ; - color: #595959; - text-decoration: none; - font-weight: normal; - font-size: 12px; - border: 1px solid #d9d9d9; - background-color: #f5f5f5; -} -.plx-table.plx-table-sm td { - border: 1px solid #d9d9d9; - vertical-align: middle; - height: 30px; - padding: 2px 10px 0px 10px; -} -.plx-table tbody tr:first-child td { - border-top: none; -} -.plx-table-fix { - table-layout: fixed; -} -/*防止分页区域高度塌陷*/ -.plx-table-pagnation-content { - overflow: auto; -} -/*搜索区域*/ -.plx-table-opretions-wrapper:after { - content: ''; - display: block; - clear: both; - height: 0; - visibility: hidden; -} -.plx-table-align-center { - text-align: center; -} -.plx-table-align-left { - text-align: left; -} -.plx-table-align-right { - text-align: right; -} -.plx-table-head-checkbox label { - margin-bottom: 0px; - vertical-align: top; -} -.plx-table td.plx-table-no-data { - height: 60px; - text-align: center; - font-size: 12px; - color: #595959; -} -.plx-tabset { - display: flex; - padding-left: 0; - margin-bottom: 0; - list-style: none; -} -.plx-tabset.plx-nav-tabs { - border-bottom: 1px solid #d9d9d9; - font-size: 14px; -} -.plx-tabset.plx-nav-tabs .plx-nav-item { - margin-bottom: -1px; -} -.plx-tabset.plx-nav-tabs .plx-nav-link { - display: block; - border-radius: 0; - border: 1px solid transparent; - border-top: 2px solid transparent; - color: #999; - min-width: 100px; - text-align: center; - padding: 6px 16px; -} -.plx-tabset.plx-nav-tabs .plx-nav-link:hover, -.plx-tabset.plx-nav-tabs .plx-nav-link:focus { - text-decoration: none; - background-color: #ebf6fd; - border-bottom: 0; - border-left: 0; - border-right: 0; -} -.plx-tabset.plx-nav-tabs .plx-nav-link.active { - color: #595959; - border-top: 2px solid #00abff; - border-left: 1px solid #d9d9d9; - border-right: 1px solid #d9d9d9; - background-color: #fff; -} -.plx-tabset.plx-nav-tabs .plx-nav-link.active:hover, -.plx-tabset.plx-nav-tabs .plx-nav-link.active:focus { - border-left: 1px solid #d9d9d9; - border-right: 1px solid #d9d9d9; - border-bottom: 1px solid transparent; -} -.plx-tabset.plx-nav-tabs.bottom .plx-nav-link { - border: 0; - border-bottom: 2px solid transparent; -} -.plx-tabset.plx-nav-tabs.bottom .plx-nav-link:hover { - border-bottom: 1px solid transparent; -} -.plx-tabset.plx-nav-tabs.bottom .plx-nav-link.active { - border: 0; - border-bottom: 2px solid #00abff; -} -.plx-tabset.plx-nav-pills .plx-nav-link { - border: 1px solid #d9d9d9; - border-radius: 0.25em; - color: #999; - display: block; - padding: 6px 10px; - min-width: 100px; - text-align: center; -} -.plx-tabset.plx-nav-pills .plx-nav-link:hover, -.plx-tabset.plx-nav-pills .plx-nav-link:focus { - text-decoration: none; - color: #00abff; - border-color: #00abff; - background-color: #fff; -} -.plx-tabset.plx-nav-pills .plx-nav-link:active { - color: #008fd5; - border-color: #008fd5; - background-color: #fff; -} -.plx-tabset.plx-nav-pills .plx-nav-link.active { - color: #fff; - cursor: default; - background-color: #00abff; - border-color: #00abff; -} -.plx-tabset.plx-nav-pills .plx-nav-item:hover, -.plx-tabset.plx-nav-pills .plx-nav-item:focus, -.plx-tabset.plx-nav-pills .plx-nav-item:active { - z-index: 2; -} -.plx-tabset.plx-nav-pills .plx-nav-item:first-child:not(:last-child) .plx-nav-link { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.plx-tabset.plx-nav-pills .plx-nav-item:not(:first-child):not(:last-child) .plx-nav-link { - border-radius: 0; -} -.plx-tabset.plx-nav-pills .plx-nav-item:last-child:not(:first-child) .plx-nav-link { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.plx-tabset.plx-nav-pills .plx-nav-item + .plx-nav-item .plx-nav-link { - margin-left: -1px; -} -.plx-tab-content .plx-tab-pane { - display: none; -} -.plx-tab-content .plx-tab-pane.active { - display: block; -} -.font { - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; - font-size: 12px; -} -.text-input { - display: inline-block; -} -.text-input .caret-down { - display: block; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-top: 4px solid #a6a6a6; - margin-top: 4px; - margin-bottom: 10px; -} -.text-input .caret-down.caret-down-hover:hover, -.text-input .caret-down.caret-down-hover:active { - border-top: 4px solid #00abff; -} -.text-input .caret-up { - display: block; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-bottom: 4px solid #a6a6a6; - margin-top: 10px; -} -.text-input .caret-up.caret-up-hover:hover, -.text-input .caret-up.caret-up-hover:active { - border-bottom: 4px solid #00abff; -} -.text-input .toggle { - float: right; - margin-right: 10px; - margin-top: 14px; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-top: 4px solid #a6a6a6; -} -.text-input .text-input-dataList { - margin-top: 2px; - position: absolute; - z-index: 1050; - border: 1px solid #d9d9d9; - background: #fff; - cursor: pointer; - border-radius: 3px; -} -.text-input .text-input-dataList li { - list-style: none; - height: 32px; - width: 400px; - padding-left: 10px; -} -.text-input .text-input-dataList li:hover { - background-color: #ebf6fd; -} -.input-span { - display: inline-block; - overflow: visible; - padding: 0; - position: relative; -} -.text-input-with-hint { - margin-bottom: -8px; -} -:host(.ng-touched.ng-invalid.input-blur) .text-input-with-hint { - height: auto; - margin-bottom: 0; -} -.plx-text-input-unit-group, -.plx-text-input-prefix-group { - position: absolute; - margin-top: 5px; - width: 84px; - z-index: 1050; - border-radius: 3px; - background: #fff; - border: 1px solid #d9d9d9; - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - cursor: pointer; -} -.plx-text-input-unit-group li, -.plx-text-input-prefix-group li { - padding-left: 10px; - height: 32px; - list-style: none; - line-height: 32px; - font-size: 12px; -} -.plx-text-input-unit-group li:hover, -.plx-text-input-prefix-group li:hover { - background-color: #ebf6fd; -} -.plx-text-input-unit-group li.group-selected, -.plx-text-input-prefix-group li.group-selected, -.plx-text-input-unit-group li.group-selected:hover, -.plx-text-input-prefix-group li.group-selected:hover { - background-color: #f5f5f5; - color: #595959; -} -.text-input-optional { - display: inline-block; - margin-right: 6px; - padding-left: 5px; -} -.input-right-border .plx-input { - border-right: 1px solid #00abff; -} -.input-left-border .plx-input { - border-left: 1px solid #00abff; -} -.text-input-hint { - top: 42px; - left: 10px; - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; - font-size: 12px; - color: #bfbfbf; -} -:host(.ng-touched.ng-invalid.input-blur) .text-input-hint { - display: none; -} -.text-input-prefix { - font-size: 12px; - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; - font-weight: 400; - font-size: 14px; - line-height: 14px; - color: #595959; - display: inline-block; - width: 70px; - height: 32px; - text-align: center; - line-height: 32px; - border-top-left-radius: 3px; - border-bottom-left-radius: 3px; - color: #bfbfbf; - border: 1px solid #d9d9d9; - border-right: 0; - vertical-align: middle; -} -.short-text-input .text-input-prefix { - width: 40px; -} -.input-span-focus .text-input-prefix { - border-color: #00abff; -} -.input-invalid.ng-dirty.ng-invalid.ng-touched.input-blur .text-input-prefix, -.input-invalid.ng-dirty.ng-invalid.ng-touched.input-blur .input-span-focus:focus .text-input-prefix { - border-color: #ff5b55; -} -.input-unit, -.text-input-unit-option { - font-size: 12px; - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; - font-weight: 400; - font-size: 14px; - line-height: 14px; - color: #595959; - display: inline-block; - height: 32px; - text-align: center; - line-height: 32px; - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; -} -.text-input-unit { - border: 1px solid #d9d9d9; - border-left: 0; - font-size: 12px; - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; - font-weight: 400; - font-size: 14px; - line-height: 14px; - color: #595959; - display: inline-block; - height: 32px; - line-height: 32px; - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; - color: #bfbfbf; - width: 45px; - text-align: center; - vertical-align: middle; -} -.short-text-input .text-input-unit { - width: 40px; -} -.input-span-focus .text-input-unit { - border-color: #00abff; -} -.text-input-prefix-option { - font-size: 12px; - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; - font-weight: 400; - font-size: 14px; - line-height: 14px; - color: #595959; - display: inline-block; - height: 32px; - text-align: center; - line-height: 32px; - border-top-left-radius: 3px; - border-bottom-left-radius: 3px; - width: 84px; - text-align: left; - padding-left: 10px; - cursor: pointer; - border: 1px solid #d9d9d9; - border-right: 0; - vertical-align: middle; -} -.text-input-prefix-option.prefix-focus { - border-color: #00abff; -} -.text-input-unit-option { - width: 84px; - text-align: left; - padding-left: 10px; - cursor: pointer; - border: 1px solid #d9d9d9; - border-left: 0; - vertical-align: middle; -} -.input-span-focus .text-input-unit-option { - border-color: #00abff; -} -.text-input-with-unitOption div.unit-focus { - border-color: #00abff; -} -.short-text-input .plx-input { - width: 120px; -} -.text-input-with-unit .plx-input { - width: 355px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-unitOption .plx-input { - width: 316px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-prefix .plx-input { - width: 330px; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.text-input-with-prefixOption .plx-input { - width: 316px; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.text-input-with-passwordSwith .plx-input { - width: 360px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-prefix.text-input-with-unit .plx-input { - width: 285px; -} -.text-input-with-prefix.text-input-with-unitOption .plx-input { - width: 246px; -} -.short-text-input.text-input-with-prefix .plx-input { - width: 80px; -} -.short-text-input.text-input-with-unit .plx-input { - width: 80px; -} -.short-text-input.text-input-with-prefix.text-input-with-unit .plx-input { - width: 40px; -} -.input-spinner-up { - cursor: pointer; - display: block; - font-size: 12px; - position: absolute; - margin: 0; - right: 0; - overflow: hidden; - border: none; - padding: 0; - text-align: center; - vertical-align: middle; - width: 18px; - top: 0; -} -.input-spinner-down { - cursor: pointer; - display: block; - font-size: 12px; - position: absolute; - margin: 0; - right: 0; - overflow: hidden; - border: none; - padding: 0; - text-align: center; - vertical-align: middle; - width: 18px; - bottom: 0; -} -:host(.plx-input-sm) .plx-input { - height: 28px; - line-height: 28px; -} -:host(.plx-input-sm) .text-input-prefix, -:host(.plx-input-sm) .text-input-unit, -:host(.plx-input-sm) .text-input-unit-option, -:host(.plx-input-sm) .text-input-prefix-option { - height: 28px; - line-height: 28px; -} -:host(.plx-input-sm) div.text-input-dataList { - height: 28px; -} -:host(.plx-input-sm) .toggle { - margin-top: 11px; -} -:host(.plx-input-sm) .caret-down { - margin-bottom: 8px; -} -:host(.plx-input-sm) .caret-up { - margin-top: 8px; -} -:host(.plx-input-sm) .plx-input-passwordSwitch { - line-height: 26px; -} -.plx-input-sm .plx-input { - height: 28px; - line-height: 28px; -} -.plx-input-sm .text-input-prefix, -.plx-input-sm .text-input-unit, -.plx-input-sm .text-input-unit-option, -.plx-input-sm .text-input-prefix-option { - height: 28px; - line-height: 28px; -} -.plx-input-sm div.text-input-dataList { - height: 28px; -} -.plx-input-sm .toggle { - margin-top: 11px; -} -.plx-input-sm .caret-down { - margin-bottom: 8px; -} -.plx-input-sm .caret-up { - margin-top: 8px; -} -.plx-input-sm .plx-input-passwordSwitch { - line-height: 26px; -} -.plx-input-sm-common .plx-input { - height: 28px; - line-height: 28px; -} -.plx-input-sm-common .text-input-prefix, -.plx-input-sm-common .text-input-unit, -.plx-input-sm-common .text-input-unit-option, -.plx-input-sm-common .text-input-prefix-option { - height: 28px; - line-height: 28px; -} -.plx-input-sm-common div.text-input-dataList { - height: 28px; -} -.plx-input-sm-common .toggle { - margin-top: 11px; -} -.plx-input-sm-common .caret-down { - margin-bottom: 8px; -} -.plx-input-sm-common .caret-up { - margin-top: 8px; -} -.plx-input-sm-common .plx-input-passwordSwitch { - line-height: 26px; -} -.plx-input-passwordSwitch { - display: inline-block; - line-height: 30px; - width: 40px; - text-align: center; - vertical-align: middle; - background-color: #fff; - border: 1px solid #d9d9d9; - border-left: 0; - border-bottom-right-radius: 3px; - border-top-right-radius: 3px; - cursor: pointer; -} -.plx-input-passwordSwitch:focus, -.plx-input-passwordSwitch:hover { - border-color: #00abff; - background-color: #fff; -} -.plx-input-passwordSwitch:focus.ict-eye-closed, -.plx-input-passwordSwitch:hover.ict-eye-closed, -.plx-input-passwordSwitch:focus.ict-eye, -.plx-input-passwordSwitch:hover.ict-eye { - color: #00abff; -} -.plx-input-passwordSwitch:active { - background-color: #fff; - border-color: #008fd5; -} -.plx-input-passwordSwitch:active.ict-eye-closed, -.plx-input-passwordSwitch:active.ict-eye { - color: #008fd5; -} -.plx-input-passwordSwitch.ict-eye-closed, -.plx-input-passwordSwitch.ict-eye { - color: #999; - font-size: 16px; -} -.input-right-border-pwdswith-hover .plx-input { - border-right-color: #00abff; -} -.input-right-border-pwdswith-click .plx-input { - border-right-color: #008fd5; -} -.plx-text-input-ip-dot { - display: inline-block; - vertical-align: bottom; - color: #999; -} -.plx-text-input-error { - font-size: 12px; - color: #ff5b55; - margin-top: 5px; -} -:host(.plx-text-input-ip-invalid) .plx-input { - border-color: #ff5b55; -} -:host(.plx-text-input-ip-invalid) .input-span-focus .plx-input { - border-color: #00abff; -} -.plx-text-input-ip-invalid .plx-input { - border-color: #ff5b55; -} -.plx-text-input-ip-invalid .input-span-focus .plx-input { - border-color: #00abff; -} -.plx-text-input-ip-invalid-common .plx-input { - border-color: #ff5b55; -} -.plx-text-input-ip-invalid-common .input-span-focus .plx-input { - border-color: #00abff; -} -.plx-textarea-container { - display: inline-block; -} -.plx-textarea-class { - width: 100%; - font-size: 12px; - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; - line-height: 1.5; - resize: none; - padding: 7px; - border: 1px solid #d9d9d9; - border-radius: 3px; - box-shadow: none; - outline: none; - overflow-y: auto; -} -.plx-textarea-class:focus { - border-color: #00abff; -} -.plx-textarea-class::-webkit-input-placeholder { - text-shadow: none; - -webkit-text-fill-color: initial; -} -.plx-align-tip { - vertical-align: top; - font-size: 12px; - font-weight: normal; - color: #bfbfbf; -} -.plx-align-number { - font-size: 12px; - font-weight: normal; - line-height: 1; - text-align: right; - width: 100%; - color: #bfbfbf; - margin-top: -2px; -} -.plx-toggle-switch { - display: inline-block; - height: 22px; - width: 44px; - position: relative; - vertical-align: middle; - text-align: left; - font-size: 0; -} -.plx-toggle-switch input[type='checkbox'] { - display: none; - -webkit-appearance: none; - -moz-appearance: none; - -ms-progress-appearance: none; -} -.plx-toggle-switch input[type='checkbox'] + label { - display: inline-block; - height: 22px; - position: relative; - cursor: pointer; -} -.plx-toggle-switch input[type='checkbox'] + label::before { - position: absolute; - display: inline-block; - content: ''; - height: 22px; - width: 44px; - border-radius: 11px; - transition: 0.15s ease-in; - transition-property: background-color; - background-color: #DDDDDD; -} -.plx-toggle-switch input[type='checkbox'] + label::after { - position: absolute; - display: inline-block; - content: ''; - height: 18px; - width: 18px; - border-radius: 50%; - top: 2px; - left: 2px; - transition: left 0.15s ease-in; - background-color: #fff; -} -.plx-toggle-switch input[type='checkbox']:checked + label::before { - background-color: #00abff; - transition: background-color 0.15s ease-in; -} -.plx-toggle-switch input[type='checkbox']:checked + label::after { - left: 24px; - transition: left 0.15s ease-in; -} -.plx-toggle-switch input[type='checkbox']:disabled + label, -.plx-toggle-switch input[type='checkbox']:checked:disabled + label { - cursor: not-allowed; -} -.plx-toggle-switch input[type='checkbox']:disabled + label::before, -.plx-toggle-switch input[type='checkbox']:checked:disabled + label::before { - opacity: 0.5; -} -:host(.plx-toggle-sm) .plx-toggle-switch { - height: 18px; - width: 34px; -} -:host(.plx-toggle-sm) .plx-toggle-switch input[type='checkbox'] + label { - height: 18px; -} -:host(.plx-toggle-sm) .plx-toggle-switch input[type='checkbox'] + label::before { - height: 18px; - width: 34px; - border-radius: 9px; -} -:host(.plx-toggle-sm) .plx-toggle-switch input[type='checkbox'] + label::after { - height: 14px; - width: 14px; -} -:host(.plx-toggle-sm) .plx-toggle-switch input[type='checkbox']:checked + label::after { - left: 18px; - transition: left 0.15s ease-in; -} -.plx-toggle-sm .plx-toggle-switch { - height: 18px; - width: 34px; -} -.plx-toggle-sm .plx-toggle-switch input[type='checkbox'] + label { - height: 18px; -} -.plx-toggle-sm .plx-toggle-switch input[type='checkbox'] + label::before { - height: 18px; - width: 34px; - border-radius: 9px; -} -.plx-toggle-sm .plx-toggle-switch input[type='checkbox'] + label::after { - height: 14px; - width: 14px; -} -.plx-toggle-sm .plx-toggle-switch input[type='checkbox']:checked + label::after { - left: 18px; - transition: left 0.15s ease-in; -} -.plx-toggle-sm-switch-common { - height: 18px; - width: 34px; -} -.plx-toggle-sm-switch-common input[type='checkbox'] + label { - height: 18px; -} -.plx-toggle-sm-switch-common input[type='checkbox'] + label::before { - height: 18px; - width: 34px; - border-radius: 9px; -} -.plx-toggle-sm-switch-common input[type='checkbox'] + label::after { - height: 14px; - width: 14px; -} -.plx-toggle-sm-switch-common input[type='checkbox']:checked + label::after { - left: 18px; - transition: left 0.15s ease-in; -} -.toolbar i.seperate-vertical { - margin-right: 10px; - margin-left: 0; - border-right: 1px solid #e9e9e9; -} -.toolbar span { - color: #595959; - cursor: pointer; - margin-right: 10px; - font-size: 16px; - display: inline-block; - width: 28px; - height: 28px; - border: 1px solid transparent; - padding: 5px; -} -.toolbar span:hover { - background-color: #ebf6fd; - border-radius: 2px; -} -.toolbar span:last-child { - margin-right: 0px; -} -.plx-tooltip { - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; - font-size: 12px; - opacity: 1; - position: absolute; - z-index: 10001; - display: block; - font-style: normal; - font-weight: normal; - letter-spacing: normal; - line-break: auto; - line-height: 1.5; - text-align: left; - text-decoration: none; - text-shadow: none; - text-transform: none; - white-space: normal; - word-break: normal; - word-spacing: normal; - word-wrap: break-word; -} -.plx-tooltip::before, -.plx-tooltip::after { - content: ""; - position: absolute; - display: block; - width: 0; - height: 0; - border: solid transparent; -} -.plx-tooltip::before { - border-width: 5px; -} -.plx-tooltip::after { - border-width: 4px; -} -.plx-tooltip-inner { - min-width: 60px; - max-width: 200px; - padding: 3px 8px; - color: #fff; - text-align: center; - background-color: #000; -} -.plx-tooltip.show { - font-size: 12px; - opacity: 1; -} -.plx-tooltip.show .plx-tooltip-inner { - background-color: #595959; - border-radius: 3px; - padding: 0px 12px; - height: 30px; - line-height: 30px; -} -.plx-tooltip-top-common { - margin-top: -7px; -} -.plx-tooltip-top-common::before { - border-top-color: #595959; - border-bottom-width: 0; - bottom: -5px; -} -.plx-tooltip-top-common::after { - border-top-color: #595959; - border-bottom-width: 0; - bottom: -4px; -} -.plx-tooltip-top { - margin-top: -7px; -} -.plx-tooltip-top::before { - border-top-color: #595959; - border-bottom-width: 0; - bottom: -5px; -} -.plx-tooltip-top::after { - border-top-color: #595959; - border-bottom-width: 0; - bottom: -4px; -} -.plx-tooltip-top::before { - left: 50%; - margin-left: -5px; -} -.plx-tooltip-top::after { - left: 50%; - margin-left: -4px; -} -.plx-tooltip.plx-tooltip-top-left { - margin-top: -7px; -} -.plx-tooltip.plx-tooltip-top-left::before { - border-top-color: #595959; - border-bottom-width: 0; - bottom: -5px; -} -.plx-tooltip.plx-tooltip-top-left::after { - border-top-color: #595959; - border-bottom-width: 0; - bottom: -4px; -} -.plx-tooltip.plx-tooltip-top-left::before { - left: 5px; -} -.plx-tooltip.plx-tooltip-top-left::after { - left: 6px; -} -.plx-tooltip.plx-tooltip-top-right { - margin-top: -7px; -} -.plx-tooltip.plx-tooltip-top-right::before { - border-top-color: #595959; - border-bottom-width: 0; - bottom: -5px; -} -.plx-tooltip.plx-tooltip-top-right::after { - border-top-color: #595959; - border-bottom-width: 0; - bottom: -4px; -} -.plx-tooltip.plx-tooltip-top-right::before { - right: 5px; -} -.plx-tooltip.plx-tooltip-top-right::after { - right: 6px; -} -.plx-tooltip-right-common { - margin-left: 7px; -} -.plx-tooltip-right-common::before { - border-right-color: #595959; - border-left-width: 0; - left: -5px; -} -.plx-tooltip-right-common::after { - border-right-color: #595959; - border-left-width: 0; - left: -4px; -} -.plx-tooltip.plx-tooltip-right { - margin-left: 7px; -} -.plx-tooltip.plx-tooltip-right::before { - border-right-color: #595959; - border-left-width: 0; - left: -5px; -} -.plx-tooltip.plx-tooltip-right::after { - border-right-color: #595959; - border-left-width: 0; - left: -4px; -} -.plx-tooltip.plx-tooltip-right::before { - top: 50%; - margin-top: -5px; -} -.plx-tooltip.plx-tooltip-right::after { - top: 50%; - margin-top: -4px; -} -.plx-tooltip.plx-tooltip-right-top { - margin-left: 7px; -} -.plx-tooltip.plx-tooltip-right-top::before { - border-right-color: #595959; - border-left-width: 0; - left: -5px; -} -.plx-tooltip.plx-tooltip-right-top::after { - border-right-color: #595959; - border-left-width: 0; - left: -4px; -} -.plx-tooltip.plx-tooltip-right-top::before { - top: 5px; -} -.plx-tooltip.plx-tooltip-right-top::after { - top: 6px; -} -.plx-tooltip.plx-tooltip-right-bottom { - margin-left: 7px; -} -.plx-tooltip.plx-tooltip-right-bottom::before { - border-right-color: #595959; - border-left-width: 0; - left: -5px; -} -.plx-tooltip.plx-tooltip-right-bottom::after { - border-right-color: #595959; - border-left-width: 0; - left: -4px; -} -.plx-tooltip.plx-tooltip-right-bottom::before { - bottom: 5px; -} -.plx-tooltip.plx-tooltip-right-bottom::after { - bottom: 6px; -} -.plx-tooltip-bottom-common { - margin-top: 7px; -} -.plx-tooltip-bottom-common::before { - border-bottom-color: #595959; - border-top-width: 0; - top: -5px; -} -.plx-tooltip-bottom-common::after { - border-bottom-color: #595959; - border-top-width: 0; - top: -4px; -} -.plx-tooltip.plx-tooltip-bottom { - margin-top: 7px; -} -.plx-tooltip.plx-tooltip-bottom::before { - border-bottom-color: #595959; - border-top-width: 0; - top: -5px; -} -.plx-tooltip.plx-tooltip-bottom::after { - border-bottom-color: #595959; - border-top-width: 0; - top: -4px; -} -.plx-tooltip.plx-tooltip-bottom::before { - left: 50%; - margin-left: -5px; -} -.plx-tooltip.plx-tooltip-bottom::after { - left: 50%; - margin-left: -4px; -} -.plx-tooltip.plx-tooltip-bottom-left { - margin-top: 7px; -} -.plx-tooltip.plx-tooltip-bottom-left::before { - border-bottom-color: #595959; - border-top-width: 0; - top: -5px; -} -.plx-tooltip.plx-tooltip-bottom-left::after { - border-bottom-color: #595959; - border-top-width: 0; - top: -4px; -} -.plx-tooltip.plx-tooltip-bottom-left::before { - left: 5px; -} -.plx-tooltip.plx-tooltip-bottom-left::after { - left: 6px; -} -.plx-tooltip.plx-tooltip-bottom-right { - margin-top: 7px; -} -.plx-tooltip.plx-tooltip-bottom-right::before { - border-bottom-color: #595959; - border-top-width: 0; - top: -5px; -} -.plx-tooltip.plx-tooltip-bottom-right::after { - border-bottom-color: #595959; - border-top-width: 0; - top: -4px; -} -.plx-tooltip.plx-tooltip-bottom-right::before { - right: 5px; -} -.plx-tooltip.plx-tooltip-bottom-right::after { - right: 6px; -} -.plx-tooltip-left-common { - margin-left: -7px; -} -.plx-tooltip-left-common::before { - border-left-color: #595959; - border-right-width: 0; - right: -5px; -} -.plx-tooltip-left-common::after { - border-left-color: #595959; - border-right-width: 0; - right: -4px; -} -.plx-tooltip.plx-tooltip-left { - margin-left: -7px; -} -.plx-tooltip.plx-tooltip-left::before { - border-left-color: #595959; - border-right-width: 0; - right: -5px; -} -.plx-tooltip.plx-tooltip-left::after { - border-left-color: #595959; - border-right-width: 0; - right: -4px; -} -.plx-tooltip.plx-tooltip-left::before { - top: 50%; - margin-top: -5px; -} -.plx-tooltip.plx-tooltip-left::after { - top: 50%; - margin-top: -4px; -} -.plx-tooltip.plx-tooltip-left-top { - margin-left: -7px; -} -.plx-tooltip.plx-tooltip-left-top::before { - border-left-color: #595959; - border-right-width: 0; - right: -5px; -} -.plx-tooltip.plx-tooltip-left-top::after { - border-left-color: #595959; - border-right-width: 0; - right: -4px; -} -.plx-tooltip.plx-tooltip-left-top::before { - top: 5px; -} -.plx-tooltip.plx-tooltip-left-top::after { - top: 6px; -} -.plx-tooltip.plx-tooltip-left-bottom { - margin-left: -7px; -} -.plx-tooltip.plx-tooltip-left-bottom::before { - border-left-color: #595959; - border-right-width: 0; - right: -5px; -} -.plx-tooltip.plx-tooltip-left-bottom::after { - border-left-color: #595959; - border-right-width: 0; - right: -4px; -} -.plx-tooltip.plx-tooltip-left-bottom::before { - bottom: 5px; -} -.plx-tooltip.plx-tooltip-left-bottom::after { - bottom: 6px; -} -.plx-checkbox-container { - font-size: 0; - position: relative; -} -.plx-checkbox { - position: absolute; - z-index: -1; - opacity: 0; -} -.plx-checkbox + .checkbox-substitute { - position: relative; - display: inline-block; - cursor: pointer; - height: 14px; - width: 14px; - border: 1px solid #d9d9d9; - border-radius: 2px; - vertical-align: middle; -} -.plx-checkbox + .checkbox-substitute + span { - font-weight: normal; - font-size: 12px; - cursor: pointer; - vertical-align: middle; - padding-left: 6px; -} -.plx-checkbox:hover + .checkbox-substitute { - border-color: #00abff; - outline: none; - background-image: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; -} -.plx-checkbox:checked + .checkbox-substitute { - border-color: #00abff; - background-color: #00abff; -} -.plx-checkbox:checked + .checkbox-substitute::after { - content: ''; - position: absolute; - display: block; - width: 6px; - height: 10px; - border: solid #fff; - border-width: 0 2px 2px 0; - transform: rotate(45deg); - left: 3px; - top: 0; -} -.plx-checkbox:checked.portion + .checkbox-substitute { - background-color: #00abff; - border-color: #00abff; - opacity: 0.5; -} -.plx-checkbox:disabled + .checkbox-substitute, -.plx-checkbox[disabled] + .checkbox-substitute { - border-color: #d9d9d9; - background-color: #f5f5f5; - cursor: not-allowed; -} -.plx-checkbox:disabled + .checkbox-substitute + span, -.plx-checkbox[disabled] + .checkbox-substitute + span { - cursor: not-allowed; -} -.plx-checkbox:checked.portion[disabled] + .checkbox-substitute { - background-color: #d9d9d9; - border-color: #d9d9d9; -} -.plx-checkbox:checked.portion[disabled] + .checkbox-substitute::after { - content: ''; - position: absolute; - display: block; - width: 6px; - height: 10px; - border: solid #999; - border-width: 0 2px 2px 0; - transform: rotate(45deg); - left: 3px; - top: 0; -} -.plx-checkbox:checked[disabled] + .checkbox-substitute { - border-color: #d9d9d9; - background-color: #d9d9d9; -} -.plx-treenode { - cursor: pointer; - background-attachment: scroll; - background-color: transparent; - background-image: none; - background-position: 0 0; - background-repeat: repeat-y; - list-style: none outside none; - margin: 0; - padding: 0; - white-space: nowrap; - font-size: 12px; -} -.plx-treenode .plx-treenode-content { - margin-top: 10px; -} -.plx-treenode .plx-treenode-content.light { - margin-top: 15px; -} -.plx-treenode ul.plx-treenode-children { - display: block; - -webkit-padding-start: 21px; -} -.plx-treenode-toggler { - font-size: 16px; - color: #00abff; - display: inline-block; - margin-right: 7px; - margin-top: 2px; - vertical-align: bottom; - float: left; -} -.plx-treenode-ckbox { - float: left; - margin-right: 10px; - margin-top: 2px; -} -.plx-treenode-icon { - color: #999; - margin-right: 10px; - float: left; - font-size: 16px; - vertical-align: bottom; - margin-top: 2px; -} -.plx-treenode-label-container { - overflow: visible; -} -.plx-treenode-label-container.plx-treenode-label-ellipsis { - overflow: hidden; -} -.plx-treenode-label-container:hover { - background-color: #ebf6fd; -} -.plx-treenode-active > div .plx-treenode-label-container { - background-color: #e2f2fc; -} -.plx-treenode-active > div .plx-treenode-label-container:hover { - background-color: #ebf6fd; -} -.plx-treenode-label-container span:last-child { - margin-right: 5px; -} -.plx-treenode-lable { - display: inline-block; - vertical-align: 0; - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; - color: #595959; -} -.plx-treenode-lable span { - display: inline-block; - overflow: hidden; - max-width: 100%; - text-overflow: ellipsis; - white-space: nowrap; - vertical-align: bottom; -} -.plx-treenode-operations { - margin-left: 20px; - display: none; - vertical-align: bottom; - width: fit-content; - line-height: 1; - margin-bottom: 1px; -} -.plx-treenode-operation { - display: inline-block; - margin-right: 10px; - color: #999; - font-size: 16px; - vertical-align: text-bottom; -} -.plx-treenode-operation:hover { - color: #00abff; -} -.plx-treenode-label-container:hover .plx-treenode-operations { - display: inline-block; -} -*:focus { - outline: none; - box-shadow: none !important; -} -input[type="checkbox"]:focus { - border: 0 !important; -} -.plx-treenode-hide-tree-toggle { - visibility: hidden; -} -.plx-treenode-droppoint { - height: 4px; - list-style-type: none; -} -.plx-treenode-droppoint-active { - background-color: #186ba0; - border: 0 none; -} -.upload-wrapper { - font-size: 12px; - position: relative; - display: inline-block; -} -.upload-wrapper .item-text { - max-width: 280px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - display: inline-block; - margin-bottom: 2px; - font-size: 12px; -} -.upload-wrapper .item-text.no-progressbar { - vertical-align: middle; -} -.upload-wrapper .plx-upload-progressbar { - margin-top: -13px; -} -.upload-wrapper .list-group-item { - border: 0; - padding: 0; -} -.upload-wrapper .list-group-item .item { - width: 335px; - padding: 0 0 5px 0px; -} -.upload-wrapper .list-group-item .item .item-text-wrapper { - position: relative; - display: inline-block; - width: 100%; - box-sizing: border-box; - height: 40px; - padding: 2px 3px 2px 10px; - border: 1px solid transparent; -} -.upload-wrapper .list-group-item .item .item-text-wrapper .text-red { - color: #ff5b55 !important; -} -.upload-wrapper .list-group-item .item .item-text-wrapper:hover { - background-color: #ebf6fd; - cursor: default; -} -.upload-wrapper .list-group-item .item .item-text-wrapper:hover .plx-ico-close-16 { - display: block; - transform: scale(0.8); -} -.upload-wrapper .list-group-item .item .item-text-wrapper.no-progressbar { - height: 28px; -} -.upload-wrapper .list-group-item .item .item-delete { - height: 14px; - width: 16px; - text-align: center; - line-height: 14px; - position: absolute; - right: 2%; - color: #999999; - display: none; - top: 3px; -} -.upload-wrapper .list-group-item .item .item-delete:hover { - cursor: pointer; - color: #666666; -} -.upload-wrapper .list-group-item .item .item-delete.no-progressbar { - top: 6px; -} -.upload-wrapper .plx-ico-close-16 { - font-size: 16px; - float: right; - cursor: pointer; -} -.upload-wrapper ul.list-group { - margin-top: 15px; -} -.upload-wrapper .url-form-control { - display: inline-block; -} -.upload-wrapper .item-detail { - color: #aaa; - position: relative; - padding: 0 10px; - font-size: 12px; -} -.upload-wrapper .item-detail div { - margin: 0px 0px 15px 0; -} -.upload-wrapper .item-detail .detail { - margin: 5px 0 10px 0; -} -.upload-wrapper .item-detail-des { - display: inline-block; - width: 170px; - word-wrap: break-word; - margin-left: 15px; - vertical-align: top; -} -.upload-wrapper .item-detail-time { - display: inline-block; - width: 119px; - word-break: break-all; - vertical-align: top; -} -.upload-wrapper .selectFile { - display: inline-block; - min-width: 50px; - margin-right: 10px; - text-align: right; -} -.upload-wrapper label.raw-container { - margin: 0 10px; -} -.upload-wrapper .item-lists { - font-size: 12px; -} -.upload-wrapper .list-container { - padding-right: 15px; -} -.upload-wrapper .list-container.plx-upload-Manual-showdetail { - margin-left: -22px; -} -.upload-wrapper .list-container.plx-upload-auto-showdetail { - margin-left: -10px; -} -.upload-wrapper .list-footer .upload-btn { - margin-top: 10px; -} -.upload-wrapper .upload-btn { - display: inline-block; -} -.upload-wrapper .loader-container { - position: absolute; - display: inline-block; - top: 8px; - left: 12px; -} -.upload-wrapper .list-group-item-pdleft-s { - padding: 0px 0px 0px 12px; -} -.upload-wrapper .list-group-item-pdleft { - padding: 0px 0px 0px 12px !important; -} -.upload-wrapper .upload-btn-wrapper { - display: inline-block; -} -.upload-wrapper .plx-red.left { - margin-left: 75px; -} -.upload-wrapper .expand-wrapper { - position: absolute; - left: 20px; - top: 4px; - display: inline-block; - font-size: 12px; -} -.upload-wrapper .expand-wrapper.open .ict-go { - display: none; -} -.upload-wrapper .expand-wrapper.open .ict-fold { - display: block; -} -.upload-wrapper .expand-wrapper i { - height: 18px; - width: 20px; - text-align: left; - line-height: 19px; - cursor: pointer; -} -.upload-wrapper .ict-fold { - display: none; - color: #00abff; - font-weight: bold; - transform: scale(0.7); -} -.upload-wrapper .ict-go { - display: block; - color: #00abff; - font-weight: bold; - transform: scale(0.7); -} -.upload-wrapper .no-customparm-extend-wrapper { - left: -2px !important; -} -/* loding动画效果*/ -.upload-wrapper .loader { - font-size: 12px; - width: 12px; - height: 12px; - display: inline-block; - border-radius: 50%; - background: #00abff; - background: -moz-linear-gradient(left, #00abff 10%, rgba(255, 255, 255, 0) 85%); - background: -webkit-linear-gradient(left, #00abff 10%, rgba(255, 255, 255, 0) 85%); - background: -o-linear-gradient(left, #00abff 10%, rgba(255, 255, 255, 0) 85%); - background: -ms-linear-gradient(left, #00abff 10%, rgba(255, 255, 255, 0) 85%); - background: linear-gradient(to right, #00abff 10%, rgba(255, 255, 255, 0) 85%); - position: relative; - -webkit-animation: load3 1.4s infinite linear; - animation: load3 1.4s infinite linear; -} -.upload-wrapper .loader:before { - width: 50%; - height: 50%; - background: #00abff; - border-radius: 100% 0 0 0; - position: absolute; - top: 0; - left: 0; - content: ''; -} -.upload-wrapper .loader:after { - background: #fff; - width: 75%; - height: 75%; - border-radius: 50%; - content: ''; - margin: auto; - position: absolute; - top: 0; - left: 0; - bottom: 0; - right: 0; -} -@-webkit-keyframes load3 { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -@keyframes load3 { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -.plx-table-customCols { - height: 40px; - float: right; -} -.plx-table-customCols-toggle { - display: inline-block; - border-radius: 3px; - width: 30px; - height: 23px; - border: 1px solid #d9d9d9; - vertical-align: top; - text-align: center; - padding-top: 7px; - margin-left: 6px; - cursor: pointer; - box-sizing: content-box; -} -.plx-table-customCols-toggle .ict-col:before { - vertical-align: top; -} -.plx-table-customCols-toggle:hover { - background-color: #fff; -} -.plx-table-customCols-toggle:active { - background-color: #fff; -} -.toggle-icon { - display: inline-block; - height: 14px; - border-right: 1px solid #595959; - vertical-align: top; - padding-left: 4px; -} -.toggle-icon:first-child { - padding-left: 0; -} -.plx-table-customCols-pannel { - margin-top: 5px; - margin-right: 5px; - border: 1px solid #d9d9d9; - background-color: #fff; - z-index: 1; - position: absolute; - right: 0px; - border-radius: 5px; - font-size: 12px; - color: #595959; - overflow: auto; - min-width: 300px; - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); -} -.plx-table-customCols-pannel .plx-table-customCols-toolbar { - display: flex; - justify-content: space-between; - padding: 16px; -} -.plx-table-customCols-pannel .plx-table-customCols-toolbar .plx-table-filter-wrapper { - display: flex; - flex: auto; -} -.plx-table-customCols-pannel .plx-table-customCols-toolbar .plx-table-filter-wrapper input { - border-radius: 3px; - flex: auto; - padding-left: 28px; - border: 1px solid #d9d9d9; -} -.plx-table-customCols-pannel .plx-table-customCols-toolbar .plx-table-filter-wrapper input:focus { - border: 1px solid #00abff; - outline: none; -} -.plx-table-customCols-pannel .plx-table-customCols-toolbar .plx-table-filter-wrapper span { - color: #bfbfbf; - line-height: 28px; - position: relative; - left: 20px; -} -.plx-table-customCols-pannel .plx-table-customCols-items { - cursor: pointer; - border-bottom: 1px solid #e9e9e9; - border-top: 1px solid #e9e9e9; -} -.plx-table-customCols-pannel .plx-table-customCols-items > div:hover { - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); -} -.plx-table-customCols-pannel .plx-table-customCols-items label { - margin-bottom: 0px; - vertical-align: -moz-middle-with-baseline; - vertical-align: -webkit-baseline-middle; - vertical-align: 25%; -} -.plx-table-customCols-pannel .plx-table-customCols-items .plx-table-customCols-item > span { - padding: 0px 6px; -} -.plx-table-customCols-pannel .plx-table-customCols-items .plx-table-customCols-operations { - visibility: hidden; - float: right; -} -.plx-table-customCols-pannel .plx-table-customCols-items .plx-table-customCols-operations div { - box-sizing: content-box; - padding: 0px 8px; - display: inline-block; -} -.plx-table-customCols-pannel .plx-table-customCols-items .heighLight { - background-color: #e2f2fc; -} -.plx-table-customCols-pannel .plx-table-customCols-items .heighLight .plx-table-customCols-operations .plx-table-goup-show { - visibility: visible; -} -.plx-table-customCols-pannel .plx-table-customCols-items .heighLight .plx-table-customCols-operations .plx-table-godown-show { - visibility: visible; -} -.plx-table-customCols-pannel .plx-table-customCols-items .heighLight .plx-table-customCols-operations span { - color: #00abff; -} -.plx-table-customCols-pannel .plx-table-customCols-items .dragging { - box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2); -} -.plx-table-customCols-pannel .plx-table-customCols-items .dragEnter { - background-color: #00abff; -} -.plx-table-customCols-pannel .plx-table-customCols-items .plx-table-customCols-dropArea { - height: 10px; - border-bottom: 1px solid #e9e9e9; -} -.plx-table-customCols-pannel .plx-table-customCols-items .plx-table-customCols-dropArea-before { - height: 10px; - border-bottom: none; -} -.plx-table-customCols-pannel .plx-table-customCols-items > div:last-child .plx-table-customCols-dropArea { - border-bottom: none; -} -.plx-table-customCols-pannel .plx-table-customCols-items .plx-table-customCols-item { - line-height: 20px; - height: 20px; - padding: 0px 16px; -} -.plx-table-customCols-pannel .plx-table-customCols-confirm { - display: flex; - align-items: center; - justify-content: center; - padding: 16px 16px; -} -.plx-table-col-filter { - border: 1px solid #d9d9d9; - margin: 5px; - box-sizing: border-box; - height: 30px; -} -.plx-table-col-filter input { - width: calc(100% - 25px); - line-height: normal; - font-weight: normal; - border: none; - height: 26px; - font-size: 12px; - box-sizing: border-box; -} -.plx-table-col-filter input:focus { - outline: none; -} -.plx-table-col-filter .filterIcon { - /*position: absolute;*/ - top: 6px; - left: 3px; - fill: #dedede; - width: 14px; -} -.plx-filter-focused { - outline: none; - border: 1px solid #00abff; -} -.plx-table-col-icon-wrapper { - padding-left: 5px; - display: inline-block; - line-height: 30px; -} -.plx-table-col-icon-wrapper span { - vertical-align: sub; -} -::-webkit-input-placeholder { - /* WebKit browsers */ - color: #c1c1c1; -} -:-moz-placeholder { - /* Mozilla Firefox 4 to 18 */ - color: #c1c1c1; -} -::-moz-placeholder { - /* Mozilla Firefox 19+ */ - color: #c1c1c1; -} -:-ms-input-placeholder { - /* Internet Explorer 10+ */ - color: #c1c1c1; -} -.plx-table-selectFilter-wrapper { - display: inline-block; - vertical-align: middle; - height: 28px; - cursor: pointer; - /*此处 若不为absolute则被td遮挡*/ - position: absolute; -} -.plx-table-selectFilter-icon { - vertical-align: middle; - height: 28px; - fill: #999; -} -.icon-selectFilter-activtied { - fill: #00abff; -} -.plx-table-selectFilter-panel { - margin-top: -5px; - border: 1px solid #d9d9d9; - background-color: #fff; - padding: 10px; - right: 0px; - border-radius: 5px; - /*此处若为absolute则文本要换行,恩,玄学*/ - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); -} -.plx-table-selectFilter-panel span { - vertical-align: -25%; - font-size: 12px; -} -.plx-table-selectFilter-panel label { - line-height: normal; -} -.plx-table-selectFilter-panel div { - line-height: normal; -} -.plx-table-filter { - height: 40px; - float: right; -} -.plx-table-filter input { - border-radius: 3px; - line-height: normal; - padding: 0px 6px; - font-weight: normal; - border: 1px solid #d9d9d9; - margin-bottom: 10px; - height: 32px; - width: 200px; - box-sizing: border-box; - font-size: 12px; - color: #595959; -} -.plx-table-filter input:focus { - outline: none; - border: 1px solid #00abff; -} -.plx-table-filterToggle { - display: inline-block; - width: 30px; - height: 30px; - border-radius: 3px; - border: 1px solid #d9d9d9; - vertical-align: top; - text-align: center; - margin-left: 6px; - cursor: pointer; - box-sizing: content-box; -} -.plx-table-filterToggle.ict-filter:before { - line-height: 30px; -} -.plx-table-filterToggle.ict-filter-f:before { - line-height: 30px; - color: #00abff; -} -.plx-table-filter-icon-wrapper { - vertical-align: middle; - display: inline-block; - padding-top: 5px; -} -.plx-table-filterIcon { - fill: #595959; -} -.plx-table-pagination { - float: right; - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; - font-size: 12px; - color: #595959; - margin-top: 10px; - margin-bottom: 10px; -} -.plx-table-pagination-content { - display: inline-block; - text-decoration: none; -} -.plx-table-pagination-item { - list-style-type: none; - display: inline-block; -} -.plx-table-pagination-item span { - vertical-align: middle; -} -.plx-table-pagination-item select { - vertical-align: middle; - height: 26px; - width: 45px; - border: 1px solid #d9d9d9; -} -.plx-table-pagination-input { - padding: 1px; - height: 26px; - width: 45px; - margin-left: 1px; - margin-right: 1px; - font-size: 12px; - color: #595959; - box-sizing: border-box; - border: 1px solid #d9d9d9; - text-align: center; - vertical-align: middle; -} -.plx-table-pagination-nav { - display: inline-block; - height: 26px; - border: 1px solid #d9d9d9; - font-size: 14px; - text-decoration: none; - color: #595959; - padding-left: 6px; - padding-right: 6px; - cursor: pointer; - text-align: center; - vertical-align: middle; - box-sizing: border-box; -} -a:not([href]):not([tabindex]).plx-table-pagination-disabled { - color: #bfbfbf; - cursor: not-allowed; -} -.plx-table-dropdown-wrapper { - cursor: pointer; -} -.plx-table-dropdown-icon-shared { - font-size: 20px; - line-height: 2.2 !important; - cursor: pointer; -} -.plx-table-dropdown-icon-polyline-shared { - height: 16px; - width: 16px; - stroke: #00abff ; -} -.ict-down, -.ict-up { - font-size: 20px; - line-height: 2.2 !important; - cursor: pointer; -} -.ict-down polyline, -.ict-up polyline { - height: 16px; - width: 16px; - stroke: #00abff ; -} -.ict-down polyline:hover, -.ict-up polyline:hover { - stroke: #2d91c4; -} -.plx-table-innerTr { - border: 1px solid #d9d9d9; -} -.plx-table-innerTr #plx-table-innerTd { - padding: 0px; -} -.plx-table-innerTable { - width: 100%; -} -.plx-table-innerTable tr { - color: #595959; - font-size: 12px; -} -.plx-table-innerTable tr td#plx-inner-table-title, -.plx-table-innerTable tr td#plx-inner-table-content { - padding: 8px; - height: 40px; - border: none; - border-bottom: 1px solid #d9d9d9; -} -.plx-table-innerTable tr td:first-child { - text-align: right; -} -.plx-table-innerTable tr td:last-child { - text-align: left; -} -.plx-table-innerTable tr:last-child td#plx-inner-table-title, -.plx-table-innerTable tr:last-child td#plx-inner-table-content { - border-bottom: none; -} -/* 排序图标 */ -.plx-table-sort-icon-shared { - display: block; - cursor: pointer; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - margin-bottom: 2px; -} -.plx-table-sortIconWrapper { - display: inline-block; - vertical-align: middle; - margin-left: 3px; -} -/* 排序图标:箭头向上 */ -.plx-table-sortAsc { - display: block; - cursor: pointer; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - margin-bottom: 2px; - border-bottom: 5px solid #999; -} -.plx-table-ascActived { - border-bottom: 5px solid #00abff; -} -/* 排序图标:箭头向下 */ -.plx-table-sortDesc { - display: block; - cursor: pointer; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - margin-bottom: 2px; - border-top: 5px solid #999; -} -.plx-table-descActived { - border-top: 5px solid #00abff; -} -.plx-color-picker-border-radius { - border-top-left-radius: 3px; - border-top-right-radius: 3px; -} -.plx-color-picker * { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - margin: 0; - font-size: 12px; - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; -} -.plx-color-picker { - cursor: default; - width: 246px; - height: auto; - left: 30px; - top: 250px; - position: absolute; - z-index: 1000; - background-color: #fff; - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - border-radius: 3px; - border: 1px solid #d9d9d9; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.plx-color-picker i { - cursor: default; - position: relative; -} -.plx-color-picker input { - font-size: 12px; - height: 32px; - padding-left: 10px; - padding-right: 10px; - outline: 0; - border: 1px solid #d9d9d9; - border-radius: 3px; - vertical-align: middle; - text-align: center; - height: 24px; - -moz-appearance: textfield; -} -.short-text-input .plx-color-picker input { - width: 120px; -} -.text-input-with-unit .plx-color-picker input { - width: 355px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-unitOption .plx-color-picker input { - width: 316px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-prefix .plx-color-picker input { - width: 330px; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.text-input-with-prefixOption .plx-color-picker input { - width: 316px; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.text-input-with-passwordSwith .plx-color-picker input { - width: 360px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-prefix.text-input-with-unit .plx-color-picker input { - width: 285px; -} -.text-input-with-prefix.text-input-with-unitOption .plx-color-picker input { - width: 246px; -} -.short-text-input.text-input-with-prefix .plx-color-picker input { - width: 80px; -} -.short-text-input.text-input-with-unit .plx-color-picker input { - width: 80px; -} -.short-text-input.text-input-with-prefix.text-input-with-unit .plx-color-picker input { - width: 40px; -} -.plx-color-picker input:focus { - border: 1px solid #00abff; -} -.plx-color-picker input:disabled, -.plx-color-picker input[disabled] { - cursor: not-allowed; - background-color: #f5f5f5; -} -.plx-color-picker input:invalid { - box-shadow: none; -} -.plx-color-picker input:-moz-submit-invalid { - box-shadow: none; -} -.plx-color-picker input:-moz-ui-invalid { - box-shadow: none; -} -.plx-color-picker input::-webkit-outer-spin-button, -.plx-color-picker input::-webkit-outer-spin-button { - -webkit-appearance: textfield; - margin: 0; -} -.plx-color-picker .color-picker-overlay1 { - border-top-left-radius: 3px; - border-top-right-radius: 3px; - position: absolute; - left: 0; - top: 0; - width: 244px; - height: 118px; - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='#ffffff', endColorstr='#00ffffff')"; - /* IE8 */ - background: -moz-linear-gradient(left, #ffffff 0%, rgba(255, 255, 255, 0) 100%); - /* FF3.6+ */ - background: -webkit-gradient(linear, left top, right top, color-stop(0%, #ffffff), color-stop(100%, rgba(255, 255, 255, 0))); - /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(left, #ffffff 0%, rgba(255, 255, 255, 0) 100%); - /* Chrome10+,Safari5.1+ */ - background: -o-linear-gradient(left, #ffffff 0%, rgba(255, 255, 255, 0) 100%); - /* Opera 11.10+ */ - background: -ms-linear-gradient(left, #ffffff 0%, rgba(255, 255, 255, 0) 100%); - /* IE10+ */ - background: linear-gradient(to right, #ffffff 0%, rgba(255, 255, 255, 0) 100%); - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr='#ffffff', endColorstr='#00ffffff'); - /* IE6 & IE7 */ -} -.plx-color-picker .color-picker-overlay2 { - border-top-left-radius: 3px; - border-top-right-radius: 3px; - position: absolute; - left: 0; - top: 0; - width: 244px; - height: 118px; - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#00000000', endColorstr='#000000')"; - /* IE8 */ - background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0%, #000000 100%); - /* FF3.6+ */ - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(0, 0, 0, 0)), color-stop(100%, #000000)); - /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, #000000 100%); - /* Chrome10+,Safari5.1+ */ - background: -o-linear-gradient(top, rgba(0, 0, 0, 0) 0%, #000000 100%); - /* Opera 11.10+ */ - background: -ms-linear-gradient(top, rgba(0, 0, 0, 0) 0%, #000000 100%); - /* IE10+ */ - background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, #000000 100%); - /* W3C */ - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#000000', GradientType=0); - /* IE6-9 */ -} -.plx-color-picker .color-picker-saturation-lightness { - border-top-left-radius: 3px; - border-top-right-radius: 3px; - cursor: pointer; - width: 244px; - height: 118px; - border: none; - background-size: 100% 100%; -} -.plx-color-picker .color-picker-hue { - cursor: pointer; - border-radius: 3px; - width: 168px; - height: 10px; - border: none; - margin-bottom: 10px; - background-size: 100% 100%; - background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAQCAYAAAD06IYnAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIWDwkUFWbCCAAAAFxJREFUaN7t0kEKg0AQAME2x83/n2qu5qCgD1iDhCoYdpnbQC9bbY1qVO/jvc6k3ad91s7/7F1/csgPrujuQ17BDYSFsBAWwgJhISyEBcJCWAgLhIWwEBYIi2f7Ar/1TCgFH2X9AAAAAElFTkSuQmCC'); -} -.plx-color-picker .color-picker-alpha { - cursor: pointer; - border-radius: 3px; - width: 168px; - height: 10px; - border: none; - background-size: 100% 100%; - background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKgAAAAKCAYAAAAgnxVRAAAC9klEQVRYhdVYPc7bMAylku7WViCrfJ2cocfoGXqLHslbDhAvHjNkCBBRHSoZzwQpKW7T7yuBwAn9+CtKIuOu1+vXy+UyPx6PL5QphEDee0KKMdI0TRveP8KlaZoSEZUPhxCS9z4RERd+jJEzbuWFEKL3nlEWcDHzYgiBQR//Nht5miZGXrbLWbaGY+99RBuAK3zOuGfBZP+iwJU4ItgtuAiyaJdBH2fc6iPoY9CH/jH4xyKOJHAJcEnRlwxcWY8k1o3KepxOp3Rg5h9YnJ+UkvjtxNPCO8Ak4MunxevxRXun6UVCn1ynXyhb5Mp7Tc4Z3y0e6pG2tXw7quuQWI0v/ZGx0cEAfzaygtUWBAPVClXqRblaErX3cgPU/C4Y/Gi+1+TRTllI/FjUKvjy1OxLf60NodmUG9GSQRuY5/+mQAtpye0pEKvwrELRsGhPW/CWrNwsTnnXc8rgUxaPptOi3huj6NVyJ3NR2yS9mI0/rxRoTyDvJmvhe65U7QrT9LRO0pYti2oLYxW9/F07/WqbbY9Pmm/ajSR9kLH0knoLuPv9/vN2u31D5rIsNM/zBjgMA43jSB+AS+M4rk11xvE8z8hLwzDwOI6bpnxZljTPc+FFIuKsrwwHiYhixm2GhoxDnoaLYHflZ/82w9QwDNHAbYaajJN2o6KPM24dksDuE+KIEC8DbiML8a65UnCc7SbwJYHdNf+AY4FLAifXt6xbOp/Pae8V/xGnKfYxrUZbXu2J7GtK6rbIuuIsn1q9Xk9faMnW9PTEIm1ofTgZPDwpe6/r3TfR3gLtScDfplrPRuKdFryVBOu6avmh9b6vDCqtReuRlba1KdvqS63caTwrLq2t0NqTVs9u0juGpHecrr2TYyFtuu0pnt7pVPtuye8d3jQ8vu8psNqJ+sohgydmq0+3NkmtMM1/Eg7Oue/H4/H5grMtqk3Vf6Lz1SRbxWPh5ADQc5q0pm38bk3emtyeHMoC0ApCa3/2tAOtjSWLWDv1rc204f8CQvGUIhalBqwAAAAASUVORK5CYII='); -} -.plx-color-picker .color-picker-alpha-ba { - position: absolute; - background: linear-gradient(90deg, rgba(255, 255, 255, 0), #000); -} -.plx-color-picker .selected-color { - width: 30px; - height: 30px; - top: 0px; - left: 0px; - position: absolute; - -moz-border-radius: 50%; - -webkit-border-radius: 50%; - border-radius: 50%; - -khtml-border-radius: 50%; -} -.plx-color-picker .selected-color-background { - width: 30px; - height: 30px; - -moz-border-radius: 50%; - -webkit-border-radius: 50%; - border-radius: 50%; - -khtml-border-radius: 50%; - background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAh0lEQVRYR+2W0QlAMQgD60zdfwOdqa8TmI/wQMr5K0I5bZLIzLOa2nt37VVVbd+dDx5obgCC3KBLwJ2ff4PnVidkf+ucIhw80HQaCLo3DMH3CRK3iFsmAWVl6hPNDwt8EvNE5q+YuEXcMgkonVM6SdyCoEvAnZ8v1Hjx817MilmxSUB5rdLJDycZgUAZUch/AAAAAElFTkSuQmCC'); -} -.plx-color-picker .color-picker-cursor { - cursor: default; - position: relative; - -moz-border-radius: 50%; - -webkit-border-radius: 50%; - border-radius: 50%; - -khtml-border-radius: 50%; - width: 10px; - height: 10px; - border: #ffffff solid 1px; -} -.plx-color-picker .color-picker-cursor-selector { - cursor: default; - position: relative; - -moz-border-radius: 50%; - -webkit-border-radius: 50%; - border-radius: 50%; - -khtml-border-radius: 50%; - width: 10px; - height: 10px; - border: #ffffff solid 1px; - width: 12px; - height: 12px; - top: -1px; - background-color: #ffffff; - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); -} -.plx-color-picker .type-policy { - float: right; - position: absolute; - top: 198px; - right: 12px; - width: 16px; - height: 16px; -} -.plx-color-picker .type-policy:hover { - background-color: #ebf6fd; - cursor: pointer; -} -.plx-color-picker .arrow-down { - display: block; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-top: 4px solid #a6a6a6; - margin-top: 4px; - margin-left: 4px; -} -.plx-color-picker .arrow-up { - display: block; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-bottom: 4px solid #a6a6a6; - margin-top: 2px; - margin-left: 4px; -} -.plx-color-picker .box { - width: 100%; - height: 100%; - display: flex; -} -.plx-color-picker .box .left { - position: relative; - margin-right: 16px; -} -.plx-color-picker .box .right { - flex: 1 1 auto; -} -.plx-color-picker .button-area { - padding: 0 16px 16px 16px; - text-align: right; -} -.plx-color-picker .preset-area { - padding: 4px 15px; -} -.plx-color-picker .preset-area .preset-label { - width: 100%; - padding: 4px; - text-align: left; - color: #555; -} -.plx-color-picker .preset-area .preset-color { - cursor: pointer; - display: inline-block; - width: 18px; - height: 18px; - margin: 4px 6px 8px 6px; - -moz-border-radius: 25%; - -webkit-border-radius: 25%; - border-radius: 25%; - -khtml-border-radius: 25%; - border: #a9a9a9 solid 1px; -} -.plx-color-picker .hsla-text, -.plx-color-picker .rgba-text { - width: 196px; -} -.plx-color-picker .hsla-text input, -.plx-color-picker .rgba-text input { - color: #595959; - min-width: 0; - flex: 1; - margin: 0; - float: left; - padding: 1px; -} -.plx-color-picker .hsla-text input:last-child, -.plx-color-picker .rgba-text input:last-child { - margin-right: 0; -} -.plx-color-picker .hsla-text .hsla-text-div, -.plx-color-picker .rgba-text .hsla-text-div, -.plx-color-picker .hsla-text .rgba-text-div, -.plx-color-picker .rgba-text .rgba-text-div { - margin-top: 2px; - flex: 1; - text-align: center; - color: #999999; - height: 18px; - padding-right: 8px; -} -.plx-color-picker .hsla-text .hsla-text-div:last-child, -.plx-color-picker .rgba-text .hsla-text-div:last-child, -.plx-color-picker .hsla-text .rgba-text-div:last-child, -.plx-color-picker .rgba-text .rgba-text-div:last-child { - margin-right: 0; - padding-right: 0; -} -.plx-color-picker .hsla-text .hsla-text-degree, -.plx-color-picker .rgba-text .hsla-text-degree { - padding-right: 16px; -} -.plx-color-picker .hsla-text .hsla-text-percent, -.plx-color-picker .rgba-text .hsla-text-percent { - padding-right: 22px; -} -.plx-color-picker .hsla-text .hsla-degree, -.plx-color-picker .rgba-text .hsla-degree { - display: inline-block; - width: 6px; - margin-left: 2px; - margin-right: 8px; - margin-top: 2px; -} -.plx-color-picker .hsla-text .hsla-percent, -.plx-color-picker .rgba-text .hsla-percent { - display: inline-block; - width: 12px; - margin-left: 2px; - margin-right: 8px; - margin-top: 3px; -} -.plx-color-picker .hsla-text .rgba-text-input, -.plx-color-picker .rgba-text .rgba-text-input { - margin-right: 8px; -} -.plx-color-picker .hex-text { - width: 196px; -} -.plx-color-picker .hex-text .box input { - color: #595959; - flex: 1 1 auto; - padding: 1px; -} -.plx-color-picker .hex-text .box div { - margin-top: 2px; - flex: 1 1 auto; - text-align: center; - height: 18px; - color: #999999; - float: left; - clear: left; -} -.plx-color-picker .bacis-color-alpha-select-area { - padding: 20px 16px 16px 16px; -} -.plx-color-picker .color-format-content-area { - padding: 0px 16px 16px 16px; -} -.plx-color-picker .arrow::after, -.plx-color-picker .arrow::before { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; - content: ""; - border-width: 7px 7px; -} -.plx-color-picker .arrow.arrow-bottom::after { - left: 20px; - border-top-width: 0; - top: -7px; - border-bottom-color: #ffffff; -} -.plx-color-picker .arrow.arrow-bottom::before { - left: 20px; - border-top-width: 0; - top: -8px; - border-bottom-color: #999999; -} -body { - font-size: 12px; -} -.shadow { - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); -} -:-moz-placeholder { - /* Mozilla Firefox 4 to 18 */ - color: #bfbfbf; -} -::-moz-placeholder { - /* Mozilla Firefox 19+ */ - color: #bfbfbf; -} -input:-ms-input-placeholder { - color: #bfbfbf; -} -input::-webkit-input-placeholder { - color: #bfbfbf; -} -.plx-btn { - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; - color: #00abff; - min-width: 80px; - letter-spacing: 1px; - padding: 0px 16px; - height: 32px; - font-size: 12px; - cursor: pointer; - text-align: center; - white-space: nowrap; - margin-right: 10px; - vertical-align: middle; - border: 1px solid #d9d9d9; - background-color: #fff; - border-radius: 3px; - line-height: 30px; -} -.plx-btn:hover, -.plx-btn:disabled, -.plx-btn[disabled], -.plx-btn:focus, -.plx-btn:active { - outline: none; - background-image: none; - filter: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; -} -.plx-btn:hover, -.plx-btn:focus { - color: #00abff; - border-color: #00abff; - background-color: #fff; -} -.plx-btn:active { - color: #008fd5; - border-color: #008fd5; - background-color: #fff; -} -.plx-btn:disabled, -.plx-btn[disabled] { - color: #bfbfbf; - background-color: #fff; - border-color: #e9e9e9; -} -.plx-btn:disabled:hover, -.plx-btn[disabled]:hover, -.plx-btn:disabled:focus, -.plx-btn[disabled]:focus { - color: #bfbfbf; - background-color: #fff; - border-color: #e9e9e9; - cursor: not-allowed; -} -.plx-btn .plx-btn-icon { - font-size: 16px; - vertical-align: text-top; - margin-right: 3px; -} -.plx-btn-primary { - background-color: #00abff; - color: #fff; - border-color: #00abff; -} -.plx-btn-primary:hover, -.plx-btn-primary:focus { - color: #fff; - background-color: #009dea; - border-color: #009dea; -} -.plx-btn-primary:active { - color: #fff; - background-color: #008fd5; - border-color: #008fd5; -} -.plx-btn-primary:disabled, -.plx-btn-primary[disabled], -.plx-btn-primary:disabled:hover, -.plx-btn-primary[disabled]:hover, -.plx-btn-primary:disabled:focus, -.plx-btn-primary[disabled]:focus { - color: #fff; - border-color: #00abff; - background-color: #00abff; - opacity: 0.5; -} -.plx-btn-guide { - background-color: #00abff; - color: #fff; - border-color: #00abff; -} -.plx-btn-guide:hover, -.plx-btn-guide:focus { - color: #fff; - background-color: #009dea; - border-color: #009dea; -} -.plx-btn-guide:active { - color: #fff; - background-color: #008fd5; - border-color: #008fd5; -} -.plx-btn-guide:disabled, -.plx-btn-guide[disabled], -.plx-btn-guide:disabled:hover, -.plx-btn-guide[disabled]:hover, -.plx-btn-guide:disabled:focus, -.plx-btn-guide[disabled]:focus { - color: #fff; - border-color: #00abff; - background-color: #00abff; - opacity: 0.5; -} -.plx-btn-table { - color: #595959; -} -.plx-btn-error { - background-color: #ff5b55; - color: #fff; - border-color: #ff5b55; -} -.plx-btn-error:hover, -.plx-btn-error:focus { - color: #fff; - background-color: #ee403a; - border-color: #ee403a; -} -.plx-btn-error:active { - color: #fff; - background-color: #e02a23; - border-color: #e02a23; -} -.plx-btn-error:disabled, -.plx-btn-error[disabled], -.plx-btn-error:disabled:hover, -.plx-btn-error[disabled]:hover, -.plx-btn-error:disabled:focus, -.plx-btn-error[disabled]:focus { - color: #fff; - border-color: #ff5b55; - background-color: #ff5b55; - opacity: 0.5; -} -.plx-btn-sm { - height: 28px; - padding: 0px 14px; - min-width: 60px; - margin-right: 5px; - line-height: 26px; -} -.plx-btn-xs { - height: 24px; - padding: 0px 12px; - min-width: 60px; - margin-right: 5px; - line-height: 22px; -} -.plx-btn.dropdown-toggle { - margin-right: 0; - outline: none !important; - background-image: none !important; - filter: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; -} -.plx-btn.dropdown-toggle::after { - margin-left: 16px; - border-top: 4px solid; - border-right: 4px solid transparent; - border-left: 4px solid transparent; - color: #c0c0c0; - margin-bottom: 1px; -} -.plx-btn-sm.dropdown-toggle::after { - margin-left: 14px; -} -.plx-btn-xs.dropdown-toggle::after { - margin-left: 12px; -} -.plx-btn + .dropdown-menu { - margin: 0; - padding: 0; - border: 0; - min-width: 100%; - font-size: 12px; - border-radius: 3px; - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); -} -.plx-btn + .dropdown-menu .dropdown-item { - background-color: #fff; - color: #595959; - font-size: 12px; - padding: 0px 16px; - height: 30px; - cursor: pointer; -} -.plx-btn + .dropdown-menu .dropdown-item:hover, -.plx-btn + .dropdown-menu .dropdown-item:focus, -.plx-btn + .dropdown-menu .dropdown-item:active { - outline: none; - background-color: #ebf6fd; -} -.plx-btn + .dropdown-menu .dropdown-item:disabled, -.plx-btn + .dropdown-menu .dropdown-item[disabled] { - color: #bfbfbf; -} -.plx-btn + .dropdown-menu .dropdown-item:disabled:hover, -.plx-btn + .dropdown-menu .dropdown-item[disabled]:hover, -.plx-btn + .dropdown-menu .dropdown-item:disabled:focus, -.plx-btn + .dropdown-menu .dropdown-item[disabled]:focus { - cursor: not-allowed; - background-color: #fff; -} -.plx-btn-sm + .dropdown-menu .dropdown-item { - padding: 0px 14px; -} -.plx-btn-xs + .dropdown-menu .dropdown-item { - padding: 0px 12px; -} -.plx-btn-more { - display: inline-block; - margin-right: 10px; -} -.plx-btn-more-sm { - margin-right: 5px; -} -.plx-btn-more-xs { - margin-right: 5px; -} -.plx-checkbox-container { - font-size: 0; - position: relative; -} -.plx-checkbox { - position: absolute; - z-index: -1; - opacity: 0; -} -.plx-checkbox + .checkbox-substitute { - position: relative; - display: inline-block; - cursor: pointer; - height: 14px; - width: 14px; - border: 1px solid #d9d9d9; - border-radius: 2px; - vertical-align: middle; -} -.plx-checkbox + .checkbox-substitute + span { - font-weight: normal; - font-size: 12px; - cursor: pointer; - vertical-align: middle; - padding-left: 6px; -} -.plx-checkbox:hover + .checkbox-substitute { - border-color: #00abff; - outline: none; - background-image: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; -} -.plx-checkbox:checked + .checkbox-substitute { - border-color: #00abff; - background-color: #00abff; -} -.plx-checkbox:checked + .checkbox-substitute::after { - content: ''; - position: absolute; - display: block; - width: 6px; - height: 10px; - border: solid #fff; - border-width: 0 2px 2px 0; - transform: rotate(45deg); - left: 3px; - top: 0; -} -.plx-checkbox.portion + .checkbox-substitute { - background-color: #00abff; - border-color: #00abff; - opacity: 0.5; -} -.plx-checkbox.portion + .checkbox-substitute::after { - content: ''; - position: absolute; - display: block; - width: 6px; - height: 10px; - border: solid #fff; - border-width: 0 2px 2px 0; - transform: rotate(45deg); - left: 3px; - top: 0; -} -.plx-checkbox:disabled + .checkbox-substitute, -.plx-checkbox[disabled] + .checkbox-substitute { - border-color: #d9d9d9; - background-color: #f5f5f5; - cursor: not-allowed; -} -.plx-checkbox:disabled + .checkbox-substitute + span, -.plx-checkbox[disabled] + .checkbox-substitute + span { - cursor: not-allowed; -} -.plx-checkbox.portion[disabled] + .checkbox-substitute { - background-color: #d9d9d9; - border-color: #d9d9d9; -} -.plx-checkbox.portion[disabled] + .checkbox-substitute::after { - content: ''; - position: absolute; - display: block; - width: 6px; - height: 10px; - border: solid #999; - border-width: 0 2px 2px 0; - transform: rotate(45deg); - left: 3px; - top: 0; -} -.plx-checkbox:checked[disabled] + .checkbox-substitute { - border-color: #d9d9d9; - background-color: #d9d9d9; -} -.plx-form { - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; - font-size: 12px; - background: #fff; - color: #595959; -} -.plx-form .ng-invalid:not(form).ng-invalid:not(fieldset).ng-invalid:not(plx-select) { - border: 1px solid #ff5b55; - /* red */ -} -.plx-form .ng-untouched:not(form).ng-untouched:not(fieldset).ng-untouched:not(plx-select) { - border: 1px solid #d9d9d9; -} -.plx-form label { - font-size: 12px; - text-align: right; - color: #737373; - background: #fff; -} -.plx-form label .label-span { - color: #595959; -} -.plx-form .text-autocut { - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; - display: block; -} -.plx-form .forms-group-pointer { - margin-bottom: 10px; - padding-left: 15px; - color: #404040; - font-size: 14px; - height: 32px; - line-height: 32px; - cursor: pointer; -} -.plx-form .forms-group-pointer:hover { - background: #ebf6fd; -} -.plx-form .forms-group-pointer span { - margin-left: 24px; - border-left: 3px solid #00abff; - padding-left: 5px; -} -.plx-form .forms-group-pointer .group-icon { - float: left; - font-size: 14px; - color: #00abff !important; - line-height: 32px; - margin-right: 8px; - transform: scale(0.7, 0.7); - font-weight: bold; -} -.plx-form .forms-group-default { - margin-bottom: 10px; - padding-left: 15px; - color: #404040; - font-size: 14px; - height: 32px; - line-height: 32px; - cursor: default; - line-height: 16px; -} -.plx-form .forms-group-default:hover { - background: #fff; -} -.plx-form .forms-group-default span { - margin-left: 24px; - border-left: 3px solid #00abff; - padding-left: 5px; -} -.plx-form .forms-group-default .group-icon { - float: left; - font-size: 14px; - color: #00abff !important; - line-height: 32px; - margin-right: 8px; - transform: scale(0.7, 0.7); - font-weight: bold; -} -.plx-form .input-sm { - height: 28px !important; -} -.plx-form .px-red { - color: #ff5b55; -} -.plx-form input:focus { - border: 1px solid #00abff !important; -} -.plx-form .error-div { - height: 12px; - margin-top: -4px; - margin-bottom: 5px; -} -.plx-form .error-div .error-msg { - color: #ff5b55; -} -.plx-form .help-div { - color: #bfbfbf; - height: 12px; - margin-top: -5px; - margin-bottom: 6px; -} -.plx-form .forms-header { - margin-left: 15px; - margin-bottom: 25px; - padding-bottom: 5px; - border-bottom: 1px solid #e9e9e9; -} -.plx-form .forms-header span { - font-size: 16px; - color: #404040; -} -.plx-form .plx-input { - width: 100%; - color: #595959; - background: #fff; - text-align: left; -} -.plx-form .field-radio { - padding-right: 10px; - line-height: 27px; -} -.plx-form .field-radio.field-radio-tight { - line-height: 23px; -} -.plx-form .field-tail { - padding-right: 10px; - line-height: 32px; -} -.plx-form .field-tail.field-tail-tight { - line-height: 28px; -} -.plx-form .field-tail .tip { - color: #999; - font-size: 16px; -} -.plx-form .field-info { - font-size: 12px; - color: #00abff; - margin-left: -15px; -} -.plx-form .field-info.field-info-group { - margin-left: 15px; -} -.plx-form .form-field:not(select-dropdown) { - color: #595959; - font-size: 12px; - line-height: 32px; -} -.plx-form .form-field:not(select-dropdown).form-field-tight { - line-height: 28px; -} -.plx-form .form-field:not(select-dropdown).form-filed-hint { - margin-bottom: 15px; -} -.plx-form .field-div { - margin-bottom: 15px; - padding-left: 0; -} -.plx-form .field-div.field-div-tight { - margin-bottom: 10px; -} -.plx-form .field-div.inputchanged > input { - font-weight: bold; -} -.plx-form .field-div.inputchanged > select { - font-weight: bold; -} -.plx-form .button-div { - padding: 15px 0 0 0; - color: #595959; - font-size: 14px; - text-align: left; -} -.plx-form .button-div button { - margin-right: 10px; -} -.plx-form .button-r-submit { - float: right; - margin-right: -20px !important; -} -.plx-form .button-r-cancel { - float: right; -} -.plx-form .content { - overflow-y: auto; - overflow-x: hidden; -} -.plx-form .plx-scrollbar::-webkit-scrollbar { - width: 4px; - height: 6px; -} -.plx-form .plx-scrollbar::-webkit-scrollbar-thumb { - background-color: rgba(0, 0, 0, 0.2); - border-radius: 2em; - min-height: 50px; - max-height: 100px; -} -.plx-form .plx-scrollbar::-webkit-scrollbar-corner { - background-color: transparent; -} -.plx-form input:-ms-input-placeholder { - color: #999 !important; -} -.plx-form input::-webkit-input-placeholder { - color: #999 !important; -} -.plx-form plx-info .icon { - margin-left: -10px; - line-height: 28px !important; -} -.para-content .icon-active { - fill: #00abff; -} -.para-content .icon-disactive { - fill: #bfbfbf; - cursor: default; -} -.plx-input { - font-size: 12px; - height: 32px; - padding-left: 10px; - padding-right: 10px; - outline: 0; - border: 1px solid #d9d9d9; - border-radius: 3px; - vertical-align: middle; -} -.plx-input:focus { - border: 1px solid #00abff; -} -.plx-input:disabled, -.plx-input[disabled] { - cursor: not-allowed; - background-color: #f5f5f5; -} -.plx-input-sm { - height: 28px; -} -.plx-input-right-no-radius { - border-bottom-right-radius: 0; - border-top-right-radius: 0; -} -.plx-radio-container { - font-size: 0; - position: relative; -} -.plx-radio { - position: absolute; - z-index: -1; - opacity: 0; -} -.plx-radio + .radio-substitute { - position: relative; - display: inline-block; - cursor: pointer; - height: 14px; - width: 14px; - border: 1px solid #d9d9d9; - border-radius: 14px; - vertical-align: middle; -} -.plx-radio:hover + .radio-substitute, -.plx-radio:focus + .radio-substitute { - border-color: #00abff; - outline: none; - background-image: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; -} -.plx-radio:checked + .radio-substitute { - border: 4px solid #00abff; -} -.plx-radio:disabled + .radio-substitute, -.plx-radio[disabled] + .radio-substitute { - border-color: #d9d9d9; - background-color: #f5f5f5; - cursor: not-allowed; -} -.plx-radio:checked [disabled] + .radio-substitute { - border-color: #e9e9e9; - background-color: #e9e9e9; - cursor: not-allowed; -} -.plx-radio + .radio-substitute + span { - font-weight: normal; - font-size: 12px; - cursor: pointer; - vertical-align: middle; - padding-left: 6px; -} -.plx-radio:disabled + .radio-substitute + span, -.plx-radio[disabled] + .radio-substitute + span { - cursor: not-allowed; -} -/*radio-group*/ -.btn.dropdown-toggle, -.btn-group .btn.dropdown-toggle, -.btn:hover, -.btn:disabled, -.btn[disabled], -.btn:focus, -.btn:active, -.btn.active { - outline: none !important; - background-image: none !important; - filter: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; -} -.plx-radio-group { - cursor: pointer; - font-size: 12px; - height: 32px; - background-color: #fff; - border: 1px solid #d9d9d9; - color: #595959; - border-radius: 3px; - padding: 0px 16px; - min-width: 80px; - transition: none; -} -.plx-radio-group:hover, -.plx-radio-group:focus, -.plx-radio-group:active { - outline: none; - background-image: none; - filter: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; -} -.plx-radio-group:hover, -.plx-radio-group:focus { - color: #00abff; - border-color: #00abff; - background-color: #fff; -} -.plx-radio-group:active { - color: #008fd5; - border-color: #008fd5; - background-color: #fff; -} -.plx-radio-group.active { - background-color: #00abff; - color: #fff; - border-color: #00abff; -} -.plx-radio-group > span { - line-height: 30px; -} -.plx-radio-group-sm { - height: 28px; - padding: 0px 14px; - min-width: 60px; -} -.plx-radio-group-sm > span { - line-height: 26px; -} -.plx-ui-steps-number-active { - background: #108ee9; - color: #ffffff; -} -.plx-ui-steps-number-passive { - background: #d9d9d9; - color: #ffffff; -} -.plx-ui-steps-number-visited { - color: #ffffff; - border: 2px #108ee9 solid; -} -.plx-ui-underline-active { - background: #108ee9; -} -.plx-ui-underline-passive { - background: #e9e9e9; -} -.plx-ui-steps-title-active { - color: #595959; -} -.plx-ui-steps-title-passive { - color: #999999; -} -.plx-ui-steps-title-visited { - color: #999999; -} -.plx-ui-steps-number-visited-tick { - border-bottom: 2px solid #108ee9; - border-right: 2px solid #108ee9; -} -.plx-ui-underline-active-vertical { - border-right: 2px solid #d9d9d9; -} -.plx-ui-underline-visited-vertical { - border-right: 2px solid #108ee9; -} -.plx-ui-underline-passive-vertical { - border-right: 2px solid #d9d9d9; -} -.plx-ui-steps-title-active-vertical { - color: #595959; -} -.plx-ui-steps-title-visited-vertical { - color: #999999; -} -.plx-ui-steps-title-passive-vertical { - color: #999999; -} -.plx-ui-steps-number-active-vertical { - background: #108ee9; - color: #ffffff; -} -.plx-ui-steps-number-passive-vertical { - background: #d9d9d9; - color: #ffffff; -} -.plx-ui-steps-number-visited-vertical { - color: #ffffff; -} diff --git a/sdc-workflow-designer-ui/src/app/assets/components/themes/default/theme.less b/sdc-workflow-designer-ui/src/app/assets/components/themes/default/theme.less deleted file mode 100644 index b19e0907..00000000 --- a/sdc-workflow-designer-ui/src/app/assets/components/themes/default/theme.less +++ /dev/null @@ -1,107 +0,0 @@ -//-------------------common start------------------------ -// -------- Colors start----------- -//配置说明:通常primary-color和primary-color-guide相同,某些产品需要有特别引导用户操作的按钮时,可以单独定义primary-color-guide -@primary-color: #00abff; //主色,用于重点按钮底色,普通按钮文字色、tab页的选中横条色、进度条色、分组标题竖线等, 应用开发需要关注搭配class plx-btn-primary t -@guide-color: @primary-color; //引导色,搭配class plx-btn-guide -@success-color: #73cf22; //搭配class plx-btn-success -@warning-color: #f7c515; //搭配class plx-btn-warning -@error-color: #ff5b55; //搭配class plx-btn-error -@common-color: #fff; //搭配class plx-btn -//Colors-hover -@primary-color-hover: #009dea; -@primary-color-guide-hover: @primary-color-hover; -@success-color-hover: #65bf16; -@warning-color-hover: #e5b717; -@error-color-hover: #ee403a; -@common-color-hover: #fff; -@btn-common-color-text-hover: @primary-color; -@btn-common-color-border-hover: @primary-color; - -//colors-click -@primary-color-click: #008fd5; -@primary-color-guide-click: @primary-color-click; -@success-color-click: #59af0c; -@warning-color-click: #d4a606; -@error-color-click: #e02a23; -@common-color-click: #fff; -@btn-common-color-text-click: @primary-color-click; -@btn-common-color-border-click: @primary-color-click; - -//opacity-disable -@opacity-disable: 0.5; -//text-color-scenes,在按钮或tab上的文字色 -@scene-textcolor: #fff; //用于有底色时的文字颜色,搭配class plx-btn-primary,plx-btn-* -@common-textcolor: @primary-color; //用于普通按钮和链接上的文字颜色,应用关注搭配 class plx-btn -//text color -@text-color: #595959; //普通文字颜色,不需要专用class -@title-text-color: #404040; //用于标题文字颜色 -@disabled-text-color: #bfbfbf; //用于禁用状态文字 -@light-text-color: #737373; //较浅色 -@unselected-text-color: #999; //用于未选中文字颜色、placeholder文字颜色 -@form-label:#737373;//用于表单标签颜色 -// Background color for `` -@body-bg: #fff; -// Base background color for most components -@component-bg: #fff; -@hover-bg-color: #ebf6fd; //用于菜单 、列表项、树项、表格行的hover背景色 -@selected-bg-color: #f5f5f5; //用于菜单 、列表项、树项、表格行的选中背景色 -@input-bg-color-disabled: #f5f5f5; //用于输入框禁用状态背景色 -//边框 -@border-color-base: #d9d9d9; // base border outline a component 搭配class: plx-border -@border-color-split: #e9e9e9; // split border inside a component 搭配class: plx-split -//字体图标 -@fonticon-color: #999; //字体图标颜色,搭配class: plx-icon-* -@fonticon-bg-color-hover: @hover-bg-color; //一般字体图标hover时背景色变化 -@fonticon-color-hover: @primary-color; //当字体图标本身有背景色的时候,使用图标颜色本身加深的hover颜色。 -// Shadow -@shadow-color: rgba(0, 0, 0, .2); //阴影颜色,个别组件需要,无需搭配固定class - -// -------- Colors end------------- -// -------- font start------------- -@font-family: "Helvetica Neue","PingFang SC",Tahoma,"Microsoft Yahei"; -@font-size-spacing:20px; //用于间距定义 -@font-size: 12px; //正文文字 -@font-size-title-level1: @font-size + 8px; //一级标题 -@font-size-title-level2: @font-size + 4px; //二级标题 -@font-size-title-group: @font-size + 2px; //分组标题 -// -------- font end--------------- -// -------- radius start------------- -@radius: 3px; //圆角 -@radius-sm: 2px; //小按钮圆角,用于下拉多选框的已选项的圆角 -@radius-lg: 20px; //用于标签,搭配class:plx-tag -// -------- radius start------------- -//size -//checkbos -@checkbox-size: @font-size+2px; //复选框高度 -//btn -@btn-height: 32px; //按钮高度 -@btn-height-sm: 28px; //小尺寸按钮,搭配class:plx-btn-sm -@btn-height-xs: 24px; //加小尺寸按钮,搭配class:plx-btn-xs -// Input -@input-height: 32px; //输入框高度 -@input-height-sm: 28px; //小尺寸输入框,搭配class:plx-input-sm -//iuiframecolor -@iuiframe-head-bg-color: #2c3e50; //head背景色 -@iuiframe-sidebar-bg-color: #fff; //sidebar背景色 -@iuiframe-hor-menu-bg-color: #fff; //横向菜单背景色 -@iuiframe-head-bg-color-hover: #3d546b; //head菜单项hover背景色 -@iuiframe-sidebar-bg-color-hover: @hover-bg-color; //sidebar菜单项hover背景色 -@iuiframe-head-bg-color-active: #33495f; //head菜单项选中背景色 -@iuiframe-sidebar-bg-color-active: #f0f9fc; //sidebar一级菜单项选中背景色 -@iuiframe-head-font-color: #fff; //head菜单文字颜色 -@iuiframe-sidebar-font-color: @text-color; //sidebar文字颜色 -@iuiframe-sidebar-font-color-active: @primary-color; //sidebar选中文字颜色 -@iuiframe-hor-menu-font-color: @text-color; //横菜单文字颜色 -@iuiframe-hor-menu-font-color-hover: @primary-color; //横向菜单项hover文字颜色 -@iuiframe-hor-menu-font-color-active: @primary-color; //横菜单选中文字颜色 -@iuiframe-hor-menu-split-color: #e9e9e9; //横菜单分割线颜色 -@iuiframe-sidebar-split-color: #fff; //sidebar菜单分割线颜色 -@iuiframe-bg-color:#e9ecf3; //框架右侧的背景色 -@iuiframe-bg-img:none; //框架右侧的背景图 -//iframeColor -@iframe-bg-color: #e9ecf3; //iframe背景色 -@iframe-bg-img: none; //iframe背景图片 - - -@import "../common.less"; -@import "./NIV-theme.less"; \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/components/container/container.component.css b/sdc-workflow-designer-ui/src/app/components/container/container.component.css deleted file mode 100644 index 5ba672cc..00000000 --- a/sdc-workflow-designer-ui/src/app/components/container/container.component.css +++ /dev/null @@ -1,35 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -.canvas { - -webkit-overflow-scrolling: touch; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - height: 100%; - position: relative; - overflow: auto; - z-index: 0; - background-color: white; -} - -#node-selector{ - /* display: none; */ - position: absolute; - border: 1px dashed black; - background-color: #00ABFF; - position: absolute; - opacity: 0.1; -} \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/components/container/container.component.html b/sdc-workflow-designer-ui/src/app/components/container/container.component.html deleted file mode 100644 index 40cdf7fa..00000000 --- a/sdc-workflow-designer-ui/src/app/components/container/container.component.html +++ /dev/null @@ -1,22 +0,0 @@ - - -
-
- -
- - - - \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/components/container/container.component.ts b/sdc-workflow-designer-ui/src/app/components/container/container.component.ts deleted file mode 100644 index 5f317cb8..00000000 --- a/sdc-workflow-designer-ui/src/app/components/container/container.component.ts +++ /dev/null @@ -1,165 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -import { AfterViewChecked, AfterViewInit, Component, ElementRef, HostListener, OnInit, OnDestroy, ViewChild } from '@angular/core'; - -import { SequenceFlow } from '../../model/workflow/sequence-flow'; -import { WorkflowElement } from '../../model/workflow/workflow-element'; -import { WorkflowNode } from '../../model/workflow/workflow-node'; -import { BroadcastService } from '../../services/broadcast.service'; -import { InterfaceService } from '../../services/interface.service'; -import { JsPlumbService } from '../../services/jsplumb.service'; -import { ModelService } from '../../services/model.service'; - -/** - * main canvas, it contains two parts: canvas and node property component - * bpmn task nodes can be dropped into this canvas, and then the workflow can be edit - */ -@Component({ - selector: 'wfm-container', - templateUrl: 'container.component.html', - styleUrls: ['./container.component.css'] -}) -export class ContainerComponent implements AfterViewChecked, AfterViewInit, OnInit, OnDestroy { - public allNotes: WorkflowNode[]; - @ViewChild('nodeSelector') nodeSelector: ElementRef; - @ViewChild('mainContainer') mainContainer: ElementRef; - - private isSelecting = false; - private selectedElements: WorkflowElement[] = []; - private showProperties = false; - private needInitSequence = false; - - constructor(private broadcastService: BroadcastService, private jsPlumbService: JsPlumbService, - private interfaceService: InterfaceService, public modelService: ModelService) { - } - - @HostListener('window:keyup.delete', ['$event']) ondelete(event: KeyboardEvent) { - if (this.showProperties || 0 >= this.selectedElements.length) { - return; - } - this.selectedElements.forEach(element => { - if (this.modelService.isNode(element)) { - let selectNode = element as WorkflowNode; - const parentId = this.jsPlumbService.getParentNodeId(selectNode.id); - this.jsPlumbService.remove(selectNode); - this.modelService.deleteNode(parentId, selectNode.id); - } else { - let sequenceFlow = element as SequenceFlow; - this.modelService.deleteConnection(sequenceFlow.sourceRef, sequenceFlow.targetRef); - this.jsPlumbService.deleteConnect(sequenceFlow.sourceRef, sequenceFlow.targetRef); - } - }); - this.selectedElements = []; - } - - @HostListener('document:mouseup', ['$event']) onmouseup() { - if (this.isSelecting) { - this.nodeSelector.nativeElement.style.display = 'none'; - this.mainContainer.nativeElement.onmousemove = null; - this.isSelecting = false; - this.broadcastService.broadcast(this.broadcastService.showProperty, null); - this.broadcastService.broadcast(this.broadcastService.selectedElement, this.selectedElements); - } - } - - public ngOnInit() { - this.jsPlumbService.initJsPlumbInstance(this.modelService.rootNodeId); - this.broadcastService.initModel$.subscribe(() => { - this.needInitSequence = true; - }); - this.broadcastService.showProperty$.subscribe(element=>{ - this.showProperties = null !== element; - }); - } - - public ngAfterViewInit() { - this.jsPlumbService.canvasDroppable(); - this.broadcastService.selectedElement$.subscribe(elements => { - if (elements) { - this.selectedElements = elements; - } else { - this.selectedElements = []; - } - }); - } - - public ngAfterViewChecked() { - if (this.needInitSequence) { - this.needInitSequence = false; - // Add the connection - this.jsPlumbService.connectChildrenNodes(this.modelService.rootNodeId); - } - } - - public ngOnDestroy() { - if (this.mainContainer.nativeElement.onmousemove) { - this.mainContainer.nativeElement.document.onmousemove = null; - } - } - - public canvasMouseDown(event) { - this.selectedElements = []; - this.isSelecting = true; - let posx = event.clientX + this.mainContainer.nativeElement.scrollLeft; - posx = 220 > posx ? 0 : posx - 220; - let posy = event.clientY + this.mainContainer.nativeElement.scrollTop; - posy = 60 > posy ? 0 : posy - 60; - let element = this.nodeSelector.nativeElement; - element.style.left = posx + "px"; - element.style.top = posy + "px"; - element.style.width = '0px'; - element.style.height = '0px'; - element.style.display = 'block'; - let curThis = this; - this.mainContainer.nativeElement.onmousemove = function (moveEvent) { - let movePosx = moveEvent.clientX + curThis.mainContainer.nativeElement.scrollLeft; - movePosx = 220 > movePosx ? 0 : movePosx - 220; - let movePosy = moveEvent.clientY + curThis.mainContainer.nativeElement.scrollTop; - movePosy = 60 > movePosy ? 0 : movePosy - 60; - const left = Math.min(movePosx, posx); - const top = Math.min(movePosy, posy); - const width = Math.abs(posx - movePosx); - const height = Math.abs(posy - movePosy); - element.style.left = left + "px"; - element.style.top = top + "px"; - element.style.width = width + "px"; - element.style.height = height + "px"; - curThis.selectNodes(left, top, width, height); - }; - } - - private selectNodes(left: number, top: number, width: number, height: number) { - this.selectedElements = []; - const allNodes = this.modelService.getNodes(); - allNodes.forEach(node => { - const np = node.position; - let selected = false; - if (left < np.left) { - if ((top < np.top && left + width > np.left && top + height > np.top) - || (top >= np.top && top < np.top + np.height && left + width > np.left)) { - selected = true; - } - } else if (left < np.left + np.width) { - if ((top < np.top && top + height > np.top) - || (top >= np.top && top < np.top + np.height)) { - selected = true; - } - } - if (selected) { - this.selectedElements.push(node); - } - }); - this.broadcastService.broadcast(this.broadcastService.selectedElement, this.selectedElements); - } - -} diff --git a/sdc-workflow-designer-ui/src/app/components/editable-property/editable-property.component.css b/sdc-workflow-designer-ui/src/app/components/editable-property/editable-property.component.css deleted file mode 100644 index 35d21fce..00000000 --- a/sdc-workflow-designer-ui/src/app/components/editable-property/editable-property.component.css +++ /dev/null @@ -1,61 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -.editable-content { - display: inline-block; - width: 300px; - visibility: visible; -} - -.editable-main { - border: 1px solid transparent; - border-radius: 3px; - cursor: pointer; - font-size: 24px; - min-height: 34px; - padding: 2px 20px 2px 2px; - position: relative; - word-wrap: break-word; -} - -.editable-main:hover { - border: 1px solid #ddd; -} - -.editable-main span { - background-color: #f0f0f0; - border-left: 1px solid #ddd; - display: none; - padding: 0 4px 0 4px; - height: 100%; - position: absolute; - right: 0; - top: 0; - -moz-border-radius-topright: 3px; - -moz-border-radius-bottomright: 3px; - -webkit-border-top-right-radius: 3px; - -webkit-border-bottom-right-radius: 3px; -} - -.editable-main span i { - font-size: 16px; - color: #707070; -} - -.editable-main:hover span { - display: inline; -} - -.editable-field { - display: inline-block; - width: 100%; -} \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/components/editable-property/editable-property.component.html b/sdc-workflow-designer-ui/src/app/components/editable-property/editable-property.component.html deleted file mode 100644 index eb59b3c4..00000000 --- a/sdc-workflow-designer-ui/src/app/components/editable-property/editable-property.component.html +++ /dev/null @@ -1,22 +0,0 @@ - -
-

-
{{value}}
- -

- - -
\ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/components/editable-property/editable-property.component.ts b/sdc-workflow-designer-ui/src/app/components/editable-property/editable-property.component.ts deleted file mode 100644 index 7f6ffbe2..00000000 --- a/sdc-workflow-designer-ui/src/app/components/editable-property/editable-property.component.ts +++ /dev/null @@ -1,122 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -import {Component, EventEmitter, Input, Output, ViewChild} from "@angular/core"; -import {TranslateService} from "@ngx-translate/core"; -import {isArray, isObject} from "util"; -import {ModelService} from "../../services/model.service"; -import {NoticeService} from "../../services/notice.service"; -import {NodeType} from "../../model/workflow/node-type.enum"; -import {ValueSource} from "../../model/value-source.enum"; -import {JsPlumbService} from "../../services/jsplumb.service"; -import {WorkflowNode} from "../../model/workflow/workflow-node"; - -/** - * node or workflow-line name - */ -@Component({ - selector: 'wfm-editable-property', - templateUrl: 'editable-property.component.html', - styleUrls: ['./editable-property.component.css'] -}) -export class EditablePropertyComponent { - @Input() public value: string; - @Output() public valueChange = new EventEmitter(); - @ViewChild('editInput') private editInput: any; - - public editValue = ''; - public editable = false; - - public preEdit(): void { - if (!this.editable) { - this.editable = true; - this.editValue = this.value; - } - } - - public afterEdit(): void { - if (this.editable) { - this.editable = false; - if (this.value === this.editValue) { - return; - } - - if (this.editInput.wfInput.valid) { - this.value = this.editValue; - this.valueChange.emit(this.value); - } else { - this.editValue = this.value; - } - } - } - - /*private validate(): boolean { - const nodes = this.modelService.getNodes(); - const existNode = nodes.find(node => node.id === this.editValue); - if (existNode) { - this.translate.get('WORKFLOW.MSG.NODE_ID_SAME', {value: existNode.id}).subscribe((res: string) => { - this.notice.error(res, 10000); - }); - return false; - } - return true; - } - - private changeReferencedValue(): void { - const newNodeConnections = []; - const nodes = this.modelService.getNodes(); - nodes.forEach((node: any) => { - this.changeConnectionReferencedValue(node, this.value, this.editValue); - - if (node.type === NodeType[NodeType.restTask]) { - const parameters = node.parameters || []; - parameters.forEach(param => { - this.changeRestTaskReferencedValue(param, this.value, this.editValue); - }); - } - }); - } - - private changeConnectionReferencedValue(node: WorkflowNode, oldValue: string, newValue: string): void { - node.connection.forEach(connection => { - if (connection.sourceRef === oldValue) { - connection.sourceRef = newValue; - } else if (connection.targetRef === oldValue) { - connection.targetRef = newValue; - } - }); - } - - // 当restTask类型的节点的属性中valueSource是Plan时,value的值为引用其他节点id - // value格式为[restTask_2].[responseBody].[name],可能有更多层,当时第一个[]里面的值为被引用节点的id - private changeRestTaskReferencedValue(param: any, oldValue: string, newValue: string): void { - if (param.valueSource === ValueSource[ValueSource.Plan]) { - const value = param.value || ''; - const index = value.indexOf('].['); - if (index > -1) { - const nodeId = value.substring(1, index); - if (nodeId === oldValue) { - param.value = '[' + newValue + value.substring(index); - } - } - } else if (param.valueSource === ValueSource[ValueSource.Definition]) { - const value = param.value; - if (isArray(value)) { - value.forEach(subValue => { - this.changeRestTaskReferencedValue(subValue, oldValue, newValue); - }); - } else if (isObject(value)) { - this.changeRestTaskReferencedValue(value, oldValue, newValue); - } - } - }*/ -} diff --git a/sdc-workflow-designer-ui/src/app/components/global-notice/global-notice.component.css b/sdc-workflow-designer-ui/src/app/components/global-notice/global-notice.component.css deleted file mode 100644 index 06f3c090..00000000 --- a/sdc-workflow-designer-ui/src/app/components/global-notice/global-notice.component.css +++ /dev/null @@ -1,20 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -.alert-div{ - position: fixed; - top: 100px; - left: 0; - right: 0; - margin: auto; - width: 400px; -} \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/components/global-notice/global-notice.component.html b/sdc-workflow-designer-ui/src/app/components/global-notice/global-notice.component.html deleted file mode 100644 index a23e25d4..00000000 --- a/sdc-workflow-designer-ui/src/app/components/global-notice/global-notice.component.html +++ /dev/null @@ -1,18 +0,0 @@ - - -
- {{notice.content}} -
\ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/components/global-notice/global-notice.component.spec.ts b/sdc-workflow-designer-ui/src/app/components/global-notice/global-notice.component.spec.ts deleted file mode 100644 index b4644d4d..00000000 --- a/sdc-workflow-designer-ui/src/app/components/global-notice/global-notice.component.spec.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { GlobalNoticeComponent } from './global-notice.component'; - -describe('GlobalNoticeComponent', () => { - let component: GlobalNoticeComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [ GlobalNoticeComponent ] - }) - .compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(GlobalNoticeComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should be created', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/sdc-workflow-designer-ui/src/app/components/global-notice/global-notice.component.ts b/sdc-workflow-designer-ui/src/app/components/global-notice/global-notice.component.ts deleted file mode 100644 index 35520683..00000000 --- a/sdc-workflow-designer-ui/src/app/components/global-notice/global-notice.component.ts +++ /dev/null @@ -1,48 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -import { Component, OnInit } from '@angular/core'; - -import { Notice } from '../../model/notice'; -import { NoticeType } from '../../model/notice-type.enum'; -import { NoticeService } from '../../services/notice.service'; - -@Component({ - selector: 'wfm-notice', - templateUrl: './global-notice.component.html', - styleUrls: ['./global-notice.component.css'] -}) -export class GlobalNoticeComponent implements OnInit { - public notices: Notice[] = []; - public noticeType = NoticeType; - - constructor(private noticeService: NoticeService) { } - - ngOnInit() { - // const t = new Notice(NoticeType.success, 'success'); - // const t1 = new Notice(NoticeType.info, 'info'); - // const t2 = new Notice(NoticeType.warning, 'warning'); - // const t3 = new Notice(NoticeType.danger, 'danger'); - // this.notices.push(t); - // this.notices.push(t1); - // this.notices.push(t2); - // this.notices.push(t3); - this.noticeService.showNotice$.subscribe(notice => { - this.notices.push(notice); - }); - } - - public onClosed(index: number): void { - this.notices.splice(index, 1); - } - -} diff --git a/sdc-workflow-designer-ui/src/app/components/menus/menus.component.css b/sdc-workflow-designer-ui/src/app/components/menus/menus.component.css deleted file mode 100644 index ac50221e..00000000 --- a/sdc-workflow-designer-ui/src/app/components/menus/menus.component.css +++ /dev/null @@ -1,26 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -.wf-name{ - float: left; - font-size: 20px; - font-weight: bold; -} - -.btn-right{ - float: right; - margin-right: 5px; -} - -button i{ - padding-right: 3px; -} \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/components/menus/menus.component.html b/sdc-workflow-designer-ui/src/app/components/menus/menus.component.html deleted file mode 100644 index 9537bfd7..00000000 --- a/sdc-workflow-designer-ui/src/app/components/menus/menus.component.html +++ /dev/null @@ -1,54 +0,0 @@ - - -
- - - - -
- - - - diff --git a/sdc-workflow-designer-ui/src/app/components/menus/menus.component.spec.ts b/sdc-workflow-designer-ui/src/app/components/menus/menus.component.spec.ts deleted file mode 100644 index 6ac02fde..00000000 --- a/sdc-workflow-designer-ui/src/app/components/menus/menus.component.spec.ts +++ /dev/null @@ -1,36 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { MenusComponent } from './menus.component'; - -describe('MenusComponent', () => { - let component: MenusComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [ MenusComponent ] - }) - .compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(MenusComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should be created', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/sdc-workflow-designer-ui/src/app/components/menus/menus.component.ts b/sdc-workflow-designer-ui/src/app/components/menus/menus.component.ts deleted file mode 100644 index 1c064f2c..00000000 --- a/sdc-workflow-designer-ui/src/app/components/menus/menus.component.ts +++ /dev/null @@ -1,78 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import { Component, OnInit, ViewChild } from '@angular/core'; - -import { BroadcastService } from '../../services/broadcast.service'; -import { ModelService } from '../../services/model.service'; -import { RestConfigComponent } from './rest-config/rest-config.component'; -import { AuthService } from '../../services/auth.service'; -import { InterfaceService } from '../../services/interface.service'; -import { ActivatedRoute } from '@angular/router/'; -import { PlxModal } from "../../paletx/plx-modal/modal"; - -@Component({ - selector: 'menus', - templateUrl: './menus.component.html', - styleUrls: ['./menus.component.css'] -}) -export class MenusComponent implements OnInit { - @ViewChild(RestConfigComponent) public restConfigComponent: RestConfigComponent; - - public name = ''; - public canSave = true; - public hasRight = false; - - constructor(private activatedRoute: ActivatedRoute, private modelService: ModelService, - private broadcastService: BroadcastService, private authService: AuthService, - private plxModal: PlxModal) { } - - ngOnInit() { - this.activatedRoute.queryParams.subscribe(queryParams => { - let operation: string = queryParams.operation; - // default value is 'modify', which means save button is enabled. - this.canSave = null == operation || 'view' != operation.toLowerCase(); - }); - this.broadcastService.initModel.subscribe(planModel => { - this.name = planModel.name; - }); - this.broadcastService.saveRight$.subscribe(saveRight => { - this.hasRight = saveRight; - }); - // checkRights - this.authService.checkRights(); - } - - public save(): void { - this.modelService.save(); - } - - public back(): void { - history.back(); - } - - public checkBack(component: any): void { - if (this.modelService.isModify()) { - this.plxModal.open(component, { size: 'sm' }); - } else { - this.back(); - } - } - - public saveBack(): void { - this.modelService.save(this.back); - } - - public showRestConfigModal(): void { - this.restConfigComponent.show(); - } - -} diff --git a/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config-detail/rest-config-detail.component.html b/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config-detail/rest-config-detail.component.html deleted file mode 100644 index 9550ed33..00000000 --- a/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config-detail/rest-config-detail.component.html +++ /dev/null @@ -1,48 +0,0 @@ - -
- -
- -
-
- - diff --git a/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config-detail/rest-config-detail.component.ts b/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config-detail/rest-config-detail.component.ts deleted file mode 100644 index e4d43d8c..00000000 --- a/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config-detail/rest-config-detail.component.ts +++ /dev/null @@ -1,83 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -import { Component, Input, OnChanges } from '@angular/core'; -import { ModalDirective } from 'ngx-bootstrap/modal'; - -import { Swagger } from '../../../../model/swagger'; -import { RestConfig } from '../../../../model/rest-config'; -import { RestService } from '../../../../services/rest.service'; - -/** - * toolbar component contains some basic operations(save) and all of the supported workflow nodes. - * The supported nodes can be dragged to container component. which will add a new node to the workflow. - */ -@Component({ - selector: 'wfm-rest-config-detail', - templateUrl: 'rest-config-detail.component.html', -}) -export class RestConfigDetailComponent implements OnChanges { - @Input() restConfig: RestConfig; - - public detail: string; - - constructor(private restService: RestService) { - } - - public ngOnChanges() { - if (this.restConfig == null) { - this.restConfig = new RestConfig('', '', '', ''); - } - this.parseSwagger2String(); - } - - private parseSwagger2String() { - if (this.restConfig.swagger) { - this.detail = JSON.stringify(this.restConfig.swagger); - } else { - this.detail = ''; - } - } - - public onDetailChanged(detail: string) { - this.detail = detail; - - let swagger: Swagger = null; - try { - swagger = new Swagger(JSON.parse(detail)); - console.log(swagger); - } catch (e) { - console.log('detail transfer error'); - console.error(e); - } - this.restConfig.swagger = swagger; - } - - public toggleDynamic(dynamic: boolean) { - // this.restConfig.dynamic = dynamic; - - // if (this.restConfig.dynamic && this.restConfig.definition) { - // this.restService.getDynamicSwaggerInfo(this.restConfig.definition) - // .subscribe(response => { - // try { - // this.restConfig.swagger = new Swagger(response); - // this.parseSwagger2String(); - // } catch (e) { - // console.log('detail transfer error'); - // console.error(e); - // } - - // }); - // } - } - -} diff --git a/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config-list/rest-config-list.component.css b/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config-list/rest-config-list.component.css deleted file mode 100644 index f403890e..00000000 --- a/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config-list/rest-config-list.component.css +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - - .swagger-list{ - overflow: auto; - } \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config-list/rest-config-list.component.html b/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config-list/rest-config-list.component.html deleted file mode 100644 index f8d745c1..00000000 --- a/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config-list/rest-config-list.component.html +++ /dev/null @@ -1,32 +0,0 @@ - -
-
-
- Config List - -
- -
    - -
-
-
- diff --git a/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config-list/rest-config-list.component.ts b/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config-list/rest-config-list.component.ts deleted file mode 100644 index 8a84c476..00000000 --- a/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config-list/rest-config-list.component.ts +++ /dev/null @@ -1,57 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -import { Component, EventEmitter, Input, Output } from '@angular/core'; -import { ModalDirective } from 'ngx-bootstrap/modal'; - -import { Swagger } from '../../../../model/swagger'; -import { RestConfig } from '../../../../model/rest-config'; -import { RestService } from '../../../../services/rest.service'; - -/** - * toolbar component contains some basic operations(save) and all of the supported workflow nodes. - * The supported nodes can be dragged to container component. which will add a new node to the workflow. - */ -@Component({ - selector: 'wfm-rest-config-list', - templateUrl: 'rest-config-list.component.html', -}) -export class RestConfigListComponent { - @Output() configSelected = new EventEmitter(); - - constructor(public restService: RestService) { - } - - public onConfigSelected(restConfig: RestConfig) { - this.configSelected.emit(restConfig); - } - - public addRestConfig() { - // const restConfig = this.restService.addRestConfig(); - - // this.onConfigSelected(restConfig); - } - - public deleteRestConfig(index: number) { - // this.restService.getRestConfigs().splice(index, 1); - - // let restConfig; - // if (this.restService.getRestConfigs().length > 0) { - // if (this.restService.getRestConfigs()[index]) { - // restConfig = this.restService.getRestConfigs()[index]; - // } else { - // restConfig = this.restService.getRestConfigs()[index - 1]; - // } - // } - // this.onConfigSelected(restConfig); - } -} diff --git a/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config.component.html b/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config.component.html deleted file mode 100644 index a858b0fe..00000000 --- a/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config.component.html +++ /dev/null @@ -1,39 +0,0 @@ - - diff --git a/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config.component.ts b/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config.component.ts deleted file mode 100644 index 46ac3f90..00000000 --- a/sdc-workflow-designer-ui/src/app/components/menus/rest-config/rest-config.component.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -import { AfterViewInit, Component, ViewChild } from '@angular/core'; -import { ModalDirective } from 'ngx-bootstrap/modal'; - -import { RestService } from '../../../services/rest.service'; -import { RestConfigListComponent } from './rest-config-list/rest-config-list.component'; - -/** - * toolbar component contains some basic operations(save) and all of the supported workflow nodes. - * The supported nodes can be dragged to container component. which will add a new node to the workflow. - */ -@Component({ - selector: 'wfm-rest-config', - templateUrl: 'rest-config.component.html', -}) -export class RestConfigComponent { - @ViewChild('restConfigModal') public restConfigModal: ModalDirective; - - public currentRestConfig: any = {}; - - constructor() { - } - - public configSelected(restConfig: any) { - this.currentRestConfig = restConfig; - } - - public show() { - this.restConfigModal.show(); - } - -} diff --git a/sdc-workflow-designer-ui/src/app/components/node/node.component.css b/sdc-workflow-designer-ui/src/app/components/node/node.component.css deleted file mode 100644 index f1fead94..00000000 --- a/sdc-workflow-designer-ui/src/app/components/node/node.component.css +++ /dev/null @@ -1,229 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -.node { - cursor: pointer; - display: inline-block; - position: absolute; - z-index: 2; -} - -.node-icon{ - position: relative; - border-radius: 4px; -} - -.node-icon svg{ - display: block; - fill: #00ABFF; -} - -.active { - outline: 1px solid #00ABFF; -} - -/** - * Anchors - */ -.anchors { - position: absolute; - border-radius: 1em; - display: none; - background-color: #2e6f9a; - width: 12px; - height: 12px; - cursor: pointer; - -ms-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; - -moz-transition: all 0.15s ease-in-out; - -webkit-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; -} - -.node-icon:hover > .anchors { - display: inline-block; -} - -.anchor-left { - left: -6px; - top: calc(50% - 6px); -} - -.anchor-right { - right: -6px; - top: calc(50% - 6px); -} - -.anchor-top { - top: -6px; - left: calc(50% - 6px); -} - -.anchor-bottom { - bottom: -6px; - left: calc(50% - 6px); -} - -/*right arrow*/ -.right { - width: 10px; - height: 10px; - position: absolute; - left: 4px; - top: 1px; - -} - -.right-arrow1, .right-arrow2 { - width: 0; - height: 0; - display: block; - position: absolute; - left: 0; - top: 0; - border-top: 5px transparent dashed; - border-right: 5px transparent dashed; - border-bottom: 5px transparent dashed; - border-left: 5px #2e6f9a solid; - overflow: hidden; -} - -.right-arrow1 { - - border-left: 5px white solid; -} - -.right-arrow2 { - left: -2px; -} - -/*left arrow */ -.left { - width: 10px; - height: 10px; - position: absolute; - left: -2px; - top: 1px; - z-index: 2; -} - -.left-arrow1, .left-arrow2 { - width: 0; - height: 0; - display: block; - position: absolute; - left: 0; - top: 0; - z-index: 5; /*ie8-*/ - border-top: 5px transparent dashed; - border-left: 5px transparent dashed; - border-bottom: 5px transparent dashed; - border-right: 5px #2e6f9a solid; - overflow: hidden; -} - -.left-arrow1 { - border-right: 5px #fff solid; -} - -.left-arrow2 { - left: 2px; -} - -/*top arrow*/ -.top { - width: 10px; - height: 10px; - position: absolute; - left: 1px; - z-index: 2; -} - -.top-arrow1, .top-arrow2 { - width: 0; - height: 0; - display: block; - position: absolute; - left: 0; - top: 0; - z-index: 5; - border-bottom: 5px #2e6f9a solid; - border-left: 5px transparent dashed; - border-right: 5px transparent dashed; - border-top: 5px transparent dashed; - overflow: hidden; -} - -.top-arrow1 { - z-index: 6; -} - -.top-arrow2 { - top: -2px; - border-bottom: 5px white solid; -} - -/*bottom arrow*/ -.bottom { - width: 10px; - height: 10px; - position: absolute; - left: 1px; - top: 4px; - z-index: 2; -} - -.bottom-arrow1, .bottom-arrow2 { - width: 0; - height: 0; - display: block; - position: absolute; - left: 0; - top: 0; - z-index: 5; - border-bottom: 5px transparent dashed; - border-left: 5px transparent dashed; - border-right: 5px transparent dashed; - border-top: 5px #2e6f9a solid; - overflow: hidden; -} - -.bottom-arrow1 { - top: -2px; - z-index: 6; -} - -.bottom-arrow2 { - border-top: 5px white solid; -} -/** - * Anchors End - */ - -.node .name { - width: 55px; - height: 12px; - text-align: center; - white-space: nowrap; - color: #5c6d90; - line-height: 12px; - cursor: pointer; - font-family: Arial; - font-size: 12px; -} - -.resizeable { - background-color: darkolivegreen; - border:1px solid blue; - margin: 10px; -} - diff --git a/sdc-workflow-designer-ui/src/app/components/node/node.component.html b/sdc-workflow-designer-ui/src/app/components/node/node.component.html deleted file mode 100644 index f0ade497..00000000 --- a/sdc-workflow-designer-ui/src/app/components/node/node.component.html +++ /dev/null @@ -1,164 +0,0 @@ - -
- -
- {{node.name}} -
- -
- -
- - - - -
-
- - - - -
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - -
-
- - - - -
-
-
\ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/components/node/node.component.ts b/sdc-workflow-designer-ui/src/app/components/node/node.component.ts deleted file mode 100644 index 5482758e..00000000 --- a/sdc-workflow-designer-ui/src/app/components/node/node.component.ts +++ /dev/null @@ -1,124 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import {AfterViewInit, Component, ElementRef, Input, OnDestroy, ViewChild} from "@angular/core"; -import {Subscription} from "rxjs/Subscription"; -import {WorkflowNode} from "../../model/workflow/workflow-node"; -import {BroadcastService} from "../../services/broadcast.service"; -import {JsPlumbService} from "../../services/jsplumb.service"; -import {NodeType} from "../../model/workflow/node-type.enum"; -import {WorkflowUtil} from "../../util/workflow-util"; - -/** - * node component represent a single workflow node. - * every node would be rendered on the container component - */ -@Component({ - selector: 'wfm-node', - styleUrls: ['./node.component.css'], - templateUrl: 'node.component.html', -}) -export class NodeComponent implements AfterViewInit, OnDestroy { - @Input() public node: WorkflowNode; - @Input() public rank: number; - @ViewChild('nodeItem') nodeItem: ElementRef; - - public nodeType = NodeType; - public active = false; - private currentWorkflowSubscription: Subscription; - private isMoving = false; - - constructor(private jsPlumbService: JsPlumbService, - private broadcastService: BroadcastService) { - } - - public ngAfterViewInit() { - this.jsPlumbService.initJsPlumbInstance(this.node.parentId); - this.jsPlumbService.initNode(this.node); - - if (this.canHaveChildren()) { - this.jsPlumbService.nodeDroppable(this.node, this.rank); - this.jsPlumbService.connectChildrenNodes(this.node.id); - } - - this.currentWorkflowSubscription = this.broadcastService.selectedElement$.subscribe(activeNodes => { - let active = false; - for (let index = 0; index < activeNodes.length; index++) { - let activeNode = activeNodes[index] as WorkflowNode; - if (activeNode.id === this.node.id) { - active = true; - break; - } - } - this.active = active; - }); - } - - public ngOnDestroy() { - this.currentWorkflowSubscription.unsubscribe(); - if (this.nodeItem.nativeElement.onmousemove) { - this.nodeItem.nativeElement.onmousemove = null; - } - } - - public onMousedown() { - let currentThis = this; - this.nodeItem.nativeElement.onmousemove = function () { - currentThis.isMoving = true; - }; - } - - public onClick(event) { - if (this.nodeItem.nativeElement.onmousemove) { - this.nodeItem.nativeElement.onmousemove = null; - } - if (this.isMoving && this.active) { - this.isMoving = false; - return; - } - event.stopPropagation(); - this.broadcastService.broadcast(this.broadcastService.showProperty, null); - this.broadcastService.broadcast(this.broadcastService.selectedElement, [this.node]); - } - - public canHaveChildren(): boolean { - return this.node.type === 'subProcess'; - } - - public onMouseOut(event, target) { - event.stopPropagation(); - target.classList.remove('hover'); - } - - public onMouseOver(event, target) { - event.stopPropagation(); - target.classList.add('hover'); - } - - public isGatewayNodeType(type: string): boolean { - if (type === this.nodeType[this.nodeType.exclusiveGateway] || type === this.nodeType[this.nodeType.parallelGateway]) { - return true; - } - return false; - } - - public showProperties(event) { - if (this.isGatewayNodeType(this.node.type)) { - return; - } - event.stopPropagation(); - this.broadcastService.broadcast(this.broadcastService.showProperty, this.node); - } - - public getImageUrl(name: string): string { - return WorkflowUtil.GetIconFullPath(name); - } -} diff --git a/sdc-workflow-designer-ui/src/app/components/parameter/parameter.component.css b/sdc-workflow-designer-ui/src/app/components/parameter/parameter.component.css deleted file mode 100644 index 4002997c..00000000 --- a/sdc-workflow-designer-ui/src/app/components/parameter/parameter.component.css +++ /dev/null @@ -1,50 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -.parameter{ - margin-bottom: 1rem; -} - -.parameter-section{ - display: inline; - margin-right: 5px; -} - -.parameter-item{ - display: inline; -} - -.parameter-required{ - color: red; -} - -.parameter-label{ - width: 100px; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; - vertical-align: bottom; - /* display: inline-table; */ -} - -.parameter-value{ - width: 160px; - vertical-align: baseline; -} - -.plx-input{ - vertical-align: baseline; -} - -.plx-btn{ - vertical-align: baseline; -} diff --git a/sdc-workflow-designer-ui/src/app/components/parameter/parameter.component.html b/sdc-workflow-designer-ui/src/app/components/parameter/parameter.component.html deleted file mode 100644 index 1b91b426..00000000 --- a/sdc-workflow-designer-ui/src/app/components/parameter/parameter.component.html +++ /dev/null @@ -1,61 +0,0 @@ - - -
-
- - - -
-
-
-
- - - - - - -
-
- -
-
- -
-
- -
-
\ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/components/parameter/parameter.component.ts b/sdc-workflow-designer-ui/src/app/components/parameter/parameter.component.ts deleted file mode 100644 index c208c1de..00000000 --- a/sdc-workflow-designer-ui/src/app/components/parameter/parameter.component.ts +++ /dev/null @@ -1,195 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -import {Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges} from "@angular/core"; -import {PlanTreeviewItem} from "../../model/plan-treeview-item"; -import {ValueSource} from "../../model/value-source.enum"; -import {Parameter} from "../../model/workflow/parameter"; -import {ToscaService} from "../../services/tosca.service"; -import {ValueType} from "../../model/value-type.enum"; - -/** - * this component contains in property component if the corresponding node has parameter properties - * eg. task node have input and output params, start event node has input param - */ -@Component({ - selector: 'wfm-parameter', - styleUrls: ['./parameter.component.css'], - templateUrl: 'parameter.component.html', -}) -export class ParameterComponent implements OnInit { - @Input() public param: Parameter; - @Input() public valueSource: ValueSource[] = []; - @Input() public showLabel: boolean; - @Input() public showValue: boolean; - @Input() public canEditName: boolean; - @Input() public canEditValue: boolean; - @Input() public canInsert: boolean; - @Input() public canDelete: boolean; - @Input() public planItems: PlanTreeviewItem[]; - @Output() paramChange = new EventEmitter(); - @Output() insert = new EventEmitter(); - @Output() delete = new EventEmitter(); - - // Parameter setting - public currentShowLabel: boolean; - public currentShowValue: boolean; - public currentCanEditName: boolean; - public currentCanEditValue: boolean; - public currentCanInsert: boolean; - public currentCanDelete: boolean; - - public valueTypeEnum = ValueType; - public valueSourceEnum = ValueSource; - public sourceItems: { name: string, value: string }[] = []; - public planOptions = []; - public topologyOptions: { name: string, value: string }[] = []; - public showValueValue = true; - public showValueSource = true; - public planValue: any = {}; - - constructor(private toscaService: ToscaService) { - } - - public ngOnInit(): void { - this.initSetting(); - this.topologyOptions = this.toscaService.getTopologyProperties(); - this.initSourceItems(); - this.initPlanValue(); - this.setValueSource(this.param.valueSource); - this.initPlanTreeViewItems(this.planItems); - } - - private initSetting():void{ - this.currentShowLabel = this.setDefaultValue(this.showLabel, true); - this.currentShowValue = this.setDefaultValue(this.showValue, true); - this.currentCanEditName = this.setDefaultValue(this.canEditName, false); - this.currentCanEditValue = this.setDefaultValue(this.canEditValue, true); - this.currentCanInsert = this.setDefaultValue(this.canInsert, false); - this.currentCanDelete = this.setDefaultValue(this.canDelete, false); - } - - private setDefaultValue(param: boolean, value: boolean): boolean { - return undefined === param ? value : param; - } - - private initSourceItems(): void { - this.sourceItems = []; - if (this.param.type !== ValueType[ValueType.object] && this.param.type !== ValueType[ValueType.array]) { - this.sourceItems = [{ - name: this.capitalizeFirstLetter(this.param.type), - value: this.param.type - }]; - } - this.valueSource.forEach(value => { - this.sourceItems.push({ - name: ValueSource[value], - value: ValueSource[value] - }); - }); - } - - private capitalizeFirstLetter(value: string): string { - const firstLetter = value.substring(0, 1); - const remainedLetter = value.substring(1); - return firstLetter.toUpperCase() + remainedLetter; - } - - private initPlanValue(): void { - if (ValueSource[ValueSource.Plan] === this.param.valueSource) { - this.planValue = {id: this.param.value}; - } - } - - private setValueSource(valueSource: string): void { - if (ValueSource[ValueSource.Definition] === valueSource) { - this.showValueValue = false; - } else { - this.showValueValue = true; - } - } - - private initPlanTreeViewItems(planTreeviewItems: PlanTreeviewItem[]): void { - this.planOptions = this.getTreeViewChild(planTreeviewItems); - } - - private getTreeViewChild(planTreeviewItems: PlanTreeviewItem[]): any[] { - let treeviewItems = []; - if (undefined == planTreeviewItems || 0 === planTreeviewItems.length) { - // todo: debug check if it need [] or undefined. - return treeviewItems; - } - planTreeviewItems.forEach(item => { - const treeviewItem = { - id: item.value, - name: item.name, - disabled: false, - // !item.canSelect, - children: this.getTreeViewChild(item.children) - }; - treeviewItems.push(treeviewItem); - }); - return treeviewItems; - } - - public keyChange(key: string) { - this.param.name = key; - this.paramChange.emit(this.param); - } - - private formatValue(value: any) { - let result; - switch (this.param.valueSource) { - case ValueSource[ValueSource.boolean]: - result = value === "true" ? true : false; - break; - case ValueSource[ValueSource.integer]: - result = parseInt(value); - break; - case ValueSource[ValueSource.number]: - result = parseFloat(value); - break; - default: - result = value; - } - return result; - } - - public valueChange(value: any) { - if (ValueSource[ValueSource.Plan] === this.param.valueSource) { - if ('object' === typeof (value)) { - this.planValue = value; - this.param.value = value.id; - } else { - this.planValue = {id: ''}; - this.param.value = ''; - } - } else { - this.param.value = this.formatValue(value); - } - this.paramChange.emit(this.param); - } - - public valueSourceChange(valueSource: string) { - this.param.valueSource = valueSource; - this.setValueSource(valueSource); - this.valueChange(''); - } - - public insertParam(): void { - this.insert.emit(); - } - - public deleteParam(): void { - this.delete.emit(); - } -} diff --git a/sdc-workflow-designer-ui/src/app/components/property/error-event/error-event.component.html b/sdc-workflow-designer-ui/src/app/components/property/error-event/error-event.component.html deleted file mode 100644 index 2384192e..00000000 --- a/sdc-workflow-designer-ui/src/app/components/property/error-event/error-event.component.html +++ /dev/null @@ -1,15 +0,0 @@ - - - \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/components/property/error-event/error-event.component.ts b/sdc-workflow-designer-ui/src/app/components/property/error-event/error-event.component.ts deleted file mode 100644 index ed11ba2d..00000000 --- a/sdc-workflow-designer-ui/src/app/components/property/error-event/error-event.component.ts +++ /dev/null @@ -1,25 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - *******************************************************************************/ -import { Component, Input } from '@angular/core'; - -import { ValueSource } from '../../../model/value-source.enum'; -import { Parameter } from '../../../model/workflow/parameter'; -import { ErrorEvent } from '../../../model/workflow/error-event'; - -@Component({ - selector: 'wfm-error-event', - templateUrl: 'error-event.component.html', -}) -export class ErrorEventComponent { - @Input() public node: ErrorEvent; - public sources: ValueSource[] = [ValueSource.string]; -} diff --git a/sdc-workflow-designer-ui/src/app/components/property/intermediate-catch-event/intermediate-catch-event.component.html b/sdc-workflow-designer-ui/src/app/components/property/intermediate-catch-event/intermediate-catch-event.component.html deleted file mode 100644 index 1c1e766b..00000000 --- a/sdc-workflow-designer-ui/src/app/components/property/intermediate-catch-event/intermediate-catch-event.component.html +++ /dev/null @@ -1,92 +0,0 @@ - -
-
- -
-    - -
-
- -
- -
- -
- -
-
-
- -
- -
-
-
- -
- -
-
-
- -
- -
-
-
- -
- -
-
- -
- -
- -
- -
-
-
\ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/components/property/intermediate-catch-event/intermediate-catch-event.component.ts b/sdc-workflow-designer-ui/src/app/components/property/intermediate-catch-event/intermediate-catch-event.component.ts deleted file mode 100644 index d5f201f6..00000000 --- a/sdc-workflow-designer-ui/src/app/components/property/intermediate-catch-event/intermediate-catch-event.component.ts +++ /dev/null @@ -1,155 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - *******************************************************************************/ -import {Component, Input, OnChanges, SimpleChanges, OnDestroy} from "@angular/core"; -import {IntermediateCatchEvent} from "../../../model/workflow/intermediate-catch-event"; -import {TimerEventDefinitionType} from "../../../model/workflow/timer-event-definition"; -import {TranslateService} from "@ngx-translate/core"; - -@Component({ - selector: 'wfm-intermediate-catch-event', - templateUrl: 'intermediate-catch-event.component.html', -}) -export class IntermediateCatchEventComponent implements OnChanges, OnDestroy { - @Input() public node: IntermediateCatchEvent; - - public checkedType: string; - public timeType = TimerEventDefinitionType; - public timeDate: string; - public timeDuration: any = { - year: 0, - month: 0, - day: 0, - hour: 0, - minute: 0, - second: 0 - }; - - public locale: any; - private localeZh: any = { - firstDayOfWeek: 0, - dayNames: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'], - dayNamesShort: ['日', '一', '二', '三', '四', '五', '六'], - monthNames: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'], - monthNamesShort: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'], - dateFns: null, - confirm: '确定' - }; - - constructor(private translate: TranslateService) { - this.locale = translate.currentLang.indexOf('zh') > -1 ? this.localeZh : undefined; - } - - public ngOnChanges(changes: SimpleChanges): void { - if (this.node && this.node.timerEventDefinition) { - this.checkedType = this.node.timerEventDefinition.type; - } - if (!this.checkedType) { - this.checkedType = this.timeType[this.timeType.timeDuration]; - } else if (this.checkedType === this.timeType[this.timeType.timeCycle]) { - // 兼容老数据,把timeCycle转为timeDuration - this.checkedType = this.node.timerEventDefinition.type = this.timeType[this.timeType.timeDuration]; - } - - if (this.node.timerEventDefinition.timeDuration) { - this.transformStringToTimeDuration(); - } else if (this.node.timerEventDefinition.timeCycle) { - // 兼容老数据,把timeCycle转为timeDuration - const timeCycleArray = this.node.timerEventDefinition.timeCycle.split('/'); - this.node.timerEventDefinition.timeDuration = timeCycleArray.length > 1 ? timeCycleArray[1] : timeCycleArray[0]; - this.node.timerEventDefinition.timeCycle = ''; - this.transformStringToTimeDuration(); - } else if (this.node.timerEventDefinition.timeDate) { - this.transformISOToDate(); - } - } - - public ngOnDestroy(): void { - if (this.checkedType === this.timeType[this.timeType.timeDuration]) { - this.transformTimeDurationToString(); - } else { - this.timeDateChange(); - } - } - - private transformStringToTimeDuration(): void { - // R5/P1Y2M10DT2H30M - // P1Y3M5DT6H7M30S - this.timeDuration.year = this.splitTimeDuration('P', 'Y'); - this.timeDuration.month = this.splitTimeDuration('Y', 'M'); - this.timeDuration.day = this.splitTimeDuration('M', 'D'); - this.timeDuration.hour = this.splitTimeDuration('D', 'H'); - this.timeDuration.minute = this.splitTimeDuration('H', 'M'); - this.timeDuration.second = this.splitTimeDuration('M', 'S'); - } - - private splitTimeDuration(startKey: string, endKey: string): number { - const timeDuration = this.node.timerEventDefinition.timeDuration; - let start = timeDuration.indexOf(startKey); - let end = timeDuration.indexOf(endKey); - if (startKey === 'H' || endKey === 'S') { - start = timeDuration.lastIndexOf(startKey); - end = timeDuration.lastIndexOf(endKey); - } - const result = parseInt(timeDuration.substring(start + 1, end)); - if (isNaN(result)) { - return 0; - } else { - return result; - } - } - - public timeTypeChange(type: string): void { - this.checkedType = type; - const timer = this.node.timerEventDefinition; - timer.type = type; - timer.timeCycle = ''; - timer.timeDate = ''; - timer.timeDuration = ''; - } - - public transformTimeDurationToString(): void { - // R5/P1Y2M10DT2H30M - this.node.timerEventDefinition.timeDuration = 'P' - + this.timeDuration.year + 'Y' - + this.timeDuration.month + 'M' - + this.timeDuration.day + 'D' - + 'T' + this.timeDuration.hour + 'H' - + this.timeDuration.minute + 'M' - + this.timeDuration.second + 'S'; - } - - private transformISOToDate(): void { - this.timeDate = new Date(this.node.timerEventDefinition.timeDate).toString(); - } - - private pad(value: number): string { - let result = value.toString(); - if (result.length === 1) { - result = '0' + result; - } - return result; - } - - private transformDateToISO(date: Date): string { - return date.getFullYear() + '-' + this.pad(date.getMonth() + 1) + '-' + this.pad(date.getDate()) + 'T' - + this.pad(date.getHours()) + ':' + this.pad(date.getMinutes()) + ':' + this.pad(date.getSeconds()); - } - - public timeDateChange(): void { - // 2007-04-05T12:30-02:00 - if (this.timeDate) { - const date = new Date(this.timeDate); - this.node.timerEventDefinition.timeDate = this.transformDateToISO(date); - console.log(this.node.timerEventDefinition.timeDate); - } - } -} diff --git a/sdc-workflow-designer-ui/src/app/components/property/node-template/node-template.component.html b/sdc-workflow-designer-ui/src/app/components/property/node-template/node-template.component.html deleted file mode 100644 index a7cef5a3..00000000 --- a/sdc-workflow-designer-ui/src/app/components/property/node-template/node-template.component.html +++ /dev/null @@ -1,49 +0,0 @@ - - -
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
-
- - -
- - diff --git a/sdc-workflow-designer-ui/src/app/components/property/node-template/node-template.component.ts b/sdc-workflow-designer-ui/src/app/components/property/node-template/node-template.component.ts deleted file mode 100644 index 7fa9675f..00000000 --- a/sdc-workflow-designer-ui/src/app/components/property/node-template/node-template.component.ts +++ /dev/null @@ -1,131 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import { AfterViewInit, Component, Input } from '@angular/core'; -import { Subscription } from '../../../../../node_modules/rxjs/Subscription.d'; - -import { PlanTreeviewItem } from '../../../model/plan-treeview-item'; -import { NodeTemplate } from '../../../model/topology/node-template'; -import { ValueSource } from '../../../model/value-source.enum'; -import { Parameter } from '../../../model/workflow/parameter'; -import { ToscaNodeTask } from '../../../model/workflow/tosca-node-task'; -import { BroadcastService } from '../../../services/broadcast.service'; -import { ToscaService } from '../../../services/tosca.service'; - -/** - * node template component provides operations about tosca modules which saved in winery. - * This component will be used in the property component while the corresponding workflow node is calling the node template's operation - */ -@Component({ - selector: 'wfm-node-template', - templateUrl: 'node-template.component.html', -}) -export class NodeTemplateComponent implements AfterViewInit { - @Input() public node: ToscaNodeTask; - @Input() public planItems: PlanTreeviewItem[]; - - public inputSources: ValueSource[] = [ValueSource.string, ValueSource.Variable, ValueSource.Topology, ValueSource.Plan]; - public outputSources: ValueSource[] = [ValueSource.Topology, ValueSource.Plan]; - public nodeInterfaces: string[] = []; - public nodeOperations: any[] = []; - public nodeTemplates: NodeTemplate[] = []; - - constructor(private toscaService: ToscaService) { - } - - public ngAfterViewInit() { - this.nodeTemplates = this.toscaService.getNodeTemplate(); - - this.loadInterfaces(); - this.loadOperations(); - } - - public nodeTemplateChanged() { - this.setTemplateNamespace(); - - this.nodeInterfaceChanged(''); - - this.loadInterfaces(); - } - - public nodeInterfaceChanged(newInterface: string) { - this.node.nodeInterface = newInterface; - - this.nodeOperationChanged(''); - - this.loadOperations(); - } - - public nodeOperationChanged(operation: string) { - this.node.operation = operation; - - this.node.input = []; - this.node.output = []; - - this.loadParameters(); - } - - private setTemplateNamespace() { - const nodeTemplate = this.nodeTemplates.find( - tmpNodeTemplate => tmpNodeTemplate.id === this.node.template.id); - - if (nodeTemplate) { - this.node.template.namespace = nodeTemplate.namespace; - this.node.template.type = nodeTemplate.type; - } - } - - private loadInterfaces() { - if (this.node.template.id) { - this.toscaService.loadNodeTemplateInterfaces(this.node.template) - .subscribe(interfaces => { - this.nodeInterfaces = interfaces; - }); - } else { - this.nodeInterfaces = []; - } - } - - private loadOperations() { - if (this.node.nodeInterface) { - this.nodeOperations = []; - this.toscaService.loadNodeTemplateOperations( - this.node.template, - this.node.nodeInterface) - .subscribe(operations => this.nodeOperations = operations); - } else { - this.nodeOperations = []; - } - } - - private loadParameters() { - if (this.node.operation) { - this.toscaService.loadNodeTemplateOperationParameter( - this.node.template, - this.node.nodeInterface, - this.node.operation) - .subscribe(params => { - this.node.input = []; - this.node.output = []; - - params.input.forEach(param => { - const p = new Parameter(param, '', ValueSource[ValueSource.string]); - this.node.input.push(p); - }); - - params.output.forEach(param => { - const p = new Parameter(param, '', ValueSource[ValueSource.Definition]); - this.node.output.push(p); - }); - }); - } - } -} diff --git a/sdc-workflow-designer-ui/src/app/components/property/properties.component.css b/sdc-workflow-designer-ui/src/app/components/property/properties.component.css deleted file mode 100644 index 5189f551..00000000 --- a/sdc-workflow-designer-ui/src/app/components/property/properties.component.css +++ /dev/null @@ -1,36 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -.wm-properties-wrapper { - background-color: white; - position: fixed; - width: 500px; - height: 100%; - border-left: 1px solid #00aaff; - z-index: 2000; - right: 0; - top: 0; - bottom: 0; - padding-left: 20px; - margin-bottom: 0; - padding-right: 20px; - padding-top: 40px; - -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, 0.5); - box-shadow: 0 0 6px rgba(0, 0, 0, 0.5); - border-radius: 0; - overflow: auto; -} - -.plx-btn{ - float: right; - margin-right: 0; -} diff --git a/sdc-workflow-designer-ui/src/app/components/property/properties.component.html b/sdc-workflow-designer-ui/src/app/components/property/properties.component.html deleted file mode 100644 index a6d25e92..00000000 --- a/sdc-workflow-designer-ui/src/app/components/property/properties.component.html +++ /dev/null @@ -1,45 +0,0 @@ - - -
-
- -
- -
-
- - -
-
- - - - - - - - -
-
diff --git a/sdc-workflow-designer-ui/src/app/components/property/properties.component.ts b/sdc-workflow-designer-ui/src/app/components/property/properties.component.ts deleted file mode 100644 index 1b381c5d..00000000 --- a/sdc-workflow-designer-ui/src/app/components/property/properties.component.ts +++ /dev/null @@ -1,79 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -import {Component, OnInit} from "@angular/core"; -import {TranslateService} from "@ngx-translate/core"; -import {PlanTreeviewItem} from "../../model/plan-treeview-item"; -import {ValueSource} from "../../model/value-source.enum"; -import {NodeType} from "../../model/workflow/node-type.enum"; -import {WorkflowNode} from "../../model/workflow/workflow-node"; -import {BroadcastService} from "../../services/broadcast.service"; -import {JsPlumbService} from "../../services/jsplumb.service"; -import {ModelService} from "../../services/model.service"; -import {NoticeService} from "../../services/notice.service"; - -/** - * property component presents information of a workflow node. - * the presented information can be edit in this component. - * it may load information dynamically. the content may be different for different node type. - */ -@Component({ - selector: 'wfm-properties', - styleUrls: ['./properties.component.css'], - templateUrl: 'properties.component.html', -}) -export class PropertiesComponent implements OnInit { - public node: WorkflowNode; - public planTreeviewItems: PlanTreeviewItem[]; - public nodeType = NodeType; - // public nodeTypes: string[] = WorkflowNodeType; - public show = false; - public titleEditing = false; - public valueSource = [ValueSource.string]; - - constructor(private broadcastService: BroadcastService, - private modelService: ModelService, - private translate: TranslateService, - private noticeService: NoticeService, - private jsPlumbService: JsPlumbService) { - - } - - public ngOnInit() { - this.broadcastService.showProperty$.subscribe(element => { - if (element && this.modelService.isNode(element)) { - this.node = element as WorkflowNode; - // temporarily, if config info not exists then close the property panel - // TODOS: 1) save config info in case config info no exists on a different environment. - // 2) display property panel even if config info not exists for it may be adjust. - try { - this.planTreeviewItems = this.modelService.getPlanParameters(this.node.id); - this.show = true; - } catch (error) { - this.show = false; - this.translate.get('WORKFLOW.MSG.SWAGGER_NOT_EXISTS').subscribe((res: string) => { - this.noticeService.error(res); - }); - } - } else { - this.show = false; - } - }); - } - - public deleteNode() { - this.show = false; - const parentId = this.jsPlumbService.getParentNodeId(this.node.id); - this.jsPlumbService.remove(this.node); - this.modelService.deleteNode(parentId, this.node.id); - } -} diff --git a/sdc-workflow-designer-ui/src/app/components/property/rest-task/node-parameters/node-parameters.component.css b/sdc-workflow-designer-ui/src/app/components/property/rest-task/node-parameters/node-parameters.component.css deleted file mode 100644 index e69de29b..00000000 diff --git a/sdc-workflow-designer-ui/src/app/components/property/rest-task/node-parameters/node-parameters.component.html b/sdc-workflow-designer-ui/src/app/components/property/rest-task/node-parameters/node-parameters.component.html deleted file mode 100644 index 9d17374b..00000000 --- a/sdc-workflow-designer-ui/src/app/components/property/rest-task/node-parameters/node-parameters.component.html +++ /dev/null @@ -1,23 +0,0 @@ - - -
- -
- - - - diff --git a/sdc-workflow-designer-ui/src/app/components/property/rest-task/node-parameters/node-parameters.component.ts b/sdc-workflow-designer-ui/src/app/components/property/rest-task/node-parameters/node-parameters.component.ts deleted file mode 100644 index 692661a7..00000000 --- a/sdc-workflow-designer-ui/src/app/components/property/rest-task/node-parameters/node-parameters.component.ts +++ /dev/null @@ -1,109 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core'; -import { TreeNode } from 'primeng/primeng'; - -import { PlanTreeviewItem } from '../../../../model/plan-treeview-item'; -import { Swagger, SwaggerResponseClass } from '../../../../model/swagger'; -import { ValueSource } from '../../../../model/value-source.enum'; -import { RestParameter } from '../../../../model/workflow/rest-parameter'; -import { BroadcastService } from '../../../../services/broadcast.service'; -import { SwaggerTreeConverterService } from '../../../../services/swagger-tree-converter.service'; -import { RestService } from "../../../../services/rest.service"; -import { SwaggerIn } from '../../../../model/workflow/swagger/swagger-in.enum'; - -/** - * property component presents information of a workflow node. - * the presented information can be edit in this component. - * it may load information dynamically. the content may be different for different node type. - */ -@Component({ - selector: 'wfm-node-parameters', - styleUrls: ['./node-parameters.component.css'], - templateUrl: 'node-parameters.component.html', -}) -export class NodeParametersComponent implements OnChanges { - @Input() public swaggerInput: RestParameter[]; - @Input() public swaggerOutput: SwaggerResponseClass[]; - @Input() public restConfigId: string; - @Input() public planItems: PlanTreeviewItem[]; - - public inputSources: ValueSource[] = [ValueSource.Variable, ValueSource.Topology, ValueSource.Plan]; - public outputSources: ValueSource[] = []; - public valueSource = ValueSource; - public headerParams: RestParameter[] = []; - public pathParams: RestParameter[] = []; - public queryParams: RestParameter[] = []; - public inputParams: TreeNode[] = []; - public outputParams: TreeNode[] = []; - - private index = 1; - - constructor(private broadcastService: BroadcastService, - private restService: RestService, - private swaggerTreeConverterService: SwaggerTreeConverterService) { - } - - public ngOnChanges(changes: SimpleChanges): void { - if (changes.swaggerInput && changes.swaggerInput.currentValue) { - this.resetRequestParams(changes.swaggerInput.currentValue); - } - if (changes.swaggerOutput && changes.swaggerOutput.currentValue) { - this.resetResponseParams(changes.swaggerOutput.currentValue); - } - } - - public resetRequestParams(parameters: RestParameter[]) { - this.pathParams = []; - this.queryParams = []; - this.inputParams = []; - this.headerParams = []; - - parameters.forEach(param => { - if (SwaggerIn[SwaggerIn.path] === param.position) { - this.pathParams.push(param); - } else if (SwaggerIn[SwaggerIn.query] === param.position) { - this.queryParams.push(param); - } else if (SwaggerIn[SwaggerIn.header] === param.position) { - this.headerParams.push(param); - } else if (SwaggerIn[SwaggerIn.body] === param.position) { - let valueObject = undefined; - if (undefined !== param.value || undefined !== param.valueSource) { - valueObject = { value: param.value, valueSource: param.valueSource }; - } - const requestTreeNode = this.swaggerTreeConverterService.schema2TreeNode(this.restService.getSwaggerInfo(this.restConfigId), - 'Request Param', param.schema, valueObject); - // console.log('requestTreeNode is :'); - // console.log(requestTreeNode.value); - param.value = requestTreeNode.value.value; - param.valueSource = requestTreeNode.value.valueSource; - this.inputParams.push(requestTreeNode); - } else { - // TODO others param types not supported - console.log('Unsupport parameter position(in):' + param.position); - } - }); - } - - public resetResponseParams(responses: SwaggerResponseClass[]) { - this.outputParams = []; - if (0 < responses.length && responses[0].schema) { - const treeNode = this.swaggerTreeConverterService.schema2TreeNode( - this.restService.getSwaggerInfo(this.restConfigId), - 'Response Params', - responses[0].schema, - { value: {}, valueSource: ValueSource[ValueSource.Definition] }); - this.outputParams.push(treeNode); - } - } -} diff --git a/sdc-workflow-designer-ui/src/app/components/property/rest-task/node-parameters/parameter-tree/parameter-tree.component.css b/sdc-workflow-designer-ui/src/app/components/property/rest-task/node-parameters/parameter-tree/parameter-tree.component.css deleted file mode 100644 index e69de29b..00000000 diff --git a/sdc-workflow-designer-ui/src/app/components/property/rest-task/node-parameters/parameter-tree/parameter-tree.component.html b/sdc-workflow-designer-ui/src/app/components/property/rest-task/node-parameters/parameter-tree/parameter-tree.component.html deleted file mode 100644 index bc14295d..00000000 --- a/sdc-workflow-designer-ui/src/app/components/property/rest-task/node-parameters/parameter-tree/parameter-tree.component.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/components/property/rest-task/node-parameters/parameter-tree/parameter-tree.component.ts b/sdc-workflow-designer-ui/src/app/components/property/rest-task/node-parameters/parameter-tree/parameter-tree.component.ts deleted file mode 100644 index 93c3b72e..00000000 --- a/sdc-workflow-designer-ui/src/app/components/property/rest-task/node-parameters/parameter-tree/parameter-tree.component.ts +++ /dev/null @@ -1,176 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -import { ChangeDetectionStrategy, Component, Input, OnInit, Output } from '@angular/core'; -import { TreeNode } from 'primeng/primeng'; - -import { PlanTreeviewItem } from '../../../../../model/plan-treeview-item'; -import { ValueSource } from '../../../../../model/value-source.enum'; -import { Parameter } from '../../../../../model/workflow/parameter'; -import { SwaggerTreeConverterService } from '../../../../../services/swagger-tree-converter.service'; -import { WorkflowUtil } from '../../../../../util/workflow-util'; -import { Swagger } from "../../../../../model/swagger"; -import { RestService } from "../../../../../services/rest.service"; - -/** - * parameter tree presents parameter of task node's input or output parameters. - */ -@Component({ - selector: 'wfm-parameter-tree', - styleUrls: ['./parameter-tree.component.css'], - templateUrl: 'parameter-tree.component.html', - changeDetection: ChangeDetectionStrategy.OnPush -}) -export class ParameterTreeComponent implements OnInit { - @Input() public parameters: TreeNode[]; - @Input() public showValue: boolean; - @Input() public canInsert: boolean; - @Input() public restConfigId: string; - @Input() public valueSource: ValueSource[]; - @Input() public planItems: PlanTreeviewItem[]; - - constructor(private restService: RestService, private swaggerTreeConverterService: SwaggerTreeConverterService) { } - - public ngOnInit() { - if (undefined === this.showValue) { - this.showValue = true; - } - } - - public getParameter(node: any): Parameter { - // console.log('Parameter init:' + node.label +'.'+ node.type+'.'+JSON.stringify(node.value.value)+'.'+node.value.valueSource); - - return new Parameter(node.label, node.value.value, node.value.valueSource, node.definition.type, node.definition.reqquired); - } - - - public paramChange(param: Parameter, node: any) { - // console.log('Parameter change:' + param.name + ', Node label is:' + node.label); - - node.value.valueSource = param.valueSource; - node.value.value = param.value; - - this.objectParameterChange(node); - - if (node.label !== param.name) { - delete node.parent.value.value[node.label]; - node.label = param.name; - } - if (node.parent) { - node.parent.value.value[node.label] = node.value; - } else { - // this parameter is 'request param' or 'response param' - } - - } - - private objectParameterChange(node: any) { - if (node.value.valueSource === ValueSource[ValueSource.Definition]) { // value will be set by node defintion - const treeNode = this.swaggerTreeConverterService.schema2TreeNode(this.getSwagger(), node.label, node.definition, node.value); - node.value = treeNode.value; - node.children = treeNode.children; - } else { // parameter value will be set by param - node.children = []; - } - } - - private getSwagger(): Swagger { - return this.restService.getSwaggerInfo(this.restConfigId); - } - - public addChildNode4DynamicObject(node: any) { - const copyItem = WorkflowUtil.deepClone(node.definition.additionalProperties); - const key = Object.keys(node.value.value).length; - - const childrenNode = this.swaggerTreeConverterService - .schema2TreeNode(this.getSwagger(), key, copyItem); - - childrenNode.keyEditable = true; - node.value.value[key] = childrenNode.value; - - node.children.push(childrenNode); - } - - public addChildNode4ObjectArray(node: any) { - const copyItem = WorkflowUtil.deepClone(node.definition.items); - - const childrenNode = this.swaggerTreeConverterService - .schema2TreeNode( - this.getSwagger(), - node.children.length, - copyItem); - - node.value.value.push(childrenNode.value); - node.children.push(childrenNode); - } - - public deleteTreeNode(node: any) { - if ('array' === node.parent.type) { - // delete data - node.parent.value.value.splice(node.label, 1); - node.parent.children.splice(node.label, 1); - - // update node index - node.parent.children.forEach((childNode, index) => childNode.label = index); - } else if ('map' === node.parent.type) { - delete node.parent.value.value[node.label]; - for (let index = 0; index < node.parent.children.length; index++) { - const element = node.parent.children[index]; - if (element.label === node.label) { - node.parent.children.splice(index, 1); - break; - } - } - } - } - - public getCanInsert(node: any) { - if (undefined === this.canInsert) { - if (node.value.valueSource !== ValueSource[ValueSource.Definition]) { - return false; - } else { - return this.isArrayObject(node) || this.isDynamicObject(node); - } - } else { - return this.canInsert - } - } - - public getCanDelete(node: any) { - const parent = node.parent; - if (parent && - (this.isArrayObject(parent) || this.isDynamicObject(parent))) { - return true; - } else { - return false; - } - } - - public getObjectValueSource(): ValueSource[] { - const result = []; - this.valueSource.forEach(source => { - if (ValueSource.string != source) { - result.push(source); - } - }); - result.push(ValueSource.Definition); - return result; - } - - private isArrayObject(node: any): boolean { - return node.type === 'array'; - } - - private isDynamicObject(node: any): boolean { - return node.type === 'map'; - } -} diff --git a/sdc-workflow-designer-ui/src/app/components/property/rest-task/rest-parameters/rest-parameters.component.css b/sdc-workflow-designer-ui/src/app/components/property/rest-task/rest-parameters/rest-parameters.component.css deleted file mode 100644 index a2dc6ff6..00000000 --- a/sdc-workflow-designer-ui/src/app/components/property/rest-task/rest-parameters/rest-parameters.component.css +++ /dev/null @@ -1,11 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - *******************************************************************************/ \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/components/property/rest-task/rest-parameters/rest-parameters.component.html b/sdc-workflow-designer-ui/src/app/components/property/rest-task/rest-parameters/rest-parameters.component.html deleted file mode 100644 index 1d3f87a8..00000000 --- a/sdc-workflow-designer-ui/src/app/components/property/rest-task/rest-parameters/rest-parameters.component.html +++ /dev/null @@ -1,67 +0,0 @@ - -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
\ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/components/property/rest-task/rest-parameters/rest-parameters.component.spec.ts b/sdc-workflow-designer-ui/src/app/components/property/rest-task/rest-parameters/rest-parameters.component.spec.ts deleted file mode 100644 index f0154f2b..00000000 --- a/sdc-workflow-designer-ui/src/app/components/property/rest-task/rest-parameters/rest-parameters.component.spec.ts +++ /dev/null @@ -1,36 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - *******************************************************************************/ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { RestParametersComponent } from './rest-parameters.component'; - -describe('RestParametersComponent', () => { - let component: RestParametersComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [ RestParametersComponent ] - }) - .compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(RestParametersComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should be created', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/sdc-workflow-designer-ui/src/app/components/property/rest-task/rest-parameters/rest-parameters.component.ts b/sdc-workflow-designer-ui/src/app/components/property/rest-task/rest-parameters/rest-parameters.component.ts deleted file mode 100644 index d24486d1..00000000 --- a/sdc-workflow-designer-ui/src/app/components/property/rest-task/rest-parameters/rest-parameters.component.ts +++ /dev/null @@ -1,367 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - *******************************************************************************/ -import { Component, Input, OnInit } from '@angular/core'; -import { PlanTreeviewItem } from '../../../../model/plan-treeview-item'; -import { SwaggerBaseParameter } from '../../../../model/workflow/swagger/swagger-base-parameter'; -import { SwaggerResponse } from '../../../../model/workflow/swagger/swagger-response'; -import { TreeNode } from 'primeng/components/common/treenode'; -import { ValueSource } from '../../../../model/value-source.enum'; -import { SwaggerIn } from '../../../../model/workflow/swagger/swagger-in.enum'; -import { SwaggerBodyParameter } from '../../../../model/workflow/swagger/swagger-body-parameter'; -import { SwaggerTreeConverterService } from '../../../../services/swagger-tree-converter.service'; -import { SwaggerSchema } from '../../../../model/workflow/swagger/swagger-schema'; -import { WorkflowUtil } from '../../../../util/workflow-util'; -import { Parameter } from '../../../../model/workflow/parameter'; -import { SwaggerNormalParameter } from '../../../../model/workflow/swagger/swagger-normal-parameter'; -import { ValueType } from '../../../../model/value-type.enum'; -import { ValueObject } from '../../../../model/value-object'; - -@Component({ - selector: 'wfm-rest-parameters', - templateUrl: './rest-parameters.component.html', - styleUrls: ['./rest-parameters.component.css'] -}) -export class RestParametersComponent implements OnInit { - @Input() public dataTypeInput: SwaggerBaseParameter[]; - @Input() public dataTypeOutput: SwaggerResponse[]; - @Input() public definitions: any; - @Input() public planItems: PlanTreeviewItem[]; - public queryParams: Parameter[] = []; - public headerParams: Parameter[] = []; - public pathParams: Parameter[] = []; - public formDataParams: Parameter[] = []; - public bodyParams: TreeNode[] = []; - public responseParams: TreeNode[] = []; - - public inputValueSource = [ValueSource.Variable, ValueSource.Plan, ValueSource.Topology]; - public outputValueSource = []; - constructor() { } - - ngOnInit() { - if (this.dataTypeInput) { - this.dataTypeInput.forEach(input => { - switch (input.in) { - case SwaggerIn[SwaggerIn.query]: - let query = this.normal2Parameter(input as SwaggerNormalParameter); - input.value = query.value; - input.valueSource = query.valueSource; - this.queryParams.push(query); - break; - case SwaggerIn[SwaggerIn.header]: - let header = this.normal2Parameter(input as SwaggerNormalParameter); - input.value = header.value; - input.valueSource = header.valueSource; - this.headerParams.push(header); - break; - case SwaggerIn[SwaggerIn.path]: - let path = this.normal2Parameter(input as SwaggerNormalParameter); - input.value = path.value; - input.valueSource = path.valueSource; - this.pathParams.push(path); - break; - case SwaggerIn[SwaggerIn.formData]: - let formData = this.normal2Parameter(input as SwaggerNormalParameter); - input.value = formData.value; - input.valueSource = formData.valueSource; - this.formDataParams.push(formData); - break; - case SwaggerIn[SwaggerIn.body]: - let body = this.body2TreeNode(input as SwaggerBodyParameter); - input.value = body.value.value; - input.valueSource = body.value.valueSource; - this.bodyParams.push(body); - break; - default: - console.warn(`Not support this parameters in:${input.in}`); - break; - } - }); - } - this.responseParams.push(this.parameter2TreeNode('status', - { type: ValueType[ValueType.number], editable: false }, { value: '', valueSource: ValueSource.string })); - if (this.dataTypeOutput) { - this.dataTypeOutput.forEach(output => { - const treeNode = this.swaggerResponse2TreeNode(output as SwaggerResponse); - if (treeNode) { - this.responseParams.push(treeNode); - } - }); - } - } - - public onParamChange(param: Parameter) { - this.dataTypeInput.forEach(input => { - if (input.name === param.name) { - input.value = param.value; - input.valueSource = param.valueSource; - } - }); - } - - private normal2Parameter(normalParam: SwaggerNormalParameter): Parameter { - let finalValue; - let finalValueSource; - if (normalParam.value && normalParam.value && normalParam.valueSource) { - finalValue = normalParam.value; - finalValueSource = normalParam.valueSource; - } else { - finalValue = normalParam.default; - finalValueSource = ValueSource[ValueSource.string]; - } - let parameter = new Parameter(normalParam.name, finalValue, finalValueSource, normalParam.type, normalParam.required, normalParam.show); - return parameter; - } - - private body2TreeNode(bodyParam: SwaggerBodyParameter) { - return this.swaggerSchema2TreeNode(bodyParam.name, bodyParam.schema, bodyParam); - } - - private swaggerResponse2TreeNode(responseParam: SwaggerResponse): TreeNode { - if (responseParam.$ref) { - return this.swaggerRef2TreeNode(responseParam.name, responseParam.$ref); - } else if (responseParam.schema) { - return this.swaggerSchema2TreeNode(responseParam.name, responseParam.schema); - } else { - console.log(`Unsupport response parameter:${responseParam.name}`); - return null; - } - } - - private swaggerSchema2TreeNode(name: string | number, schema: SwaggerSchema, value?: any) { - if (schema.$ref) { - return this.swaggerRef2TreeNode(name as string, schema.$ref); - } else { - value = this.getInitValue4Param(schema, value); - return this.parameter2TreeNode(name, schema, value); - } - } - - private swaggerRef2TreeNode(name: string, ref: string, value?: any) { - let definition = this.definitions[ref]; - let refTreeNode = { - label: 'Unsupport Ref Parameter', - type: this.getTreeNodeType(ref), - required: definition.required, - children: [], - definition: definition, - value: value, - }; - - // if (value.valueSource === ValueSource[ValueSource.Definition]) { - // if (definition.type === 'object') { - // refTreeNode.children = this.getPropertyFromObject(definition, value.value); - // } else if (definition.type === 'array') { - // refTreeNode.children = this.setChildrenForArray(definition, value.value); - // } - // } - return refTreeNode; - } - - private getInitValue4Param(schema: SwaggerSchema, value: any) { - let definition = schema; - if (schema.$ref) { - definition = this.definitions[schema.$ref]; - } - let valueObject: ValueObject = { valueSource: ValueSource[ValueSource.string] }; - if (undefined == value) { - valueObject.value = definition.default; - if (ValueType[ValueType.array] === definition.type || ValueType[ValueType.object] === definition.type) { - valueObject.valueSource = ValueSource[ValueSource.Definition]; - } else { - valueObject.valueSource = definition.type; - } - } else { - if('object' != typeof(value)){ - console.error('Param value is not object!, param definition is:' + definition); - } - valueObject.valueSource = value.valueSource; - valueObject.value = undefined === value.value ? definition.default : value.value; - } - if (ValueType[ValueType.object] === definition.type) { - return this.getInitValue4Object(valueObject); - } else if (ValueType[ValueType.array] === definition.type) { - // if (undefined == value) { - // valueObject.value = definition.default; - // if (ValueType[ValueType.array] === definition.type || ValueType[ValueType.object] === definition.type) { - // valueObject.valueSource = ValueSource[ValueSource.Definition]; - // } else { - // valueObject.valueSource = definition.type; - // } - // } else { - // valueObject.valueSource = value.valueSource; - // valueObject.value = undefined === value.value ? definition.default : value.value; - // } - return this.getInitValue4Array(valueObject); - } else { // primary type - // valueObject.value = undefined === value ? definition.default : value; - // valueObject.valueSource = definition.type; - return this.getInitValue4Primary(valueObject); - } - } - - - private getInitValue4Object(value: any) { - const newValue = { - value: {}, - valueSource: ValueSource[ValueSource.Definition] - }; - - if (!value || '' === value) { - return newValue; - } else { - if (value.valueSource !== ValueSource[ValueSource.Definition]) { - return value; - } else { - if (typeof value.value !== 'object') { - value.value = {}; - } - return value; - } - } - } - - private getInitValue4Array(value: any) { - const newValue = { - value: [], - valueSource: ValueSource[ValueSource.Definition] - }; - - if (!value || '' === value) { - return newValue; - } else { - if (value.valueSource !== ValueSource[ValueSource.Definition]) { - return value; - } else { - if (!(value.value instanceof Array)) { - value.value = []; - } - return value; - } - } - } - - private getInitValue4Primary(value: any) { - const newValue = { - value: '', - valueSource: ValueSource[ValueSource.string] - }; - - if (!value) { - return newValue; - } else { - if (typeof value.value === 'object') { - value.value = ''; - } - return value; - } - } - - private parameter2TreeNode(name: string | number, definition: any, value: any): any { - const nodeType = this.getTreeNodeType(definition); - - const node = { - label: name, - type: nodeType, - required: definition.required, - children: [], - definition: definition, - value: value - }; - - if (value.valueSource === ValueSource[ValueSource.Definition]) { - if (ValueType[ValueType.object] === definition.type) { - node.children = this.getPropertyFromObject(definition, value.value); - } else if (ValueType[ValueType.array] === definition.type) { - node.children = this.getItemsFromArray(definition, value.value); - } - } - - return node; - } - - private getTreeNodeType(param: any): string { - const type = param.type; - if (ValueType[ValueType.array] === type) { - return 'array'; - } else if (ValueType[ValueType.object] === type) { - if (param.additionalProperties) { - return 'map'; - } else { - return 'object'; - } - } else { - return 'default'; - } - } - - private getPropertyFromObject(schema: SwaggerSchema, value: any): TreeNode[] { - if (schema.properties) { - const required = schema.required as string[]; - return this.getPropertyFromSimpleObject(schema.properties, value, required); - } else if (schema.additionalProperties) { - return this.getPropertyFromMapOrDictionary(schema.additionalProperties, value); - } else { - console.warn('getPropertyFromObject() return [], param is:' + JSON.stringify(schema)); - return []; - } - - } - - private getPropertyFromSimpleObject(properties: any, objectValue: any, required: string[]): TreeNode[] { - const treeNodes: TreeNode[] = []; - for (const key in properties) { - let property = properties[key]; - // init required property - property.required = false; - if (Array.isArray(required)) { - for (let index = 0; index < required.length; index++) { - if (required[index] === key) { - property.required = true; - break; - } - } - } - - objectValue[key] = this.getInitValue4Param(property, objectValue[key]); - - const treeNode = this.swaggerSchema2TreeNode(key, property, objectValue[key]); - treeNodes.push(treeNode); - } - return treeNodes; - } - - private getPropertyFromMapOrDictionary(additionalProperties: any, mapOrDictionary: any): TreeNode[] { - const treeNodes: TreeNode[] = []; - for (const key in mapOrDictionary) { - const propertyCopy = WorkflowUtil.deepClone(additionalProperties); - propertyCopy.value = mapOrDictionary[key]; - const treeNode = this.swaggerSchema2TreeNode(key, propertyCopy, propertyCopy.value); - treeNode.keyEditable = true; - treeNodes.push(treeNode); - if (mapOrDictionary[key] !== propertyCopy.value) { - mapOrDictionary[key] = propertyCopy.value; - } - } - return treeNodes; - } - - private getItemsFromArray(definition: any, value: any[]): any[] { - const children = []; - value.forEach((itemValue, index) => { - const itemCopy = WorkflowUtil.deepClone(definition.items); - children.push(this.swaggerSchema2TreeNode(index, itemCopy, itemValue)); - }); - - return children; - } - -} diff --git a/sdc-workflow-designer-ui/src/app/components/property/rest-task/rest-task.component.html b/sdc-workflow-designer-ui/src/app/components/property/rest-task/rest-task.component.html deleted file mode 100644 index d3f41921..00000000 --- a/sdc-workflow-designer-ui/src/app/components/property/rest-task/rest-task.component.html +++ /dev/null @@ -1,54 +0,0 @@ - - -
- -
- - -
-
- -
- -
- - -
-
- -
- -
- - -
-
-
- -
- -
- -
- -
\ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/components/property/rest-task/rest-task.component.ts b/sdc-workflow-designer-ui/src/app/components/property/rest-task/rest-task.component.ts deleted file mode 100644 index 3def276f..00000000 --- a/sdc-workflow-designer-ui/src/app/components/property/rest-task/rest-task.component.ts +++ /dev/null @@ -1,273 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - *******************************************************************************/ -import { Component, Input, OnInit } from '@angular/core'; -import { Subscription } from 'rxjs/Subscription'; -import { TranslateService } from '@ngx-translate/core'; - -import { PlanTreeviewItem } from '../../../model/plan-treeview-item'; -import { ValueSource } from '../../../model/value-source.enum'; -import { ValueType } from '../../../model/value-type.enum'; -import { RestParameter } from '../../../model/workflow/rest-parameter'; -import { RestTask } from '../../../model/workflow/rest-task'; -import { BroadcastService } from '../../../services/broadcast.service'; -import { NoticeService } from '../../../services/notice.service'; -import { RestService } from '../../../services/rest.service'; -import { WorkflowUtil } from '../../../util/workflow-util'; -import { NodeTypeService } from '../../../services/node-type.service'; -import { NodeDataType } from '../../../model/node-data-type/node-data-type'; -import { SwaggerBaseParameter } from "../../../model/workflow/swagger/swagger-base-parameter"; -import { SwaggerResponse } from "../../../model/workflow/swagger/swagger-response"; -import { Swagger, SwaggerMethod } from '../../../model/swagger'; -import { SwaggerBodyParameter } from '../../../model/workflow/swagger/swagger-body-parameter'; -import { SwaggerNormalParameter } from '../../../model/workflow/swagger/swagger-normal-parameter'; -import { SwaggerSchema } from '../../../model/workflow/swagger/swagger-schema'; -import { SwaggerIn } from '../../../model/workflow/swagger/swagger-in.enum'; - -@Component({ - selector: 'wfm-rest-task', - templateUrl: 'rest-task.component.html', -}) -export class RestTaskComponent implements OnInit { - @Input() public node: RestTask; - @Input() public planItems: PlanTreeviewItem[]; - - public swaggerJson: any = {}; - public restInterfaces = []; - public restOperations = []; - public loadSwaggerByMSB = true; - // public dataTypeInput: SwaggerBaseParameter[] = []; - public dataTypeOutput: SwaggerResponse[] = []; - public definitions: SwaggerSchema; - private swagger: Swagger; - - constructor(private nodeTypeService: NodeTypeService, private broadcastService: BroadcastService, public restService: RestService, - private noticeService: NoticeService, private translate: TranslateService) { } - - public ngOnInit() { - const nodeDataType = this.nodeTypeService.getNodeDataTypeById(this.node.typeId); - // if (nodeDataType.content && nodeDataType.content.baseUrl && nodeDataType.content.serviceName && nodeDataType.content.version - // && nodeDataType.content.path && nodeDataType.content.method && nodeDataType.content.consumes) { - if (nodeDataType && nodeDataType.content && nodeDataType.content.baseUrl && nodeDataType.content.serviceName - && nodeDataType.content.serviceVersion && nodeDataType.content.path && nodeDataType.content.method) { - this.loadSwaggerByMSB = false; - } - if (this.loadSwaggerByMSB) { - this.loadInterfaces(); - } else { - this.setParametersByDataType(nodeDataType); - } - } - - public serviceChanged(configId: string) { - this.node.restConfigId = configId; - this.pathChanged(''); - this.loadInterfaces(); - } - - public pathChanged(path: string) { - this.node.path = path; - this.node.consumes = []; - this.node.produces = []; - this.methodChanged(''); - this.loadOperations(); - } - - public methodChanged(method: string) { - this.node.method = method; - this.node.parameters = []; - this.node.responses = []; - this.updateMethodInfo(); - } - - private loadInterfaces(): void { - if (this.node.restConfigId) { - // this.swagger = this.restService.getSwaggerInfo(this.node.restConfigId); - let restConfig = this.restService.getRestConfig(this.node.restConfigId); - this.node.baseUrl = restConfig.url; - this.node.serviceName = restConfig.name; - this.node.serviceVersion = restConfig.version; - - this.swagger = restConfig.swagger; - if (this.swagger) { - this.restInterfaces = []; - for (const key of Object.keys(this.swagger.paths)) { - this.restInterfaces.push(key); - } - this.loadOperations(); - } else { - this.translate.get('WORKFLOW.MSG.SWAGGER_NOT_EXISTS').subscribe((res: string) => { - this.noticeService.error(res); - }); - } - } - } - - private loadOperations(): void { - if (this.node.path) { - const swaggerPath: any = this.swagger.paths[this.node.path]; - - this.restOperations = []; - for (const key of Object.keys(swaggerPath)) { - this.restOperations.push(key); - } - } - } - - private updateMethodInfo(): void { - if (this.node.method) { - const path: any = this.swagger.paths[this.node.path]; - const method: SwaggerMethod = path[this.node.method]; - - this.node.consumes = WorkflowUtil.deepClone(method.consumes); - this.node.produces = WorkflowUtil.deepClone(method.produces); - - let tempParameters: RestParameter[] = []; - method.parameters.forEach(param => { - let defaultType = SwaggerIn[SwaggerIn.body] === param.position ? ValueType[ValueType.object] : ValueType[ValueType.string]; - const type = param.type ? param.type : defaultType; - const nodeParam = new RestParameter(param.name, undefined, ValueSource[ValueSource.string], - type, param.position, param.schema, param.required); - tempParameters.push(WorkflowUtil.deepClone(nodeParam)); - }); - this.node.parameters = tempParameters; - - const responseParams = this.restService.getResponseParameters( - this.swagger, this.node.path, this.node.method); - this.node.responses = responseParams.map(param => WorkflowUtil.deepClone(param)); - } - } - - private setParametersByDataType(nodeDataType: NodeDataType): void { - this.node.serviceName = nodeDataType.content.serviceName; - this.node.serviceVersion = nodeDataType.content.serviceVersion; - this.node.restConfigId = this.node.serviceName; - if (this.node.serviceVersion) { - this.node.restConfigId += ('.' + this.node.serviceVersion); - } - this.node.baseUrl = nodeDataType.content.baseUrl; - this.node.path = nodeDataType.content.path; - this.node.method = nodeDataType.content.method; - this.node.consumes = nodeDataType.content.consumes; - this.node.produces = nodeDataType.content.produces; - this.definitions = nodeDataType.definitions; - if (nodeDataType.content.inputs) { - for (const key in nodeDataType.content.inputs) { - if (nodeDataType.content.inputs.hasOwnProperty(key)) { - // Set default value of dataType - const element = nodeDataType.content.inputs[key]; - let param: SwaggerBaseParameter = this.getParameterByDataType(element, key); - if (param) { - // Set exist value - let found = false; - if (this.node.parameters) { - for (let p = 0; p < this.node.parameters.length; p++) { - if (param.name === this.node.parameters[p].name) { - found = true; - let value = this.node.parameters[p].value; - let valueSource = this.node.parameters[p].valueSource; - param.value = value; - param.valueSource = valueSource; - this.node.parameters[p] = param; - break; - } - } - } else { - this.node.parameters = []; - } - if (!found) { - this.node.parameters.push(param); - } - } - } - } - } - if (nodeDataType.content.outputs) { - for (const key in nodeDataType.content.outputs) { - if (nodeDataType.content.outputs.hasOwnProperty(key)) { - // Set default value of dataType - const element = nodeDataType.content.outputs[key]; - this.dataTypeOutput.push(this.getResponseByDataType(element, key)); - } - } - } - } - - private getParameterByDataType(dataTypeParameter: SwaggerBaseParameter, name: string): SwaggerBaseParameter { - if (!dataTypeParameter.name) { - dataTypeParameter.name = name; - } - if (SwaggerIn[SwaggerIn.body] === dataTypeParameter.in) { - return this.initBodyParam(dataTypeParameter as SwaggerBodyParameter); - } else { - return this.initNormalParam(dataTypeParameter as SwaggerNormalParameter); - } - } - - private getResponseByDataType(dataTypeResponse: SwaggerResponse, name: string): SwaggerResponse { - let responseParam = dataTypeResponse; - if (!responseParam.name) { - responseParam.name = name; - } - return this.initResponseParam(responseParam); - } - - private initNormalParam(normalParam: SwaggerNormalParameter): SwaggerNormalParameter { - let normal = WorkflowUtil.deepClone(normalParam); - // Set default value of dataType - if (undefined === normalParam.show) { - normal.show = true; - } - if ('path' === normalParam.in) { - normal.required = true; - } else if (undefined === normalParam.required) { - normal.required = false; - } - if (undefined === normalParam.allowEmptyValue) { - normal.allowEmptyValue = false; - } - if (undefined === normalParam.collectionFormat) { - normal.collectionFormat = 'csv'; - } - if (undefined === normalParam.type) { - normal.type == ValueType[ValueType.string]; - } - // editable not support - return normal; - } - - private initBodyParam(bodyParam: SwaggerBodyParameter): SwaggerBodyParameter { - let body = WorkflowUtil.deepClone(bodyParam); - // Set default value of dataType - if (undefined === bodyParam.show) { - body.show = true; - } - if (undefined === bodyParam.required) { - body.required = false; - } - if (undefined === bodyParam.valueSource) { - body.valueSource = ValueSource[ValueSource.Definition]; - } - if (undefined === bodyParam.schema.type) { - body.schema.type == ValueType[ValueType.string]; - } - // $ref not support - if (bodyParam.$ref) { - console.warn('Do not support body parameter $ref.'); - } - return body; - } - - private initResponseParam(responseParam: SwaggerResponse): SwaggerResponse { - let response = responseParam; - return response; - } -} diff --git a/sdc-workflow-designer-ui/src/app/components/property/script-task/script-task.component.html b/sdc-workflow-designer-ui/src/app/components/property/script-task/script-task.component.html deleted file mode 100644 index 26183210..00000000 --- a/sdc-workflow-designer-ui/src/app/components/property/script-task/script-task.component.html +++ /dev/null @@ -1,30 +0,0 @@ - - -
- -
- - -
-
- -
- -
- -
-
\ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/components/property/script-task/script-task.component.ts b/sdc-workflow-designer-ui/src/app/components/property/script-task/script-task.component.ts deleted file mode 100644 index a0f5fd93..00000000 --- a/sdc-workflow-designer-ui/src/app/components/property/script-task/script-task.component.ts +++ /dev/null @@ -1,51 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - *******************************************************************************/ -import { Component, Input, OnInit } from '@angular/core'; - -import { ScriptTask } from "../../../model/workflow/script-task"; -import { NodeTypeService } from '../../../services/node-type.service'; - -@Component({ - selector: 'wfm-script-task', - templateUrl: 'script-task.component.html', -}) -export class ScriptTaskComponent implements OnInit { - @Input() public node: ScriptTask; - - public canChangeFormat = true; - public scriptOperations = ['JavaScript', 'Groovy']; - - constructor(private nodeTypeService: NodeTypeService) { } - - public ngOnInit() { - const nodeDataType = this.nodeTypeService.getNodeDataTypeById(this.node.typeId); - let scriptFormat = nodeDataType.content.scriptFormat; - // scriptFormat is not support, reset it as null; - if (undefined === this.scriptOperations.find(format => format == scriptFormat)) { - scriptFormat = null; - } - // Defined scriptFormat value, use it as default and can not change. - if (scriptFormat && '' != scriptFormat) { - this.canChangeFormat = false; - if (!this.node.scriptFormat || '' == this.node.scriptFormat) { - this.node.scriptFormat = scriptFormat; - this.node.script = nodeDataType.content.script; - } - } else { - // Default scriptFormat value should be 'JavaScript' - if (!this.node.scriptFormat || '' == this.node.scriptFormat) { - this.node.scriptFormat = 'JavaScript'; - this.node.script = ''; - } - } - } -} diff --git a/sdc-workflow-designer-ui/src/app/components/property/service-task/service-task.component.css b/sdc-workflow-designer-ui/src/app/components/property/service-task/service-task.component.css deleted file mode 100644 index 670c050a..00000000 --- a/sdc-workflow-designer-ui/src/app/components/property/service-task/service-task.component.css +++ /dev/null @@ -1,11 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/components/property/service-task/service-task.component.html b/sdc-workflow-designer-ui/src/app/components/property/service-task/service-task.component.html deleted file mode 100644 index d72914fd..00000000 --- a/sdc-workflow-designer-ui/src/app/components/property/service-task/service-task.component.html +++ /dev/null @@ -1,39 +0,0 @@ - -
- -
- -
-
-
- -
- -
- - -
- -
- -
- - \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/components/property/service-task/service-task.component.spec.ts b/sdc-workflow-designer-ui/src/app/components/property/service-task/service-task.component.spec.ts deleted file mode 100644 index 498adf66..00000000 --- a/sdc-workflow-designer-ui/src/app/components/property/service-task/service-task.component.spec.ts +++ /dev/null @@ -1,36 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { ServiceTaskComponent } from './service-task.component'; - -describe('ServiceTaskComponent', () => { - let component: ServiceTaskComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [ ServiceTaskComponent ] - }) - .compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(ServiceTaskComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should be created', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/sdc-workflow-designer-ui/src/app/components/property/service-task/service-task.component.ts b/sdc-workflow-designer-ui/src/app/components/property/service-task/service-task.component.ts deleted file mode 100644 index 48a4074f..00000000 --- a/sdc-workflow-designer-ui/src/app/components/property/service-task/service-task.component.ts +++ /dev/null @@ -1,97 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import { Component, Input, OnInit } from '@angular/core'; -import { ServiceTask } from '../../../model/workflow/service-task'; -import { NodeTypeService } from '../../../services/node-type.service'; -import { Parameter } from '../../../model/workflow/parameter'; -import { ValueSource } from '../../../model/value-source.enum'; - -@Component({ - selector: 'wfm-service-task', - templateUrl: './service-task.component.html', - styleUrls: ['./service-task.component.css'] -}) -export class ServiceTaskComponent implements OnInit { - @Input() public node: ServiceTask; - public canEdit = true; - public inputValueSource = [ValueSource.Variable]; - public outputValueSource = []; - constructor(private nodeTypeService: NodeTypeService) { } - - public ngOnInit() { - const nodeDataType = this.nodeTypeService.getNodeDataTypeById(this.node.typeId); - if (nodeDataType.content && nodeDataType.content.class && '' != nodeDataType.content.class) { - this.canEdit = false; - } - if (!this.node.className) { - this.node.className = ''; - if (nodeDataType.content.class) { - this.node.className = nodeDataType.content.class; - } - } - - let inputs = nodeDataType.content.inputs; - if (!this.node.inputs) { - // Set default value - this.node.inputs = []; - if (inputs) { - for (const key in inputs) { - if (inputs.hasOwnProperty(key)) { - const element = inputs[key]; - this.node.inputs.push(new Parameter(key, element.default, ValueSource[ValueSource.string], - element.type, element.required, element.show)); - } - } - } - } else { - // Load parameter value - // todo: - } - - let outputs = nodeDataType.content.outputs; - if (!this.node.outputs) { - // Set default value - this.node.outputs = []; - if (outputs) { - for (const key in outputs) { - if (outputs.hasOwnProperty(key)) { - const element = outputs[key]; - this.node.outputs.push(new Parameter(key, element.default, ValueSource[ValueSource.string], - element.type, element.required)); - } - } - } - } else { - // Load parameter value - // todo: - } - } - - public createInput(): void { - this.node.inputs.push(new Parameter('', '', ValueSource[ValueSource.string])); - } - - public deleteInput(index: number): void { - this.node.inputs.splice(index, 1); - } - public createOutput(): void { - this.node.outputs.push(new Parameter('', '', ValueSource[ValueSource.string])); - } - - public deleteOutput(index: number): void { - this.node.outputs.splice(index, 1); - } - - private getParameters() { - - } -} diff --git a/sdc-workflow-designer-ui/src/app/components/property/start-event/start-event.component.css b/sdc-workflow-designer-ui/src/app/components/property/start-event/start-event.component.css deleted file mode 100644 index ac88051d..00000000 --- a/sdc-workflow-designer-ui/src/app/components/property/start-event/start-event.component.css +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -table{ - border: 1px solid #eceeef; - width: 100%; -} - -.table-body{ - background-color: #fff; -} - -th{ - background-color: #f5f5f5; -} - -td input{ - width: 100%; -} - -td span{ - color: #ff5b55; -} - -.delete-icon{ - color: #ff5b55; - font-size: 16px; -} - -.delete-icon:hover{ - cursor: pointer; -} - -.plx-btn{ - margin-top: 10px; -} \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/components/property/start-event/start-event.component.html b/sdc-workflow-designer-ui/src/app/components/property/start-event/start-event.component.html deleted file mode 100644 index f48a725b..00000000 --- a/sdc-workflow-designer-ui/src/app/components/property/start-event/start-event.component.html +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - -
{{ 'WORKFLOW.PROCESS_VARIABLE' | translate }}{{ 'WORKFLOW.PROCESS_VARIABLE_DEFAULT' | translate }}{{ 'WORKFLOW.PROCESS_VARIABLE_OPERATION' | translate }}
- - {{param.errorMsg}} - - -   - - -   -
- - - \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/components/property/start-event/start-event.component.ts b/sdc-workflow-designer-ui/src/app/components/property/start-event/start-event.component.ts deleted file mode 100644 index 0f721242..00000000 --- a/sdc-workflow-designer-ui/src/app/components/property/start-event/start-event.component.ts +++ /dev/null @@ -1,68 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - *******************************************************************************/ -import { Component, Input, OnInit } from '@angular/core'; -import { Subscription } from 'rxjs/Subscription'; - -import { ValueSource } from '../../../model/value-source.enum'; -import { Parameter } from '../../../model/workflow/parameter'; -import { StartEvent } from '../../../model/workflow/start-event'; -import { BroadcastService } from '../../../services/broadcast.service'; -import { WorkflowUtil } from '../../../util/workflow-util'; -import { TranslateService } from '@ngx-translate/core'; - -@Component({ - selector: 'wfm-start-event', - styleUrls: ['./start-event.component.css'], - templateUrl: 'start-event.component.html', -}) -export class StartEventComponent implements OnInit { - @Input() public node: StartEvent; - public sources: ValueSource[] = [ValueSource.string]; - - constructor(private translate: TranslateService) { } - - ngOnInit() { } - - public create(): void { - let parameter = new Parameter('', '', ValueSource[ValueSource.string]); - this.node.parameters.push(parameter); - } - - public delete(index: number): void { - this.node.parameters.splice(index, 1); - } - - public checkKey(newName: string, index: number): void { - this.node.parameters[index].name = newName; - this.node.parameters.forEach(parameter => { - parameter.errorMsg = ''; - }); - if (!newName) { - this.translate.get('WORKFLOW.MSG.VARIABLE_EMPTY').subscribe((res: string) => { - this.node.parameters[index].errorMsg = res; - }); - } - this.node.parameters.forEach((parameter, i) => { - if (i + 1 < this.node.parameters.length) { - for (let j = i + 1; j < this.node.parameters.length; j++) { - let element = this.node.parameters[j]; - if (element.name && parameter.name === element.name) { - this.translate.get('WORKFLOW.MSG.VARIABLE_SAME').subscribe((res: string) => { - parameter.errorMsg = res; - element.errorMsg = res; - }); - } - } - } - }); - } -} diff --git a/sdc-workflow-designer-ui/src/app/components/sequence-flow/sequence-flow.component.css b/sdc-workflow-designer-ui/src/app/components/sequence-flow/sequence-flow.component.css deleted file mode 100644 index a2d481d4..00000000 --- a/sdc-workflow-designer-ui/src/app/components/sequence-flow/sequence-flow.component.css +++ /dev/null @@ -1,43 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -.wm-sequence-flow-wrapper { - background-color: white; - position: fixed; - width: 500px; - height: 100%; - border-left: 1px solid #00aaff; - z-index: 2000; - right: 0; - top: 0; - bottom: 0; - padding-left: 20px; - margin-bottom: 0; - padding-right: 20px; - padding-top: 40px; - -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, 0.5); - box-shadow: 0 0 6px rgba(0, 0, 0, 0.5); - border-radius: 0; - overflow-y: scroll; -} - -.edit { - display: none; -} - -.editing .view { - display: none; -} - -.editing .edit { - display: block; -} diff --git a/sdc-workflow-designer-ui/src/app/components/sequence-flow/sequence-flow.component.html b/sdc-workflow-designer-ui/src/app/components/sequence-flow/sequence-flow.component.html deleted file mode 100644 index e9d4d22f..00000000 --- a/sdc-workflow-designer-ui/src/app/components/sequence-flow/sequence-flow.component.html +++ /dev/null @@ -1,52 +0,0 @@ - - -
-
-
-
- -
-
- -
- -
- -
-
- - - -
- -
- -
-
-
\ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/components/sequence-flow/sequence-flow.component.ts b/sdc-workflow-designer-ui/src/app/components/sequence-flow/sequence-flow.component.ts deleted file mode 100644 index 55d051f2..00000000 --- a/sdc-workflow-designer-ui/src/app/components/sequence-flow/sequence-flow.component.ts +++ /dev/null @@ -1,76 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -import { AfterViewInit, Component } from '@angular/core'; -import { TreeNode } from 'primeng/primeng'; - -import { SequenceFlow } from '../../model/workflow/sequence-flow'; -import { BroadcastService } from '../../services/broadcast.service'; -import { JsPlumbService } from '../../services/jsplumb.service'; -import { ModelService } from '../../services/model.service'; -import { NodeType } from '../../model/workflow/node-type.enum'; - -/** - * property component presents information of a workflow node. - * the presented information can be edit in this component. - * it may load information dynamically. the content may be different for different node type. - */ -@Component({ - selector: 'wfm-sequence-flow', - styleUrls: ['./sequence-flow.component.css'], - templateUrl: 'sequence-flow.component.html', -}) -export class SequenceFlowComponent implements AfterViewInit { - public sequenceFlow: SequenceFlow; - public show = false; - - constructor(private broadcastService: BroadcastService, - private modelService: ModelService, - private jsPlumbService: JsPlumbService) { - - } - - public ngAfterViewInit() { - this.broadcastService.showProperty$.subscribe(element => { - if (element && !this.modelService.isNode(element)) { - this.sequenceFlow = element as SequenceFlow; - this.show = true; - } else { - this.show = false; - } - }); - } - - public showCondition(sourceRef: string): boolean { - if (sourceRef) { - let node = this.modelService.getNodeMap().get(sourceRef); - if (node && (NodeType[NodeType.parallelGateway] === node.type || NodeType[NodeType.exclusiveGateway] === node.type)) { - return true; - } else { - return false; - } - } else { - return false; - } - } - - public nameChanged(name: string) { - this.sequenceFlow.name = name; - this.jsPlumbService.setLabel(this.sequenceFlow.sourceRef, this.sequenceFlow.targetRef, name); - } - - public delete() { - this.show = false; - this.modelService.deleteConnection(this.sequenceFlow.sourceRef, this.sequenceFlow.targetRef); - this.jsPlumbService.deleteConnect(this.sequenceFlow.sourceRef, this.sequenceFlow.targetRef); - } -} diff --git a/sdc-workflow-designer-ui/src/app/components/toolbar/toolbar-node/toolbar-node.component.html b/sdc-workflow-designer-ui/src/app/components/toolbar/toolbar-node/toolbar-node.component.html deleted file mode 100644 index 790273d7..00000000 --- a/sdc-workflow-designer-ui/src/app/components/toolbar/toolbar-node/toolbar-node.component.html +++ /dev/null @@ -1,28 +0,0 @@ - - -
- - - {{ getDisplayName(category) }} -
-
-
- - {{ getDisplayName(nodeType) }} -
-
-
\ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/components/toolbar/toolbar-node/toolbar-node.component.ts b/sdc-workflow-designer-ui/src/app/components/toolbar/toolbar-node/toolbar-node.component.ts deleted file mode 100644 index 3e82687e..00000000 --- a/sdc-workflow-designer-ui/src/app/components/toolbar/toolbar-node/toolbar-node.component.ts +++ /dev/null @@ -1,128 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import { Component, OnInit } from "@angular/core"; -import { TranslateService } from "@ngx-translate/core"; -import { NodeTypeService } from "../../../services/node-type.service"; -import { DisplayInfoService } from "../../../services/display-info.service"; -import { NodeDataType } from "../../../model/node-data-type/node-data-type"; -import { NodeType } from "../../../model/workflow/node-type.enum"; -import { JsPlumbService } from "../../../services/jsplumb.service"; -import { SettingService } from "../../../services/setting.service"; -import { WorkflowUtil } from "../../../util/workflow-util"; - -@Component({ - selector: 'wfm-toolbar-node', - templateUrl: 'toolbar-node.component.html', - styleUrls: ['../toolbar.component.css'] -}) -export class ToolbarNodeComponent implements OnInit { - public nodeCategories: any[] = []; - public nodeTypeEnum = NodeType; - public supportRest: boolean; - - private needInitButton = false; - - constructor(private nodeTypeService: NodeTypeService, - private displayInfoService: DisplayInfoService, - private jsPlumbService: JsPlumbService, - private settingService: SettingService, - public translate: TranslateService) { - - } - - public ngOnInit(): void { - this.settingService.getSetting().subscribe(setting => { - this.initSetting(setting); - this.displayInfoService.getDisplayInfo().subscribe(resp => { - this.initNodeCategories(resp); - this.needInitButton = true; - }); - }); - } - - public ngAfterViewChecked(): void { - if (this.needInitButton) { - console.log('initJsPlumb'); - this.initJsPlumb(); - this.needInitButton = false; - } - } - - private initSetting(setting: any): void { - this.supportRest = setting.supportRestNode; - } - - private initJsPlumb(): void { - this.jsPlumbService.buttonDraggable(); - this.jsPlumbService.buttonDroppable(); - } - - private initNodeCategories(displayInfo: any): void { - const defaultCategory = this.insertDefaultCategory(); - - const categoryData = displayInfo['categoryData'] || {}; - for (let key in categoryData) { - const group = { - id: key, - displayName: categoryData[key].displayName, - collapse: categoryData[key].collapse || false, - nodes: [] - }; - this.nodeCategories.push(group); - } - - const defaultNodes = displayInfo['nodes'] || {}; - for (let nodeId in defaultNodes) { - const nodeType = this.nodeTypeService.getNodeDataTypeById(nodeId); - const node = defaultNodes[nodeId]; - if (node && node.category) { - const nodeCategory = this.nodeCategories.find(category => category.id === node.category); - if (nodeCategory) { - nodeCategory.nodes.push(nodeType); - } else { - defaultCategory.nodes.push(nodeType); - } - } else { - defaultCategory.nodes.push(nodeType); - } - } - } - - private insertDefaultCategory(): any { - this.nodeCategories = []; - const defaultCategory = { - id: 'default', - displayName: { - zh_CN: '任务', - en_US: 'Task' - }, - collapse: true, - nodes: [] - }; - this.nodeCategories.push(defaultCategory); - - return defaultCategory; - } - - public getDisplayName(data: any): string { - let language = 'zh_CN'; - if (this.translate.currentLang.indexOf('en') > -1) { - language = 'en_US'; - } - return data.displayName ? data.displayName[language] : data.id; - } - - public getImageUrl(nodeType: NodeDataType): string { - const name = nodeType && nodeType.icon ? nodeType.icon.name : ''; - return WorkflowUtil.GetIconFullPath(name); - } -} \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/components/toolbar/toolbar.component.css b/sdc-workflow-designer-ui/src/app/components/toolbar/toolbar.component.css deleted file mode 100644 index 6b0d5436..00000000 --- a/sdc-workflow-designer-ui/src/app/components/toolbar/toolbar.component.css +++ /dev/null @@ -1,69 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -.toolbar-head { - color: #404040; - font-size: 14px; -} - -.toolbar-head:hover { - cursor: pointer; -} - -.fold-icon { - width: 15px; - font-size: 8px; - color: #00abff; -} - -.item { - width: 50px; - height: 50px; - text-align: center; - float: left; - margin-left: 6px; - margin-bottom: 10px; -} - -.item:hover { - cursor: pointer; -} - -.item svg { - width: 24px; - height: 24px; - margin: 4px 13px; - display: block; - /* fill: #A9B2BA; */ - fill: #00ABFF; -} - -.item img { - width: 24px; - height: 24px; - margin: 4px 13px; - display: block; -} - -.item span { - font-size: 12px; - color: #595959; - display: block; -} - -.getway { - padding-top: 5px; -} - -.getway div { - width: 30px !important; - height: 30px !important; -} \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/components/toolbar/toolbar.component.html b/sdc-workflow-designer-ui/src/app/components/toolbar/toolbar.component.html deleted file mode 100644 index b8e0ae7a..00000000 --- a/sdc-workflow-designer-ui/src/app/components/toolbar/toolbar.component.html +++ /dev/null @@ -1,135 +0,0 @@ - - - -
- - - {{ 'WORKFLOW.BPMN_EVENT' | translate }} -
-
- - - - - - {{ 'WORKFLOW.START_EVENT' | translate }} -
-
- - - - - - {{ 'WORKFLOW.END_EVENT' | translate }} -
-
- - - - - - - {{ 'WORKFLOW.TIMER_EVENT' | translate }} -
- -
- -
- - - {{ 'WORKFLOW.BPMN_GETWAY' | translate }} -
-
- - - - - - - {{ 'WORKFLOW.EXCLUSIVE_GATEWAY' | translate }} -
-
- - - - - - - {{ 'WORKFLOW.PARALLEL_GATEWAY' | translate }} -
-
- - -
diff --git a/sdc-workflow-designer-ui/src/app/components/toolbar/toolbar.component.ts b/sdc-workflow-designer-ui/src/app/components/toolbar/toolbar.component.ts deleted file mode 100644 index bfc45094..00000000 --- a/sdc-workflow-designer-ui/src/app/components/toolbar/toolbar.component.ts +++ /dev/null @@ -1,30 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -import { AfterViewChecked, Component, OnInit } from '@angular/core'; - -import { SettingService } from '../../services/setting.service'; -import { BroadcastService } from '../../services/broadcast.service'; -import { JsPlumbService } from '../../services/jsplumb.service'; - -/** - * toolbar component contains some basic operations(save) and all of the supported workflow nodes. - * The supported nodes can be dragged to container component. which will add a new node to the workflow. - */ -@Component({ - selector: 'wfm-toolbar', - templateUrl: 'toolbar.component.html', - styleUrls: ['./toolbar.component.css'] -}) -export class ToolbarComponent { - -} diff --git a/sdc-workflow-designer-ui/src/app/directive/resizable/resizable.directive.ts b/sdc-workflow-designer-ui/src/app/directive/resizable/resizable.directive.ts deleted file mode 100644 index 9f291bc7..00000000 --- a/sdc-workflow-designer-ui/src/app/directive/resizable/resizable.directive.ts +++ /dev/null @@ -1,42 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -import { AfterViewInit, Directive, ElementRef } from '@angular/core'; -import * as $ from 'jquery'; - -import { JsPlumbService } from '../../services/jsplumb.service'; -import { ModelService } from '../../services/model.service'; - -@Directive({ selector: '[wfmResizable]' }) -export class ResizableDirective implements AfterViewInit { - - constructor(private el: ElementRef, - private jsPlumbService: JsPlumbService, - private planModelService: ModelService) { - } - - public ngAfterViewInit() { - console.log('init resizble.'); - - $(this.el.nativeElement).resizable({ - handles: 'all', - resize: (event, ui) => { - const element = ui.helper[0]; - this.planModelService.updatePosition(element.id, - element.offsetLeft, element.offsetTop, element.offsetWidth, element.offsetHeight - 12); - this.jsPlumbService.resizeParent(element, element.parentNode); - const node = this.planModelService.getNodeMap().get(element.id); - this.jsPlumbService.jsplumbInstanceMap.get(node.parentId).revalidate(element.id); - }, - }); - } -} diff --git a/sdc-workflow-designer-ui/src/app/model/model.ts b/sdc-workflow-designer-ui/src/app/model/model.ts deleted file mode 100644 index bd3c2c64..00000000 --- a/sdc-workflow-designer-ui/src/app/model/model.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import { WorkflowNode } from './workflow/workflow-node'; -export class Model { - public nodes: WorkflowNode[] = []; - public configs: any = {}; -} diff --git a/sdc-workflow-designer-ui/src/app/model/node-data-type/display-name.ts b/sdc-workflow-designer-ui/src/app/model/node-data-type/display-name.ts deleted file mode 100644 index df624ebc..00000000 --- a/sdc-workflow-designer-ui/src/app/model/node-data-type/display-name.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Copyright (c) 2018 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -export class DisplayName { - public zh_CN: string; - public en_US: string; -} \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/model/node-data-type/icon.ts b/sdc-workflow-designer-ui/src/app/model/node-data-type/icon.ts deleted file mode 100644 index 1bb47298..00000000 --- a/sdc-workflow-designer-ui/src/app/model/node-data-type/icon.ts +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Copyright (c) 2018 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -export class Icon { - public name: string; - public width: number; - public height: number; -} \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/model/node-data-type/node-data-type.ts b/sdc-workflow-designer-ui/src/app/model/node-data-type/node-data-type.ts deleted file mode 100644 index 64dc0e96..00000000 --- a/sdc-workflow-designer-ui/src/app/model/node-data-type/node-data-type.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Copyright (c) 2018 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import { DisplayName } from "./display-name"; -import { Icon } from "./icon"; -import { SwaggerSchema } from "../workflow/swagger/swagger-schema"; - -export interface NodeDataType { - id: string; - displayName?: DisplayName; - description?: DisplayName; - type: string; - icon: Icon; - content: any; - definitions: any; -} \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/model/notice-type.enum.ts b/sdc-workflow-designer-ui/src/app/model/notice-type.enum.ts deleted file mode 100644 index 417f79cc..00000000 --- a/sdc-workflow-designer-ui/src/app/model/notice-type.enum.ts +++ /dev/null @@ -1,14 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - *******************************************************************************/ -export enum NoticeType { - success, info, warning, danger -} diff --git a/sdc-workflow-designer-ui/src/app/model/notice.ts b/sdc-workflow-designer-ui/src/app/model/notice.ts deleted file mode 100644 index 7f49aafb..00000000 --- a/sdc-workflow-designer-ui/src/app/model/notice.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import { NoticeType } from './notice-type.enum'; - -export class Notice { - constructor(public type: NoticeType, - public content: string, - public timeout: number = 0) { - } -} diff --git a/sdc-workflow-designer-ui/src/app/model/plan-model.ts b/sdc-workflow-designer-ui/src/app/model/plan-model.ts deleted file mode 100644 index afe05f72..00000000 --- a/sdc-workflow-designer-ui/src/app/model/plan-model.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Copyright (c) 2017-2018 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import { WorkflowNode } from './workflow/workflow-node'; -import { Model } from './model'; - -export class PlanModel { - public id: string; - public uuid: string; - public operationId: string; - public name: string; - public version: string; - public description: string; - public scene: string; - public data = new Model(); -} diff --git a/sdc-workflow-designer-ui/src/app/model/plan-treeview-item.ts b/sdc-workflow-designer-ui/src/app/model/plan-treeview-item.ts deleted file mode 100644 index aa3f81b5..00000000 --- a/sdc-workflow-designer-ui/src/app/model/plan-treeview-item.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -export class PlanTreeviewItem { - constructor(public name: string, - public value: string, - public children: PlanTreeviewItem[], - public canSelect = true) { - } -} diff --git a/sdc-workflow-designer-ui/src/app/model/rest-config.ts b/sdc-workflow-designer-ui/src/app/model/rest-config.ts deleted file mode 100644 index cace1c48..00000000 --- a/sdc-workflow-designer-ui/src/app/model/rest-config.ts +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import { Swagger } from './swagger'; - -export class RestConfig { - constructor(public id: string, public name: string, public version: string, public url: string, - public swagger?: Swagger) { } -} diff --git a/sdc-workflow-designer-ui/src/app/model/swagger-setting.ts b/sdc-workflow-designer-ui/src/app/model/swagger-setting.ts deleted file mode 100644 index 41e30fd1..00000000 --- a/sdc-workflow-designer-ui/src/app/model/swagger-setting.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import { Swagger } from './swagger'; - -export class SwaggerSetting { - constructor(public name: string, public version: string, public url: string, public path: string, - public swagger?: Swagger) { - } -} diff --git a/sdc-workflow-designer-ui/src/app/model/swagger.ts b/sdc-workflow-designer-ui/src/app/model/swagger.ts deleted file mode 100644 index 18867086..00000000 --- a/sdc-workflow-designer-ui/src/app/model/swagger.ts +++ /dev/null @@ -1,259 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - *******************************************************************************/ - -export class SwaggerParameterClass { - public description: string; - public position: string; // in path, query, header, body, form - public name: string; - public required: boolean; - public type: string; - public enum: any[]; - - // if position is body - public schema: SwaggerSchemaObject; - - constructor(options: any) { - this.description = options.description; - this.position = options.in; - this.name = options.name; - this.required = options.required; - this.type = options.type; - this.enum = options.enum; - if (this.position === 'body') { - this.schema = getSchemaObject(options.schema); - } - } -} - -export class SwaggerHeader { - public description: string; - - constructor(options: any) { - this.description = options.description; - } -} - -export class SwaggerResponseClass { - public description: string; - public schema: SwaggerSchemaObject; - public headers: any; - - constructor({description, schema, headers}) { - this.description = description; - - if (schema) { - this.schema = getSchemaObject(schema); - } - - if (headers) { - this.headers = {}; - for (const key in headers) { - this.headers[key] = new SwaggerHeader(headers[key]); - } - } - } -} - -export class SwaggerMethod { - public consumes: string[]; - public description: string; - public operationId: string; - public parameters: SwaggerParameterClass[]; - public produces: string[]; - public responses: any; - public summary: string; - public tags: string[]; - - constructor({ consumes, description, operationId, parameters, produces, responses, summary, tags }) { - this.consumes = consumes; - this.description = description; - this.operationId = operationId; - this.parameters = parameters.map(param => new SwaggerParameterClass(param)); - this.produces = produces; - this.responses = this.initResponses(responses); - this.summary = summary; - this.tags = tags; - } - - private initResponses(responses: any): any { - const responseObjs = {}; - for (const key in responses) { - responseObjs[key] = new SwaggerResponseClass(responses[key]); - } - - return responseObjs; - } -} - -export class SwaggerInfo { - public title: string; - public version: string; - - constructor({ title, version }) { - this.title = title; - this.version = version; - } -} - -export class SwaggerTag { - public name: string; - - constructor({name}) { - this.name = name; - } -} - -export class Swagger { - public basePath: string; - public definitions: any; - public info: SwaggerInfo; - public paths: any; - public swagger: string; - public tags: SwaggerTag[]; - - constructor({basePath, definitions, info, paths, swagger, tags}) { - this.basePath = basePath; - this.definitions = this.initDefinitions(definitions); - this.info = new SwaggerInfo(info); - this.paths = this.initPaths(paths); - this.swagger = swagger; - if(tags) { - this.tags = tags.map(tag => new SwaggerTag(tag)); - } - } - - private initPaths(paths: any): any { - const pathObjs = {}; - for (const key in paths) { - pathObjs[key] = this.initPath(paths[key]); - } - return pathObjs; - } - - private initPath(path: any): any { - const pathObj = {}; - - for (const key in path) { - pathObj[key] = new SwaggerMethod(path[key]); - } - - return pathObj; - } - - private initDefinitions(definitions: any): any { - const definitionObjs = {}; - for (const key in definitions) { - definitionObjs[key] = getSchemaObject(definitions[key]); - } - return definitionObjs; - } -} - -export function getSchemaObject(definition: any) { - if (definition.$ref) { - return new SwaggerReferenceObject(definition); - } else if (definition.type === 'array') { - return new SwaggerModelArray(definition); - } else if (definition.type === 'object') { - if (definition.properties) { - return new SwaggerModelSimple(definition); - } else if (definition.additionalProperties) { - return new SwaggerModelMap(definition); - } else { - return new SwaggerModel(); - } - } else { - return new SwaggerPrimitiveObject(definition); - } -} - -export class SwaggerSchemaObject { - -} - -export class SwaggerReferenceObject extends SwaggerSchemaObject { - public $ref: string; - - constructor({ $ref }) { - super(); - this.$ref = $ref; - } -} - -export class SwaggerPrimitiveObject extends SwaggerSchemaObject { - public collectionFormat: string; - public default: any; - public enumValues: any[]; - public exclusiveMaximum: boolean; - public exclusiveMinimum: boolean; - public format: string; - public maximum: number; - public maxLength: number; - public minimum: number; - public minLength: number; - public multipleOf: number; - public pattern: string; - public type: string; - - constructor(options: any) { - super(); - this.collectionFormat = options.collectionFormat; - this.default = options.default; - this.enumValues = options.enum; - this.exclusiveMaximum = options.exclusiveMaximum; - this.exclusiveMinimum = options.exclusiveMinimum; - this.format = options.format; - this.maximum = options.maximum; - this.maxLength = options.maxLength; - this.minimum = options.minimum; - this.minLength = options.minLength; - this.multipleOf = options.multipleOf; - this.pattern = options.pattern; - this.type = options.type; - } -} - -export class SwaggerModel extends SwaggerSchemaObject { - public type = 'object'; -} - -export class SwaggerModelSimple extends SwaggerModel { - public properties = {}; - public required = []; - - constructor(options: any) { - super(); - this.required = options.required; - for (const key in options.properties) { - this.properties[key] = getSchemaObject(options.properties[key]); - } - } -} - -export class SwaggerModelMap extends SwaggerModel { - public additionalProperties: SwaggerSchemaObject; - - constructor(options: any) { - super(); - this.additionalProperties = getSchemaObject(options.additionalProperties); - } -} - -export class SwaggerModelArray extends SwaggerSchemaObject { - public type = 'array'; - public items: SwaggerSchemaObject; - - constructor(options: any) { - super(); - this.items = getSchemaObject(options.items); - } -} diff --git a/sdc-workflow-designer-ui/src/app/model/topology/node-template.ts b/sdc-workflow-designer-ui/src/app/model/topology/node-template.ts deleted file mode 100644 index 07ebc42e..00000000 --- a/sdc-workflow-designer-ui/src/app/model/topology/node-template.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -export class NodeTemplate { - public id: string; - public name: string; - public type: string; - public namespace: string; -} diff --git a/sdc-workflow-designer-ui/src/app/model/value-object.ts b/sdc-workflow-designer-ui/src/app/model/value-object.ts deleted file mode 100644 index 0a079a8d..00000000 --- a/sdc-workflow-designer-ui/src/app/model/value-object.ts +++ /dev/null @@ -1,15 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - *******************************************************************************/ -export interface ValueObject { - value?: any; - valueSource: string; -} diff --git a/sdc-workflow-designer-ui/src/app/model/value-source.enum.ts b/sdc-workflow-designer-ui/src/app/model/value-source.enum.ts deleted file mode 100644 index 720185a5..00000000 --- a/sdc-workflow-designer-ui/src/app/model/value-source.enum.ts +++ /dev/null @@ -1,22 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - *******************************************************************************/ - -export enum ValueSource { - integer, - number, - boolean, - string, - Plan, - Topology, - Variable, - Definition, -} diff --git a/sdc-workflow-designer-ui/src/app/model/value-type.enum.ts b/sdc-workflow-designer-ui/src/app/model/value-type.enum.ts deleted file mode 100644 index d3056968..00000000 --- a/sdc-workflow-designer-ui/src/app/model/value-type.enum.ts +++ /dev/null @@ -1,20 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - *******************************************************************************/ - -export enum ValueType { - integer, - number, - boolean, - string, - array, - object -} diff --git a/sdc-workflow-designer-ui/src/app/model/workflow/end-event.ts b/sdc-workflow-designer-ui/src/app/model/workflow/end-event.ts deleted file mode 100644 index e3fbcad3..00000000 --- a/sdc-workflow-designer-ui/src/app/model/workflow/end-event.ts +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import {WorkflowNode} from './workflow-node'; - -export interface EndEvent extends WorkflowNode { -} diff --git a/sdc-workflow-designer-ui/src/app/model/workflow/error-event.ts b/sdc-workflow-designer-ui/src/app/model/workflow/error-event.ts deleted file mode 100644 index 96ba0e7d..00000000 --- a/sdc-workflow-designer-ui/src/app/model/workflow/error-event.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import { ValueSource } from '../value-source.enum'; -import { Parameter } from './parameter'; -import { WorkflowNode } from './workflow-node'; - -export interface ErrorEvent extends WorkflowNode { - parameter?: Parameter; -} diff --git a/sdc-workflow-designer-ui/src/app/model/workflow/exclusive-gateway.ts b/sdc-workflow-designer-ui/src/app/model/workflow/exclusive-gateway.ts deleted file mode 100644 index 6db7bcfd..00000000 --- a/sdc-workflow-designer-ui/src/app/model/workflow/exclusive-gateway.ts +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import {WorkflowNode} from './workflow-node'; - -export interface ExclusiveGateway extends WorkflowNode { -} diff --git a/sdc-workflow-designer-ui/src/app/model/workflow/intermediate-catch-event.ts b/sdc-workflow-designer-ui/src/app/model/workflow/intermediate-catch-event.ts deleted file mode 100644 index 653e627f..00000000 --- a/sdc-workflow-designer-ui/src/app/model/workflow/intermediate-catch-event.ts +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import { TimerEventDefinition, TimerEventDefinitionType } from './timer-event-definition'; -import { WorkflowNode } from './workflow-node'; - -export interface IntermediateCatchEvent extends WorkflowNode { - timerEventDefinition?: TimerEventDefinition; -} diff --git a/sdc-workflow-designer-ui/src/app/model/workflow/node-type.enum.ts b/sdc-workflow-designer-ui/src/app/model/workflow/node-type.enum.ts deleted file mode 100644 index c02816e8..00000000 --- a/sdc-workflow-designer-ui/src/app/model/workflow/node-type.enum.ts +++ /dev/null @@ -1,27 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - *******************************************************************************/ - -export enum NodeType { - startEvent, - endEvent, - errorStartEvent, - errorEndEvent, - intermediateCatchEvent, - toscaNodeManagementTask, - serviceTask, - scriptTask, - restTask, - exclusiveGateway, - parallelGateway, - subProcess, - callActivity -} diff --git a/sdc-workflow-designer-ui/src/app/model/workflow/parameter.ts b/sdc-workflow-designer-ui/src/app/model/workflow/parameter.ts deleted file mode 100644 index 7a904005..00000000 --- a/sdc-workflow-designer-ui/src/app/model/workflow/parameter.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -import { ValueSource } from '../value-source.enum'; -import { ValueType } from '../value-type.enum'; - -export class Parameter { - constructor(public name: string, public value: any, public valueSource: string, - public type = ValueType[ValueType.string], public required = false, - public show = true, public errorMsg = '') { - } -} diff --git a/sdc-workflow-designer-ui/src/app/model/workflow/position.ts b/sdc-workflow-designer-ui/src/app/model/workflow/position.ts deleted file mode 100644 index 8ec4ed56..00000000 --- a/sdc-workflow-designer-ui/src/app/model/workflow/position.ts +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -export class Position { - constructor(public left: number, public top: number, public width = 56, public height = 56) { } -} diff --git a/sdc-workflow-designer-ui/src/app/model/workflow/rest-parameter.ts b/sdc-workflow-designer-ui/src/app/model/workflow/rest-parameter.ts deleted file mode 100644 index a7e4eeea..00000000 --- a/sdc-workflow-designer-ui/src/app/model/workflow/rest-parameter.ts +++ /dev/null @@ -1,20 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import { Parameter } from './parameter'; -import { WorkflowNode } from './workflow-node'; - -export class RestParameter extends Parameter { - constructor(name: string, value: string, valueSource: string, type: string, - public position: string, public schema: any, public required: boolean) { - super(name, value, valueSource, type, required); - } -} diff --git a/sdc-workflow-designer-ui/src/app/model/workflow/rest-task.ts b/sdc-workflow-designer-ui/src/app/model/workflow/rest-task.ts deleted file mode 100644 index 1235a479..00000000 --- a/sdc-workflow-designer-ui/src/app/model/workflow/rest-task.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import { SwaggerResponseClass } from "../swagger"; -import { RestParameter } from './rest-parameter'; -import { WorkflowNode } from './workflow-node'; -import { SwaggerBaseParameter } from "./swagger/swagger-base-parameter"; - -export interface RestTask extends WorkflowNode { - restConfigId?: string; - baseUrl?: string; - serviceName?: string; - serviceVersion?: string; - path?: string; - method?: string; - operationId?: string; - produces?: string[]; // do not support non json MIME types, maybe use this later. - consumes?: string[]; - parameters?: any[]; - responses?: SwaggerResponseClass[]; -} diff --git a/sdc-workflow-designer-ui/src/app/model/workflow/script-task.ts b/sdc-workflow-designer-ui/src/app/model/workflow/script-task.ts deleted file mode 100644 index 75d86f5a..00000000 --- a/sdc-workflow-designer-ui/src/app/model/workflow/script-task.ts +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import { WorkflowNode } from './workflow-node'; - -export interface ScriptTask extends WorkflowNode { - scriptFormat: string; - script: string; -} diff --git a/sdc-workflow-designer-ui/src/app/model/workflow/sequence-flow.ts b/sdc-workflow-designer-ui/src/app/model/workflow/sequence-flow.ts deleted file mode 100644 index 53c09a31..00000000 --- a/sdc-workflow-designer-ui/src/app/model/workflow/sequence-flow.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import { WorkflowElement } from './workflow-element'; -import { Position } from './position'; - -export interface SequenceFlow extends WorkflowElement { - sourceRef: string; - // sourcePosition: Position; - targetRef: string; - // targetPosition: Position; - name?: string; - condition?: string; -} diff --git a/sdc-workflow-designer-ui/src/app/model/workflow/service-task.ts b/sdc-workflow-designer-ui/src/app/model/workflow/service-task.ts deleted file mode 100644 index c0ce6412..00000000 --- a/sdc-workflow-designer-ui/src/app/model/workflow/service-task.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import { WorkflowNode } from './workflow-node'; -import { Parameter } from './parameter'; - -export interface ServiceTask extends WorkflowNode { - className: string; - inputs: Parameter[]; - outputs: Parameter[]; -} diff --git a/sdc-workflow-designer-ui/src/app/model/workflow/start-event.ts b/sdc-workflow-designer-ui/src/app/model/workflow/start-event.ts deleted file mode 100644 index a8f6444c..00000000 --- a/sdc-workflow-designer-ui/src/app/model/workflow/start-event.ts +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import { Parameter } from './parameter'; -import { WorkflowNode } from './workflow-node'; - -export interface StartEvent extends WorkflowNode { - parameters?: Parameter[]; -} diff --git a/sdc-workflow-designer-ui/src/app/model/workflow/sub-process.ts b/sdc-workflow-designer-ui/src/app/model/workflow/sub-process.ts deleted file mode 100644 index e000ed25..00000000 --- a/sdc-workflow-designer-ui/src/app/model/workflow/sub-process.ts +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import { WorkflowNode } from './workflow-node'; -export interface SubProcess extends WorkflowNode { - children?: WorkflowNode[]; -} diff --git a/sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-base-parameter.ts b/sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-base-parameter.ts deleted file mode 100644 index 82103458..00000000 --- a/sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-base-parameter.ts +++ /dev/null @@ -1,20 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2018 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - *******************************************************************************/ -export interface SwaggerBaseParameter { - name: string; - in: string; //SwaggerIn - description?: string; - required?: boolean;//default value is false - show?: boolean;//default value is true; - value?: string; - valueSource?: string; -} diff --git a/sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-body-parameter.ts b/sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-body-parameter.ts deleted file mode 100644 index f676b83d..00000000 --- a/sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-body-parameter.ts +++ /dev/null @@ -1,18 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2018 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - *******************************************************************************/ -import { SwaggerBaseParameter } from "./swagger-base-parameter"; -import { SwaggerSchema } from "./swagger-schema"; - -export interface SwaggerBodyParameter extends SwaggerBaseParameter { - $ref: string; - schema: SwaggerSchema; -} diff --git a/sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-collection-format.enum.ts b/sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-collection-format.enum.ts deleted file mode 100644 index f8df2536..00000000 --- a/sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-collection-format.enum.ts +++ /dev/null @@ -1,17 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2018 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - *******************************************************************************/ -export enum SwaggerCollectionFormat { - csv,//comma separated values foo,bar. - ssv,//space separated values foo bar. - tsv,//tab separated values foo\tbar. - pipes//pipe separated values foo|bar. -} diff --git a/sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-data-format.enum.ts b/sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-data-format.enum.ts deleted file mode 100644 index d8eaaa76..00000000 --- a/sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-data-format.enum.ts +++ /dev/null @@ -1,22 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2018 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - *******************************************************************************/ -export enum SwaggerDataFormat { - int32, - int64, - float, - double, - byte, - binary, - date, - 'date-time', - password -} diff --git a/sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-data-type.enum.ts b/sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-data-type.enum.ts deleted file mode 100644 index 54634901..00000000 --- a/sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-data-type.enum.ts +++ /dev/null @@ -1,14 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2018 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - *******************************************************************************/ -export enum SwaggerDataType { - integer, number, string, boolean -} diff --git a/sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-in.enum.ts b/sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-in.enum.ts deleted file mode 100644 index dc695da6..00000000 --- a/sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-in.enum.ts +++ /dev/null @@ -1,14 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2018 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - *******************************************************************************/ -export enum SwaggerIn { - query, header, path, formData, body -} diff --git a/sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-items.ts b/sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-items.ts deleted file mode 100644 index 0661d034..00000000 --- a/sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-items.ts +++ /dev/null @@ -1,31 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2018 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - *******************************************************************************/ -export interface SwaggerItems { - $ref?: string; - type?: string; - format?: string; - items?: SwaggerItems; - collectionFormat?: string;//Default value is csv - default?: any; - maximum?: number; - exclusiveMaximum?: boolean; - minimum?: number; - exclusiveMinimum?: boolean; - maxLength?: number;//integer - minLength?: number;//integer - pattern?: string; - maxItems?: number;//integer - minItems?: number;//integer - uniqueItems?: boolean; - enum?: any[]; - multipleOf?: number; -} diff --git a/sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-normal-parameter.ts b/sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-normal-parameter.ts deleted file mode 100644 index 3c28803b..00000000 --- a/sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-normal-parameter.ts +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2018 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - *******************************************************************************/ -import { SwaggerBaseParameter } from "./swagger-base-parameter"; -import { SwaggerItems } from "./swagger-items"; - -export interface SwaggerNormalParameter extends SwaggerBaseParameter { - type: string;//"string", "number", "integer", "boolean", "array" or "file" - format?: string;//https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#dataTypeFormat - allowEmptyValue?: boolean; - items?: SwaggerItems; - collectionFormat?: string; - default?: any; - maximum?: number; - exclusiveMaximum?: boolean; - minimum?: number; - exclusiveMinimum?: boolean; - maxLength?: number;//integer; - minLength?: number;//integer; - pattern?: string;//https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.2.3. - maxItems?: number;//integer; - minItems?: number;//integer; - uniqueItems?: boolean; - enum?: any[]; - multipleOf?: number;//https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.1.1. -} diff --git a/sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-parameter.ts b/sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-parameter.ts deleted file mode 100644 index a87d4bf3..00000000 --- a/sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-parameter.ts +++ /dev/null @@ -1,13 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2018 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - *******************************************************************************/ -export interface SwaggerParameter { -} diff --git a/sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-response.ts b/sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-response.ts deleted file mode 100644 index 5896905d..00000000 --- a/sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-response.ts +++ /dev/null @@ -1,21 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2018 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - *******************************************************************************/ -import { SwaggerSchema } from "./swagger-schema"; - -export interface SwaggerResponse { - description: string; - schema?: SwaggerSchema; - headers?: any;//todo: add define object - examples?: any;//todo: add define - $ref?: string; - name?: string; -} diff --git a/sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-schema.ts b/sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-schema.ts deleted file mode 100644 index c152830c..00000000 --- a/sdc-workflow-designer-ui/src/app/model/workflow/swagger/swagger-schema.ts +++ /dev/null @@ -1,38 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2018 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - *******************************************************************************/ -export interface SwaggerSchema { - $ref?: string; - format?: string; - title?: string; - description?: string; - default?: any; - multipleOf?: number;//https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.1.1. - maximum?: number; - exclusiveMaximum?: boolean; - minimum?: number; - exclusiveMinimum?: boolean; - maxLength?: number;//integer; - minLength?: number;//integer; - pattern?: string;//https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.2.3. - maxItems?: number;//integer; - minItems?: number;//integer; - uniqueItems?: boolean; - maxProperties?: number;//integer; - minPropertiesnumber?: number;//integer; - required?: boolean | string[]; - enum?: any[]; - type?: string; - items?: SwaggerSchema | SwaggerSchema[]; - allOf?: any;//every property is a SwaggerSchema; - properties?: any;//every property is a SwaggerSchema; - additionalProperties?: any;//every property is a SwaggerSchema;//boolean | SwaggerSchema; -} diff --git a/sdc-workflow-designer-ui/src/app/model/workflow/timer-event-definition.ts b/sdc-workflow-designer-ui/src/app/model/workflow/timer-event-definition.ts deleted file mode 100644 index 101ef46c..00000000 --- a/sdc-workflow-designer-ui/src/app/model/workflow/timer-event-definition.ts +++ /dev/null @@ -1,25 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import { WorkflowNode } from './workflow-node'; - -export enum TimerEventDefinitionType { - timeDate, - timeDuration, - timeCycle, -} - -export interface TimerEventDefinition extends WorkflowNode { - type: string; // 'timeDate', 'timeCycle', 'timeDuration' - timeDate?: string; // 2007-04-05T12:30-02:00 - timeDuration?: string; // ISO 8601 P1Y3M5DT6H7M30S - timeCycle?: string; // ISO 8601 R5/P1Y2M10DT2H30M -} diff --git a/sdc-workflow-designer-ui/src/app/model/workflow/tosca-node-task.ts b/sdc-workflow-designer-ui/src/app/model/workflow/tosca-node-task.ts deleted file mode 100644 index 7767b640..00000000 --- a/sdc-workflow-designer-ui/src/app/model/workflow/tosca-node-task.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import { NodeTemplate } from '../topology/node-template'; -import { Parameter } from './parameter'; -import { WorkflowNode } from './workflow-node'; - -export interface ToscaNodeTask extends WorkflowNode { - input?: Parameter[]; - output?: Parameter[]; - nodeInterface?: string; - operation?: string; - template?: NodeTemplate; -} diff --git a/sdc-workflow-designer-ui/src/app/model/workflow/workflow-element.ts b/sdc-workflow-designer-ui/src/app/model/workflow/workflow-element.ts deleted file mode 100644 index e41fc93a..00000000 --- a/sdc-workflow-designer-ui/src/app/model/workflow/workflow-element.ts +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -export interface WorkflowElement { -} diff --git a/sdc-workflow-designer-ui/src/app/model/workflow/workflow-node.ts b/sdc-workflow-designer-ui/src/app/model/workflow/workflow-node.ts deleted file mode 100644 index f278d188..00000000 --- a/sdc-workflow-designer-ui/src/app/model/workflow/workflow-node.ts +++ /dev/null @@ -1,25 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import { WorkflowElement } from './workflow-element'; -import { Position } from './position'; -import { SequenceFlow } from './sequence-flow'; - -export interface WorkflowNode extends WorkflowElement { - connection: SequenceFlow[]; - id: string; - name: string; - icon?: string; - parentId: string; - position: Position; - type: string; - typeId?: string; -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/css/bootstrap4.0.css b/sdc-workflow-designer-ui/src/app/paletx/assets/css/bootstrap4.0.css deleted file mode 100644 index d52c5848..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/assets/css/bootstrap4.0.css +++ /dev/null @@ -1,9320 +0,0 @@ -/*! - * Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com) - * Copyright 2011-2017 The Bootstrap Authors - * Copyright 2011-2017 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ -/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */ -html { - font-family: sans-serif; - line-height: 1.15; - -ms-text-size-adjust: 100%; - -webkit-text-size-adjust: 100%; -} - -body { - margin: 0; -} - -article, -aside, -footer, -header, -nav, -section { - display: block; -} - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -figcaption, -figure, -main { - display: block; -} - -figure { - margin: 1em 40px; -} - -hr { - -webkit-box-sizing: content-box; - box-sizing: content-box; - height: 0; - overflow: visible; -} - -pre { - font-family: monospace, monospace; - font-size: 1em; -} - -a { - background-color: transparent; - -webkit-text-decoration-skip: objects; -} - -a:active, -a:hover { - outline-width: 0; -} - -abbr[title] { - border-bottom: none; - text-decoration: underline; - text-decoration: underline dotted; -} - -b, -strong { - font-weight: inherit; -} - -b, -strong { - font-weight: bolder; -} - -code, -kbd, -samp { - font-family: monospace, monospace; - font-size: 1em; -} - -dfn { - font-style: italic; -} - -mark { - background-color: #ff0; - color: #000; -} - -small { - font-size: 80%; -} - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sub { - bottom: -0.25em; -} - -sup { - top: -0.5em; -} - -audio, -video { - display: inline-block; -} - -audio:not([controls]) { - display: none; - height: 0; -} - -img { - border-style: none; -} - -svg:not(:root) { - overflow: hidden; -} - -button, -input, -optgroup, -select, -textarea { - font-family: sans-serif; - font-size: 100%; - line-height: 1.15; - margin: 0; -} - -button, -input { - overflow: visible; -} - -button, -select { - text-transform: none; -} - -button, -html [type="button"], -[type="reset"], -[type="submit"] { - -webkit-appearance: button; -} - -button::-moz-focus-inner, -[type="button"]::-moz-focus-inner, -[type="reset"]::-moz-focus-inner, -[type="submit"]::-moz-focus-inner { - border-style: none; - padding: 0; -} - -button:-moz-focusring, -[type="button"]:-moz-focusring, -[type="reset"]:-moz-focusring, -[type="submit"]:-moz-focusring { - outline: 1px dotted ButtonText; -} - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -legend { - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: inherit; - display: table; - max-width: 100%; - padding: 0; - white-space: normal; -} - -progress { - display: inline-block; - vertical-align: baseline; -} - -textarea { - overflow: auto; -} - -[type="checkbox"], -[type="radio"] { - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding: 0; -} - -[type="number"]::-webkit-inner-spin-button, -[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -[type="search"] { - -webkit-appearance: textfield; - outline-offset: -2px; -} - -[type="search"]::-webkit-search-cancel-button, -[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -::-webkit-file-upload-button { - -webkit-appearance: button; - font: inherit; -} - -details, -menu { - display: block; -} - -summary { - display: list-item; -} - -canvas { - display: inline-block; -} - -template { - display: none; -} - -[hidden] { - display: none; -} - -@media print { - *, - *::before, - *::after, - p::first-letter, - div::first-letter, - blockquote::first-letter, - li::first-letter, - p::first-line, - div::first-line, - blockquote::first-line, - li::first-line { - text-shadow: none !important; - -webkit-box-shadow: none !important; - box-shadow: none !important; - } - a, - a:visited { - text-decoration: underline; - } - abbr[title]::after { - content: " (" attr(title) ")"; - } - pre { - white-space: pre-wrap !important; - } - pre, - blockquote { - border: 1px solid #999; - page-break-inside: avoid; - } - thead { - display: table-header-group; - } - tr, - img { - page-break-inside: avoid; - } - p, - h2, - h3 { - orphans: 3; - widows: 3; - } - h2, - h3 { - page-break-after: avoid; - } - .navbar { - display: none; - } - .badge { - 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; - } -} - -html { - -webkit-box-sizing: border-box; - box-sizing: border-box; -} - -*, -*::before, -*::after { - -webkit-box-sizing: inherit; - box-sizing: inherit; -} - -@-ms-viewport { - width: device-width; -} - -html { - -ms-overflow-style: scrollbar; - -webkit-tap-highlight-color: transparent; -} - -body { - font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; - font-size: 1rem; - font-weight: normal; - line-height: 1.5; - color: #292b2c; - background-color: #fff; -} - -[tabindex="-1"]:focus { - outline: none !important; -} - -h1, h2, h3, h4, h5, h6 { - margin-top: 0; - margin-bottom: .5rem; -} - -p { - margin-top: 0; - margin-bottom: 1rem; -} - -abbr[title], -abbr[data-original-title] { - cursor: help; -} - -address { - margin-bottom: 1rem; - font-style: normal; - line-height: inherit; -} - -ol, -ul, -dl { - margin-top: 0; - margin-bottom: 1rem; -} - -ol ol, -ul ul, -ol ul, -ul ol { - margin-bottom: 0; -} - -dt { - font-weight: bold; -} - -dd { - margin-bottom: .5rem; - margin-left: 0; -} - -blockquote { - margin: 0 0 1rem; -} - -a { - color: #0275d8; - text-decoration: none; -} - -a:focus, a:hover { - color: #014c8c; - text-decoration: underline; -} - -a:not([href]):not([tabindex]) { - color: inherit; - text-decoration: none; -} - -a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover { - color: inherit; - text-decoration: none; -} - -a:not([href]):not([tabindex]):focus { - outline: 0; -} - -pre { - margin-top: 0; - margin-bottom: 1rem; - overflow: auto; -} - -figure { - margin: 0 0 1rem; -} - -img { - vertical-align: middle; -} - -[role="button"] { - cursor: pointer; -} - -a, -area, -button, -[role="button"], -input, -label, -select, -summary, -textarea { - -ms-touch-action: manipulation; - touch-action: manipulation; -} - -table { - border-collapse: collapse; - background-color: transparent; -} - -caption { - padding-top: 0.75rem; - padding-bottom: 0.75rem; - color: #636c72; - text-align: left; - caption-side: bottom; -} - -th { - text-align: left; -} - -label { - display: inline-block; - margin-bottom: .5rem; -} - -button:focus { - outline: 1px dotted; - outline: 5px auto -webkit-focus-ring-color; -} - -input, -button, -select, -textarea { - line-height: inherit; -} - -input[type="radio"]:disabled, -input[type="checkbox"]:disabled { - cursor: not-allowed; -} - -input[type="date"], -input[type="time"], -input[type="datetime-local"], -input[type="month"] { - -webkit-appearance: listbox; -} - -textarea { - resize: vertical; -} - -fieldset { - min-width: 0; - padding: 0; - margin: 0; - border: 0; -} - -legend { - display: block; - width: 100%; - padding: 0; - margin-bottom: .5rem; - font-size: 1.5rem; - line-height: inherit; -} - -input[type="search"] { - -webkit-appearance: none; -} - -output { - display: inline-block; -} - -[hidden] { - display: none !important; -} - -h1, h2, h3, h4, h5, h6, -.h1, .h2, .h3, .h4, .h5, .h6 { - margin-bottom: 0.5rem; - font-family: inherit; - font-weight: 500; - line-height: 1.1; - color: inherit; -} - -h1, .h1 { - font-size: 2.5rem; -} - -h2, .h2 { - font-size: 2rem; -} - -h3, .h3 { - font-size: 1.75rem; -} - -h4, .h4 { - font-size: 1.5rem; -} - -h5, .h5 { - font-size: 1.25rem; -} - -h6, .h6 { - font-size: 1rem; -} - -.lead { - font-size: 1.25rem; - font-weight: 300; -} - -.display-1 { - font-size: 6rem; - font-weight: 300; - line-height: 1.1; -} - -.display-2 { - font-size: 5.5rem; - font-weight: 300; - line-height: 1.1; -} - -.display-3 { - font-size: 4.5rem; - font-weight: 300; - line-height: 1.1; -} - -.display-4 { - font-size: 3.5rem; - font-weight: 300; - line-height: 1.1; -} - -hr { - margin-top: 1rem; - margin-bottom: 1rem; - border: 0; - border-top: 1px solid rgba(0, 0, 0, 0.1); -} - -small, -.small { - font-size: 80%; - font-weight: normal; -} - -mark, -.mark { - padding: 0.2em; - background-color: #fcf8e3; -} - -.list-unstyled { - padding-left: 0; - list-style: none; -} - -.list-inline { - padding-left: 0; - list-style: none; -} - -.list-inline-item { - display: inline-block; -} - -.list-inline-item:not(:last-child) { - margin-right: 5px; -} - -.initialism { - font-size: 90%; - text-transform: uppercase; -} - -.blockquote { - padding: 0.5rem 1rem; - margin-bottom: 1rem; - font-size: 1.25rem; - border-left: 0.25rem solid #eceeef; -} - -.blockquote-footer { - display: block; - font-size: 80%; - color: #636c72; -} - -.blockquote-footer::before { - content: "\2014 \00A0"; -} - -.blockquote-reverse { - padding-right: 1rem; - padding-left: 0; - text-align: right; - border-right: 0.25rem solid #eceeef; - border-left: 0; -} - -.blockquote-reverse .blockquote-footer::before { - content: ""; -} - -.blockquote-reverse .blockquote-footer::after { - content: "\00A0 \2014"; -} - -.img-fluid { - max-width: 100%; - height: auto; -} - -.img-thumbnail { - padding: 0.25rem; - background-color: #fff; - border: 1px solid #ddd; - border-radius: 0.25rem; - -webkit-transition: all 0.2s ease-in-out; - -o-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; - max-width: 100%; - height: auto; -} - -.figure { - display: inline-block; -} - -.figure-img { - margin-bottom: 0.5rem; - line-height: 1; -} - -.figure-caption { - font-size: 90%; - color: #636c72; -} - -code, -kbd, -pre, -samp { - font-family: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; -} - -code { - padding: 0.2rem 0.4rem; - font-size: 90%; - color: #bd4147; - background-color: #f7f7f9; - border-radius: 0.25rem; -} - -a > code { - padding: 0; - color: inherit; - background-color: inherit; -} - -kbd { - padding: 0.2rem 0.4rem; - font-size: 90%; - color: #fff; - background-color: #292b2c; - border-radius: 0.2rem; -} - -kbd kbd { - padding: 0; - font-size: 100%; - font-weight: bold; -} - -pre { - display: block; - margin-top: 0; - margin-bottom: 1rem; - font-size: 90%; - color: #292b2c; -} - -pre code { - padding: 0; - font-size: inherit; - color: inherit; - background-color: transparent; - border-radius: 0; -} - -.pre-scrollable { - max-height: 340px; - overflow-y: scroll; -} - -.container { - position: relative; - margin-left: auto; - margin-right: auto; - padding-right: 15px; - padding-left: 15px; -} - -@media (min-width: 576px) { - .container { - padding-right: 15px; - padding-left: 15px; - } -} - -@media (min-width: 768px) { - .container { - padding-right: 15px; - padding-left: 15px; - } -} - -@media (min-width: 992px) { - .container { - padding-right: 15px; - padding-left: 15px; - } -} - -@media (min-width: 1200px) { - .container { - padding-right: 15px; - padding-left: 15px; - } -} - -@media (min-width: 576px) { - .container { - width: 540px; - max-width: 100%; - } -} - -@media (min-width: 768px) { - .container { - width: 720px; - max-width: 100%; - } -} - -@media (min-width: 992px) { - .container { - width: 960px; - max-width: 100%; - } -} - -@media (min-width: 1200px) { - .container { - width: 1140px; - max-width: 100%; - } -} - -.container-fluid { - position: relative; - margin-left: auto; - margin-right: auto; - padding-right: 15px; - padding-left: 15px; -} - -@media (min-width: 576px) { - .container-fluid { - padding-right: 15px; - padding-left: 15px; - } -} - -@media (min-width: 768px) { - .container-fluid { - padding-right: 15px; - padding-left: 15px; - } -} - -@media (min-width: 992px) { - .container-fluid { - padding-right: 15px; - padding-left: 15px; - } -} - -@media (min-width: 1200px) { - .container-fluid { - padding-right: 15px; - padding-left: 15px; - } -} - -.row { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-wrap: wrap; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - margin-right: -15px; - margin-left: -15px; -} - -@media (min-width: 576px) { - .row { - margin-right: -15px; - margin-left: -15px; - } -} - -@media (min-width: 768px) { - .row { - margin-right: -15px; - margin-left: -15px; - } -} - -@media (min-width: 992px) { - .row { - margin-right: -15px; - margin-left: -15px; - } -} - -@media (min-width: 1200px) { - .row { - margin-right: -15px; - margin-left: -15px; - } -} - -.no-gutters { - margin-right: 0; - margin-left: 0; -} - -.no-gutters > .col, -.no-gutters > [class*="col-"] { - padding-right: 0; - padding-left: 0; -} - -.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .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, .col-sm, .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, .col-md, .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, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl { - position: relative; - width: 100%; - min-height: 1px; - padding-right: 15px; - padding-left: 15px; -} - -@media (min-width: 576px) { - .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .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, .col-sm, .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, .col-md, .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, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl { - padding-right: 15px; - padding-left: 15px; - } -} - -@media (min-width: 768px) { - .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .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, .col-sm, .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, .col-md, .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, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl { - padding-right: 15px; - padding-left: 15px; - } -} - -@media (min-width: 992px) { - .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .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, .col-sm, .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, .col-md, .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, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl { - padding-right: 15px; - padding-left: 15px; - } -} - -@media (min-width: 1200px) { - .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .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, .col-sm, .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, .col-md, .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, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl { - padding-right: 15px; - padding-left: 15px; - } -} - -.col { - -webkit-flex-basis: 0; - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; -} - -.col-auto { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; -} - -.col-1 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 8.333333%; - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; -} - -.col-2 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 16.666667%; - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; -} - -.col-3 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 25%; - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; -} - -.col-4 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 33.333333%; - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; -} - -.col-5 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 41.666667%; - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; -} - -.col-6 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 50%; - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; -} - -.col-7 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 58.333333%; - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; -} - -.col-8 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 66.666667%; - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; -} - -.col-9 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 75%; - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; -} - -.col-10 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 83.333333%; - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; -} - -.col-11 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 91.666667%; - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; -} - -.col-12 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 100%; - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; -} - -.pull-0 { - right: auto; -} - -.pull-1 { - right: 8.333333%; -} - -.pull-2 { - right: 16.666667%; -} - -.pull-3 { - right: 25%; -} - -.pull-4 { - right: 33.333333%; -} - -.pull-5 { - right: 41.666667%; -} - -.pull-6 { - right: 50%; -} - -.pull-7 { - right: 58.333333%; -} - -.pull-8 { - right: 66.666667%; -} - -.pull-9 { - right: 75%; -} - -.pull-10 { - right: 83.333333%; -} - -.pull-11 { - right: 91.666667%; -} - -.pull-12 { - right: 100%; -} - -.push-0 { - left: auto; -} - -.push-1 { - left: 8.333333%; -} - -.push-2 { - left: 16.666667%; -} - -.push-3 { - left: 25%; -} - -.push-4 { - left: 33.333333%; -} - -.push-5 { - left: 41.666667%; -} - -.push-6 { - left: 50%; -} - -.push-7 { - left: 58.333333%; -} - -.push-8 { - left: 66.666667%; -} - -.push-9 { - left: 75%; -} - -.push-10 { - left: 83.333333%; -} - -.push-11 { - left: 91.666667%; -} - -.push-12 { - left: 100%; -} - -.offset-1 { - margin-left: 8.333333%; -} - -.offset-2 { - margin-left: 16.666667%; -} - -.offset-3 { - margin-left: 25%; -} - -.offset-4 { - margin-left: 33.333333%; -} - -.offset-5 { - margin-left: 41.666667%; -} - -.offset-6 { - margin-left: 50%; -} - -.offset-7 { - margin-left: 58.333333%; -} - -.offset-8 { - margin-left: 66.666667%; -} - -.offset-9 { - margin-left: 75%; -} - -.offset-10 { - margin-left: 83.333333%; -} - -.offset-11 { - margin-left: 91.666667%; -} - -@media (min-width: 576px) { - .col-sm { - -webkit-flex-basis: 0; - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - .col-sm-auto { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - } - .col-sm-1 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 8.333333%; - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-sm-2 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 16.666667%; - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-sm-3 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 25%; - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; - } - .col-sm-4 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 33.333333%; - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-sm-5 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 41.666667%; - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-sm-6 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 50%; - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; - } - .col-sm-7 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 58.333333%; - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-sm-8 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 66.666667%; - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-sm-9 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 75%; - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; - } - .col-sm-10 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 83.333333%; - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-sm-11 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 91.666667%; - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-sm-12 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 100%; - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; - } - .pull-sm-0 { - right: auto; - } - .pull-sm-1 { - right: 8.333333%; - } - .pull-sm-2 { - right: 16.666667%; - } - .pull-sm-3 { - right: 25%; - } - .pull-sm-4 { - right: 33.333333%; - } - .pull-sm-5 { - right: 41.666667%; - } - .pull-sm-6 { - right: 50%; - } - .pull-sm-7 { - right: 58.333333%; - } - .pull-sm-8 { - right: 66.666667%; - } - .pull-sm-9 { - right: 75%; - } - .pull-sm-10 { - right: 83.333333%; - } - .pull-sm-11 { - right: 91.666667%; - } - .pull-sm-12 { - right: 100%; - } - .push-sm-0 { - left: auto; - } - .push-sm-1 { - left: 8.333333%; - } - .push-sm-2 { - left: 16.666667%; - } - .push-sm-3 { - left: 25%; - } - .push-sm-4 { - left: 33.333333%; - } - .push-sm-5 { - left: 41.666667%; - } - .push-sm-6 { - left: 50%; - } - .push-sm-7 { - left: 58.333333%; - } - .push-sm-8 { - left: 66.666667%; - } - .push-sm-9 { - left: 75%; - } - .push-sm-10 { - left: 83.333333%; - } - .push-sm-11 { - left: 91.666667%; - } - .push-sm-12 { - left: 100%; - } - .offset-sm-0 { - margin-left: 0%; - } - .offset-sm-1 { - margin-left: 8.333333%; - } - .offset-sm-2 { - margin-left: 16.666667%; - } - .offset-sm-3 { - margin-left: 25%; - } - .offset-sm-4 { - margin-left: 33.333333%; - } - .offset-sm-5 { - margin-left: 41.666667%; - } - .offset-sm-6 { - margin-left: 50%; - } - .offset-sm-7 { - margin-left: 58.333333%; - } - .offset-sm-8 { - margin-left: 66.666667%; - } - .offset-sm-9 { - margin-left: 75%; - } - .offset-sm-10 { - margin-left: 83.333333%; - } - .offset-sm-11 { - margin-left: 91.666667%; - } -} - -@media (min-width: 768px) { - .col-md { - -webkit-flex-basis: 0; - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - .col-md-auto { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - } - .col-md-1 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 8.333333%; - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-md-2 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 16.666667%; - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-md-3 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 25%; - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; - } - .col-md-4 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 33.333333%; - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-md-5 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 41.666667%; - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-md-6 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 50%; - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; - } - .col-md-7 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 58.333333%; - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-md-8 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 66.666667%; - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-md-9 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 75%; - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; - } - .col-md-10 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 83.333333%; - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-md-11 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 91.666667%; - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-md-12 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 100%; - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; - } - .pull-md-0 { - right: auto; - } - .pull-md-1 { - right: 8.333333%; - } - .pull-md-2 { - right: 16.666667%; - } - .pull-md-3 { - right: 25%; - } - .pull-md-4 { - right: 33.333333%; - } - .pull-md-5 { - right: 41.666667%; - } - .pull-md-6 { - right: 50%; - } - .pull-md-7 { - right: 58.333333%; - } - .pull-md-8 { - right: 66.666667%; - } - .pull-md-9 { - right: 75%; - } - .pull-md-10 { - right: 83.333333%; - } - .pull-md-11 { - right: 91.666667%; - } - .pull-md-12 { - right: 100%; - } - .push-md-0 { - left: auto; - } - .push-md-1 { - left: 8.333333%; - } - .push-md-2 { - left: 16.666667%; - } - .push-md-3 { - left: 25%; - } - .push-md-4 { - left: 33.333333%; - } - .push-md-5 { - left: 41.666667%; - } - .push-md-6 { - left: 50%; - } - .push-md-7 { - left: 58.333333%; - } - .push-md-8 { - left: 66.666667%; - } - .push-md-9 { - left: 75%; - } - .push-md-10 { - left: 83.333333%; - } - .push-md-11 { - left: 91.666667%; - } - .push-md-12 { - left: 100%; - } - .offset-md-0 { - margin-left: 0%; - } - .offset-md-1 { - margin-left: 8.333333%; - } - .offset-md-2 { - margin-left: 16.666667%; - } - .offset-md-3 { - margin-left: 25%; - } - .offset-md-4 { - margin-left: 33.333333%; - } - .offset-md-5 { - margin-left: 41.666667%; - } - .offset-md-6 { - margin-left: 50%; - } - .offset-md-7 { - margin-left: 58.333333%; - } - .offset-md-8 { - margin-left: 66.666667%; - } - .offset-md-9 { - margin-left: 75%; - } - .offset-md-10 { - margin-left: 83.333333%; - } - .offset-md-11 { - margin-left: 91.666667%; - } -} - -@media (min-width: 992px) { - .col-lg { - -webkit-flex-basis: 0; - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - .col-lg-auto { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - } - .col-lg-1 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 8.333333%; - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-lg-2 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 16.666667%; - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-lg-3 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 25%; - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; - } - .col-lg-4 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 33.333333%; - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-lg-5 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 41.666667%; - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-lg-6 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 50%; - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; - } - .col-lg-7 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 58.333333%; - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-lg-8 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 66.666667%; - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-lg-9 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 75%; - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; - } - .col-lg-10 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 83.333333%; - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-lg-11 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 91.666667%; - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-lg-12 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 100%; - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; - } - .pull-lg-0 { - right: auto; - } - .pull-lg-1 { - right: 8.333333%; - } - .pull-lg-2 { - right: 16.666667%; - } - .pull-lg-3 { - right: 25%; - } - .pull-lg-4 { - right: 33.333333%; - } - .pull-lg-5 { - right: 41.666667%; - } - .pull-lg-6 { - right: 50%; - } - .pull-lg-7 { - right: 58.333333%; - } - .pull-lg-8 { - right: 66.666667%; - } - .pull-lg-9 { - right: 75%; - } - .pull-lg-10 { - right: 83.333333%; - } - .pull-lg-11 { - right: 91.666667%; - } - .pull-lg-12 { - right: 100%; - } - .push-lg-0 { - left: auto; - } - .push-lg-1 { - left: 8.333333%; - } - .push-lg-2 { - left: 16.666667%; - } - .push-lg-3 { - left: 25%; - } - .push-lg-4 { - left: 33.333333%; - } - .push-lg-5 { - left: 41.666667%; - } - .push-lg-6 { - left: 50%; - } - .push-lg-7 { - left: 58.333333%; - } - .push-lg-8 { - left: 66.666667%; - } - .push-lg-9 { - left: 75%; - } - .push-lg-10 { - left: 83.333333%; - } - .push-lg-11 { - left: 91.666667%; - } - .push-lg-12 { - left: 100%; - } - .offset-lg-0 { - margin-left: 0%; - } - .offset-lg-1 { - margin-left: 8.333333%; - } - .offset-lg-2 { - margin-left: 16.666667%; - } - .offset-lg-3 { - margin-left: 25%; - } - .offset-lg-4 { - margin-left: 33.333333%; - } - .offset-lg-5 { - margin-left: 41.666667%; - } - .offset-lg-6 { - margin-left: 50%; - } - .offset-lg-7 { - margin-left: 58.333333%; - } - .offset-lg-8 { - margin-left: 66.666667%; - } - .offset-lg-9 { - margin-left: 75%; - } - .offset-lg-10 { - margin-left: 83.333333%; - } - .offset-lg-11 { - margin-left: 91.666667%; - } -} - -@media (min-width: 1200px) { - .col-xl { - -webkit-flex-basis: 0; - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - .col-xl-auto { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - } - .col-xl-1 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 8.333333%; - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-xl-2 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 16.666667%; - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-xl-3 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 25%; - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; - } - .col-xl-4 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 33.333333%; - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-xl-5 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 41.666667%; - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-xl-6 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 50%; - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; - } - .col-xl-7 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 58.333333%; - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-xl-8 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 66.666667%; - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-xl-9 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 75%; - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; - } - .col-xl-10 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 83.333333%; - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-xl-11 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 91.666667%; - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-xl-12 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 100%; - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; - } - .pull-xl-0 { - right: auto; - } - .pull-xl-1 { - right: 8.333333%; - } - .pull-xl-2 { - right: 16.666667%; - } - .pull-xl-3 { - right: 25%; - } - .pull-xl-4 { - right: 33.333333%; - } - .pull-xl-5 { - right: 41.666667%; - } - .pull-xl-6 { - right: 50%; - } - .pull-xl-7 { - right: 58.333333%; - } - .pull-xl-8 { - right: 66.666667%; - } - .pull-xl-9 { - right: 75%; - } - .pull-xl-10 { - right: 83.333333%; - } - .pull-xl-11 { - right: 91.666667%; - } - .pull-xl-12 { - right: 100%; - } - .push-xl-0 { - left: auto; - } - .push-xl-1 { - left: 8.333333%; - } - .push-xl-2 { - left: 16.666667%; - } - .push-xl-3 { - left: 25%; - } - .push-xl-4 { - left: 33.333333%; - } - .push-xl-5 { - left: 41.666667%; - } - .push-xl-6 { - left: 50%; - } - .push-xl-7 { - left: 58.333333%; - } - .push-xl-8 { - left: 66.666667%; - } - .push-xl-9 { - left: 75%; - } - .push-xl-10 { - left: 83.333333%; - } - .push-xl-11 { - left: 91.666667%; - } - .push-xl-12 { - left: 100%; - } - .offset-xl-0 { - margin-left: 0%; - } - .offset-xl-1 { - margin-left: 8.333333%; - } - .offset-xl-2 { - margin-left: 16.666667%; - } - .offset-xl-3 { - margin-left: 25%; - } - .offset-xl-4 { - margin-left: 33.333333%; - } - .offset-xl-5 { - margin-left: 41.666667%; - } - .offset-xl-6 { - margin-left: 50%; - } - .offset-xl-7 { - margin-left: 58.333333%; - } - .offset-xl-8 { - margin-left: 66.666667%; - } - .offset-xl-9 { - margin-left: 75%; - } - .offset-xl-10 { - margin-left: 83.333333%; - } - .offset-xl-11 { - margin-left: 91.666667%; - } -} - -.table { - width: 100%; - max-width: 100%; - margin-bottom: 1rem; -} - -.table th, -.table td { - padding: 0.75rem; - vertical-align: top; - border-top: 1px solid #eceeef; -} - -.table thead th { - vertical-align: bottom; - border-bottom: 2px solid #eceeef; -} - -.table tbody + tbody { - border-top: 2px solid #eceeef; -} - -.table .table { - background-color: #fff; -} - -.table-sm th, -.table-sm td { - padding: 0.3rem; -} - -.table-bordered { - border: 1px solid #eceeef; -} - -.table-bordered th, -.table-bordered td { - border: 1px solid #eceeef; -} - -.table-bordered thead th, -.table-bordered thead td { - border-bottom-width: 2px; -} - -.table-striped tbody tr:nth-of-type(odd) { - background-color: rgba(0, 0, 0, 0.05); -} - -.table-hover tbody tr:hover { - background-color: rgba(0, 0, 0, 0.075); -} - -.table-active, -.table-active > th, -.table-active > td { - background-color: rgba(0, 0, 0, 0.075); -} - -.table-hover .table-active:hover { - background-color: rgba(0, 0, 0, 0.075); -} - -.table-hover .table-active:hover > td, -.table-hover .table-active:hover > th { - background-color: rgba(0, 0, 0, 0.075); -} - -.table-success, -.table-success > th, -.table-success > td { - background-color: #dff0d8; -} - -.table-hover .table-success:hover { - background-color: #d0e9c6; -} - -.table-hover .table-success:hover > td, -.table-hover .table-success:hover > th { - background-color: #d0e9c6; -} - -.table-info, -.table-info > th, -.table-info > td { - background-color: #d9edf7; -} - -.table-hover .table-info:hover { - background-color: #c4e3f3; -} - -.table-hover .table-info:hover > td, -.table-hover .table-info:hover > th { - background-color: #c4e3f3; -} - -.table-warning, -.table-warning > th, -.table-warning > td { - background-color: #fcf8e3; -} - -.table-hover .table-warning:hover { - background-color: #faf2cc; -} - -.table-hover .table-warning:hover > td, -.table-hover .table-warning:hover > th { - background-color: #faf2cc; -} - -.table-danger, -.table-danger > th, -.table-danger > td { - background-color: #f2dede; -} - -.table-hover .table-danger:hover { - background-color: #ebcccc; -} - -.table-hover .table-danger:hover > td, -.table-hover .table-danger:hover > th { - background-color: #ebcccc; -} - -.thead-inverse th { - color: #fff; - background-color: #292b2c; -} - -.thead-default th { - color: #464a4c; - background-color: #eceeef; -} - -.table-inverse { - color: #fff; - background-color: #292b2c; -} - -.table-inverse th, -.table-inverse td, -.table-inverse thead th { - border-color: #fff; -} - -.table-inverse.table-bordered { - border: 0; -} - -.table-responsive { - display: block; - width: 100%; - overflow-x: auto; - -ms-overflow-style: -ms-autohiding-scrollbar; -} - -.table-responsive.table-bordered { - border: 0; -} - -.form-control { - display: block; - width: 100%; - padding: 0.5rem 0.75rem; - font-size: 1rem; - line-height: 1.25; - color: #464a4c; - background-color: #fff; - background-image: none; - -webkit-background-clip: padding-box; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.15); - border-radius: 0.25rem; - -webkit-transition: border-color ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s; - transition: border-color ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s; - -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; - transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; - transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s; -} - -.form-control::-ms-expand { - background-color: transparent; - border: 0; -} - -.form-control:focus { - color: #464a4c; - background-color: #fff; - border-color: #5cb3fd; - outline: none; -} - -.form-control::-webkit-input-placeholder { - color: #636c72; - opacity: 1; -} - -.form-control::-moz-placeholder { - color: #636c72; - opacity: 1; -} - -.form-control:-ms-input-placeholder { - color: #636c72; - opacity: 1; -} - -.form-control::placeholder { - color: #636c72; - opacity: 1; -} - -.form-control:disabled, .form-control[readonly] { - background-color: #eceeef; - opacity: 1; -} - -.form-control:disabled { - cursor: not-allowed; -} - -select.form-control:not([size]):not([multiple]) { - height: calc(2.25rem + 2px); -} - -select.form-control:focus::-ms-value { - color: #464a4c; - background-color: #fff; -} - -.form-control-file, -.form-control-range { - display: block; -} - -.col-form-label { - padding-top: calc(0.5rem - 1px * 2); - padding-bottom: calc(0.5rem - 1px * 2); - margin-bottom: 0; -} - -.col-form-label-lg { - padding-top: calc(0.75rem - 1px * 2); - padding-bottom: calc(0.75rem - 1px * 2); - font-size: 1.25rem; -} - -.col-form-label-sm { - padding-top: calc(0.25rem - 1px * 2); - padding-bottom: calc(0.25rem - 1px * 2); - font-size: 0.875rem; -} - -.col-form-legend { - padding-top: 0.5rem; - padding-bottom: 0.5rem; - margin-bottom: 0; - font-size: 1rem; -} - -.form-control-static { - padding-top: 0.5rem; - padding-bottom: 0.5rem; - margin-bottom: 0; - line-height: 1.25; - border: solid transparent; - border-width: 1px 0; -} - -.form-control-static.form-control-sm, .input-group-sm > .form-control-static.form-control, -.input-group-sm > .form-control-static.input-group-addon, -.input-group-sm > .input-group-btn > .form-control-static.btn, .form-control-static.form-control-lg, .input-group-lg > .form-control-static.form-control, -.input-group-lg > .form-control-static.input-group-addon, -.input-group-lg > .input-group-btn > .form-control-static.btn { - padding-right: 0; - padding-left: 0; -} - -.form-control-sm, .input-group-sm > .form-control, -.input-group-sm > .input-group-addon, -.input-group-sm > .input-group-btn > .btn { - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - border-radius: 0.2rem; -} - -select.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]), -.input-group-sm > select.input-group-addon:not([size]):not([multiple]), -.input-group-sm > .input-group-btn > select.btn:not([size]):not([multiple]) { - height: 1.8125rem; -} - -.form-control-lg, .input-group-lg > .form-control, -.input-group-lg > .input-group-addon, -.input-group-lg > .input-group-btn > .btn { - padding: 0.75rem 1.5rem; - font-size: 1.25rem; - border-radius: 0.3rem; -} - -select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]), -.input-group-lg > select.input-group-addon:not([size]):not([multiple]), -.input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]) { - height: 3.166667rem; -} - -.form-group { - margin-bottom: 1rem; -} - -.form-text { - display: block; - margin-top: 0.25rem; -} - -.form-check { - position: relative; - display: block; - margin-bottom: 0.5rem; -} - -.form-check.disabled .form-check-label { - color: #636c72; - cursor: not-allowed; -} - -.form-check-label { - padding-left: 1.25rem; - margin-bottom: 0; - cursor: pointer; -} - -.form-check-input { - position: absolute; - margin-top: 0.25rem; - margin-left: -1.25rem; -} - -.form-check-input:only-child { - position: static; -} - -.form-check-inline { - display: inline-block; -} - -.form-check-inline .form-check-label { - vertical-align: middle; -} - -.form-check-inline + .form-check-inline { - margin-left: 0.75rem; -} - -.form-control-feedback { - margin-top: 0.25rem; -} - -.form-control-success, -.form-control-warning, -.form-control-danger { - padding-right: 2.25rem; - background-repeat: no-repeat; - background-position: center right 0.5625rem; - -webkit-background-size: 1.125rem 1.125rem; - background-size: 1.125rem 1.125rem; -} - -.has-success .form-control-feedback, -.has-success .form-control-label, -.has-success .col-form-label, -.has-success .form-check-label, -.has-success .custom-control { - color: #5cb85c; -} - -.has-success .form-control { - border-color: #5cb85c; -} - -.has-success .input-group-addon { - color: #5cb85c; - border-color: #5cb85c; - background-color: #eaf6ea; -} - -.has-success .form-control-success { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E"); -} - -.has-warning .form-control-feedback, -.has-warning .form-control-label, -.has-warning .col-form-label, -.has-warning .form-check-label, -.has-warning .custom-control { - color: #f0ad4e; -} - -.has-warning .form-control { - border-color: #f0ad4e; -} - -.has-warning .input-group-addon { - color: #f0ad4e; - border-color: #f0ad4e; - background-color: white; -} - -.has-warning .form-control-warning { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E"); -} - -.has-danger .form-control-feedback, -.has-danger .form-control-label, -.has-danger .col-form-label, -.has-danger .form-check-label, -.has-danger .custom-control { - color: #d9534f; -} - -.has-danger .form-control { - border-color: #d9534f; -} - -.has-danger .input-group-addon { - color: #d9534f; - border-color: #d9534f; - background-color: #fdf7f7; -} - -.has-danger .form-control-danger { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E"); -} - -.form-inline { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-flow: row wrap; - -ms-flex-flow: row wrap; - flex-flow: row wrap; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; -} - -.form-inline .form-check { - width: 100%; -} - -@media (min-width: 576px) { - .form-inline label { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - margin-bottom: 0; - } - .form-inline .form-group { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - -webkit-flex-flow: row wrap; - -ms-flex-flow: row wrap; - flex-flow: row wrap; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - margin-bottom: 0; - } - .form-inline .form-control { - display: inline-block; - width: auto; - vertical-align: middle; - } - .form-inline .form-control-static { - display: inline-block; - } - .form-inline .input-group { - width: auto; - } - .form-inline .form-control-label { - margin-bottom: 0; - vertical-align: middle; - } - .form-inline .form-check { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - width: auto; - margin-top: 0; - margin-bottom: 0; - } - .form-inline .form-check-label { - padding-left: 0; - } - .form-inline .form-check-input { - position: relative; - margin-top: 0; - margin-right: 0.25rem; - margin-left: 0; - } - .form-inline .custom-control { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - padding-left: 0; - } - .form-inline .custom-control-indicator { - position: static; - display: inline-block; - margin-right: 0.25rem; - vertical-align: text-bottom; - } - .form-inline .has-feedback .form-control-feedback { - top: 0; - } -} - -.btn { - display: inline-block; - font-weight: normal; - line-height: 1.25; - text-align: center; - white-space: nowrap; - vertical-align: middle; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - border: 1px solid transparent; - padding: 0.5rem 1rem; - font-size: 1rem; - border-radius: 0.25rem; - -webkit-transition: all 0.2s ease-in-out; - -o-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; -} - -.btn:focus, .btn:hover { - text-decoration: none; -} - -.btn:focus, .btn.focus { - outline: 0; - -webkit-box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.25); - box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.25); -} - -.btn.disabled, .btn:disabled { - cursor: not-allowed; - opacity: .65; -} - -.btn:active, .btn.active { - background-image: none; -} - -a.btn.disabled, -fieldset[disabled] a.btn { - pointer-events: none; -} - -.btn-primary { - color: #fff; - background-color: #0275d8; - border-color: #0275d8; -} - -.btn-primary:hover { - color: #fff; - background-color: #025aa5; - border-color: #01549b; -} - -.btn-primary:focus, .btn-primary.focus { - -webkit-box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5); - box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5); -} - -.btn-primary.disabled, .btn-primary:disabled { - background-color: #0275d8; - border-color: #0275d8; -} - -.btn-primary:active, .btn-primary.active, -.show > .btn-primary.dropdown-toggle { - color: #fff; - background-color: #025aa5; - background-image: none; - border-color: #01549b; -} - -.btn-secondary { - color: #292b2c; - background-color: #fff; - border-color: #ccc; -} - -.btn-secondary:hover { - color: #292b2c; - background-color: #e6e6e6; - border-color: #adadad; -} - -.btn-secondary:focus, .btn-secondary.focus { - -webkit-box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5); - box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5); -} - -.btn-secondary.disabled, .btn-secondary:disabled { - background-color: #fff; - border-color: #ccc; -} - -.btn-secondary:active, .btn-secondary.active, -.show > .btn-secondary.dropdown-toggle { - color: #292b2c; - background-color: #e6e6e6; - background-image: none; - border-color: #adadad; -} - -.btn-info { - color: #fff; - background-color: #5bc0de; - border-color: #5bc0de; -} - -.btn-info:hover { - color: #fff; - background-color: #31b0d5; - border-color: #2aabd2; -} - -.btn-info:focus, .btn-info.focus { - -webkit-box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5); - box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5); -} - -.btn-info.disabled, .btn-info:disabled { - background-color: #5bc0de; - border-color: #5bc0de; -} - -.btn-info:active, .btn-info.active, -.show > .btn-info.dropdown-toggle { - color: #fff; - background-color: #31b0d5; - background-image: none; - border-color: #2aabd2; -} - -.btn-success { - color: #fff; - background-color: #5cb85c; - border-color: #5cb85c; -} - -.btn-success:hover { - color: #fff; - background-color: #449d44; - border-color: #419641; -} - -.btn-success:focus, .btn-success.focus { - -webkit-box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5); - box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5); -} - -.btn-success.disabled, .btn-success:disabled { - background-color: #5cb85c; - border-color: #5cb85c; -} - -.btn-success:active, .btn-success.active, -.show > .btn-success.dropdown-toggle { - color: #fff; - background-color: #449d44; - background-image: none; - border-color: #419641; -} - -.btn-warning { - color: #fff; - background-color: #f0ad4e; - border-color: #f0ad4e; -} - -.btn-warning:hover { - color: #fff; - background-color: #ec971f; - border-color: #eb9316; -} - -.btn-warning:focus, .btn-warning.focus { - -webkit-box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5); - box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5); -} - -.btn-warning.disabled, .btn-warning:disabled { - background-color: #f0ad4e; - border-color: #f0ad4e; -} - -.btn-warning:active, .btn-warning.active, -.show > .btn-warning.dropdown-toggle { - color: #fff; - background-color: #ec971f; - background-image: none; - border-color: #eb9316; -} - -.btn-danger { - color: #fff; - background-color: #d9534f; - border-color: #d9534f; -} - -.btn-danger:hover { - color: #fff; - background-color: #c9302c; - border-color: #c12e2a; -} - -.btn-danger:focus, .btn-danger.focus { - -webkit-box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5); - box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5); -} - -.btn-danger.disabled, .btn-danger:disabled { - background-color: #d9534f; - border-color: #d9534f; -} - -.btn-danger:active, .btn-danger.active, -.show > .btn-danger.dropdown-toggle { - color: #fff; - background-color: #c9302c; - background-image: none; - border-color: #c12e2a; -} - -.btn-outline-primary { - color: #0275d8; - background-image: none; - background-color: transparent; - border-color: #0275d8; -} - -.btn-outline-primary:hover { - color: #fff; - background-color: #0275d8; - border-color: #0275d8; -} - -.btn-outline-primary:focus, .btn-outline-primary.focus { - -webkit-box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5); - box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5); -} - -.btn-outline-primary.disabled, .btn-outline-primary:disabled { - color: #0275d8; - background-color: transparent; -} - -.btn-outline-primary:active, .btn-outline-primary.active, -.show > .btn-outline-primary.dropdown-toggle { - color: #fff; - background-color: #0275d8; - border-color: #0275d8; -} - -.btn-outline-secondary { - color: #ccc; - background-image: none; - background-color: transparent; - border-color: #ccc; -} - -.btn-outline-secondary:hover { - color: #fff; - background-color: #ccc; - border-color: #ccc; -} - -.btn-outline-secondary:focus, .btn-outline-secondary.focus { - -webkit-box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5); - box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5); -} - -.btn-outline-secondary.disabled, .btn-outline-secondary:disabled { - color: #ccc; - background-color: transparent; -} - -.btn-outline-secondary:active, .btn-outline-secondary.active, -.show > .btn-outline-secondary.dropdown-toggle { - color: #fff; - background-color: #ccc; - border-color: #ccc; -} - -.btn-outline-info { - color: #5bc0de; - background-image: none; - background-color: transparent; - border-color: #5bc0de; -} - -.btn-outline-info:hover { - color: #fff; - background-color: #5bc0de; - border-color: #5bc0de; -} - -.btn-outline-info:focus, .btn-outline-info.focus { - -webkit-box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5); - box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5); -} - -.btn-outline-info.disabled, .btn-outline-info:disabled { - color: #5bc0de; - background-color: transparent; -} - -.btn-outline-info:active, .btn-outline-info.active, -.show > .btn-outline-info.dropdown-toggle { - color: #fff; - background-color: #5bc0de; - border-color: #5bc0de; -} - -.btn-outline-success { - color: #5cb85c; - background-image: none; - background-color: transparent; - border-color: #5cb85c; -} - -.btn-outline-success:hover { - color: #fff; - background-color: #5cb85c; - border-color: #5cb85c; -} - -.btn-outline-success:focus, .btn-outline-success.focus { - -webkit-box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5); - box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5); -} - -.btn-outline-success.disabled, .btn-outline-success:disabled { - color: #5cb85c; - background-color: transparent; -} - -.btn-outline-success:active, .btn-outline-success.active, -.show > .btn-outline-success.dropdown-toggle { - color: #fff; - background-color: #5cb85c; - border-color: #5cb85c; -} - -.btn-outline-warning { - color: #f0ad4e; - background-image: none; - background-color: transparent; - border-color: #f0ad4e; -} - -.btn-outline-warning:hover { - color: #fff; - background-color: #f0ad4e; - border-color: #f0ad4e; -} - -.btn-outline-warning:focus, .btn-outline-warning.focus { - -webkit-box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5); - box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5); -} - -.btn-outline-warning.disabled, .btn-outline-warning:disabled { - color: #f0ad4e; - background-color: transparent; -} - -.btn-outline-warning:active, .btn-outline-warning.active, -.show > .btn-outline-warning.dropdown-toggle { - color: #fff; - background-color: #f0ad4e; - border-color: #f0ad4e; -} - -.btn-outline-danger { - color: #d9534f; - background-image: none; - background-color: transparent; - border-color: #d9534f; -} - -.btn-outline-danger:hover { - color: #fff; - background-color: #d9534f; - border-color: #d9534f; -} - -.btn-outline-danger:focus, .btn-outline-danger.focus { - -webkit-box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5); - box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5); -} - -.btn-outline-danger.disabled, .btn-outline-danger:disabled { - color: #d9534f; - background-color: transparent; -} - -.btn-outline-danger:active, .btn-outline-danger.active, -.show > .btn-outline-danger.dropdown-toggle { - color: #fff; - background-color: #d9534f; - border-color: #d9534f; -} - -.btn-link { - font-weight: normal; - color: #0275d8; - border-radius: 0; -} - -.btn-link, .btn-link:active, .btn-link.active, .btn-link:disabled { - background-color: transparent; -} - -.btn-link, .btn-link:focus, .btn-link:active { - border-color: transparent; -} - -.btn-link:hover { - border-color: transparent; -} - -.btn-link:focus, .btn-link:hover { - color: #014c8c; - text-decoration: underline; - background-color: transparent; -} - -.btn-link:disabled { - color: #636c72; -} - -.btn-link:disabled:focus, .btn-link:disabled:hover { - text-decoration: none; -} - -.btn-lg, .btn-group-lg > .btn { - padding: 0.75rem 1.5rem; - font-size: 1.25rem; - border-radius: 0.3rem; -} - -.btn-sm, .btn-group-sm > .btn { - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - border-radius: 0.2rem; -} - -.btn-block { - display: block; - width: 100%; -} - -.btn-block + .btn-block { - margin-top: 0.5rem; -} - -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.show { - opacity: 1; -} - -.collapse { - display: none; -} - -.collapse.show { - display: block; -} - -tr.collapse.show { - display: table-row; -} - -tbody.collapse.show { - display: table-row-group; -} - -.collapsing { - position: relative; - height: 0; - overflow: hidden; - -webkit-transition: height 0.35s ease; - -o-transition: height 0.35s ease; - transition: height 0.35s ease; -} - -.dropup, -.dropdown { - position: relative; -} - -.dropdown-toggle::after { - display: inline-block; - width: 0; - height: 0; - margin-left: 0.3em; - vertical-align: middle; - content: ""; - border-top: 0.3em solid; - border-right: 0.3em solid transparent; - border-left: 0.3em solid transparent; -} - -.dropdown-toggle:focus { - outline: 0; -} - -.dropup .dropdown-toggle::after { - border-top: 0; - border-bottom: 0.3em solid; -} - -.dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: 1000; - display: none; - float: left; - min-width: 10rem; - padding: 0.5rem 0; - margin: 0.125rem 0 0; - font-size: 1rem; - color: #292b2c; - text-align: left; - list-style: none; - background-color: #fff; - -webkit-background-clip: padding-box; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.15); - border-radius: 0.25rem; -} - -.dropdown-divider { - height: 1px; - margin: 0.5rem 0; - overflow: hidden; - background-color: #eceeef; -} - -.dropdown-item { - display: block; - width: 100%; - padding: 3px 1.5rem; - clear: both; - font-weight: normal; - color: #292b2c; - text-align: inherit; - white-space: nowrap; - background: none; - border: 0; -} - -.dropdown-item:focus, .dropdown-item:hover { - color: #1d1e1f; - text-decoration: none; - background-color: #f7f7f9; -} - -.dropdown-item.active, .dropdown-item:active { - color: #fff; - text-decoration: none; - background-color: #0275d8; -} - -.dropdown-item.disabled, .dropdown-item:disabled { - color: #636c72; - cursor: not-allowed; - background-color: transparent; -} - -.show > .dropdown-menu { - display: block; -} - -.show > a { - outline: 0; -} - -.dropdown-menu-right { - right: 0; - left: auto; -} - -.dropdown-menu-left { - right: auto; - left: 0; -} - -.dropdown-header { - display: block; - padding: 0.5rem 1.5rem; - margin-bottom: 0; - font-size: 0.875rem; - color: #636c72; - white-space: nowrap; -} - -.dropdown-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 990; -} - -.dropup .dropdown-menu { - top: auto; - bottom: 100%; - margin-bottom: 0.125rem; -} - -.btn-group, -.btn-group-vertical { - position: relative; - display: -webkit-inline-box; - display: -webkit-inline-flex; - display: -ms-inline-flexbox; - display: inline-flex; - vertical-align: middle; -} - -.btn-group > .btn, -.btn-group-vertical > .btn { - position: relative; - -webkit-box-flex: 0; - -webkit-flex: 0 1 auto; - -ms-flex: 0 1 auto; - flex: 0 1 auto; -} - -.btn-group > .btn:hover, -.btn-group-vertical > .btn:hover { - z-index: 2; -} - -.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, -.btn-group-vertical > .btn:focus, -.btn-group-vertical > .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, -.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-left: -1px; -} - -.btn-toolbar { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: start; - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start; -} - -.btn-toolbar .input-group { - width: auto; -} - -.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 + .dropdown-toggle-split { - padding-right: 0.75rem; - padding-left: 0.75rem; -} - -.btn + .dropdown-toggle-split::after { - margin-left: 0; -} - -.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { - padding-right: 0.375rem; - padding-left: 0.375rem; -} - -.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { - padding-right: 1.125rem; - padding-left: 1.125rem; -} - -.btn-group-vertical { - display: -webkit-inline-box; - display: -webkit-inline-flex; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-align: start; - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; -} - -.btn-group-vertical .btn, -.btn-group-vertical .btn-group { - width: 100%; -} - -.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-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} - -.btn-group-vertical > .btn:last-child:not(:first-child) { - 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; -} - -[data-toggle="buttons"] > .btn input[type="radio"], -[data-toggle="buttons"] > .btn input[type="checkbox"], -[data-toggle="buttons"] > .btn-group > .btn input[type="radio"], -[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: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - width: 100%; -} - -.input-group .form-control { - position: relative; - z-index: 2; - -webkit-box-flex: 1; - -webkit-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - width: 1%; - margin-bottom: 0; -} - -.input-group .form-control:focus, .input-group .form-control:active, .input-group .form-control:hover { - z-index: 3; -} - -.input-group-addon, -.input-group-btn, -.input-group .form-control { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; -} - -.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 { - white-space: nowrap; - vertical-align: middle; -} - -.input-group-addon { - padding: 0.5rem 0.75rem; - margin-bottom: 0; - font-size: 1rem; - font-weight: normal; - line-height: 1.25; - color: #464a4c; - text-align: center; - background-color: #eceeef; - border: 1px solid rgba(0, 0, 0, 0.15); - border-radius: 0.25rem; -} - -.input-group-addon.form-control-sm, -.input-group-sm > .input-group-addon, -.input-group-sm > .input-group-btn > .input-group-addon.btn { - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - border-radius: 0.2rem; -} - -.input-group-addon.form-control-lg, -.input-group-lg > .input-group-addon, -.input-group-lg > .input-group-btn > .input-group-addon.btn { - padding: 0.75rem 1.5rem; - font-size: 1.25rem; - border-radius: 0.3rem; -} - -.input-group-addon input[type="radio"], -.input-group-addon input[type="checkbox"] { - margin-top: 0; -} - -.input-group .form-control:not(:last-child), -.input-group-addon:not(:last-child), -.input-group-btn:not(:last-child) > .btn, -.input-group-btn:not(:last-child) > .btn-group > .btn, -.input-group-btn:not(:last-child) > .dropdown-toggle, -.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle), -.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn { - border-bottom-right-radius: 0; - border-top-right-radius: 0; -} - -.input-group-addon:not(:last-child) { - border-right: 0; -} - -.input-group .form-control:not(:first-child), -.input-group-addon:not(:first-child), -.input-group-btn:not(:first-child) > .btn, -.input-group-btn:not(:first-child) > .btn-group > .btn, -.input-group-btn:not(:first-child) > .dropdown-toggle, -.input-group-btn:not(:last-child) > .btn:not(:first-child), -.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn { - border-bottom-left-radius: 0; - border-top-left-radius: 0; -} - -.form-control + .input-group-addon:not(:first-child) { - border-left: 0; -} - -.input-group-btn { - position: relative; - font-size: 0; - white-space: nowrap; -} - -.input-group-btn > .btn { - position: relative; - -webkit-box-flex: 1; - -webkit-flex: 1 1 0%; - -ms-flex: 1 1 0%; - flex: 1 1 0%; -} - -.input-group-btn > .btn + .btn { - margin-left: -1px; -} - -.input-group-btn > .btn:focus, .input-group-btn > .btn:active, .input-group-btn > .btn:hover { - z-index: 3; -} - -.input-group-btn:not(:last-child) > .btn, -.input-group-btn:not(:last-child) > .btn-group { - margin-right: -1px; -} - -.input-group-btn:not(:first-child) > .btn, -.input-group-btn:not(:first-child) > .btn-group { - z-index: 2; - margin-left: -1px; -} - -.input-group-btn:not(:first-child) > .btn:focus, .input-group-btn:not(:first-child) > .btn:active, .input-group-btn:not(:first-child) > .btn:hover, -.input-group-btn:not(:first-child) > .btn-group:focus, -.input-group-btn:not(:first-child) > .btn-group:active, -.input-group-btn:not(:first-child) > .btn-group:hover { - z-index: 3; -} - -.custom-control { - position: relative; - display: -webkit-inline-box; - display: -webkit-inline-flex; - display: -ms-inline-flexbox; - display: inline-flex; - min-height: 1.5rem; - padding-left: 1.5rem; - margin-right: 1rem; - cursor: pointer; -} - -.custom-control-input { - position: absolute; - z-index: -1; - opacity: 0; -} - -.custom-control-input:checked ~ .custom-control-indicator { - color: #fff; - background-color: #0275d8; -} - -.custom-control-input:focus ~ .custom-control-indicator { - -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 3px #0275d8; - box-shadow: 0 0 0 1px #fff, 0 0 0 3px #0275d8; -} - -.custom-control-input:active ~ .custom-control-indicator { - color: #fff; - background-color: #8fcafe; -} - -.custom-control-input:disabled ~ .custom-control-indicator { - cursor: not-allowed; - background-color: #eceeef; -} - -.custom-control-input:disabled ~ .custom-control-description { - color: #636c72; - cursor: not-allowed; -} - -.custom-control-indicator { - position: absolute; - top: 0.25rem; - left: 0; - display: block; - width: 1rem; - height: 1rem; - pointer-events: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background-color: #ddd; - background-repeat: no-repeat; - background-position: center center; - -webkit-background-size: 50% 50%; - background-size: 50% 50%; -} - -.custom-checkbox .custom-control-indicator { - border-radius: 0.25rem; -} - -.custom-checkbox .custom-control-input:checked ~ .custom-control-indicator { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E"); -} - -.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-indicator { - background-color: #0275d8; - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E"); -} - -.custom-radio .custom-control-indicator { - border-radius: 50%; -} - -.custom-radio .custom-control-input:checked ~ .custom-control-indicator { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E"); -} - -.custom-controls-stacked { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; -} - -.custom-controls-stacked .custom-control { - margin-bottom: 0.25rem; -} - -.custom-controls-stacked .custom-control + .custom-control { - margin-left: 0; -} - -.custom-select { - display: inline-block; - max-width: 100%; - height: calc(2.25rem + 2px); - padding: 0.375rem 1.75rem 0.375rem 0.75rem; - line-height: 1.25; - color: #464a4c; - vertical-align: middle; - background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center; - -webkit-background-size: 8px 10px; - background-size: 8px 10px; - border: 1px solid rgba(0, 0, 0, 0.15); - border-radius: 0.25rem; - -moz-appearance: none; - -webkit-appearance: none; -} - -.custom-select:focus { - border-color: #5cb3fd; - outline: none; -} - -.custom-select:focus::-ms-value { - color: #464a4c; - background-color: #fff; -} - -.custom-select:disabled { - color: #636c72; - cursor: not-allowed; - background-color: #eceeef; -} - -.custom-select::-ms-expand { - opacity: 0; -} - -.custom-select-sm { - padding-top: 0.375rem; - padding-bottom: 0.375rem; - font-size: 75%; -} - -.custom-file { - position: relative; - display: inline-block; - max-width: 100%; - height: 2.5rem; - margin-bottom: 0; - cursor: pointer; -} - -.custom-file-input { - min-width: 14rem; - max-width: 100%; - height: 2.5rem; - margin: 0; - filter: alpha(opacity=0); - opacity: 0; -} - -.custom-file-control { - position: absolute; - top: 0; - right: 0; - left: 0; - z-index: 5; - height: 2.5rem; - padding: 0.5rem 1rem; - line-height: 1.5; - color: #464a4c; - pointer-events: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background-color: #fff; - border: 1px solid rgba(0, 0, 0, 0.15); - border-radius: 0.25rem; -} - -.custom-file-control:lang(en)::after { - content: "Choose file..."; -} - -.custom-file-control::before { - position: absolute; - top: -1px; - right: -1px; - bottom: -1px; - z-index: 6; - display: block; - height: 2.5rem; - padding: 0.5rem 1rem; - line-height: 1.5; - color: #464a4c; - background-color: #eceeef; - border: 1px solid rgba(0, 0, 0, 0.15); - border-radius: 0 0.25rem 0.25rem 0; -} - -.custom-file-control:lang(en)::before { - content: "Browse"; -} - -.nav { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - padding-left: 0; - margin-bottom: 0; - list-style: none; -} - -.nav-link { - display: block; - padding: 0.5em 1em; -} - -.nav-link:focus, .nav-link:hover { - text-decoration: none; -} - -.nav-link.disabled { - color: #636c72; - cursor: not-allowed; -} - -.nav-tabs { - border-bottom: 1px solid #ddd; -} - -.nav-tabs .nav-item { - margin-bottom: -1px; -} - -.nav-tabs .nav-link { - border: 1px solid transparent; - border-top-right-radius: 0.25rem; - border-top-left-radius: 0.25rem; -} - -.nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover { - border-color: #eceeef #eceeef #ddd; -} - -.nav-tabs .nav-link.disabled { - color: #636c72; - background-color: transparent; - border-color: transparent; -} - -.nav-tabs .nav-link.active, -.nav-tabs .nav-item.show .nav-link { - color: #464a4c; - background-color: #fff; - border-color: #ddd #ddd #fff; -} - -.nav-tabs .dropdown-menu { - margin-top: -1px; - border-top-right-radius: 0; - border-top-left-radius: 0; -} - -.nav-pills .nav-link { - border-radius: 0.25rem; -} - -.nav-pills .nav-link.active, -.nav-pills .nav-item.show .nav-link { - color: #fff; - cursor: default; - background-color: #0275d8; -} - -.nav-fill .nav-item { - -webkit-box-flex: 1; - -webkit-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - text-align: center; -} - -.nav-justified .nav-item { - -webkit-box-flex: 1; - -webkit-flex: 1 1 100%; - -ms-flex: 1 1 100%; - flex: 1 1 100%; - text-align: center; -} - -.tab-content > .tab-pane { - display: none; -} - -.tab-content > .active { - display: block; -} - -.navbar { - position: relative; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - padding: 0.5rem 1rem; -} - -.navbar-brand { - display: inline-block; - padding-top: .25rem; - padding-bottom: .25rem; - margin-right: 1rem; - font-size: 1.25rem; - line-height: inherit; - white-space: nowrap; -} - -.navbar-brand:focus, .navbar-brand:hover { - text-decoration: none; -} - -.navbar-nav { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - padding-left: 0; - margin-bottom: 0; - list-style: none; -} - -.navbar-nav .nav-link { - padding-right: 0; - padding-left: 0; -} - -.navbar-text { - display: inline-block; - padding-top: .425rem; - padding-bottom: .425rem; -} - -.navbar-toggler { - -webkit-align-self: flex-start; - -ms-flex-item-align: start; - align-self: flex-start; - padding: 0.25rem 0.75rem; - font-size: 1.25rem; - line-height: 1; - background: transparent; - border: 1px solid transparent; - border-radius: 0.25rem; -} - -.navbar-toggler:focus, .navbar-toggler:hover { - text-decoration: none; -} - -.navbar-toggler-icon { - display: inline-block; - width: 1.5em; - height: 1.5em; - vertical-align: middle; - content: ""; - background: no-repeat center center; - -webkit-background-size: 100% 100%; - background-size: 100% 100%; -} - -.navbar-toggler-left { - position: absolute; - left: 1rem; -} - -.navbar-toggler-right { - position: absolute; - right: 1rem; -} - -@media (max-width: 575px) { - .navbar-toggleable .navbar-nav .dropdown-menu { - position: static; - float: none; - } - .navbar-toggleable > .container { - padding-right: 0; - padding-left: 0; - } -} - -@media (min-width: 576px) { - .navbar-toggleable { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - } - .navbar-toggleable .navbar-nav { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - } - .navbar-toggleable .navbar-nav .nav-link { - padding-right: .5rem; - padding-left: .5rem; - } - .navbar-toggleable > .container { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - } - .navbar-toggleable .navbar-collapse { - display: -webkit-box !important; - display: -webkit-flex !important; - display: -ms-flexbox !important; - display: flex !important; - width: 100%; - } - .navbar-toggleable .navbar-toggler { - display: none; - } -} - -@media (max-width: 767px) { - .navbar-toggleable-sm .navbar-nav .dropdown-menu { - position: static; - float: none; - } - .navbar-toggleable-sm > .container { - padding-right: 0; - padding-left: 0; - } -} - -@media (min-width: 768px) { - .navbar-toggleable-sm { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - } - .navbar-toggleable-sm .navbar-nav { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - } - .navbar-toggleable-sm .navbar-nav .nav-link { - padding-right: .5rem; - padding-left: .5rem; - } - .navbar-toggleable-sm > .container { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - } - .navbar-toggleable-sm .navbar-collapse { - display: -webkit-box !important; - display: -webkit-flex !important; - display: -ms-flexbox !important; - display: flex !important; - width: 100%; - } - .navbar-toggleable-sm .navbar-toggler { - display: none; - } -} - -@media (max-width: 991px) { - .navbar-toggleable-md .navbar-nav .dropdown-menu { - position: static; - float: none; - } - .navbar-toggleable-md > .container { - padding-right: 0; - padding-left: 0; - } -} - -@media (min-width: 992px) { - .navbar-toggleable-md { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - } - .navbar-toggleable-md .navbar-nav { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - } - .navbar-toggleable-md .navbar-nav .nav-link { - padding-right: .5rem; - padding-left: .5rem; - } - .navbar-toggleable-md > .container { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - } - .navbar-toggleable-md .navbar-collapse { - display: -webkit-box !important; - display: -webkit-flex !important; - display: -ms-flexbox !important; - display: flex !important; - width: 100%; - } - .navbar-toggleable-md .navbar-toggler { - display: none; - } -} - -@media (max-width: 1199px) { - .navbar-toggleable-lg .navbar-nav .dropdown-menu { - position: static; - float: none; - } - .navbar-toggleable-lg > .container { - padding-right: 0; - padding-left: 0; - } -} - -@media (min-width: 1200px) { - .navbar-toggleable-lg { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - } - .navbar-toggleable-lg .navbar-nav { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - } - .navbar-toggleable-lg .navbar-nav .nav-link { - padding-right: .5rem; - padding-left: .5rem; - } - .navbar-toggleable-lg > .container { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - } - .navbar-toggleable-lg .navbar-collapse { - display: -webkit-box !important; - display: -webkit-flex !important; - display: -ms-flexbox !important; - display: flex !important; - width: 100%; - } - .navbar-toggleable-lg .navbar-toggler { - display: none; - } -} - -.navbar-toggleable-xl { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; -} - -.navbar-toggleable-xl .navbar-nav .dropdown-menu { - position: static; - float: none; -} - -.navbar-toggleable-xl > .container { - padding-right: 0; - padding-left: 0; -} - -.navbar-toggleable-xl .navbar-nav { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; -} - -.navbar-toggleable-xl .navbar-nav .nav-link { - padding-right: .5rem; - padding-left: .5rem; -} - -.navbar-toggleable-xl > .container { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; -} - -.navbar-toggleable-xl .navbar-collapse { - display: -webkit-box !important; - display: -webkit-flex !important; - display: -ms-flexbox !important; - display: flex !important; - width: 100%; -} - -.navbar-toggleable-xl .navbar-toggler { - display: none; -} - -.navbar-light .navbar-brand, -.navbar-light .navbar-toggler { - color: rgba(0, 0, 0, 0.9); -} - -.navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover, -.navbar-light .navbar-toggler:focus, -.navbar-light .navbar-toggler:hover { - color: rgba(0, 0, 0, 0.9); -} - -.navbar-light .navbar-nav .nav-link { - color: rgba(0, 0, 0, 0.5); -} - -.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover { - color: rgba(0, 0, 0, 0.7); -} - -.navbar-light .navbar-nav .nav-link.disabled { - color: rgba(0, 0, 0, 0.3); -} - -.navbar-light .navbar-nav .open > .nav-link, -.navbar-light .navbar-nav .active > .nav-link, -.navbar-light .navbar-nav .nav-link.open, -.navbar-light .navbar-nav .nav-link.active { - color: rgba(0, 0, 0, 0.9); -} - -.navbar-light .navbar-toggler { - border-color: rgba(0, 0, 0, 0.1); -} - -.navbar-light .navbar-toggler-icon { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E"); -} - -.navbar-light .navbar-text { - color: rgba(0, 0, 0, 0.5); -} - -.navbar-inverse .navbar-brand, -.navbar-inverse .navbar-toggler { - color: white; -} - -.navbar-inverse .navbar-brand:focus, .navbar-inverse .navbar-brand:hover, -.navbar-inverse .navbar-toggler:focus, -.navbar-inverse .navbar-toggler:hover { - color: white; -} - -.navbar-inverse .navbar-nav .nav-link { - color: rgba(255, 255, 255, 0.5); -} - -.navbar-inverse .navbar-nav .nav-link:focus, .navbar-inverse .navbar-nav .nav-link:hover { - color: rgba(255, 255, 255, 0.75); -} - -.navbar-inverse .navbar-nav .nav-link.disabled { - color: rgba(255, 255, 255, 0.25); -} - -.navbar-inverse .navbar-nav .open > .nav-link, -.navbar-inverse .navbar-nav .active > .nav-link, -.navbar-inverse .navbar-nav .nav-link.open, -.navbar-inverse .navbar-nav .nav-link.active { - color: white; -} - -.navbar-inverse .navbar-toggler { - border-color: rgba(255, 255, 255, 0.1); -} - -.navbar-inverse .navbar-toggler-icon { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E"); -} - -.navbar-inverse .navbar-text { - color: rgba(255, 255, 255, 0.5); -} - -.card { - position: relative; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - background-color: #fff; - border: 1px solid rgba(0, 0, 0, 0.125); - border-radius: 0.25rem; -} - -.card-block { - -webkit-box-flex: 1; - -webkit-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - padding: 1.25rem; -} - -.card-title { - margin-bottom: 0.75rem; -} - -.card-subtitle { - margin-top: -0.375rem; - margin-bottom: 0; -} - -.card-text:last-child { - margin-bottom: 0; -} - -.card-link:hover { - text-decoration: none; -} - -.card-link + .card-link { - margin-left: 1.25rem; -} - -.card > .list-group:first-child .list-group-item:first-child { - border-top-right-radius: 0.25rem; - border-top-left-radius: 0.25rem; -} - -.card > .list-group:last-child .list-group-item:last-child { - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; -} - -.card-header { - padding: 0.75rem 1.25rem; - margin-bottom: 0; - background-color: #f7f7f9; - border-bottom: 1px solid rgba(0, 0, 0, 0.125); -} - -.card-header:first-child { - border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; -} - -.card-footer { - padding: 0.75rem 1.25rem; - background-color: #f7f7f9; - border-top: 1px solid rgba(0, 0, 0, 0.125); -} - -.card-footer:last-child { - border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); -} - -.card-header-tabs { - margin-right: -0.625rem; - margin-bottom: -0.75rem; - margin-left: -0.625rem; - border-bottom: 0; -} - -.card-header-pills { - margin-right: -0.625rem; - margin-left: -0.625rem; -} - -.card-primary { - background-color: #0275d8; - border-color: #0275d8; -} - -.card-primary .card-header, -.card-primary .card-footer { - background-color: transparent; -} - -.card-success { - background-color: #5cb85c; - border-color: #5cb85c; -} - -.card-success .card-header, -.card-success .card-footer { - background-color: transparent; -} - -.card-info { - background-color: #5bc0de; - border-color: #5bc0de; -} - -.card-info .card-header, -.card-info .card-footer { - background-color: transparent; -} - -.card-warning { - background-color: #f0ad4e; - border-color: #f0ad4e; -} - -.card-warning .card-header, -.card-warning .card-footer { - background-color: transparent; -} - -.card-danger { - background-color: #d9534f; - border-color: #d9534f; -} - -.card-danger .card-header, -.card-danger .card-footer { - background-color: transparent; -} - -.card-outline-primary { - background-color: transparent; - border-color: #0275d8; -} - -.card-outline-secondary { - background-color: transparent; - border-color: #ccc; -} - -.card-outline-info { - background-color: transparent; - border-color: #5bc0de; -} - -.card-outline-success { - background-color: transparent; - border-color: #5cb85c; -} - -.card-outline-warning { - background-color: transparent; - border-color: #f0ad4e; -} - -.card-outline-danger { - background-color: transparent; - border-color: #d9534f; -} - -.card-inverse { - color: rgba(255, 255, 255, 0.65); -} - -.card-inverse .card-header, -.card-inverse .card-footer { - background-color: transparent; - border-color: rgba(255, 255, 255, 0.2); -} - -.card-inverse .card-header, -.card-inverse .card-footer, -.card-inverse .card-title, -.card-inverse .card-blockquote { - color: #fff; -} - -.card-inverse .card-link, -.card-inverse .card-text, -.card-inverse .card-subtitle, -.card-inverse .card-blockquote .blockquote-footer { - color: rgba(255, 255, 255, 0.65); -} - -.card-inverse .card-link:focus, .card-inverse .card-link:hover { - color: #fff; -} - -.card-blockquote { - padding: 0; - margin-bottom: 0; - border-left: 0; -} - -.card-img { - border-radius: calc(0.25rem - 1px); -} - -.card-img-overlay { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - padding: 1.25rem; -} - -.card-img-top { - border-top-right-radius: calc(0.25rem - 1px); - border-top-left-radius: calc(0.25rem - 1px); -} - -.card-img-bottom { - border-bottom-right-radius: calc(0.25rem - 1px); - border-bottom-left-radius: calc(0.25rem - 1px); -} - -@media (min-width: 576px) { - .card-deck { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-flow: row wrap; - -ms-flex-flow: row wrap; - flex-flow: row wrap; - } - .card-deck .card { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-flex: 1; - -webkit-flex: 1 0 0%; - -ms-flex: 1 0 0%; - flex: 1 0 0%; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - } - .card-deck .card:not(:first-child) { - margin-left: 15px; - } - .card-deck .card:not(:last-child) { - margin-right: 15px; - } -} - -@media (min-width: 576px) { - .card-group { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-flow: row wrap; - -ms-flex-flow: row wrap; - flex-flow: row wrap; - } - .card-group .card { - -webkit-box-flex: 1; - -webkit-flex: 1 0 0%; - -ms-flex: 1 0 0%; - flex: 1 0 0%; - } - .card-group .card + .card { - margin-left: 0; - border-left: 0; - } - .card-group .card:first-child { - border-bottom-right-radius: 0; - border-top-right-radius: 0; - } - .card-group .card:first-child .card-img-top { - border-top-right-radius: 0; - } - .card-group .card:first-child .card-img-bottom { - border-bottom-right-radius: 0; - } - .card-group .card:last-child { - border-bottom-left-radius: 0; - border-top-left-radius: 0; - } - .card-group .card:last-child .card-img-top { - border-top-left-radius: 0; - } - .card-group .card:last-child .card-img-bottom { - border-bottom-left-radius: 0; - } - .card-group .card:not(:first-child):not(:last-child) { - border-radius: 0; - } - .card-group .card:not(:first-child):not(:last-child) .card-img-top, - .card-group .card:not(:first-child):not(:last-child) .card-img-bottom { - border-radius: 0; - } -} - -@media (min-width: 576px) { - .card-columns { - -webkit-column-count: 3; - -moz-column-count: 3; - column-count: 3; - -webkit-column-gap: 1.25rem; - -moz-column-gap: 1.25rem; - column-gap: 1.25rem; - } - .card-columns .card { - display: inline-block; - width: 100%; - margin-bottom: 0.75rem; - } -} - -.breadcrumb { - padding: 0.75rem 1rem; - margin-bottom: 1rem; - list-style: none; - background-color: #eceeef; - border-radius: 0.25rem; -} - -.breadcrumb::after { - display: block; - content: ""; - clear: both; -} - -.breadcrumb-item { - float: left; -} - -.breadcrumb-item + .breadcrumb-item::before { - display: inline-block; - padding-right: 0.5rem; - padding-left: 0.5rem; - color: #636c72; - content: "/"; -} - -.breadcrumb-item + .breadcrumb-item:hover::before { - text-decoration: underline; -} - -.breadcrumb-item + .breadcrumb-item:hover::before { - text-decoration: none; -} - -.breadcrumb-item.active { - color: #636c72; -} - -.pagination { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - padding-left: 0; - list-style: none; - border-radius: 0.25rem; -} - -.page-item:first-child .page-link { - margin-left: 0; - border-bottom-left-radius: 0.25rem; - border-top-left-radius: 0.25rem; -} - -.page-item:last-child .page-link { - border-bottom-right-radius: 0.25rem; - border-top-right-radius: 0.25rem; -} - -.page-item.active .page-link { - z-index: 2; - color: #fff; - background-color: #0275d8; - border-color: #0275d8; -} - -.page-item.disabled .page-link { - color: #636c72; - pointer-events: none; - cursor: not-allowed; - background-color: #fff; - border-color: #ddd; -} - -.page-link { - position: relative; - display: block; - padding: 0.5rem 0.75rem; - margin-left: -1px; - line-height: 1.25; - color: #0275d8; - background-color: #fff; - border: 1px solid #ddd; -} - -.page-link:focus, .page-link:hover { - color: #014c8c; - text-decoration: none; - background-color: #eceeef; - border-color: #ddd; -} - -.pagination-lg .page-link { - padding: 0.75rem 1.5rem; - font-size: 1.25rem; -} - -.pagination-lg .page-item:first-child .page-link { - border-bottom-left-radius: 0.3rem; - border-top-left-radius: 0.3rem; -} - -.pagination-lg .page-item:last-child .page-link { - border-bottom-right-radius: 0.3rem; - border-top-right-radius: 0.3rem; -} - -.pagination-sm .page-link { - padding: 0.25rem 0.5rem; - font-size: 0.875rem; -} - -.pagination-sm .page-item:first-child .page-link { - border-bottom-left-radius: 0.2rem; - border-top-left-radius: 0.2rem; -} - -.pagination-sm .page-item:last-child .page-link { - border-bottom-right-radius: 0.2rem; - border-top-right-radius: 0.2rem; -} - -.badge { - display: inline-block; - padding: 0.25em 0.4em; - font-size: 75%; - font-weight: bold; - line-height: 1; - color: #fff; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: 0.25rem; -} - -.badge:empty { - display: none; -} - -.btn .badge { - position: relative; - top: -1px; -} - -a.badge:focus, a.badge:hover { - color: #fff; - text-decoration: none; - cursor: pointer; -} - -.badge-pill { - padding-right: 0.6em; - padding-left: 0.6em; - border-radius: 10rem; -} - -.badge-default { - background-color: #636c72; -} - -.badge-default[href]:focus, .badge-default[href]:hover { - background-color: #4b5257; -} - -.badge-primary { - background-color: #0275d8; -} - -.badge-primary[href]:focus, .badge-primary[href]:hover { - background-color: #025aa5; -} - -.badge-success { - background-color: #5cb85c; -} - -.badge-success[href]:focus, .badge-success[href]:hover { - background-color: #449d44; -} - -.badge-info { - background-color: #5bc0de; -} - -.badge-info[href]:focus, .badge-info[href]:hover { - background-color: #31b0d5; -} - -.badge-warning { - background-color: #f0ad4e; -} - -.badge-warning[href]:focus, .badge-warning[href]:hover { - background-color: #ec971f; -} - -.badge-danger { - background-color: #d9534f; -} - -.badge-danger[href]:focus, .badge-danger[href]:hover { - background-color: #c9302c; -} - -.jumbotron { - padding: 2rem 1rem; - margin-bottom: 2rem; - background-color: #eceeef; - border-radius: 0.3rem; -} - -@media (min-width: 576px) { - .jumbotron { - padding: 4rem 2rem; - } -} - -.jumbotron-hr { - border-top-color: #d0d5d8; -} - -.jumbotron-fluid { - padding-right: 0; - padding-left: 0; - border-radius: 0; -} - -.alert { - padding: 0.75rem 1.25rem; - margin-bottom: 1rem; - border: 1px solid transparent; - border-radius: 0.25rem; -} - -.alert-heading { - color: inherit; -} - -.alert-link { - font-weight: bold; -} - -.alert-dismissible .close { - position: relative; - top: -0.75rem; - right: -1.25rem; - padding: 0.75rem 1.25rem; - color: inherit; -} - -.alert-success { - background-color: #dff0d8; - border-color: #d0e9c6; - color: #3c763d; -} - -.alert-success hr { - border-top-color: #c1e2b3; -} - -.alert-success .alert-link { - color: #2b542c; -} - -.alert-info { - background-color: #d9edf7; - border-color: #bcdff1; - color: #31708f; -} - -.alert-info hr { - border-top-color: #a6d5ec; -} - -.alert-info .alert-link { - color: #245269; -} - -.alert-warning { - background-color: #fcf8e3; - border-color: #faf2cc; - color: #8a6d3b; -} - -.alert-warning hr { - border-top-color: #f7ecb5; -} - -.alert-warning .alert-link { - color: #66512c; -} - -.alert-danger { - background-color: #f2dede; - border-color: #ebcccc; - color: #a94442; -} - -.alert-danger hr { - border-top-color: #e4b9b9; -} - -.alert-danger .alert-link { - color: #843534; -} - -@-webkit-keyframes progress-bar-stripes { - from { - background-position: 1rem 0; - } - to { - background-position: 0 0; - } -} - -@-o-keyframes progress-bar-stripes { - from { - background-position: 1rem 0; - } - to { - background-position: 0 0; - } -} - -@keyframes progress-bar-stripes { - from { - background-position: 1rem 0; - } - to { - background-position: 0 0; - } -} - -.progress { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - overflow: hidden; - font-size: 0.75rem; - line-height: 1rem; - text-align: center; - background-color: #eceeef; - border-radius: 0.25rem; -} - -.progress-bar { - height: 1rem; - color: #fff; - background-color: #0275d8; -} - -.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: 1rem 1rem; - background-size: 1rem 1rem; -} - -.progress-bar-animated { - -webkit-animation: progress-bar-stripes 1s linear infinite; - -o-animation: progress-bar-stripes 1s linear infinite; - animation: progress-bar-stripes 1s linear infinite; -} - -.media { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-align: start; - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; -} - -.media-body { - -webkit-box-flex: 1; - -webkit-flex: 1 1 0%; - -ms-flex: 1 1 0%; - flex: 1 1 0%; -} - -.list-group { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - padding-left: 0; - margin-bottom: 0; -} - -.list-group-item-action { - width: 100%; - color: #464a4c; - text-align: inherit; -} - -.list-group-item-action .list-group-item-heading { - color: #292b2c; -} - -.list-group-item-action:focus, .list-group-item-action:hover { - color: #464a4c; - text-decoration: none; - background-color: #f7f7f9; -} - -.list-group-item-action:active { - color: #292b2c; - background-color: #eceeef; -} - -.list-group-item { - position: relative; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-flow: row wrap; - -ms-flex-flow: row wrap; - flex-flow: row wrap; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - padding: 0.75rem 1.25rem; - margin-bottom: -1px; - background-color: #fff; - border: 1px solid rgba(0, 0, 0, 0.125); -} - -.list-group-item:first-child { - border-top-right-radius: 0.25rem; - border-top-left-radius: 0.25rem; -} - -.list-group-item:last-child { - margin-bottom: 0; - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; -} - -.list-group-item:focus, .list-group-item:hover { - text-decoration: none; -} - -.list-group-item.disabled, .list-group-item:disabled { - color: #636c72; - cursor: not-allowed; - background-color: #fff; -} - -.list-group-item.disabled .list-group-item-heading, .list-group-item:disabled .list-group-item-heading { - color: inherit; -} - -.list-group-item.disabled .list-group-item-text, .list-group-item:disabled .list-group-item-text { - color: #636c72; -} - -.list-group-item.active { - z-index: 2; - color: #fff; - background-color: #0275d8; - border-color: #0275d8; -} - -.list-group-item.active .list-group-item-heading, -.list-group-item.active .list-group-item-heading > small, -.list-group-item.active .list-group-item-heading > .small { - color: inherit; -} - -.list-group-item.active .list-group-item-text { - color: #daeeff; -} - -.list-group-flush .list-group-item { - border-right: 0; - border-left: 0; - border-radius: 0; -} - -.list-group-flush:first-child .list-group-item:first-child { - border-top: 0; -} - -.list-group-flush:last-child .list-group-item:last-child { - border-bottom: 0; -} - -.list-group-item-success { - color: #3c763d; - background-color: #dff0d8; -} - -a.list-group-item-success, -button.list-group-item-success { - color: #3c763d; -} - -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:focus, a.list-group-item-success:hover, -button.list-group-item-success:focus, -button.list-group-item-success:hover { - color: #3c763d; - background-color: #d0e9c6; -} - -a.list-group-item-success.active, -button.list-group-item-success.active { - color: #fff; - background-color: #3c763d; - border-color: #3c763d; -} - -.list-group-item-info { - color: #31708f; - background-color: #d9edf7; -} - -a.list-group-item-info, -button.list-group-item-info { - color: #31708f; -} - -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:focus, a.list-group-item-info:hover, -button.list-group-item-info:focus, -button.list-group-item-info:hover { - color: #31708f; - background-color: #c4e3f3; -} - -a.list-group-item-info.active, -button.list-group-item-info.active { - color: #fff; - background-color: #31708f; - border-color: #31708f; -} - -.list-group-item-warning { - color: #8a6d3b; - background-color: #fcf8e3; -} - -a.list-group-item-warning, -button.list-group-item-warning { - color: #8a6d3b; -} - -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:focus, a.list-group-item-warning:hover, -button.list-group-item-warning:focus, -button.list-group-item-warning:hover { - color: #8a6d3b; - background-color: #faf2cc; -} - -a.list-group-item-warning.active, -button.list-group-item-warning.active { - color: #fff; - background-color: #8a6d3b; - border-color: #8a6d3b; -} - -.list-group-item-danger { - color: #a94442; - background-color: #f2dede; -} - -a.list-group-item-danger, -button.list-group-item-danger { - color: #a94442; -} - -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:focus, a.list-group-item-danger:hover, -button.list-group-item-danger:focus, -button.list-group-item-danger:hover { - color: #a94442; - background-color: #ebcccc; -} - -a.list-group-item-danger.active, -button.list-group-item-danger.active { - color: #fff; - background-color: #a94442; - border-color: #a94442; -} - -.embed-responsive { - position: relative; - display: block; - width: 100%; - padding: 0; - overflow: hidden; -} - -.embed-responsive::before { - display: block; - content: ""; -} - -.embed-responsive .embed-responsive-item, -.embed-responsive iframe, -.embed-responsive embed, -.embed-responsive object, -.embed-responsive video { - position: absolute; - top: 0; - bottom: 0; - left: 0; - width: 100%; - height: 100%; - border: 0; -} - -.embed-responsive-21by9::before { - padding-top: 42.857143%; -} - -.embed-responsive-16by9::before { - padding-top: 56.25%; -} - -.embed-responsive-4by3::before { - padding-top: 75%; -} - -.embed-responsive-1by1::before { - padding-top: 100%; -} - -.close { - float: right; - font-size: 1.5rem; - font-weight: bold; - line-height: 1; - color: #000; - text-shadow: 0 1px 0 #fff; - opacity: .5; -} - -.close:focus, .close:hover { - color: #000; - text-decoration: none; - cursor: pointer; - opacity: .75; -} - -button.close { - padding: 0; - cursor: pointer; - background: transparent; - border: 0; - -webkit-appearance: none; -} - -.modal-open { - overflow: hidden; -} - -.modal { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1050; - display: none; - overflow: hidden; - outline: 0; -} - -.modal.fade .modal-dialog { - -webkit-transition: -webkit-transform 0.3s ease-out; - transition: -webkit-transform 0.3s ease-out; - -o-transition: -o-transform 0.3s ease-out; - transition: transform 0.3s ease-out; - transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out, -o-transform 0.3s ease-out; - -webkit-transform: translate(0, -25%); - -o-transform: translate(0, -25%); - transform: translate(0, -25%); -} - -.modal.show .modal-dialog { - -webkit-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; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - background-color: #fff; - -webkit-background-clip: padding-box; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 0.3rem; - outline: 0; -} - -.modal-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1040; - background-color: #000; -} - -.modal-backdrop.fade { - opacity: 0; -} - -.modal-backdrop.show { - opacity: 0.5; -} - -.modal-header { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: justify; - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; - padding: 15px; - border-bottom: 1px solid #eceeef; -} - -.modal-title { - margin-bottom: 0; - line-height: 1.5; -} - -.modal-body { - position: relative; - -webkit-box-flex: 1; - -webkit-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - padding: 15px; -} - -.modal-footer { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: end; - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end; - padding: 15px; - border-top: 1px solid #eceeef; -} - -.modal-footer > :not(:first-child) { - margin-left: .25rem; -} - -.modal-footer > :not(:last-child) { - margin-right: .25rem; -} - -.modal-scrollbar-measure { - position: absolute; - top: -9999px; - width: 50px; - height: 50px; - overflow: scroll; -} - -@media (min-width: 576px) { - .modal-dialog { - max-width: 500px; - margin: 30px auto; - } - .modal-sm { - max-width: 300px; - } -} - -@media (min-width: 992px) { - .modal-lg { - max-width: 800px; - } -} - -.tooltip { - position: absolute; - z-index: 1070; - display: block; - font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; - font-style: normal; - font-weight: normal; - letter-spacing: normal; - line-break: auto; - line-height: 1.5; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - white-space: normal; - word-break: normal; - word-spacing: normal; - font-size: 0.875rem; - word-wrap: break-word; - opacity: 0; -} - -.tooltip.show { - opacity: 0.9; -} - -.tooltip.tooltip-top, .tooltip.bs-tether-element-attached-bottom { - padding: 5px 0; - margin-top: -3px; -} - -.tooltip.tooltip-top .tooltip-inner::before, .tooltip.bs-tether-element-attached-bottom .tooltip-inner::before { - bottom: 0; - left: 50%; - margin-left: -5px; - content: ""; - border-width: 5px 5px 0; - border-top-color: #000; -} - -.tooltip.tooltip-right, .tooltip.bs-tether-element-attached-left { - padding: 0 5px; - margin-left: 3px; -} - -.tooltip.tooltip-right .tooltip-inner::before, .tooltip.bs-tether-element-attached-left .tooltip-inner::before { - top: 50%; - left: 0; - margin-top: -5px; - content: ""; - border-width: 5px 5px 5px 0; - border-right-color: #000; -} - -.tooltip.tooltip-bottom, .tooltip.bs-tether-element-attached-top { - padding: 5px 0; - margin-top: 3px; -} - -.tooltip.tooltip-bottom .tooltip-inner::before, .tooltip.bs-tether-element-attached-top .tooltip-inner::before { - top: 0; - left: 50%; - margin-left: -5px; - content: ""; - border-width: 0 5px 5px; - border-bottom-color: #000; -} - -.tooltip.tooltip-left, .tooltip.bs-tether-element-attached-right { - padding: 0 5px; - margin-left: -3px; -} - -.tooltip.tooltip-left .tooltip-inner::before, .tooltip.bs-tether-element-attached-right .tooltip-inner::before { - top: 50%; - right: 0; - margin-top: -5px; - content: ""; - border-width: 5px 0 5px 5px; - border-left-color: #000; -} - -.tooltip-inner { - max-width: 200px; - padding: 3px 8px; - color: #fff; - text-align: center; - background-color: #000; - border-radius: 0.25rem; -} - -.tooltip-inner::before { - position: absolute; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; -} - -.popover { - position: absolute; - top: 0; - left: 0; - z-index: 1060; - display: block; - max-width: 276px; - padding: 1px; - font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; - font-style: normal; - font-weight: normal; - letter-spacing: normal; - line-break: auto; - line-height: 1.5; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - white-space: normal; - word-break: normal; - word-spacing: normal; - font-size: 0.875rem; - word-wrap: break-word; - background-color: #fff; - -webkit-background-clip: padding-box; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 0.3rem; -} - -.popover.popover-top, .popover.bs-tether-element-attached-bottom { - margin-top: -10px; -} - -.popover.popover-top::before, .popover.popover-top::after, .popover.bs-tether-element-attached-bottom::before, .popover.bs-tether-element-attached-bottom::after { - left: 50%; - border-bottom-width: 0; -} - -.popover.popover-top::before, .popover.bs-tether-element-attached-bottom::before { - bottom: -11px; - margin-left: -11px; - border-top-color: rgba(0, 0, 0, 0.25); -} - -.popover.popover-top::after, .popover.bs-tether-element-attached-bottom::after { - bottom: -10px; - margin-left: -10px; - border-top-color: #fff; -} - -.popover.popover-right, .popover.bs-tether-element-attached-left { - margin-left: 10px; -} - -.popover.popover-right::before, .popover.popover-right::after, .popover.bs-tether-element-attached-left::before, .popover.bs-tether-element-attached-left::after { - top: 50%; - border-left-width: 0; -} - -.popover.popover-right::before, .popover.bs-tether-element-attached-left::before { - left: -11px; - margin-top: -11px; - border-right-color: rgba(0, 0, 0, 0.25); -} - -.popover.popover-right::after, .popover.bs-tether-element-attached-left::after { - left: -10px; - margin-top: -10px; - border-right-color: #fff; -} - -.popover.popover-bottom, .popover.bs-tether-element-attached-top { - margin-top: 10px; -} - -.popover.popover-bottom::before, .popover.popover-bottom::after, .popover.bs-tether-element-attached-top::before, .popover.bs-tether-element-attached-top::after { - left: 50%; - border-top-width: 0; -} - -.popover.popover-bottom::before, .popover.bs-tether-element-attached-top::before { - top: -11px; - margin-left: -11px; - border-bottom-color: rgba(0, 0, 0, 0.25); -} - -.popover.popover-bottom::after, .popover.bs-tether-element-attached-top::after { - top: -10px; - margin-left: -10px; - border-bottom-color: #f7f7f7; -} - -.popover.popover-bottom .popover-title::before, .popover.bs-tether-element-attached-top .popover-title::before { - position: absolute; - top: 0; - left: 50%; - display: block; - width: 20px; - margin-left: -10px; - content: ""; - border-bottom: 1px solid #f7f7f7; -} - -.popover.popover-left, .popover.bs-tether-element-attached-right { - margin-left: -10px; -} - -.popover.popover-left::before, .popover.popover-left::after, .popover.bs-tether-element-attached-right::before, .popover.bs-tether-element-attached-right::after { - top: 50%; - border-right-width: 0; -} - -.popover.popover-left::before, .popover.bs-tether-element-attached-right::before { - right: -11px; - margin-top: -11px; - border-left-color: rgba(0, 0, 0, 0.25); -} - -.popover.popover-left::after, .popover.bs-tether-element-attached-right::after { - right: -10px; - margin-top: -10px; - border-left-color: #fff; -} - -.popover-title { - padding: 8px 14px; - margin-bottom: 0; - font-size: 1rem; - background-color: #f7f7f7; - border-bottom: 1px solid #ebebeb; - border-top-right-radius: calc(0.3rem - 1px); - border-top-left-radius: calc(0.3rem - 1px); -} - -.popover-title:empty { - display: none; -} - -.popover-content { - padding: 9px 14px; -} - -.popover::before, -.popover::after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; -} - -.popover::before { - content: ""; - border-width: 11px; -} - -.popover::after { - content: ""; - border-width: 10px; -} - -.carousel { - position: relative; -} - -.carousel-inner { - position: relative; - width: 100%; - overflow: hidden; -} - -.carousel-item { - position: relative; - display: none; - width: 100%; -} - -@media (-webkit-transform-3d) { - .carousel-item { - -webkit-transition: -webkit-transform 0.6s ease-in-out; - transition: -webkit-transform 0.6s ease-in-out; - -o-transition: -o-transform 0.6s ease-in-out; - transition: transform 0.6s ease-in-out; - transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out, -o-transform 0.6s ease-in-out; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - -webkit-perspective: 1000px; - perspective: 1000px; - } -} - -@supports ((-webkit-transform: translate3d(0, 0, 0)) or (transform: translate3d(0, 0, 0))) { - .carousel-item { - -webkit-transition: -webkit-transform 0.6s ease-in-out; - transition: -webkit-transform 0.6s ease-in-out; - -o-transition: -o-transform 0.6s ease-in-out; - transition: transform 0.6s ease-in-out; - transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out, -o-transform 0.6s ease-in-out; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - -webkit-perspective: 1000px; - perspective: 1000px; - } -} - -.carousel-item.active, -.carousel-item-next, -.carousel-item-prev { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; -} - -.carousel-item-next, -.carousel-item-prev { - position: absolute; - top: 0; -} - -@media (-webkit-transform-3d) { - .carousel-item-next.carousel-item-left, - .carousel-item-prev.carousel-item-right { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - .carousel-item-next, - .active.carousel-item-right { - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - } - .carousel-item-prev, - .active.carousel-item-left { - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - } -} - -@supports ((-webkit-transform: translate3d(0, 0, 0)) or (transform: translate3d(0, 0, 0))) { - .carousel-item-next.carousel-item-left, - .carousel-item-prev.carousel-item-right { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - .carousel-item-next, - .active.carousel-item-right { - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - } - .carousel-item-prev, - .active.carousel-item-left { - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - } -} - -.carousel-control-prev, -.carousel-control-next { - position: absolute; - top: 0; - bottom: 0; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - width: 15%; - color: #fff; - text-align: center; - opacity: 0.5; -} - -.carousel-control-prev:focus, .carousel-control-prev:hover, -.carousel-control-next:focus, -.carousel-control-next:hover { - color: #fff; - text-decoration: none; - outline: 0; - opacity: .9; -} - -.carousel-control-prev { - left: 0; -} - -.carousel-control-next { - right: 0; -} - -.carousel-control-prev-icon, -.carousel-control-next-icon { - display: inline-block; - width: 20px; - height: 20px; - background: transparent no-repeat center center; - -webkit-background-size: 100% 100%; - background-size: 100% 100%; -} - -.carousel-control-prev-icon { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E"); -} - -.carousel-control-next-icon { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E"); -} - -.carousel-indicators { - position: absolute; - right: 0; - bottom: 10px; - left: 0; - z-index: 15; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - padding-left: 0; - margin-right: 15%; - margin-left: 15%; - list-style: none; -} - -.carousel-indicators li { - position: relative; - -webkit-box-flex: 1; - -webkit-flex: 1 0 auto; - -ms-flex: 1 0 auto; - flex: 1 0 auto; - max-width: 30px; - height: 3px; - margin-right: 3px; - margin-left: 3px; - text-indent: -999px; - cursor: pointer; - background-color: rgba(255, 255, 255, 0.5); -} - -.carousel-indicators li::before { - position: absolute; - top: -10px; - left: 0; - display: inline-block; - width: 100%; - height: 10px; - content: ""; -} - -.carousel-indicators li::after { - position: absolute; - bottom: -10px; - left: 0; - display: inline-block; - width: 100%; - height: 10px; - content: ""; -} - -.carousel-indicators .active { - background-color: #fff; -} - -.carousel-caption { - position: absolute; - right: 15%; - bottom: 20px; - left: 15%; - z-index: 10; - padding-top: 20px; - padding-bottom: 20px; - color: #fff; - text-align: center; -} - -.align-baseline { - vertical-align: baseline !important; -} - -.align-top { - vertical-align: top !important; -} - -.align-middle { - vertical-align: middle !important; -} - -.align-bottom { - vertical-align: bottom !important; -} - -.align-text-bottom { - vertical-align: text-bottom !important; -} - -.align-text-top { - vertical-align: text-top !important; -} - -.bg-faded { - background-color: #f7f7f7; -} - -.bg-primary { - background-color: #0275d8 !important; -} - -a.bg-primary:focus, a.bg-primary:hover { - background-color: #025aa5 !important; -} - -.bg-success { - background-color: #5cb85c !important; -} - -a.bg-success:focus, a.bg-success:hover { - background-color: #449d44 !important; -} - -.bg-info { - background-color: #5bc0de !important; -} - -a.bg-info:focus, a.bg-info:hover { - background-color: #31b0d5 !important; -} - -.bg-warning { - background-color: #f0ad4e !important; -} - -a.bg-warning:focus, a.bg-warning:hover { - background-color: #ec971f !important; -} - -.bg-danger { - background-color: #d9534f !important; -} - -a.bg-danger:focus, a.bg-danger:hover { - background-color: #c9302c !important; -} - -.bg-inverse { - background-color: #292b2c !important; -} - -a.bg-inverse:focus, a.bg-inverse:hover { - background-color: #101112 !important; -} - -.border-0 { - border: 0 !important; -} - -.border-top-0 { - border-top: 0 !important; -} - -.border-right-0 { - border-right: 0 !important; -} - -.border-bottom-0 { - border-bottom: 0 !important; -} - -.border-left-0 { - border-left: 0 !important; -} - -.rounded { - border-radius: 0.25rem; -} - -.rounded-top { - border-top-right-radius: 0.25rem; - border-top-left-radius: 0.25rem; -} - -.rounded-right { - border-bottom-right-radius: 0.25rem; - border-top-right-radius: 0.25rem; -} - -.rounded-bottom { - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; -} - -.rounded-left { - border-bottom-left-radius: 0.25rem; - border-top-left-radius: 0.25rem; -} - -.rounded-circle { - border-radius: 50%; -} - -.rounded-0 { - border-radius: 0; -} - -.clearfix::after { - display: block; - content: ""; - clear: both; -} - -.d-none { - display: none !important; -} - -.d-inline { - display: inline !important; -} - -.d-inline-block { - display: inline-block !important; -} - -.d-block { - display: block !important; -} - -.d-table { - display: table !important; -} - -.d-table-cell { - display: table-cell !important; -} - -.d-flex { - display: -webkit-box !important; - display: -webkit-flex !important; - display: -ms-flexbox !important; - display: flex !important; -} - -.d-inline-flex { - display: -webkit-inline-box !important; - display: -webkit-inline-flex !important; - display: -ms-inline-flexbox !important; - display: inline-flex !important; -} - -@media (min-width: 576px) { - .d-sm-none { - display: none !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-block { - display: block !important; - } - .d-sm-table { - display: table !important; - } - .d-sm-table-cell { - display: table-cell !important; - } - .d-sm-flex { - display: -webkit-box !important; - display: -webkit-flex !important; - display: -ms-flexbox !important; - display: flex !important; - } - .d-sm-inline-flex { - display: -webkit-inline-box !important; - display: -webkit-inline-flex !important; - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -@media (min-width: 768px) { - .d-md-none { - display: none !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-block { - display: block !important; - } - .d-md-table { - display: table !important; - } - .d-md-table-cell { - display: table-cell !important; - } - .d-md-flex { - display: -webkit-box !important; - display: -webkit-flex !important; - display: -ms-flexbox !important; - display: flex !important; - } - .d-md-inline-flex { - display: -webkit-inline-box !important; - display: -webkit-inline-flex !important; - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -@media (min-width: 992px) { - .d-lg-none { - display: none !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-block { - display: block !important; - } - .d-lg-table { - display: table !important; - } - .d-lg-table-cell { - display: table-cell !important; - } - .d-lg-flex { - display: -webkit-box !important; - display: -webkit-flex !important; - display: -ms-flexbox !important; - display: flex !important; - } - .d-lg-inline-flex { - display: -webkit-inline-box !important; - display: -webkit-inline-flex !important; - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -@media (min-width: 1200px) { - .d-xl-none { - display: none !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-block { - display: block !important; - } - .d-xl-table { - display: table !important; - } - .d-xl-table-cell { - display: table-cell !important; - } - .d-xl-flex { - display: -webkit-box !important; - display: -webkit-flex !important; - display: -ms-flexbox !important; - display: flex !important; - } - .d-xl-inline-flex { - display: -webkit-inline-box !important; - display: -webkit-inline-flex !important; - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -.flex-first { - -webkit-box-ordinal-group: 0; - -webkit-order: -1; - -ms-flex-order: -1; - order: -1; -} - -.flex-last { - -webkit-box-ordinal-group: 2; - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; -} - -.flex-unordered { - -webkit-box-ordinal-group: 1; - -webkit-order: 0; - -ms-flex-order: 0; - order: 0; -} - -.flex-row { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: normal !important; - -webkit-flex-direction: row !important; - -ms-flex-direction: row !important; - flex-direction: row !important; -} - -.flex-column { - -webkit-box-orient: vertical !important; - -webkit-box-direction: normal !important; - -webkit-flex-direction: column !important; - -ms-flex-direction: column !important; - flex-direction: column !important; -} - -.flex-row-reverse { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: reverse !important; - -webkit-flex-direction: row-reverse !important; - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; -} - -.flex-column-reverse { - -webkit-box-orient: vertical !important; - -webkit-box-direction: reverse !important; - -webkit-flex-direction: column-reverse !important; - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; -} - -.flex-wrap { - -webkit-flex-wrap: wrap !important; - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; -} - -.flex-nowrap { - -webkit-flex-wrap: nowrap !important; - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; -} - -.flex-wrap-reverse { - -webkit-flex-wrap: wrap-reverse !important; - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; -} - -.justify-content-start { - -webkit-box-pack: start !important; - -webkit-justify-content: flex-start !important; - -ms-flex-pack: start !important; - justify-content: flex-start !important; -} - -.justify-content-end { - -webkit-box-pack: end !important; - -webkit-justify-content: flex-end !important; - -ms-flex-pack: end !important; - justify-content: flex-end !important; -} - -.justify-content-center { - -webkit-box-pack: center !important; - -webkit-justify-content: center !important; - -ms-flex-pack: center !important; - justify-content: center !important; -} - -.justify-content-between { - -webkit-box-pack: justify !important; - -webkit-justify-content: space-between !important; - -ms-flex-pack: justify !important; - justify-content: space-between !important; -} - -.justify-content-around { - -webkit-justify-content: space-around !important; - -ms-flex-pack: distribute !important; - justify-content: space-around !important; -} - -.align-items-start { - -webkit-box-align: start !important; - -webkit-align-items: flex-start !important; - -ms-flex-align: start !important; - align-items: flex-start !important; -} - -.align-items-end { - -webkit-box-align: end !important; - -webkit-align-items: flex-end !important; - -ms-flex-align: end !important; - align-items: flex-end !important; -} - -.align-items-center { - -webkit-box-align: center !important; - -webkit-align-items: center !important; - -ms-flex-align: center !important; - align-items: center !important; -} - -.align-items-baseline { - -webkit-box-align: baseline !important; - -webkit-align-items: baseline !important; - -ms-flex-align: baseline !important; - align-items: baseline !important; -} - -.align-items-stretch { - -webkit-box-align: stretch !important; - -webkit-align-items: stretch !important; - -ms-flex-align: stretch !important; - align-items: stretch !important; -} - -.align-content-start { - -webkit-align-content: flex-start !important; - -ms-flex-line-pack: start !important; - align-content: flex-start !important; -} - -.align-content-end { - -webkit-align-content: flex-end !important; - -ms-flex-line-pack: end !important; - align-content: flex-end !important; -} - -.align-content-center { - -webkit-align-content: center !important; - -ms-flex-line-pack: center !important; - align-content: center !important; -} - -.align-content-between { - -webkit-align-content: space-between !important; - -ms-flex-line-pack: justify !important; - align-content: space-between !important; -} - -.align-content-around { - -webkit-align-content: space-around !important; - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; -} - -.align-content-stretch { - -webkit-align-content: stretch !important; - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; -} - -.align-self-auto { - -webkit-align-self: auto !important; - -ms-flex-item-align: auto !important; - -ms-grid-row-align: auto !important; - align-self: auto !important; -} - -.align-self-start { - -webkit-align-self: flex-start !important; - -ms-flex-item-align: start !important; - align-self: flex-start !important; -} - -.align-self-end { - -webkit-align-self: flex-end !important; - -ms-flex-item-align: end !important; - align-self: flex-end !important; -} - -.align-self-center { - -webkit-align-self: center !important; - -ms-flex-item-align: center !important; - -ms-grid-row-align: center !important; - align-self: center !important; -} - -.align-self-baseline { - -webkit-align-self: baseline !important; - -ms-flex-item-align: baseline !important; - align-self: baseline !important; -} - -.align-self-stretch { - -webkit-align-self: stretch !important; - -ms-flex-item-align: stretch !important; - -ms-grid-row-align: stretch !important; - align-self: stretch !important; -} - -@media (min-width: 576px) { - .flex-sm-first { - -webkit-box-ordinal-group: 0; - -webkit-order: -1; - -ms-flex-order: -1; - order: -1; - } - .flex-sm-last { - -webkit-box-ordinal-group: 2; - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; - } - .flex-sm-unordered { - -webkit-box-ordinal-group: 1; - -webkit-order: 0; - -ms-flex-order: 0; - order: 0; - } - .flex-sm-row { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: normal !important; - -webkit-flex-direction: row !important; - -ms-flex-direction: row !important; - flex-direction: row !important; - } - .flex-sm-column { - -webkit-box-orient: vertical !important; - -webkit-box-direction: normal !important; - -webkit-flex-direction: column !important; - -ms-flex-direction: column !important; - flex-direction: column !important; - } - .flex-sm-row-reverse { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: reverse !important; - -webkit-flex-direction: row-reverse !important; - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; - } - .flex-sm-column-reverse { - -webkit-box-orient: vertical !important; - -webkit-box-direction: reverse !important; - -webkit-flex-direction: column-reverse !important; - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; - } - .flex-sm-wrap { - -webkit-flex-wrap: wrap !important; - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; - } - .flex-sm-nowrap { - -webkit-flex-wrap: nowrap !important; - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; - } - .flex-sm-wrap-reverse { - -webkit-flex-wrap: wrap-reverse !important; - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; - } - .justify-content-sm-start { - -webkit-box-pack: start !important; - -webkit-justify-content: flex-start !important; - -ms-flex-pack: start !important; - justify-content: flex-start !important; - } - .justify-content-sm-end { - -webkit-box-pack: end !important; - -webkit-justify-content: flex-end !important; - -ms-flex-pack: end !important; - justify-content: flex-end !important; - } - .justify-content-sm-center { - -webkit-box-pack: center !important; - -webkit-justify-content: center !important; - -ms-flex-pack: center !important; - justify-content: center !important; - } - .justify-content-sm-between { - -webkit-box-pack: justify !important; - -webkit-justify-content: space-between !important; - -ms-flex-pack: justify !important; - justify-content: space-between !important; - } - .justify-content-sm-around { - -webkit-justify-content: space-around !important; - -ms-flex-pack: distribute !important; - justify-content: space-around !important; - } - .align-items-sm-start { - -webkit-box-align: start !important; - -webkit-align-items: flex-start !important; - -ms-flex-align: start !important; - align-items: flex-start !important; - } - .align-items-sm-end { - -webkit-box-align: end !important; - -webkit-align-items: flex-end !important; - -ms-flex-align: end !important; - align-items: flex-end !important; - } - .align-items-sm-center { - -webkit-box-align: center !important; - -webkit-align-items: center !important; - -ms-flex-align: center !important; - align-items: center !important; - } - .align-items-sm-baseline { - -webkit-box-align: baseline !important; - -webkit-align-items: baseline !important; - -ms-flex-align: baseline !important; - align-items: baseline !important; - } - .align-items-sm-stretch { - -webkit-box-align: stretch !important; - -webkit-align-items: stretch !important; - -ms-flex-align: stretch !important; - align-items: stretch !important; - } - .align-content-sm-start { - -webkit-align-content: flex-start !important; - -ms-flex-line-pack: start !important; - align-content: flex-start !important; - } - .align-content-sm-end { - -webkit-align-content: flex-end !important; - -ms-flex-line-pack: end !important; - align-content: flex-end !important; - } - .align-content-sm-center { - -webkit-align-content: center !important; - -ms-flex-line-pack: center !important; - align-content: center !important; - } - .align-content-sm-between { - -webkit-align-content: space-between !important; - -ms-flex-line-pack: justify !important; - align-content: space-between !important; - } - .align-content-sm-around { - -webkit-align-content: space-around !important; - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; - } - .align-content-sm-stretch { - -webkit-align-content: stretch !important; - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; - } - .align-self-sm-auto { - -webkit-align-self: auto !important; - -ms-flex-item-align: auto !important; - -ms-grid-row-align: auto !important; - align-self: auto !important; - } - .align-self-sm-start { - -webkit-align-self: flex-start !important; - -ms-flex-item-align: start !important; - align-self: flex-start !important; - } - .align-self-sm-end { - -webkit-align-self: flex-end !important; - -ms-flex-item-align: end !important; - align-self: flex-end !important; - } - .align-self-sm-center { - -webkit-align-self: center !important; - -ms-flex-item-align: center !important; - -ms-grid-row-align: center !important; - align-self: center !important; - } - .align-self-sm-baseline { - -webkit-align-self: baseline !important; - -ms-flex-item-align: baseline !important; - align-self: baseline !important; - } - .align-self-sm-stretch { - -webkit-align-self: stretch !important; - -ms-flex-item-align: stretch !important; - -ms-grid-row-align: stretch !important; - align-self: stretch !important; - } -} - -@media (min-width: 768px) { - .flex-md-first { - -webkit-box-ordinal-group: 0; - -webkit-order: -1; - -ms-flex-order: -1; - order: -1; - } - .flex-md-last { - -webkit-box-ordinal-group: 2; - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; - } - .flex-md-unordered { - -webkit-box-ordinal-group: 1; - -webkit-order: 0; - -ms-flex-order: 0; - order: 0; - } - .flex-md-row { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: normal !important; - -webkit-flex-direction: row !important; - -ms-flex-direction: row !important; - flex-direction: row !important; - } - .flex-md-column { - -webkit-box-orient: vertical !important; - -webkit-box-direction: normal !important; - -webkit-flex-direction: column !important; - -ms-flex-direction: column !important; - flex-direction: column !important; - } - .flex-md-row-reverse { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: reverse !important; - -webkit-flex-direction: row-reverse !important; - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; - } - .flex-md-column-reverse { - -webkit-box-orient: vertical !important; - -webkit-box-direction: reverse !important; - -webkit-flex-direction: column-reverse !important; - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; - } - .flex-md-wrap { - -webkit-flex-wrap: wrap !important; - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; - } - .flex-md-nowrap { - -webkit-flex-wrap: nowrap !important; - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; - } - .flex-md-wrap-reverse { - -webkit-flex-wrap: wrap-reverse !important; - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; - } - .justify-content-md-start { - -webkit-box-pack: start !important; - -webkit-justify-content: flex-start !important; - -ms-flex-pack: start !important; - justify-content: flex-start !important; - } - .justify-content-md-end { - -webkit-box-pack: end !important; - -webkit-justify-content: flex-end !important; - -ms-flex-pack: end !important; - justify-content: flex-end !important; - } - .justify-content-md-center { - -webkit-box-pack: center !important; - -webkit-justify-content: center !important; - -ms-flex-pack: center !important; - justify-content: center !important; - } - .justify-content-md-between { - -webkit-box-pack: justify !important; - -webkit-justify-content: space-between !important; - -ms-flex-pack: justify !important; - justify-content: space-between !important; - } - .justify-content-md-around { - -webkit-justify-content: space-around !important; - -ms-flex-pack: distribute !important; - justify-content: space-around !important; - } - .align-items-md-start { - -webkit-box-align: start !important; - -webkit-align-items: flex-start !important; - -ms-flex-align: start !important; - align-items: flex-start !important; - } - .align-items-md-end { - -webkit-box-align: end !important; - -webkit-align-items: flex-end !important; - -ms-flex-align: end !important; - align-items: flex-end !important; - } - .align-items-md-center { - -webkit-box-align: center !important; - -webkit-align-items: center !important; - -ms-flex-align: center !important; - align-items: center !important; - } - .align-items-md-baseline { - -webkit-box-align: baseline !important; - -webkit-align-items: baseline !important; - -ms-flex-align: baseline !important; - align-items: baseline !important; - } - .align-items-md-stretch { - -webkit-box-align: stretch !important; - -webkit-align-items: stretch !important; - -ms-flex-align: stretch !important; - align-items: stretch !important; - } - .align-content-md-start { - -webkit-align-content: flex-start !important; - -ms-flex-line-pack: start !important; - align-content: flex-start !important; - } - .align-content-md-end { - -webkit-align-content: flex-end !important; - -ms-flex-line-pack: end !important; - align-content: flex-end !important; - } - .align-content-md-center { - -webkit-align-content: center !important; - -ms-flex-line-pack: center !important; - align-content: center !important; - } - .align-content-md-between { - -webkit-align-content: space-between !important; - -ms-flex-line-pack: justify !important; - align-content: space-between !important; - } - .align-content-md-around { - -webkit-align-content: space-around !important; - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; - } - .align-content-md-stretch { - -webkit-align-content: stretch !important; - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; - } - .align-self-md-auto { - -webkit-align-self: auto !important; - -ms-flex-item-align: auto !important; - -ms-grid-row-align: auto !important; - align-self: auto !important; - } - .align-self-md-start { - -webkit-align-self: flex-start !important; - -ms-flex-item-align: start !important; - align-self: flex-start !important; - } - .align-self-md-end { - -webkit-align-self: flex-end !important; - -ms-flex-item-align: end !important; - align-self: flex-end !important; - } - .align-self-md-center { - -webkit-align-self: center !important; - -ms-flex-item-align: center !important; - -ms-grid-row-align: center !important; - align-self: center !important; - } - .align-self-md-baseline { - -webkit-align-self: baseline !important; - -ms-flex-item-align: baseline !important; - align-self: baseline !important; - } - .align-self-md-stretch { - -webkit-align-self: stretch !important; - -ms-flex-item-align: stretch !important; - -ms-grid-row-align: stretch !important; - align-self: stretch !important; - } -} - -@media (min-width: 992px) { - .flex-lg-first { - -webkit-box-ordinal-group: 0; - -webkit-order: -1; - -ms-flex-order: -1; - order: -1; - } - .flex-lg-last { - -webkit-box-ordinal-group: 2; - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; - } - .flex-lg-unordered { - -webkit-box-ordinal-group: 1; - -webkit-order: 0; - -ms-flex-order: 0; - order: 0; - } - .flex-lg-row { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: normal !important; - -webkit-flex-direction: row !important; - -ms-flex-direction: row !important; - flex-direction: row !important; - } - .flex-lg-column { - -webkit-box-orient: vertical !important; - -webkit-box-direction: normal !important; - -webkit-flex-direction: column !important; - -ms-flex-direction: column !important; - flex-direction: column !important; - } - .flex-lg-row-reverse { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: reverse !important; - -webkit-flex-direction: row-reverse !important; - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; - } - .flex-lg-column-reverse { - -webkit-box-orient: vertical !important; - -webkit-box-direction: reverse !important; - -webkit-flex-direction: column-reverse !important; - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; - } - .flex-lg-wrap { - -webkit-flex-wrap: wrap !important; - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; - } - .flex-lg-nowrap { - -webkit-flex-wrap: nowrap !important; - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; - } - .flex-lg-wrap-reverse { - -webkit-flex-wrap: wrap-reverse !important; - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; - } - .justify-content-lg-start { - -webkit-box-pack: start !important; - -webkit-justify-content: flex-start !important; - -ms-flex-pack: start !important; - justify-content: flex-start !important; - } - .justify-content-lg-end { - -webkit-box-pack: end !important; - -webkit-justify-content: flex-end !important; - -ms-flex-pack: end !important; - justify-content: flex-end !important; - } - .justify-content-lg-center { - -webkit-box-pack: center !important; - -webkit-justify-content: center !important; - -ms-flex-pack: center !important; - justify-content: center !important; - } - .justify-content-lg-between { - -webkit-box-pack: justify !important; - -webkit-justify-content: space-between !important; - -ms-flex-pack: justify !important; - justify-content: space-between !important; - } - .justify-content-lg-around { - -webkit-justify-content: space-around !important; - -ms-flex-pack: distribute !important; - justify-content: space-around !important; - } - .align-items-lg-start { - -webkit-box-align: start !important; - -webkit-align-items: flex-start !important; - -ms-flex-align: start !important; - align-items: flex-start !important; - } - .align-items-lg-end { - -webkit-box-align: end !important; - -webkit-align-items: flex-end !important; - -ms-flex-align: end !important; - align-items: flex-end !important; - } - .align-items-lg-center { - -webkit-box-align: center !important; - -webkit-align-items: center !important; - -ms-flex-align: center !important; - align-items: center !important; - } - .align-items-lg-baseline { - -webkit-box-align: baseline !important; - -webkit-align-items: baseline !important; - -ms-flex-align: baseline !important; - align-items: baseline !important; - } - .align-items-lg-stretch { - -webkit-box-align: stretch !important; - -webkit-align-items: stretch !important; - -ms-flex-align: stretch !important; - align-items: stretch !important; - } - .align-content-lg-start { - -webkit-align-content: flex-start !important; - -ms-flex-line-pack: start !important; - align-content: flex-start !important; - } - .align-content-lg-end { - -webkit-align-content: flex-end !important; - -ms-flex-line-pack: end !important; - align-content: flex-end !important; - } - .align-content-lg-center { - -webkit-align-content: center !important; - -ms-flex-line-pack: center !important; - align-content: center !important; - } - .align-content-lg-between { - -webkit-align-content: space-between !important; - -ms-flex-line-pack: justify !important; - align-content: space-between !important; - } - .align-content-lg-around { - -webkit-align-content: space-around !important; - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; - } - .align-content-lg-stretch { - -webkit-align-content: stretch !important; - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; - } - .align-self-lg-auto { - -webkit-align-self: auto !important; - -ms-flex-item-align: auto !important; - -ms-grid-row-align: auto !important; - align-self: auto !important; - } - .align-self-lg-start { - -webkit-align-self: flex-start !important; - -ms-flex-item-align: start !important; - align-self: flex-start !important; - } - .align-self-lg-end { - -webkit-align-self: flex-end !important; - -ms-flex-item-align: end !important; - align-self: flex-end !important; - } - .align-self-lg-center { - -webkit-align-self: center !important; - -ms-flex-item-align: center !important; - -ms-grid-row-align: center !important; - align-self: center !important; - } - .align-self-lg-baseline { - -webkit-align-self: baseline !important; - -ms-flex-item-align: baseline !important; - align-self: baseline !important; - } - .align-self-lg-stretch { - -webkit-align-self: stretch !important; - -ms-flex-item-align: stretch !important; - -ms-grid-row-align: stretch !important; - align-self: stretch !important; - } -} - -@media (min-width: 1200px) { - .flex-xl-first { - -webkit-box-ordinal-group: 0; - -webkit-order: -1; - -ms-flex-order: -1; - order: -1; - } - .flex-xl-last { - -webkit-box-ordinal-group: 2; - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; - } - .flex-xl-unordered { - -webkit-box-ordinal-group: 1; - -webkit-order: 0; - -ms-flex-order: 0; - order: 0; - } - .flex-xl-row { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: normal !important; - -webkit-flex-direction: row !important; - -ms-flex-direction: row !important; - flex-direction: row !important; - } - .flex-xl-column { - -webkit-box-orient: vertical !important; - -webkit-box-direction: normal !important; - -webkit-flex-direction: column !important; - -ms-flex-direction: column !important; - flex-direction: column !important; - } - .flex-xl-row-reverse { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: reverse !important; - -webkit-flex-direction: row-reverse !important; - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; - } - .flex-xl-column-reverse { - -webkit-box-orient: vertical !important; - -webkit-box-direction: reverse !important; - -webkit-flex-direction: column-reverse !important; - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; - } - .flex-xl-wrap { - -webkit-flex-wrap: wrap !important; - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; - } - .flex-xl-nowrap { - -webkit-flex-wrap: nowrap !important; - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; - } - .flex-xl-wrap-reverse { - -webkit-flex-wrap: wrap-reverse !important; - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; - } - .justify-content-xl-start { - -webkit-box-pack: start !important; - -webkit-justify-content: flex-start !important; - -ms-flex-pack: start !important; - justify-content: flex-start !important; - } - .justify-content-xl-end { - -webkit-box-pack: end !important; - -webkit-justify-content: flex-end !important; - -ms-flex-pack: end !important; - justify-content: flex-end !important; - } - .justify-content-xl-center { - -webkit-box-pack: center !important; - -webkit-justify-content: center !important; - -ms-flex-pack: center !important; - justify-content: center !important; - } - .justify-content-xl-between { - -webkit-box-pack: justify !important; - -webkit-justify-content: space-between !important; - -ms-flex-pack: justify !important; - justify-content: space-between !important; - } - .justify-content-xl-around { - -webkit-justify-content: space-around !important; - -ms-flex-pack: distribute !important; - justify-content: space-around !important; - } - .align-items-xl-start { - -webkit-box-align: start !important; - -webkit-align-items: flex-start !important; - -ms-flex-align: start !important; - align-items: flex-start !important; - } - .align-items-xl-end { - -webkit-box-align: end !important; - -webkit-align-items: flex-end !important; - -ms-flex-align: end !important; - align-items: flex-end !important; - } - .align-items-xl-center { - -webkit-box-align: center !important; - -webkit-align-items: center !important; - -ms-flex-align: center !important; - align-items: center !important; - } - .align-items-xl-baseline { - -webkit-box-align: baseline !important; - -webkit-align-items: baseline !important; - -ms-flex-align: baseline !important; - align-items: baseline !important; - } - .align-items-xl-stretch { - -webkit-box-align: stretch !important; - -webkit-align-items: stretch !important; - -ms-flex-align: stretch !important; - align-items: stretch !important; - } - .align-content-xl-start { - -webkit-align-content: flex-start !important; - -ms-flex-line-pack: start !important; - align-content: flex-start !important; - } - .align-content-xl-end { - -webkit-align-content: flex-end !important; - -ms-flex-line-pack: end !important; - align-content: flex-end !important; - } - .align-content-xl-center { - -webkit-align-content: center !important; - -ms-flex-line-pack: center !important; - align-content: center !important; - } - .align-content-xl-between { - -webkit-align-content: space-between !important; - -ms-flex-line-pack: justify !important; - align-content: space-between !important; - } - .align-content-xl-around { - -webkit-align-content: space-around !important; - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; - } - .align-content-xl-stretch { - -webkit-align-content: stretch !important; - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; - } - .align-self-xl-auto { - -webkit-align-self: auto !important; - -ms-flex-item-align: auto !important; - -ms-grid-row-align: auto !important; - align-self: auto !important; - } - .align-self-xl-start { - -webkit-align-self: flex-start !important; - -ms-flex-item-align: start !important; - align-self: flex-start !important; - } - .align-self-xl-end { - -webkit-align-self: flex-end !important; - -ms-flex-item-align: end !important; - align-self: flex-end !important; - } - .align-self-xl-center { - -webkit-align-self: center !important; - -ms-flex-item-align: center !important; - -ms-grid-row-align: center !important; - align-self: center !important; - } - .align-self-xl-baseline { - -webkit-align-self: baseline !important; - -ms-flex-item-align: baseline !important; - align-self: baseline !important; - } - .align-self-xl-stretch { - -webkit-align-self: stretch !important; - -ms-flex-item-align: stretch !important; - -ms-grid-row-align: stretch !important; - align-self: stretch !important; - } -} - -.float-left { - float: left !important; -} - -.float-right { - float: right !important; -} - -.float-none { - float: none !important; -} - -@media (min-width: 576px) { - .float-sm-left { - float: left !important; - } - .float-sm-right { - float: right !important; - } - .float-sm-none { - float: none !important; - } -} - -@media (min-width: 768px) { - .float-md-left { - float: left !important; - } - .float-md-right { - float: right !important; - } - .float-md-none { - float: none !important; - } -} - -@media (min-width: 992px) { - .float-lg-left { - float: left !important; - } - .float-lg-right { - float: right !important; - } - .float-lg-none { - float: none !important; - } -} - -@media (min-width: 1200px) { - .float-xl-left { - float: left !important; - } - .float-xl-right { - float: right !important; - } - .float-xl-none { - float: none !important; - } -} - -.fixed-top { - position: fixed; - top: 0; - right: 0; - left: 0; - z-index: 1030; -} - -.fixed-bottom { - position: fixed; - right: 0; - bottom: 0; - left: 0; - z-index: 1030; -} - -.sticky-top { - position: -webkit-sticky; - position: sticky; - top: 0; - z-index: 1030; -} - -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - 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; -} - -.w-25 { - width: 25% !important; -} - -.w-50 { - width: 50% !important; -} - -.w-75 { - width: 75% !important; -} - -.w-100 { - width: 100% !important; -} - -.h-25 { - height: 25% !important; -} - -.h-50 { - height: 50% !important; -} - -.h-75 { - height: 75% !important; -} - -.h-100 { - height: 100% !important; -} - -.mw-100 { - max-width: 100% !important; -} - -.mh-100 { - max-height: 100% !important; -} - -.m-0 { - margin: 0 0 !important; -} - -.mt-0 { - margin-top: 0 !important; -} - -.mr-0 { - margin-right: 0 !important; -} - -.mb-0 { - margin-bottom: 0 !important; -} - -.ml-0 { - margin-left: 0 !important; -} - -.mx-0 { - margin-right: 0 !important; - margin-left: 0 !important; -} - -.my-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; -} - -.m-1 { - margin: 0.25rem 0.25rem !important; -} - -.mt-1 { - margin-top: 0.25rem !important; -} - -.mr-1 { - margin-right: 0.25rem !important; -} - -.mb-1 { - margin-bottom: 0.25rem !important; -} - -.ml-1 { - margin-left: 0.25rem !important; -} - -.mx-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; -} - -.my-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; -} - -.m-2 { - margin: 0.5rem 0.5rem !important; -} - -.mt-2 { - margin-top: 0.5rem !important; -} - -.mr-2 { - margin-right: 0.5rem !important; -} - -.mb-2 { - margin-bottom: 0.5rem !important; -} - -.ml-2 { - margin-left: 0.5rem !important; -} - -.mx-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; -} - -.my-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; -} - -.m-3 { - margin: 1rem 1rem !important; -} - -.mt-3 { - margin-top: 1rem !important; -} - -.mr-3 { - margin-right: 1rem !important; -} - -.mb-3 { - margin-bottom: 1rem !important; -} - -.ml-3 { - margin-left: 1rem !important; -} - -.mx-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; -} - -.my-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; -} - -.m-4 { - margin: 1.5rem 1.5rem !important; -} - -.mt-4 { - margin-top: 1.5rem !important; -} - -.mr-4 { - margin-right: 1.5rem !important; -} - -.mb-4 { - margin-bottom: 1.5rem !important; -} - -.ml-4 { - margin-left: 1.5rem !important; -} - -.mx-4 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; -} - -.my-4 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; -} - -.m-5 { - margin: 3rem 3rem !important; -} - -.mt-5 { - margin-top: 3rem !important; -} - -.mr-5 { - margin-right: 3rem !important; -} - -.mb-5 { - margin-bottom: 3rem !important; -} - -.ml-5 { - margin-left: 3rem !important; -} - -.mx-5 { - margin-right: 3rem !important; - margin-left: 3rem !important; -} - -.my-5 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; -} - -.p-0 { - padding: 0 0 !important; -} - -.pt-0 { - padding-top: 0 !important; -} - -.pr-0 { - padding-right: 0 !important; -} - -.pb-0 { - padding-bottom: 0 !important; -} - -.pl-0 { - padding-left: 0 !important; -} - -.px-0 { - padding-right: 0 !important; - padding-left: 0 !important; -} - -.py-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; -} - -.p-1 { - padding: 0.25rem 0.25rem !important; -} - -.pt-1 { - padding-top: 0.25rem !important; -} - -.pr-1 { - padding-right: 0.25rem !important; -} - -.pb-1 { - padding-bottom: 0.25rem !important; -} - -.pl-1 { - padding-left: 0.25rem !important; -} - -.px-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; -} - -.py-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; -} - -.p-2 { - padding: 0.5rem 0.5rem !important; -} - -.pt-2 { - padding-top: 0.5rem !important; -} - -.pr-2 { - padding-right: 0.5rem !important; -} - -.pb-2 { - padding-bottom: 0.5rem !important; -} - -.pl-2 { - padding-left: 0.5rem !important; -} - -.px-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; -} - -.py-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; -} - -.p-3 { - padding: 1rem 1rem !important; -} - -.pt-3 { - padding-top: 1rem !important; -} - -.pr-3 { - padding-right: 1rem !important; -} - -.pb-3 { - padding-bottom: 1rem !important; -} - -.pl-3 { - padding-left: 1rem !important; -} - -.px-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; -} - -.py-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; -} - -.p-4 { - padding: 1.5rem 1.5rem !important; -} - -.pt-4 { - padding-top: 1.5rem !important; -} - -.pr-4 { - padding-right: 1.5rem !important; -} - -.pb-4 { - padding-bottom: 1.5rem !important; -} - -.pl-4 { - padding-left: 1.5rem !important; -} - -.px-4 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; -} - -.py-4 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; -} - -.p-5 { - padding: 3rem 3rem !important; -} - -.pt-5 { - padding-top: 3rem !important; -} - -.pr-5 { - padding-right: 3rem !important; -} - -.pb-5 { - padding-bottom: 3rem !important; -} - -.pl-5 { - padding-left: 3rem !important; -} - -.px-5 { - padding-right: 3rem !important; - padding-left: 3rem !important; -} - -.py-5 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; -} - -.m-auto { - margin: auto !important; -} - -.mt-auto { - margin-top: auto !important; -} - -.mr-auto { - margin-right: auto !important; -} - -.mb-auto { - margin-bottom: auto !important; -} - -.ml-auto { - margin-left: auto !important; -} - -.mx-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.my-auto { - margin-top: auto !important; - margin-bottom: auto !important; -} - -@media (min-width: 576px) { - .m-sm-0 { - margin: 0 0 !important; - } - .mt-sm-0 { - margin-top: 0 !important; - } - .mr-sm-0 { - margin-right: 0 !important; - } - .mb-sm-0 { - margin-bottom: 0 !important; - } - .ml-sm-0 { - margin-left: 0 !important; - } - .mx-sm-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .my-sm-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .m-sm-1 { - margin: 0.25rem 0.25rem !important; - } - .mt-sm-1 { - margin-top: 0.25rem !important; - } - .mr-sm-1 { - margin-right: 0.25rem !important; - } - .mb-sm-1 { - margin-bottom: 0.25rem !important; - } - .ml-sm-1 { - margin-left: 0.25rem !important; - } - .mx-sm-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } - .my-sm-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .m-sm-2 { - margin: 0.5rem 0.5rem !important; - } - .mt-sm-2 { - margin-top: 0.5rem !important; - } - .mr-sm-2 { - margin-right: 0.5rem !important; - } - .mb-sm-2 { - margin-bottom: 0.5rem !important; - } - .ml-sm-2 { - margin-left: 0.5rem !important; - } - .mx-sm-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } - .my-sm-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .m-sm-3 { - margin: 1rem 1rem !important; - } - .mt-sm-3 { - margin-top: 1rem !important; - } - .mr-sm-3 { - margin-right: 1rem !important; - } - .mb-sm-3 { - margin-bottom: 1rem !important; - } - .ml-sm-3 { - margin-left: 1rem !important; - } - .mx-sm-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } - .my-sm-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .m-sm-4 { - margin: 1.5rem 1.5rem !important; - } - .mt-sm-4 { - margin-top: 1.5rem !important; - } - .mr-sm-4 { - margin-right: 1.5rem !important; - } - .mb-sm-4 { - margin-bottom: 1.5rem !important; - } - .ml-sm-4 { - margin-left: 1.5rem !important; - } - .mx-sm-4 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; - } - .my-sm-4 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; - } - .m-sm-5 { - margin: 3rem 3rem !important; - } - .mt-sm-5 { - margin-top: 3rem !important; - } - .mr-sm-5 { - margin-right: 3rem !important; - } - .mb-sm-5 { - margin-bottom: 3rem !important; - } - .ml-sm-5 { - margin-left: 3rem !important; - } - .mx-sm-5 { - margin-right: 3rem !important; - margin-left: 3rem !important; - } - .my-sm-5 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; - } - .p-sm-0 { - padding: 0 0 !important; - } - .pt-sm-0 { - padding-top: 0 !important; - } - .pr-sm-0 { - padding-right: 0 !important; - } - .pb-sm-0 { - padding-bottom: 0 !important; - } - .pl-sm-0 { - padding-left: 0 !important; - } - .px-sm-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .py-sm-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .p-sm-1 { - padding: 0.25rem 0.25rem !important; - } - .pt-sm-1 { - padding-top: 0.25rem !important; - } - .pr-sm-1 { - padding-right: 0.25rem !important; - } - .pb-sm-1 { - padding-bottom: 0.25rem !important; - } - .pl-sm-1 { - padding-left: 0.25rem !important; - } - .px-sm-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } - .py-sm-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .p-sm-2 { - padding: 0.5rem 0.5rem !important; - } - .pt-sm-2 { - padding-top: 0.5rem !important; - } - .pr-sm-2 { - padding-right: 0.5rem !important; - } - .pb-sm-2 { - padding-bottom: 0.5rem !important; - } - .pl-sm-2 { - padding-left: 0.5rem !important; - } - .px-sm-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } - .py-sm-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .p-sm-3 { - padding: 1rem 1rem !important; - } - .pt-sm-3 { - padding-top: 1rem !important; - } - .pr-sm-3 { - padding-right: 1rem !important; - } - .pb-sm-3 { - padding-bottom: 1rem !important; - } - .pl-sm-3 { - padding-left: 1rem !important; - } - .px-sm-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } - .py-sm-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .p-sm-4 { - padding: 1.5rem 1.5rem !important; - } - .pt-sm-4 { - padding-top: 1.5rem !important; - } - .pr-sm-4 { - padding-right: 1.5rem !important; - } - .pb-sm-4 { - padding-bottom: 1.5rem !important; - } - .pl-sm-4 { - padding-left: 1.5rem !important; - } - .px-sm-4 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; - } - .py-sm-4 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; - } - .p-sm-5 { - padding: 3rem 3rem !important; - } - .pt-sm-5 { - padding-top: 3rem !important; - } - .pr-sm-5 { - padding-right: 3rem !important; - } - .pb-sm-5 { - padding-bottom: 3rem !important; - } - .pl-sm-5 { - padding-left: 3rem !important; - } - .px-sm-5 { - padding-right: 3rem !important; - padding-left: 3rem !important; - } - .py-sm-5 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; - } - .m-sm-auto { - margin: auto !important; - } - .mt-sm-auto { - margin-top: auto !important; - } - .mr-sm-auto { - margin-right: auto !important; - } - .mb-sm-auto { - margin-bottom: auto !important; - } - .ml-sm-auto { - margin-left: auto !important; - } - .mx-sm-auto { - margin-right: auto !important; - margin-left: auto !important; - } - .my-sm-auto { - margin-top: auto !important; - margin-bottom: auto !important; - } -} - -@media (min-width: 768px) { - .m-md-0 { - margin: 0 0 !important; - } - .mt-md-0 { - margin-top: 0 !important; - } - .mr-md-0 { - margin-right: 0 !important; - } - .mb-md-0 { - margin-bottom: 0 !important; - } - .ml-md-0 { - margin-left: 0 !important; - } - .mx-md-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .my-md-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .m-md-1 { - margin: 0.25rem 0.25rem !important; - } - .mt-md-1 { - margin-top: 0.25rem !important; - } - .mr-md-1 { - margin-right: 0.25rem !important; - } - .mb-md-1 { - margin-bottom: 0.25rem !important; - } - .ml-md-1 { - margin-left: 0.25rem !important; - } - .mx-md-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } - .my-md-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .m-md-2 { - margin: 0.5rem 0.5rem !important; - } - .mt-md-2 { - margin-top: 0.5rem !important; - } - .mr-md-2 { - margin-right: 0.5rem !important; - } - .mb-md-2 { - margin-bottom: 0.5rem !important; - } - .ml-md-2 { - margin-left: 0.5rem !important; - } - .mx-md-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } - .my-md-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .m-md-3 { - margin: 1rem 1rem !important; - } - .mt-md-3 { - margin-top: 1rem !important; - } - .mr-md-3 { - margin-right: 1rem !important; - } - .mb-md-3 { - margin-bottom: 1rem !important; - } - .ml-md-3 { - margin-left: 1rem !important; - } - .mx-md-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } - .my-md-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .m-md-4 { - margin: 1.5rem 1.5rem !important; - } - .mt-md-4 { - margin-top: 1.5rem !important; - } - .mr-md-4 { - margin-right: 1.5rem !important; - } - .mb-md-4 { - margin-bottom: 1.5rem !important; - } - .ml-md-4 { - margin-left: 1.5rem !important; - } - .mx-md-4 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; - } - .my-md-4 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; - } - .m-md-5 { - margin: 3rem 3rem !important; - } - .mt-md-5 { - margin-top: 3rem !important; - } - .mr-md-5 { - margin-right: 3rem !important; - } - .mb-md-5 { - margin-bottom: 3rem !important; - } - .ml-md-5 { - margin-left: 3rem !important; - } - .mx-md-5 { - margin-right: 3rem !important; - margin-left: 3rem !important; - } - .my-md-5 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; - } - .p-md-0 { - padding: 0 0 !important; - } - .pt-md-0 { - padding-top: 0 !important; - } - .pr-md-0 { - padding-right: 0 !important; - } - .pb-md-0 { - padding-bottom: 0 !important; - } - .pl-md-0 { - padding-left: 0 !important; - } - .px-md-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .py-md-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .p-md-1 { - padding: 0.25rem 0.25rem !important; - } - .pt-md-1 { - padding-top: 0.25rem !important; - } - .pr-md-1 { - padding-right: 0.25rem !important; - } - .pb-md-1 { - padding-bottom: 0.25rem !important; - } - .pl-md-1 { - padding-left: 0.25rem !important; - } - .px-md-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } - .py-md-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .p-md-2 { - padding: 0.5rem 0.5rem !important; - } - .pt-md-2 { - padding-top: 0.5rem !important; - } - .pr-md-2 { - padding-right: 0.5rem !important; - } - .pb-md-2 { - padding-bottom: 0.5rem !important; - } - .pl-md-2 { - padding-left: 0.5rem !important; - } - .px-md-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } - .py-md-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .p-md-3 { - padding: 1rem 1rem !important; - } - .pt-md-3 { - padding-top: 1rem !important; - } - .pr-md-3 { - padding-right: 1rem !important; - } - .pb-md-3 { - padding-bottom: 1rem !important; - } - .pl-md-3 { - padding-left: 1rem !important; - } - .px-md-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } - .py-md-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .p-md-4 { - padding: 1.5rem 1.5rem !important; - } - .pt-md-4 { - padding-top: 1.5rem !important; - } - .pr-md-4 { - padding-right: 1.5rem !important; - } - .pb-md-4 { - padding-bottom: 1.5rem !important; - } - .pl-md-4 { - padding-left: 1.5rem !important; - } - .px-md-4 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; - } - .py-md-4 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; - } - .p-md-5 { - padding: 3rem 3rem !important; - } - .pt-md-5 { - padding-top: 3rem !important; - } - .pr-md-5 { - padding-right: 3rem !important; - } - .pb-md-5 { - padding-bottom: 3rem !important; - } - .pl-md-5 { - padding-left: 3rem !important; - } - .px-md-5 { - padding-right: 3rem !important; - padding-left: 3rem !important; - } - .py-md-5 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; - } - .m-md-auto { - margin: auto !important; - } - .mt-md-auto { - margin-top: auto !important; - } - .mr-md-auto { - margin-right: auto !important; - } - .mb-md-auto { - margin-bottom: auto !important; - } - .ml-md-auto { - margin-left: auto !important; - } - .mx-md-auto { - margin-right: auto !important; - margin-left: auto !important; - } - .my-md-auto { - margin-top: auto !important; - margin-bottom: auto !important; - } -} - -@media (min-width: 992px) { - .m-lg-0 { - margin: 0 0 !important; - } - .mt-lg-0 { - margin-top: 0 !important; - } - .mr-lg-0 { - margin-right: 0 !important; - } - .mb-lg-0 { - margin-bottom: 0 !important; - } - .ml-lg-0 { - margin-left: 0 !important; - } - .mx-lg-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .my-lg-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .m-lg-1 { - margin: 0.25rem 0.25rem !important; - } - .mt-lg-1 { - margin-top: 0.25rem !important; - } - .mr-lg-1 { - margin-right: 0.25rem !important; - } - .mb-lg-1 { - margin-bottom: 0.25rem !important; - } - .ml-lg-1 { - margin-left: 0.25rem !important; - } - .mx-lg-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } - .my-lg-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .m-lg-2 { - margin: 0.5rem 0.5rem !important; - } - .mt-lg-2 { - margin-top: 0.5rem !important; - } - .mr-lg-2 { - margin-right: 0.5rem !important; - } - .mb-lg-2 { - margin-bottom: 0.5rem !important; - } - .ml-lg-2 { - margin-left: 0.5rem !important; - } - .mx-lg-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } - .my-lg-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .m-lg-3 { - margin: 1rem 1rem !important; - } - .mt-lg-3 { - margin-top: 1rem !important; - } - .mr-lg-3 { - margin-right: 1rem !important; - } - .mb-lg-3 { - margin-bottom: 1rem !important; - } - .ml-lg-3 { - margin-left: 1rem !important; - } - .mx-lg-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } - .my-lg-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .m-lg-4 { - margin: 1.5rem 1.5rem !important; - } - .mt-lg-4 { - margin-top: 1.5rem !important; - } - .mr-lg-4 { - margin-right: 1.5rem !important; - } - .mb-lg-4 { - margin-bottom: 1.5rem !important; - } - .ml-lg-4 { - margin-left: 1.5rem !important; - } - .mx-lg-4 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; - } - .my-lg-4 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; - } - .m-lg-5 { - margin: 3rem 3rem !important; - } - .mt-lg-5 { - margin-top: 3rem !important; - } - .mr-lg-5 { - margin-right: 3rem !important; - } - .mb-lg-5 { - margin-bottom: 3rem !important; - } - .ml-lg-5 { - margin-left: 3rem !important; - } - .mx-lg-5 { - margin-right: 3rem !important; - margin-left: 3rem !important; - } - .my-lg-5 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; - } - .p-lg-0 { - padding: 0 0 !important; - } - .pt-lg-0 { - padding-top: 0 !important; - } - .pr-lg-0 { - padding-right: 0 !important; - } - .pb-lg-0 { - padding-bottom: 0 !important; - } - .pl-lg-0 { - padding-left: 0 !important; - } - .px-lg-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .py-lg-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .p-lg-1 { - padding: 0.25rem 0.25rem !important; - } - .pt-lg-1 { - padding-top: 0.25rem !important; - } - .pr-lg-1 { - padding-right: 0.25rem !important; - } - .pb-lg-1 { - padding-bottom: 0.25rem !important; - } - .pl-lg-1 { - padding-left: 0.25rem !important; - } - .px-lg-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } - .py-lg-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .p-lg-2 { - padding: 0.5rem 0.5rem !important; - } - .pt-lg-2 { - padding-top: 0.5rem !important; - } - .pr-lg-2 { - padding-right: 0.5rem !important; - } - .pb-lg-2 { - padding-bottom: 0.5rem !important; - } - .pl-lg-2 { - padding-left: 0.5rem !important; - } - .px-lg-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } - .py-lg-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .p-lg-3 { - padding: 1rem 1rem !important; - } - .pt-lg-3 { - padding-top: 1rem !important; - } - .pr-lg-3 { - padding-right: 1rem !important; - } - .pb-lg-3 { - padding-bottom: 1rem !important; - } - .pl-lg-3 { - padding-left: 1rem !important; - } - .px-lg-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } - .py-lg-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .p-lg-4 { - padding: 1.5rem 1.5rem !important; - } - .pt-lg-4 { - padding-top: 1.5rem !important; - } - .pr-lg-4 { - padding-right: 1.5rem !important; - } - .pb-lg-4 { - padding-bottom: 1.5rem !important; - } - .pl-lg-4 { - padding-left: 1.5rem !important; - } - .px-lg-4 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; - } - .py-lg-4 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; - } - .p-lg-5 { - padding: 3rem 3rem !important; - } - .pt-lg-5 { - padding-top: 3rem !important; - } - .pr-lg-5 { - padding-right: 3rem !important; - } - .pb-lg-5 { - padding-bottom: 3rem !important; - } - .pl-lg-5 { - padding-left: 3rem !important; - } - .px-lg-5 { - padding-right: 3rem !important; - padding-left: 3rem !important; - } - .py-lg-5 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; - } - .m-lg-auto { - margin: auto !important; - } - .mt-lg-auto { - margin-top: auto !important; - } - .mr-lg-auto { - margin-right: auto !important; - } - .mb-lg-auto { - margin-bottom: auto !important; - } - .ml-lg-auto { - margin-left: auto !important; - } - .mx-lg-auto { - margin-right: auto !important; - margin-left: auto !important; - } - .my-lg-auto { - margin-top: auto !important; - margin-bottom: auto !important; - } -} - -@media (min-width: 1200px) { - .m-xl-0 { - margin: 0 0 !important; - } - .mt-xl-0 { - margin-top: 0 !important; - } - .mr-xl-0 { - margin-right: 0 !important; - } - .mb-xl-0 { - margin-bottom: 0 !important; - } - .ml-xl-0 { - margin-left: 0 !important; - } - .mx-xl-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .my-xl-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .m-xl-1 { - margin: 0.25rem 0.25rem !important; - } - .mt-xl-1 { - margin-top: 0.25rem !important; - } - .mr-xl-1 { - margin-right: 0.25rem !important; - } - .mb-xl-1 { - margin-bottom: 0.25rem !important; - } - .ml-xl-1 { - margin-left: 0.25rem !important; - } - .mx-xl-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } - .my-xl-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .m-xl-2 { - margin: 0.5rem 0.5rem !important; - } - .mt-xl-2 { - margin-top: 0.5rem !important; - } - .mr-xl-2 { - margin-right: 0.5rem !important; - } - .mb-xl-2 { - margin-bottom: 0.5rem !important; - } - .ml-xl-2 { - margin-left: 0.5rem !important; - } - .mx-xl-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } - .my-xl-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .m-xl-3 { - margin: 1rem 1rem !important; - } - .mt-xl-3 { - margin-top: 1rem !important; - } - .mr-xl-3 { - margin-right: 1rem !important; - } - .mb-xl-3 { - margin-bottom: 1rem !important; - } - .ml-xl-3 { - margin-left: 1rem !important; - } - .mx-xl-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } - .my-xl-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .m-xl-4 { - margin: 1.5rem 1.5rem !important; - } - .mt-xl-4 { - margin-top: 1.5rem !important; - } - .mr-xl-4 { - margin-right: 1.5rem !important; - } - .mb-xl-4 { - margin-bottom: 1.5rem !important; - } - .ml-xl-4 { - margin-left: 1.5rem !important; - } - .mx-xl-4 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; - } - .my-xl-4 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; - } - .m-xl-5 { - margin: 3rem 3rem !important; - } - .mt-xl-5 { - margin-top: 3rem !important; - } - .mr-xl-5 { - margin-right: 3rem !important; - } - .mb-xl-5 { - margin-bottom: 3rem !important; - } - .ml-xl-5 { - margin-left: 3rem !important; - } - .mx-xl-5 { - margin-right: 3rem !important; - margin-left: 3rem !important; - } - .my-xl-5 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; - } - .p-xl-0 { - padding: 0 0 !important; - } - .pt-xl-0 { - padding-top: 0 !important; - } - .pr-xl-0 { - padding-right: 0 !important; - } - .pb-xl-0 { - padding-bottom: 0 !important; - } - .pl-xl-0 { - padding-left: 0 !important; - } - .px-xl-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .py-xl-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .p-xl-1 { - padding: 0.25rem 0.25rem !important; - } - .pt-xl-1 { - padding-top: 0.25rem !important; - } - .pr-xl-1 { - padding-right: 0.25rem !important; - } - .pb-xl-1 { - padding-bottom: 0.25rem !important; - } - .pl-xl-1 { - padding-left: 0.25rem !important; - } - .px-xl-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } - .py-xl-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .p-xl-2 { - padding: 0.5rem 0.5rem !important; - } - .pt-xl-2 { - padding-top: 0.5rem !important; - } - .pr-xl-2 { - padding-right: 0.5rem !important; - } - .pb-xl-2 { - padding-bottom: 0.5rem !important; - } - .pl-xl-2 { - padding-left: 0.5rem !important; - } - .px-xl-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } - .py-xl-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .p-xl-3 { - padding: 1rem 1rem !important; - } - .pt-xl-3 { - padding-top: 1rem !important; - } - .pr-xl-3 { - padding-right: 1rem !important; - } - .pb-xl-3 { - padding-bottom: 1rem !important; - } - .pl-xl-3 { - padding-left: 1rem !important; - } - .px-xl-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } - .py-xl-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .p-xl-4 { - padding: 1.5rem 1.5rem !important; - } - .pt-xl-4 { - padding-top: 1.5rem !important; - } - .pr-xl-4 { - padding-right: 1.5rem !important; - } - .pb-xl-4 { - padding-bottom: 1.5rem !important; - } - .pl-xl-4 { - padding-left: 1.5rem !important; - } - .px-xl-4 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; - } - .py-xl-4 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; - } - .p-xl-5 { - padding: 3rem 3rem !important; - } - .pt-xl-5 { - padding-top: 3rem !important; - } - .pr-xl-5 { - padding-right: 3rem !important; - } - .pb-xl-5 { - padding-bottom: 3rem !important; - } - .pl-xl-5 { - padding-left: 3rem !important; - } - .px-xl-5 { - padding-right: 3rem !important; - padding-left: 3rem !important; - } - .py-xl-5 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; - } - .m-xl-auto { - margin: auto !important; - } - .mt-xl-auto { - margin-top: auto !important; - } - .mr-xl-auto { - margin-right: auto !important; - } - .mb-xl-auto { - margin-bottom: auto !important; - } - .ml-xl-auto { - margin-left: auto !important; - } - .mx-xl-auto { - margin-right: auto !important; - margin-left: auto !important; - } - .my-xl-auto { - margin-top: auto !important; - margin-bottom: auto !important; - } -} - -.text-justify { - text-align: justify !important; -} - -.text-nowrap { - white-space: nowrap !important; -} - -.text-truncate { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -.text-left { - text-align: left !important; -} - -.text-right { - text-align: right !important; -} - -.text-center { - text-align: center !important; -} - -@media (min-width: 576px) { - .text-sm-left { - text-align: left !important; - } - .text-sm-right { - text-align: right !important; - } - .text-sm-center { - text-align: center !important; - } -} - -@media (min-width: 768px) { - .text-md-left { - text-align: left !important; - } - .text-md-right { - text-align: right !important; - } - .text-md-center { - text-align: center !important; - } -} - -@media (min-width: 992px) { - .text-lg-left { - text-align: left !important; - } - .text-lg-right { - text-align: right !important; - } - .text-lg-center { - text-align: center !important; - } -} - -@media (min-width: 1200px) { - .text-xl-left { - text-align: left !important; - } - .text-xl-right { - text-align: right !important; - } - .text-xl-center { - text-align: center !important; - } -} - -.text-lowercase { - text-transform: lowercase !important; -} - -.text-uppercase { - text-transform: uppercase !important; -} - -.text-capitalize { - text-transform: capitalize !important; -} - -.font-weight-normal { - font-weight: normal; -} - -.font-weight-bold { - font-weight: bold; -} - -.font-italic { - font-style: italic; -} - -.text-white { - color: #fff !important; -} - -.text-muted { - color: #636c72 !important; -} - -a.text-muted:focus, a.text-muted:hover { - color: #4b5257 !important; -} - -.text-primary { - color: #0275d8 !important; -} - -a.text-primary:focus, a.text-primary:hover { - color: #025aa5 !important; -} - -.text-success { - color: #5cb85c !important; -} - -a.text-success:focus, a.text-success:hover { - color: #449d44 !important; -} - -.text-info { - color: #5bc0de !important; -} - -a.text-info:focus, a.text-info:hover { - color: #31b0d5 !important; -} - -.text-warning { - color: #f0ad4e !important; -} - -a.text-warning:focus, a.text-warning:hover { - color: #ec971f !important; -} - -.text-danger { - color: #d9534f !important; -} - -a.text-danger:focus, a.text-danger:hover { - color: #c9302c !important; -} - -.text-gray-dark { - color: #292b2c !important; -} - -a.text-gray-dark:focus, a.text-gray-dark:hover { - color: #101112 !important; -} - -.text-hide { - font: 0/0 a; - color: transparent; - text-shadow: none; - background-color: transparent; - border: 0; -} - -.invisible { - visibility: hidden !important; -} - -.hidden-xs-up { - display: none !important; -} - -@media (max-width: 575px) { - .hidden-xs-down { - display: none !important; - } -} - -@media (min-width: 576px) { - .hidden-sm-up { - display: none !important; - } -} - -@media (max-width: 767px) { - .hidden-sm-down { - display: none !important; - } -} - -@media (min-width: 768px) { - .hidden-md-up { - display: none !important; - } -} - -@media (max-width: 991px) { - .hidden-md-down { - display: none !important; - } -} - -@media (min-width: 992px) { - .hidden-lg-up { - display: none !important; - } -} - -@media (max-width: 1199px) { - .hidden-lg-down { - display: none !important; - } -} - -@media (min-width: 1200px) { - .hidden-xl-up { - display: none !important; - } -} - -.hidden-xl-down { - display: none !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; - } -} -/*# sourceMappingURL=bootstrap.css.map */ \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/css/font-awesome.min.css b/sdc-workflow-designer-ui/src/app/paletx/assets/css/font-awesome.min.css deleted file mode 100644 index 248ea7ab..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/assets/css/font-awesome.min.css +++ /dev/null @@ -1,4 +0,0 @@ -/*! - * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome - * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale} .fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%} .fa-2x{font-size:2em} .fa-3x{font-size:3em} .fa-4x{font-size:4em} .fa-5x{font-size:5em} .fa-fw{width:1.28571429em;text-align:center} .fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none} .fa-ul>li{position:relative} .fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center} .fa-li.fa-lg{left:-1.85714286em} .fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em} .fa-pull-left{float:left} .fa-pull-right{float:right} .fa.fa-pull-left{margin-right:.3em} .fa.fa-pull-right{margin-left:.3em} .pull-right{float:right} .pull-left{float:left} .fa.pull-left{margin-right:.3em} .fa.pull-right{margin-left:.3em} .fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear} .fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)} @-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}} @keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}} .fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)} .fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)} .fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)} .fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)} .fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)} :root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none} .fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle} .fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center} .fa-stack-1x{line-height:inherit} .fa-stack-2x{font-size:2em} .fa-inverse{color:#fff} .fa-glass:before{content:"\f000"} .fa-music:before{content:"\f001"} .fa-search:before{content:"\f002"} .fa-envelope-o:before{content:"\f003"} .fa-heart:before{content:"\f004"} .fa-star:before{content:"\f005"} .fa-star-o:before{content:"\f006"} .fa-user:before{content:"\f007"} .fa-film:before{content:"\f008"} .fa-th-large:before{content:"\f009"} .fa-th:before{content:"\f00a"} .fa-th-list:before{content:"\f00b"} .fa-check:before{content:"\f00c"} .fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"} .fa-search-plus:before{content:"\f00e"} .fa-search-minus:before{content:"\f010"} .fa-power-off:before{content:"\f011"} .fa-signal:before{content:"\f012"} .fa-gear:before,.fa-cog:before{content:"\f013"} .fa-trash-o:before{content:"\f014"} .fa-home:before{content:"\f015"} .fa-file-o:before{content:"\f016"} .fa-clock-o:before{content:"\f017"} .fa-road:before{content:"\f018"} .fa-download:before{content:"\f019"} .fa-arrow-circle-o-down:before{content:"\f01a"} .fa-arrow-circle-o-up:before{content:"\f01b"} .fa-inbox:before{content:"\f01c"} .fa-play-circle-o:before{content:"\f01d"} .fa-rotate-right:before,.fa-repeat:before{content:"\f01e"} .fa-refresh:before{content:"\f021"} .fa-list-alt:before{content:"\f022"} .fa-lock:before{content:"\f023"} .fa-flag:before{content:"\f024"} .fa-headphones:before{content:"\f025"} .fa-volume-off:before{content:"\f026"} .fa-volume-down:before{content:"\f027"} .fa-volume-up:before{content:"\f028"} .fa-qrcode:before{content:"\f029"} .fa-barcode:before{content:"\f02a"} .fa-tag:before{content:"\f02b"} .fa-tags:before{content:"\f02c"} .fa-book:before{content:"\f02d"} .fa-bookmark:before{content:"\f02e"} .fa-print:before{content:"\f02f"} .fa-camera:before{content:"\f030"} .fa-font:before{content:"\f031"} .fa-bold:before{content:"\f032"} .fa-italic:before{content:"\f033"} .fa-text-height:before{content:"\f034"} .fa-text-width:before{content:"\f035"} .fa-align-left:before{content:"\f036"} .fa-align-center:before{content:"\f037"} .fa-align-right:before{content:"\f038"} .fa-align-justify:before{content:"\f039"} .fa-list:before{content:"\f03a"} .fa-dedent:before,.fa-outdent:before{content:"\f03b"} .fa-indent:before{content:"\f03c"} .fa-video-camera:before{content:"\f03d"} .fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"} .fa-pencil:before{content:"\f040"} .fa-map-marker:before{content:"\f041"} .fa-adjust:before{content:"\f042"} .fa-tint:before{content:"\f043"} .fa-edit:before,.fa-pencil-square-o:before{content:"\f044"} .fa-share-square-o:before{content:"\f045"} .fa-check-square-o:before{content:"\f046"} .fa-arrows:before{content:"\f047"} .fa-step-backward:before{content:"\f048"} .fa-fast-backward:before{content:"\f049"} .fa-backward:before{content:"\f04a"} .fa-play:before{content:"\f04b"} .fa-pause:before{content:"\f04c"} .fa-stop:before{content:"\f04d"} .fa-forward:before{content:"\f04e"} .fa-fast-forward:before{content:"\f050"} .fa-step-forward:before{content:"\f051"} .fa-eject:before{content:"\f052"} .fa-chevron-left:before{content:"\f053"} .fa-chevron-right:before{content:"\f054"} .fa-plus-circle:before{content:"\f055"} .fa-minus-circle:before{content:"\f056"} .fa-times-circle:before{content:"\f057"} .fa-check-circle:before{content:"\f058"} .fa-question-circle:before{content:"\f059"} .fa-info-circle:before{content:"\f05a"} .fa-crosshairs:before{content:"\f05b"} .fa-times-circle-o:before{content:"\f05c"} .fa-check-circle-o:before{content:"\f05d"} .fa-ban:before{content:"\f05e"} .fa-arrow-left:before{content:"\f060"} .fa-arrow-right:before{content:"\f061"} .fa-arrow-up:before{content:"\f062"} .fa-arrow-down:before{content:"\f063"} .fa-mail-forward:before,.fa-share:before{content:"\f064"} .fa-expand:before{content:"\f065"} .fa-compress:before{content:"\f066"} .fa-plus:before{content:"\f067"} .fa-minus:before{content:"\f068"} .fa-asterisk:before{content:"\f069"} .fa-exclamation-circle:before{content:"\f06a"} .fa-gift:before{content:"\f06b"} .fa-leaf:before{content:"\f06c"} .fa-fire:before{content:"\f06d"} .fa-eye:before{content:"\f06e"} .fa-eye-slash:before{content:"\f070"} .fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"} .fa-plane:before{content:"\f072"} .fa-calendar:before{content:"\f073"} .fa-random:before{content:"\f074"} .fa-comment:before{content:"\f075"} .fa-magnet:before{content:"\f076"} .fa-chevron-up:before{content:"\f077"} .fa-chevron-down:before{content:"\f078"} .fa-retweet:before{content:"\f079"} .fa-shopping-cart:before{content:"\f07a"} .fa-folder:before{content:"\f07b"} .fa-folder-open:before{content:"\f07c"} .fa-arrows-v:before{content:"\f07d"} .fa-arrows-h:before{content:"\f07e"} .fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"} .fa-twitter-square:before{content:"\f081"} .fa-facebook-square:before{content:"\f082"} .fa-camera-retro:before{content:"\f083"} .fa-key:before{content:"\f084"} .fa-gears:before,.fa-cogs:before{content:"\f085"} .fa-comments:before{content:"\f086"} .fa-thumbs-o-up:before{content:"\f087"} .fa-thumbs-o-down:before{content:"\f088"} .fa-star-half:before{content:"\f089"} .fa-heart-o:before{content:"\f08a"} .fa-sign-out:before{content:"\f08b"} .fa-linkedin-square:before{content:"\f08c"} .fa-thumb-tack:before{content:"\f08d"} .fa-external-link:before{content:"\f08e"} .fa-sign-in:before{content:"\f090"} .fa-trophy:before{content:"\f091"} .fa-github-square:before{content:"\f092"} .fa-upload:before{content:"\f093"} .fa-lemon-o:before{content:"\f094"} .fa-phone:before{content:"\f095"} .fa-square-o:before{content:"\f096"} .fa-bookmark-o:before{content:"\f097"} .fa-phone-square:before{content:"\f098"} .fa-twitter:before{content:"\f099"} .fa-facebook-f:before,.fa-facebook:before{content:"\f09a"} .fa-github:before{content:"\f09b"} .fa-unlock:before{content:"\f09c"} .fa-credit-card:before{content:"\f09d"} .fa-feed:before,.fa-rss:before{content:"\f09e"} .fa-hdd-o:before{content:"\f0a0"} .fa-bullhorn:before{content:"\f0a1"} .fa-bell:before{content:"\f0f3"} .fa-certificate:before{content:"\f0a3"} .fa-hand-o-right:before{content:"\f0a4"} .fa-hand-o-left:before{content:"\f0a5"} .fa-hand-o-up:before{content:"\f0a6"} .fa-hand-o-down:before{content:"\f0a7"} .fa-arrow-circle-left:before{content:"\f0a8"} .fa-arrow-circle-right:before{content:"\f0a9"} .fa-arrow-circle-up:before{content:"\f0aa"} .fa-arrow-circle-down:before{content:"\f0ab"} .fa-globe:before{content:"\f0ac"} .fa-wrench:before{content:"\f0ad"} .fa-tasks:before{content:"\f0ae"} .fa-filter:before{content:"\f0b0"} .fa-briefcase:before{content:"\f0b1"} .fa-arrows-alt:before{content:"\f0b2"} .fa-group:before,.fa-users:before{content:"\f0c0"} .fa-chain:before,.fa-link:before{content:"\f0c1"} .fa-cloud:before{content:"\f0c2"} .fa-flask:before{content:"\f0c3"} .fa-cut:before,.fa-scissors:before{content:"\f0c4"} .fa-copy:before,.fa-files-o:before{content:"\f0c5"} .fa-paperclip:before{content:"\f0c6"} .fa-save:before,.fa-floppy-o:before{content:"\f0c7"} .fa-square:before{content:"\f0c8"} .fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"} .fa-list-ul:before{content:"\f0ca"} .fa-list-ol:before{content:"\f0cb"} .fa-strikethrough:before{content:"\f0cc"} .fa-underline:before{content:"\f0cd"} .fa-table:before{content:"\f0ce"} .fa-magic:before{content:"\f0d0"} .fa-truck:before{content:"\f0d1"} .fa-pinterest:before{content:"\f0d2"} .fa-pinterest-square:before{content:"\f0d3"} .fa-google-plus-square:before{content:"\f0d4"} .fa-google-plus:before{content:"\f0d5"} .fa-money:before{content:"\f0d6"} .fa-caret-down:before{content:"\f0d7"} .fa-caret-up:before{content:"\f0d8"} .fa-caret-left:before{content:"\f0d9"} .fa-caret-right:before{content:"\f0da"} .fa-columns:before{content:"\f0db"} .fa-unsorted:before,.fa-sort:before{content:"\f0dc"} .fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"} .fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"} .fa-envelope:before{content:"\f0e0"} .fa-linkedin:before{content:"\f0e1"} .fa-rotate-left:before,.fa-undo:before{content:"\f0e2"} .fa-legal:before,.fa-gavel:before{content:"\f0e3"} .fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"} .fa-comment-o:before{content:"\f0e5"} .fa-comments-o:before{content:"\f0e6"} .fa-flash:before,.fa-bolt:before{content:"\f0e7"} .fa-sitemap:before{content:"\f0e8"} .fa-umbrella:before{content:"\f0e9"} .fa-paste:before,.fa-clipboard:before{content:"\f0ea"} .fa-lightbulb-o:before{content:"\f0eb"} .fa-exchange:before{content:"\f0ec"} .fa-cloud-download:before{content:"\f0ed"} .fa-cloud-upload:before{content:"\f0ee"} .fa-user-md:before{content:"\f0f0"} .fa-stethoscope:before{content:"\f0f1"} .fa-suitcase:before{content:"\f0f2"} .fa-bell-o:before{content:"\f0a2"} .fa-coffee:before{content:"\f0f4"} .fa-cutlery:before{content:"\f0f5"} .fa-file-text-o:before{content:"\f0f6"} .fa-building-o:before{content:"\f0f7"} .fa-hospital-o:before{content:"\f0f8"} .fa-ambulance:before{content:"\f0f9"} .fa-medkit:before{content:"\f0fa"} .fa-fighter-jet:before{content:"\f0fb"} .fa-beer:before{content:"\f0fc"} .fa-h-square:before{content:"\f0fd"} .fa-plus-square:before{content:"\f0fe"} .fa-angle-double-left:before{content:"\f100"} .fa-angle-double-right:before{content:"\f101"} .fa-angle-double-up:before{content:"\f102"} .fa-angle-double-down:before{content:"\f103"} .fa-angle-left:before{content:"\f104"} .fa-angle-right:before{content:"\f105"} .fa-angle-up:before{content:"\f106"} .fa-angle-down:before{content:"\f107"} .fa-desktop:before{content:"\f108"} .fa-laptop:before{content:"\f109"} .fa-tablet:before{content:"\f10a"} .fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"} .fa-circle-o:before{content:"\f10c"} .fa-quote-left:before{content:"\f10d"} .fa-quote-right:before{content:"\f10e"} .fa-spinner:before{content:"\f110"} .fa-circle:before{content:"\f111"} .fa-mail-reply:before,.fa-reply:before{content:"\f112"} .fa-github-alt:before{content:"\f113"} .fa-folder-o:before{content:"\f114"} .fa-folder-open-o:before{content:"\f115"} .fa-smile-o:before{content:"\f118"} .fa-frown-o:before{content:"\f119"} .fa-meh-o:before{content:"\f11a"} .fa-gamepad:before{content:"\f11b"} .fa-keyboard-o:before{content:"\f11c"} .fa-flag-o:before{content:"\f11d"} .fa-flag-checkered:before{content:"\f11e"} .fa-terminal:before{content:"\f120"} .fa-code:before{content:"\f121"} .fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"} .fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"} .fa-location-arrow:before{content:"\f124"} .fa-crop:before{content:"\f125"} .fa-code-fork:before{content:"\f126"} .fa-unlink:before,.fa-chain-broken:before{content:"\f127"} .fa-question:before{content:"\f128"} .fa-info:before{content:"\f129"} .fa-exclamation:before{content:"\f12a"} .fa-superscript:before{content:"\f12b"} .fa-subscript:before{content:"\f12c"} .fa-eraser:before{content:"\f12d"} .fa-puzzle-piece:before{content:"\f12e"} .fa-microphone:before{content:"\f130"} .fa-microphone-slash:before{content:"\f131"} .fa-shield:before{content:"\f132"} .fa-calendar-o:before{content:"\f133"} .fa-fire-extinguisher:before{content:"\f134"} .fa-rocket:before{content:"\f135"} .fa-maxcdn:before{content:"\f136"} .fa-chevron-circle-left:before{content:"\f137"} .fa-chevron-circle-right:before{content:"\f138"} .fa-chevron-circle-up:before{content:"\f139"} .fa-chevron-circle-down:before{content:"\f13a"} .fa-html5:before{content:"\f13b"} .fa-css3:before{content:"\f13c"} .fa-anchor:before{content:"\f13d"} .fa-unlock-alt:before{content:"\f13e"} .fa-bullseye:before{content:"\f140"} .fa-ellipsis-h:before{content:"\f141"} .fa-ellipsis-v:before{content:"\f142"} .fa-rss-square:before{content:"\f143"} .fa-play-circle:before{content:"\f144"} .fa-ticket:before{content:"\f145"} .fa-minus-square:before{content:"\f146"} .fa-minus-square-o:before{content:"\f147"} .fa-level-up:before{content:"\f148"} .fa-level-down:before{content:"\f149"} .fa-check-square:before{content:"\f14a"} .fa-pencil-square:before{content:"\f14b"} .fa-external-link-square:before{content:"\f14c"} .fa-share-square:before{content:"\f14d"} .fa-compass:before{content:"\f14e"} .fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"} .fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"} .fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"} .fa-euro:before,.fa-eur:before{content:"\f153"} .fa-gbp:before{content:"\f154"} .fa-dollar:before,.fa-usd:before{content:"\f155"} .fa-rupee:before,.fa-inr:before{content:"\f156"} .fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"} .fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"} .fa-won:before,.fa-krw:before{content:"\f159"} .fa-bitcoin:before,.fa-btc:before{content:"\f15a"} .fa-file:before{content:"\f15b"} .fa-file-text:before{content:"\f15c"} .fa-sort-alpha-asc:before{content:"\f15d"} .fa-sort-alpha-desc:before{content:"\f15e"} .fa-sort-amount-asc:before{content:"\f160"} .fa-sort-amount-desc:before{content:"\f161"} .fa-sort-numeric-asc:before{content:"\f162"} .fa-sort-numeric-desc:before{content:"\f163"} .fa-thumbs-up:before{content:"\f164"} .fa-thumbs-down:before{content:"\f165"} .fa-youtube-square:before{content:"\f166"} .fa-youtube:before{content:"\f167"} .fa-xing:before{content:"\f168"} .fa-xing-square:before{content:"\f169"} .fa-youtube-play:before{content:"\f16a"} .fa-dropbox:before{content:"\f16b"} .fa-stack-overflow:before{content:"\f16c"} .fa-instagram:before{content:"\f16d"} .fa-flickr:before{content:"\f16e"} .fa-adn:before{content:"\f170"} .fa-bitbucket:before{content:"\f171"} .fa-bitbucket-square:before{content:"\f172"} .fa-tumblr:before{content:"\f173"} .fa-tumblr-square:before{content:"\f174"} .fa-long-arrow-down:before{content:"\f175"} .fa-long-arrow-up:before{content:"\f176"} .fa-long-arrow-left:before{content:"\f177"} .fa-long-arrow-right:before{content:"\f178"} .fa-apple:before{content:"\f179"} .fa-windows:before{content:"\f17a"} .fa-android:before{content:"\f17b"} .fa-linux:before{content:"\f17c"} .fa-dribbble:before{content:"\f17d"} .fa-skype:before{content:"\f17e"} .fa-foursquare:before{content:"\f180"} .fa-trello:before{content:"\f181"} .fa-female:before{content:"\f182"} .fa-male:before{content:"\f183"} .fa-gittip:before,.fa-gratipay:before{content:"\f184"} .fa-sun-o:before{content:"\f185"} .fa-moon-o:before{content:"\f186"} .fa-archive:before{content:"\f187"} .fa-bug:before{content:"\f188"} .fa-vk:before{content:"\f189"} .fa-weibo:before{content:"\f18a"} .fa-renren:before{content:"\f18b"} .fa-pagelines:before{content:"\f18c"} .fa-stack-exchange:before{content:"\f18d"} .fa-arrow-circle-o-right:before{content:"\f18e"} .fa-arrow-circle-o-left:before{content:"\f190"} .fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"} .fa-dot-circle-o:before{content:"\f192"} .fa-wheelchair:before{content:"\f193"} .fa-vimeo-square:before{content:"\f194"} .fa-turkish-lira:before,.fa-try:before{content:"\f195"} .fa-plus-square-o:before{content:"\f196"} .fa-space-shuttle:before{content:"\f197"} .fa-slack:before{content:"\f198"} .fa-envelope-square:before{content:"\f199"} .fa-wordpress:before{content:"\f19a"} .fa-openid:before{content:"\f19b"} .fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"} .fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"} .fa-yahoo:before{content:"\f19e"} .fa-google:before{content:"\f1a0"} .fa-reddit:before{content:"\f1a1"} .fa-reddit-square:before{content:"\f1a2"} .fa-stumbleupon-circle:before{content:"\f1a3"} .fa-stumbleupon:before{content:"\f1a4"} .fa-delicious:before{content:"\f1a5"} .fa-digg:before{content:"\f1a6"} .fa-pied-piper-pp:before{content:"\f1a7"} .fa-pied-piper-alt:before{content:"\f1a8"} .fa-drupal:before{content:"\f1a9"} .fa-joomla:before{content:"\f1aa"} .fa-language:before{content:"\f1ab"} .fa-fax:before{content:"\f1ac"} .fa-building:before{content:"\f1ad"} .fa-child:before{content:"\f1ae"} .fa-paw:before{content:"\f1b0"} .fa-spoon:before{content:"\f1b1"} .fa-cube:before{content:"\f1b2"} .fa-cubes:before{content:"\f1b3"} .fa-behance:before{content:"\f1b4"} .fa-behance-square:before{content:"\f1b5"} .fa-steam:before{content:"\f1b6"} .fa-steam-square:before{content:"\f1b7"} .fa-recycle:before{content:"\f1b8"} .fa-automobile:before,.fa-car:before{content:"\f1b9"} .fa-cab:before,.fa-taxi:before{content:"\f1ba"} .fa-tree:before{content:"\f1bb"} .fa-spotify:before{content:"\f1bc"} .fa-deviantart:before{content:"\f1bd"} .fa-soundcloud:before{content:"\f1be"} .fa-database:before{content:"\f1c0"} .fa-file-pdf-o:before{content:"\f1c1"} .fa-file-word-o:before{content:"\f1c2"} .fa-file-excel-o:before{content:"\f1c3"} .fa-file-powerpoint-o:before{content:"\f1c4"} .fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"} .fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"} .fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"} .fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"} .fa-file-code-o:before{content:"\f1c9"} .fa-vine:before{content:"\f1ca"} .fa-codepen:before{content:"\f1cb"} .fa-jsfiddle:before{content:"\f1cc"} .fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"} .fa-circle-o-notch:before{content:"\f1ce"} .fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"} .fa-ge:before,.fa-empire:before{content:"\f1d1"} .fa-git-square:before{content:"\f1d2"} .fa-git:before{content:"\f1d3"} .fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"} .fa-tencent-weibo:before{content:"\f1d5"} .fa-qq:before{content:"\f1d6"} .fa-wechat:before,.fa-weixin:before{content:"\f1d7"} .fa-send:before,.fa-paper-plane:before{content:"\f1d8"} .fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"} .fa-history:before{content:"\f1da"} .fa-circle-thin:before{content:"\f1db"} .fa-header:before{content:"\f1dc"} .fa-paragraph:before{content:"\f1dd"} .fa-sliders:before{content:"\f1de"} .fa-share-alt:before{content:"\f1e0"} .fa-share-alt-square:before{content:"\f1e1"} .fa-bomb:before{content:"\f1e2"} .fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"} .fa-tty:before{content:"\f1e4"} .fa-binoculars:before{content:"\f1e5"} .fa-plug:before{content:"\f1e6"} .fa-slideshare:before{content:"\f1e7"} .fa-twitch:before{content:"\f1e8"} .fa-yelp:before{content:"\f1e9"} .fa-newspaper-o:before{content:"\f1ea"} .fa-wifi:before{content:"\f1eb"} .fa-calculator:before{content:"\f1ec"} .fa-paypal:before{content:"\f1ed"} .fa-google-wallet:before{content:"\f1ee"} .fa-cc-visa:before{content:"\f1f0"} .fa-cc-mastercard:before{content:"\f1f1"} .fa-cc-discover:before{content:"\f1f2"} .fa-cc-amex:before{content:"\f1f3"} .fa-cc-paypal:before{content:"\f1f4"} .fa-cc-stripe:before{content:"\f1f5"} .fa-bell-slash:before{content:"\f1f6"} .fa-bell-slash-o:before{content:"\f1f7"} .fa-trash:before{content:"\f1f8"} .fa-copyright:before{content:"\f1f9"} .fa-at:before{content:"\f1fa"} .fa-eyedropper:before{content:"\f1fb"} .fa-paint-brush:before{content:"\f1fc"} .fa-birthday-cake:before{content:"\f1fd"} .fa-area-chart:before{content:"\f1fe"} .fa-pie-chart:before{content:"\f200"} .fa-line-chart:before{content:"\f201"} .fa-lastfm:before{content:"\f202"} .fa-lastfm-square:before{content:"\f203"} .fa-toggle-off:before{content:"\f204"} .fa-toggle-on:before{content:"\f205"} .fa-bicycle:before{content:"\f206"} .fa-bus:before{content:"\f207"} .fa-ioxhost:before{content:"\f208"} .fa-angellist:before{content:"\f209"} .fa-cc:before{content:"\f20a"} .fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"} .fa-meanpath:before{content:"\f20c"} .fa-buysellads:before{content:"\f20d"} .fa-connectdevelop:before{content:"\f20e"} .fa-dashcube:before{content:"\f210"} .fa-forumbee:before{content:"\f211"} .fa-leanpub:before{content:"\f212"} .fa-sellsy:before{content:"\f213"} .fa-shirtsinbulk:before{content:"\f214"} .fa-simplybuilt:before{content:"\f215"} .fa-skyatlas:before{content:"\f216"} .fa-cart-plus:before{content:"\f217"} .fa-cart-arrow-down:before{content:"\f218"} .fa-diamond:before{content:"\f219"} .fa-ship:before{content:"\f21a"} .fa-user-secret:before{content:"\f21b"} .fa-motorcycle:before{content:"\f21c"} .fa-street-view:before{content:"\f21d"} .fa-heartbeat:before{content:"\f21e"} .fa-venus:before{content:"\f221"} .fa-mars:before{content:"\f222"} .fa-mercury:before{content:"\f223"} .fa-intersex:before,.fa-transgender:before{content:"\f224"} .fa-transgender-alt:before{content:"\f225"} .fa-venus-double:before{content:"\f226"} .fa-mars-double:before{content:"\f227"} .fa-venus-mars:before{content:"\f228"} .fa-mars-stroke:before{content:"\f229"} .fa-mars-stroke-v:before{content:"\f22a"} .fa-mars-stroke-h:before{content:"\f22b"} .fa-neuter:before{content:"\f22c"} .fa-genderless:before{content:"\f22d"} .fa-facebook-official:before{content:"\f230"} .fa-pinterest-p:before{content:"\f231"} .fa-whatsapp:before{content:"\f232"} .fa-server:before{content:"\f233"} .fa-user-plus:before{content:"\f234"} .fa-user-times:before{content:"\f235"} .fa-hotel:before,.fa-bed:before{content:"\f236"} .fa-viacoin:before{content:"\f237"} .fa-train:before{content:"\f238"} .fa-subway:before{content:"\f239"} .fa-medium:before{content:"\f23a"} .fa-yc:before,.fa-y-combinator:before{content:"\f23b"} .fa-optin-monster:before{content:"\f23c"} .fa-opencart:before{content:"\f23d"} .fa-expeditedssl:before{content:"\f23e"} .fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"} .fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"} .fa-battery-2:before,.fa-battery-half:before{content:"\f242"} .fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"} .fa-battery-0:before,.fa-battery-empty:before{content:"\f244"} .fa-mouse-pointer:before{content:"\f245"} .fa-i-cursor:before{content:"\f246"} .fa-object-group:before{content:"\f247"} .fa-object-ungroup:before{content:"\f248"} .fa-sticky-note:before{content:"\f249"} .fa-sticky-note-o:before{content:"\f24a"} .fa-cc-jcb:before{content:"\f24b"} .fa-cc-diners-club:before{content:"\f24c"} .fa-clone:before{content:"\f24d"} .fa-balance-scale:before{content:"\f24e"} .fa-hourglass-o:before{content:"\f250"} .fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"} .fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"} .fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"} .fa-hourglass:before{content:"\f254"} .fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"} .fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"} .fa-hand-scissors-o:before{content:"\f257"} .fa-hand-lizard-o:before{content:"\f258"} .fa-hand-spock-o:before{content:"\f259"} .fa-hand-pointer-o:before{content:"\f25a"} .fa-hand-peace-o:before{content:"\f25b"} .fa-trademark:before{content:"\f25c"} .fa-registered:before{content:"\f25d"} .fa-creative-commons:before{content:"\f25e"} .fa-gg:before{content:"\f260"} .fa-gg-circle:before{content:"\f261"} .fa-tripadvisor:before{content:"\f262"} .fa-odnoklassniki:before{content:"\f263"} .fa-odnoklassniki-square:before{content:"\f264"} .fa-get-pocket:before{content:"\f265"} .fa-wikipedia-w:before{content:"\f266"} .fa-safari:before{content:"\f267"} .fa-chrome:before{content:"\f268"} .fa-firefox:before{content:"\f269"} .fa-opera:before{content:"\f26a"} .fa-internet-explorer:before{content:"\f26b"} .fa-tv:before,.fa-television:before{content:"\f26c"} .fa-contao:before{content:"\f26d"} .fa-500px:before{content:"\f26e"} .fa-amazon:before{content:"\f270"} .fa-calendar-plus-o:before{content:"\f271"} .fa-calendar-minus-o:before{content:"\f272"} .fa-calendar-times-o:before{content:"\f273"} .fa-calendar-check-o:before{content:"\f274"} .fa-industry:before{content:"\f275"} .fa-map-pin:before{content:"\f276"} .fa-map-signs:before{content:"\f277"} .fa-map-o:before{content:"\f278"} .fa-map:before{content:"\f279"} .fa-commenting:before{content:"\f27a"} .fa-commenting-o:before{content:"\f27b"} .fa-houzz:before{content:"\f27c"} .fa-vimeo:before{content:"\f27d"} .fa-black-tie:before{content:"\f27e"} .fa-fonticons:before{content:"\f280"} .fa-reddit-alien:before{content:"\f281"} .fa-edge:before{content:"\f282"} .fa-credit-card-alt:before{content:"\f283"} .fa-codiepie:before{content:"\f284"} .fa-modx:before{content:"\f285"} .fa-fort-awesome:before{content:"\f286"} .fa-usb:before{content:"\f287"} .fa-product-hunt:before{content:"\f288"} .fa-mixcloud:before{content:"\f289"} .fa-scribd:before{content:"\f28a"} .fa-pause-circle:before{content:"\f28b"} .fa-pause-circle-o:before{content:"\f28c"} .fa-stop-circle:before{content:"\f28d"} .fa-stop-circle-o:before{content:"\f28e"} .fa-shopping-bag:before{content:"\f290"} .fa-shopping-basket:before{content:"\f291"} .fa-hashtag:before{content:"\f292"} .fa-bluetooth:before{content:"\f293"} .fa-bluetooth-b:before{content:"\f294"} .fa-percent:before{content:"\f295"} .fa-gitlab:before{content:"\f296"} .fa-wpbeginner:before{content:"\f297"} .fa-wpforms:before{content:"\f298"} .fa-envira:before{content:"\f299"} .fa-universal-access:before{content:"\f29a"} .fa-wheelchair-alt:before{content:"\f29b"} .fa-question-circle-o:before{content:"\f29c"} .fa-blind:before{content:"\f29d"} .fa-audio-description:before{content:"\f29e"} .fa-volume-control-phone:before{content:"\f2a0"} .fa-braille:before{content:"\f2a1"} .fa-assistive-listening-systems:before{content:"\f2a2"} .fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"} .fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"} .fa-glide:before{content:"\f2a5"} .fa-glide-g:before{content:"\f2a6"} .fa-signing:before,.fa-sign-language:before{content:"\f2a7"} .fa-low-vision:before{content:"\f2a8"} .fa-viadeo:before{content:"\f2a9"} .fa-viadeo-square:before{content:"\f2aa"} .fa-snapchat:before{content:"\f2ab"} .fa-snapchat-ghost:before{content:"\f2ac"} .fa-snapchat-square:before{content:"\f2ad"} .fa-pied-piper:before{content:"\f2ae"} .fa-first-order:before{content:"\f2b0"} .fa-yoast:before{content:"\f2b1"} .fa-themeisle:before{content:"\f2b2"} .fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"} .fa-fa:before,.fa-font-awesome:before{content:"\f2b4"} .fa-handshake-o:before{content:"\f2b5"} .fa-envelope-open:before{content:"\f2b6"} .fa-envelope-open-o:before{content:"\f2b7"} .fa-linode:before{content:"\f2b8"} .fa-address-book:before{content:"\f2b9"} .fa-address-book-o:before{content:"\f2ba"} .fa-vcard:before,.fa-address-card:before{content:"\f2bb"} .fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"} .fa-user-circle:before{content:"\f2bd"} .fa-user-circle-o:before{content:"\f2be"} .fa-user-o:before{content:"\f2c0"} .fa-id-badge:before{content:"\f2c1"} .fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"} .fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"} .fa-quora:before{content:"\f2c4"} .fa-free-code-camp:before{content:"\f2c5"} .fa-telegram:before{content:"\f2c6"} .fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"} .fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"} .fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"} .fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"} .fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"} .fa-shower:before{content:"\f2cc"} .fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"} .fa-podcast:before{content:"\f2ce"} .fa-window-maximize:before{content:"\f2d0"} .fa-window-minimize:before{content:"\f2d1"} .fa-window-restore:before{content:"\f2d2"} .fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"} .fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"} .fa-bandcamp:before{content:"\f2d5"} .fa-grav:before{content:"\f2d6"} .fa-etsy:before{content:"\f2d7"} .fa-imdb:before{content:"\f2d8"} .fa-ravelry:before{content:"\f2d9"} .fa-eercast:before{content:"\f2da"} .fa-microchip:before{content:"\f2db"} .fa-snowflake-o:before{content:"\f2dc"} .fa-superpowers:before{content:"\f2dd"} .fa-wpexplorer:before{content:"\f2de"} .fa-meetup:before{content:"\f2e0"} .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;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} diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/css/iconfont.css b/sdc-workflow-designer-ui/src/app/paletx/assets/css/iconfont.css deleted file mode 100644 index 1b4dfb98..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/assets/css/iconfont.css +++ /dev/null @@ -1,95 +0,0 @@ - -@font-face {font-family: "iconfont"; - src: url('../fonts/iconfont.eot?t=1510714355480'); /* IE9*/ - src: url('../fonts/iconfont.eot?t=1510714355480#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAABdEAAsAAAAAJRgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADMAAABCsP6z7U9TLzIAAAE8AAAARAAAAFZW7kmjY21hcAAAAYAAAAGdAAAEOjIGFotnbHlmAAADIAAAEGwAABk8OpQGYGhlYWQAABOMAAAALwAAADYPgt3jaGhlYQAAE7wAAAAcAAAAJAfeA6pobXR4AAAT2AAAABQAAACko+kAAGxvY2EAABPsAAAAVAAAAFRt8HQsbWF4cAAAFEAAAAAfAAAAIAFCAJduYW1lAAAUYAAAAUUAAAJtPlT+fXBvc3QAABWoAAABmgAAAmHv9z0eeJxjYGRgYOBikGPQYWB0cfMJYeBgYGGAAJAMY05meiJQDMoDyrGAaQ4gZoOIAgCKIwNPAHicY2Bk/s84gYGVgYOpk+kMAwNDP4RmfM1gxMjBwMDEwMrMgBUEpLmmMDgwVDzfxNzwv4EhhrmBoQEozAiSAwAy6w0meJzFks1OFFEQRk/DiKAoDoOKjsqPoENCXBogI84CkLiAMI/Citdgx4YflSfgKZAnYM3iq61vAF93NQnuNDHxVk5335vq7rq3DnAPGDSLpgEDXyn8RLHm1aJaH+RBtd4oJj3/wLTzHrOnQktaUU+b2lZf+zrQoS50qatoRivasRDLsRuncXZ97fdu87ta15Z26vzzO/mdKv+ozv/zUbim2/hIl1V6dazdiY0q+lX+Owa8q4b3PsR9hhnxDh8yyiPva4wnNBmnxQRPecZzJnnBS9q84jVveM+UT2CGWd4yxzwdf3Dor+r9p6P4f7/+fYyWl+JXPfOpsFfjElXjk0dLiXuAVpLSQHWT0kJ9Sko7tZq4V+hz4q6hXuL+ofXEnUQbSWmtviTuLtpMykq1lbjjaDtx79FOYgtQP7EPaD+xGeggsSPoMLEt6DyxN+hnYoPQRWKX0GViq9BVYr+IZmLTiFZi54h2QnnvJPaQWEhsJLGc2E1iN7GlxFFiX4njxOYSJ4kdJr4ltpn4nthr4kdiw4nTxK4TZwmdG6fXsYMAAAB4nIVZCZAc1Xl+/3vdr++e6Znu6dlDOzszu9O70mrX2p6d0cEeSAosh2zrCoeVsrShVlWSwCTBkEBsJlREEuwYMDIurY3MoTIQSkrB4kSiLHspWRirtHES46JQFamIuARJAYGkiO2CaeV/3XsJIjKa/bvf67/f8R/f/70RkQm5cI79kOVJlvSQVWQj+TwhwFdAyabLoBhU++kK8Iqy57s2C8pBUSmX+tkw+CXu5gZr1YrPFZ4CGzogLA7Wgn4awFB1hK6DwdwygJa21q2Z7vYMewD0fNCxP7qaPg5eodyeGlkZXdU36g52ZtU7zEymJZP5usplWaVUStlws5/TZE3n0WE51er9sNBLC2C2BK3X3mB1tmV2/WX1lmXdvgbQaEC2rdN+ctRpdfD7p625bKZFSVtqvtUqd7lwx6+MfNZcVvk3gp8U7vU8m2KtxMD7LPFJGymQMgnICjJAQlIn68go2YD790KvOBQOlZ2iw4pOsbuIFhDXsuhM/mDJfXZpf+iVu/GPhWGzGu5m1WqzSs9EBKrRGZhtTtHJKJyMP0DOxJ+ppBmRMITZMKTT+DxshnS2uRvOzIaz0VQYhtUwvECWXmAKP7hUsTG2m76JeyJQdHDJXtEJnSKbjE5uiU7C8BYYhqdheK4l1ON36BTMEoqNoEjJFFQhnFp89jZ9mWBkdGuARqaz0ZVwvBA1oLEaxmG8NzoXnfuErkYD9EcIx6MrC9CIGvTl6Fh0rBcKUFjQZeN0X6Jb14CNLyjQTQszfEIXNRUNji1MPL0ww5K9txGSHYH6YM7lZRuUDvCxVa0N5jxs9cMUO33QtCzznqOMHb0Hpe3b2HXwNDQOno4bcS9KoYVd7PTiOiboG7Ftg3ghaI86sF290cvRy73Cqr2wGlb3RifpsV5h34se4Osivw6xN9gEjuGTLtJNBkV+ESVH/BqpVwjrhwAXi0u2gQ3W6tl+KHEli+2y2wGDI1DFDhsomY3ek2VIz85CWpaj92an35Xld6cTaTvAwev0QIaMvdL08p4ZCzYhNJe8+dFXFt6ZfhfCjA2fTXteOpq2s982XctyW4RY8O0bdCLZuxIovuLX/XpAz/UeO9Z74kQs6er5O5SExfb6XTgV77WMPhEgEa4SMFEuXuL+P5cFwTLxR0vLKpX4Llrog58Ea4OPfROb/kQibJiYpIVUyLXkBlxjiXuOgKQhp1qR0e0OWi9udC8+qVXqg/UhtGhKGBkhC6OrUlKAu34Ob3N1dAB4HYB4tvgKTMqqaqhq9O+yAWAYKmf74h6qtqVkSdG+jHEBpjoevRX9mFty9ANZNtKwFi6XdKpRKIEW/R0XLzCNmipvvopvy7Siav8Fqhz9TLSgLqszmhwpsqbJ8FtZm3Vuo5qCs3FFV6JX4DPo87OyLes6tEWzEkgM1v6ObkW3XTQEIdISjPMR0behZRYyoh+WRltgM7eDDo5QxPgswr0XVmv1EQhrfgd4OYHpCn69cKhWx3+jMILAXgkqlBx5S5bfOpLIOFkOxvKQaqucqzair6KoFi2tqjj9mmF2+4FvaOB5fkGROCKNpvpZO6OoTraDtS6MdOStpjw/FMqfA1et9MKIHG73gmrBL6UM9I3RlvV9VzRaUqmU79u5rJlSS9m2lakKmYtDgQsFcg35LOLYMFQrA+hp7hYgCb6igj4XETIK1ZpSLA054WBtGEJRtYTjh6EfRJym5kIhLArbBP0ACO2TEjRUN6VcF91l2LYBjesURdJSOmvQt6JdqaOm9YZkIKxI5bbonKKzwyBV2mEqlcLQUd3oXw68r+sSYw01nVWvt/L2daqrMkpZQ2KPpuAByzyqqD8SI/+ovSLBYaZKUX97BTTJNVWJfvEAifd44Tx9Hv2c5ADBAuw7NpQqgYPr7BCL5qUKxn+te2mDEtMCsPJCfMO0cZE2jBrxlbWCZTaJgECWaF2yNY+Nm9DGfSL3Qr4MDYbxgjb1cxgu/cCxhfYKKtjK+QjLbs4PhzAEVytKx8ZffOnWO7jxyB/efuozEk9n5L5nJifv1fm+iYnnL3tAbP1NMOl5yO/fMVrpPXnnn/yNl7nlD9SMytVdO23nwJ49TxU7RrbHG3nTsOfXs40eIe3YQN9hfuPcSE5yBTQN0hHM7DiC2Zic4rovR99/Kdtt69R+R3Z0rjsy3Clhuj4qq7oWhUc0aqd6Uj+VFU3HfMxoPCVwB+eYpa8je2jD3BoSsQXFJED8IuaVgzYolirVGnIhrEWyK4gUNgUbCpJL0hUU0RIBpldFCC/J0BA9x+6LtrRXMFqOosOhUokm4wibQstHZ20jRJeZoWFPxjJub4HJ9i9dsWFvIaiMfg4G6kB3XrkfeuF9qLRHx9rEKG0w3l65IHzs25twhLzlnEp8/uPe9dcCbFyXp3TbaMrdVr9mF4VN5f45e75NZ8ly3GOFe8KUK9CwmAWxG4O4spaT1SNkxvtH7zbcVuuWLi2NOCmV714hs2/sufqOTnO5v+FGxBrYs4VOXjNB5dWwn1GQlm1Kyxl16xrq3XI/g2s3mDb9wpVufsfaz91M6cTV9e2EzOfzLP1n5GyFON6YSE6cms1PPOTKi2YvX2R3NrtbstTmpGpJu6Gvk5HOPvhoVtiRnhGyOWsbu4UtUSAZOYR6thrtPoxqqH5Y9efslhhMLEVg7DSbZZtIHjOvStbEGSD+FTEAVgCncXXvqqOZIAHcGEGwwCNFFrZLKlJ3EWsUO6bEn2hcMVT5uKjU7NRxIC6Y0Rgio/TSI+j/o7nXt8GkacuvPY5rhhuiM199ChpwQlXdC+T4qagpy+8dl007mkQkfez1XLTFsB95CX5mm4+/JttmNGXaIVTtpwTjw7V/j3lztaGMsSiQIXGlUx5I0ljxKjk/se0o1IRfbRHZmM9YPkVCi6SqY6I7cTXxcCO+yLKExgy3LP/mRonT4Z6eYfD65fT6rhaLse5tak8ezrf3qpU2ha9bC2ktanW0NatBUc2C2m/1WlaBSp0uonRnfuO3l7vpgsxXwWEucQlITxXqXdGG2+U2J5sqmTp85bzfBlBsn767u7wq+qJqQvrRQyldMRSVm7e3oCVzHXDCQp026wLxS5LE5byZPyt8qF5UJ8vkMrKV7CF3kvtERicVQtATpRjjFppB3C/2Q2yvsssVD7vcXIwvOawaCtIJjEDs9YQ9RpgoJAomT4mLwhIbCWtsFccIBHQImjIPHQxfLCYwLQLZo+cjkfemcHzsw//rPqpjuDKGjADQSoak40XHegKSLGmqziQFmKSqtiQKDOgy9jCZS7SrOVlYCbCyQKfiK7eNZow1dMqw6aYk6KfnKkXemk46YEJkrcQkHacCLjFN0p9WVYm7WM9wKtHnSuozODmXcDJMUVS3VFOia3CupXM2W+dns404pzDHp+jzc/7ouzRvYUv6EYIEzXc5JU++w/k7TyZyCSs5WB8HGK8nsrOvb6yvj04rL+7d+6ISy+Yr/MmtW5/ksYQ7F1Tr42dAKI/1xbU2yfc5Xnsp/p5diJZ+JOxxVmIynwKG5K15aglt4iIhbRP2mjZk2CbxdIn2R4eWkCL42wUfxJQc1/L37B/ZFsSeLqTCQWyGYMEkfsxhkbTOrwktxE5OIc2RPzh+4tcyyi0Prf2eqkiWpEgffUc++9jjZyXp7OOPnS18a+3DNxz/QFZ/ffyFD2RYM/gtDookZeDFx87KqPf9Vxl7dQ6Pl9gj/BR7lIfi04w3V/09QbjqQ6HIpk+3z8F40weFkRZv/z9DfUw9uSXzsfVz5CpZxOuQjCEjhHhhEBMWkdJoMiVJv3pQEUxhMOdDLl58smg040WNE1FDLfYU1ahhInx1+Yz4XaoBa0y1SQwdKEWOyLS0xpAqRjctki5z8fZ+Ws06TrZ5Jrs85Xqem13eJRmGhPBFQ4lzqTnrwHdsM65SKKJZ23TFPQoRB7in79IL6IOM2E98jIljD5R6uR4q7MHoIavfih7SfZ+e9f3o3C82//HQX10zQp/xvOb2XAAQQP6Xhw7fPB9X/8HGWI6UyCZRF6oDgi4loYW+U7hXTqqWsJY4VglzlZBVK0gM4otg2BhntbBWAA9Piv0wVIkrsMe8PdZmvx2uqtWugnZ/s7Un09KSoctRftPQpbwjjTGmmPLAKiWtUE75esYtna5YqaVzYKt7VQtmHGtzpto5l8bVzGbLaclEjUw+n4FGpiVSrVxaWicBUL5qJY5AFYePSHgAowPLlXSLpFqWusgl9tJ3iUU649itdCpedg6Es3Jc2nK8rPDqKNIev5ZjczsL8VEKcrWAl9je/ua9/TuprcOvdJPujM4YWhpWyTa9wQfjps00+O7vi55QTtMbc4waN22i5UP0q7feqjVf0DIAWZ2O7W01FHqdZXg0S1s7r1LvwuBuNThst02fubRl2dXqXfPrbdC3iUMCsg7P1HJusN4tmGzQjfgnc1cOZF4KupU4xxaeKgu9833Vyl/DHhkPiiis6GGmy9HDFv3vjXiuxDPk2Y0Kx4RYUJiIfiO6/2dCB2uhl9PUs4w9y3Ru8WcloM8pbX9UepDS+0tU1w02/+zIwD2M/fmA0safo/Q5pllGzJl+w77GNFIkvWSV4EzdIJBAHM0CxIdlCUIkGVkv5sRxqxvjWIB7/WNXdm/0iqdahv6vQrRGv5RlVQs0er9cSlms+c4XWtbrptmzo2WDZloDO1rX64ZxGfzTaTB0rpkwdzkdrZLzaUcBkA27/enlhmtsX2FmrOvF3TzO/ZZ9nZnEQ64/givuj48U8cE4XqA4GFfQtNhZkRQusMTPKUhfcuFgHQ+oyAtqmaCSlKgS3KRlUoorp1sMrMSOku/LYXEGODTRlf7p/Z+P3rycKcyQp4FpPVpKUVM6HqT/4bYj2SCsBIMvWK7GmZJfnucZLPJGPs01pr734EmntFP+8hlT5zyF2zJ7NPoDi0sbwf+aG1Z6BrvjfbzP7mYZsh5PLDdizMfhg+vHuE4hEgrSVw7EYZcrAfbwAt64viL4cG4USZ1ge6EvDss1rDAoB9BP5Rjpww5BZwVEDMY8cUiSlTGZsZqS3t6ytuhRg9+s6LT18up2W1+jaOsQpsZkyoZU+7r8mo48GMrN3KBtY1XMhbqivSTtGh/fAbE8XLuKXYGYweAKJEhFp7NzmFvyTou6+S5jK8KkqmzNrvSZscPSxzo7y4UR2cbHLOuXtOu5ho+3u8t9quPjvxjfwXDI35MnLotHFGIe9+Zr2cqLK1lW8cU5IlDKlaAeVCtor1FaRXxg4ozLP1HAgn2tVNLv269rtHUfY8iEDmzgSM02HJA4MPaJ6hXt2odP1l+pqAf2YS1GJfc+iQJl97n4rqQQjmubYQ02Fv9aXSArSJ1sSU6cF9HGolOUi4s/rPmXuI/f85IfN4pOWXQJLiqGoI1orEWcFFtgJrlGYzATPQok5TipC7G8xD0diF91OhyYGRO9yUC0gYM05waj2Nf8Mzo2g1r4bVx0oTOokbzZFApz+nO/nc6wGdz//G+n/Z/KChd//2Pl5D8nSuilmQ9l+cOZRD7xmiS99kQiU2JyJ9WZac/gl40tKM18+NGpBa0nXqO3g2NHM/G2x2wnCmyhjzX3fwHOAZADeJxjYGRgYADiw4s/qcfz23xl4GZhAIFrhmc+I+j/81gYmJOAXA4GJpAoAFhSC8wAeJxjYGRgYG7438AQw8IAAkCSkQEVaAIARy8CknicY2FgYGB+ycDAwjB4MQDGiwGNAAAAAAB2AOAA+gEIAR4BNAFKAV4BjgGwAgwCJgJaAugDagPcBBwEZASWBQwFUgWaBfgGfAdEB5IH2AgaCHII3AkECXgJ0Ao0Co4K8guAC84MTgyeeJxjYGRgYNBk6GbgZwABJiDmAkIGhv9gPgMAG4kB2gB4nGWPTU7DMBCFX/oHpBKqqGCH5AViASj9EatuWFRq911036ZOmyqJI8et1ANwHo7ACTgC3IA78EgnmzaWx9+8eWNPANzgBx6O3y33kT1cMjtyDRe4F65TfxBukF+Em2jjVbhF/U3YxzOmwm10YXmD17hi9oR3YQ8dfAjXcI1P4Tr1L+EG+Vu4iTv8CrfQ8erCPuZeV7iNRy/2x1YvnF6p5UHFockikzm/gple75KFrdLqnGtbxCZTg6BfSVOdaVvdU+zXQ+ciFVmTqgmrOkmMyq3Z6tAFG+fyUa8XiR6EJuVYY/62xgKOcQWFJQ6MMUIYZIjK6Og7VWb0r7FDwl57Vj3N53RbFNT/c4UBAvTPXFO6stJ5Ok+BPV8bUnV0K27LnpQ0kV7NSRKyQl7WtlRC6gE2ZVeOEXpc0Yk/KGdI/wAJWm7IAAAAeJxtUGtv2zAMNNs0SZ026bq03da9u1cHGOiKYdi/MRSKiYXIkkDJafzvR8X9OH3R3ZHHA1kcFcMri/+/eziCYxjBCYxhAlM4hRJmcAbnMIcFXMALuISXsIQruIYbeAWv4Q3cwlt4B+/hA3yET/AZ7uALfIVv8B1+wD38LGA/RWXJacWjYLtYomJKlfZPrlRuY6mytE6zAbLZNOlZzh3TAXZhjoZRkK+cT9icoPWRLmmPVrUqGe+qoWEmUZyqQ/lMknStMJdjqVVSFbUh9aOGbBjTPnhOY/S2a92Eac0UZW5DuF2IvdN142OqQ/34cD1wcjvD3rXkBnn53JZTtInbgzhfKdx2oc5xQqdoDW4F3G6sXylbR+KdQRIDEybPvdRKcQerMhxrspToNJJibEQ4VlrP1Mp5bsX9+DDhnPT77+LJ89a4TW290sJvZFwv11hZqmUT3zFSFH0WhMWOSfAVU6uMyy5UQaFJvajntF4bNOQwsyV3bujwTpt8ujx8462uo7E7YimEIF9ediS4nx5OXv/6UxT/AIqNtbgAAA==') format('woff'), - url('../fonts/iconfont.ttf?t=1510714355480') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/ - url('../fonts/iconfont.svg?t=1510714355480#iconfont') format('svg'); /* iOS 4.1- */ -} - -.iconfont { - font-family:"iconfont" !important; - font-size:16px; - font-style:normal; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.fp-calendar:before { content: "\e638"; } - -.fp-plus:before { content: "\e63a"; } - -.fp-caret-down:before { content: "\e63c"; } - -.fp-angle-left:before { content: "\e63d"; } - -.fp-angle-right:before { content: "\e63e"; } - -.fp-angle-down:before { content: "\e63f"; } - -.fp-angle-up:before { content: "\e640"; } - -.fp-circle-o-notch:before { content: "\e645"; } - -.fp-close:before { content: "\e646"; } - -.fp-exclamation-circle:before { content: "\e647"; } - -.fp-alert-close:before { content: "\e648"; } - -.fp-card_actions:before { content: "\e64e"; } - -.fp-data-empty:before { content: "\e64f"; } - -.fp-help:before { content: "\e651"; } - -.fp-export:before { content: "\e652"; } - -.fp-column:before { content: "\e691"; } - -.fp-refresh:before { content: "\e698"; } - -.fp-check:before { content: "\e69d"; } - -.fp-cloud_host_p_20:before { content: "\e6c8"; } - -.fp-cloud_environment_p_20:before { content: "\e6c9"; } - -.fp-cloud_hard_disk_p_20:before { content: "\e6ca"; } - -.fp-backup_data_20:before { content: "\e6d8"; } - -.fp-click_20:before { content: "\e6e2"; } - -.fp-global_service_directory_20:before { content: "\e711"; } - -.fp-display_20:before { content: "\e713"; } - -.fp-delete:before { content: "\e71b"; } - -.fp-search_20:before { content: "\e728"; } - -.fp-add:before { content: "\e729"; } - -.fp-abnormal_20:before { content: "\e739"; } - -.fp-risk_48:before { content: "\e79e"; } - -.fp-working_load_48:before { content: "\e79f"; } - -.fp-recyclable_resources_48:before { content: "\e7a0"; } - -.fp-pressure_48:before { content: "\e7a1"; } - -.fp-remaining_capacity_48:before { content: "\e7a2"; } - -.fp-efficiency_48:before { content: "\e7a3"; } - -.fp-running_condition_48:before { content: "\e7a4"; } - -.fp-gold_silver_copper_p_20:before { content: "\e601"; } - -.fp-copy:before { content: "\e772"; } - -.fp-alert_16:before { content: "\e7b2"; } - diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/css/ngict-component.css b/sdc-workflow-designer-ui/src/app/paletx/assets/css/ngict-component.css deleted file mode 100644 index 98ad2e36..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/assets/css/ngict-component.css +++ /dev/null @@ -1,1874 +0,0 @@ -/***main***/ -body, -button, -input, -optgroup, -select, -textarea, -.tooltip { - font-family: "Microsoft yahei", Segoe UI, Arial !important; - font-size: 12px; - color: #333; -} -body { - background-color: transparent; - font-size: 12px; - min-width: 1024px; -} -[class^="col-"], -[class*="col-"] { - float: left; -} -.clearfix: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; -} -.clearfix:before, -.clearfix: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; -} -.label, -label { - font-weight: 400; -} -*:focus { - outline: 0; -} -a { - color: #00abff; - text-decoration: none ; - cursor: pointer; -} -a:hover { - color: #00a3f5; - text-decoration: underline; -} -.border-box { - border: 1px solid #ddd; -} -/***icon***/ -[class^="ict-"], -[class*=" ict-"] { - padding-right: 3px; -} -/***color***/ -.red { - background-color: #ff5b55; - color: #fff; -} -.red:hover { - background-color: #f55651; - color: #fff; -} -.green { - background-color: #5fcc4a; - color: #fff; -} -.green:hover { - background-color: #329d96; - color: #fff; -} -.gold { - background-color: #c0af69; - color: #fff; -} -.gold:hover { - background-color: #ad9a4d; - color: #fff; -} -.over-grey { - background-color: transparent; - color: #00abff; - border: 0; -} -.over-grey:hover { - background-color: #f8f8f8; -} -.over-grey:focus:active { - background-color: #f2f2f2; -} -.grey { - background-color: #fff; - border: 1px solid #fff; - color: #a1abb3; - border: 1px solid #ddd; -} -.grey:hover { - background-color: #f8f8f8; -} -.grey-disabled, -.grey-disabled:hover { - border: 1px solid #c6c6c6; - color: #c6c6c6; - background-color: #fff; -} -.dark-grey { - background-color: #333; - border: 1px solid #333; - color: #fff; -} -.dark-grey:hover { - background-color: #101010; - color: #fff; -} -.px-red { - color: #ff5b55; -} -.bg-danger { - background-color: #ff5b55 !important; -} -.px-red-bg { - background-color: #ff5b55; - border: 1px solid #ff5b55; - color: #fff; -} -.px-red-bg:hover { - background-color: #f55651; - color: #fff; -} -.px-red-bg:active { - background-color: #eb534d; - color: #fff; -} -.px-green { - color: #5fcc4a; -} -.px-green-bg { - background-color: #73cf22; - border: 1px solid #73cf22; - color: #fff; -} -.px-green-bg:hover { - background-color: #6cc41f; - color: #fff; -} -.px-green-bg:active { - background-color: #67ba1e; - color: #fff; -} -.px-yellow { - color: #ffc766; -} -.px-yellow-bg { - background-color: #f7c515; - border: 1px solid #f7c515; - color: #fff; -} -.px-yellow-bg:hover { - background-color: #edbe13; - color: #fff; -} -.px-yellow-bg:active { - background-color: #e3b612; - color: #fff; -} -.px-grey { - color: #a5a5a5; -} -.px-grey-bg { - background-color: #a1abb3; - border: 1px solid #a1abb3; - color: #fff; -} -.px-grey-bg:hover { - background-color: #919da6; - color: #fff; -} -.px-grey-bg:active { - background-color: #85919a; - color: #fff; -} -.blue { - background-color: #fff; - color: #1991c5; -} -.blue:hover { - background-color: #e8f3fd; - color: #3366cc; -} -.blue.selected { - border: 0; - background-color: #00abff; - color: #fff; -} -.blue.selected:hover { - border: 0; - background-color: #00abff; - color: #fff; -} -.blue1 { - background-color: #00abff; - color: #fff; - border: 1px solid #00abff; -} -.blue1:hover { - background-color: #00a3f5; - color: #fff; - border: 1px solid #00a3f5; -} -.blue1:active { - background-color: #009ceb; -} -.blue1.disabled, -.blue1.disabled:hover, -.blue1.disabled:focus:active, -.blue1:disabled, -.blue1:disabled:hover, -.blue1:disabled:focus:active { - background-color: #59c8ff; - border-color: #59c8ff; -} -.blue1:focus { - background-color: #00abff; - color: #fff; - border: 1px solid #00abff; -} -.blue1:focus:hover { - background-color: #00a3f5; - color: #fff; - border: 1px solid #00a3f5; -} -.blue1:focus:active { - background-color: #009ceb; -} -.blue1-active { - background-color: #00abff !important; - color: #fff !important; - border: 1px solid #00abff !important; -} -.blue1-active:hover { - background-color: #00a3f5 !important; - color: #fff !important; - border: 1px solid #00a3f5 !important; -} -.blue1-active:focus { - background-color: #00abff !important; - color: #fff !important; - border: 1px solid #00abff !important; -} -.blue1-active:focus:hover { - background-color: #00a3f5 !important; - color: #fff !important; - border: 1px solid #00a3f5 !important; -} -.white { - background-color: #fff; - border: 1px solid #ddd; - color: #00abff; -} -.white:hover { - background-color: #f8f8f8; -} -.white:active { - background-color: #f2f2f2; -} -.white.active { - background-color: #00abff; - color: #fff; - border-color: #00abff; -} -.white.disabled, -.white.disabled:hover, -.white.disabled:focus:active, -.white:disabled, -.white:disabled:hover, -.white:disabled:focus:active { - background-color: #eee; -} -.white:focus { - background-color: #fff; - border: 1px solid #ddd; - color: #00abff; - outline: none; -} -.white:focus:hover { - background-color: #f8f8f8; -} -.white:focus:hover:active { - background-color: #f2f2f2; -} -.white:focus.active { - background-color: #00abff; - color: #fff; - border-color: #00abff; -} -.blue1-icons { - color: #009ceb; -} -.blue1-icons:hover { - color: #00a3f5; -} -.px-font1, -.px-font1:active, -.px-font1:focus { - color: #c2c6c9; -} -.px-font2, -.px-font2:active, -.px-font2:focus { - color: #777; -} -.px-font3, -.px-font3:active, -.px-font3:focus { - color: #4d5761; -} -.px-font4, -.px-font4:active, -.px-font4:focus { - color: #333; -} -/*** -Responsive & Scrollable Tables -***/ -.table-scrollable { - width: 100%; - overflow-x: auto; - overflow-y: hidden; - border: 1px solid #ddd; -} -.table-scrollable > .table { - width: 100% !important; - margin: 0 !important; - margin-bottom: 0; - background-color: #fff; -} -.table-scrollable > .table-bordered { - border: 0; -} -.table-scrollable > .table-bordered > thead > tr > th:first-child, -.table-scrollable > .table-bordered > tbody > tr > th:first-child, -.table-scrollable > .table-bordered > tfoot > tr > th:first-child, -.table-scrollable > .table-bordered > thead > tr > td:first-child, -.table-scrollable > .table-bordered > tbody > tr > td:first-child, -.table-scrollable > .table-bordered > tfoot > tr > td:first-child { - border-left: 0; -} -.table-scrollable > .table-bordered > thead > tr > th:last-child, -.table-scrollable > .table-bordered > tbody > tr > th:last-child, -.table-scrollable > .table-bordered > tfoot > tr > th:last-child, -.table-scrollable > .table-bordered > thead > tr > td:last-child, -.table-scrollable > .table-bordered > tbody > tr > td:last-child, -.table-scrollable > .table-bordered > tfoot > tr > td:last-child { - border-right: 0; -} -.table-scrollable > .table-bordered > thead > tr:last-child > th, -.table-scrollable > .table-bordered > tbody > tr:last-child > th, -.table-scrollable > .table-bordered > tfoot > tr:last-child > th, -.table-scrollable > .table-bordered > thead > tr:last-child > td, -.table-scrollable > .table-bordered > tbody > tr:last-child > td, -.table-scrollable > .table-bordered > tfoot > tr:last-child > td { - border-bottom: 0; -} -/*table*/ -table { - font-size: 12px; -} -.table-hover > tbody > tr:hover > td, -.table-hover > tbody > tr:hover > th { - background: #ebf6fd; -} -.dataTables_length, -.dataTables_info, -.dataTables_paginate { - font-size: 12px; - color: #7c868d; - display: inline-block; -} -.dataTables_length { - margin-right: 9px; -} -.dataTables_info { - margin-right: 10px; - color: #4d5761; -} -.dataTables_length select { - margin-left: 1px; - margin-right: 1px; - width: 42px; - height: 30px; - border-color: #ddd; - color: #7c868d; -} -.dataTables_paginate { - vertical-align: top; -} -.dataTables_paginate input { - border-color: #ddd !important; - width: 42px !important; - height: 30px !important; - margin-left: 6px!important; - margin-right: 6px!important; - color: #7c868d; -} -.dataTables_paginate .pagination-panel a { - border: 1px solid #ddd; - width: 26px; - height: 30px; - opacity: 1; - margin-left: 6px; - vertical-align: top; - cursor: pointer; - color: #7c868d; -} -.dataTables_wrapper > div > div { - float: right; - margin-bottom: 10px; - margin-top: 10px; -} -table th { - font-weight: normal; - font-size: 12px; -} -.table thead th { - border-bottom: 0; - color: #8b8b8b; -} -.table th { - border-top: 0; -} -table .heading { - font-size: 12px; - background: #fff !important; - font-weight: normal; -} -table tr:nth-of-type(odd) { - background: #f9f9f9; -} -table tr:nth-of-type(even) { - background: #fff; -} -table tr td label { - cursor: pointer; -} -.table-btn span { - padding-left: 5px; - padding-right: 5px; -} -.table-bordered > thead > tr > th, -.table-bordered > thead > tr > td { - border-bottom-width: 1px; -} -table tr td .btn-xs { - margin-bottom: 3px; - margin-top: 3px; -} -/* px-table */ -.px-table.light .px-th { - padding-bottom: 15px !important; -} -.px-table .px-th { - padding-bottom: 10px !important; -} -/*.px-table.card tr:nth-of-type(odd){ - background-color:#fff !important; -}*/ -.px-table.card tr:nth-of-type(odd):hover { - background-color: #ebf6fd !important; -} -.px-table.card tr td:first-child, -.px-table.card tr th:first-child { - text-align: center; -} -.px-table.card .title { - font-weight: normal; -} -.px-table .filter span.filterToggle { - width: 30px !important; - height: 30px !important; -} -.px-table input[type="checkbox"] { - margin-right: 0; -} -.px-page-item .px-page-link { - height: 28px !important; -} -.px-filters .px-th { - padding-bottom: 2px !important; -} -.px-pagination { - margin-top: 0 !important; -} -.px-table .filter span.filterToggle { - height: 30px !important; -} -.px-table label, -.px-table input[type="checkbox"] { - margin-bottom: 0; -} -.px-table .innerTable tr:nth-of-type(odd) { - background-color: #fff !important; -} -/*ng2-smart-table*/ -.ng2-smart-table.light .ng2-smart-th, -.ng2-smart-table .ng2-smart-th { - padding-bottom: 10px !important; -} -.ng2-smart-table .card tr:nth-of-type(odd) { - background-color: #fff !important; -} -.ng2-smart-table .card tr:nth-of-type(odd):hover { - background-color: #ebf6fd !important; -} -.ng2-smart-table .card tr td:first-child, -.ng2-smart-table .card tr th:first-child { - text-align: center; -} -.ng2-smart-table .card .title { - font-weight: normal; -} -.ng2-smart-table .filter span.filterToggle { - width: 30px !important; - height: 30px !important; -} -.ng2-smart-table input[type="checkbox"] { - margin-right: 0; -} -.ng2-smart-page-item .ng2-smart-page-link { - height: 28px !important; -} -.ng2-smart-filters .ng2-smart-th { - padding-bottom: 2px !important; -} -.ng2-smart-pagination { - margin-top: 0 !important; -} -.ng2-smart-table .filter span.filterToggle { - height: 30px !important; -} -.ng2-smart-table label, -.ng2-smart-table input[type="checkbox"] { - margin-bottom: 0; -} -.ng2-smart-table .innerTable tr:nth-of-type(odd) { - background-color: #fff !important; -} -/***form***/ -.form { - padding: 0 !important; -} -.form-group .multiRow { - margin-bottom: 15px; -} -.form-group .multiRow:last-child { - margin-bottom: 5px; -} -.form-group { - font-size: 12px; -} -.form-group .btn { - font-size: 14px; -} -.form-group .btn-s { - font-size: 12px; -} -.form-group .ict-helpTip { - font-size: 18px; - color: #bababa; - margin-left: 10px; - vertical-align: text-bottom; -} -.form-group .ict-helpTip:hover { - color: #00abff; -} -.form-group.equal-group .form-control { - display: block; -} -.form-group.equal-group .form-control:first-child { - margin-bottom: 5px; -} -.form-body { - padding: 15px; -} -.form-actions .btn { - font-size: 14px; -} -.form-actions.nobg { - background-color: transparent; -} -.form-actions.top { - margin-top: 0; - margin-bottom: 20px; - border-top: 0; - border-bottom: 1px solid #e5e5e5; -} -.form-control { - font-size: 12px; - display: inline-block; -} -.form-actions .btnGroup { - padding-left: 0; -} -.form-actions.fluid > [class^="col-"] { - padding-left: 13px; -} -.form-actions:before, -.form-actions:after { - display: table; - line-height: 0; - content: ""; -} -.form-actions:after { - clear: both; -} -.form-section { - margin: 30px 0px 25px 0px; - padding-bottom: 5px; - border-bottom: 1px solid #eee; -} -.form .form-section:first-child { - margin-top: 5px; -} -.help-inline { - font-size: 13px; - color: #737373; - display: inline-block; - padding: 5px; -} -.submBtn { - /*text-align: center;*/ -} -.subm-iconMargin { - margin-left: -40px; -} -.subm-margin { - margin-left: -40px; -} -.form-actions.right { - padding-left: 0; - padding-right: 10px; - text-align: right; -} -.form-actions.left { - padding-left: 10px; - padding-right: 0; - text-align: left; -} -.help-block { - margin-top: 5px; - margin-bottom: 5px; - color: #a94442 !important; -} -.form-inline input { - margin-bottom: 0px !important; -} -.form-horizontal .control-label { - text-align: right; -} -.form-group .control-label { - padding-top: 3px; -} -.form-control-static { - font-size: 14px; - padding-top: 7px; -} -.control-label .required { - color: #e02222; - font-size: 12px; - padding-left: 2px; -} -.form-control:focus { - -webkit-box-shadow: none; - box-shadow: none; -} -select.form-control, -.form-control { - padding: 4px 12px; - border-radius: 2px; - height: 30px; - /* width:400px;*/ - border-color: #ddd; -} -select.form-control:not([size]):not([multiple]) { - height: 30px ; -} -/***checkbox&radio***/ -/* Checkbox */ -.form-group .checkbox { - padding-left: 0; -} -.checkbox-list > label { - display: block; -} -.checkbox-list > label.checkbox-inline { - display: inline-block; -} -.checkbox-list > label.checkbox-inline:first-child { - padding-left: 0; -} -/* Radios */ -input[type="radio"] { - cursor: pointer; -} -.radio-list > label { - display: block; -} -.radio-list > label.radio-inline { - display: inline-block; -} -.radio-list > label.radio-inline:first-child { - padding-left: 0; -} -.form-horizontal .radio-list .radio { - padding-top: 1px; -} -.form-horizontal .radio-list > label { - margin-bottom: 0; -} -.form-horizontal .radio > span { - margin-top: 2px; -} -input[type="checkbox"]:focus, -input[type="radio"]:focus { - outline: 0; - -webkit-box-shadow: none; - box-shadow: none; - border: 0; -} -.raw-container { - font-size: 0; - position: relative; -} -.raw-container input[type="checkbox"], -.raw-container input[type="radio"] { - position: absolute; - z-index: -1; - opacity: 0; -} -.raw-container input[type="checkbox"] + .checkbox-substitute + span, -.raw-container input[type="radio"] + .radio-substitute + span { - font-weight: normal; - font-size: 12px; - line-height: 12px; - cursor: pointer; - vertical-align: middle; -} -.raw-container input[type="checkbox"] + .checkbox-substitute { - position: relative; - display: inline-block; - cursor: pointer; - height: 14px; - width: 14px; - border: 1px solid #ccc; - border-radius: 2px; - vertical-align: middle; - margin-right: 6px; -} -.raw-container input[type="checkbox"] + .checkbox-substitute:hover { - border-color: #00abff; -} -.raw-container input[type="checkbox"]:checked + .checkbox-substitute { - border-color: #00abff; - background-color: #00abff; -} -.raw-container input[type="checkbox"]:checked + .checkbox-substitute::after { - content: ''; - position: absolute; - display: block; - width: 6px; - height: 10px; - border: solid #fff; - border-width: 0 2px 2px 0; - transform: rotate(45deg); - left: 3px; - top: 0; -} -.raw-container input[type="checkbox"][disabled] + .checkbox-substitute { - background-color: #efefef; - cursor: auto; - border-color: #ccc; -} -.raw-container input[type="checkbox"]:checked[disabled] + .checkbox-substitute { - background-color: #efefef; - cursor: auto; - border-color: #ccc; -} -.raw-container input[type="checkbox"]:checked[disabled] + .checkbox-substitute::after { - border: 1px solid #ccc; - border-width: 0 2px 2px 0; -} -.raw-container input[type="checkbox"]:checked.portion + .checkbox-substitute { - background-color: #97dbfc; - border-color: #97dbfc; -} -.raw-container input[type="radio"] + .radio-substitute { - position: relative; - display: inline-block; - cursor: pointer; - height: 14px; - width: 14px; - border: 1px solid #ccc; - border-radius: 14px; - vertical-align: middle; - margin-right: 6px; -} -.raw-container input[type="radio"] + .radio-substitute:hover { - border-color: #00abff; -} -.raw-container input[type="radio"]:checked + .radio-substitute { - border-color: #00abff; - border-width: 4px; -} -.raw-container input[type="radio"][disabled] + .radio-substitute { - border-color: #ccc; - background-color: #efefef; - cursor: auto; -} -.raw-container input[type="radio"]:checked [disabled] + .radio-substitute { - border-color: #ccc; - cursor: auto; -} -/***input***/ -::-webkit-input-placeholder { - color: #bcbcbc !important; -} -:-moz-placeholder { - /* Mozilla Firefox 4 to 18 */ - color: #bcbcbc !important; -} -::-moz-placeholder { - /* Mozilla Firefox 19+ */ - color: #bcbcbc !important; -} -input:-ms-input-placeholder { - color: #bcbcbc !important; -} -input::-webkit-input-placeholder { - color: #bcbcbc !important; -} -/*group*/ -.input-group-btn-vertical.fa { - font-size: 12px; -} -.input-group.spinner .btn { - min-width: 20px !important; - height: 16px; -} -.spinner { - width: 60px !important; - margin-left: 10px; - margin-right: 30px; -} -.spinner input { - text-align: right; -} -.input-group-btn-vertical { - position: relative; - white-space: nowrap; - width: 1%; - vertical-align: middle; - display: table-cell; -} -.input-group-btn-vertical > .btn { - display: block; - float: none; - width: 100%; - max-width: 100%; - padding: 6px; - margin-left: -1px; - position: relative; - border-radius: 0; -} -.input-group-btn-vertical > .btn { - min-width: 20px; -} -.input-group-btn-vertical > .btn:first-child { - border-top-right-radius: 4px; -} -.input-group-btn-vertical > .btn:last-child { - margin-top: -2px; - border-bottom-right-radius: 4px; -} -.input-group-btn-vertical i { - position: absolute; - top: 0; - left: 6px; -} -/*.input-group .form-control { - height: 26px !important; -}*/ -.input-group { - /* width:400px;*/ - font-size: 0; -} -.input-group .form-control { - display: inline-block; -} -.input-group .form-control:hover, -.input-group .form-control:focus:hover { - z-index: 2; -} -.input-group .input-group-btn { - z-index: 0; -} -/*html滑块组件*/ -input[type="range"] { - margin-top: 2px; - background-color: #f0f3f9; - border: 1px solid #ccd6e8; - border-radius: 15px; - width: 400px; - -webkit-appearance: none; - height: 15px; -} -input[type="range"]::-webkit-slider-thumb { - -webkit-appearance: none; - cursor: pointer; - top: -5px; - height: 28px; - width: 15px; - transform: translateY(-4px); - background: none repeat scroll 0 0 #f0f3f9; - background-color: #9cc2cb; - border-radius: 20px; -} -input[type="range"]:focus { - outline: none; -} -/*search*/ -.input-group .btn { - min-width: 40px; - padding-top: 3px; -} -/***tab***/ -/*.nav-tabs { - border: 0; - font-weight: bold; -} -.nav-tabs > li.active > a, -.nav-tabs > li.active > a:hover, -.nav-tabs > li.active > a:focus { - border: 0; -} -.nav-tabs > li > a { - border-radius: 0; - font-weight: bold; - border: 0; - margin-right: 0; -} -.nav > li > a:hover, -.nav > li > a:focus { - background-color: transparent; -} -.nav-tabs.boder-tab > li.active > a, -.nav-tabs.boder-tab > div > li.active > a { - border: 1px solid #ddd; - border-bottom: 0; -} -.nav-tabs-content { - border: 1px solid #ddd; -} -!***tab***! -.nav-tabs.tabset > li.active, -.nav-tabs.tabset > li.active:hover, -.nav-tabs.tabset > li.active:focus { - border: 0; - border-top: 2px solid #00abff; -} -.nav-tabs > div > li.active, -.nav-tabs > div > li.active:hover, -.nav-tabs > div > li.active:focus { - border: 0; - background-color: #fcfcfc; - border-top: 2px solid #00abff; -} -ul.nav.nav-tabs { - background-color: transparent; -} -.nav-tabs > div > li > a:hover { - background-color: transparent; - border-bottom: 1px transparent; -} -.nav-tabs .nav-link { - border-top-right-radius: 0; - border-top-left-radius: 0; - color: #777; -} -.nav-tabs .nav-link:hover { - background-color: transparent; - border-color: transparent; - color: #777; -} -.nav-tabs .nav-link:focus { - border-left-color: transparent; - border-right-color: transparent; -} -.boder-tab ul.nav.nav-tabs { - background-color: #fff; -} -.boder-tab ul.nav.nav-tabs .nav-link:hover { - border-bottom: 1px solid #ddd ; - background-color: #fcfcfc; -} -.boder-tab ul.nav.nav-tabs .nav-link.active:hover { - border-bottom: 0 ; -} -.nav-tabs { - border: 0; - font-weight: normal; -} -.nav-tabs > li > a { - border-radius: 0; - font-weight: normal; - border: 0; - margin-right: 0; -} -.nav-tabs > li > a:hover, -.nav-tabs > li > a:focus { - background-color: transparent; -} -.nav-tabs .nav-link.active { - border: 0; - border-top: 2px solid #00abff; - background-color: #fff; -} -.nav-tabs .nav-link.active:hover { - background-color: #fff; - border-top: 2px solid #00abff; -} -.nav-tabs .nav-link.disabled { - border-top: 0; - color: #c2c6c9; -} -.nav-tabs .nav-link.disabled:hover, -.nav-tabs .nav-link.disabled:focus { - background-color: transparent; - color: #c2c6c9; -} -.boder-tab > .nav-tabs > .nav-item > .nav-link.active, -.less-border > .nav-tabs > .nav-item > .nav-link.active { - border: 1px solid #ddd; - border-top: 2px solid #00abff; - border-bottom: 0; -} -.boder-tab .tab-pane.active { - border: 1px solid #ddd; -} -.tab-pane.active { - padding: 15px; -} -.nav-pills .nav-link.active, -.nav-pills .nav-item.show .nav-link { - color: #fff; - cursor: default; - background-color: #00abff; -} -.less-border .tab-pane.active { - border-top: 1px solid #ddd; - border-left: 0; - border-right: 0; - border-bottom: 0; -}*/ -/***button***/ -button { - font-size: 14px; -} -.btn { - min-width: 80px; - letter-spacing: 1px; - padding-top: 4px !important; - padding-bottom: 4px !important; - height: 30px; - font-size: 14px; - cursor: pointer; - line-height: 1.42857143; -} -.btnGroup .btn, -.btnGroup a { - margin-right: 10px; -} -.btnGroup a:last-child, -.btnGroup .btn:last-child { - margin-right: 0; -} -.btnGroup .sub-btn { - /*float:right; - width: 400px;*/ - /*text-align: right;*/ -} -.pagination-panel .btn { - min-width: 4px; -} -.btn.dropdown-toggle, -.btn-group .btn.dropdown-toggle, -.btn:hover, -.btn:disabled, -.btn[disabled], -.btn:focus, -.btn:active, -.btn.active { - outline: none !important; - background-image: none !important; - filter: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; -} -.btn-s { - min-width: 50px; - height: 26px; - line-height: 14px; - font-size: 12px; - cursor: pointer; -} -.btn-s:hover { - text-decoration: none ; -} -.btn-s:focus { - outline: 0; -} -.btn-xs { - min-width: 50px; - line-height: 1.2; - padding-top: 3px; - padding-bottom: 3px; - font-size: 12px; - cursor: pointer; -} -.btn-xs:hover { - text-decoration: none ; -} -.btn-xs:focus { - outline: 0; -} -/***btn-group***/ -.btn-group .blue1-active { - border-left: #a4d7f7 1px solid !important; -} -.btn-group .blue1-active:hover { - border-left: #1289d6 1px solid !important; -} -.btn-group .white.btn.active, -.btn-group .white.btn-s.active { - border-left: #6ac7f5 1px solid !important; -} -/***toolbar & icons ***/ -.toolbar span { - padding: 5px; - font-size: 20px; - cursor: pointer; - color: #00abff; - border: 1px solid transparent; -} -.toolbar span:hover { - color: #00a3f5; - border: 1px solid #cbdfec; -} -.toolbar i.seperate-vertical { - padding: 0; - border-right: 1px solid #ddd; - margin-right: 8px; - margin-left: 4px; -} -/*btn-link*/ -.btn-link { - color: #ccc; -} -.btn-link:hover { - color: #1798eb; -} -/***radius***/ -.radius-l { - border-radius: 20px; -} -.radius-m { - border-radius: 8px; -} -.radius-s { - border-radius: 4px; -} -.radius-xs { - border-radius: 3px; -} -/***progress***/ -.progress, -.progress-s { - border: 0; - background-image: none !important; - filter: none !important; - -webkit-box-shadow: none !important; - -moz-box-shadow: none !important; - box-shadow: none !important; - opacity: 0.7; -} -.progress { - height: 8px; - display: inline-block; -} -.progress-s { - height: 2px; -} -.progress > .progress-bar-success { - background-color: #00abff; -} -.progress-bar { - height: 8px; -} -.progress > .bg-success { - background-color: #00abff !important; -} -.px-progressbar .progress { - display: inline-block; -} -.progress-rate { - vertical-align: sub; - margin-left: 5px; -} -.progress-error { - display: inline-block; - width: 16px; - height: 16px; - border-radius: 16px; - border: 1px solid #ff5b55; - font-size: 12px; - color: #ff5b55; - text-align: center; - line-height: 1; - margin-left: 5px; -} -.progress-error::before { - content: "!"; -} -.progressbar-s .progress { - height: 2px; -} -/***separator & title***/ -.separator-line { - height: 1px; - width: 100%; - background: #ddd; - overflow: hidden; - margin-bottom: 15px; - opacity: 0.7; -} -.separator { - opacity: 0.7; -} -.separator:hover { - opacity: 1; -} -.separator-line-dashed { - margin-top: 15px; - height: 1px; - border-bottom: 1px dashed #ddd; - margin-bottom: 15px; - overflow: hidden; - width: 100%; -} -.titlefont { - font-size: 14px; - margin-top: 15px; - margin-bottom: 5px; - color: #777; -} -.form-title, -.form-title-foldable { - border-left: 3px solid #00abff; -} -.form-title { - padding: 1px 2px 1px 5px; - margin-bottom: 15px; - color: #7c868d; - font-size: 14px; -} -.form-title-foldable { - padding: 1px 2px 1px 5px; - margin-bottom: 15px; - font-size: 14px; -} -.form-title-foldable span { - margin-right: 10px; - cursor: pointer; -} -.form-title-foldable span[class^="ict-"] { - font-size: 12px; - color: #009ceb; -} -/***ztree***/ -.ztree { - padding: 15px 30px 0 5px; -} -.ztree * { - font-family: "microsoft yahei"; - font-size: 12px; -} -.ztree li a { - width: auto; - padding-right: 5px; - height: 25px; - border: 1px solid #fff; - padding-left: 5px; -} -.ztree li a:hover { - border: 1px solid #ddd !important; -} -.ztree li > span { - margin-top: 5px !important; -} -.ztree li span.button.chk { - width: 13px; - height: 13px; - margin-left: 10px; - cursor: auto; -} -.ztree li span.button.add { - margin-left: 2px; - margin-right: 4px; - background-position: -144px 0; - vertical-align: top; - *vertical-align: middle; - float: right; -} -.ztree li span.button.edit { - margin-right: 4px; - background-position: -110px -48px; - vertical-align: top; - *vertical-align: middle; - float: right; -} -.ztree li span.button.remove { - margin-right: 4px; - background-position: -110px -64px; - vertical-align: top; - *vertical-align: middle; - float: right; -} -.ztree li a.curSelectedNode { - height: 25px; - border: 1px #accbdd solid !important; -} -.ztree-select .ztree li a { - border: 1px solid #fff !important; -} -.ztree-select .ztree li a:hover { - border: 1px #ddd solid !important; -} -/***px-tree***/ -.px-tree ul.px-tree-children { - -webkit-padding-start: 21px; -} -/***tip***/ -.terminology { - color: #468ECE; - border-bottom: 1px #468ECE dotted; -} -.General-tip { - height: 20px; - width: 20px; - background-color: #fff; - border: 1px #5b9bd1 solid; - padding-bottom: 5px; - padding-left: 5px; - border-radius: 20px; - margin-top: 5px; -} -.General-tip span { - font-size: 15px; - text-align: center; - color: #5b9bd1; - line-height: 1.1; -} -.General-tip:hover { - border: 1px #2a6496 solid; - cursor: pointer; -} -.General-tip:hover span { - color: #2a6496; -} -/*tip-box*/ -.frmTipBoxTransition { - -webkit-transition: -webkit-transform 0.3s ease-out; - -o-transition: -o-transform 0.3s ease-out; - transition: transform 0.3s ease-out; - -webkit-transform: translate(0, 50%); - -ms-transform: translate(0, 50%); - -o-transform: translate(0, 50%); - transform: translate(0, 50%); -} -#frmTipBox { - position: absolute; - width: 400px; - margin: 10px auto; - left: 30%; - right: 30%; - top: 14px; -} -/*alert*/ -.alert { - padding: 12px 15px; - max-width: 600px; - text-align: left; - -webkit-box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1); - -moz-box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1); - box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1); -} -/* -.alert-success { - color: #fff; - background-color: #73cf22; - border-color:#73cf22; -} - -.alert-info { - color: #fff; - background-color: #00abff; - border-color:#00abff; -} - -.alert-warning { - color: #fff; - background-color: #f7c515; - border-color:#f7c515; -} - -.alert-danger { - color: #fff; - background-color: #ff5b55; - border-color:#ff5b55; -}*/ -.close { - color: #f2f2f2; - font-size: 16px; -} -.close:hover, -.close:focus { - color: inherit; - outline: 0; -} -.alert-success { - color: #56963e; - background-color: #edfbe8; - border-color: #d5eccc; - opacity: 0.85; -} -.alert-info { - color: #5090c3; - background-color: #ecf7fd; - border-color: #bce1f1; - opacity: 0.85; -} -.alert-warning { - color: #bf880a; - background-color: #fff8e9; - border-color: #f5e1b8; - opacity: 0.85; -} -.alert-danger { - color: #df4364; - background-color: #fbf0f1; - border-color: #f3d9da; - opacity: 0.85; -} -.close { - color: #333; - font-size: 1rem; -} -/*tooltip*/ -.tooltip.show { - font-size: 12px; - opacity: 1; -} -.tooltip.show .tooltip-inner { - background-color: #4d5761; - border-radius: 4px; - padding: 5px 8px; -} -.tooltip.tooltip-top .tooltip-inner::before, -.tooltip.bs-tether-element-attached-bottom .tooltip-inner::before { - border-top-color: #4d5761; -} -.tooltip.tooltip-right .tooltip-inner::before, -.tooltip.bs-tether-element-attached-left .tooltip-inner::before { - border-right-color: #4d5761; -} -.tooltip.tooltip-bottom .tooltip-inner::before, -.tooltip.bs-tether-element-attached-top .tooltip-inner::before { - border-bottom-color: #4d5761; -} -.tooltip.tooltip-left .tooltip-inner::before, -.tooltip.bs-tether-element-attached-right .tooltip-inner::before { - border-left-color: #4d5761; -} -/*modal*/ - -/***pagination***/ -.page-item.active .page-link { - background-color: #1798eb; - border-color: #1798eb; -} -/***wizard***/ -.form-wizard .nav > li > a { - padding-bottom: 0; -} -.wizard-body .button-next.disabled, -.wizard-body .button-previous.disabled { - display: none ; -} -.wizard-body .nav .step { - background: none !important; -} -.form-wizard .progress { - margin-bottom: 30px; - margin-top: 10px; - height: 4px; - width: 100%; -} -.form-wizard .steps { - background-color: #fff ; - background-image: none ; - filter: none ; - border: 0px; - box-shadow: none ; -} -.form-wizard .steps li a { - background-color: #fff ; - background-image: none ; - filter: none; - border: 0px; - box-shadow: none ; - color: #7c868d; -} -.form-wizard .steps:hover { - background: none; -} -.form-wizard .step:hover { - text-decoration: none; -} -.form-wizard .step .number { - background-color: #ddd; - color: #fff; - display: inline-block; - text-align: center !important; - font-size: 14px; - font-weight: 300; - padding-top: 2px; - margin-right: 10px; - height: 24px; - width: 24px; - -webkit-border-radius: 50% !important; - -moz-border-radius: 50% !important; - border-radius: 50% !important; -} -.form-wizard .step .desc { - display: inline-block; - font-size: 14px; - font-weight: 300; - color: #7c868d; -} -.form-wizard .step i { - display: none; -} -.form-wizard .active .step .number { - background-color: #35aa47; - color: #fff; -} -.form-wizard .active .step .desc { - color: #333; - font-weight: 400; -} -.form-wizard .done .step .number { - background-color: #73cf22 ; - color: #fff; -} -.form-wizard .done .step .desc { - font-weight: 400; -} -.form-wizard .done .step .form-wizard .done .step i { - font-size: 12px; - font-weight: normal; - color: #999; - display: inline-block; -} -.form-wizard .steps > li.active > a.step .number { - background-color: #00abff; -} -@media (min-width: 600px) and (max-width: 1280px) { - .form-wizard .step .desc { - margin-top: 10px; - display: block; - } -} -@media (max-width: 600px) { - .form-wizard .steps > li > a { - text-align: left; - } -} -@media (min-width: 600px) { - .nav-justified > li { - display: table-cell; - width: 1%; - } -} -.px-wizard .nav.nav-pills.steps li { - text-align: center; -} -.px-wizard .nav.nav-pills.steps li .desc { - font-size: 14px; -} -.px-wizard .nav.nav-pills.steps li .px-wizard .form-wizard .step .number { - padding-top: 1px; -} -/***popover***/ -ngb-popover-window.popover.show { - color: #333; - border: 1px solid #ddd; -} -.popover.popover-top::after, -.popover.bs-tether-element-attached-bottom::after { - border-top-color: #fff; -} -.popover.popover-top::before, -.popover.bs-tether-element-attached-bottom::before { - border-top-color: #ddd; -} -.popover.popover-left::after, -.popover.bs-tether-element-attached-right::after { - border-left-color: #fff; -} -.popover.popover-left::before, -.popover.bs-tether-element-attached-right::before { - border-left-color: #ddd; -} -.popover.popover-right::after, -.popover.bs-tether-element-attached-left::after { - border-right-color: #fff; -} -.popover.popover-right::before, -.popover.bs-tether-element-attached-left::before { - border-right-color: #ddd; -} -.popover.popover-bottom::after, -.popover.bs-tether-element-attached-top::after { - border-bottom-color: #fff; -} -.popover.popover-bottom::before, -.popover.bs-tether-element-attached-top::before { - border-bottom-color: #ddd; -} -.popover { - max-width: 600px; - min-width: 250px; - background-color: #fff; - font-family: "Microsoft yahei", Segoe UI, Arial !important; - font-size: 12px; - border-color: #ddd; - -webkit-box-shadow: 0 1px 8px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 8px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 8px rgba(0, 0, 0, 0.2); -} -.popover .popover-title { - background-color: #fff; - border-bottom: 1px solid #ddd; -} -.popover .popover-content { - background-color: #fff; - padding-top: 20px; -} -.popover .ict-warning { - color: #ff5b55; - font-size: 26px; - margin-right: 5px; -} -.popover .popo { - text-align: center; -} -.popover .pop-btn { - float: right; - margin-top: 10px; - margin-bottom: 10px; - font-size: 0; -} -.popover .pop-btn .btn-s { - margin-left: 10px; -} -.popover .tip-info span { - vertical-align: middle; -} -.popover .tip-info .content { - font-size: 14px; -} -/***collapse***/ -/*.collapse-bottom .card span.pop-trgl { - position: absolute; - top: -10px; - left: 20px; - width: 0; - height: 0; - border-style: solid; - border-width: 0 10px 10px 10px; - border-color: transparent transparent #cbc5c5 transparent; -} -.collapse-bottom .card span.pop-trgl i { - position: absolute; - left: -9px; - top: 1px; - width: 0; - height: 0; - border-style: solid; - border-width: 0 9px 9px 9px; - border-color: transparent transparent #fff transparent; -} - -.collapse-top .card span.pop-trgl { - position: absolute; - bottom: -10px; - left: 20px; - width: 0; - height: 0; - border-style: solid; - border-width: 0 10px 10px 10px; - border-color: transparent transparent #cbc5c5 transparent; - transform:rotate(180deg); -} -.collapse-top .card span.pop-trgl i { - position: absolute; - left: -9px; - top: 1px; - width: 0; - height: 0; - border-style: solid; - border-width: 0 9px 9px 9px; - border-color: transparent transparent #fff transparent; -} -.collapse-top .card-block { - padding: 0; -} -.collapse-top .card { - margin-bottom: 5px; - padding: 15px; -} -.collapse-bottom .card { - margin-top: 5px; - padding: 15px; -}*/ -/***select-box with icon***/ -.iconselect-box .col-xs-1 { - width: 15px; - padding: 110px 0 0 0; -} -.iconPosition > div { - margin: 20px 0px 0px 0px; -} -/***.dropdown-item***/ -.dropdown-item { - color: #4d5761; -} -.dropdown-item:focus, -.dropdown-item:hover, -.dropdown-item:active { - background-color: #f8f8f8; - outline: none; - color: #4d5761; -} -.dropdown-menu { - border: 0; - -webkit-box-shadow: 0 1px 8px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 8px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 8px rgba(0, 0, 0, 0.2); -} -.btn-xs + .dropdown-menu .dropdown-item { - font-size: 12px; -} -/***datepicker***/ -.px-dp-header { - border-bottom: 0 !important; -} -.px-dp-header select.custom-select { - color: #777; - margin-top: 5px; - width: 45%; - margin-right: 5px; - font-size: 12px; -} -.px-date-range-picker .ngb-dp-weekday { - color: #777; -} -/*.px-dp-months.pb-1{ - padding-left:15px !important; - padding-right:15px !important; - .px-dp-day, - .px-dp-weekday, - .px-dp-week-number{ - width:40px; - height:40px; - } - }*/ -.px-dp-week.d-flex { - color: #777; -} -.font-italic { - font-style: normal; -} -.px-dp-weekday.text-info { - color: #777 !important; -} -.px-dp-day .btn-secondary { - border-radius: 20px !important; -} -.px-dp-day .bg-primary { - background-color: #00abff !important; - border-radius: 20px !important; -} -.dropdown-menu .px-dp-day { - font-size: 14px; -} -.dropdown-menu .px-dp-weekday.small { - font-size: 80%; -} -.px-dp-month-name.text-center { - color: #777; - font-size: 14px !important; -} -.custom-day.weekend { - background-color: #00abff !important; - height: 2rem; - line-height: 1.8; - border-radius: 20px !important; -} -.custom-day.weekend:hover { - background-color: #00a3f5 !important; -} -/***px-upload***/ -.px-uploder .progress { - width: 300px; -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/css/prism.css b/sdc-workflow-designer-ui/src/app/paletx/assets/css/prism.css deleted file mode 100644 index 0100f8dd..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/assets/css/prism.css +++ /dev/null @@ -1,141 +0,0 @@ -/** - * prism.js default theme for JavaScript, CSS and HTML - * Based on dabblet (http://dabblet.com) - * @author Lea Verou - */ - -code[class*="language-"], -pre[class*="language-"] { - color: black; - background: none; - text-shadow: 0 1px white; - font-family:"Helvetica Neue","PingFang SC",Tahoma,"Microsoft Yahei"; - direction: ltr; - text-align: left; - white-space: pre; - word-spacing: normal; - word-break: normal; - word-wrap: normal; - line-height: 1.5; - - -moz-tab-size: 4; - -o-tab-size: 4; - tab-size: 4; - - -webkit-hyphens: none; - -moz-hyphens: none; - -ms-hyphens: none; - hyphens: none; -} - -pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, -code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { - text-shadow: none; - background: #b3d4fc; -} - -pre[class*="language-"]::selection, pre[class*="language-"] ::selection, -code[class*="language-"]::selection, code[class*="language-"] ::selection { - text-shadow: none; - background: #b3d4fc; -} - -@media print { - code[class*="language-"], - pre[class*="language-"] { - text-shadow: none; - } -} - -/* Code blocks */ -pre[class*="language-"] { - padding: 1em; - margin: 0; - overflow: auto; - padding-top: 20px; -} - -:not(pre) > code[class*="language-"], -pre[class*="language-"] { - background: #fff; - border:1px solid #e9e9e9; - border-top:0; -} - -/* Inline code */ -:not(pre) > code[class*="language-"] { - padding: .1em; - border-radius: .3em; - white-space: normal; -} - -.token.comment, -.token.prolog, -.token.doctype, -.token.cdata { - color: slategray; -} - -.token.punctuation { - color: #999; -} - -.namespace { - opacity: .7; -} - -.token.property, -.token.tag, -.token.boolean, -.token.number, -.token.constant, -.token.symbol, -.token.deleted { - color: #905; -} - -.token.selector, -.token.attr-name, -.token.string, -.token.char, -.token.builtin, -.token.inserted { - color: #690; -} - -.token.operator, -.token.entity, -.token.url, -.language-css .token.string, -.style .token.string { - color: #a67f59; - background: hsla(0, 0%, 100%, .5); -} - -.token.atrule, -.token.attr-value, -.token.keyword { - color: #07a; -} - -.token.function { - color: #DD4A68; -} - -.token.regex, -.token.important, -.token.variable { - color: #e90; -} - -.token.important, -.token.bold { - font-weight: bold; -} -.token.italic { - font-style: italic; -} - -.token.entity { - cursor: help; -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/css/style.css b/sdc-workflow-designer-ui/src/app/paletx/assets/css/style.css deleted file mode 100644 index 9cb8e913..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/assets/css/style.css +++ /dev/null @@ -1,1154 +0,0 @@ -@font-face { - font-family: 'ZteIctIcons'; - src: url('../fonts/ZteIctIcons.eot?yfideg'); - src: url('../fonts/ZteIctIcons.eot?yfideg#iefix') format('embedded-opentype'), - url('../fonts/ZteIctIcons.ttf?yfideg') format('truetype'), - url('../fonts/ZteIctIcons.woff?yfideg') format('woff'), - url('../fonts/ZteIctIcons.svg?yfideg#ZteIctIcons') format('svg'); - font-weight: normal; - font-style: normal; -} - -[class^="ict-"], [class*=" ict-"] { - /* use !important to prevent issues with browser extensions that change fonts */ - font-family: 'ZteIctIcons' !important; - speak: none; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - - /* Better Font Rendering =========== */ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.ict-pm-query:before { - content: "\e900"; -} -.ict-sm-follow-up:before { - content: "\e901"; -} -.ict-sm-syn-down:before { - content: "\e902"; -} -.ict-pm:before { - content: "\e903"; -} -.ict-pm-monitor:before { - content: "\e904"; -} -.ict-pm-customized:before { - content: "\e905"; -} -.ict-fm-group:before { - content: "\e906"; -} -.ict-fm-alarm-code:before { - content: "\e907"; -} -.ict-new:before { - content: "\e908"; -} -.ict-fm-restype:before { - content: "\e909"; -} -.ict-fm-moc:before { - content: "\e90a"; -} -.ict-col:before { - content: "\e90b"; -} -.ict-filter:before { - content: "\e90c"; -} -.ict-filter-f:before { - content: "\e90d"; -} -.ict-code:before { - content: "\e90e"; -} -.ict-code-f:before { - content: "\e90f"; -} -.ict-fullScreen:before { - content: "\e910"; -} -.ict-reduction:before { - content: "\e911"; -} -.ict-userCompare:before { - content: "\e912"; -} -.ict-userDispatch:before { - content: "\e913"; -} -.ict-voice:before { - content: "\e914"; -} -.ict-warning:before { - content: "\e915"; -} -.ict-xml:before { - content: "\e916"; -} -.ict-zoomIn:before { - content: "\e917"; -} -.ict-zoomOut:before { - content: "\e918"; -} -.ict-zoomOverView:before { - content: "\e919"; -} -.ict-zoomReset:before { - content: "\e91a"; -} -.ict-thumbtack:before { - content: "\e91b"; -} -.ict-toRight:before { - content: "\e91c"; -} -.ict-treefile:before { - content: "\e91d"; -} -.ict-treeFolder:before { - content: "\e91e"; -} -.ict-triangle:before { - content: "\e91f"; -} -.ict-unacknownledge:before { - content: "\e920"; -} -.ict-unlock:before { - content: "\e921"; -} -.ict-up:before { - content: "\e922"; -} -.ict-upload:before { - content: "\e923"; -} -.ict-user:before { - content: "\e924"; -} -.ict-start:before { - content: "\e925"; -} -.ict-stop:before { - content: "\e926"; -} -.ict-stretch:before { - content: "\e927"; -} -.ict-strikeOut:before { - content: "\e928"; -} -.ict-Synchronous:before { - content: "\e929"; -} -.ict-table:before { - content: "\e92a"; -} -.ict-third-grid:before { - content: "\e92b"; -} -.ict-third-grid-selected:before { - content: "\e92c"; -} -.ict-thumbtack-selected:before { - content: "\e92d"; -} -.ict-save:before { - content: "\e92e"; -} -.ict-select:before { - content: "\e92f"; -} -.ict-selectAll:before { - content: "\e930"; -} -.ict-selectLeft:before { - content: "\e931"; -} -.ict-selectRight:before { - content: "\e932"; -} -.ict-show:before { - content: "\e933"; -} -.ict-shrink:before { - content: "\e934"; -} -.ict-singleCommand:before { - content: "\e935"; -} -.ict-sm-center:before { - content: "\e936"; -} -.ict-sql:before { - content: "\e937"; -} -.ict-process:before { - content: "\e938"; -} -.ict-product:before { - content: "\e939"; -} -.ict-rbArrow:before { - content: "\e93a"; -} -.ict-refresh:before { - content: "\e93b"; -} -.ict-rename:before { - content: "\e93c"; -} -.ict-right-select:before { - content: "\e93d"; -} -.ict-role:before { - content: "\e93e"; -} -.ict-roleset:before { - content: "\e93f"; -} -.ict-openTree:before { - content: "\e940"; -} -.ict-Operation:before { - content: "\e941"; -} -.ict-palette:before { - content: "\e942"; -} -.ict-parallel:before { - content: "\e943"; -} -.ict-pause:before { - content: "\e944"; -} -.ict-pbp:before { - content: "\e945"; -} -.ict-pie:before { - content: "\e946"; -} -.ict-poNode:before { - content: "\e947"; -} -.ict-pre:before { - content: "\e948"; -} -.ict-print:before { - content: "\e949"; -} -.ict-move:before { - content: "\e94a"; -} -.ict-node-close:before { - content: "\e94b"; -} -.ict-node-open:before { - content: "\e94c"; -} -.ict-noticeAlarm:before { - content: "\e94d"; -} -.ict-noticeFilter:before { - content: "\e94e"; -} -.ict-open:before { - content: "\e94f"; -} -.ict-next:before { - content: "\e950"; -} -.ict-no-voice:before { - content: "\e951"; -} -.ict-message:before { - content: "\e952"; -} -.ict-modify:before { - content: "\e953"; -} -.ict-Monitor:before { - content: "\e954"; -} -.ict-more:before { - content: "\e955"; -} -.ict-more-line:before { - content: "\e956"; -} -.ict-newShortcut:before { - content: "\e957"; -} -.ict-lock:before { - content: "\e958"; -} -.ict-loseError:before { - content: "\e959"; -} -.ict-ltArrow:before { - content: "\e95a"; -} -.ict-Magnifier:before { - content: "\e95b"; -} -.ict-Maintain:before { - content: "\e95c"; -} -.ict-manAnalysis:before { - content: "\e95d"; -} -.ict-maximize:before { - content: "\e95e"; -} -.ict-memory:before { - content: "\e95f"; -} -.ict-menu:before { - content: "\e960"; -} -.ict-idea:before { - content: "\e961"; -} -.ict-import:before { - content: "\e962"; -} -.ict-inProgress:before { - content: "\e963"; -} -.ict-launchingTower:before { - content: "\e964"; -} -.ict-layout:before { - content: "\e965"; -} -.ict-legendhide:before { - content: "\e966"; -} -.ict-legendshow:before { - content: "\e967"; -} -.ict-link:before { - content: "\e968"; -} -.ict-godown:before { - content: "\e969"; -} -.ict-goup:before { - content: "\e96a"; -} -.ict-grammarCheck:before { - content: "\e96b"; -} -.ict-Graphical:before { - content: "\e96c"; -} -.ict-half-grid:before { - content: "\e96d"; -} -.ict-half-grid-selected:before { - content: "\e96e"; -} -.ict-helpTip:before { - content: "\e96f"; -} -.ict-hide:before { - content: "\e970"; -} -.ict-history:before { - content: "\e971"; -} -.ict-historyAlarm:before { - content: "\e972"; -} -.ict-eye-closed:before { - content: "\e973"; -} -.ict-forceOut:before { - content: "\e974"; -} -.ict-full-grid:before { - content: "\e975"; -} -.ict-full-grid-selected:before { - content: "\e976"; -} -.ict-gear:before { - content: "\e977"; -} -.ict-go:before { - content: "\e978"; -} -.ict-find:before { - content: "\e979"; -} -.ict-fobidden:before { - content: "\e97a"; -} -.ict-fold:before { - content: "\e97b"; -} -.ict-folder:before { - content: "\e97c"; -} -.ict-folderOpen:before { - content: "\e97d"; -} -.ict-drill:before { - content: "\e97e"; -} -.ict-empty:before { - content: "\e97f"; -} -.ict-executNext:before { - content: "\e980"; -} -.ict-export:before { - content: "\e981"; -} -.ict-export-ne:before { - content: "\e982"; -} -.ict-eye:before { - content: "\e983"; -} -.ict-file:before { - content: "\e984"; -} -.ict-currentAlarm:before { - content: "\e985"; -} -.ict-debug:before { - content: "\e986"; -} -.ict-deleSingle:before { - content: "\e987"; -} -.ict-delete:before { - content: "\e988"; -} -.ict-department:before { - content: "\e989"; -} -.ict-detail:before { - content: "\e98a"; -} -.ict-displaySwitch:before { - content: "\e98b"; -} -.ict-down:before { - content: "\e98c"; -} -.ict-download:before { - content: "\e98d"; -} -.ict-circle:before { - content: "\e98e"; -} -.ict-clearAlarm:before { - content: "\e98f"; -} -.ict-close:before { - content: "\e990"; -} -.ict-closeTree:before { - content: "\e991"; -} -.ict-cloud:before { - content: "\e992"; -} -.ict-completed:before { - content: "\e993"; -} -.ict-computer:before { - content: "\e994"; -} -.ict-configmap:before { - content: "\e995"; -} -.ict-copy:before { - content: "\e996"; -} -.ict-cpu:before { - content: "\e997"; -} -.ict-arrowRight:before { - content: "\e998"; -} -.ict-autoFind:before { - content: "\e999"; -} -.ict-back:before { - content: "\e99a"; -} -.ict-ball:before { - content: "\e99b"; -} -.ict-batchCommand:before { - content: "\e99c"; -} -.ict-bell:before { - content: "\e99d"; -} -.ict-blackList:before { - content: "\e99e"; -} -.ict-breakLink:before { - content: "\e99f"; -} -.ict-cancle:before { - content: "\e9a0"; -} -.ict-check-error:before { - content: "\e9a1"; -} -.ict-check-right:before { - content: "\e9a2"; -} -.ict-alarmBox:before { - content: "\e9a3"; -} -.ict-alarmFilter:before { - content: "\e9a4"; -} -.ict-alarmTurn:before { - content: "\e9a5"; -} -.ict-allSelected:before { - content: "\e9a6"; -} -.ict-angleLeft:before { - content: "\e9a7"; -} -.ict-angleRight:before { - content: "\e9a8"; -} -.ict-arrowLeft:before { - content: "\e9a9"; -} -.ict-arrowLeftAll:before { - content: "\e9aa"; -} -.ict-arrowRightAll:before { - content: "\e9ab"; -} -.ict-acknownledge:before { - content: "\e9ac"; -} -.ict-Admin:before { - content: "\e9ad"; -} -.ict-advice:before { - content: "\e9ae"; -} -.ict-afreshDef:before { - content: "\e9af"; -} -.ict-alarm:before { - content: "\e9b0"; -} -.ict-code-b:before { - content: "\e9b1"; -} -.ict-log:before { - content: "\e9b2"; -} -.ict-analysis:before { - content: "\e9b3"; -} -.ict-bindingRelationship:before { - content: "\e9b4"; -} -.ict-browsePolicy:before { - content: "\e9b5"; -} -.ict-businessManagment:before { - content: "\e9b6"; -} -.ict-cardData:before { - content: "\e9b7"; -} -.ict-dailyManagment:before { - content: "\e9b8"; -} -.ict-enterpriseCustomer:before { - content: "\e9b9"; -} -.ict-equipmentBlacklist:before { - content: "\e9ba"; -} -.ict-equipmentModel:before { - content: "\e9bb"; -} -.ict-examine:before { - content: "\e9bc"; -} -.ict-failureList:before { - content: "\e9bd"; -} -.ict-familyCustomer:before { - content: "\e9be"; -} -.ict-fileTool:before { - content: "\e9bf"; -} -.ict-groupManagment:before { - content: "\e9c0"; -} -.ict-notice:before { - content: "\e9c1"; -} -.ict-policy:before { - content: "\e9c2"; -} -.ict-portal:before { - content: "\e9c3"; -} -.ict-recordQuery:before { - content: "\e9c4"; -} -.ict-resourceManagment:before { - content: "\e9c5"; -} -.ict-ruleManagment:before { - content: "\e9c6"; -} -.ict-sucessRate:before { - content: "\e9c7"; -} -.ict-terminalManagment:before { - content: "\e9c8"; -} -.ict-tools:before { - content: "\e9c9"; -} -.ict-track:before { - content: "\e9ca"; -} -.ict-userManagment:before { - content: "\e9cb"; -} -.ict-versionManagment:before { - content: "\e9cc"; -} -.ict-workOrder:before { - content: "\e9cd"; -} -.ict-app:before { - content: "\e9ce"; -} -.ict-car:before { - content: "\e9cf"; -} -.ict-chgpile:before { - content: "\e9d0"; -} -.ict-chgposition:before { - content: "\e9d1"; -} -.ict-chgstation:before { - content: "\e9d2"; -} -.ict-cms:before { - content: "\e9d3"; -} -.ict-common_dc:before { - content: "\e9d4"; -} -.ict-common_ncd:before { - content: "\e9d5"; -} -.ict-common_ncd_break:before { - content: "\e9d6"; -} -.ict-common_ncd_stop:before { - content: "\e9d7"; -} -.ict-common_sc:before { - content: "\e9d8"; -} -.ict-ems:before { - content: "\e9d9"; -} -.ict-host:before { - content: "\e9da"; -} -.ict-network:before { - content: "\e9db"; -} -.ict-NFV:before { - content: "\e9dc"; -} -.ict-NS:before { - content: "\e9dd"; -} -.ict-sdno:before { - content: "\e9de"; -} -.ict-vapel_chgpile:before { - content: "\e9df"; -} -.ict-VDU:before { - content: "\e9e0"; -} -.ict-VIM:before { - content: "\e9e1"; -} -.ict-VNF:before { - content: "\e9e2"; -} -.ict-VNFC:before { - content: "\e9e3"; -} -.ict-VNFM:before { - content: "\e9e4"; -} - - -/********************************** - - plx-icons - -**********************************/ -@font-face { - font-family: 'plx-icons'; - src: url('../fonts/plx-icons.eot?15hpu9'); - src: url('../fonts/plx-icons.eot?15hpu9#iefix') format('embedded-opentype'), - url('../fonts/plx-icons.ttf?15hpu9') format('truetype'), - url('../fonts/plx-icons.woff?15hpu9') format('woff'), - url('../fonts/plx-icons.svg?15hpu9#plx-icons') format('svg'); - font-weight: normal; - font-style: normal; -} - -[class^="plx-ico-"], [class*=" plx-ico-"] { - /* use !important to prevent issues with browser extensions that change fonts */ - font-family: 'plx-icons' !important; - speak: none; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - - /* Better Font Rendering =========== */ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.plx-ico-drag-drop-16:before { - content: "\e987"; -} -.plx-ico-all-selected-16:before { - content: "\e900"; -} -.plx-ico-arrow-down-16:before { - content: "\e901"; -} -.plx-ico-arrow-left-16:before { - content: "\e902"; -} -.plx-ico-arrow-right-16:before { - content: "\e903"; -} -.plx-ico-arrow-up-16:before { - content: "\e904"; -} -.plx-ico-bell-20:before { - content: "\e905"; -} -.plx-ico-calendar-16:before { - content: "\e906"; -} -.plx-ico-close-16:before { - content: "\e907"; -} -.plx-ico-code-16:before { - content: "\e908"; -} -.plx-ico-code-f-16:before { - content: "\e909"; -} -.plx-ico-copy-16:before { - content: "\e90a"; -} -.plx-ico-delete-16:before { - content: "\e90b"; -} -.plx-ico-detail-16:before { - content: "\e90c"; -} -.plx-ico-double-left-16:before { - content: "\e90d"; -} -.plx-ico-double-right-16:before { - content: "\e90e"; -} -.plx-ico-down-16:before { - content: "\e90f"; -} -.plx-ico-download-16:before { - content: "\e910"; -} -.plx-ico-empty-16:before { - content: "\e911"; -} -.plx-ico-export-16:before { - content: "\e912"; -} -.plx-ico-export-other-16:before { - content: "\e913"; -} -.plx-ico-eye-16:before { - content: "\e914"; -} -.plx-ico-eye-closed-16:before { - content: "\e915"; -} -.plx-ico-file-16:before { - content: "\e916"; -} -.plx-ico-filter-16:before { - content: "\e917"; -} -.plx-ico-filter-f-16:before { - content: "\e918"; -} -.plx-ico-folder-16:before { - content: "\e919"; -} -.plx-ico-folder-custom-16:before { - content: "\e91a"; -} -.plx-ico-folder-open-16:before { - content: "\e91b"; -} -.plx-ico-folder-open-custom-16:before { - content: "\e91c"; -} -.plx-ico-full-grid-16:before { - content: "\e91d"; -} -.plx-ico-full-grid-f-16:before { - content: "\e91e"; -} -.plx-ico-full-screen-16:before { - content: "\e91f"; -} -.plx-ico-gear-16:before { - content: "\e920"; -} -.plx-ico-half-grid-16:before { - content: "\e921"; -} -.plx-ico-half-grid-f-16:before { - content: "\e922"; -} -.plx-ico-help-tip-16:before { - content: "\e923"; -} -.plx-ico-help-tip-20:before { - content: "\e924"; -} -.plx-ico-history-16:before { - content: "\e925"; -} -.plx-ico-import-16:before { - content: "\e926"; -} -.plx-ico-info-16:before { - content: "\e927"; -} -.plx-ico-info-f-20:before { - content: "\e928"; -} -.plx-ico-left-16:before { - content: "\e929"; -} -.plx-ico-lock-16:before { - content: "\e92a"; -} -.plx-ico-magnifier-16:before { - content: "\e92b"; -} -.plx-ico-maximize-16:before { - content: "\e92c"; -} -.plx-ico-menu-16:before { - content: "\e92d"; -} -.plx-ico-message-16:before { - content: "\e92e"; -} -.plx-ico-message-20:before { - content: "\e92f"; -} -.plx-ico-minus-16:before { - content: "\e930"; -} -.plx-ico-modify-16:before { - content: "\e931"; -} -.plx-ico-move-16:before { - content: "\e932"; -} -.plx-ico-new-16:before { - content: "\e933"; -} -.plx-ico-pause-16:before { - content: "\e934"; -} -.plx-ico-plus-16:before { - content: "\e935"; -} -.plx-ico-print-16:before { - content: "\e936"; -} -.plx-ico-reduction-16:before { - content: "\e937"; -} -.plx-ico-refresh-16:before { - content: "\e938"; -} -.plx-ico-remove-16:before { - content: "\e939"; -} -.plx-ico-right-16:before { - content: "\e93a"; -} -.plx-ico-save-16:before { - content: "\e93b"; -} -.plx-ico-select-16:before { - content: "\e93c"; -} -.plx-ico-setting-20:before { - content: "\e93d"; -} -.plx-ico-square-down-16:before { - content: "\e93e"; -} -.plx-ico-square-left-16:before { - content: "\e93f"; -} -.plx-ico-square-right-16:before { - content: "\e940"; -} -.plx-ico-square-up-16:before { - content: "\e941"; -} -.plx-ico-start-16:before { - content: "\e942"; -} -.plx-ico-stop-16:before { - content: "\e943"; -} -.plx-ico-sucess-16:before { - content: "\e944"; -} -.plx-ico-sucess-f-20:before { - content: "\e945"; -} -.plx-ico-three-grid-16:before { - content: "\e946"; -} -.plx-ico-three-grid-f-16:before { - content: "\e947"; -} -.plx-ico-unlock-16:before { - content: "\e948"; -} -.plx-ico-up-16:before { - content: "\e949"; -} -.plx-ico-upload-16:before { - content: "\e94a"; -} -.plx-ico-user-20:before { - content: "\e94b"; -} -.plx-ico-warning-16:before { - content: "\e94c"; -} -.plx-ico-warning-f-20:before { - content: "\e94d"; -} -.plx-ico-zoom-in-16:before { - content: "\e94e"; -} -.plx-ico-zoom-out-16:before { - content: "\e94f"; -} -.plx-ico-zoom-overview-16:before { - content: "\e950"; -} -.plx-ico-zoom-reset-16:before { - content: "\e951"; -} -.plx-ico-config-auto-discover-16:before { - content: "\e952"; -} -.plx-ico-config-backup-16:before { - content: "\e953"; -} -.plx-ico-config-script-16:before { - content: "\e954"; -} -.plx-ico-console-16:before { - content: "\e955"; -} -.plx-ico-fm-acknownledge-16:before { - content: "\e956"; -} -.plx-ico-fm-alarm-16:before { - content: "\e957"; -} -.plx-ico-fm-alarm-box-16:before { - content: "\e958"; -} -.plx-ico-fm-alarm-code-16:before { - content: "\e959"; -} -.plx-ico-fm-alarm-turn-16:before { - content: "\e95a"; -} -.plx-ico-fm-current-alarm-16:before { - content: "\e95b"; -} -.plx-ico-fm-group-16:before { - content: "\e95c"; -} -.plx-ico-fm-history-alarm-16:before { - content: "\e95d"; -} -.plx-ico-fm-moc-16:before { - content: "\e95e"; -} -.plx-ico-fm-notice-alarm-16:before { - content: "\e95f"; -} -.plx-ico-fm-no-voice-16:before { - content: "\e960"; -} -.plx-ico-fm-restype-16:before { - content: "\e961"; -} -.plx-ico-fm-setting-16:before { - content: "\e962"; -} -.plx-ico-fm-unacknownledge-16:before { - content: "\e963"; -} -.plx-ico-fm-voice-16:before { - content: "\e964"; -} -.plx-ico-hmf-16:before { - content: "\e965"; -} -.plx-ico-license-16:before { - content: "\e966"; -} -.plx-ico-log-16:before { - content: "\e967"; -} -.plx-ico-mml-16:before { - content: "\e968"; -} -.plx-ico-mml-batch-command-16:before { - content: "\e969"; -} -.plx-ico-mml-debug-16:before { - content: "\e96a"; -} -.plx-ico-mml-dele-single-16:before { - content: "\e96b"; -} -.plx-ico-mml-execut-next-16:before { - content: "\e96c"; -} -.plx-ico-mml-grammar-check-16:before { - content: "\e96d"; -} -.plx-ico-mml-lose-error-16:before { - content: "\e96e"; -} -.plx-ico-mml-parallel-16:before { - content: "\e96f"; -} -.plx-ico-mml-single-command-16:before { - content: "\e970"; -} -.plx-ico-octopus-16:before { - content: "\e971"; -} -.plx-ico-performance-16:before { - content: "\e972"; -} -.plx-ico-pm-customized-16:before { - content: "\e973"; -} -.plx-ico-pm-monitor-16:before { - content: "\e974"; -} -.plx-ico-pm-query-16:before { - content: "\e975"; -} -.plx-ico-sm-16:before { - content: "\e976"; -} -.plx-ico-sm-admin-16:before { - content: "\e977"; -} -.plx-ico-sm-blacklist-16:before { - content: "\e978"; -} -.plx-ico-sm-department-16:before { - content: "\e979"; -} -.plx-ico-sm-follow-up-16:before { - content: "\e97a"; -} -.plx-ico-sm-maintain-16:before { - content: "\e97b"; -} -.plx-ico-sm-operation-16:before { - content: "\e97c"; -} -.plx-ico-sm-role-16:before { - content: "\e97d"; -} -.plx-ico-sm-roleset-16:before { - content: "\e97e"; -} -.plx-ico-sm-syn-down-16:before { - content: "\e97f"; -} -.plx-ico-sm-user-16:before { - content: "\e980"; -} -.plx-ico-sm-user-compare-16:before { - content: "\e981"; -} -.plx-ico-sm-user-dispatch-16:before { - content: "\e982"; -} -.plx-ico-sm-user-managment-16:before { - content: "\e983"; -} -.plx-ico-topo-group-16:before { - content: "\e984"; -} -.plx-ico-topo-layer-access-16:before { - content: "\e985"; -} -.plx-ico-topo-logic-16:before { - content: "\e986"; -} \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/FontAwesome.otf b/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/FontAwesome.otf deleted file mode 100644 index 401ec0f3..00000000 Binary files a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/FontAwesome.otf and /dev/null differ diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/ZteIctIcons.eot b/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/ZteIctIcons.eot deleted file mode 100644 index 8ddba569..00000000 Binary files a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/ZteIctIcons.eot and /dev/null differ diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/ZteIctIcons.svg b/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/ZteIctIcons.svg deleted file mode 100644 index 94a04d7c..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/ZteIctIcons.svg +++ /dev/null @@ -1,239 +0,0 @@ - - - -Generated by IcoMoon - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/ZteIctIcons.ttf b/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/ZteIctIcons.ttf deleted file mode 100644 index 5cc40aac..00000000 Binary files a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/ZteIctIcons.ttf and /dev/null differ diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/ZteIctIcons.woff b/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/ZteIctIcons.woff deleted file mode 100644 index 0564e188..00000000 Binary files a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/ZteIctIcons.woff and /dev/null differ diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/ZteTableIcons.eot b/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/ZteTableIcons.eot deleted file mode 100644 index 2b6211f8..00000000 Binary files a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/ZteTableIcons.eot and /dev/null differ diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/ZteTableIcons.svg b/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/ZteTableIcons.svg deleted file mode 100644 index 77eff7d7..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/ZteTableIcons.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - -Generated by IcoMoon - - - - - - - - \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/ZteTableIcons.ttf b/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/ZteTableIcons.ttf deleted file mode 100644 index f52ce211..00000000 Binary files a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/ZteTableIcons.ttf and /dev/null differ diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/ZteTableIcons.woff b/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/ZteTableIcons.woff deleted file mode 100644 index f120a67e..00000000 Binary files a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/ZteTableIcons.woff and /dev/null differ diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/fontawesome-webfont.eot b/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/fontawesome-webfont.eot deleted file mode 100644 index e9f60ca9..00000000 Binary files a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/fontawesome-webfont.eot and /dev/null differ diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/fontawesome-webfont.svg b/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/fontawesome-webfont.svg deleted file mode 100644 index 855c845e..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/fontawesome-webfont.svg +++ /dev/null @@ -1,2671 +0,0 @@ - - - - -Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 - By ,,, -Copyright Dave Gandy 2016. All rights reserved. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/fontawesome-webfont.ttf b/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/fontawesome-webfont.ttf deleted file mode 100644 index 35acda2f..00000000 Binary files a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/fontawesome-webfont.ttf and /dev/null differ diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/fontawesome-webfont.woff b/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/fontawesome-webfont.woff deleted file mode 100644 index 400014a4..00000000 Binary files a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/fontawesome-webfont.woff and /dev/null differ diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/fontawesome-webfont.woff2 b/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/fontawesome-webfont.woff2 deleted file mode 100644 index 4d13fc60..00000000 Binary files a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/fontawesome-webfont.woff2 and /dev/null differ diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/iconfont.eot b/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/iconfont.eot deleted file mode 100644 index e45edf09..00000000 Binary files a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/iconfont.eot and /dev/null differ diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/iconfont.svg b/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/iconfont.svg deleted file mode 100644 index f5e45b4d..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/iconfont.svg +++ /dev/null @@ -1,150 +0,0 @@ - - - - - -Created by iconfont - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/iconfont.ttf b/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/iconfont.ttf deleted file mode 100644 index b8bc410e..00000000 Binary files a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/iconfont.ttf and /dev/null differ diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/iconfont.woff b/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/iconfont.woff deleted file mode 100644 index 7cbe02f9..00000000 Binary files a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/iconfont.woff and /dev/null differ diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/plx-icons.eot b/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/plx-icons.eot deleted file mode 100644 index 5611721d..00000000 Binary files a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/plx-icons.eot and /dev/null differ diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/plx-icons.svg b/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/plx-icons.svg deleted file mode 100644 index 98d20729..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/plx-icons.svg +++ /dev/null @@ -1,146 +0,0 @@ - - - -Generated by IcoMoon - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/plx-icons.ttf b/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/plx-icons.ttf deleted file mode 100644 index 2d56c73c..00000000 Binary files a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/plx-icons.ttf and /dev/null differ diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/plx-icons.woff b/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/plx-icons.woff deleted file mode 100644 index bf943465..00000000 Binary files a/sdc-workflow-designer-ui/src/app/paletx/assets/fonts/plx-icons.woff and /dev/null differ diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/images/backtop/backtop.svg b/sdc-workflow-designer-ui/src/app/paletx/assets/images/backtop/backtop.svg deleted file mode 100644 index 58bca254..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/assets/images/backtop/backtop.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/images/backtop/backtop_hover.svg b/sdc-workflow-designer-ui/src/app/paletx/assets/images/backtop/backtop_hover.svg deleted file mode 100644 index f35c0fb0..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/assets/images/backtop/backtop_hover.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/checkbox-checked-disabled.svg b/sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/checkbox-checked-disabled.svg deleted file mode 100644 index 041c368b..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/checkbox-checked-disabled.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/checkbox-disabled.svg b/sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/checkbox-disabled.svg deleted file mode 100644 index 03bfad63..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/checkbox-disabled.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/checkbox-hover.svg b/sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/checkbox-hover.svg deleted file mode 100644 index 4cac1803..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/checkbox-hover.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/checkbox-init.svg b/sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/checkbox-init.svg deleted file mode 100644 index d518db1b..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/checkbox-init.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/radio-checked-disabled.svg b/sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/radio-checked-disabled.svg deleted file mode 100644 index ff139644..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/radio-checked-disabled.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/radio-checked.svg b/sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/radio-checked.svg deleted file mode 100644 index 29dfaf84..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/radio-checked.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/radio-disabled.svg b/sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/radio-disabled.svg deleted file mode 100644 index 6e1a1b12..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/radio-disabled.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/radio-hover.svg b/sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/radio-hover.svg deleted file mode 100644 index c050f69d..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/radio-hover.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/radio-init.svg b/sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/radio-init.svg deleted file mode 100644 index 7e2977c2..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/radio-init.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/test/checkbox-checked.svg b/sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/test/checkbox-checked.svg deleted file mode 100644 index 22b9535c..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/assets/images/checkbox-radio/test/checkbox-checked.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/themes/NIV/NIV-theme.less b/sdc-workflow-designer-ui/src/app/paletx/assets/themes/NIV/NIV-theme.less deleted file mode 100644 index 2490a0d9..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/assets/themes/NIV/NIV-theme.less +++ /dev/null @@ -1,271 +0,0 @@ -//color -@blue-1: #e7f4fd; -@blue-2: #cfe9fc; -@blue-3: #a0d3f8; -@blue-4: #70bef5; -@blue-5: #40a8f2; -@blue-6: #108ee9; -@blue-7: #0d75bf; -@blue-8: #0c66a7; -@blue-9: #084977; -@blue-10: #073a5f; - -@green-1: #e5f6ee; -@green-2: #cceedd; -@green-3: #99dcbb; -@green-4: #66cb98; -@green-5: #33b976; -@green-6: #00a854; -@green-7: #00994d; -@green-8: #008040; -@green-9: #006633; -@green-10: #004d26; - -@red-1: #fdeae8; -@red-2: #fad4d1; -@red-3: #f8bfba; -@red-4: #f5aaa3; -@red-5: #ee6a5d; -@red-6: #ea4335; -@red-7: #e72918; -@red-8: #b92113; -@red-9: #a21d11; -@red-10: #8a190f; - -@yellow-1: #fff8e6; -@yellow-2: #fef2cd; -@yellow-3: #fde59b; -@yellow-4: #fdde81; -@yellow-5: #fcca36; -@yellow-6: #f3b709; -@yellow-7: #c99703; -@yellow-8: #977202; -@yellow-9: #7e5f02; -@yellow-10: #644c02; - -@orange-1: #fff1e6; -@orange-2: #ffe2cc; -@orange-3: #ffd4b3; -@orange-4: #ffb780; -@orange-5: #ff8b33; -@orange-6: #f56a30; -@orange-7: #cc5800; -@orange-8: #994200; -@orange-9: #803700; -@orange-10: #662c00; - -@purple-1: #f5e9f7; -@purple-2: #ebd4ef; -@purple-3: #d7a9df; -@purple-4: #c47cd0; -@purple-5: #ad49be; -@purple-6: #9c27b0; -@purple-7: #862097; -@purple-8: #6f1c7d; -@purple-9: #60166d; -@purple-10: #51145c; - -@pink-1: #fde8ef; -@pink-2: #fad1df; -@pink-3: #f8bace; -@pink-4: #ff84af; -@pink-5: #ee5d8e; -@pink-6: #e81e63; -@pink-7: #d01654; -@pink-8: #b9134a; -@pink-9: #a21141; -@pink-10: #8a0f38; - -@cyan-1: #ebf8f9; -@cyan-2: #cfedf0; -@cyan-3: #a7dfe3; -@cyan-4: #76cdd3; -@cyan-5: #3db8c1; -@cyan-6: #00a2ae; -@cyan-7: #008997; -@cyan-8: #00707f; -@cyan-9: #005667; -@cyan-10: #003c4e; - -@lemon-1: #fffdeb; -@lemon-2: #ffface; -@lemon-3: #fff7b1; -@lemon-4: #fff59d; -@lemon-5: #fff175; -@lemon-6: #ffeb3b; -@lemon-7: #f7e225; -@lemon-8: #e8d211; -@lemon-9: #d3bf0b; -@lemon-10: #c3b003; - -@brown-1: #f5f1ef; -@brown-2: #ece3df; -@brown-3: #d9c6bf; -@brown-4: #c6aa9f; -@brown-5: #9f7160; -@brown-6: #795548; -@brown-7: #604439; -@brown-8: #503830; -@brown-9: #402d26; -@brown-10: #30221d; - -@indigo-1: #eceef8; -@indigo-2: #d9ddf2; -@indigo-3: #c6cceb; -@indigo-4: #a1aade; -@indigo-5: #6877ca; -@indigo-6: #3f51b5; -@indigo-7: #354497; -@indigo-8: #2e3b84; -@indigo-9: #212a5e; -@indigo-10: #1b224b; - -@lime-1: #f3f9ec; -@lime-2: #e6f2d9; -@lime-3: #daecc6; -@lime-4: #b5d98c; -@lime-5: #9ccc66; -@lime-6: #8bc24a; -@lime-7: #77ac39; -@lime-8: #699933; -@lime-9: #4f7326; -@lime-10: #426020; - -@bluegray-1: #f0f3f5; -@bluegray-2: #d2dbe0; -@bluegray-3: #b4c3cb; -@bluegray-4: #96abb6; -@bluegray-5: #7893a1; -@bluegray-6: #607d8b; -@bluegray-7: #546c78; -@bluegray-8: #495f69; -@bluegray-9: #34444b; -@bluegray-10: #2a363c; - -@default-white: #ffffff; -@default-black: #000000; - -@default-blue: @blue-6; -@hover-blue: @blue-7; -@active-blue: @blue-8; - -@nav-default-blue: @default-blue; -@nav-hover-blue: @hover-blue; -@nav-active-blue: @active-blue; - -@default-green: @green-6; -@hover-green: @green-7; -@active-green: @green-8; - -@default-red: @red-6; -@hover-red: @red-7; -@active-red: @red-8; - -@default-yellow: @yellow-6; -@hover-yellow: @yellow-7; -@active-yellow: @yellow-8; - -@gray-grade-1: #212121; -@gray-grade-2: #404040; -@gray-grade-3: #595959; -@gray-grade-4: #737373; -@gray-grade-5: #999999; -@gray-grade-6: #bfbfbf; -@gray-grade-7: #d9d9d9; -@gray-grade-8: #e9e9e9; -@gray-grade-9: #f5f5f5; - -//font -@font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - -@font-size-normal: 14px; -@font-size-xl: 24px; -@font-size-lg: 20px; -@font-size-sm: 12px; - -@font-gray-normal: @gray-grade-3; -@font-gray-light: @gray-grade-5; -@font-gray-lightest: @gray-grade-6; -@font-gray-dark: @gray-grade-2; - -@font-weight-normal: 400; -@font-weight-bold: 500; -@title-font-weight: 500; - -.font(@font-size: @font-size-normal, @color:@font-gray-normal, @font-weight: @font-weight-normal) { - font-family: @font-family; - font-weight: @font-weight; - font-size: @font-size; - line-height: @font-size; - color: @color; -} - -.input-font(@font-size: @font-size-normal, @color:@font-gray-normal) { - .font(@font-size, @color, @font-weight-bold); -} - -//disabled -@disabled-font: @font-gray-lightest; -@disabled-background: @gray-grade-9; -@disabled-border-color: rgba(191, 191, 191, 0.5); - -//hover -@hover-background: @blue-1; -@hover-border-color: @default-blue; - -//active -@active-background: @gray-grade-9; - -//highlight -@highlight-background: @gray-grade-6; - -//border -@border-color: @gray-grade-7; -@border-base: 1px solid @border-color; -@border-radius-base: 3px; -@box-shadow-base: 0 2px 4px 0 rgba(0, 0, 0, 0.2); - -//height -@component-height-lg: 32px; -@component-height-md: 28px; -@component-height-sm: 24px; -@line-height-base: 1.5; - -//spacing -@spacing-within-item: 10px; -@spacing-between-item: 20px; - -//z-index -@z-index-affix : 10; -@z-index-back-top : 10; -@z-index-modal-mask : 1000; -@z-index-modal : 1000; -@z-index-notification : 1010; -@z-index-message : 1010; -@z-index-popover : 1030; -@z-index-picker : 1050; -@z-index-dropdown : 1050; -@z-index-tooltip : 1060; - -//input -@input-padding-both-side: 10px; -@input-width: 400px; - -//overlay -@overlay-margin-top: 5px; -@overlay-item-padding-left: 10px; - -//clear icon -@hover-clear-icon-bg: @gray-grade-9; -@clear-icon-color: @gray-grade-5; - -//button -@button-width: 88px; -@button-border: 0; -@button-border-color: @border-base; - -//tab -@tab-height: 36px; -@tab-active-line-height: 2px; -@tab-line-height: @tab-height - @tab-active-line-height; -@icon-menu-active-bg: @blue-2; diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/themes/NIV/theme.css b/sdc-workflow-designer-ui/src/app/paletx/assets/themes/NIV/theme.css deleted file mode 100644 index 4bbbcd55..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/assets/themes/NIV/theme.css +++ /dev/null @@ -1,5548 +0,0 @@ -.plx-breadcrumb { - margin: 0; - padding: 5px 10px; - font-size: 12px; -} -.plx-breadcrumb li { - display: inline-block; -} -.plx-breadcrumb a { - color: #737373; - text-decoration: none; -} -.plx-breadcrumb a:hover { - color: #108EE9; -} -.plx-breadcrumb .plx-breadcrumb-separator { - color: #999; - padding: 0 5px; - vertical-align: 1px; -} -.plx-breadcrumb .plx-breadcrumb-collapse { - padding-left: 6px; - padding-right: 6px; - cursor: pointer; -} -.plx-breadcrumb .plx-breadcrumb-collapse circle { - fill: #8e8e8e; -} -.plx-breadcrumb .plx-breadcrumb-collapse:hover circle { - fill: #108EE9; -} -.plx-breadcrumb .plx-breadcrumb-active { - vertical-align: 1px; -} -.plx-breadcrumb .plx-breadcrumb-active a { - font-size: 20px; - color: #404040; - cursor: text; -} -.owl-dateTime { - display: inline-block; - position: relative; - width: 100%; - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - font-size: 14px; - background: #fff; - color: #595959; -} -.owl-dateTime input { - font-size: 14px; - height: 32px; - padding-left: 10px; - padding-right: 10px; - outline: 0; - border: 1px solid #d9d9d9; - border-radius: 3px; - vertical-align: middle; -} -.short-text-input .owl-dateTime input { - width: 120px; -} -.text-input-with-unit .owl-dateTime input { - width: 355px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-unitOption .owl-dateTime input { - width: 316px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-prefix .owl-dateTime input { - width: 330px; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.text-input-with-prefixOption .owl-dateTime input { - width: 316px; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.text-input-with-passwordSwith .owl-dateTime input { - width: 360px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-prefix.text-input-with-unit .owl-dateTime input { - width: 285px; -} -.text-input-with-prefix.text-input-with-unitOption .owl-dateTime input { - width: 246px; -} -.short-text-input.text-input-with-prefix .owl-dateTime input { - width: 80px; -} -.short-text-input.text-input-with-unit .owl-dateTime input { - width: 80px; -} -.short-text-input.text-input-with-prefix.text-input-with-unit .owl-dateTime input { - width: 40px; -} -.owl-dateTime input:focus { - border: 1px solid #108EE9; -} -.owl-dateTime input:disabled, -.owl-dateTime input[disabled] { - cursor: not-allowed; - background-color: #f5f5f5; -} -.owl-dateTime input:-ms-input-placeholder { - color: #999 !important; -} -.owl-dateTime input::-webkit-input-placeholder { - color: #999 !important; -} -.owl-dateTime-input { - width: 100%; - padding-right: 1.5em; -} -.owl-dateTime-cancel { - position: absolute; - top: 50%; - right: .1em; - border-radius: 50%; - transform: translateY(-50%); - cursor: pointer; - color: inherit; -} -.owl-dateTime-inputWrapper { - position: relative; -} -.owl-dateTime-customTemp { - display: inline-block; - position: relative; -} -.owl-dateTime-dialog { - padding: 0px; - position: absolute; -} -.owl-dateTime-dialogHeader { - display: flex; - justify-content: center; - align-items: center; - width: 100%; -} -.owl-calendar-wrapper, -.owl-timer-wrapper { - position: relative; - width: 100%; - padding: .2em .5em; -} -.owl-calendar-control { - display: flex; - justify-content: space-around; - width: 100%; - height: 2em; -} -.owl-calendar-control .owl-calendar-controlNav { - position: relative; - cursor: pointer; - width: 12.5%; -} -.owl-calendar-control .owl-calendar-controlContent { - display: flex; - justify-content: center; - align-items: center; - width: 75%; - height: 100%; -} -.owl-calendar { - position: relative; - min-height: 13.7em; -} -.owl-calendar table { - width: 100%; - border-collapse: collapse; -} -.owl-calendar tbody td { - position: relative; - text-align: center; -} -.owl-calendar tbody td a { - display: block; - width: 100%; - height: 100%; - text-decoration: none; - color: inherit; - font-size: 12px; -} -.owl-calendar .owl-calendar-yearArrow { - position: absolute; - top: 50%; - width: 1.5em; - height: 1.5em; - transform: translateY(-50%); - cursor: pointer; -} -.owl-calendar .owl-calendar-yearArrow.left { - left: -0.5em; -} -.owl-calendar .owl-calendar-yearArrow.right { - right: -0.5em; -} -.owl-timer-wrapper { - position: relative; - display: flex; - justify-content: center; -} -.owl-timer-wrapper .owl-timer { - position: relative; - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - width: 25%; - height: 100%; -} -.owl-timer-wrapper .owl-timer-control { - display: flex; - justify-content: center; - align-items: center; - height: 30%; - width: 100%; - cursor: pointer; -} -.owl-timer-wrapper .owl-timer-control .icon:before { - margin: 0; -} -.owl-timer-wrapper .owl-timer-input { - width: 60%; - height: 100%; -} -/*# sourceMappingURL=picker.component.css.map */ -.font-face { - font-weight: normal; - font-style: normal; -} -[class^="paletx-datepicker-icon-"]:before, -[class*="paletx-datepicker-icon-"]:before { - font-family: "fontello"; - font-style: normal; - font-weight: normal; - speak: none; - display: inline-block; - text-decoration: inherit; - width: 1em; - margin-right: .2em; - text-align: center; - /* opacity: .8; */ - /* For safety - reset parent styles, that can break glyph codes*/ - font-variant: normal; - text-transform: none; - /* fix buttons height, for twitter bootstrap */ - line-height: 1em; - /* Animation center compensation - margins should be symmetric */ - /* remove if not needed */ - margin-left: .2em; - /* you can be more comfortable with increased icons size */ - /* font-size: 120%; */ - /* Font smoothing. That was taken from TWBS */ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - /* Uncomment for 3D effect */ - /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ -} -.paletx-datepicker-icon-cancel:before { - content: '\e802'; -} -/* '' */ -.paletx-datepicker-icon-up-open:before { - content: '\e805'; -} -/* '' */ -.paletx-datepicker-icon-down-open:before { - content: '\e80b'; -} -/* '' */ -.paletx-datepicker-icon-left-open:before { - content: '\e817'; -} -/* '' */ -.paletx-datepicker-icon-right-open:before { - content: '\e818'; -} -/* '' */ -.owl-widget, -.owl-widget * { - box-sizing: border-box; -} -.owl-widget { - font-size: 1em; -} -.owl-padding { - padding: 0px; -} -.owl-corner-all { - border-radius: 3px; -} -.owl-corner-top { - border-top-left-radius: 3px; - border-top-right-radius: 3px; -} -.owl-state-default { - border: 1px solid #d9d9d9; - background: #fff; - color: #595959; -} -.owl-inputtext { - margin: 0; - outline: medium none; - transition: .2s; -} -.owl-dateTime.owl-dateTime-inline { - width: auto; -} -.owl-dateTime.owl-dateTime-inline .owl-dateTime-dialog { - position: relative; - z-index: auto; -} -.owl-dateTime-dialog { - width: 300px; - user-select: none; - z-index: 99999; -} -.owl-dateTime-dialogHeader { - height: 2.5em; - padding: .25em; - background-color: #fff; - overflow-y: auto; -} -.owl-calendar-control .owl-calendar-controlNav .nav-prev, -.owl-calendar-control .owl-calendar-controlNav .nav-next { - position: absolute; - top: 50%; - right: auto; - bottom: auto; - left: 50%; - transform: translate(-50%, -50%); -} -.owl-cal-header { - background: #f5f5f5; - height: 35px; -} -.owl-calendar-control .owl-calendar-controlNav .nav-prev:before, -.owl-calendar-control .owl-calendar-controlNav .nav-next:before { - border-top: .5em solid transparent; - border-bottom: .5em solid transparent; - border-right: 0.75em solid #000000; - width: 0; - height: 0; - display: block; - margin: 0 auto; -} -.owl-calendar-control .owl-calendar-controlNav .nav-next:before { - border-right: 0; - border-left: 0.75em solid #000000; -} -.owl-calendar-control .owl-calendar-controlContent .month-control, -.owl-calendar-control .owl-calendar-controlContent .year-control { - color: #999; - display: inline-block; - cursor: pointer; - transition: transform 200ms ease; -} -.owl-calendar-control .owl-calendar-controlContent .month-control:hover, -.owl-calendar-control .owl-calendar-controlContent .year-control:hover { - color: #5cb85c; -} -.owl-calendar-control .owl-calendar-controlContent .month-control { - font-size: 16px; - margin-right: .8rem; -} -.owl-calendar-control .owl-calendar-controlContent .year-control { - font-size: 16px; -} -.owl-calendar tbody td.owl-calendar-selected { - background-color: #5cb85c; - color: #fff; -} -.owl-calendar tbody td.owl-calendar-invalid { - color: #bfbfbf; -} -.owl-calendar tbody td.owl-calendar-outFocus { - color: #999; -} -.owl-calendar tbody td.owl-calendar-hidden { - visibility: hidden; -} -/** -.owl-calendar tbody td:not(.owl-calendar-selected):not(.owl-calendar-invalid):hover { - background-color: @hover-bg-color; - color: @shadow-color } -**/ -.owl-years td.owl-year, -.owl-years td.owl-month, -.owl-months td.owl-year, -.owl-months td.owl-month { - font-size: 1.2em; - height: 2.5em; - width: 33.33%; - line-height: 2.5em; - border-radius: 60px; -} -.owl-weekdays th.owl-weekday { - height: 1em; - line-height: 2em; - text-align: center; - font-weight: normal; - font-size: 14px; - /**color: @unselected-text-color; **/ -} -.owl-days td.owl-day { - border-radius: 30px; - height: 2em; - width: calc(14.28571429%); - line-height: 2em; -} -.owl-days td.owl-day.owl-day-today:before { - content: ''; - display: block; - position: absolute; - right: 2px; - top: 2px; - color: #108EE9; - border-top: 0.5em solid #0D75BF; - border-left: .5em solid transparent; -} -.owl-timer-wrapper { - height: 5.4em; - background-color: rgba(0, 0, 0, 0.2); -} -.owl-timer-wrapper .owl-timer-text { - display: flex; - justify-content: center; - align-items: center; - width: 100%; - height: 40%; - font-size: 1.5em; -} -.owl-timer-wrapper .owl-meridian-btn { - font-size: .8em; - color: #5cb85c; - background-image: none; - background-color: transparent; - border-color: #5cb85c; -} -.owl-timer-wrapper .owl-meridian-btn:hover { - color: #fff; - background-color: #5cb85c; - border-color: #5cb85c; -} -.owl-timer-divider { - display: inline-block; - align-self: flex-end; - position: absolute; - width: .6em; - height: 100%; - left: -0.3em; -} -.owl-timer-divider .owl-timer-dot { - display: block; - width: .3em; - height: .3em; - position: absolute; - left: 50%; - border-radius: 50%; - transform: translateX(-50%); -} -.owl-timer-divider .owl-timer-dot.dot-top { - top: 38%; -} -.owl-timer-divider .owl-timer-dot.dot-bottom { - bottom: 38%; -} -.owl-icon { - position: absolute; - top: 50%; - right: .1em; - border-radius: 50%; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); - cursor: pointer; - color: #8e8e8e; -} -.oes-time-control { - color: #595959 !important; -} -.owl-calendar-selected { - background-color: #5cb85c; - color: #fff; - border-radius: 50%; -} -.owl-calendar tbody td div.day:not(.owl-calendar-selected):not(.owl-calendar-invalid):hover { - background-color: #E7F4FD; - color: #000; - border-radius: 50%; -} -.oes-time-control { - font-size: 14px; -} -.owl-calendar-year-part { - width: 42px; - margin-left: 30px; - text-align: center; -} -.owl-calendar-year-part:hover { - background-color: #E7F4FD; - color: #000; - border-radius: 50%; -} -.owl-calendar-year-selected { - background-color: #5cb85c; - color: #fff; - border-radius: 50%; -} -.owl-calendar-year-selected:hover { - background-color: #5cb85c; - color: #fff; - border-radius: 50%; -} -.owl-calendar-month-part { - width: 42px; - margin-left: 30px; - text-align: center; -} -.owl-calendar-month-part:hover { - background-color: #E7F4FD; - color: #000; - border-radius: 50%; -} -.owl-calendar-month-selected { - background-color: #5cb85c; - color: #fff; - border-radius: 50%; -} -.owl-calendar-month-selected:hover { - background-color: #5cb85c; - color: #fff; - border-radius: 50%; -} -/*# sourceMappingURL=picker.css.map */ -.oes-time-table .chevron::before { - border-style: solid; - border-width: 0.29em 0.29em 0 0; - content: ''; - display: inline-block; - height: 0.69em; - left: 0.05em; - position: relative; - top: 0.15em; - transform: rotate(-45deg); - -webkit-transform: rotate(-45deg); - -ms-transform: rotate(-45deg); - vertical-align: middle; - width: 0.71em; -} -.oes-time-table .chevron.bottom:before { - top: -0.3em; - -webkit-transform: rotate(135deg); - -ms-transform: rotate(135deg); - transform: rotate(135deg); -} -.oes-time-table .btn-link { - border: none!important; - cursor: pointer; - outline: 0; - display: block; -} -.oes-time-table .btn-link.disabled { - cursor: not-allowed; - opacity: .65; -} -.oes-time-control { - text-align: center; -} -.datapicker-form-control { - width: auto !important; - display: inline-block; -} -.oes-time-table .ict-stretch { - font-size: 8px; -} -.oes-time-table .ict-shrink { - font-size: 8px; -} -.time-pick-bk { - background-color: #fff; -} -.btn-link:focus, -.btn-link:hover { - text-decoration: none; -} -.oes-time-control { - border: 0; - width: 30px !important; - padding: 3px 0; - margin: 0; - font-size: 14px; -} -.oes-time-control:hover { - background-color: #e6e6e6; - color: #000; - cursor: pointer; -} -.oes-time-control-foucs-bk { - background-color: #00abff !important; - color: #fff!important; -} -.oes-time-separator { - margin: 0 -5px; -} -.oes-time-group, -.oes-time-group:hover { - border-bottom: 1px solid #ccc; - border-left: 1px solid #ccc; - border-top: 1px solid #ccc; - border-radius: 0.2em; -} -.oes-time-btns, -.oes-time-btns:hover { - border-bottom: 1px solid #ccc; - border-right: 1px solid #ccc; - border-top: 1px solid #ccc; - border-radius: 0.2em; - padding: 0 0 7px 0 !important; -} -.oes-time-btns-wrapper { - margin-top: -3px; - transform: scale(0.6, 0.6); -} -.i18nTimeDes, -.i18nTimeDes:hover { - padding: 0 5px 0px 0; -} -.oes-time-btn { - height: 5px; -} -.oes-time-table { - margin-bottom: 10px; -} -.hour-table { - font-size: 12px; -} -.hour-table td { - padding: 5px; - padding-top: 3px; - padding-bottom: 3px; - cursor: pointer; -} -.oes-time-btn-shrink { - position: relative; - top: -5px; - left: 0px; - color: #CCC; -} -.oes-time-btn-stretch { - position: relative; - left: 0px; - color: #CCC; -} -.owl-calendar-timer-invalid { - color: #acacac; -} -.owl-calendar-timer-selected { - background-color: #00abff; - color: #FFFFFF; - border-radius: 1.2em; -} -.hour-table td:not(.owl-calendar-timer-selected):not(.owl-calendar-timer-invalid):hover { - background-color: #ebf6fd; - color: #000000; - border-radius: 1.2em; -} -.icon { - color: #8e8e8e; - vertical-align: text-bottom; - margin-left: 5px; - font-size: 20px; -} -.plx-input-password { - display: inline-block; - line-height: 30px; - width: 40px; - text-align: center; - vertical-align: middle; - margin-top: -2px; - background-color: #fff; - border-top: 1px solid #d9d9d9; - border-right: 1px solid #d9d9d9; - border-bottom: 1px solid #d9d9d9; - border-bottom-right-radius: 3px; - border-top-right-radius: 3px; - cursor: pointer; -} -.plx-input-password:focus, -.plx-input-password:hover { - background-color: #fff; -} -.plx-input-password:active { - background-color: #108ee9; -} -.plx-input-password.ict-eye-closed, -.plx-input-password.ict-eye { - color: #8e8e8e; -} -.plx-input-password-disabled { - cursor: not-allowed; -} -.plx-input-password-disabled:focus, -.plx-input-password-disabled:hover, -.plx-input-password-disabled:active { - background-color: #fff; -} -.plx-input-password-sm { - line-height: 26px; -} -@-moz-keyframes three-quarters-loader { - 0% { - -moz-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -moz-transform: rotate(360deg); - transform: rotate(360deg); - } -} -@-webkit-keyframes three-quarters-loader { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -@keyframes three-quarters-loader { - 0% { - -moz-transform: rotate(0deg); - -ms-transform: rotate(0deg); - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -moz-transform: rotate(360deg); - -ms-transform: rotate(360deg); - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -.plx-loading-max:not(:required) { - -moz-animation: three-quarters-loader 1500ms infinite linear; - -webkit-animation: three-quarters-loader 1500ms infinite linear; - animation: three-quarters-loader 1500ms infinite linear; - box-sizing: border-box; - display: inline-block; - position: relative; - overflow: hidden; - text-indent: -9999px; - width: 72px; - height: 72px; - border: 5px solid #108EE9; - border-right-color: #fff; - border-radius: 36px; -} -.plx-loading-medium:not(:required) { - -moz-animation: three-quarters-loader 1500ms infinite linear; - -webkit-animation: three-quarters-loader 1500ms infinite linear; - animation: three-quarters-loader 1500ms infinite linear; - box-sizing: border-box; - display: inline-block; - position: relative; - overflow: hidden; - text-indent: -9999px; - width: 36px; - height: 36px; - border: 4px solid #108EE9; - border-right-color: #fff; - border-radius: 18px; -} -.plx-loading-min:not(:required) { - -moz-animation: three-quarters-loader 1500ms infinite linear; - -webkit-animation: three-quarters-loader 1500ms infinite linear; - animation: three-quarters-loader 1500ms infinite linear; - box-sizing: border-box; - display: inline-block; - position: relative; - overflow: hidden; - text-indent: -9999px; - width: 18px; - height: 18px; - border: 2px solid #108EE9; - border-right-color: #fff; - border-radius: 9px; -} -.plx-loading-default:not(:required) { - margin-left: 100px; - margin-top: 100px; - box-sizing: border-box; - display: inline-block; - position: relative; - overflow: hidden; - text-indent: -9999px; - width: 36px; - height: 36px; - border: 4px solid #108EE9; - border-right-color: #fff; - border-radius: 18px; -} -.plx-loading-xs:not(:required) { - -moz-animation: three-quarters-loader 1500ms infinite linear; - -webkit-animation: three-quarters-loader 1500ms infinite linear; - animation: three-quarters-loader 1500ms infinite linear; - box-sizing: border-box; - display: inline-block; - position: relative; - overflow: hidden; - text-indent: -9999px; - width: 12px; - height: 12px; - border: 2px solid #108EE9; - border-right-color: #fff; - border-radius: 6px; -} -.plx-loading { - -moz-animation: three-quarters-loader 1500ms infinite linear; - -webkit-animation: three-quarters-loader 1500ms infinite linear; - animation: three-quarters-loader 1500ms infinite linear; - box-sizing: border-box; - display: inline-block; - position: relative; - overflow: hidden; - text-indent: -9999px; -} -.plx-loading-white:not(:required) { - -moz-animation: three-quarters-loader 1500ms infinite linear; - -webkit-animation: three-quarters-loader 1500ms infinite linear; - animation: three-quarters-loader 1500ms infinite linear; - box-sizing: border-box; - display: inline-block; - position: relative; - overflow: hidden; - text-indent: -9999px; - width: 12px; - height: 12px; - border: 2px solid #fff; - border-right-color: #108EE9; - border-radius: 6px; -} -.plx-loading-gray:not(:required) { - -moz-animation: three-quarters-loader 1500ms infinite linear; - -webkit-animation: three-quarters-loader 1500ms infinite linear; - animation: three-quarters-loader 1500ms infinite linear; - box-sizing: border-box; - display: inline-block; - position: relative; - overflow: hidden; - text-indent: -9999px; - width: 12px; - height: 12px; - border: 2px solid #bfbfbf; - border-right-color: #fff; - border-radius: 6px; -} -.message { - width: 400px; - right: 10px; - position: fixed; - z-index: 99999; - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - font-weight: 400; - font-style: normal; - font-size: 14px; - color: #404040; -} -.message > p { - width: 100%; - margin: 10px 0 16px; - padding: 0 25px ; - border: 1px solid #e9e9e9; - box-shadow: 1px 3px 9px rgba(0, 0, 0, 0.2); - line-height: 36px; - background: #fff; - font-size: 14px !important; - color: #595959; -} -.message > p > span { - float: right; - cursor: pointer; - font-weight: 400; - font-style: normal; - color: #108EE9; - text-align: center; -} -.message > p > span:hover { - text-decoration: underline; -} -.message > div { - width: 100%; - margin-bottom: 16px; - border: 1px solid ; - line-height: 62px; - border: 1px solid #e9e9e9; - box-shadow: 1px 4px 9px rgba(0, 0, 0, 0.2); - border-radius: 5px; - background: #fff; - position: relative; -} -.message > div > span { - display: inline-block; - font-size: 24px !important; - margin-left: 12px; - margin-right: 3px; - vertical-align: middle; -} -.message > div.success { - border-left: 4px solid #00A854; -} -.message > div.success > span { - color: #00A854; -} -.message > div.error { - border-left: 4px solid #EA4335; -} -.message > div.error > span { - color: #EA4335; -} -.message > div.warning { - border-left: 4px solid #F3B709; -} -.message > div.warning > span { - color: #F3B709; -} -.message > div.info { - border-left: 4px solid #108EE9; -} -.message > div.info > span { - color: #108EE9; -} -.message > div > i { - float: right; - width: 20px; - height: 20px; - margin-top: 21px; - line-height: 20px; - border-radius: 50%; - margin-right: 20px; - cursor: pointer; - text-align: center; - font-size: 16px; -} -.message > div > i:hover { - background: #E7F4FD; -} -.message > div > p { - top: -3px; - margin: 0; - padding: 0 20px 16px 43px; - font-size: 14px !important; - color: #595959; - line-height: 18px; - position: relative; -} -.message > div > p > span { - color: #108EE9; - cursor: pointer; -} -.message > div > p > span:hover { - text-decoration: underline; -} -.message > div > div { - padding-left: 45px ; - padding-bottom: 19px; - font-size: 14px; - color: #108EE9; - line-height: 18px; - cursor: pointer; -} -.message > div > div:hover { - text-decoration: underline; -} -#plxMessageMeasure { - position: fixed; - top: -12px; - opacity: 0; - white-space: nowrap; - margin: 0; - padding: 0; - font-size: 14px !important; - line-height: 14px; - z-index: -9999; -} -.stack > span { - display: inline-block; - position: absolute; - bottom: 16px; - right: 25px; -} -plx-modal-window .modal { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - display: none; - outline: 0; - z-index: 10000; -} -plx-modal-window .modal-dialog { - position: relative; - max-width: 600px; - margin: 30px auto; -} -plx-modal-window .modal-dialog.modal-sm { - max-width: 600px; -} -plx-modal-window .modal-dialog.modal-lg { - max-width: 1000px; -} -plx-modal-window .modal-content { - position: relative; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - background-color: #fff; - background-clip: padding-box; - border-radius: 3px; - box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2); - outline: 0; -} -plx-modal-window .modal-content .modal-header { - border-bottom: 0; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - padding: 15px; -} -plx-modal-window .modal-content .modal-body .form-group:last-child, -plx-modal-window .modal-content .modal-body form:last-child { - margin-bottom: 0; -} -plx-modal-window .modal-content .modal-footer { - display: block; - border-top: 0; - margin-top: 0; - padding: 0 15px 15px 15px; -} -plx-modal-window .modal-content .modal-title { - font-size: 20px; - margin-bottom: 0; - line-height: 1.5; -} -plx-modal-window .modal-content .modal-btn { - text-align: center; - font-size: 0; -} -plx-modal-window .close { - color: #8e8e8e; - font-size: 16px; - text-shadow: none; - width: 24px; - height: 24px; - background: #fff; - border-radius: 20px; - padding-bottom: 2px; - outline: none; -} -plx-modal-window .close:hover { - color: #8e8e8e; - background: #E7F4FD; -} -plx-modal-window .alert-modal.row { - margin-left: 100px; - margin-bottom: 30px; - text-align: left; -} -plx-modal-window .alert-modal.row .tip-img { - display: inline-block; - width: 52px; - height: 52px; - border-radius: 50px; - font-size: 45px; - text-align: center; - line-height: 1; - margin-top: -5px; - margin-right: 15px; -} -plx-modal-window .alert-modal.row .tip-img::before { - content: "!"; -} -plx-modal-window .alert-modal.row .tip-info { - width: 300px; -} -plx-modal-window .alert-modal.row .tip-info .alert-title { - font-size: 16px; - color: #404040; -} -plx-modal-window .alert-modal.row .tip-info .alert-result { - margin-top: 5px; - font-size: 14px; - color: #999; -} -plx-modal-window .alert-modal.row .warning { - border: 3px solid #F3B709; - color: #F3B709; -} -plx-modal-window .alert-modal.row .error { - border: 3px solid #EA4335; - color: #EA4335; -} -ngb-popover-window.plx-popover.show { - color: #333; - border: 1px solid #d9d9d9; -} -.plx-popover { - position: absolute; - top: 0; - left: 0; - z-index: 10001; - display: block; - padding: 1px; - font-style: normal; - font-weight: normal; - letter-spacing: normal; - line-break: auto; - line-height: 1.5; - text-align: left; - text-decoration: none; - text-shadow: none; - text-transform: none; - white-space: normal; - word-break: normal; - word-spacing: normal; - word-wrap: break-word; - -webkit-background-clip: padding-box; - background-clip: padding-box; - max-width: 400px; - min-width: 200px; - background-color: #fff; - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - font-size: 14px; - border: 1px solid #d9d9d9; - border-radius: 3px; - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); -} -.plx-popover::before, -.plx-popover::after { - content: ""; - position: absolute; - display: block; - width: 0; - height: 0; - border: solid transparent; -} -.plx-popover::before { - border-width: 7px; -} -.plx-popover::after { - border-width: 6px; -} -.plx-popover-top-common { - margin-top: -9px; -} -.plx-popover-top-common::before { - border-top-color: #ccc; - border-bottom-width: 0; - bottom: -7px; -} -.plx-popover-top-common::after { - border-top-color: #fff; - border-bottom-width: 0; - bottom: -6px; -} -.plx-popover-top { - margin-top: -9px; -} -.plx-popover-top::before { - border-top-color: #ccc; - border-bottom-width: 0; - bottom: -7px; -} -.plx-popover-top::after { - border-top-color: #fff; - border-bottom-width: 0; - bottom: -6px; -} -.plx-popover-top::before { - left: 50%; - margin-left: -7px; -} -.plx-popover-top::after { - left: 50%; - margin-left: -6px; -} -.plx-popover.plx-popover-top-left { - margin-top: -9px; -} -.plx-popover.plx-popover-top-left::before { - border-top-color: #ccc; - border-bottom-width: 0; - bottom: -7px; -} -.plx-popover.plx-popover-top-left::after { - border-top-color: #fff; - border-bottom-width: 0; - bottom: -6px; -} -.plx-popover.plx-popover-top-left::before { - left: 10px; -} -.plx-popover.plx-popover-top-left::after { - left: 11px; -} -.plx-popover.plx-popover-top-right { - margin-top: -9px; -} -.plx-popover.plx-popover-top-right::before { - border-top-color: #ccc; - border-bottom-width: 0; - bottom: -7px; -} -.plx-popover.plx-popover-top-right::after { - border-top-color: #fff; - border-bottom-width: 0; - bottom: -6px; -} -.plx-popover.plx-popover-top-right::before { - right: 10px; -} -.plx-popover.plx-popover-top-right::after { - right: 11px; -} -.plx-popover-right-common { - margin-left: 9px; -} -.plx-popover-right-common::before { - border-right-color: #ccc; - border-left-width: 0; - left: -7px; -} -.plx-popover-right-common::after { - border-right-color: #fff; - border-left-width: 0; - left: -6px; -} -.plx-popover.plx-popover-right { - margin-left: 9px; -} -.plx-popover.plx-popover-right::before { - border-right-color: #ccc; - border-left-width: 0; - left: -7px; -} -.plx-popover.plx-popover-right::after { - border-right-color: #fff; - border-left-width: 0; - left: -6px; -} -.plx-popover.plx-popover-right::before { - top: 50%; - margin-top: -7px; -} -.plx-popover.plx-popover-right::after { - top: 50%; - margin-top: -6px; -} -.plx-popover.plx-popover-right-top { - margin-left: 9px; -} -.plx-popover.plx-popover-right-top::before { - border-right-color: #ccc; - border-left-width: 0; - left: -7px; -} -.plx-popover.plx-popover-right-top::after { - border-right-color: #fff; - border-left-width: 0; - left: -6px; -} -.plx-popover.plx-popover-right-top::before { - top: 10px; -} -.plx-popover.plx-popover-right-top::after { - top: 11px; -} -.plx-popover.plx-popover-right-bottom { - margin-left: 9px; -} -.plx-popover.plx-popover-right-bottom::before { - border-right-color: #ccc; - border-left-width: 0; - left: -7px; -} -.plx-popover.plx-popover-right-bottom::after { - border-right-color: #fff; - border-left-width: 0; - left: -6px; -} -.plx-popover.plx-popover-right-bottom::before { - bottom: 10px; -} -.plx-popover.plx-popover-right-bottom::after { - bottom: 11px; -} -.plx-popover-bottom-common { - margin-top: 9px; -} -.plx-popover-bottom-common::before { - border-bottom-color: #ccc; - border-top-width: 0; - top: -7px; -} -.plx-popover-bottom-common::after { - border-bottom-color: #fff; - border-top-width: 0; - top: -6px; -} -.plx-popover.plx-popover-bottom { - margin-top: 9px; -} -.plx-popover.plx-popover-bottom::before { - border-bottom-color: #ccc; - border-top-width: 0; - top: -7px; -} -.plx-popover.plx-popover-bottom::after { - border-bottom-color: #fff; - border-top-width: 0; - top: -6px; -} -.plx-popover.plx-popover-bottom::before { - left: 50%; - margin-left: -7px; -} -.plx-popover.plx-popover-bottom::after { - left: 50%; - margin-left: -6px; -} -.plx-popover.plx-popover-bottom-left { - margin-top: 9px; -} -.plx-popover.plx-popover-bottom-left::before { - border-bottom-color: #ccc; - border-top-width: 0; - top: -7px; -} -.plx-popover.plx-popover-bottom-left::after { - border-bottom-color: #fff; - border-top-width: 0; - top: -6px; -} -.plx-popover.plx-popover-bottom-left::before { - left: 10px; -} -.plx-popover.plx-popover-bottom-left::after { - left: 11px; -} -.plx-popover.plx-popover-bottom-right { - margin-top: 9px; -} -.plx-popover.plx-popover-bottom-right::before { - border-bottom-color: #ccc; - border-top-width: 0; - top: -7px; -} -.plx-popover.plx-popover-bottom-right::after { - border-bottom-color: #fff; - border-top-width: 0; - top: -6px; -} -.plx-popover.plx-popover-bottom-right::before { - right: 10px; -} -.plx-popover.plx-popover-bottom-right::after { - right: 11px; -} -.plx-popover-left-common { - margin-left: -9px; -} -.plx-popover-left-common::before { - border-left-color: #ccc; - border-right-width: 0; - right: -7px; -} -.plx-popover-left-common::after { - border-left-color: #fff; - border-right-width: 0; - right: -6px; -} -.plx-popover.plx-popover-left { - margin-left: -9px; -} -.plx-popover.plx-popover-left::before { - border-left-color: #ccc; - border-right-width: 0; - right: -7px; -} -.plx-popover.plx-popover-left::after { - border-left-color: #fff; - border-right-width: 0; - right: -6px; -} -.plx-popover.plx-popover-left::before { - top: 50%; - margin-top: -7px; -} -.plx-popover.plx-popover-left::after { - top: 50%; - margin-top: -6px; -} -.plx-popover.plx-popover-left-top { - margin-left: -9px; -} -.plx-popover.plx-popover-left-top::before { - border-left-color: #ccc; - border-right-width: 0; - right: -7px; -} -.plx-popover.plx-popover-left-top::after { - border-left-color: #fff; - border-right-width: 0; - right: -6px; -} -.plx-popover.plx-popover-left-top::before { - top: 10px; -} -.plx-popover.plx-popover-left-top::after { - top: 11px; -} -.plx-popover.plx-popover-left-bottom { - margin-left: -9px; -} -.plx-popover.plx-popover-left-bottom::before { - border-left-color: #ccc; - border-right-width: 0; - right: -7px; -} -.plx-popover.plx-popover-left-bottom::after { - border-left-color: #fff; - border-right-width: 0; - right: -6px; -} -.plx-popover.plx-popover-left-bottom::before { - bottom: 10px; -} -.plx-popover.plx-popover-left-bottom::after { - bottom: 11px; -} -.plx-popover .plx-popover-title { - padding: 8px 14px; - margin-bottom: 0; - font-size: 16px; - background-color: #fff; - border-bottom: 1px solid #d9d9d9; -} -.plx-popover .plx-popover-title:empty { - display: none; -} -.plx-popover .plx-popover-content { - padding: 9px 14px; - background-color: #fff; -} -.plx-popover .ict-warning { - color: #EA4335; - font-size: 24px; - margin-right: 5px; -} -.popover-template { - padding: 10px 0px; - min-width: 220px; -} -.popover-template .popover-template-content { - padding: 10px 10px; -} -.popover-template .popover-template-footer { - padding: 10px 10px 5px 10px; - text-align: center; -} -.popover-template .popover-template-icon { - display: inline-block; - max-width: 30px; - float: left; -} -.popover-template .popover-template-icon-area { - display: inline-block; - height: 100%; - vertical-align: middle; -} -.popover-template .popover-template-msg { - display: inline-block; - max-width: 300px; - margin-left: 10px; - margin-top: 1px; -} -.plx-progress { - display: inline-block; - margin: 0 10px 1px 0; - border-radius: 20px; - overflow: hidden; - background-color: #eee; -} -.plx-progress .plx-progress-bar { - width: 0; - height: 8px; - transition: width 0.8s ease-in-out; - opacity: 1; -} -.plx-progress .plx-progress-bar-info { - position: relative; - background-color: #3aa5f2; -} -.plx-progress .plx-progress-bar-info::before { - background-color: #108EE9; - content: ''; - position: absolute; - top: 0; - left: 0; - width: 0; - height: 8px; - animation: plx-progress-bar-stripes 0.5s cubic-bezier(0.23, 1, 0.32, 1) infinite; -} -.plx-progress .plx-progress-bar-info.plx-progress-bar-reset { - transition: none; -} -.plx-progress .plx-progress-bar-warning { - background-color: #EA4335; -} -.plx-progress .plx-progress-bar-success, -.plx-progress .plx-progress-bar-info.plx-progress-bar-success { - background-color: #108EE9; -} -.plx-progress-info { - display: inline-block; -} -.plx-progress-info .fp-exclamation-circle { - color: #EA4335; -} -@keyframes plx-progress-bar-stripes { - from { - width: 0; - } - to { - width: 100%; - } -} -:host(.plx-progressbar-sm) { - font-size: 12px; -} -:host(.plx-progressbar-sm) .plx-progress-bar { - height: 2px; -} -:host(.plx-progressbar-sm) .fp-exclamation-circle { - vertical-align: middle; - font-size: 12px; -} -:host(.plx-progressbar-sm) .plx-progress-info span { - vertical-align: middle; -} -.plx-progressbar-sm { - font-size: 12px; -} -.plx-progressbar-sm .plx-progress-bar { - height: 2px; -} -.plx-progressbar-sm .fp-exclamation-circle { - vertical-align: middle; - font-size: 12px; -} -.plx-progressbar-sm .plx-progress-info span { - vertical-align: middle; -} -.plx-progressbar-sm-common { - font-size: 12px; -} -.plx-progressbar-sm-common .plx-progress-bar { - height: 2px; -} -.plx-progressbar-sm-common .fp-exclamation-circle { - vertical-align: middle; - font-size: 12px; -} -.plx-progressbar-sm-common .plx-progress-info span { - vertical-align: middle; -} -.search-input { - position: relative; - background: #fff; - color: #595959; -} -.search-input input { - height: 32px; - padding-left: 10px; - padding-right: 10px; - outline: 0; - border: 1px solid #d9d9d9; - border-radius: 3px; - vertical-align: middle; - width: 100%; - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - font-size: 14px; - color: #595959; -} -.short-text-input .search-input input { - width: 120px; -} -.text-input-with-unit .search-input input { - width: 355px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-unitOption .search-input input { - width: 316px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-prefix .search-input input { - width: 330px; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.text-input-with-prefixOption .search-input input { - width: 316px; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.text-input-with-passwordSwith .search-input input { - width: 360px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-prefix.text-input-with-unit .search-input input { - width: 285px; -} -.text-input-with-prefix.text-input-with-unitOption .search-input input { - width: 246px; -} -.short-text-input.text-input-with-prefix .search-input input { - width: 80px; -} -.short-text-input.text-input-with-unit .search-input input { - width: 80px; -} -.short-text-input.text-input-with-prefix.text-input-with-unit .search-input input { - width: 40px; -} -.search-input input:focus { - border: 1px solid #108EE9; -} -.search-input input:disabled, -.search-input input[disabled] { - cursor: not-allowed; - background-color: #f5f5f5; -} -.search-input-sm { - height: 28px !important; -} -.search-img { - color: #bfbfbf; - position: absolute; - right: 8px; - top: 8px; - list-style: none; - font-size: 16px; -} -.search-img-confirm { - color: #0C66A7; - cursor: pointer; -} -::-webkit-input-placeholder { - color: #999 !important; -} -:-moz-placeholder { - /* Mozilla Firefox 4 to 18 */ - color: #999 !important; -} -::-moz-placeholder { - /* Mozilla Firefox 19+ */ - color: #999 !important; -} -input:-ms-input-placeholder { - color: #999 !important; -} -input::-webkit-input-placeholder { - color: #999 !important; -} -select-dropdown { - box-sizing: border-box; - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - font-size: 14px; - outline: none; -} -select-dropdown > div { - background-color: #fff; - position: absolute; - z-index: 9999; -} -select-dropdown > div.select-sm .filter input { - height: 30px; -} -select-dropdown > div.select-sm .filter .toggle { - top: 13px; -} -select-dropdown > div .filter { - width: 100%; -} -select-dropdown > div .filter input { - border: 1px solid #108EE9; - border-radius: 3px; - padding: 0 10px; - width: 100%; - height: 34px; -} -select-dropdown > div .filter .toggle { - display: block; - position: absolute; - top: 15px; - right: 10px; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-top: 4px solid #9b9b9b; -} -select-dropdown > div .options { - border: 1px solid #d9d9d9; - border-top: none; - border-radius: 3px; - max-height: 160px; - overflow-y: auto; -} -select-dropdown > div .options ul { - list-style: none; - margin: 0; - padding: 0; -} -select-dropdown > div .options ul li { - color: #595959; - height: 30px; - line-height: 18px; - padding: 6px 20px 6px 8px; - position: relative; - cursor: pointer; - user-select: none; -} -select-dropdown > div .options ul li.single-selected { - background-color: #f5f5f5; -} -select-dropdown > div .options ul li.highlighted { - background-color: #E7F4FD; - color: #595959; -} -select-dropdown > div .options ul li.disabled { - background-color: #fff; - color: #bfbfbf; - cursor: default; - pointer-events: none; -} -select-dropdown > div .options ul li.plx-select-message { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} -select-dropdown > div .options ul li .option-label { - display: inline-block; - width: 100%; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} -select-dropdown > div .options ul li .option-tick { - display: inline-block; - position: absolute; - right: 5px; - top: 5px; -} -select-dropdown > div .options ul li .tick { - fill: none; - stroke: #00A854; - stroke-width: 2; - stroke-linecap: round; - stroke-linejoin: round; - stroke-miterlimit: 10; -} -plx-select { - display: inline-block; - margin: 0; - position: relative; - vertical-align: middle; - width: 100%; -} -plx-select.ng-untouched:not(form).ng-untouched:not(fieldset) { - border: 0; -} -plx-select * { - box-sizing: border-box; - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - font-size: 14px; - outline: none; -} -plx-select > div { - border: 1px solid #d9d9d9; - border-radius: 3px; - cursor: pointer; - user-select: none; - width: 100%; -} -plx-select > div.disabled { - background-color: #f5f5f5; - color: #bfbfbf; - cursor: not-allowed; -} -plx-select > div.focus-border { - border: 1px solid #108EE9 !important; -} -plx-select > div.select-sm .value, -plx-select > div.select-sm .placeholder { - height: 28px !important; - line-height: 28px !important; -} -plx-select > div.select-sm .toggle { - top: 13px; -} -plx-select > div.select-sm div.option { - height: 20px !important; - line-height: 14px !important; -} -plx-select > div.select-sm input { - height: 28px; - line-height: 28px; -} -plx-select > div input { - background-color: transparent; - border: none; - border-radius: 3px; - cursor: pointer; - height: 32px; - line-height: 32px; -} -plx-select > div .toggle { - display: block; - position: absolute; - top: 15px; - right: 10px; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-top: 4px solid #9b9b9b; -} -plx-select > div .single { - display: flex; - width: 100%; -} -plx-select > div .single .value, -plx-select > div .single .placeholder { - color: #595959; - flex: 1; - height: 32px; - line-height: 32px; - overflow: hidden; - padding: 0 10px; - white-space: nowrap; -} -plx-select > div .single .value span, -plx-select > div .single .placeholder span { - display: inline-block; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - max-width: 100%; -} -plx-select > div .single .placeholder { - color: #999; -} -plx-select > div .single input { - flex: 1; - padding: 1px 10px 0 10px; -} -plx-select > div .multiple { - display: flex; - flex-flow: row wrap; - padding: 0 10px; - width: 100%; -} -plx-select > div .multiple .placeholder { - flex: 1; - color: #999; - height: 32px; - line-height: 32px; - overflow: hidden; - white-space: nowrap; -} -plx-select > div .multiple input { - padding: 0; - margin-right: 10px; -} -plx-select > div .multiple div.option { - background-color: #f8f8f8; - border: 1px solid #e6e6e6; - border-radius: 2px; - color: #595959; - cursor: default; - display: inline-block; - flex-shrink: 0; - height: 24px; - line-height: 18px; - margin: 4px 10px 4px 0; - padding: 2px 30px 2px 10px; - max-width: 100%; - position: relative; -} -plx-select > div .multiple div.option span { - display: inline-block; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - max-width: 100%; -} -plx-select > div .multiple div.option .deselect-option { - color: #c0c0c0; - cursor: pointer; - font-size: 8px; - position: absolute; - top: 2px; - right: 8px; -} -plx-select > div .multiple div.option .deselect-option:hover { - color: #555; -} -.plx-ui-steps { - height: 40px; -} -.plx-ui-horizon-ul-horizon { - display: flex; - box-orient: horizontal; - padding: 0; - font-size: 14px; - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; -} -.plx-ui-steps-li { - list-style: none; - position: relative; - height: 24px; - line-height: 24px; - float: left; - margin-right: 0; -} -.plx-ui-steps-number-active { - color: #fff; - background-color: #108EE9; - width: 24px; - height: 24px; - border-radius: 50%; - display: inline-block; - margin-right: 10px; - float: left; - text-align: center; -} -.plx-ui-steps-number-passive { - background-color: #D7D7D7; - color: #fff; - width: 24px; - height: 24px; - border-radius: 50%; - display: inline-block; - margin-right: 10px; - float: left; - text-align: center; -} -.plx-rapire-steps { - position: relative; -} -.plx-ui-steps-number-visited { - width: 24px; - height: 24px; - border-radius: 50%; - display: inline-block; - margin-right: 10px; - float: left; - position: relative; - color: #108EE9; - background-color: #fff; - border: 2px solid #108EE9; -} -.plx-ui-menuitem-div-passive { - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate(-50%, -50%); - -moz-transform: translate(-50%, -50%); - -ms-transform: translate(-50%, -50%); - -o-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); -} -.plx-ui-menuitem-div-active { - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate(-50%, -50%); - -moz-transform: translate(-50%, -50%); - -ms-transform: translate(-50%, -50%); - -o-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); -} -.plx-ui-menuitem-div-passive { - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate(-50%, -50%); - -moz-transform: translate(-50%, -50%); - -ms-transform: translate(-50%, -50%); - -o-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); -} -.plx-ui-menuitem-div-visited { - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate(-50%, -50%); - -moz-transform: translate(-50%, -50%); - -ms-transform: translate(-50%, -50%); - -o-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); -} -.plx-ui-underline { - width: 386px; - height: 2px; - margin-top: 49px; - position: absolute; - background-color: #108EE9; -} -.passive .plx-ui-underline { - background-color: #D7D7D7; -} -.plx-ui-steps-title-active { - white-space: nowrap; -} -.plx-ui-steps-title-passive { - white-space: nowrap; -} -.plx-ui-steps-title-visited { - white-space: nowrap; -} -.plx-ui-steps-number-visited-tick { - position: absolute; - background-color: transparent; - height: 12px; - width: 7px; - transform: rotate(45deg); - transform-origin: 50% 120%; - transition: all 0.2s; - border-right: 2px solid #108EE9; - border-bottom: 2px solid #108EE9; -} -/**********************************************************************************************************/ -.plx-ui-steps-display-vertical { - display: inline-block; -} -.plx-ui-steps-vertical { - height: auto; - width: auto; - min-width: 180px; - display: inline-block; - font-size: 14px; - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; -} -.plx-ui-horizon-ul-vertical { - display: inline-block; - box-orient: vertical; - width: auto; - padding: 0; -} -.plx-ui-underline-active-vertical { - margin-left: 3px; - width: 10px; - display: table-caption; - min-height: 30px; - border-right: 2px solid #D7D7D7; -} -.plx-ui-underline-visited-vertical { - margin-left: 3px; - width: 10px; - display: table-caption; - height: 30px; -} -.plx-ui-underline-passive-vertical { - height: 30px; - margin-left: 3px; - width: 10px; - display: table-caption; - border-right: 2px solid #D7D7D7; -} -.plx-ui-steps-li-vertical { - list-style: none; - width: auto; -} -.plx-ui-steps-title-active-vertical { - margin-left: 10px; - position: absolute; - width: auto; - height: 24px; - min-width: 64px; - margin-top: 1px; - white-space: nowrap; -} -.plx-ui-steps-title-visited-vertical { - margin-left: 10px; - position: absolute; - width: auto; - height: 24px; - min-width: 64px; - margin-top: 3px; - white-space: nowrap; -} -.plx-ui-steps-title-passive-vertical { - margin-left: 10px; - position: absolute; - width: auto; - height: 24px; - min-width: 64px; - margin-top: 1px; - white-space: nowrap; -} -.plx-ui-steps-number-visited-tick-vertical { - position: absolute; - background-color: transparent; - height: 12px; - width: 7px; - transform: rotate(45deg); - transform-origin: 50% 120%; - transition: all 0.2s; -} -.plx-ui-steps-number-active-vertical { - width: 24px; - height: 24px; - border-radius: 50%; - display: inline-block; - margin-right: 0; - float: left; - text-align: left; - position: relative; - line-height: 24px; -} -.plx-ui-steps-number-passive-vertical { - width: 24px; - height: 24px; - border-radius: 50%; - display: inline-block; - margin-right: 0; - float: left; - text-align: left; - position: relative; - padding-top: 2px; - line-height: 24px; -} -.plx-ui-steps-number-visited-vertical { - width: 24px; - height: 24px; - border-radius: 50%; - display: inline-block; - margin-right: 0; - float: left; - position: relative; - line-height: 24px; -} -.plx-tabset { - display: flex; - padding-left: 0; - margin-bottom: 0; - list-style: none; -} -.plx-tabset.plx-nav-tabs { - border-bottom: 1px solid #d9d9d9; - font-size: 16px; -} -.plx-tabset.plx-nav-tabs .plx-nav-item { - margin-bottom: -1px; -} -.plx-tabset.plx-nav-tabs .plx-nav-link { - display: block; - border-radius: 0; - border: 1px solid transparent; - border-top: 2px solid transparent; - color: #999; - min-width: 100px; - text-align: center; - padding: 6px 16px; -} -.plx-tabset.plx-nav-tabs .plx-nav-link:hover, -.plx-tabset.plx-nav-tabs .plx-nav-link:focus { - text-decoration: none; - background-color: #E7F4FD; - border-bottom: 0; - border-left: 0; - border-right: 0; -} -.plx-tabset.plx-nav-tabs .plx-nav-link.active { - color: #595959; - border-top: 2px solid #108EE9; - border-left: 1px solid #d9d9d9; - border-right: 1px solid #d9d9d9; - background-color: #fff; -} -.plx-tabset.plx-nav-tabs .plx-nav-link.active:hover, -.plx-tabset.plx-nav-tabs .plx-nav-link.active:focus { - border-left: 1px solid #d9d9d9; - border-right: 1px solid #d9d9d9; - border-bottom: 1px solid transparent; -} -.plx-tabset.plx-nav-tabs.bottom .plx-nav-link { - border: 0; - border-bottom: 2px solid transparent; -} -.plx-tabset.plx-nav-tabs.bottom .plx-nav-link:hover { - border-bottom: 1px solid transparent; -} -.plx-tabset.plx-nav-tabs.bottom .plx-nav-link.active { - border: 0; - border-bottom: 2px solid #108EE9; -} -.plx-tabset.plx-nav-pills .plx-nav-link { - border: 1px solid #d9d9d9; - border-radius: 0.25em; - color: #999; - display: block; - padding: 6px 10px; - min-width: 100px; - text-align: center; -} -.plx-tabset.plx-nav-pills .plx-nav-link:hover, -.plx-tabset.plx-nav-pills .plx-nav-link:focus { - text-decoration: none; - color: #108ee9; - border-color: #108ee9; - background-color: #fff; -} -.plx-tabset.plx-nav-pills .plx-nav-link:active { - color: #fff; - border-color: #108ee9; - background-color: #108ee9; -} -.plx-tabset.plx-nav-pills .plx-nav-link.active { - color: #fff; - cursor: default; - background-color: #108EE9; - border-color: #108EE9; -} -.plx-tabset.plx-nav-pills .plx-nav-item:hover, -.plx-tabset.plx-nav-pills .plx-nav-item:focus, -.plx-tabset.plx-nav-pills .plx-nav-item:active { - z-index: 2; -} -.plx-tabset.plx-nav-pills .plx-nav-item:first-child:not(:last-child) .plx-nav-link { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.plx-tabset.plx-nav-pills .plx-nav-item:not(:first-child):not(:last-child) .plx-nav-link { - border-radius: 0; -} -.plx-tabset.plx-nav-pills .plx-nav-item:last-child:not(:first-child) .plx-nav-link { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.plx-tabset.plx-nav-pills .plx-nav-item + .plx-nav-item .plx-nav-link { - margin-left: -1px; -} -.plx-tab-content .plx-tab-pane { - display: none; -} -.plx-tab-content .plx-tab-pane.active { - display: block; -} -.plx-table-wrapper { - position: relative; - width: 100%; -} -.plx-table-blur { - opacity: .7; - filter: blur(0.5px); -} -.plx-table-loading { - position: absolute; - width: 100%; - height: 100%; - opacity: 1; - z-index: 9999; -} -.plx-table-loading-content { - position: absolute; - width: 36px; - height: 36px; - border: 5px solid #108EE9; - border-right-color: transparent; - top: calc(50% - 36px); - left: calc(50% - 18px); - animation: plx-table-loading-animation 1s infinite ease-in-out; - border-radius: 50%; -} -.plx-table-loading-placeholder { - position: absolute; - top: calc(50% + 10px); - left: calc(50% - 18px); -} -/* 加载中动画 */ -@-moz-keyframes plx-table-loading-animation { - 0% { - -moz-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -moz-transform: rotate(360deg); - transform: rotate(360deg); - } -} -@-webkit-keyframes plx-table-loading-animation { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -@keyframes plx-table-loading-animation { - 0% { - -moz-transform: rotate(0deg); - -ms-transform: rotate(0deg); - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -moz-transform: rotate(360deg); - -ms-transform: rotate(360deg); - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -/*表格样式*/ -.plx-table { - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - font-size: 14px; - line-height: 1.5; - color: #595959; - border-collapse: collapse; - width: 100%; - display: table; - table-layout: fixed; - max-width: 100%; - min-width: 100%; - word-break: break-all; -} -.plx-table .plx-table-subHead th { - background-color: #fff; - line-height: 1; - border-bottom: 1px solid #d9d9d9; -} -.plx-table tr.plx-table-hlt { - background-color: #e2f2fc; -} -.plx-table tr:hover { - background-color: #E7F4FD; -} -.plx-table.plx-table-normal th { - box-sizing: border-box; - height: 40px; - padding: 0px 10px ; - color: #595959; - text-decoration: none; - font-weight: normal; - font-size: 14px; - border: 1px solid #d9d9d9; - background-color: #f5f5f5; -} -.plx-table.plx-table-normal td { - border: 1px solid #d9d9d9; - vertical-align: middle; - height: 40px; - padding: 2px 10px 0px 10px; -} -.plx-table.plx-table-large th { - box-sizing: border-box; - height: 50px; - padding: 0px 10px ; - color: #595959; - text-decoration: none; - font-weight: normal; - font-size: 14px; - border: none; - background-color: #f5f5f5; -} -.plx-table.plx-table-large td { - border-bottom: 1px solid #d9d9d9; - vertical-align: middle; - height: 50px; - padding: 2px 10px 0px 10px; -} -.plx-table.plx-table-card th { - box-sizing: border-box; - height: 64px; - padding: 0px 10px ; - color: #595959; - text-decoration: none; - font-weight: normal; - font-size: 14px; - border: none; - background-color: #f5f5f5; -} -.plx-table.plx-table-card td { - border-bottom: 1px solid #d9d9d9; - vertical-align: middle; - height: 64px; - padding: 2px 10px 0px 10px; -} -.plx-table.plx-table-sm th { - box-sizing: border-box; - height: 30px; - padding: 0px 10px ; - color: #595959; - text-decoration: none; - font-weight: normal; - font-size: 14px; - border: 1px solid #d9d9d9; - background-color: #f5f5f5; -} -.plx-table.plx-table-sm td { - border: 1px solid #d9d9d9; - vertical-align: middle; - height: 30px; - padding: 2px 10px 0px 10px; -} -.plx-table tbody tr:first-child td { - border-top: none; -} -.plx-table-fix { - table-layout: fixed; -} -/*防止分页区域高度塌陷*/ -.plx-table-pagnation-content { - overflow: auto; -} -/*搜索区域*/ -.plx-table-opretions-wrapper:after { - content: ''; - display: block; - clear: both; - height: 0; - visibility: hidden; -} -.plx-table-align-center { - text-align: center; -} -.plx-table-align-left { - text-align: left; -} -.plx-table-align-right { - text-align: right; -} -.plx-table-head-checkbox label { - margin-bottom: 0px; - vertical-align: top; -} -.plx-table td.plx-table-no-data { - height: 60px; - text-align: center; - font-size: 14px; - color: #595959; -} -.font { - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - font-size: 14px; -} -.text-input { - display: inline-block; -} -.text-input .caret-down { - display: block; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-top: 4px solid #9b9b9b; - margin-top: 4px; - margin-bottom: 10px; -} -.text-input .caret-down.caret-down-hover:hover, -.text-input .caret-down.caret-down-hover:active { - border-top: 4px solid #108EE9; -} -.text-input .caret-up { - display: block; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-bottom: 4px solid #9b9b9b; - margin-top: 10px; -} -.text-input .caret-up.caret-up-hover:hover, -.text-input .caret-up.caret-up-hover:active { - border-bottom: 4px solid #108EE9; -} -.text-input .toggle { - float: right; - margin-right: 10px; - margin-top: 14px; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-top: 4px solid #9b9b9b; -} -.text-input .text-input-dataList { - margin-top: 2px; - position: absolute; - z-index: 1050; - border: 1px solid #d9d9d9; - background: #fff; - cursor: pointer; - border-radius: 3px; -} -.text-input .text-input-dataList li { - list-style: none; - height: 32px; - width: 400px; - padding-left: 10px; -} -.text-input .text-input-dataList li:hover { - background-color: #E7F4FD; -} -.input-span { - display: inline-block; - overflow: visible; - padding: 0; - position: relative; -} -.text-input-with-hint { - margin-bottom: -8px; -} -:host(.ng-touched.ng-invalid.input-blur) .text-input-with-hint { - height: auto; - margin-bottom: 0; -} -.plx-text-input-unit-group, -.plx-text-input-prefix-group { - position: absolute; - margin-top: 5px; - width: 84px; - z-index: 1050; - border-radius: 3px; - background: #fff; - border: 1px solid #d9d9d9; - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - cursor: pointer; -} -.plx-text-input-unit-group li, -.plx-text-input-prefix-group li { - padding-left: 10px; - height: 32px; - list-style: none; - line-height: 32px; - font-size: 14px; -} -.plx-text-input-unit-group li:hover, -.plx-text-input-prefix-group li:hover { - background-color: #E7F4FD; -} -.plx-text-input-unit-group li.group-selected, -.plx-text-input-prefix-group li.group-selected, -.plx-text-input-unit-group li.group-selected:hover, -.plx-text-input-prefix-group li.group-selected:hover { - background-color: #f5f5f5; - color: #595959; -} -.text-input-optional { - display: inline-block; - margin-right: 6px; - padding-left: 5px; -} -.input-right-border .plx-input { - border-right: 1px solid #108EE9; -} -.input-left-border .plx-input { - border-left: 1px solid #108EE9; -} -.text-input-hint { - top: 42px; - left: 10px; - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - font-size: 14px; - color: #bfbfbf; -} -:host(.ng-touched.ng-invalid.input-blur) .text-input-hint { - display: none; -} -.text-input-prefix { - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - font-weight: 400; - font-size: 14px; - line-height: 14px; - color: #595959; - display: inline-block; - width: 70px; - height: 32px; - text-align: center; - line-height: 32px; - border-top-left-radius: 3px; - border-bottom-left-radius: 3px; - color: #bfbfbf; - border: 1px solid #d9d9d9; - border-right: 0; - vertical-align: middle; -} -.short-text-input .text-input-prefix { - width: 40px; -} -.input-span-focus .text-input-prefix { - border-color: #108EE9; -} -.input-invalid.ng-dirty.ng-invalid.ng-touched.input-blur .text-input-prefix, -.input-invalid.ng-dirty.ng-invalid.ng-touched.input-blur .input-span-focus:focus .text-input-prefix { - border-color: #EA4335; -} -.input-unit, -.text-input-unit-option { - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - font-weight: 400; - font-size: 14px; - line-height: 14px; - color: #595959; - display: inline-block; - height: 32px; - text-align: center; - line-height: 32px; - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; -} -.text-input-unit { - border: 1px solid #d9d9d9; - border-left: 0; - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - font-weight: 400; - font-size: 14px; - line-height: 14px; - color: #595959; - display: inline-block; - height: 32px; - line-height: 32px; - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; - color: #bfbfbf; - width: 45px; - text-align: center; - vertical-align: middle; -} -.short-text-input .text-input-unit { - width: 40px; -} -.input-span-focus .text-input-unit { - border-color: #108EE9; -} -.text-input-prefix-option { - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - font-weight: 400; - font-size: 14px; - line-height: 14px; - color: #595959; - display: inline-block; - height: 32px; - text-align: center; - line-height: 32px; - border-top-left-radius: 3px; - border-bottom-left-radius: 3px; - width: 84px; - text-align: left; - padding-left: 10px; - cursor: pointer; - border: 1px solid #d9d9d9; - border-right: 0; - vertical-align: middle; -} -.text-input-prefix-option.prefix-focus { - border-color: #108EE9; -} -.text-input-unit-option { - width: 84px; - text-align: left; - padding-left: 10px; - cursor: pointer; - border: 1px solid #d9d9d9; - border-left: 0; - vertical-align: middle; -} -.input-span-focus .text-input-unit-option { - border-color: #108EE9; -} -.text-input-with-unitOption div.unit-focus { - border-color: #108EE9; -} -.short-text-input .plx-input { - width: 120px; -} -.text-input-with-unit .plx-input { - width: 355px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-unitOption .plx-input { - width: 316px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-prefix .plx-input { - width: 330px; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.text-input-with-prefixOption .plx-input { - width: 316px; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.text-input-with-passwordSwith .plx-input { - width: 360px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-prefix.text-input-with-unit .plx-input { - width: 285px; -} -.text-input-with-prefix.text-input-with-unitOption .plx-input { - width: 246px; -} -.short-text-input.text-input-with-prefix .plx-input { - width: 80px; -} -.short-text-input.text-input-with-unit .plx-input { - width: 80px; -} -.short-text-input.text-input-with-prefix.text-input-with-unit .plx-input { - width: 40px; -} -.input-spinner-up { - cursor: pointer; - display: block; - font-size: 12px; - position: absolute; - margin: 0; - right: 0; - overflow: hidden; - border: none; - padding: 0; - text-align: center; - vertical-align: middle; - width: 18px; - top: 0; -} -.input-spinner-down { - cursor: pointer; - display: block; - font-size: 12px; - position: absolute; - margin: 0; - right: 0; - overflow: hidden; - border: none; - padding: 0; - text-align: center; - vertical-align: middle; - width: 18px; - bottom: 0; -} -:host(.plx-input-sm) .plx-input { - height: 28px; - line-height: 28px; -} -:host(.plx-input-sm) .text-input-prefix, -:host(.plx-input-sm) .text-input-unit, -:host(.plx-input-sm) .text-input-unit-option, -:host(.plx-input-sm) .text-input-prefix-option { - height: 28px; - line-height: 28px; -} -:host(.plx-input-sm) div.text-input-dataList { - height: 28px; -} -:host(.plx-input-sm) .toggle { - margin-top: 11px; -} -:host(.plx-input-sm) .caret-down { - margin-bottom: 8px; -} -:host(.plx-input-sm) .caret-up { - margin-top: 8px; -} -:host(.plx-input-sm) .plx-input-passwordSwitch { - line-height: 26px; -} -.plx-input-sm .plx-input { - height: 28px; - line-height: 28px; -} -.plx-input-sm .text-input-prefix, -.plx-input-sm .text-input-unit, -.plx-input-sm .text-input-unit-option, -.plx-input-sm .text-input-prefix-option { - height: 28px; - line-height: 28px; -} -.plx-input-sm div.text-input-dataList { - height: 28px; -} -.plx-input-sm .toggle { - margin-top: 11px; -} -.plx-input-sm .caret-down { - margin-bottom: 8px; -} -.plx-input-sm .caret-up { - margin-top: 8px; -} -.plx-input-sm .plx-input-passwordSwitch { - line-height: 26px; -} -.plx-input-sm-common .plx-input { - height: 28px; - line-height: 28px; -} -.plx-input-sm-common .text-input-prefix, -.plx-input-sm-common .text-input-unit, -.plx-input-sm-common .text-input-unit-option, -.plx-input-sm-common .text-input-prefix-option { - height: 28px; - line-height: 28px; -} -.plx-input-sm-common div.text-input-dataList { - height: 28px; -} -.plx-input-sm-common .toggle { - margin-top: 11px; -} -.plx-input-sm-common .caret-down { - margin-bottom: 8px; -} -.plx-input-sm-common .caret-up { - margin-top: 8px; -} -.plx-input-sm-common .plx-input-passwordSwitch { - line-height: 26px; -} -.plx-input-passwordSwitch { - display: inline-block; - line-height: 30px; - width: 40px; - text-align: center; - vertical-align: middle; - background-color: #fff; - border: 1px solid #d9d9d9; - border-left: 0; - border-bottom-right-radius: 3px; - border-top-right-radius: 3px; - cursor: pointer; -} -.plx-input-passwordSwitch:focus, -.plx-input-passwordSwitch:hover { - border-color: #108ee9; - background-color: #fff; -} -.plx-input-passwordSwitch:focus.ict-eye-closed, -.plx-input-passwordSwitch:hover.ict-eye-closed, -.plx-input-passwordSwitch:focus.ict-eye, -.plx-input-passwordSwitch:hover.ict-eye { - color: #108ee9; -} -.plx-input-passwordSwitch:active { - background-color: #108ee9; - border-color: #108ee9; -} -.plx-input-passwordSwitch:active.ict-eye-closed, -.plx-input-passwordSwitch:active.ict-eye { - color: #fff; -} -.plx-input-passwordSwitch.ict-eye-closed, -.plx-input-passwordSwitch.ict-eye { - color: #8e8e8e; - font-size: 16px; -} -.input-right-border-pwdswith-hover .plx-input { - border-right-color: #108ee9; -} -.input-right-border-pwdswith-click .plx-input { - border-right-color: #108ee9; -} -.plx-text-input-ip-dot { - display: inline-block; - vertical-align: bottom; - color: #999; -} -.plx-text-input-error { - font-size: 12px; - color: #EA4335; - margin-top: 5px; -} -:host(.plx-text-input-ip-invalid) .plx-input { - border-color: #EA4335; -} -:host(.plx-text-input-ip-invalid) .input-span-focus .plx-input { - border-color: #108EE9; -} -.plx-text-input-ip-invalid .plx-input { - border-color: #EA4335; -} -.plx-text-input-ip-invalid .input-span-focus .plx-input { - border-color: #108EE9; -} -.plx-text-input-ip-invalid-common .plx-input { - border-color: #EA4335; -} -.plx-text-input-ip-invalid-common .input-span-focus .plx-input { - border-color: #108EE9; -} -.plx-textarea-container { - display: inline-block; -} -.plx-textarea-class { - width: 100%; - font-size: 14px; - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - line-height: 1.5; - resize: none; - padding: 7px; - border: 1px solid #d9d9d9; - border-radius: 3px; - box-shadow: none; - outline: none; - overflow-y: auto; -} -.plx-textarea-class:focus { - border-color: #108EE9; -} -.plx-textarea-class::-webkit-input-placeholder { - text-shadow: none; - -webkit-text-fill-color: initial; -} -.plx-align-tip { - vertical-align: top; - font-size: 14px; - font-weight: normal; - color: #bfbfbf; -} -.plx-align-number { - font-size: 14px; - font-weight: normal; - line-height: 1; - text-align: right; - width: 100%; - color: #bfbfbf; - margin-top: -3px; -} -.plx-toggle-switch { - display: inline-block; - height: 22px; - width: 44px; - position: relative; - vertical-align: middle; - text-align: left; - font-size: 0; -} -.plx-toggle-switch input[type='checkbox'] { - display: none; - -webkit-appearance: none; - -moz-appearance: none; - -ms-progress-appearance: none; -} -.plx-toggle-switch input[type='checkbox'] + label { - display: inline-block; - height: 22px; - position: relative; - cursor: pointer; -} -.plx-toggle-switch input[type='checkbox'] + label::before { - position: absolute; - display: inline-block; - content: ''; - height: 22px; - width: 44px; - border-radius: 11px; - transition: 0.15s ease-in; - transition-property: background-color; - background-color: #DDDDDD; -} -.plx-toggle-switch input[type='checkbox'] + label::after { - position: absolute; - display: inline-block; - content: ''; - height: 18px; - width: 18px; - border-radius: 50%; - top: 2px; - left: 2px; - transition: left 0.15s ease-in; - background-color: #fff; -} -.plx-toggle-switch input[type='checkbox']:checked + label::before { - background-color: #108EE9; - transition: background-color 0.15s ease-in; -} -.plx-toggle-switch input[type='checkbox']:checked + label::after { - left: 24px; - transition: left 0.15s ease-in; -} -.plx-toggle-switch input[type='checkbox']:disabled + label, -.plx-toggle-switch input[type='checkbox']:checked:disabled + label { - cursor: not-allowed; -} -.plx-toggle-switch input[type='checkbox']:disabled + label::before, -.plx-toggle-switch input[type='checkbox']:checked:disabled + label::before { - opacity: 0.5; -} -:host(.plx-toggle-sm) .plx-toggle-switch { - height: 18px; - width: 34px; -} -:host(.plx-toggle-sm) .plx-toggle-switch input[type='checkbox'] + label { - height: 18px; -} -:host(.plx-toggle-sm) .plx-toggle-switch input[type='checkbox'] + label::before { - height: 18px; - width: 34px; - border-radius: 9px; -} -:host(.plx-toggle-sm) .plx-toggle-switch input[type='checkbox'] + label::after { - height: 14px; - width: 14px; -} -:host(.plx-toggle-sm) .plx-toggle-switch input[type='checkbox']:checked + label::after { - left: 18px; - transition: left 0.15s ease-in; -} -.plx-toggle-sm .plx-toggle-switch { - height: 18px; - width: 34px; -} -.plx-toggle-sm .plx-toggle-switch input[type='checkbox'] + label { - height: 18px; -} -.plx-toggle-sm .plx-toggle-switch input[type='checkbox'] + label::before { - height: 18px; - width: 34px; - border-radius: 9px; -} -.plx-toggle-sm .plx-toggle-switch input[type='checkbox'] + label::after { - height: 14px; - width: 14px; -} -.plx-toggle-sm .plx-toggle-switch input[type='checkbox']:checked + label::after { - left: 18px; - transition: left 0.15s ease-in; -} -.plx-toggle-sm-switch-common { - height: 18px; - width: 34px; -} -.plx-toggle-sm-switch-common input[type='checkbox'] + label { - height: 18px; -} -.plx-toggle-sm-switch-common input[type='checkbox'] + label::before { - height: 18px; - width: 34px; - border-radius: 9px; -} -.plx-toggle-sm-switch-common input[type='checkbox'] + label::after { - height: 14px; - width: 14px; -} -.plx-toggle-sm-switch-common input[type='checkbox']:checked + label::after { - left: 18px; - transition: left 0.15s ease-in; -} -.toolbar i.seperate-vertical { - margin-right: 10px; - margin-left: 0; - border-right: 1px solid #e9e9e9; -} -.toolbar span { - color: #595959; - cursor: pointer; - margin-right: 10px; - font-size: 16px; - display: inline-block; - width: 28px; - height: 28px; - border: 1px solid transparent; - padding: 5px; -} -.toolbar span:hover { - background-color: #E7F4FD; - border-radius: 2px; -} -.toolbar span:last-child { - margin-right: 0px; -} -.plx-tooltip { - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - font-size: 14px; - opacity: 1; - position: absolute; - z-index: 10001; - display: block; - font-style: normal; - font-weight: normal; - letter-spacing: normal; - line-break: auto; - line-height: 1.5; - text-align: left; - text-decoration: none; - text-shadow: none; - text-transform: none; - white-space: normal; - word-break: normal; - word-spacing: normal; - word-wrap: break-word; -} -.plx-tooltip::before, -.plx-tooltip::after { - content: ""; - position: absolute; - display: block; - width: 0; - height: 0; - border: solid transparent; -} -.plx-tooltip::before { - border-width: 5px; -} -.plx-tooltip::after { - border-width: 4px; -} -.plx-tooltip-inner { - min-width: 60px; - max-width: 200px; - padding: 3px 8px; - color: #fff; - text-align: center; - background-color: #000; -} -.plx-tooltip.show { - font-size: 14px; - opacity: 1; -} -.plx-tooltip.show .plx-tooltip-inner { - background-color: #595959; - border-radius: 3px; - padding: 0px 12px; - height: 30px; - line-height: 30px; -} -.plx-tooltip-top-common { - margin-top: -7px; -} -.plx-tooltip-top-common::before { - border-top-color: #595959; - border-bottom-width: 0; - bottom: -5px; -} -.plx-tooltip-top-common::after { - border-top-color: #595959; - border-bottom-width: 0; - bottom: -4px; -} -.plx-tooltip-top { - margin-top: -7px; -} -.plx-tooltip-top::before { - border-top-color: #595959; - border-bottom-width: 0; - bottom: -5px; -} -.plx-tooltip-top::after { - border-top-color: #595959; - border-bottom-width: 0; - bottom: -4px; -} -.plx-tooltip-top::before { - left: 50%; - margin-left: -5px; -} -.plx-tooltip-top::after { - left: 50%; - margin-left: -4px; -} -.plx-tooltip.plx-tooltip-top-left { - margin-top: -7px; -} -.plx-tooltip.plx-tooltip-top-left::before { - border-top-color: #595959; - border-bottom-width: 0; - bottom: -5px; -} -.plx-tooltip.plx-tooltip-top-left::after { - border-top-color: #595959; - border-bottom-width: 0; - bottom: -4px; -} -.plx-tooltip.plx-tooltip-top-left::before { - left: 5px; -} -.plx-tooltip.plx-tooltip-top-left::after { - left: 6px; -} -.plx-tooltip.plx-tooltip-top-right { - margin-top: -7px; -} -.plx-tooltip.plx-tooltip-top-right::before { - border-top-color: #595959; - border-bottom-width: 0; - bottom: -5px; -} -.plx-tooltip.plx-tooltip-top-right::after { - border-top-color: #595959; - border-bottom-width: 0; - bottom: -4px; -} -.plx-tooltip.plx-tooltip-top-right::before { - right: 5px; -} -.plx-tooltip.plx-tooltip-top-right::after { - right: 6px; -} -.plx-tooltip-right-common { - margin-left: 7px; -} -.plx-tooltip-right-common::before { - border-right-color: #595959; - border-left-width: 0; - left: -5px; -} -.plx-tooltip-right-common::after { - border-right-color: #595959; - border-left-width: 0; - left: -4px; -} -.plx-tooltip.plx-tooltip-right { - margin-left: 7px; -} -.plx-tooltip.plx-tooltip-right::before { - border-right-color: #595959; - border-left-width: 0; - left: -5px; -} -.plx-tooltip.plx-tooltip-right::after { - border-right-color: #595959; - border-left-width: 0; - left: -4px; -} -.plx-tooltip.plx-tooltip-right::before { - top: 50%; - margin-top: -5px; -} -.plx-tooltip.plx-tooltip-right::after { - top: 50%; - margin-top: -4px; -} -.plx-tooltip.plx-tooltip-right-top { - margin-left: 7px; -} -.plx-tooltip.plx-tooltip-right-top::before { - border-right-color: #595959; - border-left-width: 0; - left: -5px; -} -.plx-tooltip.plx-tooltip-right-top::after { - border-right-color: #595959; - border-left-width: 0; - left: -4px; -} -.plx-tooltip.plx-tooltip-right-top::before { - top: 5px; -} -.plx-tooltip.plx-tooltip-right-top::after { - top: 6px; -} -.plx-tooltip.plx-tooltip-right-bottom { - margin-left: 7px; -} -.plx-tooltip.plx-tooltip-right-bottom::before { - border-right-color: #595959; - border-left-width: 0; - left: -5px; -} -.plx-tooltip.plx-tooltip-right-bottom::after { - border-right-color: #595959; - border-left-width: 0; - left: -4px; -} -.plx-tooltip.plx-tooltip-right-bottom::before { - bottom: 5px; -} -.plx-tooltip.plx-tooltip-right-bottom::after { - bottom: 6px; -} -.plx-tooltip-bottom-common { - margin-top: 7px; -} -.plx-tooltip-bottom-common::before { - border-bottom-color: #595959; - border-top-width: 0; - top: -5px; -} -.plx-tooltip-bottom-common::after { - border-bottom-color: #595959; - border-top-width: 0; - top: -4px; -} -.plx-tooltip.plx-tooltip-bottom { - margin-top: 7px; -} -.plx-tooltip.plx-tooltip-bottom::before { - border-bottom-color: #595959; - border-top-width: 0; - top: -5px; -} -.plx-tooltip.plx-tooltip-bottom::after { - border-bottom-color: #595959; - border-top-width: 0; - top: -4px; -} -.plx-tooltip.plx-tooltip-bottom::before { - left: 50%; - margin-left: -5px; -} -.plx-tooltip.plx-tooltip-bottom::after { - left: 50%; - margin-left: -4px; -} -.plx-tooltip.plx-tooltip-bottom-left { - margin-top: 7px; -} -.plx-tooltip.plx-tooltip-bottom-left::before { - border-bottom-color: #595959; - border-top-width: 0; - top: -5px; -} -.plx-tooltip.plx-tooltip-bottom-left::after { - border-bottom-color: #595959; - border-top-width: 0; - top: -4px; -} -.plx-tooltip.plx-tooltip-bottom-left::before { - left: 5px; -} -.plx-tooltip.plx-tooltip-bottom-left::after { - left: 6px; -} -.plx-tooltip.plx-tooltip-bottom-right { - margin-top: 7px; -} -.plx-tooltip.plx-tooltip-bottom-right::before { - border-bottom-color: #595959; - border-top-width: 0; - top: -5px; -} -.plx-tooltip.plx-tooltip-bottom-right::after { - border-bottom-color: #595959; - border-top-width: 0; - top: -4px; -} -.plx-tooltip.plx-tooltip-bottom-right::before { - right: 5px; -} -.plx-tooltip.plx-tooltip-bottom-right::after { - right: 6px; -} -.plx-tooltip-left-common { - margin-left: -7px; -} -.plx-tooltip-left-common::before { - border-left-color: #595959; - border-right-width: 0; - right: -5px; -} -.plx-tooltip-left-common::after { - border-left-color: #595959; - border-right-width: 0; - right: -4px; -} -.plx-tooltip.plx-tooltip-left { - margin-left: -7px; -} -.plx-tooltip.plx-tooltip-left::before { - border-left-color: #595959; - border-right-width: 0; - right: -5px; -} -.plx-tooltip.plx-tooltip-left::after { - border-left-color: #595959; - border-right-width: 0; - right: -4px; -} -.plx-tooltip.plx-tooltip-left::before { - top: 50%; - margin-top: -5px; -} -.plx-tooltip.plx-tooltip-left::after { - top: 50%; - margin-top: -4px; -} -.plx-tooltip.plx-tooltip-left-top { - margin-left: -7px; -} -.plx-tooltip.plx-tooltip-left-top::before { - border-left-color: #595959; - border-right-width: 0; - right: -5px; -} -.plx-tooltip.plx-tooltip-left-top::after { - border-left-color: #595959; - border-right-width: 0; - right: -4px; -} -.plx-tooltip.plx-tooltip-left-top::before { - top: 5px; -} -.plx-tooltip.plx-tooltip-left-top::after { - top: 6px; -} -.plx-tooltip.plx-tooltip-left-bottom { - margin-left: -7px; -} -.plx-tooltip.plx-tooltip-left-bottom::before { - border-left-color: #595959; - border-right-width: 0; - right: -5px; -} -.plx-tooltip.plx-tooltip-left-bottom::after { - border-left-color: #595959; - border-right-width: 0; - right: -4px; -} -.plx-tooltip.plx-tooltip-left-bottom::before { - bottom: 5px; -} -.plx-tooltip.plx-tooltip-left-bottom::after { - bottom: 6px; -} -.plx-checkbox-container { - font-size: 0; - position: relative; -} -.plx-checkbox { - position: absolute; - z-index: -1; - opacity: 0; -} -.plx-checkbox + .checkbox-substitute { - position: relative; - display: inline-block; - cursor: pointer; - height: 16px; - width: 16px; - border: 1px solid #d9d9d9; - border-radius: 2px; - vertical-align: middle; -} -.plx-checkbox + .checkbox-substitute + span { - font-weight: normal; - font-size: 14px; - cursor: pointer; - vertical-align: middle; - padding-left: 10px; -} -.plx-checkbox:hover + .checkbox-substitute { - border-color: #108EE9; - outline: none; - background-image: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; -} -.plx-checkbox:checked + .checkbox-substitute { - border-color: #108EE9; - background-color: #108EE9; -} -.plx-checkbox:checked + .checkbox-substitute::after { - content: ''; - position: absolute; - display: block; - width: 6px; - height: 10px; - border: solid #fff; - border-width: 0 2px 2px 0; - transform: rotate(45deg); - left: 4px; - top: 0; -} -.plx-checkbox:checked.portion + .checkbox-substitute { - background-color: #108EE9; - border-color: #108EE9; - opacity: 0.5; -} -.plx-checkbox:disabled + .checkbox-substitute, -.plx-checkbox[disabled] + .checkbox-substitute { - border-color: #d9d9d9; - background-color: #f5f5f5; - cursor: not-allowed; -} -.plx-checkbox:disabled + .checkbox-substitute + span, -.plx-checkbox[disabled] + .checkbox-substitute + span { - cursor: not-allowed; -} -.plx-checkbox:checked.portion[disabled] + .checkbox-substitute { - background-color: #d9d9d9; - border-color: #d9d9d9; -} -.plx-checkbox:checked.portion[disabled] + .checkbox-substitute::after { - content: ''; - position: absolute; - display: block; - width: 6px; - height: 10px; - border: solid #8e8e8e; - border-width: 0 2px 2px 0; - transform: rotate(45deg); - left: 4px; - top: 0; -} -.plx-checkbox:checked[disabled] + .checkbox-substitute { - border-color: #d9d9d9; - background-color: #d9d9d9; -} -.plx-treenode { - cursor: pointer; - background-attachment: scroll; - background-color: transparent; - background-image: none; - background-position: 0 0; - background-repeat: repeat-y; - list-style: none outside none; - margin: 0; - padding: 0; - white-space: nowrap; - font-size: 14px; -} -.plx-treenode .plx-treenode-content { - margin-top: 10px; -} -.plx-treenode .plx-treenode-content.light { - margin-top: 15px; -} -.plx-treenode ul.plx-treenode-children { - display: block; - -webkit-padding-start: 21px; -} -.plx-treenode-toggler { - font-size: 16px; - color: #108EE9; - display: inline-block; - margin-right: 7px; - margin-top: 2px; - vertical-align: bottom; - float: left; -} -.plx-treenode-ckbox { - float: left; - margin-right: 10px; - margin-top: 2px; -} -.plx-treenode-icon { - color: #8e8e8e; - margin-right: 10px; - float: left; - font-size: 16px; - vertical-align: bottom; - margin-top: 2px; -} -.plx-treenode-label-container { - overflow: visible; -} -.plx-treenode-label-container.plx-treenode-label-ellipsis { - overflow: hidden; -} -.plx-treenode-label-container:hover { - background-color: #E7F4FD; -} -.plx-treenode-active > div .plx-treenode-label-container { - background-color: #def0fc; -} -.plx-treenode-active > div .plx-treenode-label-container:hover { - background-color: #E7F4FD; -} -.plx-treenode-label-container span:last-child { - margin-right: 5px; -} -.plx-treenode-lable { - display: inline-block; - vertical-align: 0; - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - color: #595959; -} -.plx-treenode-lable span { - display: inline-block; - overflow: hidden; - max-width: 100%; - text-overflow: ellipsis; - white-space: nowrap; - vertical-align: bottom; -} -.plx-treenode-operations { - margin-left: 20px; - display: none; - vertical-align: bottom; - width: fit-content; - line-height: 1; - margin-bottom: 2px; -} -.plx-treenode-operation { - display: inline-block; - margin-right: 10px; - color: #8e8e8e; - font-size: 16px; - vertical-align: text-bottom; -} -.plx-treenode-operation:hover { - color: #108EE9; -} -.plx-treenode-label-container:hover .plx-treenode-operations { - display: inline-block; -} -*:focus { - outline: none; - box-shadow: none !important; -} -input[type="checkbox"]:focus { - border: 0 !important; -} -.plx-treenode-hide-tree-toggle { - visibility: hidden; -} -.plx-treenode-droppoint { - height: 4px; - list-style-type: none; -} -.plx-treenode-droppoint-active { - background-color: #186ba0; - border: 0 none; -} -.upload-wrapper { - font-size: 14px; - position: relative; - display: inline-block; -} -.upload-wrapper .item-text { - max-width: 280px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - display: inline-block; - margin-bottom: 2px; - font-size: 14px; -} -.upload-wrapper .item-text.no-progressbar { - vertical-align: middle; -} -.upload-wrapper .plx-upload-progressbar { - margin-top: -13px; -} -.upload-wrapper .list-group-item { - border: 0; - padding: 0; -} -.upload-wrapper .list-group-item .item { - width: 335px; - padding: 0 0 5px 0px; -} -.upload-wrapper .list-group-item .item .item-text-wrapper { - position: relative; - display: inline-block; - width: 100%; - box-sizing: border-box; - height: 40px; - padding: 2px 3px 2px 10px; - border: 1px solid transparent; -} -.upload-wrapper .list-group-item .item .item-text-wrapper .text-red { - color: #EA4335 !important; -} -.upload-wrapper .list-group-item .item .item-text-wrapper:hover { - background-color: #E7F4FD; - cursor: default; -} -.upload-wrapper .list-group-item .item .item-text-wrapper:hover .plx-ico-close-16 { - display: block; - transform: scale(0.8); -} -.upload-wrapper .list-group-item .item .item-text-wrapper.no-progressbar { - height: 28px; -} -.upload-wrapper .list-group-item .item .item-delete { - height: 14px; - width: 16px; - text-align: center; - line-height: 14px; - position: absolute; - right: 2%; - color: #999999; - display: none; - top: 3px; -} -.upload-wrapper .list-group-item .item .item-delete:hover { - cursor: pointer; - color: #666666; -} -.upload-wrapper .list-group-item .item .item-delete.no-progressbar { - top: 6px; -} -.upload-wrapper .plx-ico-close-16 { - font-size: 16px; - float: right; - cursor: pointer; -} -.upload-wrapper ul.list-group { - margin-top: 15px; -} -.upload-wrapper .url-form-control { - display: inline-block; -} -.upload-wrapper .item-detail { - color: #aaa; - position: relative; - padding: 0 10px; - font-size: 12px; -} -.upload-wrapper .item-detail div { - margin: 0px 0px 15px 0; -} -.upload-wrapper .item-detail .detail { - margin: 5px 0 10px 0; -} -.upload-wrapper .item-detail-des { - display: inline-block; - width: 170px; - word-wrap: break-word; - margin-left: 15px; - vertical-align: top; -} -.upload-wrapper .item-detail-time { - display: inline-block; - width: 119px; - word-break: break-all; - vertical-align: top; -} -.upload-wrapper .selectFile { - display: inline-block; - min-width: 50px; - margin-right: 10px; - text-align: right; -} -.upload-wrapper label.raw-container { - margin: 0 10px; -} -.upload-wrapper .item-lists { - font-size: 14px; -} -.upload-wrapper .list-container { - padding-right: 15px; -} -.upload-wrapper .list-container.plx-upload-Manual-showdetail { - margin-left: -22px; -} -.upload-wrapper .list-container.plx-upload-auto-showdetail { - margin-left: -10px; -} -.upload-wrapper .list-footer .upload-btn { - margin-top: 10px; -} -.upload-wrapper .upload-btn { - display: inline-block; -} -.upload-wrapper .loader-container { - position: absolute; - display: inline-block; - top: 8px; - left: 12px; -} -.upload-wrapper .list-group-item-pdleft-s { - padding: 0px 0px 0px 12px; -} -.upload-wrapper .list-group-item-pdleft { - padding: 0px 0px 0px 12px !important; -} -.upload-wrapper .upload-btn-wrapper { - display: inline-block; -} -.upload-wrapper .plx-red.left { - margin-left: 75px; -} -.upload-wrapper .expand-wrapper { - position: absolute; - left: 20px; - top: 4px; - display: inline-block; - font-size: 14px; -} -.upload-wrapper .expand-wrapper.open .ict-go { - display: none; -} -.upload-wrapper .expand-wrapper.open .ict-fold { - display: block; -} -.upload-wrapper .expand-wrapper i { - height: 18px; - width: 20px; - text-align: left; - line-height: 19px; - cursor: pointer; -} -.upload-wrapper .ict-fold { - display: none; - color: #108EE9; - font-weight: bold; - transform: scale(0.7); -} -.upload-wrapper .ict-go { - display: block; - color: #108EE9; - font-weight: bold; - transform: scale(0.7); -} -.upload-wrapper .no-customparm-extend-wrapper { - left: -2px !important; -} -/* loding动画效果*/ -.upload-wrapper .loader { - font-size: 14px; - width: 14px; - height: 14px; - display: inline-block; - border-radius: 50%; - background: #108EE9; - background: -moz-linear-gradient(left, #108EE9 10%, rgba(255, 255, 255, 0) 85%); - background: -webkit-linear-gradient(left, #108EE9 10%, rgba(255, 255, 255, 0) 85%); - background: -o-linear-gradient(left, #108EE9 10%, rgba(255, 255, 255, 0) 85%); - background: -ms-linear-gradient(left, #108EE9 10%, rgba(255, 255, 255, 0) 85%); - background: linear-gradient(to right, #108EE9 10%, rgba(255, 255, 255, 0) 85%); - position: relative; - -webkit-animation: load3 1.4s infinite linear; - animation: load3 1.4s infinite linear; -} -.upload-wrapper .loader:before { - width: 50%; - height: 50%; - background: #108EE9; - border-radius: 100% 0 0 0; - position: absolute; - top: 0; - left: 0; - content: ''; -} -.upload-wrapper .loader:after { - background: #fff; - width: 75%; - height: 75%; - border-radius: 50%; - content: ''; - margin: auto; - position: absolute; - top: 0; - left: 0; - bottom: 0; - right: 0; -} -@-webkit-keyframes load3 { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -@keyframes load3 { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -.plx-table-customCols { - height: 40px; - float: right; -} -.plx-table-customCols-toggle { - display: inline-block; - border-radius: 3px; - width: 30px; - height: 23px; - border: 1px solid #d9d9d9; - vertical-align: top; - text-align: center; - padding-top: 7px; - margin-left: 6px; - cursor: pointer; - box-sizing: content-box; -} -.plx-table-customCols-toggle .ict-col:before { - vertical-align: top; -} -.plx-table-customCols-toggle:hover { - background-color: #fff; -} -.plx-table-customCols-toggle:active { - background-color: #108ee9; -} -.toggle-icon { - display: inline-block; - height: 14px; - border-right: 1px solid #595959; - vertical-align: top; - padding-left: 4px; -} -.toggle-icon:first-child { - padding-left: 0; -} -.plx-table-customCols-pannel { - margin-top: 5px; - margin-right: 5px; - border: 1px solid #d9d9d9; - background-color: #fff; - z-index: 1010; - position: absolute; - right: 0px; - border-radius: 5px; - font-size: 14px; - color: #595959; - overflow: auto; - min-width: 300px; - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); -} -.plx-table-customCols-pannel .plx-table-customCols-toolbar { - display: flex; - justify-content: space-between; - padding: 16px; -} -.plx-table-customCols-pannel .plx-table-customCols-toolbar .plx-table-filter-wrapper { - display: flex; - flex: auto; -} -.plx-table-customCols-pannel .plx-table-customCols-toolbar .plx-table-filter-wrapper input { - border-radius: 3px; - flex: auto; - padding-left: 28px; - border: 1px solid #d9d9d9; -} -.plx-table-customCols-pannel .plx-table-customCols-toolbar .plx-table-filter-wrapper input:focus { - border: 1px solid #108EE9; - outline: none; -} -.plx-table-customCols-pannel .plx-table-customCols-toolbar .plx-table-filter-wrapper span { - color: #bfbfbf; - line-height: 28px; - position: relative; - left: 20px; -} -.plx-table-customCols-pannel .plx-table-customCols-items { - cursor: pointer; - border-bottom: 1px solid #e9e9e9; - border-top: 1px solid #e9e9e9; -} -.plx-table-customCols-pannel .plx-table-customCols-items > div:hover { - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); -} -.plx-table-customCols-pannel .plx-table-customCols-items label { - margin-bottom: 0px; - vertical-align: -moz-middle-with-baseline; - vertical-align: -webkit-baseline-middle; - vertical-align: 25%; -} -.plx-table-customCols-pannel .plx-table-customCols-items .plx-table-customCols-item > span { - padding: 0px 6px; -} -.plx-table-customCols-pannel .plx-table-customCols-items .plx-table-customCols-operations { - visibility: hidden; - float: right; -} -.plx-table-customCols-pannel .plx-table-customCols-items .plx-table-customCols-operations div { - box-sizing: content-box; - padding: 0px 8px; - display: inline-block; -} -.plx-table-customCols-pannel .plx-table-customCols-items .heighLight { - background-color: #e2f2fc; -} -.plx-table-customCols-pannel .plx-table-customCols-items .heighLight .plx-table-customCols-operations .plx-table-goup-show { - visibility: visible; -} -.plx-table-customCols-pannel .plx-table-customCols-items .heighLight .plx-table-customCols-operations .plx-table-godown-show { - visibility: visible; -} -.plx-table-customCols-pannel .plx-table-customCols-items .heighLight .plx-table-customCols-operations span { - color: #108EE9; -} -.plx-table-customCols-pannel .plx-table-customCols-items .dragging { - box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2); -} -.plx-table-customCols-pannel .plx-table-customCols-items .dragEnter { - background-color: #00abff; -} -.plx-table-customCols-pannel .plx-table-customCols-items .plx-table-customCols-dropArea { - height: 10px; - border-bottom: 1px solid #e9e9e9; -} -.plx-table-customCols-pannel .plx-table-customCols-items .plx-table-customCols-dropArea-before { - height: 10px; - border-bottom: none; -} -.plx-table-customCols-pannel .plx-table-customCols-items > div:last-child .plx-table-customCols-dropArea { - border-bottom: none; -} -.plx-table-customCols-pannel .plx-table-customCols-items .plx-table-customCols-item { - line-height: 20px; - height: 20px; - padding: 0px 16px; -} -.plx-table-customCols-pannel .plx-table-customCols-confirm { - display: flex; - align-items: center; - justify-content: center; - padding: 16px 16px; -} -.plx-table-col-filter { - border: 1px solid #d9d9d9; - margin: 5px; - box-sizing: border-box; - height: 30px; -} -.plx-table-col-filter input { - width: calc(100% - 25px); - line-height: normal; - font-weight: normal; - border: none; - height: 26px; - font-size: 14px; - box-sizing: border-box; -} -.plx-table-col-filter input:focus { - outline: none; -} -.plx-table-col-filter .filterIcon { - /*position: absolute;*/ - top: 6px; - left: 3px; - fill: #dedede; - width: 14px; -} -.plx-filter-focused { - outline: none; - border: 1px solid #108EE9; -} -.plx-table-col-icon-wrapper { - padding-left: 5px; - display: inline-block; - line-height: 30px; -} -.plx-table-col-icon-wrapper span { - vertical-align: sub; -} -::-webkit-input-placeholder { - /* WebKit browsers */ - color: #c1c1c1; -} -:-moz-placeholder { - /* Mozilla Firefox 4 to 18 */ - color: #c1c1c1; -} -::-moz-placeholder { - /* Mozilla Firefox 19+ */ - color: #c1c1c1; -} -:-ms-input-placeholder { - /* Internet Explorer 10+ */ - color: #c1c1c1; -} -.plx-table-selectFilter-wrapper { - display: inline-block; - vertical-align: middle; - height: 28px; - cursor: pointer; - /*此处 若不为absolute则被td遮挡*/ - position: absolute; -} -.plx-table-selectFilter-icon { - vertical-align: middle; - height: 28px; - fill: #8e8e8e; -} -.icon-selectFilter-activtied { - fill: #108EE9; -} -.plx-table-selectFilter-panel { - margin-top: -5px; - border: 1px solid #d9d9d9; - background-color: #fff; - padding: 10px; - right: 0px; - border-radius: 5px; - /*此处若为absolute则文本要换行,恩,玄学*/ - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); -} -.plx-table-selectFilter-panel span { - vertical-align: -25%; - font-size: 14px; -} -.plx-table-selectFilter-panel label { - line-height: normal; -} -.plx-table-selectFilter-panel div { - line-height: normal; -} -.plx-table-filter { - height: 40px; - float: right; -} -.plx-table-filter input { - border-radius: 3px; - line-height: normal; - padding: 0px 6px; - font-weight: normal; - border: 1px solid #d9d9d9; - margin-bottom: 10px; - height: 32px; - width: 200px; - box-sizing: border-box; - font-size: 14px; - color: #595959; -} -.plx-table-filter input:focus { - outline: none; - border: 1px solid #108EE9; -} -.plx-table-filterToggle { - display: inline-block; - width: 30px; - height: 30px; - border-radius: 3px; - border: 1px solid #d9d9d9; - vertical-align: top; - text-align: center; - margin-left: 6px; - cursor: pointer; - box-sizing: content-box; -} -.plx-table-filterToggle.ict-filter:before { - line-height: 30px; -} -.plx-table-filterToggle.ict-filter-f:before { - line-height: 30px; - color: #108EE9; -} -.plx-table-filter-icon-wrapper { - vertical-align: middle; - display: inline-block; - padding-top: 5px; -} -.plx-table-filterIcon { - fill: #595959; -} -.plx-table-pagination { - float: right; - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - font-size: 14px; - color: #595959; - margin-top: 10px; - margin-bottom: 10px; -} -.plx-table-pagination-content { - display: inline-block; - text-decoration: none; -} -.plx-table-pagination-item { - list-style-type: none; - display: inline-block; -} -.plx-table-pagination-item span { - vertical-align: middle; -} -.plx-table-pagination-item select { - vertical-align: middle; - height: 26px; - width: 45px; - border: 1px solid #d9d9d9; -} -.plx-table-pagination-input { - padding: 1px; - height: 26px; - width: 45px; - margin-left: 1px; - margin-right: 1px; - font-size: 12px; - color: #595959; - box-sizing: border-box; - border: 1px solid #d9d9d9; - text-align: center; - vertical-align: middle; -} -.plx-table-pagination-nav { - display: inline-block; - height: 26px; - border: 1px solid #d9d9d9; - font-size: 14px; - text-decoration: none; - color: #595959; - padding-left: 6px; - padding-right: 6px; - cursor: pointer; - text-align: center; - vertical-align: middle; - box-sizing: border-box; -} -a:not([href]):not([tabindex]).plx-table-pagination-disabled { - color: #bfbfbf; - cursor: not-allowed; -} -.plx-table-dropdown-wrapper { - cursor: pointer; -} -.plx-table-dropdown-icon-shared { - font-size: 20px; - line-height: 2.2 !important; - cursor: pointer; -} -.plx-table-dropdown-icon-polyline-shared { - height: 16px; - width: 16px; - stroke: #00abff ; -} -.ict-down, -.ict-up { - font-size: 20px; - line-height: 2.2 !important; - cursor: pointer; -} -.ict-down polyline, -.ict-up polyline { - height: 16px; - width: 16px; - stroke: #00abff ; -} -.ict-down polyline:hover, -.ict-up polyline:hover { - stroke: #2d91c4; -} -.plx-table-innerTr { - border: 1px solid #d9d9d9; -} -.plx-table-innerTr #plx-table-innerTd { - padding: 0px; -} -.plx-table-innerTable { - width: 100%; -} -.plx-table-innerTable tr { - color: #595959; - font-size: 14px; -} -.plx-table-innerTable tr td#plx-inner-table-title, -.plx-table-innerTable tr td#plx-inner-table-content { - padding: 8px; - height: 40px; - border: none; - border-bottom: 1px solid #d9d9d9; -} -.plx-table-innerTable tr td:first-child { - text-align: right; -} -.plx-table-innerTable tr td:last-child { - text-align: left; -} -.plx-table-innerTable tr:last-child td#plx-inner-table-title, -.plx-table-innerTable tr:last-child td#plx-inner-table-content { - border-bottom: none; -} -/* 排序图标 */ -.plx-table-sort-icon-shared { - display: block; - cursor: pointer; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - margin-bottom: 2px; -} -.plx-table-sortIconWrapper { - display: inline-block; - vertical-align: middle; - margin-left: 3px; -} -/* 排序图标:箭头向上 */ -.plx-table-sortAsc { - display: block; - cursor: pointer; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - margin-bottom: 2px; - border-bottom: 5px solid #8e8e8e; -} -.plx-table-ascActived { - border-bottom: 5px solid #108EE9; -} -/* 排序图标:箭头向下 */ -.plx-table-sortDesc { - display: block; - cursor: pointer; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - margin-bottom: 2px; - border-top: 5px solid #8e8e8e; -} -.plx-table-descActived { - border-top: 5px solid #108EE9; -} -.plx-color-picker-border-radius { - border-top-left-radius: 3px; - border-top-right-radius: 3px; -} -.plx-color-picker * { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - margin: 0; - font-size: 12px; - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; -} -.plx-color-picker { - cursor: default; - width: 246px; - height: auto; - left: 30px; - top: 250px; - position: absolute; - z-index: 1000; - background-color: #fff; - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - border-radius: 3px; - border: 1px solid #d9d9d9; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.plx-color-picker i { - cursor: default; - position: relative; -} -.plx-color-picker input { - font-size: 14px; - height: 32px; - padding-left: 10px; - padding-right: 10px; - outline: 0; - border: 1px solid #d9d9d9; - border-radius: 3px; - vertical-align: middle; - text-align: center; - height: 24px; - -moz-appearance: textfield; -} -.short-text-input .plx-color-picker input { - width: 120px; -} -.text-input-with-unit .plx-color-picker input { - width: 355px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-unitOption .plx-color-picker input { - width: 316px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-prefix .plx-color-picker input { - width: 330px; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.text-input-with-prefixOption .plx-color-picker input { - width: 316px; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.text-input-with-passwordSwith .plx-color-picker input { - width: 360px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-prefix.text-input-with-unit .plx-color-picker input { - width: 285px; -} -.text-input-with-prefix.text-input-with-unitOption .plx-color-picker input { - width: 246px; -} -.short-text-input.text-input-with-prefix .plx-color-picker input { - width: 80px; -} -.short-text-input.text-input-with-unit .plx-color-picker input { - width: 80px; -} -.short-text-input.text-input-with-prefix.text-input-with-unit .plx-color-picker input { - width: 40px; -} -.plx-color-picker input:focus { - border: 1px solid #108EE9; -} -.plx-color-picker input:disabled, -.plx-color-picker input[disabled] { - cursor: not-allowed; - background-color: #f5f5f5; -} -.plx-color-picker input:invalid { - box-shadow: none; -} -.plx-color-picker input:-moz-submit-invalid { - box-shadow: none; -} -.plx-color-picker input:-moz-ui-invalid { - box-shadow: none; -} -.plx-color-picker input::-webkit-outer-spin-button, -.plx-color-picker input::-webkit-outer-spin-button { - -webkit-appearance: textfield; - margin: 0; -} -.plx-color-picker .color-picker-overlay1 { - border-top-left-radius: 3px; - border-top-right-radius: 3px; - position: absolute; - left: 0; - top: 0; - width: 244px; - height: 118px; - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='#ffffff', endColorstr='#00ffffff')"; - /* IE8 */ - background: -moz-linear-gradient(left, #ffffff 0%, rgba(255, 255, 255, 0) 100%); - /* FF3.6+ */ - background: -webkit-gradient(linear, left top, right top, color-stop(0%, #ffffff), color-stop(100%, rgba(255, 255, 255, 0))); - /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(left, #ffffff 0%, rgba(255, 255, 255, 0) 100%); - /* Chrome10+,Safari5.1+ */ - background: -o-linear-gradient(left, #ffffff 0%, rgba(255, 255, 255, 0) 100%); - /* Opera 11.10+ */ - background: -ms-linear-gradient(left, #ffffff 0%, rgba(255, 255, 255, 0) 100%); - /* IE10+ */ - background: linear-gradient(to right, #ffffff 0%, rgba(255, 255, 255, 0) 100%); - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr='#ffffff', endColorstr='#00ffffff'); - /* IE6 & IE7 */ -} -.plx-color-picker .color-picker-overlay2 { - border-top-left-radius: 3px; - border-top-right-radius: 3px; - position: absolute; - left: 0; - top: 0; - width: 244px; - height: 118px; - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#00000000', endColorstr='#000000')"; - /* IE8 */ - background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0%, #000000 100%); - /* FF3.6+ */ - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(0, 0, 0, 0)), color-stop(100%, #000000)); - /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, #000000 100%); - /* Chrome10+,Safari5.1+ */ - background: -o-linear-gradient(top, rgba(0, 0, 0, 0) 0%, #000000 100%); - /* Opera 11.10+ */ - background: -ms-linear-gradient(top, rgba(0, 0, 0, 0) 0%, #000000 100%); - /* IE10+ */ - background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, #000000 100%); - /* W3C */ - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#000000', GradientType=0); - /* IE6-9 */ -} -.plx-color-picker .color-picker-saturation-lightness { - border-top-left-radius: 3px; - border-top-right-radius: 3px; - cursor: pointer; - width: 244px; - height: 118px; - border: none; - background-size: 100% 100%; -} -.plx-color-picker .color-picker-hue { - cursor: pointer; - border-radius: 3px; - width: 168px; - height: 10px; - border: none; - margin-bottom: 10px; - background-size: 100% 100%; - background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAQCAYAAAD06IYnAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIWDwkUFWbCCAAAAFxJREFUaN7t0kEKg0AQAME2x83/n2qu5qCgD1iDhCoYdpnbQC9bbY1qVO/jvc6k3ad91s7/7F1/csgPrujuQ17BDYSFsBAWwgJhISyEBcJCWAgLhIWwEBYIi2f7Ar/1TCgFH2X9AAAAAElFTkSuQmCC'); -} -.plx-color-picker .color-picker-alpha { - cursor: pointer; - border-radius: 3px; - width: 168px; - height: 10px; - border: none; - background-size: 100% 100%; - background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKgAAAAKCAYAAAAgnxVRAAAC9klEQVRYhdVYPc7bMAylku7WViCrfJ2cocfoGXqLHslbDhAvHjNkCBBRHSoZzwQpKW7T7yuBwAn9+CtKIuOu1+vXy+UyPx6PL5QphEDee0KKMdI0TRveP8KlaZoSEZUPhxCS9z4RERd+jJEzbuWFEKL3nlEWcDHzYgiBQR//Nht5miZGXrbLWbaGY+99RBuAK3zOuGfBZP+iwJU4ItgtuAiyaJdBH2fc6iPoY9CH/jH4xyKOJHAJcEnRlwxcWY8k1o3KepxOp3Rg5h9YnJ+UkvjtxNPCO8Ak4MunxevxRXun6UVCn1ynXyhb5Mp7Tc4Z3y0e6pG2tXw7quuQWI0v/ZGx0cEAfzaygtUWBAPVClXqRblaErX3cgPU/C4Y/Gi+1+TRTllI/FjUKvjy1OxLf60NodmUG9GSQRuY5/+mQAtpye0pEKvwrELRsGhPW/CWrNwsTnnXc8rgUxaPptOi3huj6NVyJ3NR2yS9mI0/rxRoTyDvJmvhe65U7QrT9LRO0pYti2oLYxW9/F07/WqbbY9Pmm/ajSR9kLH0knoLuPv9/vN2u31D5rIsNM/zBjgMA43jSB+AS+M4rk11xvE8z8hLwzDwOI6bpnxZljTPc+FFIuKsrwwHiYhixm2GhoxDnoaLYHflZ/82w9QwDNHAbYaajJN2o6KPM24dksDuE+KIEC8DbiML8a65UnCc7SbwJYHdNf+AY4FLAifXt6xbOp/Pae8V/xGnKfYxrUZbXu2J7GtK6rbIuuIsn1q9Xk9faMnW9PTEIm1ofTgZPDwpe6/r3TfR3gLtScDfplrPRuKdFryVBOu6avmh9b6vDCqtReuRlba1KdvqS63caTwrLq2t0NqTVs9u0juGpHecrr2TYyFtuu0pnt7pVPtuye8d3jQ8vu8psNqJ+sohgydmq0+3NkmtMM1/Eg7Oue/H4/H5grMtqk3Vf6Lz1SRbxWPh5ADQc5q0pm38bk3emtyeHMoC0ApCa3/2tAOtjSWLWDv1rc204f8CQvGUIhalBqwAAAAASUVORK5CYII='); -} -.plx-color-picker .color-picker-alpha-ba { - position: absolute; - background: linear-gradient(90deg, rgba(255, 255, 255, 0), #000); -} -.plx-color-picker .selected-color { - width: 30px; - height: 30px; - top: 0px; - left: 0px; - position: absolute; - -moz-border-radius: 50%; - -webkit-border-radius: 50%; - border-radius: 50%; - -khtml-border-radius: 50%; -} -.plx-color-picker .selected-color-background { - width: 30px; - height: 30px; - -moz-border-radius: 50%; - -webkit-border-radius: 50%; - border-radius: 50%; - -khtml-border-radius: 50%; - background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAh0lEQVRYR+2W0QlAMQgD60zdfwOdqa8TmI/wQMr5K0I5bZLIzLOa2nt37VVVbd+dDx5obgCC3KBLwJ2ff4PnVidkf+ucIhw80HQaCLo3DMH3CRK3iFsmAWVl6hPNDwt8EvNE5q+YuEXcMgkonVM6SdyCoEvAnZ8v1Hjx817MilmxSUB5rdLJDycZgUAZUch/AAAAAElFTkSuQmCC'); -} -.plx-color-picker .color-picker-cursor { - cursor: default; - position: relative; - -moz-border-radius: 50%; - -webkit-border-radius: 50%; - border-radius: 50%; - -khtml-border-radius: 50%; - width: 10px; - height: 10px; - border: #ffffff solid 1px; -} -.plx-color-picker .color-picker-cursor-selector { - cursor: default; - position: relative; - -moz-border-radius: 50%; - -webkit-border-radius: 50%; - border-radius: 50%; - -khtml-border-radius: 50%; - width: 10px; - height: 10px; - border: #ffffff solid 1px; - width: 12px; - height: 12px; - top: -1px; - background-color: #ffffff; - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); -} -.plx-color-picker .type-policy { - float: right; - position: absolute; - top: 198px; - right: 12px; - width: 16px; - height: 16px; -} -.plx-color-picker .type-policy:hover { - background-color: #E7F4FD; - cursor: pointer; -} -.plx-color-picker .arrow-down { - display: block; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-top: 4px solid #9b9b9b; - margin-top: 4px; - margin-left: 4px; -} -.plx-color-picker .arrow-up { - display: block; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-bottom: 4px solid #9b9b9b; - margin-top: 2px; - margin-left: 4px; -} -.plx-color-picker .box { - width: 100%; - height: 100%; - display: flex; -} -.plx-color-picker .box .left { - position: relative; - margin-right: 16px; -} -.plx-color-picker .box .right { - flex: 1 1 auto; -} -.plx-color-picker .button-area { - padding: 0 16px 16px 16px; - text-align: right; -} -.plx-color-picker .preset-area { - padding: 4px 15px; -} -.plx-color-picker .preset-area .preset-label { - width: 100%; - padding: 4px; - text-align: left; - color: #555; -} -.plx-color-picker .preset-area .preset-color { - cursor: pointer; - display: inline-block; - width: 18px; - height: 18px; - margin: 4px 6px 8px 6px; - -moz-border-radius: 25%; - -webkit-border-radius: 25%; - border-radius: 25%; - -khtml-border-radius: 25%; - border: #a9a9a9 solid 1px; -} -.plx-color-picker .hsla-text, -.plx-color-picker .rgba-text { - width: 196px; -} -.plx-color-picker .hsla-text input, -.plx-color-picker .rgba-text input { - color: #595959; - min-width: 0; - flex: 1; - margin: 0; - float: left; - padding: 1px; -} -.plx-color-picker .hsla-text input:last-child, -.plx-color-picker .rgba-text input:last-child { - margin-right: 0; -} -.plx-color-picker .hsla-text .hsla-text-div, -.plx-color-picker .rgba-text .hsla-text-div, -.plx-color-picker .hsla-text .rgba-text-div, -.plx-color-picker .rgba-text .rgba-text-div { - margin-top: 2px; - flex: 1; - text-align: center; - color: #999999; - height: 18px; - padding-right: 8px; -} -.plx-color-picker .hsla-text .hsla-text-div:last-child, -.plx-color-picker .rgba-text .hsla-text-div:last-child, -.plx-color-picker .hsla-text .rgba-text-div:last-child, -.plx-color-picker .rgba-text .rgba-text-div:last-child { - margin-right: 0; - padding-right: 0; -} -.plx-color-picker .hsla-text .hsla-text-degree, -.plx-color-picker .rgba-text .hsla-text-degree { - padding-right: 16px; -} -.plx-color-picker .hsla-text .hsla-text-percent, -.plx-color-picker .rgba-text .hsla-text-percent { - padding-right: 22px; -} -.plx-color-picker .hsla-text .hsla-degree, -.plx-color-picker .rgba-text .hsla-degree { - display: inline-block; - width: 6px; - margin-left: 2px; - margin-right: 8px; - margin-top: 2px; -} -.plx-color-picker .hsla-text .hsla-percent, -.plx-color-picker .rgba-text .hsla-percent { - display: inline-block; - width: 12px; - margin-left: 2px; - margin-right: 8px; - margin-top: 3px; -} -.plx-color-picker .hsla-text .rgba-text-input, -.plx-color-picker .rgba-text .rgba-text-input { - margin-right: 8px; -} -.plx-color-picker .hex-text { - width: 196px; -} -.plx-color-picker .hex-text .box input { - color: #595959; - flex: 1 1 auto; - padding: 1px; -} -.plx-color-picker .hex-text .box div { - margin-top: 2px; - flex: 1 1 auto; - text-align: center; - height: 18px; - color: #999999; - float: left; - clear: left; -} -.plx-color-picker .bacis-color-alpha-select-area { - padding: 20px 16px 16px 16px; -} -.plx-color-picker .color-format-content-area { - padding: 0px 16px 16px 16px; -} -.plx-color-picker .arrow::after, -.plx-color-picker .arrow::before { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; - content: ""; - border-width: 7px 7px; -} -.plx-color-picker .arrow.arrow-bottom::after { - left: 20px; - border-top-width: 0; - top: -7px; - border-bottom-color: #ffffff; -} -.plx-color-picker .arrow.arrow-bottom::before { - left: 20px; - border-top-width: 0; - top: -8px; - border-bottom-color: #999999; -} -body { - font-size: 14px; -} -.shadow { - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); -} -:-moz-placeholder { - /* Mozilla Firefox 4 to 18 */ - color: #bfbfbf; -} -::-moz-placeholder { - /* Mozilla Firefox 19+ */ - color: #bfbfbf; -} -input:-ms-input-placeholder { - color: #bfbfbf; -} -input::-webkit-input-placeholder { - color: #bfbfbf; -} -.plx-btn { - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - color: #108EE9; - min-width: 88px; - letter-spacing: 1px; - padding: 0px 16px; - height: 32px; - font-size: 14px; - cursor: pointer; - text-align: center; - white-space: nowrap; - margin-right: 10px; - vertical-align: middle; - border: 1px solid #d9d9d9; - background-color: #fff; - border-radius: 3px; - line-height: 30px; -} -.plx-btn:hover, -.plx-btn:disabled, -.plx-btn[disabled], -.plx-btn:focus, -.plx-btn:active { - outline: none; - background-image: none; - filter: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; -} -.plx-btn:hover, -.plx-btn:focus { - color: #108ee9; - border-color: #108ee9; - background-color: #fff; -} -.plx-btn:active { - color: #fff; - border-color: #108ee9; - background-color: #108ee9; -} -.plx-btn:disabled, -.plx-btn[disabled] { - color: #bfbfbf; - background-color: #fff; - border-color: #e9e9e9; -} -.plx-btn:disabled:hover, -.plx-btn[disabled]:hover, -.plx-btn:disabled:focus, -.plx-btn[disabled]:focus { - color: #bfbfbf; - background-color: #fff; - border-color: #e9e9e9; - cursor: not-allowed; -} -.plx-btn .plx-btn-icon { - font-size: 16px; - vertical-align: text-top; - margin-right: 3px; -} -.plx-btn-primary { - background-color: #108EE9; - color: #fff; - border-color: #108EE9; -} -.plx-btn-primary:hover, -.plx-btn-primary:focus { - color: #fff; - background-color: #0D75BF; - border-color: #0D75BF; -} -.plx-btn-primary:active { - color: #fff; - background-color: #0C66A7; - border-color: #0C66A7; -} -.plx-btn-primary:disabled, -.plx-btn-primary[disabled], -.plx-btn-primary:disabled:hover, -.plx-btn-primary[disabled]:hover, -.plx-btn-primary:disabled:focus, -.plx-btn-primary[disabled]:focus { - color: #fff; - border-color: #108EE9; - background-color: #108EE9; - opacity: 0.5; -} -.plx-btn-guide { - background-color: #5cb85c; - color: #fff; - border-color: #5cb85c; -} -.plx-btn-guide:hover, -.plx-btn-guide:focus { - color: #fff; - background-color: #00994d; - border-color: #00994d; -} -.plx-btn-guide:active { - color: #fff; - background-color: #008040; - border-color: #008040; -} -.plx-btn-guide:disabled, -.plx-btn-guide[disabled], -.plx-btn-guide:disabled:hover, -.plx-btn-guide[disabled]:hover, -.plx-btn-guide:disabled:focus, -.plx-btn-guide[disabled]:focus { - color: #fff; - border-color: #5cb85c; - background-color: #5cb85c; - opacity: 0.5; -} -.plx-btn-table { - color: #595959; -} -.plx-btn-error { - background-color: #EA4335; - color: #fff; - border-color: #EA4335; -} -.plx-btn-error:hover, -.plx-btn-error:focus { - color: #fff; - background-color: #DD1B0A; - border-color: #DD1B0A; -} -.plx-btn-error:active { - color: #fff; - background-color: #B92113; - border-color: #B92113; -} -.plx-btn-error:disabled, -.plx-btn-error[disabled], -.plx-btn-error:disabled:hover, -.plx-btn-error[disabled]:hover, -.plx-btn-error:disabled:focus, -.plx-btn-error[disabled]:focus { - color: #fff; - border-color: #EA4335; - background-color: #EA4335; - opacity: 0.5; -} -.plx-btn-sm { - height: 28px; - padding: 0px 14px; - min-width: 68px; - margin-right: 5px; - line-height: 26px; -} -.plx-btn-xs { - height: 24px; - padding: 0px 12px; - min-width: 68px; - margin-right: 5px; - line-height: 22px; -} -.plx-btn.dropdown-toggle { - margin-right: 0; - outline: none !important; - background-image: none !important; - filter: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; -} -.plx-btn.dropdown-toggle::after { - margin-left: 16px; - border-top: 4px solid; - border-right: 4px solid transparent; - border-left: 4px solid transparent; - color: #c0c0c0; - margin-bottom: 1px; -} -.plx-btn-sm.dropdown-toggle::after { - margin-left: 14px; -} -.plx-btn-xs.dropdown-toggle::after { - margin-left: 12px; -} -.plx-btn + .dropdown-menu { - margin: 0; - padding: 0; - border: 0; - min-width: 100%; - font-size: 14px; - border-radius: 3px; - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); -} -.plx-btn + .dropdown-menu .dropdown-item { - background-color: #fff; - color: #595959; - font-size: 14px; - padding: 0px 16px; - height: 30px; - cursor: pointer; -} -.plx-btn + .dropdown-menu .dropdown-item:hover, -.plx-btn + .dropdown-menu .dropdown-item:focus, -.plx-btn + .dropdown-menu .dropdown-item:active { - outline: none; - background-color: #E7F4FD; -} -.plx-btn + .dropdown-menu .dropdown-item:disabled, -.plx-btn + .dropdown-menu .dropdown-item[disabled] { - color: #bfbfbf; -} -.plx-btn + .dropdown-menu .dropdown-item:disabled:hover, -.plx-btn + .dropdown-menu .dropdown-item[disabled]:hover, -.plx-btn + .dropdown-menu .dropdown-item:disabled:focus, -.plx-btn + .dropdown-menu .dropdown-item[disabled]:focus { - cursor: not-allowed; - background-color: #fff; -} -.plx-btn-sm + .dropdown-menu .dropdown-item { - padding: 0px 14px; -} -.plx-btn-xs + .dropdown-menu .dropdown-item { - padding: 0px 12px; -} -.plx-btn-more { - display: inline-block; - margin-right: 10px; -} -.plx-btn-more-sm { - margin-right: 5px; -} -.plx-btn-more-xs { - margin-right: 5px; -} -.plx-checkbox-container { - font-size: 0; - position: relative; -} -.plx-checkbox { - position: absolute; - z-index: -1; - opacity: 0; -} -.plx-checkbox + .checkbox-substitute { - position: relative; - display: inline-block; - cursor: pointer; - height: 16px; - width: 16px; - border: 1px solid #d9d9d9; - border-radius: 2px; - vertical-align: middle; -} -.plx-checkbox + .checkbox-substitute + span { - font-weight: normal; - font-size: 14px; - cursor: pointer; - vertical-align: middle; - padding-left: 10px; -} -.plx-checkbox:hover + .checkbox-substitute { - border-color: #108EE9; - outline: none; - background-image: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; -} -.plx-checkbox:checked + .checkbox-substitute { - border-color: #108EE9; - background-color: #108EE9; -} -.plx-checkbox:checked + .checkbox-substitute::after { - content: ''; - position: absolute; - display: block; - width: 6px; - height: 10px; - border: solid #fff; - border-width: 0 2px 2px 0; - transform: rotate(45deg); - left: 4px; - top: 0; -} -.plx-checkbox.portion + .checkbox-substitute { - background-color: #108EE9; - border-color: #108EE9; - opacity: 0.5; -} -.plx-checkbox.portion + .checkbox-substitute::after { - content: ''; - position: absolute; - display: block; - width: 6px; - height: 10px; - border: solid #fff; - border-width: 0 2px 2px 0; - transform: rotate(45deg); - left: 4px; - top: 0; -} -.plx-checkbox:disabled + .checkbox-substitute, -.plx-checkbox[disabled] + .checkbox-substitute { - border-color: #d9d9d9; - background-color: #f5f5f5; - cursor: not-allowed; -} -.plx-checkbox:disabled + .checkbox-substitute + span, -.plx-checkbox[disabled] + .checkbox-substitute + span { - cursor: not-allowed; -} -.plx-checkbox.portion[disabled] + .checkbox-substitute { - background-color: #d9d9d9; - border-color: #d9d9d9; -} -.plx-checkbox.portion[disabled] + .checkbox-substitute::after { - content: ''; - position: absolute; - display: block; - width: 6px; - height: 10px; - border: solid #8e8e8e; - border-width: 0 2px 2px 0; - transform: rotate(45deg); - left: 4px; - top: 0; -} -.plx-checkbox:checked[disabled] + .checkbox-substitute { - border-color: #d9d9d9; - background-color: #d9d9d9; -} -.plx-form { - font-family: 'Helvetica Neue', 'Arial', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei'; - font-size: 14px; - background: #fff; - color: #595959; -} -.plx-form .ng-invalid:not(form).ng-invalid:not(fieldset).ng-invalid:not(plx-select) { - border: 1px solid #EA4335; - /* red */ -} -.plx-form .ng-untouched:not(form).ng-untouched:not(fieldset).ng-untouched:not(plx-select) { - border: 1px solid #d9d9d9; -} -.plx-form label { - font-size: 14px; - text-align: right; - color: #737373; - background: #fff; -} -.plx-form label .label-span { - color: #595959; -} -.plx-form .text-autocut { - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; - display: block; -} -.plx-form .forms-group-pointer { - margin-bottom: 10px; - padding-left: 15px; - color: #404040; - font-size: 16px; - height: 32px; - line-height: 32px; - cursor: pointer; -} -.plx-form .forms-group-pointer:hover { - background: #E7F4FD; -} -.plx-form .forms-group-pointer span { - margin-left: 24px; - border-left: 3px solid #108EE9; - padding-left: 5px; -} -.plx-form .forms-group-pointer .group-icon { - float: left; - font-size: 16px; - color: #108EE9 !important; - line-height: 32px; - margin-right: 8px; - transform: scale(0.7, 0.7); - font-weight: bold; -} -.plx-form .forms-group-default { - margin-bottom: 10px; - padding-left: 15px; - color: #404040; - font-size: 16px; - height: 32px; - line-height: 32px; - cursor: default; - line-height: 16px; -} -.plx-form .forms-group-default:hover { - background: #fff; -} -.plx-form .forms-group-default span { - margin-left: 24px; - border-left: 3px solid #108EE9; - padding-left: 5px; -} -.plx-form .forms-group-default .group-icon { - float: left; - font-size: 16px; - color: #108EE9 !important; - line-height: 32px; - margin-right: 8px; - transform: scale(0.7, 0.7); - font-weight: bold; -} -.plx-form .input-sm { - height: 28px !important; -} -.plx-form .px-red { - color: #EA4335; -} -.plx-form input:focus { - border: 1px solid #108EE9 !important; -} -.plx-form .error-div { - height: 14px; - margin-top: -4px; - margin-bottom: 5px; -} -.plx-form .error-div .error-msg { - color: #EA4335; -} -.plx-form .help-div { - color: #bfbfbf; - height: 14px; - margin-top: -5px; - margin-bottom: 6px; -} -.plx-form .forms-header { - margin-left: 15px; - margin-bottom: 25px; - padding-bottom: 5px; - border-bottom: 1px solid #e9e9e9; -} -.plx-form .forms-header span { - font-size: 16px; - color: #404040; -} -.plx-form .plx-input { - width: 100%; - color: #595959; - background: #fff; - text-align: left; -} -.plx-form .field-radio { - padding-right: 10px; - line-height: 27px; -} -.plx-form .field-radio.field-radio-tight { - line-height: 23px; -} -.plx-form .field-tail { - padding-right: 10px; - line-height: 32px; -} -.plx-form .field-tail.field-tail-tight { - line-height: 28px; -} -.plx-form .field-tail .tip { - color: #8e8e8e; - font-size: 16px; -} -.plx-form .field-info { - font-size: 14px; - color: #108EE9; - margin-left: -15px; -} -.plx-form .field-info.field-info-group { - margin-left: 15px; -} -.plx-form .form-field:not(select-dropdown) { - color: #595959; - font-size: 14px; - line-height: 32px; -} -.plx-form .form-field:not(select-dropdown).form-field-tight { - line-height: 28px; -} -.plx-form .form-field:not(select-dropdown).form-filed-hint { - margin-bottom: 15px; -} -.plx-form .field-div { - margin-bottom: 15px; - padding-left: 0; -} -.plx-form .field-div.field-div-tight { - margin-bottom: 10px; -} -.plx-form .field-div.inputchanged > input { - font-weight: bold; -} -.plx-form .field-div.inputchanged > select { - font-weight: bold; -} -.plx-form .button-div { - padding: 15px 0 0 0; - color: #595959; - font-size: 16px; - text-align: left; -} -.plx-form .button-div button { - margin-right: 10px; -} -.plx-form .button-r-submit { - float: right; - margin-right: -20px !important; -} -.plx-form .button-r-cancel { - float: right; -} -.plx-form .content { - overflow-y: auto; - overflow-x: hidden; -} -.plx-form .plx-scrollbar::-webkit-scrollbar { - width: 4px; - height: 6px; -} -.plx-form .plx-scrollbar::-webkit-scrollbar-thumb { - background-color: rgba(0, 0, 0, 0.2); - border-radius: 2em; - min-height: 50px; - max-height: 100px; -} -.plx-form .plx-scrollbar::-webkit-scrollbar-corner { - background-color: transparent; -} -.plx-form input:-ms-input-placeholder { - color: #999 !important; -} -.plx-form input::-webkit-input-placeholder { - color: #999 !important; -} -.plx-form plx-info .icon { - margin-left: -10px; - line-height: 28px !important; -} -.para-content .icon-active { - fill: #108EE9; -} -.para-content .icon-disactive { - fill: #bfbfbf; - cursor: default; -} -.plx-input { - font-size: 14px; - height: 32px; - padding-left: 10px; - padding-right: 10px; - outline: 0; - border: 1px solid #d9d9d9; - border-radius: 3px; - vertical-align: middle; -} -.plx-input:focus { - border: 1px solid #108EE9; -} -.plx-input:disabled, -.plx-input[disabled] { - cursor: not-allowed; - background-color: #f5f5f5; -} -.plx-input-sm { - height: 28px; -} -.plx-input-right-no-radius { - border-bottom-right-radius: 0; - border-top-right-radius: 0; -} -.plx-radio-container { - font-size: 0; - position: relative; -} -.plx-radio { - position: absolute; - z-index: -1; - opacity: 0; -} -.plx-radio + .radio-substitute { - position: relative; - display: inline-block; - cursor: pointer; - height: 16px; - width: 16px; - border: 1px solid #d9d9d9; - border-radius: 16px; - vertical-align: middle; -} -.plx-radio:hover + .radio-substitute, -.plx-radio:focus + .radio-substitute { - border-color: #108EE9; - outline: none; - background-image: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; -} -.plx-radio:checked + .radio-substitute { - border: 5px solid #108EE9; -} -.plx-radio:disabled + .radio-substitute, -.plx-radio[disabled] + .radio-substitute { - border-color: #d9d9d9; - background-color: #f5f5f5; - cursor: not-allowed; -} -.plx-radio:checked [disabled] + .radio-substitute { - border-color: #e9e9e9; - background-color: #e9e9e9; - cursor: not-allowed; -} -.plx-radio + .radio-substitute + span { - font-weight: normal; - font-size: 14px; - cursor: pointer; - vertical-align: middle; - padding-left: 10px; -} -.plx-radio:disabled + .radio-substitute + span, -.plx-radio[disabled] + .radio-substitute + span { - cursor: not-allowed; -} -/*radio-group*/ -.btn.dropdown-toggle, -.btn-group .btn.dropdown-toggle, -.btn:hover, -.btn:disabled, -.btn[disabled], -.btn:focus, -.btn:active, -.btn.active { - outline: none !important; - background-image: none !important; - filter: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; -} -.plx-radio-group { - cursor: pointer; - font-size: 14px; - height: 32px; - background-color: #fff; - border: 1px solid #d9d9d9; - color: #595959; - border-radius: 3px; - padding: 0px 16px; - min-width: 88px; - transition: none; -} -.plx-radio-group:hover, -.plx-radio-group:focus, -.plx-radio-group:active { - outline: none; - background-image: none; - filter: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; -} -.plx-radio-group:hover, -.plx-radio-group:focus { - color: #108ee9; - border-color: #108ee9; - background-color: #fff; -} -.plx-radio-group:active { - color: #fff; - border-color: #108ee9; - background-color: #108ee9; -} -.plx-radio-group.active { - background-color: #108EE9; - color: #fff; - border-color: #108EE9; -} -.plx-radio-group > span { - line-height: 30px; -} -.plx-radio-group-sm { - height: 28px; - padding: 0px 14px; - min-width: 68px; -} -.plx-radio-group-sm > span { - line-height: 26px; -} -.plx-ui-steps-number-active { - background: #108ee9; - color: #ffffff; -} -.plx-ui-steps-number-passive { - background: #d9d9d9; - color: #ffffff; -} -.plx-ui-steps-number-visited { - color: #ffffff; - border: 2px #108ee9 solid; -} -.plx-ui-underline-active { - background: #108ee9; -} -.plx-ui-underline-passive { - background: #e9e9e9; -} -.plx-ui-steps-title-active { - color: #595959; -} -.plx-ui-steps-title-passive { - color: #999999; -} -.plx-ui-steps-title-visited { - color: #999999; -} -.plx-ui-steps-number-visited-tick { - border-bottom: 2px solid #108ee9; - border-right: 2px solid #108ee9; -} -.plx-ui-underline-active-vertical { - border-right: 2px solid #d9d9d9; -} -.plx-ui-underline-visited-vertical { - border-right: 2px solid #108ee9; -} -.plx-ui-underline-passive-vertical { - border-right: 2px solid #d9d9d9; -} -.plx-ui-steps-title-active-vertical { - color: #595959; -} -.plx-ui-steps-title-visited-vertical { - color: #999999; -} -.plx-ui-steps-title-passive-vertical { - color: #999999; -} -.plx-ui-steps-number-active-vertical { - background: #108ee9; - color: #ffffff; -} -.plx-ui-steps-number-passive-vertical { - background: #d9d9d9; - color: #ffffff; -} -.plx-ui-steps-number-visited-vertical { - color: #ffffff; -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/themes/NIV/theme.less b/sdc-workflow-designer-ui/src/app/paletx/assets/themes/NIV/theme.less deleted file mode 100644 index a145f3fa..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/assets/themes/NIV/theme.less +++ /dev/null @@ -1,89 +0,0 @@ -//-------------------common start------------------------ -// -------- Colors start----------- -//配置说明:通常primary-color和primary-color-guide相同,某些产品需要有特别引导用户操作的按钮时,可以单独定义primary-color-guide -@primary-color: #108EE9; //主色,用于重点按钮底色,普通按钮文字色、tab页的选中横条色、进度条色、分组标题竖线等, 应用开发需要关注搭配class plx-btn-primary t -@guide-color: #5cb85c; //引导色,搭配class plx-btn-guide -@success-color: #00A854; //搭配class plx-btn-success -@warning-color: #F3B709; //搭配class plx-btn-warning -@error-color: #EA4335; //搭配class plx-btn-error -@common-color: #fff; //搭配class plx-btn - -//Colors-hover -@primary-color-hover: #0D75BF; -@primary-color-guide-hover: #00994d; -@success-color-hover: #00994D; -@warning-color-hover: #C99703; -@error-color-hover: #DD1B0A; -@common-color-hover: #fff; -@btn-common-color-text-hover: #108ee9; -@btn-common-color-border-hover: #108ee9; - - -//colors-click -@primary-color-click: #0C66A7; -@primary-color-guide-click: #008040; -@success-color-click: #008040; -@warning-color-click: #977202; -@error-color-click: #B92113; -@common-color-click: #108ee9; -@btn-common-color-text-click: #fff; -@btn-common-color-border-click: #108ee9; - -//opacity-disable -@opacity-disable: 0.5; -//text-color-scenes,在按钮或tab上的文字色 -@scene-textcolor: #fff; //用于有底色时的文字颜色,搭配class plx-btn-primary,plx-btn-* -@common-textcolor: @primary-color; //用于普通按钮和链接上的文字颜色,应用关注搭配 class plx-btn -//text color -@text-color: #595959; //普通文字颜色,不需要专用class -@title-text-color: #404040; //用于标题文字颜色 -@disabled-text-color: #bfbfbf; //用于禁用状态文字、placeholder文字颜色 -@light-text-color: #737373; //较浅色 -@unselected-text-color: #999; //用于未选中文字颜色 -@form-label:#737373;//用于表单标签颜色 -// Background color for `` -@body-bg: #fff; -// Base background color for most components -@component-bg: #fff; -@hover-bg-color: #E7F4FD; //用于菜单 、列表项、树项、表格行的hover背景色 -@selected-bg-color: #f5f5f5; //用于菜单 、列表项、树项、表格行的选中背景色 -@input-bg-color-disabled: #f5f5f5; //用于输入框禁用状态背景色 -//边框 -@border-color-base: #d9d9d9; // base border outline a component 搭配class: plx-border -@border-color-split: #e9e9e9; // split border inside a component 搭配class: plx-split -//字体图标 -@fonticon-color: #8e8e8e; //字体图标颜色,搭配class: plx-icon-* -@fonticon-bg-color-hover: @hover-bg-color; //一般字体图标hover时背景色变化 -@fonticon-color-hover: @primary-color; //当字体图标本身有背景色的时候,使用图标颜色本身加深的hover颜色。 -// Shadow -@shadow-color: rgba(0, 0, 0, .2); //阴影颜色,个别组件需要,无需搭配固定class - -// -------- Colors end------------- -// -------- font start------------- -@font-family: PingFang SC, Hiragino Sans GB, Microsoft YaHei, Segoe UI, Helvetica, Arial, "san-serif"; -@font-size-spacing:20px; //用于间距定义 -@font-size: 14px; //正文文字 -@font-size-title-level1: @font-size + 6px; //一级标题 -@font-size-title-level2: @font-size + 2px; //二级标题 -@font-size-title-group: @font-size + 2px; -// -------- font end--------------- -// -------- radius start------------- -@radius: 3px; //圆角 -@radius-sm: 2px; //小按钮圆角,用于下拉多选框的已选项的圆角 -@radius-lg: 20px; //用于标签,搭配class:plx-tag -// -------- radius start------------- -//size -//checkbos -@checkbox-size: @font-size+2px; //复选框高度 -//btn -@btn-height: 32px; //按钮高度 -@btn-height-sm: 28px; //小尺寸按钮,搭配class:plx-btn-sm -@btn-height-xs: 24px; //加小尺寸按钮,搭配class:plx-btn-xs -// Input -@input-height: 32px; //输入框高度 -@input-height-sm: 28px; //小尺寸输入框,搭配class:plx-input-sm - - - -@import "../common.less"; -@import "./NIV-theme.less"; \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/themes/common.less b/sdc-workflow-designer-ui/src/app/paletx/assets/themes/common.less deleted file mode 100644 index c57a0a13..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/assets/themes/common.less +++ /dev/null @@ -1,5577 +0,0 @@ -/////// - -.plx-breadcrumb { - margin: 0; - padding: 5px 10px; - font-size: 12px; - li { - display: inline-block; - } - a { - color: @light-text-color; - text-decoration: none; - &:hover { - color: @primary-color; - } - } - .plx-breadcrumb-separator { - color: @unselected-text-color; - padding: 0 5px; - vertical-align: 1px; - } - .plx-breadcrumb-collapse { - padding-left: 6px; - padding-right: 6px; - cursor: pointer; - circle { - fill: @fonticon-color; - } - &:hover circle { - fill: @primary-color; - } - } - .plx-breadcrumb-active { - vertical-align: 1px; - a { - font-size: 20px; - color: @title-text-color; - cursor: text; - } - } -} -/////// -/////// -/////// - -.owl-dateTime { - display: inline-block; - position: relative; - width: 100%; - font-family: @font-family; - font-size: @font-size; - background: @component-bg; - color: @text-color; -} - -.owl-dateTime input { - .plx-input; -} - -.owl-dateTime input:-ms-input-placeholder { - color: @unselected-text-color !important; -} -.owl-dateTime input::-webkit-input-placeholder { - color: @unselected-text-color !important; -} - -.owl-dateTime-input { - width: 100%; - padding-right: 1.5em; } - -.owl-dateTime-cancel { - position: absolute; - top: 50%; - right: .1em; - border-radius: 50%; - transform: translateY(-50%); - cursor: pointer; - color: inherit; } - -.owl-dateTime-inputWrapper { - position: relative; } - -.owl-dateTime-customTemp { - display: inline-block; - position: relative; } - -.owl-dateTime-dialog { - padding: 0px; - position: absolute; } - -.owl-dateTime-dialogHeader { - display: flex; - justify-content: center; - align-items: center; - width: 100%; } - -.owl-calendar-wrapper, -.owl-timer-wrapper { - position: relative; - width: 100%; - padding: .2em .5em; } - -.owl-calendar-control { - display: flex; - justify-content: space-around; - width: 100%; - height: 2em; } - .owl-calendar-control .owl-calendar-controlNav { - position: relative; - cursor: pointer; - width: 12.5%; } - .owl-calendar-control .owl-calendar-controlContent { - display: flex; - justify-content: center; - align-items: center; - width: 75%; - height: 100%; } - -.owl-calendar { - position: relative; - min-height: 13.7em; } - .owl-calendar table { - width: 100%; - border-collapse: collapse; } - .owl-calendar tbody td { - position: relative; - text-align: center; } - .owl-calendar tbody td a { - display: block; - width: 100%; - height: 100%; - text-decoration: none; - color: inherit; - font-size:12px; - } - .owl-calendar .owl-calendar-yearArrow { - position: absolute; - top: 50%; - width: 1.5em; - height: 1.5em; - transform: translateY(-50%); - cursor: pointer; } - .owl-calendar .owl-calendar-yearArrow.left { - left: -.5em; } - .owl-calendar .owl-calendar-yearArrow.right { - right: -.5em; } - -.owl-timer-wrapper { - position: relative; - display: flex; - justify-content: center; } - .owl-timer-wrapper .owl-timer { - position: relative; - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - width: 25%; - height: 100%; } - .owl-timer-wrapper .owl-timer-control { - display: flex; - justify-content: center; - align-items: center; - height: 30%; - width: 100%; - cursor: pointer; } - .owl-timer-wrapper .owl-timer-control .icon:before { - margin: 0; } - .owl-timer-wrapper .owl-timer-input { - width: 60%; - height: 100%; } - -/*# sourceMappingURL=picker.component.css.map */ -.font-face { - font-weight: normal; - font-style: normal; } - -[class^="paletx-datepicker-icon-"]:before, [class*="paletx-datepicker-icon-"]:before { - font-family: "fontello"; - font-style: normal; - font-weight: normal; - speak: none; - display: inline-block; - text-decoration: inherit; - width: 1em; - margin-right: .2em; - text-align: center; - /* opacity: .8; */ - /* For safety - reset parent styles, that can break glyph codes*/ - font-variant: normal; - text-transform: none; - /* fix buttons height, for twitter bootstrap */ - line-height: 1em; - /* Animation center compensation - margins should be symmetric */ - /* remove if not needed */ - margin-left: .2em; - /* you can be more comfortable with increased icons size */ - /* font-size: 120%; */ - /* Font smoothing. That was taken from TWBS */ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - /* Uncomment for 3D effect */ - /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ } - -.paletx-datepicker-icon-cancel:before { - content: '\e802'; } - -/* '' */ -.paletx-datepicker-icon-up-open:before { - content: '\e805'; } - -/* '' */ -.paletx-datepicker-icon-down-open:before { - content: '\e80b'; } - -/* '' */ -.paletx-datepicker-icon-left-open:before { - content: '\e817'; } - -/* '' */ -.paletx-datepicker-icon-right-open:before { - content: '\e818'; } - -/* '' */ -.owl-widget, -.owl-widget * { - box-sizing: border-box; } - -.owl-widget { - font-size: 1em; } -.owl-padding{ - padding: 0px; -} -.owl-corner-all { - border-radius: 3px; } - -.owl-corner-top { - border-top-left-radius: 3px; - border-top-right-radius: 3px; } - -.owl-state-default { - border: 1px solid @border-color-base; - background: @component-bg; - color: @text-color; } - -.owl-inputtext { - margin: 0; - outline: medium none; - transition: .2s; } - - - .owl-dateTime.owl-dateTime-inline { - width: auto; } - .owl-dateTime.owl-dateTime-inline .owl-dateTime-dialog { - position: relative; - z-index: auto; } - -.owl-dateTime-dialog { - width: 300px; - user-select: none; - z-index: 99999; } - -.owl-dateTime-dialogHeader { - height: 2.5em; - padding: .25em; - background-color: @component-bg; - overflow-y: auto; } - -.owl-calendar-control .owl-calendar-controlNav .nav-prev, -.owl-calendar-control .owl-calendar-controlNav .nav-next { - position: absolute; - top: 50%; - right: auto; - bottom: auto; - left: 50%; - transform: translate(-50%, -50%); -} - -.owl-cal-header{ - background: @selected-bg-color; - //color: @form-label; - height: 35px; - //width: 105%; - //margin-left: -7px; -} - .owl-calendar-control .owl-calendar-controlNav .nav-prev:before, - .owl-calendar-control .owl-calendar-controlNav .nav-next:before { - //content: ""; - border-top: .5em solid transparent; - border-bottom: .5em solid transparent; - border-right: 0.75em solid #000000; - width: 0; - height: 0; - display: block; - margin: 0 auto; } -.owl-calendar-control .owl-calendar-controlNav .nav-next:before { - border-right: 0; - border-left: 0.75em solid #000000; } -.owl-calendar-control .owl-calendar-controlContent .month-control, -.owl-calendar-control .owl-calendar-controlContent .year-control { - color: @unselected-text-color; - display: inline-block; - cursor: pointer; - transition: transform 200ms ease; } - .owl-calendar-control .owl-calendar-controlContent .month-control:hover, - .owl-calendar-control .owl-calendar-controlContent .year-control:hover { - // transform: scale(1.2); } - color: @guide-color; } -.owl-calendar-control .owl-calendar-controlContent .month-control { - font-size: @font-size-title-group; - margin-right: .8rem; -} -.owl-calendar-control .owl-calendar-controlContent .year-control { - font-size: @font-size-title-group; -} - -.owl-calendar tbody td.owl-calendar-selected { - background-color: @guide-color; - color: @component-bg } -.owl-calendar tbody td.owl-calendar-invalid { - color: @disabled-text-color } -.owl-calendar tbody td.owl-calendar-outFocus { - color: @unselected-text-color; } -.owl-calendar tbody td.owl-calendar-hidden { - visibility: hidden; } - /** -.owl-calendar tbody td:not(.owl-calendar-selected):not(.owl-calendar-invalid):hover { - background-color: @hover-bg-color; - color: @shadow-color } -**/ -.owl-years td.owl-year, -.owl-years td.owl-month, -.owl-months td.owl-year, -.owl-months td.owl-month { - font-size: 1.2em; - height: 2.5em; - width: 33.33%; - line-height: 2.5em; - border-radius: 60px; - } - -.owl-weekdays th.owl-weekday { - height: 1em; - line-height: 2em; - text-align: center; - font-weight: normal; - font-size: @font-size; - /**color: @unselected-text-color; **/ - } - -.owl-days td.owl-day { - border-radius: 30px; - height: 2em; - width: calc(100% / 7); - line-height: 2em; } - .owl-days td.owl-day.owl-day-today:before { - content: ''; - display: block; - position: absolute; - right: 2px; - top: 2px; - color: @primary-color; - border-top: 0.5em solid @primary-color-hover; - border-left: .5em solid transparent; - } - -.owl-timer-wrapper { - height: 5.4em; - background-color: @shadow-color; } - .owl-timer-wrapper .owl-timer-text { - display: flex; - justify-content: center; - align-items: center; - width: 100%; - height: 40%; - font-size: 1.5em; } - .owl-timer-wrapper .owl-meridian-btn { - font-size: .8em; - color: @guide-color; - background-image: none; - background-color: transparent; - border-color: @guide-color; } - .owl-timer-wrapper .owl-meridian-btn:hover { - color: @scene-textcolor; - background-color: @guide-color; - border-color: @guide-color; } - -.owl-timer-divider { - display: inline-block; - align-self: flex-end; - position: absolute; - width: .6em; - height: 100%; - left: -.3em; } - .owl-timer-divider .owl-timer-dot { - display: block; - width: .3em; - height: .3em; - position: absolute; - left: 50%; - border-radius: 50%; - transform: translateX(-50%); } - .owl-timer-divider .owl-timer-dot.dot-top { - top: 38%; } - .owl-timer-divider .owl-timer-dot.dot-bottom { - bottom: 38%; } -.owl-icon{ - position: absolute; - top: 50%; - right: .1em; - border-radius: 50%; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); - cursor: pointer; - color: @fonticon-color; -} - -.oes-time-control{ - color: @text-color !important; -} -.owl-calendar-selected { - background-color: @guide-color; - color: #fff; - border-radius: 50%; -} -.owl-calendar tbody td div.day:not(.owl-calendar-selected):not(.owl-calendar-invalid):hover { - background-color: @hover-bg-color; - color:#000; - border-radius: 50%; } -.oes-time-control{ - font-size: @font-size; -} -.owl-calendar-year-part{ - width: 42px; - margin-left: 30px; - text-align: center; -} -.owl-calendar-year-part:hover{ - background-color: @hover-bg-color; - color:#000; - border-radius: 50%; -} -.owl-calendar-year-selected{ - background-color: @guide-color; - color: #fff; - border-radius: 50%; -} -.owl-calendar-year-selected:hover{ - background-color: @guide-color; - color: #fff; - border-radius: 50%; -} -.owl-calendar-month-part{ - width: 42px; - margin-left: 30px; - text-align: center; -} -.owl-calendar-month-part:hover{ - background-color: @hover-bg-color; - color:#000; - border-radius: 50%; -} -.owl-calendar-month-selected{ - background-color: @guide-color; - color: #fff; - border-radius: 50%; -} -.owl-calendar-month-selected:hover{ - background-color: @guide-color; - color: #fff; - border-radius: 50%; -} - -/*# sourceMappingURL=picker.css.map */ - - -/////// -/////// -/////// -.oes-time-table .chevron::before { - border-style: solid; - border-width: 0.29em 0.29em 0 0; - content: ''; - display: inline-block; - height: 0.69em; - left: 0.05em; - position: relative; - top: 0.15em; - transform: rotate(-45deg); - -webkit-transform: rotate(-45deg); - -ms-transform: rotate(-45deg); - vertical-align: middle; - width: 0.71em; -} - -.oes-time-table .chevron.bottom:before { - top: -.3em; - -webkit-transform: rotate(135deg); - -ms-transform: rotate(135deg); - transform: rotate(135deg); -} - -.oes-time-table .btn-link { - border: none!important; - cursor: pointer; - outline: 0; - display: block; -} - -.oes-time-table .btn-link.disabled { - cursor: not-allowed; - opacity: .65; -} - -.oes-time-control { - text-align: center; -} - -.datapicker-form-control { - width: auto !important; - display: inline-block; -} - -.oes-time-table .ict-stretch{ - - font-size: 8px; -} - -.oes-time-table .ict-shrink{ - font-size: 8px; -} -.time-pick-bk{ - background-color: #fff; -} - -.btn-link:focus, .btn-link:hover{ - text-decoration: none; -} -.oes-time-control{ - border: 0; - width: 30px !important; - padding: 3px 0; - margin: 0; - font-size: @font-size; -} - -.oes-time-control:hover{ - background-color: #e6e6e6; - color:#000; - cursor: pointer; -} - - -.oes-time-control-foucs-bk{ - background-color: #00abff !important; - color:#fff!important; - -} - -.oes-time-separator{ - margin: 0 -5px; -} -.oes-time-group,.oes-time-group:hover{ - - border-bottom: 1px solid #ccc; - border-left: 1px solid #ccc; - border-top: 1px solid #ccc; - border-radius: 0.2em; - } - .oes-time-btns,.oes-time-btns:hover{ - - border-bottom: 1px solid #ccc; - border-right: 1px solid #ccc; - border-top: 1px solid #ccc; - border-radius: 0.2em; - padding: 0 0 7px 0 !important; - - } - - .oes-time-btns-wrapper { - margin-top:-3px; - transform:scale(0.6,0.6); - } - - .i18nTimeDes,.i18nTimeDes:hover{ - - padding: 0 5px 0px 0; - - } - - .oes-time-btn{ - - height: 5px; - } - - - .oes-time-table{ - margin-bottom: 10px; - } - -.hour-table{ - - font-size:12px; -} - -.hour-table td{ - - padding: 5px; - padding-top: 3px; - padding-bottom: 3px; - cursor: pointer; -} -.oes-time-btn-shrink{ - position: relative; - top:-5px; - left:0px; - color:#CCC; -} - -.oes-time-btn-stretch{ - position: relative; - left:0px; - color:#CCC; -} -.owl-calendar-timer-invalid{ - color: #acacac; -} -.owl-calendar-timer-selected{ - background-color: #00abff; - color: #FFFFFF; - border-radius: 1.2em; -} -.hour-table td:not(.owl-calendar-timer-selected):not(.owl-calendar-timer-invalid):hover { - background-color: #ebf6fd; - color: #000000; - border-radius: 1.2em; -} - - - - -/////// - -.icon { - color: @fonticon-color; - vertical-align: text-bottom; - margin-left:5px; - font-size: 20px; -} - -/////// - - -.plx-input-password { - display: inline-block; - line-height: @input-height - 2px; - width: 40px; - text-align: center; - vertical-align: middle; - margin-top: -2px; - background-color: @common-color; - border-top: 1px solid @border-color-base; - border-right: 1px solid @border-color-base; - border-bottom: 1px solid @border-color-base; - border-bottom-right-radius: @radius; - border-top-right-radius: @radius; - cursor: pointer; - &:focus, - &:hover { - background-color: @common-color-hover; - } - &:active { - background-color: @common-color-click; - } - &.ict-eye-closed, &.ict-eye { - color: @fonticon-color; - } -} - - -.plx-input-password-disabled { - cursor: not-allowed; - &:focus, - &:hover, - &:active{ - background-color: @common-color; - } -} - -.plx-input-password-sm { - line-height: @input-height-sm - 2px; -} -/////// - -@-moz-keyframes three-quarters-loader { - 0% { - -moz-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -moz-transform: rotate(360deg); - transform: rotate(360deg); - } -} - -@-webkit-keyframes three-quarters-loader { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} - -@keyframes three-quarters-loader { - 0% { - -moz-transform: rotate(0deg); - -ms-transform: rotate(0deg); - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -moz-transform: rotate(360deg); - -ms-transform: rotate(360deg); - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} - -.plx-loading-max:not(:required) { - .plx-loading; - width: 72px; - height: 72px; - border: 5px solid @primary-color; - border-right-color: @component-bg; - border-radius: 36px; -} - -.plx-loading-medium:not(:required) { - .plx-loading; - width: 36px; - height: 36px; - border: 4px solid @primary-color; - border-right-color: @component-bg; - border-radius: 18px; -} - -.plx-loading-min:not(:required) { - .plx-loading; - width: 18px; - height: 18px; - border: 2px solid @primary-color; - border-right-color: @component-bg; - border-radius: 9px; -} - -.plx-loading-default:not(:required) { - margin-left: 100px; - margin-top: 100px; - box-sizing: border-box; - display: inline-block; - position: relative; - overflow: hidden; - text-indent: -9999px; - width: 36px; - height: 36px; - border: 4px solid @primary-color; - border-right-color: @component-bg; - border-radius: 18px; -} - -.plx-loading-xs:not(:required) { - .plx-loading; - width: 12px; - height: 12px; - border: 2px solid @primary-color; - border-right-color: @component-bg; - border-radius: 6px; -} - -.plx-loading { - -moz-animation: three-quarters-loader 1500ms infinite linear; - -webkit-animation: three-quarters-loader 1500ms infinite linear; - animation: three-quarters-loader 1500ms infinite linear; - box-sizing: border-box; - display: inline-block; - position: relative; - overflow: hidden; - text-indent: -9999px; -} - -.plx-loading-white:not(:required) { - .plx-loading; - width: 12px; - height: 12px; - border: 2px solid @component-bg; - border-right-color: @primary-color; - border-radius: 6px; -} - -.plx-loading-gray:not(:required) { - .plx-loading; - width: 12px; - height: 12px; - border: 2px solid @disabled-text-color; - border-right-color: @component-bg; - border-radius: 6px; -} - -/////// -.message{ - width: 400px; - right:10px; - position: fixed; - z-index: 99999; - font-family: @font-family; - font-weight: 400; - font-style: normal; - font-size:14px; - color: @title-text-color; -} -.message>p{ - width: 100%; - margin: 10px 0 16px; - padding: 0 25px ; - border:1px solid @border-color-split; - box-shadow: 1px 3px 9px @shadow-color; - line-height: 36px; - background: @component-bg; - font-size: @font-size !important; - color: @text-color; -} -.message>p>span{ - float: right; - cursor: pointer; - font-weight: 400; - font-style: normal; - color: #108EE9; - text-align: center; - &:hover{ - text-decoration: underline; - } -} -.message>div{ - width: 100%; - margin-bottom: 16px; - border:1px solid ; - line-height: 62px; - border:1px solid @border-color-split; - box-shadow: 1px 4px 9px @shadow-color; - border-radius: 5px; - background: @component-bg; - position: relative; -} -.message>div>span{ - display: inline-block; - font-size:24px !important; - margin-left:12px; - margin-right: 3px; - vertical-align: middle; -} -.message>div.success{ - border-left:4px solid @success-color; -} -.message>div.success>span{ - color: @success-color; -} -.message>div.error{ - border-left:4px solid @error-color; -} -.message>div.error>span{ - color: @error-color; -} - -.message>div.warning{ - border-left:4px solid @warning-color; -} -.message>div.warning>span{ - color: @warning-color; -} -.message>div.info{ - border-left:4px solid @primary-color; -} -.message>div.info>span{ - color:@primary-color; -} -// .message>div.info>span{ -// color: @info-color; -// } -.message>div>i{ - float:right; - width: 20px; - height: 20px; - margin-top:21px; - line-height: 20px; - border-radius: 50%; - margin-right: 20px; - cursor: pointer; - text-align: center; - font-size: 16px; - &:hover{ - background: @hover-bg-color; - } -} - -.message>div>p{ - position: relative; - top:-3px; - margin: 0; - padding: 0 20px 16px 43px; - font-size: @font-size !important; - color: @text-color; - line-height: 18px; - position: relative; -} -.message>div>p>span{ - color: @primary-color; - cursor:pointer; - &:hover{ - text-decoration: underline; - } -} -.message>div>div{ - padding-left:45px ; - padding-bottom:19px; - font-size: @font-size; - color: @primary-color; - line-height: 18px; - cursor: pointer; - &:hover{ - text-decoration: underline; - } -} -#plxMessageMeasure{ - position: fixed; - top:-12px; - opacity: 0; - white-space: nowrap; - margin: 0; - padding:0; - // background: red; - font-size: @font-size !important; - line-height: @font-size; - z-index:-9999; -} -.stack>span{ - display: inline-block; - position: absolute; - bottom:16px; - right:25px; -} -/////// - -plx-modal-window { - .modal { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - display: none; - outline: 0; - z-index: 10000; - } - .modal-dialog { - position: relative; - max-width: 600px; - margin: 30px auto; - &.modal-sm { - max-width: 600px; - } - &.modal-lg { - max-width: 1000px; - } - } - .modal-content { - position: relative; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - background-color: @component-bg; - background-clip: padding-box; - border-radius: @radius; - box-shadow: 0 5px 15px @shadow-color; - outline: 0; - .modal-header { - border-bottom: 0; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - padding: 15px; - } - .modal-body { - .form-group:last-child, form:last-child { - margin-bottom: 0; - } - } - .modal-footer { - display: block; - border-top: 0; - margin-top: 0; - padding: 0 15px 15px 15px; - } - .modal-title { - font-size: @font-size-title-level1; - margin-bottom: 0; - line-height: 1.5; - } - .modal-btn { - text-align: center; - font-size: 0; - } - } - .close { - color: @fonticon-color; - font-size: @font-size-title-level2; - text-shadow: none; - width: 24px; - height: 24px; - background: @scene-textcolor; - border-radius: 20px; - padding-bottom: 2px; - outline: none; - &:hover { - color: @fonticon-color; - background: @fonticon-bg-color-hover; - } - } - .alert-modal { - &.row { - margin-left: 100px; - margin-bottom: 30px; - text-align: left; - .tip-img { - display: inline-block; - width: 52px; - height: 52px; - border-radius: 50px; - font-size: 45px; - text-align: center; - line-height: 1; - margin-top: -5px; - margin-right: 15px; - &::before { - content: "!"; - } - } - .tip-info { - width: 300px; - .alert-title { - font-size: @font-size-title-level2; - color: @title-text-color; - } - .alert-result { - margin-top: 5px; - font-size: @font-size; - color: @unselected-text-color; - } - } - .warning { - border: 3px solid @warning-color; - color: @warning-color; - } - .error { - border: 3px solid @error-color; - color: @error-color; - } - } - } -} -/////// - - -@popover-arrow-border-width: 6px; -@popover-arrow-border-width-before: 7px; -@popover-arrow-border-height: @popover-arrow-border-width-before - @popover-arrow-border-width; -@popover-arrow-away: 10px; -@popover-arrow-background-color: #fff; -@popover-arrow-border-color: #ccc; -@popover-away-host: 3px; - -ngb-popover-window.plx-popover.show { - color: #333; - border: 1px solid @border-color-base; -} - -.plx-popover { - position: absolute; - top: 0; - left: 0; - z-index: 10001; - display: block; - padding: 1px; - font-style: normal; - font-weight: normal; - letter-spacing: normal; - line-break: auto; - line-height: 1.5; - text-align: left; - text-decoration: none; - text-shadow: none; - text-transform: none; - white-space: normal; - word-break: normal; - word-spacing: normal; - word-wrap: break-word; - -webkit-background-clip: padding-box; - background-clip: padding-box; - max-width: 400px; - min-width: 200px; - background-color: @component-bg; - font-family: @font-family; - font-size: @font-size; - border: 1px solid @border-color-base; - border-radius: @radius; - .shadow; - &::before, - &::after { - content: ""; - position: absolute; - display: block; - width: 0; - height: 0; - border: solid transparent; - } - &::before { - border-width: @popover-arrow-border-width-before; - } - &::after { - border-width: @popover-arrow-border-width; - } -} - -.plx-popover-top-common { - margin-top: -(@popover-arrow-border-width + @popover-away-host); - &::before { - border-top-color: @popover-arrow-border-color; - border-bottom-width: 0; - bottom: -@popover-arrow-border-width-before; - } - &::after { - border-top-color: @popover-arrow-background-color; - border-bottom-width: 0; - bottom: -@popover-arrow-border-width; - } -} -.plx-popover-top { - .plx-popover-top-common; - &::before { - left: 50%; - margin-left: -@popover-arrow-border-width-before; - } - &::after { - left: 50%; - margin-left: -@popover-arrow-border-width; - } -} -.plx-popover.plx-popover-top-left { - .plx-popover-top-common; - &::before { - left: @popover-arrow-away; - } - &::after { - left: @popover-arrow-away + @popover-arrow-border-height; - } -} -.plx-popover.plx-popover-top-right { - .plx-popover-top-common; - &::before { - right: @popover-arrow-away; - } - &::after { - right: @popover-arrow-away + @popover-arrow-border-height; - } -} - -.plx-popover-right-common { - margin-left: @popover-arrow-border-width + @popover-away-host; - &::before { - border-right-color: @popover-arrow-border-color; - border-left-width: 0; - left: -@popover-arrow-border-width-before; - } - &::after { - border-right-color: @popover-arrow-background-color; - border-left-width: 0; - left: -@popover-arrow-border-width; - } -} -.plx-popover.plx-popover-right { - .plx-popover-right-common; - &::before { - top: 50%; - margin-top: -@popover-arrow-border-width-before; - } - &::after { - top: 50%; - margin-top: -@popover-arrow-border-width; - } -} -.plx-popover.plx-popover-right-top { - .plx-popover-right-common; - &::before { - top: @popover-arrow-away; - } - &::after { - top: @popover-arrow-away + @popover-arrow-border-height; - } -} -.plx-popover.plx-popover-right-bottom { - .plx-popover-right-common; - &::before { - bottom: @popover-arrow-away; - } - &::after { - bottom: @popover-arrow-away + @popover-arrow-border-height; - } -} - -.plx-popover-bottom-common { - margin-top: @popover-arrow-border-width + @popover-away-host; - &::before { - border-bottom-color: @popover-arrow-border-color; - border-top-width: 0; - top: -@popover-arrow-border-width-before; - } - &::after { - border-bottom-color: @popover-arrow-background-color; - border-top-width: 0; - top: -@popover-arrow-border-width; - } -} -.plx-popover.plx-popover-bottom { - .plx-popover-bottom-common; - &::before { - left: 50%; - margin-left: -@popover-arrow-border-width-before; - } - &::after { - left: 50%; - margin-left: -@popover-arrow-border-width; - } -} -.plx-popover.plx-popover-bottom-left { - .plx-popover-bottom-common; - &::before { - left: @popover-arrow-away; - } - &::after { - left: @popover-arrow-away + @popover-arrow-border-height; - } -} -.plx-popover.plx-popover-bottom-right { - .plx-popover-bottom-common; - &::before { - right: @popover-arrow-away; - } - &::after { - right: @popover-arrow-away + @popover-arrow-border-height; - } -} - -.plx-popover-left-common { - margin-left: -(@popover-arrow-border-width + @popover-away-host); - &::before { - border-left-color: @popover-arrow-border-color; - border-right-width: 0; - right: -@popover-arrow-border-width-before; - } - &::after { - border-left-color: @popover-arrow-background-color; - border-right-width: 0; - right: -@popover-arrow-border-width; - } -} - -.plx-popover.plx-popover-left { - .plx-popover-left-common; - &::before { - top: 50%; - margin-top: -@popover-arrow-border-width-before; - } - &::after { - top: 50%; - margin-top: -@popover-arrow-border-width; - } -} - -.plx-popover.plx-popover-left-top { - .plx-popover-left-common; - &::before { - top: @popover-arrow-away; - } - &::after { - top: @popover-arrow-away + @popover-arrow-border-height; - } -} -.plx-popover.plx-popover-left-bottom { - .plx-popover-left-common; - &::before { - bottom: @popover-arrow-away; - } - &::after { - bottom: @popover-arrow-away + @popover-arrow-border-height; - } -} - -.plx-popover .plx-popover-title { - padding: 8px 14px; - margin-bottom: 0; - font-size: @font-size-title-level2; - background-color: @component-bg; - border-bottom: 1px solid @border-color-base; - &:empty { - display: none; - } -} - -.plx-popover .plx-popover-content { - padding: 9px 14px; - background-color: @component-bg; -} - -.plx-popover .ict-warning { - color: @error-color; - font-size: 24px; - margin-right: 5px; -} - -//.popover .popo { -// text-align: center; -//} -// -//.popover .pop-btn { -// float: right; -// margin-top: 10px; -// margin-bottom: 10px; -// font-size: 0; -//} -// -//.popover .pop-btn .btn-s { -// margin-left: 10px; -//} -// -//.popover .tip-info span { -// vertical-align: middle; -//} -// -//.popover .tip-info .content { -// font-size: 14px; -//} - -.popover-template { - padding: 10px 0px; - min-width: 220px; - .popover-template-content { - padding: 10px 10px; - } - .popover-template-footer { - padding: 10px 10px 5px 10px; - text-align: center; - } - .popover-template-icon { - display: inline-block; - max-width: 30px; - float: left; - } - .popover-template-icon-area { - display: inline-block; - height: 100%; - vertical-align: middle; - } - .popover-template-msg { - display: inline-block; - max-width: 300px; - margin-left: 10px; - margin-top: 1px; - } -} -/////// - - -.plx-progress { - display: inline-block; - margin: 0 10px 1px 0; - border-radius: @radius-lg; - overflow: hidden; - background-color: #eee; - - .plx-progress-bar { - width: 0; - height: 8px; - transition: width 0.8s ease-in-out; - opacity: 1; - } - - .plx-progress-bar-info { - position: relative; - background-color: lighten(@primary-color, 10%); - &::before { - background-color: @primary-color; - content: ''; - position: absolute; - top: 0; - left: 0; - width: 0; - height: 8px; - animation: plx-progress-bar-stripes 0.5s cubic-bezier(0.23, 1, 0.32, 1) infinite; - } - } - - .plx-progress-bar-info.plx-progress-bar-reset { - transition: none; - } - - .plx-progress-bar-warning { - background-color: @error-color; - } - - .plx-progress-bar-success, - .plx-progress-bar-info.plx-progress-bar-success { - background-color: @primary-color; - } -} - -.plx-progress-info { - display: inline-block; - .fp-exclamation-circle { - color: @error-color; - } -} - -@keyframes plx-progress-bar-stripes { - from {width: 0;} - to {width: 100%;} -} - -:host(.plx-progressbar-sm) { - .plx-progressbar-sm-common; -} - -.plx-progressbar-sm { - .plx-progressbar-sm-common; - } - -.plx-progressbar-sm-common { - font-size: 12px; - .plx-progress-bar { - height: 2px; - } - .fp-exclamation-circle { - vertical-align: middle; - font-size: 12px; - } - .plx-progress-info span { - vertical-align: middle; - } -} - -/////// -/////// - -.search-input { - position: relative; - background: @component-bg; - color: @text-color; - } - - .search-input input { - .plx-input; - width: 100%; - font-family: @font-family; - font-size: @font-size; - color: @text-color; - } - - .search-input-sm { - height: @input-height-sm !important; - } - - .search-img { - color: @disabled-text-color; - position: absolute; - right: 8px; - top: 8px; - list-style: none; - font-size: 16px; - } - - .search-img-confirm { - color: @primary-color-click; - cursor: pointer; - } - - - // placeholder -::-webkit-input-placeholder { - color: @unselected-text-color !important; -} -:-moz-placeholder { - /* Mozilla Firefox 4 to 18 */ - color: @unselected-text-color !important; -} -::-moz-placeholder { - /* Mozilla Firefox 19+ */ - color:@unselected-text-color !important; -} -input:-ms-input-placeholder { - color: @unselected-text-color !important; -} -input::-webkit-input-placeholder { - color:@unselected-text-color !important; -} -/////// - -select-dropdown { - box-sizing: border-box; - font-family: @font-family; - font-size: @font-size; - outline: none; - & > div { - background-color: @component-bg; - position: absolute; - z-index: 9999; - &.select-sm .filter { - input { - height: @input-height-sm + 2; - } - .toggle { - top: 13px; - } - } - .filter { - width: 100%; - input { - border: 1px solid @primary-color; - border-radius: @radius; - padding: 0 10px; - width: 100%; - height: @input-height + 2; - } - .toggle { - display: block; - position: absolute; - top: 15px; - right: 10px; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-top: 4px solid lighten(@fonticon-color, 5%); - } - } - .options { - border: 1px solid @border-color-base; - border-top: none; - border-radius: @radius; - max-height: 160px; - overflow-y: auto; - ul { - list-style: none; - margin: 0; - padding: 0; - li { - color: @text-color; - height: 30px; - line-height: 18px; - padding: 6px 20px 6px 8px; - position: relative; - cursor: pointer; - user-select: none; - &.single-selected { - background-color: @selected-bg-color; - } - &.highlighted { - background-color: @hover-bg-color; - color: @text-color; - } - &.disabled { - background-color: @component-bg; - color: @disabled-text-color; - cursor: default; - pointer-events: none; - } - &.plx-select-message { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - } - .option-label { - display: inline-block; - width: 100%; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - } - .option-tick { - display: inline-block; - position: absolute; - right: 5px; - top: 5px; - } - .tick { - fill: none; - stroke: @success-color; - stroke-width: 2; - stroke-linecap: round; - stroke-linejoin: round; - stroke-miterlimit: 10; - } - } - } - } - } -} - -/////// - -@option-bg-color: #f8f8f8; -@option-border-color: #e6e6e6; -@deselect-option-color-hover: #555; - -plx-select { - display: inline-block; - margin: 0; - position: relative; - vertical-align: middle; - width: 100%; - &.ng-untouched:not(form).ng-untouched:not(fieldset) { - border: 0; - } - & * { - box-sizing: border-box; - font-family: @font-family; - font-size: @font-size; - outline: none; - } - & > div { - border: 1px solid @border-color-base; - border-radius: @radius; - cursor: pointer; - user-select: none; - width: 100%; - &.disabled { - background-color: @input-bg-color-disabled; - color: @disabled-text-color; - cursor: not-allowed; - //pointer-events: none; - } - &.focus-border { - border: 1px solid @primary-color !important; - } - &.select-sm { - .value, .placeholder { - height: @input-height-sm !important; - line-height: @input-height-sm !important; - } - .toggle { - top: 13px; - } - div.option { - height: 20px !important; - line-height: 14px !important; - } - input { - height: @input-height-sm; - line-height: @input-height-sm; - } - } - input { - background-color: transparent; - border: none; - border-radius: @radius; - cursor: pointer; - height: @input-height; - line-height: @input-height; - } - .toggle { - display: block; - position: absolute; - top: 15px; - right: 10px; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-top: 4px solid lighten(@fonticon-color, 5%); - } - .single { - display: flex; - width: 100%; - .value, .placeholder { - color: @text-color; - flex: 1; - height: @input-height; - line-height: @input-height; - overflow: hidden; - padding: 0 10px; - white-space: nowrap; - span { - display: inline-block; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - max-width: 100%; - } - } - .placeholder { - color: @unselected-text-color; - } - input { - flex: 1; - padding: 1px 10px 0 10px; - } - } - .multiple { - display: flex; - flex-flow: row wrap; - //min-height: @input-height; - padding: 0 10px; - width: 100%; - .placeholder { - flex: 1; - color: @unselected-text-color; - height: @input-height; - line-height: @input-height; - overflow: hidden; - white-space: nowrap; - } - input { - padding: 0; - margin-right: 10px; - } - div.option { - background-color: @option-bg-color; - border: 1px solid @option-border-color; - border-radius: @radius-sm; - color: @text-color; - cursor: default; - display: inline-block; - flex-shrink: 0; - height: 24px; - line-height: 18px; - margin: 4px 10px 4px 0; - padding: 2px 30px 2px 10px; - max-width: 100%; - position: relative; - span { - display: inline-block; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - max-width: 100%; - } - .deselect-option { - color: darken(@border-color-base, 10%); - cursor: pointer; - font-size: 8px; - position: absolute; - top: 2px; - right: 8px; - &:hover { - color: @deselect-option-color-hover; - } - } - } - } - } -} -/////// - -@plx-steps-circle-width: 24px; -@plx-steps-height: 40px; - -.plx-ui-steps { - height: @plx-steps-height; -} - -.plx-ui-horizon-ul-horizon { - display:flex; - box-orient: horizontal; - padding: 0; - font-size: @font-size; - font-family: @font-family; -} - -.plx-ui-steps-li { - list-style: none; - position: relative; - height: 24px; - line-height: 24px; - float: left; - margin-right: 0; -} - -.plx-ui-steps-number-active { - color: @component-bg; - background-color: @primary-color; - width: 24px; - height: 24px; - border-radius: 50%; - display: inline-block; - margin-right: 10px; - float: left; - text-align: center; -} -.plx-ui-steps-number-passive { - background-color: #D7D7D7; - color: @component-bg; - width: @plx-steps-circle-width; - height: @plx-steps-circle-width; - border-radius: 50%; - display: inline-block; - margin-right: 10px; - float: left; - text-align: center; -} -.plx-rapire-steps { - position: relative; -} -.plx-ui-steps-number-visited { - width: @plx-steps-circle-width; - height: @plx-steps-circle-width; - border-radius: 50%; - display: inline-block; - margin-right: 10px; - float: left; - position: relative; - color: @primary-color; - background-color: @body-bg; - border: 2px solid @primary-color; -} -.plx-ui-menuitem-div-passive { - position: absolute; - top:50%; - left:50%; - -webkit-transform: translate(-50%, -50%); - -moz-transform: translate(-50%, -50%); - -ms-transform: translate(-50%, -50%); - -o-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); -} - -.plx-ui-menuitem-div-active { - position: absolute; - top:50%; - left:50%; - -webkit-transform: translate(-50%, -50%); - -moz-transform: translate(-50%, -50%); - -ms-transform: translate(-50%, -50%); - -o-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); -} - -.plx-ui-menuitem-div-passive { - position: absolute; - top:50%; - left:50%; - -webkit-transform: translate(-50%, -50%); - -moz-transform: translate(-50%, -50%); - -ms-transform: translate(-50%, -50%); - -o-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); -} -.plx-ui-menuitem-div-visited { - position: absolute; - top:50%; - left:50%; - -webkit-transform: translate(-50%, -50%); - -moz-transform: translate(-50%, -50%); - -ms-transform: translate(-50%, -50%); - -o-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); -} - -.plx-ui-underline { - width: 386px; - height: 2px; - margin-top: @plx-steps-height - 1px + 10px; - position: absolute; - background-color: @primary-color; -} - -.passive .plx-ui-underline { - background-color: #D7D7D7; -} - -.plx-ui-steps-title-active { - white-space:nowrap; -} -.plx-ui-steps-title-passive { - white-space:nowrap; -} -.plx-ui-steps-title-visited { - white-space:nowrap; -} -.plx-ui-steps-number-visited-tick { - position: absolute; - background-color: transparent; - height: 12px; - width: 7px; - transform: rotate(45deg); - transform-origin: 50% 120%; - transition: all 0.2s; - border-right: 2px solid @primary-color; - border-bottom: 2px solid @primary-color; -} -/**********************************************************************************************************/ -.plx-ui-steps-display-vertical { - display:inline-block; -} -.plx-ui-steps-vertical { - height: auto; - width: auto; - min-width: 180px; - display:inline-block; - font-size: @font-size; - font-family: @font-family; -} -.plx-ui-horizon-ul-vertical { - display:inline-block; - box-orient:vertical; - width: auto; - padding: 0; -} -.plx-ui-underline-active-vertical { - margin-left:3px; - width: 10px; - display: table-caption; - min-height: 30px; - border-right: 2px solid #D7D7D7; -} -.plx-ui-underline-visited-vertical { - margin-left:3px; - width: 10px; - display: table-caption; - height: 30px; -} -.plx-ui-underline-passive-vertical { - height: 30px; - margin-left:3px; - width: 10px; - display: table-caption; - border-right: 2px solid #D7D7D7; -} -.plx-ui-steps-li-vertical { - list-style: none; - width: auto; -} - -.plx-ui-menuitem-div-active-vertical { - -} -.plx-ui-steps-title-active-vertical { - margin-left: 10px; - position: absolute; - width: auto; - height: 24px; - min-width: 64px; - margin-top: 1px; - white-space:nowrap; -} -.plx-ui-steps-title-visited-vertical { - margin-left: 10px; - position: absolute; - width: auto; - height: 24px; - min-width: 64px; - margin-top: 3px; - white-space:nowrap; -} -.plx-ui-steps-title-passive-vertical { - margin-left: 10px; - position: absolute; - width: auto; - height: 24px; - min-width: 64px; - margin-top: 1px; - white-space:nowrap; -} -.plx-ui-steps-number-visited-tick-vertical { - position: absolute; - background-color: transparent; - height: 12px; - width: 7px; - transform: rotate(45deg); - transform-origin: 50% 120%; - transition: all 0.2s; -} -.plx-ui-steps-number-active-vertical { - width: @plx-steps-circle-width; - height: @plx-steps-circle-width; - border-radius: 50%; - display: inline-block; - margin-right: 0; - float: left; - text-align: left; - position: relative; - line-height: @plx-steps-circle-width; -} - -.plx-ui-steps-number-passive-vertical { - width: @plx-steps-circle-width; - height: @plx-steps-circle-width; - border-radius: 50%; - display: inline-block; - margin-right: 0; - float: left; - text-align: left; - position: relative; - padding-top: 2px; - line-height: @plx-steps-circle-width; -} - -.plx-ui-steps-number-visited-vertical { - width: @plx-steps-circle-width; - height: @plx-steps-circle-width; - border-radius: 50%; - display: inline-block; - margin-right: 0; - float: left; - position: relative; - line-height: @plx-steps-circle-width; -} - -/////// - -.plx-tabset { - display: flex; - padding-left: 0; - margin-bottom: 0; - list-style: none; - - &.plx-nav-tabs { - border-bottom: 1px solid @border-color-base; - font-size: @font-size + 2px; - .plx-nav-item { - margin-bottom: -1px; - } - .plx-nav-link { - display: block; - border-radius: 0; - border: 1px solid transparent; - border-top: 2px solid transparent; - color: @unselected-text-color; - min-width: 100px; - text-align: center; - padding: 6px 16px; - &:hover, &:focus { - text-decoration: none; - background-color: @hover-bg-color; - border-bottom: 0; - border-left: 0; - border-right: 0; - } - &.active { - color: @text-color; - border-top: 2px solid @primary-color; - border-left: 1px solid @border-color-base; - border-right: 1px solid @border-color-base; - background-color: @component-bg; - &:hover, &:focus { - border-left: 1px solid @border-color-base; - border-right: 1px solid @border-color-base; - border-bottom: 1px solid transparent; - } - } - } - &.bottom { - .plx-nav-link { - border: 0; - border-bottom: 2px solid transparent; - &:hover { - border-bottom: 1px solid transparent; - } - &.active { - border: 0; - border-bottom: 2px solid @primary-color; - } - } - } - } - - &.plx-nav-pills { - .plx-nav-link { - border: 1px solid @border-color-base; - border-radius: 0.25em; - color: @unselected-text-color; - display: block; - padding: 6px 10px; - min-width: 100px; - text-align: center; - &:hover, &:focus { - text-decoration: none; - color: @btn-common-color-text-hover; - border-color: @btn-common-color-border-hover; - background-color: @common-color-hover; - } - &:active { - color: @btn-common-color-text-click; - border-color: @btn-common-color-border-click; - background-color: @common-color-click; - } - &.active { - color: @scene-textcolor; - cursor: default; - background-color: @primary-color; - border-color: @primary-color; - } - } - .plx-nav-item { - &:hover, &:focus, &:active { - z-index: 2; - } - &:first-child:not(:last-child) { - .plx-nav-link { - border-top-right-radius: 0; - border-bottom-right-radius: 0; - } - } - &:not(:first-child):not(:last-child) { - .plx-nav-link { - border-radius: 0; - } - } - &:last-child:not(:first-child) { - .plx-nav-link { - border-top-left-radius: 0; - border-bottom-left-radius: 0; - } - } - & + .plx-nav-item { - .plx-nav-link { - margin-left: -1px; - } - } - } - } -} - -.plx-tab-content { - .plx-tab-pane { - display: none; - &.active { - display: block; - } - } -} -/////// -/////// - -.plx-table-wrapper{ - position: relative; - width: 100%; -} -.plx-table-blur{ - opacity: .7; - filter: blur(.5px); -} -.plx-table-loading{ - position: absolute; - width: 100%; - height: 100%; - opacity: 1; - - z-index: 9999; -} -.plx-table-loading-content{ - position: absolute; - width: 36px; - height: 36px; - border: 5px solid @primary-color; - border-right-color: transparent; - top: calc(~"50% - 36px"); - left: calc(~"50% - 18px"); - animation: plx-table-loading-animation 1s infinite ease-in-out; - border-radius: 50%; -} -.plx-table-loading-placeholder{ - position: absolute; - top: calc(~"50% + 10px"); - left: calc(~"50% - 18px"); -} -/* 加载中动画 */ -@-moz-keyframes plx-table-loading-animation { - 0% { - -moz-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -moz-transform: rotate(360deg); - transform: rotate(360deg); - } - } - - @-webkit-keyframes plx-table-loading-animation { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } - } - - @keyframes plx-table-loading-animation { - 0% { - -moz-transform: rotate(0deg); - -ms-transform: rotate(0deg); - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -moz-transform: rotate(360deg); - -ms-transform: rotate(360deg); - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } - } - - /*表格样式*/ - - .plx-table{ - font-family: @font-family; - font-size: @font-size; - line-height: 1.5; - color: @text-color; - border-collapse: collapse; - width: 100%; - display: table; - table-layout: fixed; - max-width: 100%; - min-width: 100%; - word-break: break-all; - - .plx-table-subHead th{ - background-color: @component-bg; - line-height: 1; - border-bottom: 1px solid @border-color-base; - } - tr.plx-table-hlt { - background-color: #e2f2fc; - } - tr:hover{ - background-color: @hover-bg-color; - } - &.plx-table-normal th{ - box-sizing: border-box; - height: 40px; - padding: 0px 10px ; - color: @text-color; - text-decoration: none; - font-weight: normal; - font-size: @font-size; - border: 1px solid @border-color-base; - background-color: #f5f5f5; - } - &.plx-table-normal td{ - border: 1px solid @border-color-base; - vertical-align: middle; - height: 40px; - padding: 2px 10px 0px 10px; - } - &.plx-table-large th{ - box-sizing: border-box; - height: 50px; - padding: 0px 10px ; - color: @text-color; - text-decoration: none; - font-weight: normal; - font-size: @font-size; - border: none; - background-color: #f5f5f5; - } - &.plx-table-large td{ - border-bottom: 1px solid @border-color-base; - vertical-align: middle; - height: 50px; - padding: 2px 10px 0px 10px; - } - &.plx-table-card th{ - box-sizing: border-box; - height: 64px; - padding: 0px 10px ; - color: @text-color; - text-decoration: none; - font-weight: normal; - font-size: @font-size; - border: none; - background-color: #f5f5f5; - } - &.plx-table-card td{ - border-bottom: 1px solid @border-color-base; - vertical-align: middle; - height: 64px; - padding: 2px 10px 0px 10px; - } - &.plx-table-sm th{ - box-sizing: border-box; - height: 30px; - padding: 0px 10px ; - color: @text-color; - text-decoration: none; - font-weight: normal; - font-size: @font-size; - border: 1px solid @border-color-base; - background-color: #f5f5f5; - } - &.plx-table-sm td{ - border: 1px solid @border-color-base; - vertical-align: middle; - height: 30px; - padding: 2px 10px 0px 10px; - } - - & tbody tr:first-child td{ - border-top: none; - } - - } - - .plx-table-fix{ - table-layout: fixed; - } - - /*防止分页区域高度塌陷*/ -.plx-table-pagnation-content{ - overflow: auto; -} -/*搜索区域*/ -.plx-table-opretions-wrapper:after{ - content: ''; - display: block; - clear: both; - height: 0; - visibility: hidden; - -} - -.plx-table-align-center{ - text-align: center; -} -.plx-table-align-left{ - text-align: left; -} -.plx-table-align-right{ - text-align: right; -} -.plx-table-head-checkbox label{ - margin-bottom: 0px; - vertical-align: top; -} -.plx-table td.plx-table-no-data{ - height: 60px; - text-align:center; - font-size: @font-size; - color: @text-color; -} - -/////// -/////// - -@input-short-width: 120px; -@padding-left: 10px; -@padding: 10px; -@border-width: 1px; -@unit-span-width: 45px; -@unit-option-width: 84px; -@short-unit-span-width: 40px; -@prefix-span-width: 70px; -@prefix-option-width: 84px; -@short-prefix-span-width: 40px; -@password-switch: 40px; - -.font { - font-family: @font-family; - font-size: @font-size; -} - -.text-input { - //height: @input-height; - //position: relative; - //margin-bottom: 0; - display: inline-block; - - .caret-down { - display: block; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-top: 4px solid lighten(@fonticon-color, 5%); - margin-top: 4px; - margin-bottom: 10px; - - &.caret-down-hover:hover, &.caret-down-hover:active { - border-top: 4px solid @primary-color; - } - } - .caret-up { - display: block; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-bottom: 4px solid lighten(@fonticon-color, 5%); - margin-top: 10px; - - &.caret-up-hover:hover, &.caret-up-hover:active { - border-bottom: 4px solid @primary-color; - } - } - .toggle { - float: right; - margin-right: 10px; - margin-top: 14px; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-top: 4px solid lighten(@fonticon-color, 5%); - } - .text-input-dataList { - margin-top: 2px; - position: absolute; - z-index: @z-index-dropdown; - border: 1px solid @gray-grade-7; - background: #fff; - cursor: pointer; - border-radius: @radius; - li { - list-style: none; - height: @input-height; - width: @input-width; - padding-left: @padding-left; - &:hover { - background-color: @hover-bg-color; - } - } - } -} - -.input-span { - display: inline-block; - overflow: visible; - padding: 0; - position: relative; -} - -.text-input-with-hint { - margin-bottom: -8px; - :host(.ng-touched.ng-invalid.input-blur) & { - height: auto; - margin-bottom: 0; - } -} - -.plx-text-input-unit-group, .plx-text-input-prefix-group { - position: absolute; - margin-top: @overlay-margin-top; - width: @unit-option-width; - z-index: @z-index-dropdown; - border-radius: @radius; - background: @component-bg; - border: 1px solid @border-color-base; - .shadow; - cursor: pointer; - li { - padding-left: 10px; - height: @input-height; - list-style: none; - line-height: @input-height; - font-size: @font-size; - &:hover { - background-color: @hover-bg-color; - } - &.group-selected, &.group-selected:hover { - background-color: @selected-bg-color; - color: @text-color; - } - } -} - -.text-input-optional { - display: inline-block; - margin-right: 6px; - padding-left:5px; -} - -.input-right-border .plx-input { - border-right: 1px solid @primary-color; -} - -.input-left-border .plx-input { - border-left: 1px solid @primary-color; -} - -.text-input-hint { - top: 42px; - left: 10px; - font-family: @font-family; - font-size: @font-size; - color: @disabled-text-color; - :host(.ng-touched.ng-invalid.input-blur) & { - display: none; - } -} - -.text-input-prefix { - .font; - display: inline-block; - width: @prefix-span-width; - height: @input-height; - text-align: center; - line-height: @input-height; - border-top-left-radius: @radius; - border-bottom-left-radius: @radius; - color: @disabled-text-color; - border: 1px solid @border-color-base; - border-right: 0; - vertical-align: middle; - .short-text-input & { - width: @short-prefix-span-width; - } - .input-span-focus & { - border-color: @primary-color; - } - .input-invalid.ng-dirty.ng-invalid.ng-touched.input-blur &, - .input-invalid.ng-dirty.ng-invalid.ng-touched.input-blur .input-span-focus:focus & { - border-color: @error-color; - } -} - -.input-unit { - .font; - display: inline-block; - height: @input-height; - text-align: center; - line-height: @input-height; - border-top-right-radius: @radius; - border-bottom-right-radius: @radius; -} - -.text-input-unit { - border: 1px solid @border-color-base; - border-left: 0; - .input-unit; - color: @disabled-text-color; - width: @unit-span-width; - text-align: center; - vertical-align: middle; - .short-text-input & { - width: @short-unit-span-width; - } - .input-span-focus & { - border-color: @primary-color; - } -} - -.text-input-prefix-option { - .font; - display: inline-block; - height: @input-height; - text-align: center; - line-height: @input-height; - border-top-left-radius: @radius; - border-bottom-left-radius: @radius; - width: @prefix-option-width; - text-align: left; - padding-left: 10px; - cursor: pointer; - border: 1px solid @border-color-base;; - border-right: 0; - vertical-align: middle; - &.prefix-focus { - border-color: @primary-color; - } -} - -.text-input-unit-option { - &:extend(.input-unit); - width: @unit-option-width; - text-align: left; - padding-left: 10px; - cursor: pointer; - border: 1px solid @border-color-base;; - border-left: 0; - vertical-align: middle; - .input-span-focus & { - border-color: @primary-color; - } -} - -.text-input-with-unitOption { - div.unit-focus { - border-color: @primary-color; - } -} - -.plx-input { - .short-text-input & { - width: @input-short-width; - } - - .text-input-with-unit & { - width: @input-width - @unit-span-width; - border-top-right-radius: 0; - border-bottom-right-radius: 0; - } - - .text-input-with-unitOption & { - width: @input-width - @unit-option-width; - border-top-right-radius: 0; - border-bottom-right-radius: 0; - } - - .text-input-with-prefix & { - width: @input-width - @prefix-span-width; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - } - - .text-input-with-prefixOption & { - width: @input-width - @prefix-option-width; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - } - - .text-input-with-passwordSwith & { - width: @input-width - @password-switch; - border-top-right-radius: 0; - border-bottom-right-radius: 0; - } - - .text-input-with-prefix.text-input-with-unit & { - width: @input-width - @prefix-span-width - @unit-span-width; - } - - .text-input-with-prefix.text-input-with-unitOption & { - width: @input-width - @prefix-span-width - @unit-option-width; - } - - .short-text-input.text-input-with-prefix & { - width: @input-short-width - @short-prefix-span-width; - } - - .short-text-input.text-input-with-unit & { - width: @input-short-width - @short-unit-span-width; - } - - .short-text-input.text-input-with-prefix.text-input-with-unit & { - width: @input-short-width - @short-prefix-span-width - @short-unit-span-width; - } -} - -.input-spinner() { - cursor: pointer; - display: block; - font-size: 12px; - position: absolute; - margin: 0; - right: 0; - overflow: hidden; - border: none; - padding: 0; - text-align: center; - vertical-align: middle; - width: 18px; -} - -.input-spinner-up { - .input-spinner(); - top: 0; -} - -.input-spinner-down { - .input-spinner(); - bottom: 0; -} - -:host(.plx-input-sm) { - .plx-input-sm-common; -} - -.plx-input-sm { - .plx-input-sm-common; -} - -.plx-input-sm-common { - .plx-input { - height: @input-height-sm; - line-height: @input-height-sm; - } - .text-input-prefix, - .text-input-unit, - .text-input-unit-option, - .text-input-prefix-option { - height: @input-height-sm; - line-height: @input-height-sm; - } - div.text-input-dataList { - height: @input-height-sm; - } - .toggle { - margin-top: 11px; - } - .caret-down { - margin-bottom: 8px; - } - .caret-up { - margin-top: 8px; - } - .plx-input-passwordSwitch { - line-height: @input-height-sm - 2px; - } -} - -.plx-input-passwordSwitch { - display: inline-block; - line-height: @input-height - 2px; - width: @password-switch; - text-align: center; - vertical-align: middle; - background-color: @common-color; - border: 1px solid @border-color-base; - border-left: 0; - border-bottom-right-radius: @radius; - border-top-right-radius: @radius; - cursor: pointer; - &:focus, - &:hover { - border-color: @btn-common-color-border-hover; - background-color: @common-color-hover; - &.ict-eye-closed, &.ict-eye { - color: @btn-common-color-text-hover; - } - } - &:active { - background-color: @common-color-click; - border-color: @btn-common-color-border-click; - &.ict-eye-closed, &.ict-eye { - color: @btn-common-color-text-click; - } - } - &.ict-eye-closed, &.ict-eye { - color: @fonticon-color; - font-size: 16px; - } - } -.input-right-border-pwdswith-hover .plx-input { - border-right-color: @btn-common-color-border-hover; -} -.input-right-border-pwdswith-click .plx-input { - border-right-color: @btn-common-color-border-click; -} - -.plx-text-input-ip-dot { - display: inline-block; - vertical-align: bottom; - color: #999; -} - -.plx-text-input-error { - font-size: 12px; - color: @error-color; - margin-top: 5px; -} - -:host(.plx-text-input-ip-invalid) { - .plx-text-input-ip-invalid-common; -} - -.plx-text-input-ip-invalid { - .plx-text-input-ip-invalid-common; -} - -.plx-text-input-ip-invalid-common { - .plx-input { - border-color: @error-color; - } - .input-span-focus .plx-input { - border-color: @primary-color; - } -} - -/////// - -.plx-textarea-container { - display: inline-block; - } - -.plx-textarea-class { -// height: 90px; - width: 100%; - font-size: @font-size; - font-family: @font-family; - line-height: 1.5; - resize: none; - padding: 7px; - border: 1px solid @border-color-base; - border-radius: @border-radius-base; - box-shadow: none; - outline: none; - overflow-y: auto; - &:focus { - border-color: @primary-color; - } - &::-webkit-input-placeholder { - text-shadow: none; - -webkit-text-fill-color: initial; - } -} - -.plx-align-tip { - vertical-align: top; - font-size: @font-size; - font-weight: normal; - color: @disabled-text-color; -} - -.plx-align-number { - font-size: @font-size; - font-weight: normal; - line-height: 1; - text-align: right; - width: 100%; - color: @disabled-text-color; - .plx-align-number-margin-top(@font-size); -} - -.plx-align-number-margin-top(14px) { - margin-top: -3px; -} - -.plx-align-number-margin-top(12px) { - margin-top: -2px; -} - -/////// - -@toggle-width: 44px; -@toggle-height: 22px; -@toggle-circle-size: 18px; - -@toggle-sm-width: 34px; -@toggle-sm-height: 18px; -@toggle-sm-circle-size: 14px; -.plx-toggle-switch { - display: inline-block; - height: @toggle-height; - width: @toggle-width; - position: relative; - vertical-align: middle; - text-align: left; - font-size: 0; - input[type='checkbox'] { - display: none; - -webkit-appearance: none; - -moz-appearance: none; - -ms-progress-appearance: none; - } - input[type='checkbox'] + label { - display: inline-block; - height: @toggle-height; - position: relative; - cursor: pointer; - &::before { - position: absolute; - display: inline-block; - content: ''; - height: @toggle-height; - width: @toggle-width; - border-radius: @toggle-height/2; - transition: 0.15s ease-in; - transition-property: background-color; - background-color: #DDDDDD; - } - &::after { - position: absolute; - display: inline-block; - content: ''; - height: @toggle-circle-size; - width: @toggle-circle-size; - border-radius: 50%; - top: 2px; - left: 2px; - transition: left 0.15s ease-in; - background-color: @component-bg; - } - } - input[type='checkbox']:checked + label { - &::before { - background-color: @primary-color; - transition: background-color 0.15s ease-in; - transition: background-color 0.15s ease-in; - } - &::after { - left: @toggle-width - @toggle-circle-size - 2px; - transition: left 0.15s ease-in; - } - } - input[type='checkbox']:disabled + label, - input[type='checkbox']:checked:disabled + label { - cursor: not-allowed; - &::before { - opacity: 0.5; - } - } -} - -:host(.plx-toggle-sm) .plx-toggle-switch { - .plx-toggle-sm-switch-common; -} - -.plx-toggle-sm .plx-toggle-switch { - .plx-toggle-sm-switch-common; -} - -.plx-toggle-sm-switch-common { - height: @toggle-sm-height; - width: @toggle-sm-width; - input[type='checkbox'] + label { - height: @toggle-sm-height; - &::before { - height: @toggle-sm-height; - width: @toggle-sm-width; - border-radius: @toggle-sm-height/2; - } - &::after { - height: @toggle-sm-circle-size; - width: @toggle-sm-circle-size; - } - } - input[type='checkbox']:checked + label { - &::after { - left: @toggle-sm-width - @toggle-sm-circle-size - 2px; - transition: left 0.15s ease-in; - } - } -} - -/////// -.toolbar { - - i.seperate-vertical { - margin-right: 10px; - margin-left: 0; - border-right: 1px solid @border-color-split; - } - - span { - color: @text-color; - cursor: pointer; - margin-right: 10px; - font-size: 16px; - display: inline-block; - width: 28px; - height: 28px; - border: 1px solid transparent; - padding: 5px; - - &:hover { - background-color: @hover-bg-color; - border-radius: @radius-sm; - } - - &:last-child { - margin-right: 0px; - } - } -} - -/////// - -@tooltip-arrow-border-width: 4px; -@tooltip-arrow-border-width-before: 5px; -@tooltip-arrow-border-height: @tooltip-arrow-border-width-before - @tooltip-arrow-border-width; -@tooltip-arrow-away: 5px; -@tooltip-arrow-background-color: #595959; -@tooltip-arrow-border-color: #595959; -@tooltip-away-host: 3px; - -.plx-tooltip { - font-family: @font-family; - font-size: @font-size; - opacity: 1; - position: absolute; - z-index: 10001; - display: block; - font-style: normal; - font-weight: normal; - letter-spacing: normal; - line-break: auto; - line-height: 1.5; - text-align: left; - text-decoration: none; - text-shadow: none; - text-transform: none; - white-space: normal; - word-break: normal; - word-spacing: normal; - word-wrap: break-word; - &::before, - &::after { - content: ""; - position: absolute; - display: block; - width: 0; - height: 0; - border: solid transparent; - } - &::before { - border-width: @tooltip-arrow-border-width-before; - } - &::after { - border-width: @tooltip-arrow-border-width; - } -} - -.plx-tooltip-inner { - min-width: 60px; - max-width: 200px; - padding: 3px 8px; - color: #fff; - text-align: center; - background-color: #000; -} - -.plx-tooltip.show { - font-size: @font-size; - opacity: 1; -} -.plx-tooltip.show .plx-tooltip-inner { - background-color: #595959; - border-radius: @radius; - padding: 0px 12px; - height: 30px; - line-height: 30px; -} - -.plx-tooltip-top-common { - margin-top: -(@tooltip-arrow-border-width + @tooltip-away-host); - &::before { - border-top-color: @tooltip-arrow-border-color; - border-bottom-width: 0; - bottom: -@tooltip-arrow-border-width-before; - } - &::after { - border-top-color: @tooltip-arrow-background-color; - border-bottom-width: 0; - bottom: -@tooltip-arrow-border-width; - } -} -.plx-tooltip-top { - .plx-tooltip-top-common; - &::before { - left: 50%; - margin-left: -@tooltip-arrow-border-width-before; - } - &::after { - left: 50%; - margin-left: -@tooltip-arrow-border-width; - } -} -.plx-tooltip.plx-tooltip-top-left { - .plx-tooltip-top-common; - &::before { - left: @tooltip-arrow-away; - } - &::after { - left: @tooltip-arrow-away + @tooltip-arrow-border-height; - } -} -.plx-tooltip.plx-tooltip-top-right { - .plx-tooltip-top-common; - &::before { - right: @tooltip-arrow-away; - } - &::after { - right: @tooltip-arrow-away + @tooltip-arrow-border-height; - } -} - -.plx-tooltip-right-common { - margin-left: @tooltip-arrow-border-width + @tooltip-away-host; - &::before { - border-right-color: @tooltip-arrow-border-color; - border-left-width: 0; - left: -@tooltip-arrow-border-width-before; - } - &::after { - border-right-color: @tooltip-arrow-background-color; - border-left-width: 0; - left: -@tooltip-arrow-border-width; - } -} -.plx-tooltip.plx-tooltip-right { - .plx-tooltip-right-common; - &::before { - top: 50%; - margin-top: -@tooltip-arrow-border-width-before; - } - &::after { - top: 50%; - margin-top: -@tooltip-arrow-border-width; - } -} -.plx-tooltip.plx-tooltip-right-top { - .plx-tooltip-right-common; - &::before { - top: @tooltip-arrow-away; - } - &::after { - top: @tooltip-arrow-away + @tooltip-arrow-border-height; - } -} -.plx-tooltip.plx-tooltip-right-bottom { - .plx-tooltip-right-common; - &::before { - bottom: @tooltip-arrow-away; - } - &::after { - bottom: @tooltip-arrow-away + @tooltip-arrow-border-height; - } -} - -.plx-tooltip-bottom-common { - margin-top: @tooltip-arrow-border-width + @tooltip-away-host; - &::before { - border-bottom-color: @tooltip-arrow-border-color; - border-top-width: 0; - top: -@tooltip-arrow-border-width-before; - } - &::after { - border-bottom-color: @tooltip-arrow-background-color; - border-top-width: 0; - top: -@tooltip-arrow-border-width; - } -} -.plx-tooltip.plx-tooltip-bottom { - .plx-tooltip-bottom-common; - &::before { - left: 50%; - margin-left: -@tooltip-arrow-border-width-before; - } - &::after { - left: 50%; - margin-left: -@tooltip-arrow-border-width; - } -} -.plx-tooltip.plx-tooltip-bottom-left { - .plx-tooltip-bottom-common; - &::before { - left: @tooltip-arrow-away; - } - &::after { - left: @tooltip-arrow-away + @tooltip-arrow-border-height; - } -} -.plx-tooltip.plx-tooltip-bottom-right { - .plx-tooltip-bottom-common; - &::before { - right: @tooltip-arrow-away; - } - &::after { - right: @tooltip-arrow-away + @tooltip-arrow-border-height; - } -} - -.plx-tooltip-left-common { - margin-left: -(@tooltip-arrow-border-width + @tooltip-away-host); - &::before { - border-left-color: @tooltip-arrow-border-color; - border-right-width: 0; - right: -@tooltip-arrow-border-width-before; - } - &::after { - border-left-color: @tooltip-arrow-background-color; - border-right-width: 0; - right: -@tooltip-arrow-border-width; - } -} - -.plx-tooltip.plx-tooltip-left { - .plx-tooltip-left-common; - &::before { - top: 50%; - margin-top: -@tooltip-arrow-border-width-before; - } - &::after { - top: 50%; - margin-top: -@tooltip-arrow-border-width; - } -} - -.plx-tooltip.plx-tooltip-left-top { - .plx-tooltip-left-common; - &::before { - top: @tooltip-arrow-away; - } - &::after { - top: @tooltip-arrow-away + @tooltip-arrow-border-height; - } -} -.plx-tooltip.plx-tooltip-left-bottom { - .plx-tooltip-left-common; - &::before { - bottom: @tooltip-arrow-away; - } - &::after { - bottom: @tooltip-arrow-away + @tooltip-arrow-border-height; - } -} -@checkbox-border-size: 1px; - -.plx-checkbox-container { - font-size: 0; - position: relative; -} - -.plx-checkbox { - position: absolute; - z-index: -1; - opacity: 0; - & + .checkbox-substitute { - position: relative; - display: inline-block; - cursor: pointer; - height: @checkbox-size; - width: @checkbox-size; - border: @checkbox-border-size solid @border-color-base; - border-radius: @radius-sm; - vertical-align: middle; - } - & + .checkbox-substitute + span { - font-weight: normal; - font-size: @font-size; - cursor: pointer; - vertical-align: middle; - .font-padding(@font-size); - } - &:hover + .checkbox-substitute { - border-color: @primary-color; - outline: none; - background-image: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; - } - &:checked + .checkbox-substitute { - border-color: @primary-color; - background-color: @primary-color; - &::after { - .checkbox-check(@component-bg); - } - } - &:checked.portion + .checkbox-substitute { - background-color: @primary-color; - border-color: @primary-color; - opacity: 0.5; - } - &:disabled + .checkbox-substitute, - &[disabled] + .checkbox-substitute { - border-color: @border-color-base; - background-color: @input-bg-color-disabled; - cursor: not-allowed; - } - &:disabled + .checkbox-substitute + span, - &[disabled] + .checkbox-substitute + span { - cursor: not-allowed; - } - &:checked.portion[disabled] + .checkbox-substitute { - background-color: @border-color-base; - border-color: @border-color-base; - &::after { - .checkbox-check(@fonticon-color); - } - } - &:checked[disabled] + .checkbox-substitute { - border-color: @border-color-base; - background-color: @border-color-base; - } -} - -.checkbox-check(@color) { - content: ''; - position: absolute; - display: block; - width: 6px; - height: 10px; - border: solid @color; - border-width: 0 2px 2px 0; - transform: rotate(45deg); - .checkbox-check-left(@font-size); - top: 0; -} - -.checkbox-check-left(12px) { - left: 3px; -} - -.checkbox-check-left(14px) { - left: 4px; -} - -.font-padding(12px) { - padding-left: 6px; -} - -.font-padding(14px) { - padding-left: 10px; -} - -/////// -/////// - -@tree-node-ul-padding: 21px; -@margin-right: 10px; - -.plx-treenode{ - cursor: pointer; - background-attachment: scroll; - background-color: transparent; - background-image: none; - background-position: 0 0; - background-repeat: repeat-y; - list-style: none outside none; - margin: 0; - padding:0; - white-space: nowrap; - font-size: @font-size; - - .plx-treenode-content{ - margin-top:10px; - - &.light{ - margin-top:15px; - } - } -} - -.plx-treenode ul.plx-treenode-children { - display: block; - -webkit-padding-start: @tree-node-ul-padding; -} - -.plx-treenode-toggler{ - font-size: 16px; - color: @primary-color; - display: inline-block; - margin-right: 7px; - margin-top:2px; - vertical-align: bottom; - float: left; -} - -// .plx-treenode-toggler{ -// display: inline-block; -// margin-right: @margin-right; -// vertical-align: bottom; -// } - -// .plx-treenode-toggler svg { -// .plx-treenode-vertical-bottom(@font-size); -// } - -// .plx-treenode-toggler svg .st0 { -// fill: @primary-color; -// } - -// .plx-treenode-toggler svg .st1 { -// stroke: @primary-color; -// } - -.plx-treenode-ckbox{ - float: left; - margin-right: @margin-right; - margin-top:2px; - // .plx-treenode-vertical-bottom(@font-size); - -} - -.plx-treenode-vertical-bottom(@font-size) when (@font-size = 12px) { - vertical-align: bottom; - margin-bottom: 3px; -} - -.plx-treenode-vertical-bottom(@font-size) when (@font-size = 14px) { - vertical-align: bottom; - margin-bottom: 4px; -} - -.plx-treenode-icon{ - color:@fonticon-color; - margin-right: @margin-right; - float: left; - font-size: 16px; - vertical-align: bottom; - // .plx-treenode-icon-margin-bottom(@font-size); - margin-top: 2px; -} - -.plx-treenode-icon-margin-bottom(@font-size) when (@font-size = 12px) { - margin-bottom: 1px; -} - -.plx-treenode-icon-margin-bottom(@font-size) when (@font-size = 14px) { - margin-bottom: 2px; -} - -.plx-treenode-label-container{ - overflow: visible; -} - -.plx-treenode-label-container.plx-treenode-label-ellipsis{ - overflow:hidden; -} - -.plx-treenode-label-container:hover { - background-color: @hover-bg-color; -} - -.plx-treenode-active>div .plx-treenode-label-container { - background-color: darken(@hover-bg-color, 2%); -} - -.plx-treenode-active>div .plx-treenode-label-container:hover { - background-color: @hover-bg-color; -} - -.plx-treenode-label-container span:last-child{ - margin-right:5px; -} - - -.plx-treenode-lable{ - display: inline-block; - vertical-align:0; - font-family: @font-family; - color:@text-color; - - span { - display: inline-block; - overflow: hidden; - max-width: 100%; - text-overflow: ellipsis; - white-space: nowrap; - vertical-align: bottom; - } -} - -.plx-treenode-operations{ - margin-left: 20px; - display: none; - vertical-align: bottom; - width: fit-content; - line-height: 1; - .plx-treenode-operations-margin-bottom(@font-size); -} - - -.plx-treenode-operations-margin-bottom(@font-size) when (@font-size = 12px) { - margin-bottom: 1px; -} - -.plx-treenode-operations-margin-bottom(@font-size) when (@font-size = 14px) { - margin-bottom: 2px; -} - -.plx-treenode-operation{ - display: inline-block; - margin-right: 10px; - color:@fonticon-color; - font-size: 16px; - vertical-align: text-bottom; - - &:hover{ - color: @primary-color; - } -} - -.plx-treenode-label-container:hover .plx-treenode-operations{ - display:inline-block; -} - -*:focus{ - outline:none; - box-shadow:none !important; -} -input[type="checkbox"]:focus{ - border:0 !important; -} -.plx-treenode-hide-tree-toggle{ - visibility: hidden; -} - -.plx-treenode-droppoint{ - height: 4px; - list-style-type: none; -} -.plx-treenode-droppoint-active{ - background-color: #186ba0; - border: 0 none; -} - - -/////// - -@item-padding-left: 12px; - -.upload-wrapper { - font-size: @font-size; - position: relative; - display: inline-block; -} - -.upload-wrapper .item-text { - max-width: 280px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - display: inline-block; - margin-bottom: 2px; - font-size: @font-size; - &.no-progressbar { - vertical-align: middle; - } -} - -.upload-wrapper .plx-upload-progressbar { - margin-top: -13px; -} - -.upload-wrapper .list-group-item { - border: 0; - padding: 0; - & .item { - width: 335px; - padding: 0 0 5px 0px; - & .item-text-wrapper { - position: relative; - display: inline-block; - width: 100%; - box-sizing: border-box; - height: 40px; - padding: 2px 3px 2px 10px; - border: 1px solid transparent; - & .text-red { - color: @error-color !important; - } - &:hover { - background-color: @hover-bg-color; - cursor: default; - } - &:hover .plx-ico-close-16{ - display: block; - transform: scale(0.8); - } - &.no-progressbar { - height: 28px; - } - } - & .item-delete { - height: 14px; - width: 16px; - text-align: center; - line-height: 14px; - position: absolute; - right: 2%; - color: #999999; - display: none; - top: 3px; - &:hover { - cursor: pointer; - color: darken(#999999, 20%); - } - &.no-progressbar { - top: 6px; - } - } - } -} - -.upload-wrapper .plx-ico-close-16 { - font-size: 16px; - float: right; - cursor: pointer; -} - -.upload-wrapper ul.list-group { - margin-top: 15px; -} - -.upload-wrapper .url-form-control { - display: inline-block; -} - -.upload-wrapper .item-detail { - color: #aaa; - position: relative; - padding: 0 10px; - font-size: 12px; - & div { - margin: 0px 0px 15px 0; - } - & .detail { - margin: 5px 0 10px 0; - } -} - -.upload-wrapper .item-detail-des { - display: inline-block; - width: 170px; - word-wrap: break-word; - margin-left: 15px; - vertical-align: top; -} - -.upload-wrapper .item-detail-time { - display: inline-block; - width: 119px; - word-break: break-all; - vertical-align: top; -} - -.upload-wrapper .selectFile { - display: inline-block; - min-width: 50px; - margin-right: 10px; - text-align: right; -} - -.upload-wrapper label.raw-container{ - margin: 0 10px; -} - -.upload-wrapper .item-lists{ - font-size: @font-size; -} - -.upload-wrapper .list-container { - padding-right: 15px; - - &.plx-upload-Manual-showdetail { - margin-left: -10px - @item-padding-left; - } - - &.plx-upload-auto-showdetail { - margin-left: -10px; - } -} - -.upload-wrapper .list-footer .upload-btn { - margin-top: 10px; -} - -.upload-wrapper .upload-btn { - display: inline-block; -} - -.upload-wrapper .loader-container { - position: absolute; - display: inline-block; - top: 8px; - left: 12px; -} - -.upload-wrapper .list-group-item-pdleft-s{ - padding: 0px 0px 0px @item-padding-left; -} - -.upload-wrapper .list-group-item-pdleft { - padding: 0px 0px 0px @item-padding-left !important; -} - -.upload-wrapper .upload-btn-wrapper { - display: inline-block; -} -.upload-wrapper .plx-red.left { - margin-left: 75px; -} - -.upload-wrapper .expand-wrapper { - position: absolute; - left: 20px; - top: 4px; - display: inline-block; - font-size: @font-size; - &.open .ict-go { - display: none - } - &.open .ict-fold { - display: block; - } - & i { - height: 18px; - width: 20px; - text-align: left; - line-height: 19px; - cursor: pointer; - } -} - -.upload-wrapper .ict-fold { - display: none; - color: @primary-color; - font-weight: bold; - transform: scale(0.7); -} - -.upload-wrapper .ict-go { - display: block; - color: @primary-color; - font-weight: bold; - transform: scale(0.7); -} - -.upload-wrapper .no-customparm-extend-wrapper { - left: -2px !important; -} - -/* loding动画效果*/ -.upload-wrapper .loader { - font-size: @font-size; - width: @font-size; - height: @font-size; - display: inline-block; - border-radius: 50%; - background: @primary-color; - background: -moz-linear-gradient(left, @primary-color 10%, rgba(255, 255, 255, 0) 85%); - background: -webkit-linear-gradient(left, @primary-color 10%, rgba(255, 255, 255, 0) 85%); - background: -o-linear-gradient(left, @primary-color 10%, rgba(255, 255, 255, 0) 85%); - background: -ms-linear-gradient(left, @primary-color 10%, rgba(255, 255, 255, 0) 85%); - background: linear-gradient(to right, @primary-color 10%, rgba(255, 255, 255, 0) 85%); - position: relative; - -webkit-animation: load3 1.4s infinite linear; - animation: load3 1.4s infinite linear; - &:before { - width: 50%; - height: 50%; - background: @primary-color; - border-radius: 100% 0 0 0; - position: absolute; - top: 0; - left: 0; - content: ''; - } - &:after { - background: @component-bg; - width: 75%; - height: 75%; - border-radius: 50%; - content: ''; - margin: auto; - position: absolute; - top: 0; - left: 0; - bottom: 0; - right: 0; - } -} - -@-webkit-keyframes load3 { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -@keyframes load3 { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} - -/////// -.plx-table-customCols{ - height: 40px; - float: right; -} - -.plx-table-customCols-toggle{ - display:inline-block; - border-radius: @radius; - width: 30px; - height: 23px; - border:1px solid @border-color-base; - vertical-align:top; - text-align: center; - padding-top: 7px; - margin-left:6px; - cursor:pointer; - box-sizing: content-box; - .ict-col:before{ - vertical-align: top; - } -} -.plx-table-customCols-toggle:hover{ - background-color:@common-color-hover; -} -.plx-table-customCols-toggle:active{ - background-color:@common-color-click; -} -.toggle-icon{ - display:inline-block; - height: 14px; - border-right:1px solid @text-color; - vertical-align:top; - padding-left: 4px; -} -.toggle-icon:first-child{ - padding-left: 0; -} -.plx-table-customCols-pannel{ - margin-top: 5px; - margin-right: 5px; - border:1px solid @border-color-base; - background-color: @component-bg; - z-index: 1010; - position: absolute; - right:0px; - border-radius: 5px; - font-size: @font-size; - color: @text-color; - overflow: auto; - min-width: 300px; - .shadow; - - .plx-table-customCols-toolbar{ - display: flex; - justify-content:space-between; - padding: 16px; - .plx-table-customCols-toolbar-ckbox{ - - } - .plx-table-filter-wrapper{ - display: flex; - flex:auto; - input{ - border-radius: @radius; - flex: auto; - padding-left: 28px; - border: 1px solid @border-color-base; - &:focus{ - border: 1px solid @primary-color; - outline:none; - } - } - span{ - color: @disabled-text-color ; - line-height: 28px; - position: relative; - left: 20px; - } - } - } - .plx-table-customCols-items { - & > div:hover{ - .shadow; - } - cursor: pointer; - border-bottom: 1px solid @border-color-split; - border-top:1px solid @border-color-split ; - label{ - margin-bottom: 0px; - vertical-align: -moz-middle-with-baseline; - vertical-align: -webkit-baseline-middle; - vertical-align: 25%; - } - .plx-table-customCols-item { - & > span{ - padding: 0px 6px; - } - } - .plx-table-customCols-operations{ - - div { - box-sizing: content-box; - - padding: 0px 8px; - display: inline-block; - } - visibility: hidden; - float: right; - } - .heighLight{ - background-color: #e2f2fc; - .plx-table-customCols-operations{ - .plx-table-goup-show{ - visibility: visible; - } - .plx-table-godown-show{ - visibility: visible; - } - span{ - color: @primary-color; - } - } - - } - .dragging{ - box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2); - } - .dragEnter { - background-color: #00abff; - } - - .plx-table-customCols-dropArea { - height: 10px; - border-bottom: 1px solid @border-color-split; - - } - .plx-table-customCols-dropArea-before { - height: 10px; - border-bottom: none; - - } - &>div:last-child .plx-table-customCols-dropArea { - border-bottom: none; - } - .plx-table-customCols-item{ - line-height: 20px; - height: 20px; - padding: 0px 16px; - - } - - } - .plx-table-customCols-confirm{ - display: flex; - align-items: center; - justify-content: center; - padding: 16px 16px; - } - - -} - -/////// -.plx-table-col-filter{ - border: 1px solid @border-color-base; - margin:5px; - box-sizing: border-box; - height: 30px; - & input{ - width: calc(~"100% - 25px"); - line-height: normal; - font-weight: normal; - border: none; - height:26px; - font-size: @font-size; - box-sizing: border-box; - &:focus{ - outline:none; - } - } - & .filterIcon{ - /*position: absolute;*/ - top: 6px; - left: 3px; - fill: #dedede; - width: 14px; - } -} - -.plx-filter-focused{ - outline:none; - border:1px solid @primary-color; - -} -.plx-table-col-icon-wrapper{ - padding-left: 5px; - display: inline-block; - line-height: 30px; - span{ - vertical-align: sub; - } - -} - -::-webkit-input-placeholder { /* WebKit browsers */ - color: #c1c1c1; -} -:-moz-placeholder { /* Mozilla Firefox 4 to 18 */ - color: #c1c1c1; -} -::-moz-placeholder { /* Mozilla Firefox 19+ */ - color: #c1c1c1; -} -:-ms-input-placeholder { /* Internet Explorer 10+ */ - color: #c1c1c1; -} - -/////// - -.plx-table-selectFilter-wrapper{ - display: inline-block; - vertical-align: middle; - height: 28px; - cursor: pointer; - /*此处 若不为absolute则被td遮挡*/ - position: absolute; -} -.plx-table-selectFilter-icon{ - vertical-align: middle; - height: 28px; - fill: @fonticon-color; -} -.icon-selectFilter-activtied{ - fill:@primary-color; -} - -.plx-table-selectFilter-panel{ - margin-top: -5px; - border: 1px solid @border-color-base; - background-color: #fff; - padding: 10px; - right: 0px; - border-radius: 5px; - /*此处若为absolute则文本要换行,恩,玄学*/ - //position: absolute; - .shadow; - span{ - vertical-align: -25%; - font-size: @font-size; - } - label{ - - line-height: normal; - } - div{ - line-height: normal; - } - -} - - - - -/////// - -.plx-table-filter{ - height: 40px; - float: right; - & input{ - border-radius:@radius ; - line-height: normal; - padding: 0px 6px; - font-weight: normal; - border: 1px solid @border-color-base; - margin-bottom: 10px; - height: 32px; - width: 200px; - box-sizing: border-box; - font-size: @font-size; - color: @text-color; - &:focus{ - outline:none; - border:1px solid @primary-color ; - - } - } -} - - -.plx-table-filterToggle{ - display:inline-block; - width:30px; - height:30px; - border-radius: @radius; - border:1px solid @border-color-base; - vertical-align:top; - text-align: center; - margin-left:6px; - cursor:pointer; - box-sizing: content-box; - &.ict-filter:before{ - line-height: 30px; - - } - &.ict-filter-f:before{ - line-height: 30px; - color:@primary-color; - } - -} -.plx-table-filter-icon-wrapper{ - vertical-align: middle; - display: inline-block; - padding-top: 5px; -} - -.plx-table-filterIcon{ - fill: @text-color; -} - -/////// -.plx-table-pagination{ - float: right; - font-family: @font-family ; - font-size: @font-size; - color:@text-color; - margin-top:10px; - margin-bottom:10px; -} -.plx-table-pagination-content{ - display: inline-block; - text-decoration:none; -} -.plx-table-pagination-item{ - list-style-type: none; - display: inline-block; - & span{ - vertical-align: middle; - } - & select{ - vertical-align: middle; - height: 26px; - width: 45px; - border: 1px solid @border-color-base; - } -} - -.plx-table-pagination-input{ - padding: 1px; - height: 26px; - width: 45px; - margin-left:1px; - margin-right:1px; - font-size: 12px; - color: @text-color; - box-sizing:border-box; - border: 1px solid @border-color-base; - text-align: center; - vertical-align: middle; -} -.plx-table-pagination-nav{ - display: inline-block; - height: 26px; - border: 1px solid @border-color-base; - font-size:14px; - text-decoration:none; - color:@text-color; - padding-left:6px; - padding-right:6px; - cursor: pointer; - text-align: center; - vertical-align: middle; - box-sizing:border-box; -} -a:not([href]):not([tabindex]).plx-table-pagination-disabled{ - - color: @disabled-text-color; - cursor: not-allowed; - -} - -/////// -.plx-table-dropdown-wrapper { - cursor: pointer; -} -.plx-table-dropdown-icon-shared{ - font-size:20px; - line-height: 2.2 !important; - cursor:pointer; -} -.plx-table-dropdown-icon-polyline-shared{ - height:16px; - width:16px; - stroke: #00abff ; -} -.ict-down,.ict-up{ - .plx-table-dropdown-icon-shared; - & polyline{ - .plx-table-dropdown-icon-polyline-shared; - &:hover{ - stroke: #2d91c4; - } - } -} - -.plx-table-innerTr{ - border: 1px solid @border-color-base; - & #plx-table-innerTd { - padding: 0px; - } -} - -.plx-table-innerTable{ - width:100%; - & tr{ - color:@text-color; - font-size:@font-size; - & td#plx-inner-table-title,td#plx-inner-table-content{ - padding: 8px; - height: 40px; - border: none; - border-bottom: 1px solid @border-color-base; - } - & td:first-child{ - text-align: right; - } - & td:last-child{ - text-align: left; - } - } - & tr:last-child { - & td#plx-inner-table-title,td#plx-inner-table-content { - border-bottom: none; - } - } -} - -/////// - /* 排序图标 */ - .plx-table-sort-icon-shared{ - display: block; - cursor: pointer; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - margin-bottom: 2px; - } - .plx-table-sortIconWrapper{ - display:inline-block; - vertical-align:middle; - margin-left:3px; - } - /* 排序图标:箭头向上 */ - .plx-table-sortAsc{ - .plx-table-sort-icon-shared; - border-bottom: 5px solid @fonticon-color; - - - } - .plx-table-ascActived{ - border-bottom: 5px solid @primary-color; - } - /* 排序图标:箭头向下 */ - .plx-table-sortDesc{ - .plx-table-sort-icon-shared; - border-top: 5px solid @fonticon-color; - } - .plx-table-descActived{ - border-top: 5px solid @primary-color; - } -/////// - -@plx-color-picker-width: 246px; -@plx-color-picker-height: 118px; -@plx-color-picker-hue-height: 10px; -@plx-color-picker-hue-width: 168px; -@selected-color-diameter: 30px; -@plx-color-picker-input-width: 196px; -@plx-color-picker-type-policy-width: 16px; -@plx-color-picker-type-policy-height: 16px; -@plx-color-picker-box-padding-left-right: 16px; -@plx-color-picker-arrow-width: 8px; //模式切换箭头 -@plx-color-picker-arrow-height: 4px; //模式切换箭头 -@plx-color-picker-arrow-space: 4px; //模式切换箭头 -@plx-color-picker-border-arrow-width: 7px; //选择器边框箭头 -@plx-color-picker-border-arrow-height: 7px; //选择器边框箭头 -@plx-color-picker-hsla-unit-margin-left: 2px; -@plx-color-picker-hsla-unit-margin-right: 8px; -@plx-color-picker-hsla-unit-degree-width: 6px; -@plx-color-picker-hsla-unit-percent-width: 12px; - -.plx-color-picker-border-radius { - border-top-left-radius: @radius; - border-top-right-radius: @radius; -} - -.plx-color-picker * { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - margin: 0; - font-size: 12px; - font-family: @font-family; -} - -.plx-color-picker { - cursor: default; - width: @plx-color-picker-width; - height: auto; - left: 30px; - top: 250px; - position: absolute; - z-index: 1000; - background-color: #fff; - .shadow; - border-radius: @radius; - border: 1px solid @border-color-base; - - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - - i { - cursor: default; - position: relative; - } - input { - .plx-input; - text-align: center; - height: 24px; - -moz-appearance: textfield; - &:invalid { - box-shadow: none; - } - &:-moz-submit-invalid { - box-shadow: none; - } - &:-moz-ui-invalid { - box-shadow: none; - } - &::-webkit-outer-spin-button, - &::-webkit-outer-spin-button { - -webkit-appearance: textfield; - margin: 0; - } - } - .color-picker-overlay1 { - .plx-color-picker-border-radius; - position: absolute; - left: 0; - top: 0; - width: @plx-color-picker-width - 2px; - height: @plx-color-picker-height; - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='#ffffff', endColorstr='#00ffffff')"; /* IE8 */ - background: -moz-linear-gradient(left, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%); /* FF3.6+ */ - background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255, 255, 255, 1)), color-stop(100%, rgba(255, 255, 255, 0))); - /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(left, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%); /* Chrome10+,Safari5.1+ */ - background: -o-linear-gradient(left, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%); /* Opera 11.10+ */ - background: -ms-linear-gradient(left, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%); /* IE10+ */ - background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%); - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr='#ffffff', endColorstr='#00ffffff'); /* IE6 & IE7 */ - } - .color-picker-overlay2 { - .plx-color-picker-border-radius; - position: absolute; - left: 0; - top: 0; - width: @plx-color-picker-width - 2px; - height: @plx-color-picker-height; - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#00000000', endColorstr='#000000')"; /* IE8 */ - background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%); /* FF3.6+ */ - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(0, 0, 0, 0)), color-stop(100%, rgba(0, 0, 0, 1))); /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%); /* Chrome10+,Safari5.1+ */ - background: -o-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%); /* Opera 11.10+ */ - background: -ms-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%); /* IE10+ */ - background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%); /* W3C */ - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#000000', GradientType=0); /* IE6-9 */ - } - .color-picker-saturation-lightness { - .plx-color-picker-border-radius; - cursor: pointer; - width: @plx-color-picker-width - 2px; - height: @plx-color-picker-height; - border: none; - background-size: 100% 100%; - } - .color-picker-hue { - cursor: pointer; - border-radius: 3px; - width: @plx-color-picker-hue-width; - height: @plx-color-picker-hue-height; - border: none; - margin-bottom: 10px; - background-size: 100% 100%; - background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAQCAYAAAD06IYnAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIWDwkUFWbCCAAAAFxJREFUaN7t0kEKg0AQAME2x83/n2qu5qCgD1iDhCoYdpnbQC9bbY1qVO/jvc6k3ad91s7/7F1/csgPrujuQ17BDYSFsBAWwgJhISyEBcJCWAgLhIWwEBYIi2f7Ar/1TCgFH2X9AAAAAElFTkSuQmCC'); - } - .color-picker-alpha { - cursor: pointer; - border-radius: 3px; - width: @plx-color-picker-hue-width; - height: @plx-color-picker-hue-height; - border: none; - background-size: 100% 100%; - background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKgAAAAKCAYAAAAgnxVRAAAC9klEQVRYhdVYPc7bMAylku7WViCrfJ2cocfoGXqLHslbDhAvHjNkCBBRHSoZzwQpKW7T7yuBwAn9+CtKIuOu1+vXy+UyPx6PL5QphEDee0KKMdI0TRveP8KlaZoSEZUPhxCS9z4RERd+jJEzbuWFEKL3nlEWcDHzYgiBQR//Nht5miZGXrbLWbaGY+99RBuAK3zOuGfBZP+iwJU4ItgtuAiyaJdBH2fc6iPoY9CH/jH4xyKOJHAJcEnRlwxcWY8k1o3KepxOp3Rg5h9YnJ+UkvjtxNPCO8Ak4MunxevxRXun6UVCn1ynXyhb5Mp7Tc4Z3y0e6pG2tXw7quuQWI0v/ZGx0cEAfzaygtUWBAPVClXqRblaErX3cgPU/C4Y/Gi+1+TRTllI/FjUKvjy1OxLf60NodmUG9GSQRuY5/+mQAtpye0pEKvwrELRsGhPW/CWrNwsTnnXc8rgUxaPptOi3huj6NVyJ3NR2yS9mI0/rxRoTyDvJmvhe65U7QrT9LRO0pYti2oLYxW9/F07/WqbbY9Pmm/ajSR9kLH0knoLuPv9/vN2u31D5rIsNM/zBjgMA43jSB+AS+M4rk11xvE8z8hLwzDwOI6bpnxZljTPc+FFIuKsrwwHiYhixm2GhoxDnoaLYHflZ/82w9QwDNHAbYaajJN2o6KPM24dksDuE+KIEC8DbiML8a65UnCc7SbwJYHdNf+AY4FLAifXt6xbOp/Pae8V/xGnKfYxrUZbXu2J7GtK6rbIuuIsn1q9Xk9faMnW9PTEIm1ofTgZPDwpe6/r3TfR3gLtScDfplrPRuKdFryVBOu6avmh9b6vDCqtReuRlba1KdvqS63caTwrLq2t0NqTVs9u0juGpHecrr2TYyFtuu0pnt7pVPtuye8d3jQ8vu8psNqJ+sohgydmq0+3NkmtMM1/Eg7Oue/H4/H5grMtqk3Vf6Lz1SRbxWPh5ADQc5q0pm38bk3emtyeHMoC0ApCa3/2tAOtjSWLWDv1rc204f8CQvGUIhalBqwAAAAASUVORK5CYII='); - } - .color-picker-alpha-ba { - position: absolute; - background: linear-gradient(90deg, rgba(255, 255, 255, 0), #000); // 颜色渐变 - } - .selected-color { - width: @selected-color-diameter; - height: @selected-color-diameter; - top: 0px; - left: 0px; - position: absolute; - -moz-border-radius: 50%; - -webkit-border-radius: 50%; - border-radius: 50%; - -khtml-border-radius: 50%; - } - .selected-color-background { - width: @selected-color-diameter; - height: @selected-color-diameter; - -moz-border-radius: 50%; - -webkit-border-radius: 50%; - border-radius: 50%; - -khtml-border-radius: 50%; - background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAh0lEQVRYR+2W0QlAMQgD60zdfwOdqa8TmI/wQMr5K0I5bZLIzLOa2nt37VVVbd+dDx5obgCC3KBLwJ2ff4PnVidkf+ucIhw80HQaCLo3DMH3CRK3iFsmAWVl6hPNDwt8EvNE5q+YuEXcMgkonVM6SdyCoEvAnZ8v1Hjx817MilmxSUB5rdLJDycZgUAZUch/AAAAAElFTkSuQmCC'); - } - .color-picker-cursor { - cursor: default; - position: relative; - -moz-border-radius: 50%; - -webkit-border-radius: 50%; - border-radius: 50%; - -khtml-border-radius: 50%; - width: 10px; - height: 10px; - border: #ffffff solid 1px; - } - .color-picker-cursor-selector { - .color-picker-cursor; - width: 12px; - height: 12px; - top: -1px; - background-color: #ffffff; - .shadow; - } - .type-policy { - float: right; - position: absolute; - top: 198px; - right: @plx-color-picker-box-padding-left-right - (@plx-color-picker-type-policy-width - @plx-color-picker-arrow-width)/2; - width: @plx-color-picker-type-policy-width; - height: @plx-color-picker-type-policy-height; - &:hover { - background-color: @hover-bg-color; - cursor: pointer; - } - } - .arrow-down { - display: block; - width: 0; - height: 0; - border-left: @plx-color-picker-arrow-width/2 solid transparent; - border-right: @plx-color-picker-arrow-width/2 solid transparent; - border-top: @plx-color-picker-arrow-height solid lighten(@fonticon-color, 5%); - margin-top: @plx-color-picker-arrow-space; - margin-left: (@plx-color-picker-type-policy-width - @plx-color-picker-arrow-width)/2; - } - .arrow-up { - display: block; - width: 0; - height: 0; - border-left: @plx-color-picker-arrow-width/2 solid transparent; - border-right: @plx-color-picker-arrow-width/2 solid transparent; - border-bottom: @plx-color-picker-arrow-height solid lighten(@fonticon-color, 5%); - margin-top: (@plx-color-picker-type-policy-height - @plx-color-picker-arrow-height*2 - @plx-color-picker-arrow-space)/2; - margin-left: (@plx-color-picker-type-policy-width - @plx-color-picker-arrow-width)/2; - } - .box { - width: 100%; - height: 100%; - display: flex; - .left { - position: relative; - margin-right: 16px; - } - .right { - flex: 1 1 auto; - } - } - - .button-area { - padding: 0 16px 16px 16px; - text-align: right; - } - - .preset-area { - padding: 4px 15px; - .preset-label { - width: 100%; - padding: 4px; - text-align: left; - color: #555; - } - .preset-color { - cursor: pointer; - display: inline-block; - width: 18px; - height: 18px; - margin: 4px 6px 8px 6px; - -moz-border-radius: 25%; - -webkit-border-radius: 25%; - border-radius: 25%; - -khtml-border-radius: 25%; - border: #a9a9a9 solid 1px; - } - } - - .hsla-text, .rgba-text { - width: @plx-color-picker-input-width; - input { - color: #595959; - min-width: 0; - flex: 1; - margin: 0; - float: left; - padding: 1px; - &:last-child { - margin-right: 0; - } - } - .hsla-text-div, .rgba-text-div { - margin-top: 2px; - flex: 1; - text-align: center; - color: #999999; - height: 18px; - padding-right: 8px; - &:last-child { - margin-right: 0; - padding-right: 0; - } - } - .hsla-text-degree { - padding-right: @plx-color-picker-hsla-unit-margin-left + @plx-color-picker-hsla-unit-margin-right + @plx-color-picker-hsla-unit-degree-width; - } - .hsla-text-percent { - padding-right: @plx-color-picker-hsla-unit-margin-left + @plx-color-picker-hsla-unit-margin-right + @plx-color-picker-hsla-unit-percent-width; - } - .hsla-degree { - display: inline-block; - width: @plx-color-picker-hsla-unit-degree-width; - margin-left: @plx-color-picker-hsla-unit-margin-left; - margin-right: @plx-color-picker-hsla-unit-margin-right; - margin-top: 2px; - } - .hsla-percent { - display: inline-block; - width: @plx-color-picker-hsla-unit-percent-width; - margin-left: @plx-color-picker-hsla-unit-margin-left; - margin-right: @plx-color-picker-hsla-unit-margin-right; - margin-top: 3px; - } - .rgba-text-input { - margin-right: 8px; - } - } - - .hex-text { - width: @plx-color-picker-input-width; - .box { - input { - color: #595959; - flex: 1 1 auto; - padding: 1px; - } - div { - margin-top: 2px; - flex: 1 1 auto; - text-align: center; - height: 18px; - color: #999999; - float: left; - clear: left; - } - } - } - - .bacis-color-alpha-select-area { - padding: 20px @plx-color-picker-box-padding-left-right 16px @plx-color-picker-box-padding-left-right; - } - .color-format-content-area { - padding: 0px @plx-color-picker-box-padding-left-right 16px @plx-color-picker-box-padding-left-right; - } - .arrow::after, - .arrow::before { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; - content: ""; - border-width: @plx-color-picker-border-arrow-width @plx-color-picker-border-arrow-width; - } - - .arrow.arrow-bottom::after { - left: 20px; - border-top-width: 0; - top: -@plx-color-picker-border-arrow-width; - border-bottom-color: #ffffff; - } - .arrow.arrow-bottom::before { - left: 20px; - border-top-width: 0; - top: -(@plx-color-picker-border-arrow-width + 1); - border-bottom-color: #999999; - } -} -html{ - //font-size:@font-size-spacing; -}// 定义间距使用 -body{ - font-size:@font-size; -} -.shadow { --webkit-box-shadow: 0 1px 6px @shadow-color; --moz-box-shadow: 0 1px 6px @shadow-color; -box-shadow: 0 1px 6px @shadow-color; -} //阴影样式(包含跨浏览器),可以直接引用.shadow - -:-moz-placeholder { /* Mozilla Firefox 4 to 18 */ - color: @disabled-text-color; -} - -::-moz-placeholder { /* Mozilla Firefox 19+ */ - color: @disabled-text-color; -} - -input:-ms-input-placeholder{ - color: @disabled-text-color; -} - -input::-webkit-input-placeholder{ - color: @disabled-text-color; -} - -/////// - -@padding-normal: 0px 16px; -@padding-sm: 0px 14px; -@padding-xs: 0px 12px; -@min-width-normal: 80px; -@min-width-sm: 60px; -@min-width-xs: 60px; -@btn-margin-right: 10px; -@btn-margin-right-sm: 5px; -@btn-margin-right-xs: 5px; -@btn-border-height: 1px; - -.border-min-width(@min-width, 14px) { - min-width: @min-width + 8px; -} - -.border-min-width(@min-width, 12px) { - min-width: @min-width; -} - -.background-color-white-color-disabled (@color) when (@color = #fff) { - color: @disabled-text-color; - background-color: @common-color; - border-color: #e9e9e9; -} - -.background-color-white-color-disabled (@color) when not (@color = #fff) { - border-color: @color; - background-color: @color; - opacity: @opacity-disable; -} - -.plx-btn { - font-family: @font-family; - color: @common-textcolor; - .border-min-width(@min-width-normal, @font-size); - letter-spacing: 1px; - padding: @padding-normal; - height: @btn-height; - font-size: @font-size; - cursor: pointer; - text-align: center; - white-space: nowrap; - margin-right: @btn-margin-right; - vertical-align: middle; - border: @btn-border-height solid @border-color-base; - background-color: @common-color; - border-radius: @radius; - line-height: @btn-height - @btn-border-height * 2; - &:hover, - &:disabled, - &[disabled], - &:focus, - &:active { - outline: none; - background-image: none; - filter: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; - } - &:hover, - &:focus { - color: @btn-common-color-text-hover; - border-color: @btn-common-color-border-hover; - background-color: @common-color-hover; - } - &:active { - color: @btn-common-color-text-click; - border-color: @btn-common-color-border-click; - background-color: @common-color-click; - } - &:disabled, - &[disabled] { - .background-color-white-color-disabled(@common-color); - } - &:disabled:hover, - &[disabled]:hover, - &:disabled:focus, - &[disabled]:focus { - .background-color-white-color-disabled(@common-color); - cursor: not-allowed; - } - & .plx-btn-icon { - font-size: 16px; - vertical-align: text-top; - margin-right: 3px; - } -} - -.plx-btn-primary { - background-color: @primary-color; - color: @scene-textcolor; - border-color: @primary-color; - &:hover, - &:focus { - color: @scene-textcolor; - background-color: @primary-color-hover; - border-color: @primary-color-hover; - } - &:active { - color: @scene-textcolor; - background-color: @primary-color-click; - border-color: @primary-color-click; - } - &:disabled, - &[disabled], - &:disabled:hover, - &[disabled]:hover, - &:disabled:focus, - &[disabled]:focus { - color: @scene-textcolor; - .background-color-white-color-disabled(@primary-color); - } -} - -.plx-btn-guide { - background-color: @guide-color; - color: @scene-textcolor; - border-color: @guide-color; - &:hover, - &:focus { - color: @scene-textcolor; - background-color: @primary-color-guide-hover; - border-color: @primary-color-guide-hover; - } - &:active { - color: @scene-textcolor; - background-color: @primary-color-guide-click; - border-color: @primary-color-guide-click; - } - &:disabled, - &[disabled], - &:disabled:hover, - &[disabled]:hover, - &:disabled:focus, - &[disabled]:focus { - color: @scene-textcolor; - .background-color-white-color-disabled(@guide-color); - } -} - -.plx-btn-table { - color: @text-color; -} - -.plx-btn-error { - background-color: @error-color; - color: @scene-textcolor; - border-color: @error-color; - &:hover, - &:focus { - color: @scene-textcolor; - background-color: @error-color-hover; - border-color: @error-color-hover; - } - &:active { - color: @scene-textcolor; - background-color: @error-color-click; - border-color: @error-color-click; - } - &:disabled, - &[disabled], - &:disabled:hover, - &[disabled]:hover, - &:disabled:focus, - &[disabled]:focus { - color: @scene-textcolor; - .background-color-white-color-disabled(@error-color); - } -} - -.plx-btn-sm { - height: @btn-height-sm; - padding: @padding-sm; - .border-min-width(@min-width-sm, @font-size); - margin-right: @btn-margin-right-sm; - line-height: @btn-height-sm - @btn-border-height * 2; -} - -.plx-btn-xs{ - height: @btn-height-xs; - padding: @padding-xs; - .border-min-width(@min-width-xs, @font-size); - margin-right: @btn-margin-right-xs; - line-height: @btn-height-xs - @btn-border-height * 2; -} - -.plx-btn.dropdown-toggle { - margin-right: 0; - outline: none !important; - background-image: none !important; - filter: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; -} - -.plx-btn.dropdown-toggle::after { - margin-left: 16px; - border-top: 4px solid; - border-right: 4px solid transparent; - border-left: 4px solid transparent; - color: darken(@border-color-base, 10%); - margin-bottom: 1px; -} - -.plx-btn-sm.dropdown-toggle::after { - margin-left: 14px; -} - -.plx-btn-xs.dropdown-toggle::after { - margin-left: 12px; -} - -.plx-btn+.dropdown-menu { - margin: 0; - padding: 0; - border: 0; - min-width: 100%; - font-size: @font-size; - border-radius: @radius; - .shadow; - & .dropdown-item { - background-color: @component-bg; - color: @text-color; - font-size: @font-size; - padding: @padding-normal; - height: 30px; - cursor: pointer; - &:hover, - &:focus, - &:active{ - outline: none; - background-color: @hover-bg-color; - } - &:disabled, - &[disabled] { - color: @disabled-text-color; - } - &:disabled:hover, - &[disabled]:hover, - &:disabled:focus, - &[disabled]:focus { - cursor: not-allowed; - background-color: @component-bg; - } - } -} - -.plx-btn-sm+.dropdown-menu .dropdown-item { - padding: @padding-sm; -} -.plx-btn-xs+.dropdown-menu .dropdown-item { - padding: @padding-xs; -} - -.plx-btn-more { - display: inline-block; - margin-right: @btn-margin-right; -} - -.plx-btn-more-sm { - margin-right: @btn-margin-right-sm; -} - -.plx-btn-more-xs { - margin-right: @btn-margin-right-xs; -} -/////// - -@checkbox-border-size: 1px; - -.plx-checkbox-container { - font-size: 0; - position: relative; -} - -.plx-checkbox { - position: absolute; - z-index: -1; - opacity: 0; - & + .checkbox-substitute { - position: relative; - display: inline-block; - cursor: pointer; - height: @checkbox-size; - width: @checkbox-size; - border: @checkbox-border-size solid @border-color-base; - border-radius: @radius-sm; - vertical-align: middle; - } - & + .checkbox-substitute + span { - font-weight: normal; - font-size: @font-size; - cursor: pointer; - vertical-align: middle; - .font-padding(@font-size); - } - &:hover + .checkbox-substitute { - border-color: @primary-color; - outline: none; - background-image: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; - } - &:checked + .checkbox-substitute { - border-color: @primary-color; - background-color: @primary-color; - &::after { - .checkbox-check(@component-bg); - } - } - &.portion + .checkbox-substitute { - background-color: @primary-color; - border-color: @primary-color; - opacity: 0.5; - &::after { - .checkbox-check(@component-bg); - } - } - &:disabled + .checkbox-substitute, - &[disabled] + .checkbox-substitute { - border-color: @border-color-base; - background-color: @input-bg-color-disabled; - cursor: not-allowed; - } - &:disabled + .checkbox-substitute + span, - &[disabled] + .checkbox-substitute + span { - cursor: not-allowed; - } - &.portion[disabled] + .checkbox-substitute { - background-color: @border-color-base; - border-color: @border-color-base; - &::after { - .checkbox-check(@fonticon-color); - } - } - &:checked[disabled] + .checkbox-substitute { - border-color: @border-color-base; - background-color: @border-color-base; - } -} - -.checkbox-check(@color) { - content: ''; - position: absolute; - display: block; - width: 6px; - height: 10px; - border: solid @color; - border-width: 0 2px 2px 0; - transform: rotate(45deg); - .checkbox-check-left(@font-size); - top: 0; -} - -.checkbox-check-left(12px) { - left: 3px; -} - -.checkbox-check-left(14px) { - left: 4px; -} - -.font-padding(12px) { - padding-left: 6px; -} - -.font-padding(14px) { - padding-left: 10px; -} - -/////// -/////// -/////// -/////// -/////// - -.plx-form { - font-family: @font-family; - font-size: @font-size; - background: @component-bg; - color: @text-color; - .ng-invalid:not(form).ng-invalid:not(fieldset).ng-invalid:not(plx-select) { - border: 1px solid @error-color; /* red */ - } - .ng-untouched:not(form).ng-untouched:not(fieldset).ng-untouched:not(plx-select) { - border: 1px solid @border-color-base ; - } - // 标签和通用组件样式 - label { - font-size: @font-size; - text-align: right; - color: @form-label; - background: @component-bg; - .label-span { - color: @text-color; - } - } - - //分组的样式 - .forms-group(@cursor, @bgcolor) { - margin-bottom: 10px; - padding-left: 15px; - color: @title-text-color; - font-size: @font-size-title-group; - height: @input-height; - line-height: @input-height; - cursor: @cursor; - &:hover { - background: @bgcolor; - } - span { - margin-left: 24px; - border-left: 3px solid @primary-color; - padding-left: 5px; - } - // 分组的展开和隐藏 - .group-icon { - float:left; - font-size: @font-size-title-group; - color: @primary-color !important; - line-height:@input-height; - margin-right:8px; - transform: scale(0.7,0.7); - font-weight: bold; - } - } - - .text-autocut { - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; - display: block; - } - - .forms-group-pointer { - .forms-group(pointer, @hover-bg-color); - } - - .forms-group-default { - .forms-group(default, @component-bg); - line-height: @input-height / 2; - } - // 紧凑型表单input高度 - .input-sm { - height: @input-height-sm !important; - } - // 必选的*号颜色 - .px-red { - color: @error-color; - } - - input:focus { - border: 1px solid @primary-color !important; - } - // 错误信息 - .error-div { - height: @font-size; - margin-top: -4px; - margin-bottom: 5px; - .error-msg { - color: @error-color; - } - } - // 输入提示信息的样式 - .help-div { - color: @disabled-text-color; - height: @font-size; - margin-top: -5px; - margin-bottom: 6px; - } - // 标题样式 - .forms-header { - margin-left: 15px; - margin-bottom: 25px; - padding-bottom: 5px; - border-bottom:1px solid @border-color-split; - span { - font-size: @font-size-title-level2; - color: @title-text-color; - } - } - - .plx-input{ - width: 100%; - color: @text-color; - background: @component-bg; - text-align: left; - } - //radio、checkbox、tail的样式 - .field-radio { - padding-right:10px; - line-height:@input-height - 5px; - &.field-radio-tight { - line-height:@input-height-sm - 5px; - } - } - .field-tail { - padding-right:10px; - line-height:@input-height; - &.field-tail-tight { - line-height:@input-height-sm; - } - .tip { - color: @fonticon-color; - font-size: 16px; - } - } - .field-info { - font-size: @font-size; - color: @primary-color; - margin-left: -15px; - &.field-info-group { - margin-left: 15px; - } - } - //field的样式 - .form-field:not(select-dropdown) { - color: @text-color; - font-size: @font-size; - line-height: @input-height; - &.form-field-tight { - line-height:@input-height-sm; - } - &.form-filed-hint { - margin-bottom: 15px; - } - } - .field-div { - margin-bottom: 15px; - padding-left: 0; - &.field-div-tight { - margin-bottom: 10px; - } - // 输入值改变后的样式变化 - &.inputchanged > input{ - font-weight:bold; - } - &.inputchanged > select{ - font-weight:bold; - } - } - - .button-div { - padding: 15px 0 0 0; - color: @text-color; - font-size: @font-size-title-group; - text-align: left; - button { - margin-right: 10px; - } - } - - .button-r-submit { - float: right; - margin-right: -20px !important; - } - - .button-r-cancel { - float: right; - } - - .content { - overflow-y: auto; - overflow-x: hidden; - } - - //滚动条 - .plx-scrollbar::-webkit-scrollbar { - width: 4px; - height: 6px; - } - .plx-scrollbar::-webkit-scrollbar-thumb { - background-color: rgba(0,0,0,.2); - border-radius: 2em; - min-height: 50px; - max-height: 100px; - } - .plx-scrollbar::-webkit-scrollbar-corner{ - background-color: transparent; - } - // placeholder - input:-ms-input-placeholder { - color: @unselected-text-color !important; - } - input::-webkit-input-placeholder { - color: @unselected-text-color !important; - } - plx-info .icon { - margin-left: -10px; - line-height: 28px !important; - } - -} -.para-content { - .icon-active { - fill:@primary-color; - } - .icon-disactive { - fill: @disabled-text-color; - cursor: default; - } -} - - -/////// - -.plx-input { - font-size: @font-size; - height: @input-height; - padding-left: 10px; - padding-right: 10px; - outline: 0; - border: 1px solid @border-color-base; - border-radius: @radius; - vertical-align: middle; - &:focus { - border: 1px solid @primary-color; - } - &:disabled, - &[disabled] { - cursor: not-allowed; - background-color: @input-bg-color-disabled; - } -} - -.plx-input-sm { - height: @input-height-sm; -} - -.plx-input-right-no-radius { - border-bottom-right-radius: 0; - border-top-right-radius: 0; -} -/////// - -.plx-radio-container { - font-size: 0; - position: relative; -} - -.plx-radio { - position: absolute; - z-index: -1; - opacity: 0; - & + .radio-substitute { - position: relative; - display: inline-block; - cursor: pointer; - height: @checkbox-size; - width: @checkbox-size; - border: 1px solid @border-color-base; - border-radius: @checkbox-size; - vertical-align: middle; - } - &:hover + .radio-substitute, - &:focus + .radio-substitute { - border-color: @primary-color; - outline: none; - background-image: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; - } - &:checked + .radio-substitute { - .radio-boder-checked-width(@font-size); - } - &:disabled + .radio-substitute, - &[disabled] + .radio-substitute { - border-color: @border-color-base; - background-color: @input-bg-color-disabled; - cursor: not-allowed; - } - &:checked [disabled] + .radio-substitute { - border-color: @border-color-split; - background-color: @border-color-split; - cursor: not-allowed; - } - & + .radio-substitute + span { - font-weight: normal; - font-size: @font-size; - cursor: pointer; - vertical-align: middle; - .font-padding(@font-size); - } - &:disabled + .radio-substitute + span, - &[disabled] + .radio-substitute + span { - cursor: not-allowed; - } -} - -.radio-boder-checked-width(12px) { - border: 4px solid @primary-color; -} - -.radio-boder-checked-width(14px) { - border: 5px solid @primary-color; -} - -.font-padding(12px) { - padding-left: 6px; -} - -.font-padding(14px) { - padding-left: 10px; -} - -/*radio-group*/ - -@radio-group-border-height: 1px; -@padding-normal: 0px 16px; -@padding-sm: 0px 14px; -@min-width-normal: 80px; -@min-width-sm: 60px; - -.border-min-width(@min-width, 14px) { - min-width: @min-width + 8px; -} - -.border-min-width(@min-width, 12px) { - min-width: @min-width; -} - -.btn.dropdown-toggle, -.btn-group .btn.dropdown-toggle, -.btn:hover, -.btn:disabled, -.btn[disabled], -.btn:focus, -.btn:active, -.btn.active { - outline: none !important; - background-image: none !important; - filter: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; -} - -.plx-radio-group { - cursor: pointer; - font-size: @font-size; - height: @btn-height; - background-color: @common-color; - border: @radio-group-border-height solid @border-color-base; - color: @text-color; - border-radius: @radius; - padding: @padding-normal; - .border-min-width(@min-width-normal, @font-size); - transition: none; - &:hover, - &:focus, - &:active { - outline: none; - background-image: none; - filter: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; - } - - &:hover, - &:focus { - color: @btn-common-color-text-hover; - border-color: @btn-common-color-border-hover; - background-color: @common-color-hover; - } - &:active { - color: @btn-common-color-text-click; - border-color: @btn-common-color-border-click; - background-color: @common-color-click; - } - &.active { - background-color: @primary-color; - color: @scene-textcolor; - border-color: @primary-color; - } - & > span { - line-height: @btn-height - @radio-group-border-height * 2; - } -} - -.plx-radio-group-sm { - height: @btn-height-sm; - padding: @padding-sm; - .border-min-width(@min-width-sm, @font-size); - & > span { - line-height: @btn-height-sm - @radio-group-border-height * 2; - } -} - -/////// - -.plx-ui-steps-number-active { - background: @default-blue; - color: @default-white; -} - -.plx-ui-steps-number-passive { - background: @gray-grade-7; - color: @default-white; -} - -.plx-ui-steps-number-visited { - color: @default-white; - border: 2px @default-blue solid; -} - -.plx-ui-underline-active { - background: @default-blue; -} - -.plx-ui-underline-passive { - background: @gray-grade-8; -} - -.plx-ui-steps-title-active { - color: @font-gray-normal; -} - -.plx-ui-steps-title-passive { - color: @font-gray-light; -} - -.plx-ui-steps-title-visited { - color: @font-gray-light; -} - -.plx-ui-steps-number-visited-tick { - border-bottom: 2px solid @default-blue; - border-right: 2px solid @default-blue; -} - -.plx-ui-underline-active-vertical { - border-right: 2px solid @gray-grade-7; -} - -.plx-ui-underline-visited-vertical { - border-right: 2px solid @default-blue; -} - -.plx-ui-underline-passive-vertical { - border-right: 2px solid @gray-grade-7; -} - -.plx-ui-steps-title-active-vertical { - color: @font-gray-normal; -} - -.plx-ui-steps-title-visited-vertical { - color: @font-gray-light; -} - -.plx-ui-steps-title-passive-vertical { - color: @font-gray-light; -} - -.plx-ui-steps-number-active-vertical { - background: @default-blue; - color: @default-white; -} - -.plx-ui-steps-number-passive-vertical { - background: @gray-grade-7; - color: @default-white; -} - -.plx-ui-steps-number-visited-vertical { - color: @default-white; -} - -/////// - -//input[type='text'], -//input[type='password'], -//input[type='email'], -//input[type='tel'] { -// color: @font-gray-normal !important; -// font-weight: @font-weight-bold !important; -// border: @border-base; -// &:focus { -// border-color: @default-blue !important; -// } -//} -// -//@media screen and (-webkit-min-device-pixel-ratio: 0) { -// input[type='text'], -// input[type='password'], -// input[type='email'], -// input[type='tel'] { -// &:focus { -// border-color: @default-blue; -// color: @default-blue; -// text-shadow: 0 0 0 @font-gray-normal; -// -webkit-text-fill-color: transparent; -// } -// &::-webkit-input-placeholder { -// font-weight: @font-weight-normal; -// text-shadow: none; -// -webkit-text-fill-color: @font-gray-lightest; -// } -// } -//} -// -//input[disabled] { -// background: @gray-grade-9; -// color: @font-gray-lightest !important; -// border-color: rgba(191, 191, 191, 0.5) !important; -// cursor: not-allowed; -//} -// -// -//input[type='text'], -//input[type='password'], -//input[type='email'], -//input[type='tel'] { -// .input-invalid.ng-dirty.ng-invalid.ng-touched.input-blur &, -// &.ng-dirty.ng-invalid.ng-touched.input-blur { -// border-color: @default-red; -// } -//} diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/themes/default/NIV-theme.less b/sdc-workflow-designer-ui/src/app/paletx/assets/themes/default/NIV-theme.less deleted file mode 100644 index 607c7174..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/assets/themes/default/NIV-theme.less +++ /dev/null @@ -1,271 +0,0 @@ -//color -@blue-1: #e7f4fd; -@blue-2: #cfe9fc; -@blue-3: #a0d3f8; -@blue-4: #70bef5; -@blue-5: #40a8f2; -@blue-6: #108ee9; -@blue-7: #0d75bf; -@blue-8: #0c66a7; -@blue-9: #084977; -@blue-10: #073a5f; - -@green-1: #e5f6ee; -@green-2: #cceedd; -@green-3: #99dcbb; -@green-4: #66cb98; -@green-5: #33b976; -@green-6: #00a854; -@green-7: #00994d; -@green-8: #008040; -@green-9: #006633; -@green-10: #004d26; - -@red-1: #fdeae8; -@red-2: #fad4d1; -@red-3: #f8bfba; -@red-4: #f5aaa3; -@red-5: #ee6a5d; -@red-6: #ea4335; -@red-7: #e72918; -@red-8: #b92113; -@red-9: #a21d11; -@red-10: #8a190f; - -@yellow-1: #fff8e6; -@yellow-2: #fef2cd; -@yellow-3: #fde59b; -@yellow-4: #fdde81; -@yellow-5: #fcca36; -@yellow-6: #f3b709; -@yellow-7: #c99703; -@yellow-8: #977202; -@yellow-9: #7e5f02; -@yellow-10: #644c02; - -@orange-1: #fff1e6; -@orange-2: #ffe2cc; -@orange-3: #ffd4b3; -@orange-4: #ffb780; -@orange-5: #ff8b33; -@orange-6: #f56a30; -@orange-7: #cc5800; -@orange-8: #994200; -@orange-9: #803700; -@orange-10: #662c00; - -@purple-1: #f5e9f7; -@purple-2: #ebd4ef; -@purple-3: #d7a9df; -@purple-4: #c47cd0; -@purple-5: #ad49be; -@purple-6: #9c27b0; -@purple-7: #862097; -@purple-8: #6f1c7d; -@purple-9: #60166d; -@purple-10: #51145c; - -@pink-1: #fde8ef; -@pink-2: #fad1df; -@pink-3: #f8bace; -@pink-4: #ff84af; -@pink-5: #ee5d8e; -@pink-6: #e81e63; -@pink-7: #d01654; -@pink-8: #b9134a; -@pink-9: #a21141; -@pink-10: #8a0f38; - -@cyan-1: #ebf8f9; -@cyan-2: #cfedf0; -@cyan-3: #a7dfe3; -@cyan-4: #76cdd3; -@cyan-5: #3db8c1; -@cyan-6: #00a2ae; -@cyan-7: #008997; -@cyan-8: #00707f; -@cyan-9: #005667; -@cyan-10: #003c4e; - -@lemon-1: #fffdeb; -@lemon-2: #ffface; -@lemon-3: #fff7b1; -@lemon-4: #fff59d; -@lemon-5: #fff175; -@lemon-6: #ffeb3b; -@lemon-7: #f7e225; -@lemon-8: #e8d211; -@lemon-9: #d3bf0b; -@lemon-10: #c3b003; - -@brown-1: #f5f1ef; -@brown-2: #ece3df; -@brown-3: #d9c6bf; -@brown-4: #c6aa9f; -@brown-5: #9f7160; -@brown-6: #795548; -@brown-7: #604439; -@brown-8: #503830; -@brown-9: #402d26; -@brown-10: #30221d; - -@indigo-1: #eceef8; -@indigo-2: #d9ddf2; -@indigo-3: #c6cceb; -@indigo-4: #a1aade; -@indigo-5: #6877ca; -@indigo-6: #3f51b5; -@indigo-7: #354497; -@indigo-8: #2e3b84; -@indigo-9: #212a5e; -@indigo-10: #1b224b; - -@lime-1: #f3f9ec; -@lime-2: #e6f2d9; -@lime-3: #daecc6; -@lime-4: #b5d98c; -@lime-5: #9ccc66; -@lime-6: #8bc24a; -@lime-7: #77ac39; -@lime-8: #699933; -@lime-9: #4f7326; -@lime-10: #426020; - -@bluegray-1: #f0f3f5; -@bluegray-2: #d2dbe0; -@bluegray-3: #b4c3cb; -@bluegray-4: #96abb6; -@bluegray-5: #7893a1; -@bluegray-6: #607d8b; -@bluegray-7: #546c78; -@bluegray-8: #495f69; -@bluegray-9: #34444b; -@bluegray-10: #2a363c; - -@default-white: #ffffff; -@default-black: #000000; - -@default-blue: @blue-6; -@hover-blue: @blue-7; -@active-blue: @blue-8; - -@nav-default-blue: @default-blue; -@nav-hover-blue: @hover-blue; -@nav-active-blue: @active-blue; - -@default-green: @green-6; -@hover-green: @green-7; -@active-green: @green-8; - -@default-red: @red-6; -@hover-red: @red-7; -@active-red: @red-8; - -@default-yellow: @yellow-6; -@hover-yellow: @yellow-7; -@active-yellow: @yellow-8; - -@gray-grade-1: #212121; -@gray-grade-2: #404040; -@gray-grade-3: #595959; -@gray-grade-4: #737373; -@gray-grade-5: #999999; -@gray-grade-6: #bfbfbf; -@gray-grade-7: #d9d9d9; -@gray-grade-8: #e9e9e9; -@gray-grade-9: #f5f5f5; - -//font -@font-family: "Helvetica Neue","PingFang SC",Tahoma,"Microsoft Yahei"; - -@font-size-normal: 14px; -@font-size-xl: 24px; -@font-size-lg: 20px; -@font-size-sm: 12px; - -@font-gray-normal: @gray-grade-3; -@font-gray-light: @gray-grade-5; -@font-gray-lightest: @gray-grade-6; -@font-gray-dark: @gray-grade-2; - -@font-weight-normal: 400; -@font-weight-bold: 500; -@title-font-weight: 500; - -.font(@font-size: @font-size-normal, @color:@font-gray-normal, @font-weight: @font-weight-normal) { - font-family: @font-family; - font-weight: @font-weight; - font-size: @font-size; - line-height: @font-size; - color: @color; -} - -.input-font(@font-size: @font-size-normal, @color:@font-gray-normal) { - .font(@font-size, @color, @font-weight-bold); -} - -//disabled -@disabled-font: @font-gray-lightest; -@disabled-background: @gray-grade-9; -@disabled-border-color: rgba(191, 191, 191, 0.5); - -//hover -@hover-background: @blue-1; -@hover-border-color: @default-blue; - -//active -@active-background: @gray-grade-9; - -//highlight -@highlight-background: @gray-grade-6; - -//border -@border-color: @gray-grade-7; -@border-base: 1px solid @border-color; -@border-radius-base: 3px; -@box-shadow-base: 0 2px 4px 0 rgba(0, 0, 0, 0.2); - -//height -@component-height-lg: 32px; -@component-height-md: 28px; -@component-height-sm: 24px; -@line-height-base: 1.5; - -//spacing -@spacing-within-item: 10px; -@spacing-between-item: 20px; - -//z-index -@z-index-affix : 10; -@z-index-back-top : 10; -@z-index-modal-mask : 1000; -@z-index-modal : 1000; -@z-index-notification : 1010; -@z-index-message : 1010; -@z-index-popover : 1030; -@z-index-picker : 1050; -@z-index-dropdown : 1050; -@z-index-tooltip : 1060; - -//input -@input-padding-both-side: 10px; -@input-width: 400px; - -//overlay -@overlay-margin-top: 5px; -@overlay-item-padding-left: 10px; - -//clear icon -@hover-clear-icon-bg: @gray-grade-9; -@clear-icon-color: @gray-grade-5; - -//button -@button-width: 88px; -@button-border: 0; -@button-border-color: @border-base; - -//tab -@tab-height: 36px; -@tab-active-line-height: 2px; -@tab-line-height: @tab-height - @tab-active-line-height; -@icon-menu-active-bg: @blue-2; diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/themes/default/theme.css b/sdc-workflow-designer-ui/src/app/paletx/assets/themes/default/theme.css deleted file mode 100644 index 6347a525..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/assets/themes/default/theme.css +++ /dev/null @@ -1,5552 +0,0 @@ -.plx-breadcrumb { - margin: 0; - padding: 5px 10px; - font-size: 12px; -} -.plx-breadcrumb li { - display: inline-block; -} -.plx-breadcrumb a { - color: #737373; - text-decoration: none; -} -.plx-breadcrumb a:hover { - color: #00abff; -} -.plx-breadcrumb .plx-breadcrumb-separator { - color: #999; - padding: 0 5px; - vertical-align: 1px; -} -.plx-breadcrumb .plx-breadcrumb-collapse { - padding-left: 6px; - padding-right: 6px; - cursor: pointer; -} -.plx-breadcrumb .plx-breadcrumb-collapse circle { - fill: #999; -} -.plx-breadcrumb .plx-breadcrumb-collapse:hover circle { - fill: #00abff; -} -.plx-breadcrumb .plx-breadcrumb-active { - vertical-align: 1px; -} -.plx-breadcrumb .plx-breadcrumb-active a { - font-size: 20px; - color: #404040; - cursor: text; -} -.owl-dateTime { - display: inline-block; - position: relative; - width: 100%; - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; - font-size: 12px; - background: #fff; - color: #595959; -} -.owl-dateTime input { - font-size: 12px; - height: 32px; - padding-left: 10px; - padding-right: 10px; - outline: 0; - border: 1px solid #d9d9d9; - border-radius: 3px; - vertical-align: middle; -} -.short-text-input .owl-dateTime input { - width: 120px; -} -.text-input-with-unit .owl-dateTime input { - width: 355px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-unitOption .owl-dateTime input { - width: 316px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-prefix .owl-dateTime input { - width: 330px; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.text-input-with-prefixOption .owl-dateTime input { - width: 316px; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.text-input-with-passwordSwith .owl-dateTime input { - width: 360px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-prefix.text-input-with-unit .owl-dateTime input { - width: 285px; -} -.text-input-with-prefix.text-input-with-unitOption .owl-dateTime input { - width: 246px; -} -.short-text-input.text-input-with-prefix .owl-dateTime input { - width: 80px; -} -.short-text-input.text-input-with-unit .owl-dateTime input { - width: 80px; -} -.short-text-input.text-input-with-prefix.text-input-with-unit .owl-dateTime input { - width: 40px; -} -.owl-dateTime input:focus { - border: 1px solid #00abff; -} -.owl-dateTime input:disabled, -.owl-dateTime input[disabled] { - cursor: not-allowed; - background-color: #f5f5f5; -} -.owl-dateTime input:-ms-input-placeholder { - color: #999 !important; -} -.owl-dateTime input::-webkit-input-placeholder { - color: #999 !important; -} -.owl-dateTime-input { - width: 100%; - padding-right: 1.5em; -} -.owl-dateTime-cancel { - position: absolute; - top: 50%; - right: .1em; - border-radius: 50%; - transform: translateY(-50%); - cursor: pointer; - color: inherit; -} -.owl-dateTime-inputWrapper { - position: relative; -} -.owl-dateTime-customTemp { - display: inline-block; - position: relative; -} -.owl-dateTime-dialog { - padding: 0px; - position: absolute; -} -.owl-dateTime-dialogHeader { - display: flex; - justify-content: center; - align-items: center; - width: 100%; -} -.owl-calendar-wrapper, -.owl-timer-wrapper { - position: relative; - width: 100%; - padding: .2em .5em; -} -.owl-calendar-control { - display: flex; - justify-content: space-around; - width: 100%; - height: 2em; -} -.owl-calendar-control .owl-calendar-controlNav { - position: relative; - cursor: pointer; - width: 12.5%; -} -.owl-calendar-control .owl-calendar-controlContent { - display: flex; - justify-content: center; - align-items: center; - width: 75%; - height: 100%; -} -.owl-calendar { - position: relative; - min-height: 13.7em; -} -.owl-calendar table { - width: 100%; - border-collapse: collapse; -} -.owl-calendar tbody td { - position: relative; - text-align: center; -} -.owl-calendar tbody td a { - display: block; - width: 100%; - height: 100%; - text-decoration: none; - color: inherit; - font-size: 12px; -} -.owl-calendar .owl-calendar-yearArrow { - position: absolute; - top: 50%; - width: 1.5em; - height: 1.5em; - transform: translateY(-50%); - cursor: pointer; -} -.owl-calendar .owl-calendar-yearArrow.left { - left: -0.5em; -} -.owl-calendar .owl-calendar-yearArrow.right { - right: -0.5em; -} -.owl-timer-wrapper { - position: relative; - display: flex; - justify-content: center; -} -.owl-timer-wrapper .owl-timer { - position: relative; - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - width: 25%; - height: 100%; -} -.owl-timer-wrapper .owl-timer-control { - display: flex; - justify-content: center; - align-items: center; - height: 30%; - width: 100%; - cursor: pointer; -} -.owl-timer-wrapper .owl-timer-control .icon:before { - margin: 0; -} -.owl-timer-wrapper .owl-timer-input { - width: 60%; - height: 100%; -} -/*# sourceMappingURL=picker.component.css.map */ -.font-face { - font-weight: normal; - font-style: normal; -} -[class^="paletx-datepicker-icon-"]:before, -[class*="paletx-datepicker-icon-"]:before { - font-family: "fontello"; - font-style: normal; - font-weight: normal; - speak: none; - display: inline-block; - text-decoration: inherit; - width: 1em; - margin-right: .2em; - text-align: center; - /* opacity: .8; */ - /* For safety - reset parent styles, that can break glyph codes*/ - font-variant: normal; - text-transform: none; - /* fix buttons height, for twitter bootstrap */ - line-height: 1em; - /* Animation center compensation - margins should be symmetric */ - /* remove if not needed */ - margin-left: .2em; - /* you can be more comfortable with increased icons size */ - /* font-size: 120%; */ - /* Font smoothing. That was taken from TWBS */ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - /* Uncomment for 3D effect */ - /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ -} -.paletx-datepicker-icon-cancel:before { - content: '\e802'; -} -/* '' */ -.paletx-datepicker-icon-up-open:before { - content: '\e805'; -} -/* '' */ -.paletx-datepicker-icon-down-open:before { - content: '\e80b'; -} -/* '' */ -.paletx-datepicker-icon-left-open:before { - content: '\e817'; -} -/* '' */ -.paletx-datepicker-icon-right-open:before { - content: '\e818'; -} -/* '' */ -.owl-widget, -.owl-widget * { - box-sizing: border-box; -} -.owl-widget { - font-size: 1em; -} -.owl-padding { - padding: 0px; -} -.owl-corner-all { - border-radius: 3px; -} -.owl-corner-top { - border-top-left-radius: 3px; - border-top-right-radius: 3px; -} -.owl-state-default { - border: 1px solid #d9d9d9; - background: #fff; - color: #595959; -} -.owl-inputtext { - margin: 0; - outline: medium none; - transition: .2s; -} -.owl-dateTime.owl-dateTime-inline { - width: auto; -} -.owl-dateTime.owl-dateTime-inline .owl-dateTime-dialog { - position: relative; - z-index: auto; -} -.owl-dateTime-dialog { - width: 300px; - user-select: none; - z-index: 99999; -} -.owl-dateTime-dialogHeader { - height: 2.5em; - padding: .25em; - background-color: #fff; - overflow-y: auto; -} -.owl-calendar-control .owl-calendar-controlNav .nav-prev, -.owl-calendar-control .owl-calendar-controlNav .nav-next { - position: absolute; - top: 50%; - right: auto; - bottom: auto; - left: 50%; - transform: translate(-50%, -50%); -} -.owl-cal-header { - background: #f5f5f5; - height: 35px; -} -.owl-calendar-control .owl-calendar-controlNav .nav-prev:before, -.owl-calendar-control .owl-calendar-controlNav .nav-next:before { - border-top: .5em solid transparent; - border-bottom: .5em solid transparent; - border-right: 0.75em solid #000000; - width: 0; - height: 0; - display: block; - margin: 0 auto; -} -.owl-calendar-control .owl-calendar-controlNav .nav-next:before { - border-right: 0; - border-left: 0.75em solid #000000; -} -.owl-calendar-control .owl-calendar-controlContent .month-control, -.owl-calendar-control .owl-calendar-controlContent .year-control { - color: #999; - display: inline-block; - cursor: pointer; - transition: transform 200ms ease; -} -.owl-calendar-control .owl-calendar-controlContent .month-control:hover, -.owl-calendar-control .owl-calendar-controlContent .year-control:hover { - color: #00abff; -} -.owl-calendar-control .owl-calendar-controlContent .month-control { - font-size: 14px; - margin-right: .8rem; -} -.owl-calendar-control .owl-calendar-controlContent .year-control { - font-size: 14px; -} -.owl-calendar tbody td.owl-calendar-selected { - background-color: #00abff; - color: #fff; -} -.owl-calendar tbody td.owl-calendar-invalid { - color: #bfbfbf; -} -.owl-calendar tbody td.owl-calendar-outFocus { - color: #999; -} -.owl-calendar tbody td.owl-calendar-hidden { - visibility: hidden; -} -/** -.owl-calendar tbody td:not(.owl-calendar-selected):not(.owl-calendar-invalid):hover { - background-color: @hover-bg-color; - color: @shadow-color } -**/ -.owl-years td.owl-year, -.owl-years td.owl-month, -.owl-months td.owl-year, -.owl-months td.owl-month { - font-size: 1.2em; - height: 2.5em; - width: 33.33%; - line-height: 2.5em; - border-radius: 60px; -} -.owl-weekdays th.owl-weekday { - height: 1em; - line-height: 2em; - text-align: center; - font-weight: normal; - font-size: 12px; - /**color: @unselected-text-color; **/ -} -.owl-days td.owl-day { - border-radius: 30px; - height: 2em; - width: calc(14.28571429%); - line-height: 2em; -} -.owl-days td.owl-day.owl-day-today:before { - content: ''; - display: block; - position: absolute; - right: 2px; - top: 2px; - color: #00abff; - border-top: 0.5em solid #009dea; - border-left: .5em solid transparent; -} -.owl-timer-wrapper { - height: 5.4em; - background-color: rgba(0, 0, 0, 0.2); -} -.owl-timer-wrapper .owl-timer-text { - display: flex; - justify-content: center; - align-items: center; - width: 100%; - height: 40%; - font-size: 1.5em; -} -.owl-timer-wrapper .owl-meridian-btn { - font-size: .8em; - color: #00abff; - background-image: none; - background-color: transparent; - border-color: #00abff; -} -.owl-timer-wrapper .owl-meridian-btn:hover { - color: #fff; - background-color: #00abff; - border-color: #00abff; -} -.owl-timer-divider { - display: inline-block; - align-self: flex-end; - position: absolute; - width: .6em; - height: 100%; - left: -0.3em; -} -.owl-timer-divider .owl-timer-dot { - display: block; - width: .3em; - height: .3em; - position: absolute; - left: 50%; - border-radius: 50%; - transform: translateX(-50%); -} -.owl-timer-divider .owl-timer-dot.dot-top { - top: 38%; -} -.owl-timer-divider .owl-timer-dot.dot-bottom { - bottom: 38%; -} -.owl-icon { - position: absolute; - top: 50%; - right: .1em; - border-radius: 50%; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); - cursor: pointer; - color: #999; -} -.oes-time-control { - color: #595959 !important; -} -.owl-calendar-selected { - background-color: #00abff; - color: #fff; - border-radius: 50%; -} -.owl-calendar tbody td div.day:not(.owl-calendar-selected):not(.owl-calendar-invalid):hover { - background-color: #ebf6fd; - color: #000; - border-radius: 50%; -} -.oes-time-control { - font-size: 12px; -} -.owl-calendar-year-part { - width: 42px; - margin-left: 30px; - text-align: center; -} -.owl-calendar-year-part:hover { - background-color: #ebf6fd; - color: #000; - border-radius: 50%; -} -.owl-calendar-year-selected { - background-color: #00abff; - color: #fff; - border-radius: 50%; -} -.owl-calendar-year-selected:hover { - background-color: #00abff; - color: #fff; - border-radius: 50%; -} -.owl-calendar-month-part { - width: 42px; - margin-left: 30px; - text-align: center; -} -.owl-calendar-month-part:hover { - background-color: #ebf6fd; - color: #000; - border-radius: 50%; -} -.owl-calendar-month-selected { - background-color: #00abff; - color: #fff; - border-radius: 50%; -} -.owl-calendar-month-selected:hover { - background-color: #00abff; - color: #fff; - border-radius: 50%; -} -/*# sourceMappingURL=picker.css.map */ -.oes-time-table .chevron::before { - border-style: solid; - border-width: 0.29em 0.29em 0 0; - content: ''; - display: inline-block; - height: 0.69em; - left: 0.05em; - position: relative; - top: 0.15em; - transform: rotate(-45deg); - -webkit-transform: rotate(-45deg); - -ms-transform: rotate(-45deg); - vertical-align: middle; - width: 0.71em; -} -.oes-time-table .chevron.bottom:before { - top: -0.3em; - -webkit-transform: rotate(135deg); - -ms-transform: rotate(135deg); - transform: rotate(135deg); -} -.oes-time-table .btn-link { - border: none!important; - cursor: pointer; - outline: 0; - display: block; -} -.oes-time-table .btn-link.disabled { - cursor: not-allowed; - opacity: .65; -} -.oes-time-control { - text-align: center; -} -.datapicker-form-control { - width: auto !important; - display: inline-block; -} -.oes-time-table .ict-stretch { - font-size: 8px; -} -.oes-time-table .ict-shrink { - font-size: 8px; -} -.time-pick-bk { - background-color: #fff; -} -.btn-link:focus, -.btn-link:hover { - text-decoration: none; -} -.oes-time-control { - border: 0; - width: 30px !important; - padding: 3px 0; - margin: 0; - font-size: 12px; -} -.oes-time-control:hover { - background-color: #e6e6e6; - color: #000; - cursor: pointer; -} -.oes-time-control-foucs-bk { - background-color: #00abff !important; - color: #fff!important; -} -.oes-time-separator { - margin: 0 -5px; -} -.oes-time-group, -.oes-time-group:hover { - border-bottom: 1px solid #ccc; - border-left: 1px solid #ccc; - border-top: 1px solid #ccc; - border-radius: 0.2em; -} -.oes-time-btns, -.oes-time-btns:hover { - border-bottom: 1px solid #ccc; - border-right: 1px solid #ccc; - border-top: 1px solid #ccc; - border-radius: 0.2em; - padding: 0 0 7px 0 !important; -} -.oes-time-btns-wrapper { - margin-top: -3px; - transform: scale(0.6, 0.6); -} -.i18nTimeDes, -.i18nTimeDes:hover { - padding: 0 5px 0px 0; -} -.oes-time-btn { - height: 5px; -} -.oes-time-table { - margin-bottom: 10px; -} -.hour-table { - font-size: 12px; -} -.hour-table td { - padding: 5px; - padding-top: 3px; - padding-bottom: 3px; - cursor: pointer; -} -.oes-time-btn-shrink { - position: relative; - top: -5px; - left: 0px; - color: #CCC; -} -.oes-time-btn-stretch { - position: relative; - left: 0px; - color: #CCC; -} -.owl-calendar-timer-invalid { - color: #acacac; -} -.owl-calendar-timer-selected { - background-color: #00abff; - color: #FFFFFF; - border-radius: 1.2em; -} -.hour-table td:not(.owl-calendar-timer-selected):not(.owl-calendar-timer-invalid):hover { - background-color: #ebf6fd; - color: #000000; - border-radius: 1.2em; -} -.icon { - color: #999; - vertical-align: text-bottom; - margin-left: 5px; - font-size: 20px; -} -.plx-input-password { - display: inline-block; - line-height: 30px; - width: 40px; - text-align: center; - vertical-align: middle; - margin-top: -2px; - background-color: #fff; - border-top: 1px solid #d9d9d9; - border-right: 1px solid #d9d9d9; - border-bottom: 1px solid #d9d9d9; - border-bottom-right-radius: 3px; - border-top-right-radius: 3px; - cursor: pointer; -} -.plx-input-password:focus, -.plx-input-password:hover { - background-color: #fff; -} -.plx-input-password:active { - background-color: #fff; -} -.plx-input-password.ict-eye-closed, -.plx-input-password.ict-eye { - color: #999; -} -.plx-input-password-disabled { - cursor: not-allowed; -} -.plx-input-password-disabled:focus, -.plx-input-password-disabled:hover, -.plx-input-password-disabled:active { - background-color: #fff; -} -.plx-input-password-sm { - line-height: 26px; -} -@-moz-keyframes three-quarters-loader { - 0% { - -moz-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -moz-transform: rotate(360deg); - transform: rotate(360deg); - } -} -@-webkit-keyframes three-quarters-loader { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -@keyframes three-quarters-loader { - 0% { - -moz-transform: rotate(0deg); - -ms-transform: rotate(0deg); - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -moz-transform: rotate(360deg); - -ms-transform: rotate(360deg); - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -.plx-loading-max:not(:required) { - -moz-animation: three-quarters-loader 1500ms infinite linear; - -webkit-animation: three-quarters-loader 1500ms infinite linear; - animation: three-quarters-loader 1500ms infinite linear; - box-sizing: border-box; - display: inline-block; - position: relative; - overflow: hidden; - text-indent: -9999px; - width: 72px; - height: 72px; - border: 5px solid #00abff; - border-right-color: #fff; - border-radius: 36px; -} -.plx-loading-medium:not(:required) { - -moz-animation: three-quarters-loader 1500ms infinite linear; - -webkit-animation: three-quarters-loader 1500ms infinite linear; - animation: three-quarters-loader 1500ms infinite linear; - box-sizing: border-box; - display: inline-block; - position: relative; - overflow: hidden; - text-indent: -9999px; - width: 36px; - height: 36px; - border: 4px solid #00abff; - border-right-color: #fff; - border-radius: 18px; -} -.plx-loading-min:not(:required) { - -moz-animation: three-quarters-loader 1500ms infinite linear; - -webkit-animation: three-quarters-loader 1500ms infinite linear; - animation: three-quarters-loader 1500ms infinite linear; - box-sizing: border-box; - display: inline-block; - position: relative; - overflow: hidden; - text-indent: -9999px; - width: 18px; - height: 18px; - border: 2px solid #00abff; - border-right-color: #fff; - border-radius: 9px; -} -.plx-loading-default:not(:required) { - margin-left: 100px; - margin-top: 100px; - box-sizing: border-box; - display: inline-block; - position: relative; - overflow: hidden; - text-indent: -9999px; - width: 36px; - height: 36px; - border: 4px solid #00abff; - border-right-color: #fff; - border-radius: 18px; -} -.plx-loading-xs:not(:required) { - -moz-animation: three-quarters-loader 1500ms infinite linear; - -webkit-animation: three-quarters-loader 1500ms infinite linear; - animation: three-quarters-loader 1500ms infinite linear; - box-sizing: border-box; - display: inline-block; - position: relative; - overflow: hidden; - text-indent: -9999px; - width: 12px; - height: 12px; - border: 2px solid #00abff; - border-right-color: #fff; - border-radius: 6px; -} -.plx-loading { - -moz-animation: three-quarters-loader 1500ms infinite linear; - -webkit-animation: three-quarters-loader 1500ms infinite linear; - animation: three-quarters-loader 1500ms infinite linear; - box-sizing: border-box; - display: inline-block; - position: relative; - overflow: hidden; - text-indent: -9999px; -} -.plx-loading-white:not(:required) { - -moz-animation: three-quarters-loader 1500ms infinite linear; - -webkit-animation: three-quarters-loader 1500ms infinite linear; - animation: three-quarters-loader 1500ms infinite linear; - box-sizing: border-box; - display: inline-block; - position: relative; - overflow: hidden; - text-indent: -9999px; - width: 12px; - height: 12px; - border: 2px solid #fff; - border-right-color: #00abff; - border-radius: 6px; -} -.plx-loading-gray:not(:required) { - -moz-animation: three-quarters-loader 1500ms infinite linear; - -webkit-animation: three-quarters-loader 1500ms infinite linear; - animation: three-quarters-loader 1500ms infinite linear; - box-sizing: border-box; - display: inline-block; - position: relative; - overflow: hidden; - text-indent: -9999px; - width: 12px; - height: 12px; - border: 2px solid #bfbfbf; - border-right-color: #fff; - border-radius: 6px; -} -.message { - width: 400px; - right: 10px; - position: fixed; - z-index: 99999; - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; - font-weight: 400; - font-style: normal; - font-size: 14px; - color: #404040; -} -.message > p { - width: 100%; - margin: 10px 0 16px; - padding: 0 25px ; - border: 1px solid #e9e9e9; - box-shadow: 1px 3px 9px rgba(0, 0, 0, 0.2); - line-height: 36px; - background: #fff; - font-size: 12px !important; - color: #595959; -} -.message > p > span { - float: right; - cursor: pointer; - font-weight: 400; - font-style: normal; - color: #108EE9; - text-align: center; -} -.message > p > span:hover { - text-decoration: underline; -} -.message > div { - width: 100%; - margin-bottom: 16px; - border: 1px solid ; - line-height: 62px; - border: 1px solid #e9e9e9; - box-shadow: 1px 4px 9px rgba(0, 0, 0, 0.2); - border-radius: 5px; - background: #fff; - position: relative; -} -.message > div > span { - display: inline-block; - font-size: 24px !important; - margin-left: 12px; - margin-right: 3px; - vertical-align: middle; -} -.message > div.success { - border-left: 4px solid #73cf22; -} -.message > div.success > span { - color: #73cf22; -} -.message > div.error { - border-left: 4px solid #ff5b55; -} -.message > div.error > span { - color: #ff5b55; -} -.message > div.warning { - border-left: 4px solid #f7c515; -} -.message > div.warning > span { - color: #f7c515; -} -.message > div.info { - border-left: 4px solid #00abff; -} -.message > div.info > span { - color: #00abff; -} -.message > div > i { - float: right; - width: 20px; - height: 20px; - margin-top: 21px; - line-height: 20px; - border-radius: 50%; - margin-right: 20px; - cursor: pointer; - text-align: center; - font-size: 16px; -} -.message > div > i:hover { - background: #ebf6fd; -} -.message > div > p { - top: -3px; - margin: 0; - padding: 0 20px 16px 43px; - font-size: 12px !important; - color: #595959; - line-height: 18px; - position: relative; -} -.message > div > p > span { - color: #00abff; - cursor: pointer; -} -.message > div > p > span:hover { - text-decoration: underline; -} -.message > div > div { - padding-left: 45px ; - padding-bottom: 19px; - font-size: 12px; - color: #00abff; - line-height: 18px; - cursor: pointer; -} -.message > div > div:hover { - text-decoration: underline; -} -#plxMessageMeasure { - position: fixed; - top: -12px; - opacity: 0; - white-space: nowrap; - margin: 0; - padding: 0; - font-size: 12px !important; - line-height: 12px; - z-index: -9999; -} -.stack > span { - display: inline-block; - position: absolute; - bottom: 16px; - right: 25px; -} -plx-modal-window .modal { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - display: none; - outline: 0; - z-index: 10000; -} -plx-modal-window .modal-dialog { - position: relative; - max-width: 600px; - margin: 30px auto; -} -plx-modal-window .modal-dialog.modal-sm { - max-width: 600px; -} -plx-modal-window .modal-dialog.modal-lg { - max-width: 1000px; -} -plx-modal-window .modal-content { - position: relative; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - background-color: #fff; - background-clip: padding-box; - border-radius: 3px; - box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2); - outline: 0; -} -plx-modal-window .modal-content .modal-header { - border-bottom: 0; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - padding: 15px; -} -plx-modal-window .modal-content .modal-body .form-group:last-child, -plx-modal-window .modal-content .modal-body form:last-child { - margin-bottom: 0; -} -plx-modal-window .modal-content .modal-footer { - display: block; - border-top: 0; - margin-top: 0; - padding: 0 15px 15px 15px; -} -plx-modal-window .modal-content .modal-title { - font-size: 20px; - margin-bottom: 0; - line-height: 1.5; -} -plx-modal-window .modal-content .modal-btn { - text-align: center; - font-size: 0; -} -plx-modal-window .close { - color: #999; - font-size: 16px; - text-shadow: none; - width: 24px; - height: 24px; - background: #fff; - border-radius: 20px; - padding-bottom: 2px; - outline: none; -} -plx-modal-window .close:hover { - color: #999; - background: #ebf6fd; -} -plx-modal-window .alert-modal.row { - margin-left: 100px; - margin-bottom: 30px; - text-align: left; -} -plx-modal-window .alert-modal.row .tip-img { - display: inline-block; - width: 52px; - height: 52px; - border-radius: 50px; - font-size: 45px; - text-align: center; - line-height: 1; - margin-top: -5px; - margin-right: 15px; -} -plx-modal-window .alert-modal.row .tip-img::before { - content: "!"; -} -plx-modal-window .alert-modal.row .tip-info { - width: 300px; -} -plx-modal-window .alert-modal.row .tip-info .alert-title { - font-size: 16px; - color: #404040; -} -plx-modal-window .alert-modal.row .tip-info .alert-result { - margin-top: 5px; - font-size: 12px; - color: #999; -} -plx-modal-window .alert-modal.row .warning { - border: 3px solid #f7c515; - color: #f7c515; -} -plx-modal-window .alert-modal.row .error { - border: 3px solid #ff5b55; - color: #ff5b55; -} -ngb-popover-window.plx-popover.show { - color: #333; - border: 1px solid #d9d9d9; -} -.plx-popover { - position: absolute; - top: 0; - left: 0; - z-index: 10001; - display: block; - padding: 1px; - font-style: normal; - font-weight: normal; - letter-spacing: normal; - line-break: auto; - line-height: 1.5; - text-align: left; - text-decoration: none; - text-shadow: none; - text-transform: none; - white-space: normal; - word-break: normal; - word-spacing: normal; - word-wrap: break-word; - -webkit-background-clip: padding-box; - background-clip: padding-box; - max-width: 400px; - min-width: 200px; - background-color: #fff; - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; - font-size: 12px; - border: 1px solid #d9d9d9; - border-radius: 3px; - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); -} -.plx-popover::before, -.plx-popover::after { - content: ""; - position: absolute; - display: block; - width: 0; - height: 0; - border: solid transparent; -} -.plx-popover::before { - border-width: 7px; -} -.plx-popover::after { - border-width: 6px; -} -.plx-popover-top-common { - margin-top: -9px; -} -.plx-popover-top-common::before { - border-top-color: #ccc; - border-bottom-width: 0; - bottom: -7px; -} -.plx-popover-top-common::after { - border-top-color: #fff; - border-bottom-width: 0; - bottom: -6px; -} -.plx-popover-top { - margin-top: -9px; -} -.plx-popover-top::before { - border-top-color: #ccc; - border-bottom-width: 0; - bottom: -7px; -} -.plx-popover-top::after { - border-top-color: #fff; - border-bottom-width: 0; - bottom: -6px; -} -.plx-popover-top::before { - left: 50%; - margin-left: -7px; -} -.plx-popover-top::after { - left: 50%; - margin-left: -6px; -} -.plx-popover.plx-popover-top-left { - margin-top: -9px; -} -.plx-popover.plx-popover-top-left::before { - border-top-color: #ccc; - border-bottom-width: 0; - bottom: -7px; -} -.plx-popover.plx-popover-top-left::after { - border-top-color: #fff; - border-bottom-width: 0; - bottom: -6px; -} -.plx-popover.plx-popover-top-left::before { - left: 10px; -} -.plx-popover.plx-popover-top-left::after { - left: 11px; -} -.plx-popover.plx-popover-top-right { - margin-top: -9px; -} -.plx-popover.plx-popover-top-right::before { - border-top-color: #ccc; - border-bottom-width: 0; - bottom: -7px; -} -.plx-popover.plx-popover-top-right::after { - border-top-color: #fff; - border-bottom-width: 0; - bottom: -6px; -} -.plx-popover.plx-popover-top-right::before { - right: 10px; -} -.plx-popover.plx-popover-top-right::after { - right: 11px; -} -.plx-popover-right-common { - margin-left: 9px; -} -.plx-popover-right-common::before { - border-right-color: #ccc; - border-left-width: 0; - left: -7px; -} -.plx-popover-right-common::after { - border-right-color: #fff; - border-left-width: 0; - left: -6px; -} -.plx-popover.plx-popover-right { - margin-left: 9px; -} -.plx-popover.plx-popover-right::before { - border-right-color: #ccc; - border-left-width: 0; - left: -7px; -} -.plx-popover.plx-popover-right::after { - border-right-color: #fff; - border-left-width: 0; - left: -6px; -} -.plx-popover.plx-popover-right::before { - top: 50%; - margin-top: -7px; -} -.plx-popover.plx-popover-right::after { - top: 50%; - margin-top: -6px; -} -.plx-popover.plx-popover-right-top { - margin-left: 9px; -} -.plx-popover.plx-popover-right-top::before { - border-right-color: #ccc; - border-left-width: 0; - left: -7px; -} -.plx-popover.plx-popover-right-top::after { - border-right-color: #fff; - border-left-width: 0; - left: -6px; -} -.plx-popover.plx-popover-right-top::before { - top: 10px; -} -.plx-popover.plx-popover-right-top::after { - top: 11px; -} -.plx-popover.plx-popover-right-bottom { - margin-left: 9px; -} -.plx-popover.plx-popover-right-bottom::before { - border-right-color: #ccc; - border-left-width: 0; - left: -7px; -} -.plx-popover.plx-popover-right-bottom::after { - border-right-color: #fff; - border-left-width: 0; - left: -6px; -} -.plx-popover.plx-popover-right-bottom::before { - bottom: 10px; -} -.plx-popover.plx-popover-right-bottom::after { - bottom: 11px; -} -.plx-popover-bottom-common { - margin-top: 9px; -} -.plx-popover-bottom-common::before { - border-bottom-color: #ccc; - border-top-width: 0; - top: -7px; -} -.plx-popover-bottom-common::after { - border-bottom-color: #fff; - border-top-width: 0; - top: -6px; -} -.plx-popover.plx-popover-bottom { - margin-top: 9px; -} -.plx-popover.plx-popover-bottom::before { - border-bottom-color: #ccc; - border-top-width: 0; - top: -7px; -} -.plx-popover.plx-popover-bottom::after { - border-bottom-color: #fff; - border-top-width: 0; - top: -6px; -} -.plx-popover.plx-popover-bottom::before { - left: 50%; - margin-left: -7px; -} -.plx-popover.plx-popover-bottom::after { - left: 50%; - margin-left: -6px; -} -.plx-popover.plx-popover-bottom-left { - margin-top: 9px; -} -.plx-popover.plx-popover-bottom-left::before { - border-bottom-color: #ccc; - border-top-width: 0; - top: -7px; -} -.plx-popover.plx-popover-bottom-left::after { - border-bottom-color: #fff; - border-top-width: 0; - top: -6px; -} -.plx-popover.plx-popover-bottom-left::before { - left: 10px; -} -.plx-popover.plx-popover-bottom-left::after { - left: 11px; -} -.plx-popover.plx-popover-bottom-right { - margin-top: 9px; -} -.plx-popover.plx-popover-bottom-right::before { - border-bottom-color: #ccc; - border-top-width: 0; - top: -7px; -} -.plx-popover.plx-popover-bottom-right::after { - border-bottom-color: #fff; - border-top-width: 0; - top: -6px; -} -.plx-popover.plx-popover-bottom-right::before { - right: 10px; -} -.plx-popover.plx-popover-bottom-right::after { - right: 11px; -} -.plx-popover-left-common { - margin-left: -9px; -} -.plx-popover-left-common::before { - border-left-color: #ccc; - border-right-width: 0; - right: -7px; -} -.plx-popover-left-common::after { - border-left-color: #fff; - border-right-width: 0; - right: -6px; -} -.plx-popover.plx-popover-left { - margin-left: -9px; -} -.plx-popover.plx-popover-left::before { - border-left-color: #ccc; - border-right-width: 0; - right: -7px; -} -.plx-popover.plx-popover-left::after { - border-left-color: #fff; - border-right-width: 0; - right: -6px; -} -.plx-popover.plx-popover-left::before { - top: 50%; - margin-top: -7px; -} -.plx-popover.plx-popover-left::after { - top: 50%; - margin-top: -6px; -} -.plx-popover.plx-popover-left-top { - margin-left: -9px; -} -.plx-popover.plx-popover-left-top::before { - border-left-color: #ccc; - border-right-width: 0; - right: -7px; -} -.plx-popover.plx-popover-left-top::after { - border-left-color: #fff; - border-right-width: 0; - right: -6px; -} -.plx-popover.plx-popover-left-top::before { - top: 10px; -} -.plx-popover.plx-popover-left-top::after { - top: 11px; -} -.plx-popover.plx-popover-left-bottom { - margin-left: -9px; -} -.plx-popover.plx-popover-left-bottom::before { - border-left-color: #ccc; - border-right-width: 0; - right: -7px; -} -.plx-popover.plx-popover-left-bottom::after { - border-left-color: #fff; - border-right-width: 0; - right: -6px; -} -.plx-popover.plx-popover-left-bottom::before { - bottom: 10px; -} -.plx-popover.plx-popover-left-bottom::after { - bottom: 11px; -} -.plx-popover .plx-popover-title { - padding: 8px 14px; - margin-bottom: 0; - font-size: 16px; - background-color: #fff; - border-bottom: 1px solid #d9d9d9; -} -.plx-popover .plx-popover-title:empty { - display: none; -} -.plx-popover .plx-popover-content { - padding: 9px 14px; - background-color: #fff; -} -.plx-popover .ict-warning { - color: #ff5b55; - font-size: 24px; - margin-right: 5px; -} -.popover-template { - padding: 10px 0px; - min-width: 220px; -} -.popover-template .popover-template-content { - padding: 10px 10px; -} -.popover-template .popover-template-footer { - padding: 10px 10px 5px 10px; - text-align: center; -} -.popover-template .popover-template-icon { - display: inline-block; - max-width: 30px; - float: left; -} -.popover-template .popover-template-icon-area { - display: inline-block; - height: 100%; - vertical-align: middle; -} -.popover-template .popover-template-msg { - display: inline-block; - max-width: 300px; - margin-left: 10px; - margin-top: 1px; -} -.plx-progress { - display: inline-block; - margin: 0 10px 1px 0; - border-radius: 20px; - overflow: hidden; - background-color: #eee; -} -.plx-progress .plx-progress-bar { - width: 0; - height: 8px; - transition: width 0.8s ease-in-out; - opacity: 1; -} -.plx-progress .plx-progress-bar-info { - position: relative; - background-color: #33bcff; -} -.plx-progress .plx-progress-bar-info::before { - background-color: #00abff; - content: ''; - position: absolute; - top: 0; - left: 0; - width: 0; - height: 8px; - animation: plx-progress-bar-stripes 0.5s cubic-bezier(0.23, 1, 0.32, 1) infinite; -} -.plx-progress .plx-progress-bar-info.plx-progress-bar-reset { - transition: none; -} -.plx-progress .plx-progress-bar-warning { - background-color: #ff5b55; -} -.plx-progress .plx-progress-bar-success, -.plx-progress .plx-progress-bar-info.plx-progress-bar-success { - background-color: #00abff; -} -.plx-progress-info { - display: inline-block; -} -.plx-progress-info .fp-exclamation-circle { - color: #ff5b55; -} -@keyframes plx-progress-bar-stripes { - from { - width: 0; - } - to { - width: 100%; - } -} -:host(.plx-progressbar-sm) { - font-size: 12px; -} -:host(.plx-progressbar-sm) .plx-progress-bar { - height: 2px; -} -:host(.plx-progressbar-sm) .fp-exclamation-circle { - vertical-align: middle; - font-size: 12px; -} -:host(.plx-progressbar-sm) .plx-progress-info span { - vertical-align: middle; -} -.plx-progressbar-sm { - font-size: 12px; -} -.plx-progressbar-sm .plx-progress-bar { - height: 2px; -} -.plx-progressbar-sm .fp-exclamation-circle { - vertical-align: middle; - font-size: 12px; -} -.plx-progressbar-sm .plx-progress-info span { - vertical-align: middle; -} -.plx-progressbar-sm-common { - font-size: 12px; -} -.plx-progressbar-sm-common .plx-progress-bar { - height: 2px; -} -.plx-progressbar-sm-common .fp-exclamation-circle { - vertical-align: middle; - font-size: 12px; -} -.plx-progressbar-sm-common .plx-progress-info span { - vertical-align: middle; -} -.search-input { - position: relative; - background: #fff; - color: #595959; -} -.search-input input { - height: 32px; - padding-left: 10px; - padding-right: 10px; - outline: 0; - border: 1px solid #d9d9d9; - border-radius: 3px; - vertical-align: middle; - width: 100%; - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; - font-size: 12px; - color: #595959; -} -.short-text-input .search-input input { - width: 120px; -} -.text-input-with-unit .search-input input { - width: 355px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-unitOption .search-input input { - width: 316px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-prefix .search-input input { - width: 330px; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.text-input-with-prefixOption .search-input input { - width: 316px; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.text-input-with-passwordSwith .search-input input { - width: 360px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-prefix.text-input-with-unit .search-input input { - width: 285px; -} -.text-input-with-prefix.text-input-with-unitOption .search-input input { - width: 246px; -} -.short-text-input.text-input-with-prefix .search-input input { - width: 80px; -} -.short-text-input.text-input-with-unit .search-input input { - width: 80px; -} -.short-text-input.text-input-with-prefix.text-input-with-unit .search-input input { - width: 40px; -} -.search-input input:focus { - border: 1px solid #00abff; -} -.search-input input:disabled, -.search-input input[disabled] { - cursor: not-allowed; - background-color: #f5f5f5; -} -.search-input-sm { - height: 28px !important; -} -.search-img { - color: #bfbfbf; - position: absolute; - right: 8px; - top: 8px; - list-style: none; - font-size: 16px; -} -.search-img-confirm { - color: #008fd5; - cursor: pointer; -} -::-webkit-input-placeholder { - color: #999 !important; -} -:-moz-placeholder { - /* Mozilla Firefox 4 to 18 */ - color: #999 !important; -} -::-moz-placeholder { - /* Mozilla Firefox 19+ */ - color: #999 !important; -} -input:-ms-input-placeholder { - color: #999 !important; -} -input::-webkit-input-placeholder { - color: #999 !important; -} -select-dropdown { - box-sizing: border-box; - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; - font-size: 12px; - outline: none; -} -select-dropdown > div { - background-color: #fff; - position: absolute; - z-index: 9999; -} -select-dropdown > div.select-sm .filter input { - height: 30px; -} -select-dropdown > div.select-sm .filter .toggle { - top: 13px; -} -select-dropdown > div .filter { - width: 100%; -} -select-dropdown > div .filter input { - border: 1px solid #00abff; - border-radius: 3px; - padding: 0 10px; - width: 100%; - height: 34px; -} -select-dropdown > div .filter .toggle { - display: block; - position: absolute; - top: 15px; - right: 10px; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-top: 4px solid #a6a6a6; -} -select-dropdown > div .options { - border: 1px solid #d9d9d9; - border-top: none; - border-radius: 3px; - max-height: 160px; - overflow-y: auto; -} -select-dropdown > div .options ul { - list-style: none; - margin: 0; - padding: 0; -} -select-dropdown > div .options ul li { - color: #595959; - height: 30px; - line-height: 18px; - padding: 6px 20px 6px 8px; - position: relative; - cursor: pointer; - user-select: none; -} -select-dropdown > div .options ul li.single-selected { - background-color: #f5f5f5; -} -select-dropdown > div .options ul li.highlighted { - background-color: #ebf6fd; - color: #595959; -} -select-dropdown > div .options ul li.disabled { - background-color: #fff; - color: #bfbfbf; - cursor: default; - pointer-events: none; -} -select-dropdown > div .options ul li.plx-select-message { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} -select-dropdown > div .options ul li .option-label { - display: inline-block; - width: 100%; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} -select-dropdown > div .options ul li .option-tick { - display: inline-block; - position: absolute; - right: 5px; - top: 5px; -} -select-dropdown > div .options ul li .tick { - fill: none; - stroke: #73cf22; - stroke-width: 2; - stroke-linecap: round; - stroke-linejoin: round; - stroke-miterlimit: 10; -} -plx-select { - display: inline-block; - margin: 0; - position: relative; - vertical-align: middle; - width: 100%; -} -plx-select.ng-untouched:not(form).ng-untouched:not(fieldset) { - border: 0; -} -plx-select * { - box-sizing: border-box; - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; - font-size: 12px; - outline: none; -} -plx-select > div { - border: 1px solid #d9d9d9; - border-radius: 3px; - cursor: pointer; - user-select: none; - width: 100%; -} -plx-select > div.disabled { - background-color: #f5f5f5; - color: #bfbfbf; - cursor: not-allowed; -} -plx-select > div.focus-border { - border: 1px solid #00abff !important; -} -plx-select > div.select-sm .value, -plx-select > div.select-sm .placeholder { - height: 28px !important; - line-height: 28px !important; -} -plx-select > div.select-sm .toggle { - top: 13px; -} -plx-select > div.select-sm div.option { - height: 20px !important; - line-height: 14px !important; -} -plx-select > div.select-sm input { - height: 28px; - line-height: 28px; -} -plx-select > div input { - background-color: transparent; - border: none; - border-radius: 3px; - cursor: pointer; - height: 32px; - line-height: 32px; -} -plx-select > div .toggle { - display: block; - position: absolute; - top: 15px; - right: 10px; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-top: 4px solid #a6a6a6; -} -plx-select > div .single { - display: flex; - width: 100%; -} -plx-select > div .single .value, -plx-select > div .single .placeholder { - color: #595959; - flex: 1; - height: 32px; - line-height: 32px; - overflow: hidden; - padding: 0 10px; - white-space: nowrap; -} -plx-select > div .single .value span, -plx-select > div .single .placeholder span { - display: inline-block; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - max-width: 100%; -} -plx-select > div .single .placeholder { - color: #999; -} -plx-select > div .single input { - flex: 1; - padding: 1px 10px 0 10px; -} -plx-select > div .multiple { - display: flex; - flex-flow: row wrap; - padding: 0 10px; - width: 100%; -} -plx-select > div .multiple .placeholder { - flex: 1; - color: #999; - height: 32px; - line-height: 32px; - overflow: hidden; - white-space: nowrap; -} -plx-select > div .multiple input { - padding: 0; - margin-right: 10px; -} -plx-select > div .multiple div.option { - background-color: #f8f8f8; - border: 1px solid #e6e6e6; - border-radius: 2px; - color: #595959; - cursor: default; - display: inline-block; - flex-shrink: 0; - height: 24px; - line-height: 18px; - margin: 4px 10px 4px 0; - padding: 2px 30px 2px 10px; - max-width: 100%; - position: relative; -} -plx-select > div .multiple div.option span { - display: inline-block; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - max-width: 100%; -} -plx-select > div .multiple div.option .deselect-option { - color: #c0c0c0; - cursor: pointer; - font-size: 8px; - position: absolute; - top: 2px; - right: 8px; -} -plx-select > div .multiple div.option .deselect-option:hover { - color: #555; -} -.plx-ui-steps { - height: 40px; -} -.plx-ui-horizon-ul-horizon { - display: flex; - box-orient: horizontal; - padding: 0; - font-size: 12px; - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; -} -.plx-ui-steps-li { - list-style: none; - position: relative; - height: 24px; - line-height: 24px; - float: left; - margin-right: 0; -} -.plx-ui-steps-number-active { - color: #fff; - background-color: #00abff; - width: 24px; - height: 24px; - border-radius: 50%; - display: inline-block; - margin-right: 10px; - float: left; - text-align: center; -} -.plx-ui-steps-number-passive { - background-color: #D7D7D7; - color: #fff; - width: 24px; - height: 24px; - border-radius: 50%; - display: inline-block; - margin-right: 10px; - float: left; - text-align: center; -} -.plx-rapire-steps { - position: relative; -} -.plx-ui-steps-number-visited { - width: 24px; - height: 24px; - border-radius: 50%; - display: inline-block; - margin-right: 10px; - float: left; - position: relative; - color: #00abff; - background-color: #fff; - border: 2px solid #00abff; -} -.plx-ui-menuitem-div-passive { - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate(-50%, -50%); - -moz-transform: translate(-50%, -50%); - -ms-transform: translate(-50%, -50%); - -o-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); -} -.plx-ui-menuitem-div-active { - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate(-50%, -50%); - -moz-transform: translate(-50%, -50%); - -ms-transform: translate(-50%, -50%); - -o-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); -} -.plx-ui-menuitem-div-passive { - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate(-50%, -50%); - -moz-transform: translate(-50%, -50%); - -ms-transform: translate(-50%, -50%); - -o-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); -} -.plx-ui-menuitem-div-visited { - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate(-50%, -50%); - -moz-transform: translate(-50%, -50%); - -ms-transform: translate(-50%, -50%); - -o-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); -} -.plx-ui-underline { - width: 386px; - height: 2px; - margin-top: 49px; - position: absolute; - background-color: #00abff; -} -.passive .plx-ui-underline { - background-color: #D7D7D7; -} -.plx-ui-steps-title-active { - white-space: nowrap; -} -.plx-ui-steps-title-passive { - white-space: nowrap; -} -.plx-ui-steps-title-visited { - white-space: nowrap; -} -.plx-ui-steps-number-visited-tick { - position: absolute; - background-color: transparent; - height: 12px; - width: 7px; - transform: rotate(45deg); - transform-origin: 50% 120%; - transition: all 0.2s; - border-right: 2px solid #00abff; - border-bottom: 2px solid #00abff; -} -/**********************************************************************************************************/ -.plx-ui-steps-display-vertical { - display: inline-block; -} -.plx-ui-steps-vertical { - height: auto; - width: auto; - min-width: 180px; - display: inline-block; - font-size: 12px; - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; -} -.plx-ui-horizon-ul-vertical { - display: inline-block; - box-orient: vertical; - width: auto; - padding: 0; -} -.plx-ui-underline-active-vertical { - margin-left: 3px; - width: 10px; - display: table-caption; - min-height: 30px; - border-right: 2px solid #D7D7D7; -} -.plx-ui-underline-visited-vertical { - margin-left: 3px; - width: 10px; - display: table-caption; - height: 30px; -} -.plx-ui-underline-passive-vertical { - height: 30px; - margin-left: 3px; - width: 10px; - display: table-caption; - border-right: 2px solid #D7D7D7; -} -.plx-ui-steps-li-vertical { - list-style: none; - width: auto; -} -.plx-ui-steps-title-active-vertical { - margin-left: 10px; - position: absolute; - width: auto; - height: 24px; - min-width: 64px; - margin-top: 1px; - white-space: nowrap; -} -.plx-ui-steps-title-visited-vertical { - margin-left: 10px; - position: absolute; - width: auto; - height: 24px; - min-width: 64px; - margin-top: 3px; - white-space: nowrap; -} -.plx-ui-steps-title-passive-vertical { - margin-left: 10px; - position: absolute; - width: auto; - height: 24px; - min-width: 64px; - margin-top: 1px; - white-space: nowrap; -} -.plx-ui-steps-number-visited-tick-vertical { - position: absolute; - background-color: transparent; - height: 12px; - width: 7px; - transform: rotate(45deg); - transform-origin: 50% 120%; - transition: all 0.2s; -} -.plx-ui-steps-number-active-vertical { - width: 24px; - height: 24px; - border-radius: 50%; - display: inline-block; - margin-right: 0; - float: left; - text-align: left; - position: relative; - line-height: 24px; -} -.plx-ui-steps-number-passive-vertical { - width: 24px; - height: 24px; - border-radius: 50%; - display: inline-block; - margin-right: 0; - float: left; - text-align: left; - position: relative; - padding-top: 2px; - line-height: 24px; -} -.plx-ui-steps-number-visited-vertical { - width: 24px; - height: 24px; - border-radius: 50%; - display: inline-block; - margin-right: 0; - float: left; - position: relative; - line-height: 24px; -} -.plx-tabset { - display: flex; - padding-left: 0; - margin-bottom: 0; - list-style: none; -} -.plx-tabset.plx-nav-tabs { - border-bottom: 1px solid #d9d9d9; - font-size: 14px; -} -.plx-tabset.plx-nav-tabs .plx-nav-item { - margin-bottom: -1px; -} -.plx-tabset.plx-nav-tabs .plx-nav-link { - display: block; - border-radius: 0; - border: 1px solid transparent; - border-top: 2px solid transparent; - color: #999; - min-width: 100px; - text-align: center; - padding: 6px 16px; -} -.plx-tabset.plx-nav-tabs .plx-nav-link:hover, -.plx-tabset.plx-nav-tabs .plx-nav-link:focus { - text-decoration: none; - background-color: #ebf6fd; - border-bottom: 0; - border-left: 0; - border-right: 0; -} -.plx-tabset.plx-nav-tabs .plx-nav-link.active { - color: #595959; - border-top: 2px solid #00abff; - border-left: 1px solid #d9d9d9; - border-right: 1px solid #d9d9d9; - background-color: #fff; -} -.plx-tabset.plx-nav-tabs .plx-nav-link.active:hover, -.plx-tabset.plx-nav-tabs .plx-nav-link.active:focus { - border-left: 1px solid #d9d9d9; - border-right: 1px solid #d9d9d9; - border-bottom: 1px solid transparent; -} -.plx-tabset.plx-nav-tabs.bottom .plx-nav-link { - border: 0; - border-bottom: 2px solid transparent; -} -.plx-tabset.plx-nav-tabs.bottom .plx-nav-link:hover { - border-bottom: 1px solid transparent; -} -.plx-tabset.plx-nav-tabs.bottom .plx-nav-link.active { - border: 0; - border-bottom: 2px solid #00abff; -} -.plx-tabset.plx-nav-pills .plx-nav-link { - border: 1px solid #d9d9d9; - border-radius: 0.25em; - color: #999; - display: block; - padding: 6px 10px; - min-width: 100px; - text-align: center; -} -.plx-tabset.plx-nav-pills .plx-nav-link:hover, -.plx-tabset.plx-nav-pills .plx-nav-link:focus { - text-decoration: none; - color: #00abff; - border-color: #00abff; - background-color: #fff; -} -.plx-tabset.plx-nav-pills .plx-nav-link:active { - color: #008fd5; - border-color: #008fd5; - background-color: #fff; -} -.plx-tabset.plx-nav-pills .plx-nav-link.active { - color: #fff; - cursor: default; - background-color: #00abff; - border-color: #00abff; -} -.plx-tabset.plx-nav-pills .plx-nav-item:hover, -.plx-tabset.plx-nav-pills .plx-nav-item:focus, -.plx-tabset.plx-nav-pills .plx-nav-item:active { - z-index: 2; -} -.plx-tabset.plx-nav-pills .plx-nav-item:first-child:not(:last-child) .plx-nav-link { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.plx-tabset.plx-nav-pills .plx-nav-item:not(:first-child):not(:last-child) .plx-nav-link { - border-radius: 0; -} -.plx-tabset.plx-nav-pills .plx-nav-item:last-child:not(:first-child) .plx-nav-link { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.plx-tabset.plx-nav-pills .plx-nav-item + .plx-nav-item .plx-nav-link { - margin-left: -1px; -} -.plx-tab-content .plx-tab-pane { - display: none; -} -.plx-tab-content .plx-tab-pane.active { - display: block; -} -.plx-table-wrapper { - position: relative; - width: 100%; -} -.plx-table-blur { - opacity: .7; - filter: blur(0.5px); -} -.plx-table-loading { - position: absolute; - width: 100%; - height: 100%; - opacity: 1; - z-index: 9999; -} -.plx-table-loading-content { - position: absolute; - width: 36px; - height: 36px; - border: 5px solid #00abff; - border-right-color: transparent; - top: calc(50% - 36px); - left: calc(50% - 18px); - animation: plx-table-loading-animation 1s infinite ease-in-out; - border-radius: 50%; -} -.plx-table-loading-placeholder { - position: absolute; - top: calc(50% + 10px); - left: calc(50% - 18px); -} -/* 加载中动画 */ -@-moz-keyframes plx-table-loading-animation { - 0% { - -moz-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -moz-transform: rotate(360deg); - transform: rotate(360deg); - } -} -@-webkit-keyframes plx-table-loading-animation { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -@keyframes plx-table-loading-animation { - 0% { - -moz-transform: rotate(0deg); - -ms-transform: rotate(0deg); - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -moz-transform: rotate(360deg); - -ms-transform: rotate(360deg); - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -/*表格样式*/ -.plx-table { - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; - font-size: 12px; - line-height: 1.5; - color: #595959; - border-collapse: collapse; - width: 100%; - display: table; - table-layout: fixed; - max-width: 100%; - min-width: 100%; - word-break: break-all; -} -.plx-table .plx-table-subHead th { - background-color: #fff; - line-height: 1; - border-bottom: 1px solid #d9d9d9; -} -.plx-table tr.plx-table-hlt { - background-color: #e2f2fc; -} -.plx-table tr:hover { - background-color: #ebf6fd; -} -.plx-table.plx-table-normal th { - box-sizing: border-box; - height: 40px; - padding: 0px 10px ; - color: #595959; - text-decoration: none; - font-weight: normal; - font-size: 12px; - border: 1px solid #d9d9d9; - background-color: #f5f5f5; -} -.plx-table.plx-table-normal td { - border: 1px solid #d9d9d9; - vertical-align: middle; - height: 40px; - padding: 2px 10px 0px 10px; -} -.plx-table.plx-table-large th { - box-sizing: border-box; - height: 50px; - padding: 0px 10px ; - color: #595959; - text-decoration: none; - font-weight: normal; - font-size: 12px; - border: none; - background-color: #f5f5f5; -} -.plx-table.plx-table-large td { - border-bottom: 1px solid #d9d9d9; - vertical-align: middle; - height: 50px; - padding: 2px 10px 0px 10px; -} -.plx-table.plx-table-card th { - box-sizing: border-box; - height: 64px; - padding: 0px 10px ; - color: #595959; - text-decoration: none; - font-weight: normal; - font-size: 12px; - border: none; - background-color: #f5f5f5; -} -.plx-table.plx-table-card td { - border-bottom: 1px solid #d9d9d9; - vertical-align: middle; - height: 64px; - padding: 2px 10px 0px 10px; -} -.plx-table.plx-table-sm th { - box-sizing: border-box; - height: 30px; - padding: 0px 10px ; - color: #595959; - text-decoration: none; - font-weight: normal; - font-size: 12px; - border: 1px solid #d9d9d9; - background-color: #f5f5f5; -} -.plx-table.plx-table-sm td { - border: 1px solid #d9d9d9; - vertical-align: middle; - height: 30px; - padding: 2px 10px 0px 10px; -} -.plx-table tbody tr:first-child td { - border-top: none; -} -.plx-table-fix { - table-layout: fixed; -} -/*防止分页区域高度塌陷*/ -.plx-table-pagnation-content { - overflow: auto; -} -/*搜索区域*/ -.plx-table-opretions-wrapper:after { - content: ''; - display: block; - clear: both; - height: 0; - visibility: hidden; -} -.plx-table-align-center { - text-align: center; -} -.plx-table-align-left { - text-align: left; -} -.plx-table-align-right { - text-align: right; -} -.plx-table-head-checkbox label { - margin-bottom: 0px; - vertical-align: top; -} -.plx-table td.plx-table-no-data { - height: 60px; - text-align: center; - font-size: 12px; - color: #595959; -} -.font { - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; - font-size: 12px; -} -.text-input { - display: inline-block; -} -.text-input .caret-down { - display: block; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-top: 4px solid #a6a6a6; - margin-top: 4px; - margin-bottom: 10px; -} -.text-input .caret-down.caret-down-hover:hover, -.text-input .caret-down.caret-down-hover:active { - border-top: 4px solid #00abff; -} -.text-input .caret-up { - display: block; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-bottom: 4px solid #a6a6a6; - margin-top: 10px; -} -.text-input .caret-up.caret-up-hover:hover, -.text-input .caret-up.caret-up-hover:active { - border-bottom: 4px solid #00abff; -} -.text-input .toggle { - float: right; - margin-right: 10px; - margin-top: 14px; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-top: 4px solid #a6a6a6; -} -.text-input .text-input-dataList { - margin-top: 2px; - position: absolute; - z-index: 1050; - border: 1px solid #d9d9d9; - background: #fff; - cursor: pointer; - border-radius: 3px; -} -.text-input .text-input-dataList li { - list-style: none; - height: 32px; - width: 400px; - padding-left: 10px; -} -.text-input .text-input-dataList li:hover { - background-color: #ebf6fd; -} -.input-span { - display: inline-block; - overflow: visible; - padding: 0; - position: relative; -} -.text-input-with-hint { - margin-bottom: -8px; -} -:host(.ng-touched.ng-invalid.input-blur) .text-input-with-hint { - height: auto; - margin-bottom: 0; -} -.plx-text-input-unit-group, -.plx-text-input-prefix-group { - position: absolute; - margin-top: 5px; - width: 84px; - z-index: 1050; - border-radius: 3px; - background: #fff; - border: 1px solid #d9d9d9; - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - cursor: pointer; -} -.plx-text-input-unit-group li, -.plx-text-input-prefix-group li { - padding-left: 10px; - height: 32px; - list-style: none; - line-height: 32px; - font-size: 12px; -} -.plx-text-input-unit-group li:hover, -.plx-text-input-prefix-group li:hover { - background-color: #ebf6fd; -} -.plx-text-input-unit-group li.group-selected, -.plx-text-input-prefix-group li.group-selected, -.plx-text-input-unit-group li.group-selected:hover, -.plx-text-input-prefix-group li.group-selected:hover { - background-color: #f5f5f5; - color: #595959; -} -.text-input-optional { - display: inline-block; - margin-right: 6px; - padding-left: 5px; -} -.input-right-border .plx-input { - border-right: 1px solid #00abff; -} -.input-left-border .plx-input { - border-left: 1px solid #00abff; -} -.text-input-hint { - top: 42px; - left: 10px; - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; - font-size: 12px; - color: #bfbfbf; -} -:host(.ng-touched.ng-invalid.input-blur) .text-input-hint { - display: none; -} -.text-input-prefix { - font-size: 12px; - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; - font-weight: 400; - font-size: 14px; - line-height: 14px; - color: #595959; - display: inline-block; - width: 70px; - height: 32px; - text-align: center; - line-height: 32px; - border-top-left-radius: 3px; - border-bottom-left-radius: 3px; - color: #bfbfbf; - border: 1px solid #d9d9d9; - border-right: 0; - vertical-align: middle; -} -.short-text-input .text-input-prefix { - width: 40px; -} -.input-span-focus .text-input-prefix { - border-color: #00abff; -} -.input-invalid.ng-dirty.ng-invalid.ng-touched.input-blur .text-input-prefix, -.input-invalid.ng-dirty.ng-invalid.ng-touched.input-blur .input-span-focus:focus .text-input-prefix { - border-color: #ff5b55; -} -.input-unit, -.text-input-unit-option { - font-size: 12px; - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; - font-weight: 400; - font-size: 14px; - line-height: 14px; - color: #595959; - display: inline-block; - height: 32px; - text-align: center; - line-height: 32px; - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; -} -.text-input-unit { - border: 1px solid #d9d9d9; - border-left: 0; - font-size: 12px; - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; - font-weight: 400; - font-size: 14px; - line-height: 14px; - color: #595959; - display: inline-block; - height: 32px; - line-height: 32px; - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; - color: #bfbfbf; - width: 45px; - text-align: center; - vertical-align: middle; -} -.short-text-input .text-input-unit { - width: 40px; -} -.input-span-focus .text-input-unit { - border-color: #00abff; -} -.text-input-prefix-option { - font-size: 12px; - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; - font-weight: 400; - font-size: 14px; - line-height: 14px; - color: #595959; - display: inline-block; - height: 32px; - text-align: center; - line-height: 32px; - border-top-left-radius: 3px; - border-bottom-left-radius: 3px; - width: 84px; - text-align: left; - padding-left: 10px; - cursor: pointer; - border: 1px solid #d9d9d9; - border-right: 0; - vertical-align: middle; -} -.text-input-prefix-option.prefix-focus { - border-color: #00abff; -} -.text-input-unit-option { - width: 84px; - text-align: left; - padding-left: 10px; - cursor: pointer; - border: 1px solid #d9d9d9; - border-left: 0; - vertical-align: middle; -} -.input-span-focus .text-input-unit-option { - border-color: #00abff; -} -.text-input-with-unitOption div.unit-focus { - border-color: #00abff; -} -.short-text-input .plx-input { - width: 120px; -} -.text-input-with-unit .plx-input { - width: 355px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-unitOption .plx-input { - width: 316px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-prefix .plx-input { - width: 330px; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.text-input-with-prefixOption .plx-input { - width: 316px; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.text-input-with-passwordSwith .plx-input { - width: 360px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-prefix.text-input-with-unit .plx-input { - width: 285px; -} -.text-input-with-prefix.text-input-with-unitOption .plx-input { - width: 246px; -} -.short-text-input.text-input-with-prefix .plx-input { - width: 80px; -} -.short-text-input.text-input-with-unit .plx-input { - width: 80px; -} -.short-text-input.text-input-with-prefix.text-input-with-unit .plx-input { - width: 40px; -} -.input-spinner-up { - cursor: pointer; - display: block; - font-size: 12px; - position: absolute; - margin: 0; - right: 0; - overflow: hidden; - border: none; - padding: 0; - text-align: center; - vertical-align: middle; - width: 18px; - top: 0; -} -.input-spinner-down { - cursor: pointer; - display: block; - font-size: 12px; - position: absolute; - margin: 0; - right: 0; - overflow: hidden; - border: none; - padding: 0; - text-align: center; - vertical-align: middle; - width: 18px; - bottom: 0; -} -:host(.plx-input-sm) .plx-input { - height: 28px; - line-height: 28px; -} -:host(.plx-input-sm) .text-input-prefix, -:host(.plx-input-sm) .text-input-unit, -:host(.plx-input-sm) .text-input-unit-option, -:host(.plx-input-sm) .text-input-prefix-option { - height: 28px; - line-height: 28px; -} -:host(.plx-input-sm) div.text-input-dataList { - height: 28px; -} -:host(.plx-input-sm) .toggle { - margin-top: 11px; -} -:host(.plx-input-sm) .caret-down { - margin-bottom: 8px; -} -:host(.plx-input-sm) .caret-up { - margin-top: 8px; -} -:host(.plx-input-sm) .plx-input-passwordSwitch { - line-height: 26px; -} -.plx-input-sm .plx-input { - height: 28px; - line-height: 28px; -} -.plx-input-sm .text-input-prefix, -.plx-input-sm .text-input-unit, -.plx-input-sm .text-input-unit-option, -.plx-input-sm .text-input-prefix-option { - height: 28px; - line-height: 28px; -} -.plx-input-sm div.text-input-dataList { - height: 28px; -} -.plx-input-sm .toggle { - margin-top: 11px; -} -.plx-input-sm .caret-down { - margin-bottom: 8px; -} -.plx-input-sm .caret-up { - margin-top: 8px; -} -.plx-input-sm .plx-input-passwordSwitch { - line-height: 26px; -} -.plx-input-sm-common .plx-input { - height: 28px; - line-height: 28px; -} -.plx-input-sm-common .text-input-prefix, -.plx-input-sm-common .text-input-unit, -.plx-input-sm-common .text-input-unit-option, -.plx-input-sm-common .text-input-prefix-option { - height: 28px; - line-height: 28px; -} -.plx-input-sm-common div.text-input-dataList { - height: 28px; -} -.plx-input-sm-common .toggle { - margin-top: 11px; -} -.plx-input-sm-common .caret-down { - margin-bottom: 8px; -} -.plx-input-sm-common .caret-up { - margin-top: 8px; -} -.plx-input-sm-common .plx-input-passwordSwitch { - line-height: 26px; -} -.plx-input-passwordSwitch { - display: inline-block; - line-height: 30px; - width: 40px; - text-align: center; - vertical-align: middle; - background-color: #fff; - border: 1px solid #d9d9d9; - border-left: 0; - border-bottom-right-radius: 3px; - border-top-right-radius: 3px; - cursor: pointer; -} -.plx-input-passwordSwitch:focus, -.plx-input-passwordSwitch:hover { - border-color: #00abff; - background-color: #fff; -} -.plx-input-passwordSwitch:focus.ict-eye-closed, -.plx-input-passwordSwitch:hover.ict-eye-closed, -.plx-input-passwordSwitch:focus.ict-eye, -.plx-input-passwordSwitch:hover.ict-eye { - color: #00abff; -} -.plx-input-passwordSwitch:active { - background-color: #fff; - border-color: #008fd5; -} -.plx-input-passwordSwitch:active.ict-eye-closed, -.plx-input-passwordSwitch:active.ict-eye { - color: #008fd5; -} -.plx-input-passwordSwitch.ict-eye-closed, -.plx-input-passwordSwitch.ict-eye { - color: #999; - font-size: 16px; -} -.input-right-border-pwdswith-hover .plx-input { - border-right-color: #00abff; -} -.input-right-border-pwdswith-click .plx-input { - border-right-color: #008fd5; -} -.plx-text-input-ip-dot { - display: inline-block; - vertical-align: bottom; - color: #999; -} -.plx-text-input-error { - font-size: 12px; - color: #ff5b55; - margin-top: 5px; -} -:host(.plx-text-input-ip-invalid) .plx-input { - border-color: #ff5b55; -} -:host(.plx-text-input-ip-invalid) .input-span-focus .plx-input { - border-color: #00abff; -} -.plx-text-input-ip-invalid .plx-input { - border-color: #ff5b55; -} -.plx-text-input-ip-invalid .input-span-focus .plx-input { - border-color: #00abff; -} -.plx-text-input-ip-invalid-common .plx-input { - border-color: #ff5b55; -} -.plx-text-input-ip-invalid-common .input-span-focus .plx-input { - border-color: #00abff; -} -.plx-textarea-container { - display: inline-block; -} -.plx-textarea-class { - width: 100%; - font-size: 12px; - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; - line-height: 1.5; - resize: none; - padding: 7px; - border: 1px solid #d9d9d9; - border-radius: 3px; - box-shadow: none; - outline: none; - overflow-y: auto; -} -.plx-textarea-class:focus { - border-color: #00abff; -} -.plx-textarea-class::-webkit-input-placeholder { - text-shadow: none; - -webkit-text-fill-color: initial; -} -.plx-align-tip { - vertical-align: top; - font-size: 12px; - font-weight: normal; - color: #bfbfbf; -} -.plx-align-number { - font-size: 12px; - font-weight: normal; - line-height: 1; - text-align: right; - width: 100%; - color: #bfbfbf; - margin-top: -2px; -} -.plx-toggle-switch { - display: inline-block; - height: 22px; - width: 44px; - position: relative; - vertical-align: middle; - text-align: left; - font-size: 0; -} -.plx-toggle-switch input[type='checkbox'] { - display: none; - -webkit-appearance: none; - -moz-appearance: none; - -ms-progress-appearance: none; -} -.plx-toggle-switch input[type='checkbox'] + label { - display: inline-block; - height: 22px; - position: relative; - cursor: pointer; -} -.plx-toggle-switch input[type='checkbox'] + label::before { - position: absolute; - display: inline-block; - content: ''; - height: 22px; - width: 44px; - border-radius: 11px; - transition: 0.15s ease-in; - transition-property: background-color; - background-color: #DDDDDD; -} -.plx-toggle-switch input[type='checkbox'] + label::after { - position: absolute; - display: inline-block; - content: ''; - height: 18px; - width: 18px; - border-radius: 50%; - top: 2px; - left: 2px; - transition: left 0.15s ease-in; - background-color: #fff; -} -.plx-toggle-switch input[type='checkbox']:checked + label::before { - background-color: #00abff; - transition: background-color 0.15s ease-in; -} -.plx-toggle-switch input[type='checkbox']:checked + label::after { - left: 24px; - transition: left 0.15s ease-in; -} -.plx-toggle-switch input[type='checkbox']:disabled + label, -.plx-toggle-switch input[type='checkbox']:checked:disabled + label { - cursor: not-allowed; -} -.plx-toggle-switch input[type='checkbox']:disabled + label::before, -.plx-toggle-switch input[type='checkbox']:checked:disabled + label::before { - opacity: 0.5; -} -:host(.plx-toggle-sm) .plx-toggle-switch { - height: 18px; - width: 34px; -} -:host(.plx-toggle-sm) .plx-toggle-switch input[type='checkbox'] + label { - height: 18px; -} -:host(.plx-toggle-sm) .plx-toggle-switch input[type='checkbox'] + label::before { - height: 18px; - width: 34px; - border-radius: 9px; -} -:host(.plx-toggle-sm) .plx-toggle-switch input[type='checkbox'] + label::after { - height: 14px; - width: 14px; -} -:host(.plx-toggle-sm) .plx-toggle-switch input[type='checkbox']:checked + label::after { - left: 18px; - transition: left 0.15s ease-in; -} -.plx-toggle-sm .plx-toggle-switch { - height: 18px; - width: 34px; -} -.plx-toggle-sm .plx-toggle-switch input[type='checkbox'] + label { - height: 18px; -} -.plx-toggle-sm .plx-toggle-switch input[type='checkbox'] + label::before { - height: 18px; - width: 34px; - border-radius: 9px; -} -.plx-toggle-sm .plx-toggle-switch input[type='checkbox'] + label::after { - height: 14px; - width: 14px; -} -.plx-toggle-sm .plx-toggle-switch input[type='checkbox']:checked + label::after { - left: 18px; - transition: left 0.15s ease-in; -} -.plx-toggle-sm-switch-common { - height: 18px; - width: 34px; -} -.plx-toggle-sm-switch-common input[type='checkbox'] + label { - height: 18px; -} -.plx-toggle-sm-switch-common input[type='checkbox'] + label::before { - height: 18px; - width: 34px; - border-radius: 9px; -} -.plx-toggle-sm-switch-common input[type='checkbox'] + label::after { - height: 14px; - width: 14px; -} -.plx-toggle-sm-switch-common input[type='checkbox']:checked + label::after { - left: 18px; - transition: left 0.15s ease-in; -} -.toolbar i.seperate-vertical { - margin-right: 10px; - margin-left: 0; - border-right: 1px solid #e9e9e9; -} -.toolbar span { - color: #595959; - cursor: pointer; - margin-right: 10px; - font-size: 16px; - display: inline-block; - width: 28px; - height: 28px; - border: 1px solid transparent; - padding: 5px; -} -.toolbar span:hover { - background-color: #ebf6fd; - border-radius: 2px; -} -.toolbar span:last-child { - margin-right: 0px; -} -.plx-tooltip { - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; - font-size: 12px; - opacity: 1; - position: absolute; - z-index: 10001; - display: block; - font-style: normal; - font-weight: normal; - letter-spacing: normal; - line-break: auto; - line-height: 1.5; - text-align: left; - text-decoration: none; - text-shadow: none; - text-transform: none; - white-space: normal; - word-break: normal; - word-spacing: normal; - word-wrap: break-word; -} -.plx-tooltip::before, -.plx-tooltip::after { - content: ""; - position: absolute; - display: block; - width: 0; - height: 0; - border: solid transparent; -} -.plx-tooltip::before { - border-width: 5px; -} -.plx-tooltip::after { - border-width: 4px; -} -.plx-tooltip-inner { - min-width: 60px; - max-width: 200px; - padding: 3px 8px; - color: #fff; - text-align: center; - background-color: #000; -} -.plx-tooltip.show { - font-size: 12px; - opacity: 1; -} -.plx-tooltip.show .plx-tooltip-inner { - background-color: #595959; - border-radius: 3px; - padding: 0px 12px; - height: 30px; - line-height: 30px; -} -.plx-tooltip-top-common { - margin-top: -7px; -} -.plx-tooltip-top-common::before { - border-top-color: #595959; - border-bottom-width: 0; - bottom: -5px; -} -.plx-tooltip-top-common::after { - border-top-color: #595959; - border-bottom-width: 0; - bottom: -4px; -} -.plx-tooltip-top { - margin-top: -7px; -} -.plx-tooltip-top::before { - border-top-color: #595959; - border-bottom-width: 0; - bottom: -5px; -} -.plx-tooltip-top::after { - border-top-color: #595959; - border-bottom-width: 0; - bottom: -4px; -} -.plx-tooltip-top::before { - left: 50%; - margin-left: -5px; -} -.plx-tooltip-top::after { - left: 50%; - margin-left: -4px; -} -.plx-tooltip.plx-tooltip-top-left { - margin-top: -7px; -} -.plx-tooltip.plx-tooltip-top-left::before { - border-top-color: #595959; - border-bottom-width: 0; - bottom: -5px; -} -.plx-tooltip.plx-tooltip-top-left::after { - border-top-color: #595959; - border-bottom-width: 0; - bottom: -4px; -} -.plx-tooltip.plx-tooltip-top-left::before { - left: 5px; -} -.plx-tooltip.plx-tooltip-top-left::after { - left: 6px; -} -.plx-tooltip.plx-tooltip-top-right { - margin-top: -7px; -} -.plx-tooltip.plx-tooltip-top-right::before { - border-top-color: #595959; - border-bottom-width: 0; - bottom: -5px; -} -.plx-tooltip.plx-tooltip-top-right::after { - border-top-color: #595959; - border-bottom-width: 0; - bottom: -4px; -} -.plx-tooltip.plx-tooltip-top-right::before { - right: 5px; -} -.plx-tooltip.plx-tooltip-top-right::after { - right: 6px; -} -.plx-tooltip-right-common { - margin-left: 7px; -} -.plx-tooltip-right-common::before { - border-right-color: #595959; - border-left-width: 0; - left: -5px; -} -.plx-tooltip-right-common::after { - border-right-color: #595959; - border-left-width: 0; - left: -4px; -} -.plx-tooltip.plx-tooltip-right { - margin-left: 7px; -} -.plx-tooltip.plx-tooltip-right::before { - border-right-color: #595959; - border-left-width: 0; - left: -5px; -} -.plx-tooltip.plx-tooltip-right::after { - border-right-color: #595959; - border-left-width: 0; - left: -4px; -} -.plx-tooltip.plx-tooltip-right::before { - top: 50%; - margin-top: -5px; -} -.plx-tooltip.plx-tooltip-right::after { - top: 50%; - margin-top: -4px; -} -.plx-tooltip.plx-tooltip-right-top { - margin-left: 7px; -} -.plx-tooltip.plx-tooltip-right-top::before { - border-right-color: #595959; - border-left-width: 0; - left: -5px; -} -.plx-tooltip.plx-tooltip-right-top::after { - border-right-color: #595959; - border-left-width: 0; - left: -4px; -} -.plx-tooltip.plx-tooltip-right-top::before { - top: 5px; -} -.plx-tooltip.plx-tooltip-right-top::after { - top: 6px; -} -.plx-tooltip.plx-tooltip-right-bottom { - margin-left: 7px; -} -.plx-tooltip.plx-tooltip-right-bottom::before { - border-right-color: #595959; - border-left-width: 0; - left: -5px; -} -.plx-tooltip.plx-tooltip-right-bottom::after { - border-right-color: #595959; - border-left-width: 0; - left: -4px; -} -.plx-tooltip.plx-tooltip-right-bottom::before { - bottom: 5px; -} -.plx-tooltip.plx-tooltip-right-bottom::after { - bottom: 6px; -} -.plx-tooltip-bottom-common { - margin-top: 7px; -} -.plx-tooltip-bottom-common::before { - border-bottom-color: #595959; - border-top-width: 0; - top: -5px; -} -.plx-tooltip-bottom-common::after { - border-bottom-color: #595959; - border-top-width: 0; - top: -4px; -} -.plx-tooltip.plx-tooltip-bottom { - margin-top: 7px; -} -.plx-tooltip.plx-tooltip-bottom::before { - border-bottom-color: #595959; - border-top-width: 0; - top: -5px; -} -.plx-tooltip.plx-tooltip-bottom::after { - border-bottom-color: #595959; - border-top-width: 0; - top: -4px; -} -.plx-tooltip.plx-tooltip-bottom::before { - left: 50%; - margin-left: -5px; -} -.plx-tooltip.plx-tooltip-bottom::after { - left: 50%; - margin-left: -4px; -} -.plx-tooltip.plx-tooltip-bottom-left { - margin-top: 7px; -} -.plx-tooltip.plx-tooltip-bottom-left::before { - border-bottom-color: #595959; - border-top-width: 0; - top: -5px; -} -.plx-tooltip.plx-tooltip-bottom-left::after { - border-bottom-color: #595959; - border-top-width: 0; - top: -4px; -} -.plx-tooltip.plx-tooltip-bottom-left::before { - left: 5px; -} -.plx-tooltip.plx-tooltip-bottom-left::after { - left: 6px; -} -.plx-tooltip.plx-tooltip-bottom-right { - margin-top: 7px; -} -.plx-tooltip.plx-tooltip-bottom-right::before { - border-bottom-color: #595959; - border-top-width: 0; - top: -5px; -} -.plx-tooltip.plx-tooltip-bottom-right::after { - border-bottom-color: #595959; - border-top-width: 0; - top: -4px; -} -.plx-tooltip.plx-tooltip-bottom-right::before { - right: 5px; -} -.plx-tooltip.plx-tooltip-bottom-right::after { - right: 6px; -} -.plx-tooltip-left-common { - margin-left: -7px; -} -.plx-tooltip-left-common::before { - border-left-color: #595959; - border-right-width: 0; - right: -5px; -} -.plx-tooltip-left-common::after { - border-left-color: #595959; - border-right-width: 0; - right: -4px; -} -.plx-tooltip.plx-tooltip-left { - margin-left: -7px; -} -.plx-tooltip.plx-tooltip-left::before { - border-left-color: #595959; - border-right-width: 0; - right: -5px; -} -.plx-tooltip.plx-tooltip-left::after { - border-left-color: #595959; - border-right-width: 0; - right: -4px; -} -.plx-tooltip.plx-tooltip-left::before { - top: 50%; - margin-top: -5px; -} -.plx-tooltip.plx-tooltip-left::after { - top: 50%; - margin-top: -4px; -} -.plx-tooltip.plx-tooltip-left-top { - margin-left: -7px; -} -.plx-tooltip.plx-tooltip-left-top::before { - border-left-color: #595959; - border-right-width: 0; - right: -5px; -} -.plx-tooltip.plx-tooltip-left-top::after { - border-left-color: #595959; - border-right-width: 0; - right: -4px; -} -.plx-tooltip.plx-tooltip-left-top::before { - top: 5px; -} -.plx-tooltip.plx-tooltip-left-top::after { - top: 6px; -} -.plx-tooltip.plx-tooltip-left-bottom { - margin-left: -7px; -} -.plx-tooltip.plx-tooltip-left-bottom::before { - border-left-color: #595959; - border-right-width: 0; - right: -5px; -} -.plx-tooltip.plx-tooltip-left-bottom::after { - border-left-color: #595959; - border-right-width: 0; - right: -4px; -} -.plx-tooltip.plx-tooltip-left-bottom::before { - bottom: 5px; -} -.plx-tooltip.plx-tooltip-left-bottom::after { - bottom: 6px; -} -.plx-checkbox-container { - font-size: 0; - position: relative; -} -.plx-checkbox { - position: absolute; - z-index: -1; - opacity: 0; -} -.plx-checkbox + .checkbox-substitute { - position: relative; - display: inline-block; - cursor: pointer; - height: 14px; - width: 14px; - border: 1px solid #d9d9d9; - border-radius: 2px; - vertical-align: middle; -} -.plx-checkbox + .checkbox-substitute + span { - font-weight: normal; - font-size: 12px; - cursor: pointer; - vertical-align: middle; - padding-left: 6px; -} -.plx-checkbox:hover + .checkbox-substitute { - border-color: #00abff; - outline: none; - background-image: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; -} -.plx-checkbox:checked + .checkbox-substitute { - border-color: #00abff; - background-color: #00abff; -} -.plx-checkbox:checked + .checkbox-substitute::after { - content: ''; - position: absolute; - display: block; - width: 6px; - height: 10px; - border: solid #fff; - border-width: 0 2px 2px 0; - transform: rotate(45deg); - left: 3px; - top: 0; -} -.plx-checkbox:checked.portion + .checkbox-substitute { - background-color: #00abff; - border-color: #00abff; - opacity: 0.5; -} -.plx-checkbox:disabled + .checkbox-substitute, -.plx-checkbox[disabled] + .checkbox-substitute { - border-color: #d9d9d9; - background-color: #f5f5f5; - cursor: not-allowed; -} -.plx-checkbox:disabled + .checkbox-substitute + span, -.plx-checkbox[disabled] + .checkbox-substitute + span { - cursor: not-allowed; -} -.plx-checkbox:checked.portion[disabled] + .checkbox-substitute { - background-color: #d9d9d9; - border-color: #d9d9d9; -} -.plx-checkbox:checked.portion[disabled] + .checkbox-substitute::after { - content: ''; - position: absolute; - display: block; - width: 6px; - height: 10px; - border: solid #999; - border-width: 0 2px 2px 0; - transform: rotate(45deg); - left: 3px; - top: 0; -} -.plx-checkbox:checked[disabled] + .checkbox-substitute { - border-color: #d9d9d9; - background-color: #d9d9d9; -} -.plx-treenode { - cursor: pointer; - background-attachment: scroll; - background-color: transparent; - background-image: none; - background-position: 0 0; - background-repeat: repeat-y; - list-style: none outside none; - margin: 0; - padding: 0; - white-space: nowrap; - font-size: 12px; -} -.plx-treenode .plx-treenode-content { - margin-top: 10px; -} -.plx-treenode .plx-treenode-content.light { - margin-top: 15px; -} -.plx-treenode ul.plx-treenode-children { - display: block; - -webkit-padding-start: 21px; -} -.plx-treenode-toggler { - font-size: 16px; - color: #00abff; - display: inline-block; - margin-right: 7px; - margin-top: 2px; - vertical-align: bottom; - float: left; -} -.plx-treenode-ckbox { - float: left; - margin-right: 10px; - margin-top: 2px; -} -.plx-treenode-icon { - color: #999; - margin-right: 10px; - float: left; - font-size: 16px; - vertical-align: bottom; - margin-top: 2px; -} -.plx-treenode-label-container { - overflow: visible; -} -.plx-treenode-label-container.plx-treenode-label-ellipsis { - overflow: hidden; -} -.plx-treenode-label-container:hover { - background-color: #ebf6fd; -} -.plx-treenode-active > div .plx-treenode-label-container { - background-color: #e2f2fc; -} -.plx-treenode-active > div .plx-treenode-label-container:hover { - background-color: #ebf6fd; -} -.plx-treenode-label-container span:last-child { - margin-right: 5px; -} -.plx-treenode-lable { - display: inline-block; - vertical-align: 0; - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; - color: #595959; -} -.plx-treenode-lable span { - display: inline-block; - overflow: hidden; - max-width: 100%; - text-overflow: ellipsis; - white-space: nowrap; - vertical-align: bottom; -} -.plx-treenode-operations { - margin-left: 20px; - display: none; - vertical-align: bottom; - width: fit-content; - line-height: 1; - margin-bottom: 1px; -} -.plx-treenode-operation { - display: inline-block; - margin-right: 10px; - color: #999; - font-size: 16px; - vertical-align: text-bottom; -} -.plx-treenode-operation:hover { - color: #00abff; -} -.plx-treenode-label-container:hover .plx-treenode-operations { - display: inline-block; -} -*:focus { - outline: none; - box-shadow: none !important; -} -input[type="checkbox"]:focus { - border: 0 !important; -} -.plx-treenode-hide-tree-toggle { - visibility: hidden; -} -.plx-treenode-droppoint { - height: 4px; - list-style-type: none; -} -.plx-treenode-droppoint-active { - background-color: #186ba0; - border: 0 none; -} -.upload-wrapper { - font-size: 12px; - position: relative; - display: inline-block; -} -.upload-wrapper .item-text { - max-width: 280px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - display: inline-block; - margin-bottom: 2px; - font-size: 12px; -} -.upload-wrapper .item-text.no-progressbar { - vertical-align: middle; -} -.upload-wrapper .plx-upload-progressbar { - margin-top: -13px; -} -.upload-wrapper .list-group-item { - border: 0; - padding: 0; -} -.upload-wrapper .list-group-item .item { - width: 335px; - padding: 0 0 5px 0px; -} -.upload-wrapper .list-group-item .item .item-text-wrapper { - position: relative; - display: inline-block; - width: 100%; - box-sizing: border-box; - height: 40px; - padding: 2px 3px 2px 10px; - border: 1px solid transparent; -} -.upload-wrapper .list-group-item .item .item-text-wrapper .text-red { - color: #ff5b55 !important; -} -.upload-wrapper .list-group-item .item .item-text-wrapper:hover { - background-color: #ebf6fd; - cursor: default; -} -.upload-wrapper .list-group-item .item .item-text-wrapper:hover .plx-ico-close-16 { - display: block; - transform: scale(0.8); -} -.upload-wrapper .list-group-item .item .item-text-wrapper.no-progressbar { - height: 28px; -} -.upload-wrapper .list-group-item .item .item-delete { - height: 14px; - width: 16px; - text-align: center; - line-height: 14px; - position: absolute; - right: 2%; - color: #999999; - display: none; - top: 3px; -} -.upload-wrapper .list-group-item .item .item-delete:hover { - cursor: pointer; - color: #666666; -} -.upload-wrapper .list-group-item .item .item-delete.no-progressbar { - top: 6px; -} -.upload-wrapper .plx-ico-close-16 { - font-size: 16px; - float: right; - cursor: pointer; -} -.upload-wrapper ul.list-group { - margin-top: 15px; -} -.upload-wrapper .url-form-control { - display: inline-block; -} -.upload-wrapper .item-detail { - color: #aaa; - position: relative; - padding: 0 10px; - font-size: 12px; -} -.upload-wrapper .item-detail div { - margin: 0px 0px 15px 0; -} -.upload-wrapper .item-detail .detail { - margin: 5px 0 10px 0; -} -.upload-wrapper .item-detail-des { - display: inline-block; - width: 170px; - word-wrap: break-word; - margin-left: 15px; - vertical-align: top; -} -.upload-wrapper .item-detail-time { - display: inline-block; - width: 119px; - word-break: break-all; - vertical-align: top; -} -.upload-wrapper .selectFile { - display: inline-block; - min-width: 50px; - margin-right: 10px; - text-align: right; -} -.upload-wrapper label.raw-container { - margin: 0 10px; -} -.upload-wrapper .item-lists { - font-size: 12px; -} -.upload-wrapper .list-container { - padding-right: 15px; -} -.upload-wrapper .list-container.plx-upload-Manual-showdetail { - margin-left: -22px; -} -.upload-wrapper .list-container.plx-upload-auto-showdetail { - margin-left: -10px; -} -.upload-wrapper .list-footer .upload-btn { - margin-top: 10px; -} -.upload-wrapper .upload-btn { - display: inline-block; -} -.upload-wrapper .loader-container { - position: absolute; - display: inline-block; - top: 8px; - left: 12px; -} -.upload-wrapper .list-group-item-pdleft-s { - padding: 0px 0px 0px 12px; -} -.upload-wrapper .list-group-item-pdleft { - padding: 0px 0px 0px 12px !important; -} -.upload-wrapper .upload-btn-wrapper { - display: inline-block; -} -.upload-wrapper .plx-red.left { - margin-left: 75px; -} -.upload-wrapper .expand-wrapper { - position: absolute; - left: 20px; - top: 4px; - display: inline-block; - font-size: 12px; -} -.upload-wrapper .expand-wrapper.open .ict-go { - display: none; -} -.upload-wrapper .expand-wrapper.open .ict-fold { - display: block; -} -.upload-wrapper .expand-wrapper i { - height: 18px; - width: 20px; - text-align: left; - line-height: 19px; - cursor: pointer; -} -.upload-wrapper .ict-fold { - display: none; - color: #00abff; - font-weight: bold; - transform: scale(0.7); -} -.upload-wrapper .ict-go { - display: block; - color: #00abff; - font-weight: bold; - transform: scale(0.7); -} -.upload-wrapper .no-customparm-extend-wrapper { - left: -2px !important; -} -/* loding动画效果*/ -.upload-wrapper .loader { - font-size: 12px; - width: 12px; - height: 12px; - display: inline-block; - border-radius: 50%; - background: #00abff; - background: -moz-linear-gradient(left, #00abff 10%, rgba(255, 255, 255, 0) 85%); - background: -webkit-linear-gradient(left, #00abff 10%, rgba(255, 255, 255, 0) 85%); - background: -o-linear-gradient(left, #00abff 10%, rgba(255, 255, 255, 0) 85%); - background: -ms-linear-gradient(left, #00abff 10%, rgba(255, 255, 255, 0) 85%); - background: linear-gradient(to right, #00abff 10%, rgba(255, 255, 255, 0) 85%); - position: relative; - -webkit-animation: load3 1.4s infinite linear; - animation: load3 1.4s infinite linear; -} -.upload-wrapper .loader:before { - width: 50%; - height: 50%; - background: #00abff; - border-radius: 100% 0 0 0; - position: absolute; - top: 0; - left: 0; - content: ''; -} -.upload-wrapper .loader:after { - background: #fff; - width: 75%; - height: 75%; - border-radius: 50%; - content: ''; - margin: auto; - position: absolute; - top: 0; - left: 0; - bottom: 0; - right: 0; -} -@-webkit-keyframes load3 { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -@keyframes load3 { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -.plx-table-customCols { - height: 40px; - float: right; -} -.plx-table-customCols-toggle { - display: inline-block; - border-radius: 3px; - width: 30px; - height: 23px; - border: 1px solid #d9d9d9; - vertical-align: top; - text-align: center; - padding-top: 7px; - margin-left: 6px; - cursor: pointer; - box-sizing: content-box; -} -.plx-table-customCols-toggle .ict-col:before { - vertical-align: top; -} -.plx-table-customCols-toggle:hover { - background-color: #fff; -} -.plx-table-customCols-toggle:active { - background-color: #fff; -} -.toggle-icon { - display: inline-block; - height: 14px; - border-right: 1px solid #595959; - vertical-align: top; - padding-left: 4px; -} -.toggle-icon:first-child { - padding-left: 0; -} -.plx-table-customCols-pannel { - margin-top: 5px; - margin-right: 5px; - border: 1px solid #d9d9d9; - background-color: #fff; - z-index: 1010; - position: absolute; - right: 0px; - border-radius: 5px; - font-size: 12px; - color: #595959; - overflow: auto; - min-width: 300px; - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); -} -.plx-table-customCols-pannel .plx-table-customCols-toolbar { - display: flex; - justify-content: space-between; - padding: 16px; -} -.plx-table-customCols-pannel .plx-table-customCols-toolbar .plx-table-filter-wrapper { - display: flex; - flex: auto; -} -.plx-table-customCols-pannel .plx-table-customCols-toolbar .plx-table-filter-wrapper input { - border-radius: 3px; - flex: auto; - padding-left: 28px; - border: 1px solid #d9d9d9; -} -.plx-table-customCols-pannel .plx-table-customCols-toolbar .plx-table-filter-wrapper input:focus { - border: 1px solid #00abff; - outline: none; -} -.plx-table-customCols-pannel .plx-table-customCols-toolbar .plx-table-filter-wrapper span { - color: #bfbfbf; - line-height: 28px; - position: relative; - left: 20px; -} -.plx-table-customCols-pannel .plx-table-customCols-items { - cursor: pointer; - border-bottom: 1px solid #e9e9e9; - border-top: 1px solid #e9e9e9; -} -.plx-table-customCols-pannel .plx-table-customCols-items > div:hover { - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); -} -.plx-table-customCols-pannel .plx-table-customCols-items label { - margin-bottom: 0px; - vertical-align: -moz-middle-with-baseline; - vertical-align: -webkit-baseline-middle; - vertical-align: 25%; -} -.plx-table-customCols-pannel .plx-table-customCols-items .plx-table-customCols-item > span { - padding: 0px 6px; -} -.plx-table-customCols-pannel .plx-table-customCols-items .plx-table-customCols-operations { - visibility: hidden; - float: right; -} -.plx-table-customCols-pannel .plx-table-customCols-items .plx-table-customCols-operations div { - box-sizing: content-box; - padding: 0px 8px; - display: inline-block; -} -.plx-table-customCols-pannel .plx-table-customCols-items .heighLight { - background-color: #e2f2fc; -} -.plx-table-customCols-pannel .plx-table-customCols-items .heighLight .plx-table-customCols-operations .plx-table-goup-show { - visibility: visible; -} -.plx-table-customCols-pannel .plx-table-customCols-items .heighLight .plx-table-customCols-operations .plx-table-godown-show { - visibility: visible; -} -.plx-table-customCols-pannel .plx-table-customCols-items .heighLight .plx-table-customCols-operations span { - color: #00abff; -} -.plx-table-customCols-pannel .plx-table-customCols-items .dragging { - box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2); -} -.plx-table-customCols-pannel .plx-table-customCols-items .dragEnter { - background-color: #00abff; -} -.plx-table-customCols-pannel .plx-table-customCols-items .plx-table-customCols-dropArea { - height: 10px; - border-bottom: 1px solid #e9e9e9; -} -.plx-table-customCols-pannel .plx-table-customCols-items .plx-table-customCols-dropArea-before { - height: 10px; - border-bottom: none; -} -.plx-table-customCols-pannel .plx-table-customCols-items > div:last-child .plx-table-customCols-dropArea { - border-bottom: none; -} -.plx-table-customCols-pannel .plx-table-customCols-items .plx-table-customCols-item { - line-height: 20px; - height: 20px; - padding: 0px 16px; -} -.plx-table-customCols-pannel .plx-table-customCols-confirm { - display: flex; - align-items: center; - justify-content: center; - padding: 16px 16px; -} -.plx-table-col-filter { - border: 1px solid #d9d9d9; - margin: 5px; - box-sizing: border-box; - height: 30px; -} -.plx-table-col-filter input { - width: calc(100% - 25px); - line-height: normal; - font-weight: normal; - border: none; - height: 26px; - font-size: 12px; - box-sizing: border-box; -} -.plx-table-col-filter input:focus { - outline: none; -} -.plx-table-col-filter .filterIcon { - /*position: absolute;*/ - top: 6px; - left: 3px; - fill: #dedede; - width: 14px; -} -.plx-filter-focused { - outline: none; - border: 1px solid #00abff; -} -.plx-table-col-icon-wrapper { - padding-left: 5px; - display: inline-block; - line-height: 30px; -} -.plx-table-col-icon-wrapper span { - vertical-align: sub; -} -::-webkit-input-placeholder { - /* WebKit browsers */ - color: #c1c1c1; -} -:-moz-placeholder { - /* Mozilla Firefox 4 to 18 */ - color: #c1c1c1; -} -::-moz-placeholder { - /* Mozilla Firefox 19+ */ - color: #c1c1c1; -} -:-ms-input-placeholder { - /* Internet Explorer 10+ */ - color: #c1c1c1; -} -.plx-table-selectFilter-wrapper { - display: inline-block; - vertical-align: middle; - height: 28px; - cursor: pointer; - /*此处 若不为absolute则被td遮挡*/ - position: absolute; -} -.plx-table-selectFilter-icon { - vertical-align: middle; - height: 28px; - fill: #999; -} -.icon-selectFilter-activtied { - fill: #00abff; -} -.plx-table-selectFilter-panel { - margin-top: -5px; - border: 1px solid #d9d9d9; - background-color: #fff; - padding: 10px; - right: 0px; - border-radius: 5px; - /*此处若为absolute则文本要换行,恩,玄学*/ - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); -} -.plx-table-selectFilter-panel span { - vertical-align: -25%; - font-size: 12px; -} -.plx-table-selectFilter-panel label { - line-height: normal; -} -.plx-table-selectFilter-panel div { - line-height: normal; -} -.plx-table-filter { - height: 40px; - float: right; -} -.plx-table-filter input { - border-radius: 3px; - line-height: normal; - padding: 0px 6px; - font-weight: normal; - border: 1px solid #d9d9d9; - margin-bottom: 10px; - height: 32px; - width: 200px; - box-sizing: border-box; - font-size: 12px; - color: #595959; -} -.plx-table-filter input:focus { - outline: none; - border: 1px solid #00abff; -} -.plx-table-filterToggle { - display: inline-block; - width: 30px; - height: 30px; - border-radius: 3px; - border: 1px solid #d9d9d9; - vertical-align: top; - text-align: center; - margin-left: 6px; - cursor: pointer; - box-sizing: content-box; -} -.plx-table-filterToggle.ict-filter:before { - line-height: 30px; -} -.plx-table-filterToggle.ict-filter-f:before { - line-height: 30px; - color: #00abff; -} -.plx-table-filter-icon-wrapper { - vertical-align: middle; - display: inline-block; - padding-top: 5px; -} -.plx-table-filterIcon { - fill: #595959; -} -.plx-table-pagination { - float: right; - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; - font-size: 12px; - color: #595959; - margin-top: 10px; - margin-bottom: 10px; -} -.plx-table-pagination-content { - display: inline-block; - text-decoration: none; -} -.plx-table-pagination-item { - list-style-type: none; - display: inline-block; -} -.plx-table-pagination-item span { - vertical-align: middle; -} -.plx-table-pagination-item select { - vertical-align: middle; - height: 26px; - width: 45px; - border: 1px solid #d9d9d9; -} -.plx-table-pagination-input { - padding: 1px; - height: 26px; - width: 45px; - margin-left: 1px; - margin-right: 1px; - font-size: 12px; - color: #595959; - box-sizing: border-box; - border: 1px solid #d9d9d9; - text-align: center; - vertical-align: middle; -} -.plx-table-pagination-nav { - display: inline-block; - height: 26px; - border: 1px solid #d9d9d9; - font-size: 14px; - text-decoration: none; - color: #595959; - padding-left: 6px; - padding-right: 6px; - cursor: pointer; - text-align: center; - vertical-align: middle; - box-sizing: border-box; -} -a:not([href]):not([tabindex]).plx-table-pagination-disabled { - color: #bfbfbf; - cursor: not-allowed; -} -.plx-table-dropdown-wrapper { - cursor: pointer; -} -.plx-table-dropdown-icon-shared { - font-size: 20px; - line-height: 2.2 !important; - cursor: pointer; -} -.plx-table-dropdown-icon-polyline-shared { - height: 16px; - width: 16px; - stroke: #00abff ; -} -.ict-down, -.ict-up { - font-size: 20px; - line-height: 2.2 !important; - cursor: pointer; -} -.ict-down polyline, -.ict-up polyline { - height: 16px; - width: 16px; - stroke: #00abff ; -} -.ict-down polyline:hover, -.ict-up polyline:hover { - stroke: #2d91c4; -} -.plx-table-innerTr { - border: 1px solid #d9d9d9; -} -.plx-table-innerTr #plx-table-innerTd { - padding: 0px; -} -.plx-table-innerTable { - width: 100%; -} -.plx-table-innerTable tr { - color: #595959; - font-size: 12px; -} -.plx-table-innerTable tr td#plx-inner-table-title, -.plx-table-innerTable tr td#plx-inner-table-content { - padding: 8px; - height: 40px; - border: none; - border-bottom: 1px solid #d9d9d9; -} -.plx-table-innerTable tr td:first-child { - text-align: right; -} -.plx-table-innerTable tr td:last-child { - text-align: left; -} -.plx-table-innerTable tr:last-child td#plx-inner-table-title, -.plx-table-innerTable tr:last-child td#plx-inner-table-content { - border-bottom: none; -} -/* 排序图标 */ -.plx-table-sort-icon-shared { - display: block; - cursor: pointer; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - margin-bottom: 2px; -} -.plx-table-sortIconWrapper { - display: inline-block; - vertical-align: middle; - margin-left: 3px; -} -/* 排序图标:箭头向上 */ -.plx-table-sortAsc { - display: block; - cursor: pointer; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - margin-bottom: 2px; - border-bottom: 5px solid #999; -} -.plx-table-ascActived { - border-bottom: 5px solid #00abff; -} -/* 排序图标:箭头向下 */ -.plx-table-sortDesc { - display: block; - cursor: pointer; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - margin-bottom: 2px; - border-top: 5px solid #999; -} -.plx-table-descActived { - border-top: 5px solid #00abff; -} -.plx-color-picker-border-radius { - border-top-left-radius: 3px; - border-top-right-radius: 3px; -} -.plx-color-picker * { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - margin: 0; - font-size: 12px; - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; -} -.plx-color-picker { - cursor: default; - width: 246px; - height: auto; - left: 30px; - top: 250px; - position: absolute; - z-index: 1000; - background-color: #fff; - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - border-radius: 3px; - border: 1px solid #d9d9d9; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.plx-color-picker i { - cursor: default; - position: relative; -} -.plx-color-picker input { - font-size: 12px; - height: 32px; - padding-left: 10px; - padding-right: 10px; - outline: 0; - border: 1px solid #d9d9d9; - border-radius: 3px; - vertical-align: middle; - text-align: center; - height: 24px; - -moz-appearance: textfield; -} -.short-text-input .plx-color-picker input { - width: 120px; -} -.text-input-with-unit .plx-color-picker input { - width: 355px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-unitOption .plx-color-picker input { - width: 316px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-prefix .plx-color-picker input { - width: 330px; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.text-input-with-prefixOption .plx-color-picker input { - width: 316px; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.text-input-with-passwordSwith .plx-color-picker input { - width: 360px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.text-input-with-prefix.text-input-with-unit .plx-color-picker input { - width: 285px; -} -.text-input-with-prefix.text-input-with-unitOption .plx-color-picker input { - width: 246px; -} -.short-text-input.text-input-with-prefix .plx-color-picker input { - width: 80px; -} -.short-text-input.text-input-with-unit .plx-color-picker input { - width: 80px; -} -.short-text-input.text-input-with-prefix.text-input-with-unit .plx-color-picker input { - width: 40px; -} -.plx-color-picker input:focus { - border: 1px solid #00abff; -} -.plx-color-picker input:disabled, -.plx-color-picker input[disabled] { - cursor: not-allowed; - background-color: #f5f5f5; -} -.plx-color-picker input:invalid { - box-shadow: none; -} -.plx-color-picker input:-moz-submit-invalid { - box-shadow: none; -} -.plx-color-picker input:-moz-ui-invalid { - box-shadow: none; -} -.plx-color-picker input::-webkit-outer-spin-button, -.plx-color-picker input::-webkit-outer-spin-button { - -webkit-appearance: textfield; - margin: 0; -} -.plx-color-picker .color-picker-overlay1 { - border-top-left-radius: 3px; - border-top-right-radius: 3px; - position: absolute; - left: 0; - top: 0; - width: 244px; - height: 118px; - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='#ffffff', endColorstr='#00ffffff')"; - /* IE8 */ - background: -moz-linear-gradient(left, #ffffff 0%, rgba(255, 255, 255, 0) 100%); - /* FF3.6+ */ - background: -webkit-gradient(linear, left top, right top, color-stop(0%, #ffffff), color-stop(100%, rgba(255, 255, 255, 0))); - /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(left, #ffffff 0%, rgba(255, 255, 255, 0) 100%); - /* Chrome10+,Safari5.1+ */ - background: -o-linear-gradient(left, #ffffff 0%, rgba(255, 255, 255, 0) 100%); - /* Opera 11.10+ */ - background: -ms-linear-gradient(left, #ffffff 0%, rgba(255, 255, 255, 0) 100%); - /* IE10+ */ - background: linear-gradient(to right, #ffffff 0%, rgba(255, 255, 255, 0) 100%); - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr='#ffffff', endColorstr='#00ffffff'); - /* IE6 & IE7 */ -} -.plx-color-picker .color-picker-overlay2 { - border-top-left-radius: 3px; - border-top-right-radius: 3px; - position: absolute; - left: 0; - top: 0; - width: 244px; - height: 118px; - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#00000000', endColorstr='#000000')"; - /* IE8 */ - background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0%, #000000 100%); - /* FF3.6+ */ - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(0, 0, 0, 0)), color-stop(100%, #000000)); - /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, #000000 100%); - /* Chrome10+,Safari5.1+ */ - background: -o-linear-gradient(top, rgba(0, 0, 0, 0) 0%, #000000 100%); - /* Opera 11.10+ */ - background: -ms-linear-gradient(top, rgba(0, 0, 0, 0) 0%, #000000 100%); - /* IE10+ */ - background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, #000000 100%); - /* W3C */ - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#000000', GradientType=0); - /* IE6-9 */ -} -.plx-color-picker .color-picker-saturation-lightness { - border-top-left-radius: 3px; - border-top-right-radius: 3px; - cursor: pointer; - width: 244px; - height: 118px; - border: none; - background-size: 100% 100%; -} -.plx-color-picker .color-picker-hue { - cursor: pointer; - border-radius: 3px; - width: 168px; - height: 10px; - border: none; - margin-bottom: 10px; - background-size: 100% 100%; - background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAQCAYAAAD06IYnAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIWDwkUFWbCCAAAAFxJREFUaN7t0kEKg0AQAME2x83/n2qu5qCgD1iDhCoYdpnbQC9bbY1qVO/jvc6k3ad91s7/7F1/csgPrujuQ17BDYSFsBAWwgJhISyEBcJCWAgLhIWwEBYIi2f7Ar/1TCgFH2X9AAAAAElFTkSuQmCC'); -} -.plx-color-picker .color-picker-alpha { - cursor: pointer; - border-radius: 3px; - width: 168px; - height: 10px; - border: none; - background-size: 100% 100%; - background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKgAAAAKCAYAAAAgnxVRAAAC9klEQVRYhdVYPc7bMAylku7WViCrfJ2cocfoGXqLHslbDhAvHjNkCBBRHSoZzwQpKW7T7yuBwAn9+CtKIuOu1+vXy+UyPx6PL5QphEDee0KKMdI0TRveP8KlaZoSEZUPhxCS9z4RERd+jJEzbuWFEKL3nlEWcDHzYgiBQR//Nht5miZGXrbLWbaGY+99RBuAK3zOuGfBZP+iwJU4ItgtuAiyaJdBH2fc6iPoY9CH/jH4xyKOJHAJcEnRlwxcWY8k1o3KepxOp3Rg5h9YnJ+UkvjtxNPCO8Ak4MunxevxRXun6UVCn1ynXyhb5Mp7Tc4Z3y0e6pG2tXw7quuQWI0v/ZGx0cEAfzaygtUWBAPVClXqRblaErX3cgPU/C4Y/Gi+1+TRTllI/FjUKvjy1OxLf60NodmUG9GSQRuY5/+mQAtpye0pEKvwrELRsGhPW/CWrNwsTnnXc8rgUxaPptOi3huj6NVyJ3NR2yS9mI0/rxRoTyDvJmvhe65U7QrT9LRO0pYti2oLYxW9/F07/WqbbY9Pmm/ajSR9kLH0knoLuPv9/vN2u31D5rIsNM/zBjgMA43jSB+AS+M4rk11xvE8z8hLwzDwOI6bpnxZljTPc+FFIuKsrwwHiYhixm2GhoxDnoaLYHflZ/82w9QwDNHAbYaajJN2o6KPM24dksDuE+KIEC8DbiML8a65UnCc7SbwJYHdNf+AY4FLAifXt6xbOp/Pae8V/xGnKfYxrUZbXu2J7GtK6rbIuuIsn1q9Xk9faMnW9PTEIm1ofTgZPDwpe6/r3TfR3gLtScDfplrPRuKdFryVBOu6avmh9b6vDCqtReuRlba1KdvqS63caTwrLq2t0NqTVs9u0juGpHecrr2TYyFtuu0pnt7pVPtuye8d3jQ8vu8psNqJ+sohgydmq0+3NkmtMM1/Eg7Oue/H4/H5grMtqk3Vf6Lz1SRbxWPh5ADQc5q0pm38bk3emtyeHMoC0ApCa3/2tAOtjSWLWDv1rc204f8CQvGUIhalBqwAAAAASUVORK5CYII='); -} -.plx-color-picker .color-picker-alpha-ba { - position: absolute; - background: linear-gradient(90deg, rgba(255, 255, 255, 0), #000); -} -.plx-color-picker .selected-color { - width: 30px; - height: 30px; - top: 0px; - left: 0px; - position: absolute; - -moz-border-radius: 50%; - -webkit-border-radius: 50%; - border-radius: 50%; - -khtml-border-radius: 50%; -} -.plx-color-picker .selected-color-background { - width: 30px; - height: 30px; - -moz-border-radius: 50%; - -webkit-border-radius: 50%; - border-radius: 50%; - -khtml-border-radius: 50%; - background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAh0lEQVRYR+2W0QlAMQgD60zdfwOdqa8TmI/wQMr5K0I5bZLIzLOa2nt37VVVbd+dDx5obgCC3KBLwJ2ff4PnVidkf+ucIhw80HQaCLo3DMH3CRK3iFsmAWVl6hPNDwt8EvNE5q+YuEXcMgkonVM6SdyCoEvAnZ8v1Hjx817MilmxSUB5rdLJDycZgUAZUch/AAAAAElFTkSuQmCC'); -} -.plx-color-picker .color-picker-cursor { - cursor: default; - position: relative; - -moz-border-radius: 50%; - -webkit-border-radius: 50%; - border-radius: 50%; - -khtml-border-radius: 50%; - width: 10px; - height: 10px; - border: #ffffff solid 1px; -} -.plx-color-picker .color-picker-cursor-selector { - cursor: default; - position: relative; - -moz-border-radius: 50%; - -webkit-border-radius: 50%; - border-radius: 50%; - -khtml-border-radius: 50%; - width: 10px; - height: 10px; - border: #ffffff solid 1px; - width: 12px; - height: 12px; - top: -1px; - background-color: #ffffff; - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); -} -.plx-color-picker .type-policy { - float: right; - position: absolute; - top: 198px; - right: 12px; - width: 16px; - height: 16px; -} -.plx-color-picker .type-policy:hover { - background-color: #ebf6fd; - cursor: pointer; -} -.plx-color-picker .arrow-down { - display: block; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-top: 4px solid #a6a6a6; - margin-top: 4px; - margin-left: 4px; -} -.plx-color-picker .arrow-up { - display: block; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-bottom: 4px solid #a6a6a6; - margin-top: 2px; - margin-left: 4px; -} -.plx-color-picker .box { - width: 100%; - height: 100%; - display: flex; -} -.plx-color-picker .box .left { - position: relative; - margin-right: 16px; -} -.plx-color-picker .box .right { - flex: 1 1 auto; -} -.plx-color-picker .button-area { - padding: 0 16px 16px 16px; - text-align: right; -} -.plx-color-picker .preset-area { - padding: 4px 15px; -} -.plx-color-picker .preset-area .preset-label { - width: 100%; - padding: 4px; - text-align: left; - color: #555; -} -.plx-color-picker .preset-area .preset-color { - cursor: pointer; - display: inline-block; - width: 18px; - height: 18px; - margin: 4px 6px 8px 6px; - -moz-border-radius: 25%; - -webkit-border-radius: 25%; - border-radius: 25%; - -khtml-border-radius: 25%; - border: #a9a9a9 solid 1px; -} -.plx-color-picker .hsla-text, -.plx-color-picker .rgba-text { - width: 196px; -} -.plx-color-picker .hsla-text input, -.plx-color-picker .rgba-text input { - color: #595959; - min-width: 0; - flex: 1; - margin: 0; - float: left; - padding: 1px; -} -.plx-color-picker .hsla-text input:last-child, -.plx-color-picker .rgba-text input:last-child { - margin-right: 0; -} -.plx-color-picker .hsla-text .hsla-text-div, -.plx-color-picker .rgba-text .hsla-text-div, -.plx-color-picker .hsla-text .rgba-text-div, -.plx-color-picker .rgba-text .rgba-text-div { - margin-top: 2px; - flex: 1; - text-align: center; - color: #999999; - height: 18px; - padding-right: 8px; -} -.plx-color-picker .hsla-text .hsla-text-div:last-child, -.plx-color-picker .rgba-text .hsla-text-div:last-child, -.plx-color-picker .hsla-text .rgba-text-div:last-child, -.plx-color-picker .rgba-text .rgba-text-div:last-child { - margin-right: 0; - padding-right: 0; -} -.plx-color-picker .hsla-text .hsla-text-degree, -.plx-color-picker .rgba-text .hsla-text-degree { - padding-right: 16px; -} -.plx-color-picker .hsla-text .hsla-text-percent, -.plx-color-picker .rgba-text .hsla-text-percent { - padding-right: 22px; -} -.plx-color-picker .hsla-text .hsla-degree, -.plx-color-picker .rgba-text .hsla-degree { - display: inline-block; - width: 6px; - margin-left: 2px; - margin-right: 8px; - margin-top: 2px; -} -.plx-color-picker .hsla-text .hsla-percent, -.plx-color-picker .rgba-text .hsla-percent { - display: inline-block; - width: 12px; - margin-left: 2px; - margin-right: 8px; - margin-top: 3px; -} -.plx-color-picker .hsla-text .rgba-text-input, -.plx-color-picker .rgba-text .rgba-text-input { - margin-right: 8px; -} -.plx-color-picker .hex-text { - width: 196px; -} -.plx-color-picker .hex-text .box input { - color: #595959; - flex: 1 1 auto; - padding: 1px; -} -.plx-color-picker .hex-text .box div { - margin-top: 2px; - flex: 1 1 auto; - text-align: center; - height: 18px; - color: #999999; - float: left; - clear: left; -} -.plx-color-picker .bacis-color-alpha-select-area { - padding: 20px 16px 16px 16px; -} -.plx-color-picker .color-format-content-area { - padding: 0px 16px 16px 16px; -} -.plx-color-picker .arrow::after, -.plx-color-picker .arrow::before { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; - content: ""; - border-width: 7px 7px; -} -.plx-color-picker .arrow.arrow-bottom::after { - left: 20px; - border-top-width: 0; - top: -7px; - border-bottom-color: #ffffff; -} -.plx-color-picker .arrow.arrow-bottom::before { - left: 20px; - border-top-width: 0; - top: -8px; - border-bottom-color: #999999; -} -body { - font-size: 12px; -} -.shadow { - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); -} -:-moz-placeholder { - /* Mozilla Firefox 4 to 18 */ - color: #bfbfbf; -} -::-moz-placeholder { - /* Mozilla Firefox 19+ */ - color: #bfbfbf; -} -input:-ms-input-placeholder { - color: #bfbfbf; -} -input::-webkit-input-placeholder { - color: #bfbfbf; -} -.plx-btn { - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; - color: #00abff; - min-width: 80px; - letter-spacing: 1px; - padding: 0px 16px; - height: 32px; - font-size: 12px; - cursor: pointer; - text-align: center; - white-space: nowrap; - margin-right: 10px; - vertical-align: middle; - border: 1px solid #d9d9d9; - background-color: #fff; - border-radius: 3px; - line-height: 30px; -} -.plx-btn:hover, -.plx-btn:disabled, -.plx-btn[disabled], -.plx-btn:focus, -.plx-btn:active { - outline: none; - background-image: none; - filter: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; -} -.plx-btn:hover, -.plx-btn:focus { - color: #00abff; - border-color: #00abff; - background-color: #fff; -} -.plx-btn:active { - color: #008fd5; - border-color: #008fd5; - background-color: #fff; -} -.plx-btn:disabled, -.plx-btn[disabled] { - color: #bfbfbf; - background-color: #fff; - border-color: #e9e9e9; -} -.plx-btn:disabled:hover, -.plx-btn[disabled]:hover, -.plx-btn:disabled:focus, -.plx-btn[disabled]:focus { - color: #bfbfbf; - background-color: #fff; - border-color: #e9e9e9; - cursor: not-allowed; -} -.plx-btn .plx-btn-icon { - font-size: 16px; - vertical-align: text-top; - margin-right: 3px; -} -.plx-btn-primary { - background-color: #00abff; - color: #fff; - border-color: #00abff; -} -.plx-btn-primary:hover, -.plx-btn-primary:focus { - color: #fff; - background-color: #009dea; - border-color: #009dea; -} -.plx-btn-primary:active { - color: #fff; - background-color: #008fd5; - border-color: #008fd5; -} -.plx-btn-primary:disabled, -.plx-btn-primary[disabled], -.plx-btn-primary:disabled:hover, -.plx-btn-primary[disabled]:hover, -.plx-btn-primary:disabled:focus, -.plx-btn-primary[disabled]:focus { - color: #fff; - border-color: #00abff; - background-color: #00abff; - opacity: 0.5; -} -.plx-btn-guide { - background-color: #00abff; - color: #fff; - border-color: #00abff; -} -.plx-btn-guide:hover, -.plx-btn-guide:focus { - color: #fff; - background-color: #009dea; - border-color: #009dea; -} -.plx-btn-guide:active { - color: #fff; - background-color: #008fd5; - border-color: #008fd5; -} -.plx-btn-guide:disabled, -.plx-btn-guide[disabled], -.plx-btn-guide:disabled:hover, -.plx-btn-guide[disabled]:hover, -.plx-btn-guide:disabled:focus, -.plx-btn-guide[disabled]:focus { - color: #fff; - border-color: #00abff; - background-color: #00abff; - opacity: 0.5; -} -.plx-btn-table { - color: #595959; -} -.plx-btn-error { - background-color: #ff5b55; - color: #fff; - border-color: #ff5b55; -} -.plx-btn-error:hover, -.plx-btn-error:focus { - color: #fff; - background-color: #ee403a; - border-color: #ee403a; -} -.plx-btn-error:active { - color: #fff; - background-color: #e02a23; - border-color: #e02a23; -} -.plx-btn-error:disabled, -.plx-btn-error[disabled], -.plx-btn-error:disabled:hover, -.plx-btn-error[disabled]:hover, -.plx-btn-error:disabled:focus, -.plx-btn-error[disabled]:focus { - color: #fff; - border-color: #ff5b55; - background-color: #ff5b55; - opacity: 0.5; -} -.plx-btn-sm { - height: 28px; - padding: 0px 14px; - min-width: 60px; - margin-right: 5px; - line-height: 26px; -} -.plx-btn-xs { - height: 24px; - padding: 0px 12px; - min-width: 60px; - margin-right: 5px; - line-height: 22px; -} -.plx-btn.dropdown-toggle { - margin-right: 0; - outline: none !important; - background-image: none !important; - filter: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; -} -.plx-btn.dropdown-toggle::after { - margin-left: 16px; - border-top: 4px solid; - border-right: 4px solid transparent; - border-left: 4px solid transparent; - color: #c0c0c0; - margin-bottom: 1px; -} -.plx-btn-sm.dropdown-toggle::after { - margin-left: 14px; -} -.plx-btn-xs.dropdown-toggle::after { - margin-left: 12px; -} -.plx-btn + .dropdown-menu { - margin: 0; - padding: 0; - border: 0; - min-width: 100%; - font-size: 12px; - border-radius: 3px; - -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2); -} -.plx-btn + .dropdown-menu .dropdown-item { - background-color: #fff; - color: #595959; - font-size: 12px; - padding: 0px 16px; - height: 30px; - cursor: pointer; -} -.plx-btn + .dropdown-menu .dropdown-item:hover, -.plx-btn + .dropdown-menu .dropdown-item:focus, -.plx-btn + .dropdown-menu .dropdown-item:active { - outline: none; - background-color: #ebf6fd; -} -.plx-btn + .dropdown-menu .dropdown-item:disabled, -.plx-btn + .dropdown-menu .dropdown-item[disabled] { - color: #bfbfbf; -} -.plx-btn + .dropdown-menu .dropdown-item:disabled:hover, -.plx-btn + .dropdown-menu .dropdown-item[disabled]:hover, -.plx-btn + .dropdown-menu .dropdown-item:disabled:focus, -.plx-btn + .dropdown-menu .dropdown-item[disabled]:focus { - cursor: not-allowed; - background-color: #fff; -} -.plx-btn-sm + .dropdown-menu .dropdown-item { - padding: 0px 14px; -} -.plx-btn-xs + .dropdown-menu .dropdown-item { - padding: 0px 12px; -} -.plx-btn-more { - display: inline-block; - margin-right: 10px; -} -.plx-btn-more-sm { - margin-right: 5px; -} -.plx-btn-more-xs { - margin-right: 5px; -} -.plx-checkbox-container { - font-size: 0; - position: relative; -} -.plx-checkbox { - position: absolute; - z-index: -1; - opacity: 0; -} -.plx-checkbox + .checkbox-substitute { - position: relative; - display: inline-block; - cursor: pointer; - height: 14px; - width: 14px; - border: 1px solid #d9d9d9; - border-radius: 2px; - vertical-align: middle; -} -.plx-checkbox + .checkbox-substitute + span { - font-weight: normal; - font-size: 12px; - cursor: pointer; - vertical-align: middle; - padding-left: 6px; -} -.plx-checkbox:hover + .checkbox-substitute { - border-color: #00abff; - outline: none; - background-image: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; -} -.plx-checkbox:checked + .checkbox-substitute { - border-color: #00abff; - background-color: #00abff; -} -.plx-checkbox:checked + .checkbox-substitute::after { - content: ''; - position: absolute; - display: block; - width: 6px; - height: 10px; - border: solid #fff; - border-width: 0 2px 2px 0; - transform: rotate(45deg); - left: 3px; - top: 0; -} -.plx-checkbox.portion + .checkbox-substitute { - background-color: #00abff; - border-color: #00abff; - opacity: 0.5; -} -.plx-checkbox.portion + .checkbox-substitute::after { - content: ''; - position: absolute; - display: block; - width: 6px; - height: 10px; - border: solid #fff; - border-width: 0 2px 2px 0; - transform: rotate(45deg); - left: 3px; - top: 0; -} -.plx-checkbox:disabled + .checkbox-substitute, -.plx-checkbox[disabled] + .checkbox-substitute { - border-color: #d9d9d9; - background-color: #f5f5f5; - cursor: not-allowed; -} -.plx-checkbox:disabled + .checkbox-substitute + span, -.plx-checkbox[disabled] + .checkbox-substitute + span { - cursor: not-allowed; -} -.plx-checkbox.portion[disabled] + .checkbox-substitute { - background-color: #d9d9d9; - border-color: #d9d9d9; -} -.plx-checkbox.portion[disabled] + .checkbox-substitute::after { - content: ''; - position: absolute; - display: block; - width: 6px; - height: 10px; - border: solid #999; - border-width: 0 2px 2px 0; - transform: rotate(45deg); - left: 3px; - top: 0; -} -.plx-checkbox:checked[disabled] + .checkbox-substitute { - border-color: #d9d9d9; - background-color: #d9d9d9; -} -.plx-form { - font-family: "Helvetica Neue", "PingFang SC", Tahoma, "Microsoft Yahei"; - font-size: 12px; - background: #fff; - color: #595959; -} -.plx-form .ng-invalid:not(form).ng-invalid:not(fieldset).ng-invalid:not(plx-select) { - border: 1px solid #ff5b55; - /* red */ -} -.plx-form .ng-untouched:not(form).ng-untouched:not(fieldset).ng-untouched:not(plx-select) { - border: 1px solid #d9d9d9; -} -.plx-form label { - font-size: 12px; - text-align: right; - color: #737373; - background: #fff; -} -.plx-form label .label-span { - color: #595959; -} -.plx-form .text-autocut { - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; - display: block; -} -.plx-form .forms-group-pointer { - margin-bottom: 10px; - padding-left: 15px; - color: #404040; - font-size: 14px; - height: 32px; - line-height: 32px; - cursor: pointer; -} -.plx-form .forms-group-pointer:hover { - background: #ebf6fd; -} -.plx-form .forms-group-pointer span { - margin-left: 24px; - border-left: 3px solid #00abff; - padding-left: 5px; -} -.plx-form .forms-group-pointer .group-icon { - float: left; - font-size: 14px; - color: #00abff !important; - line-height: 32px; - margin-right: 8px; - transform: scale(0.7, 0.7); - font-weight: bold; -} -.plx-form .forms-group-default { - margin-bottom: 10px; - padding-left: 15px; - color: #404040; - font-size: 14px; - height: 32px; - line-height: 32px; - cursor: default; - line-height: 16px; -} -.plx-form .forms-group-default:hover { - background: #fff; -} -.plx-form .forms-group-default span { - margin-left: 24px; - border-left: 3px solid #00abff; - padding-left: 5px; -} -.plx-form .forms-group-default .group-icon { - float: left; - font-size: 14px; - color: #00abff !important; - line-height: 32px; - margin-right: 8px; - transform: scale(0.7, 0.7); - font-weight: bold; -} -.plx-form .input-sm { - height: 28px !important; -} -.plx-form .px-red { - color: #ff5b55; -} -.plx-form input:focus { - border: 1px solid #00abff !important; -} -.plx-form .error-div { - height: 12px; - margin-top: -4px; - margin-bottom: 5px; -} -.plx-form .error-div .error-msg { - color: #ff5b55; -} -.plx-form .help-div { - color: #bfbfbf; - height: 12px; - margin-top: -5px; - margin-bottom: 6px; -} -.plx-form .forms-header { - margin-left: 15px; - margin-bottom: 25px; - padding-bottom: 5px; - border-bottom: 1px solid #e9e9e9; -} -.plx-form .forms-header span { - font-size: 16px; - color: #404040; -} -.plx-form .plx-input { - width: 100%; - color: #595959; - background: #fff; - text-align: left; -} -.plx-form .field-radio { - padding-right: 10px; - line-height: 27px; -} -.plx-form .field-radio.field-radio-tight { - line-height: 23px; -} -.plx-form .field-tail { - padding-right: 10px; - line-height: 32px; -} -.plx-form .field-tail.field-tail-tight { - line-height: 28px; -} -.plx-form .field-tail .tip { - color: #999; - font-size: 16px; -} -.plx-form .field-info { - font-size: 12px; - color: #00abff; - margin-left: -15px; -} -.plx-form .field-info.field-info-group { - margin-left: 15px; -} -.plx-form .form-field:not(select-dropdown) { - color: #595959; - font-size: 12px; - line-height: 32px; -} -.plx-form .form-field:not(select-dropdown).form-field-tight { - line-height: 28px; -} -.plx-form .form-field:not(select-dropdown).form-filed-hint { - margin-bottom: 15px; -} -.plx-form .field-div { - margin-bottom: 15px; - padding-left: 0; -} -.plx-form .field-div.field-div-tight { - margin-bottom: 10px; -} -.plx-form .field-div.inputchanged > input { - font-weight: bold; -} -.plx-form .field-div.inputchanged > select { - font-weight: bold; -} -.plx-form .button-div { - padding: 15px 0 0 0; - color: #595959; - font-size: 14px; - text-align: left; -} -.plx-form .button-div button { - margin-right: 10px; -} -.plx-form .button-r-submit { - float: right; - margin-right: -20px !important; -} -.plx-form .button-r-cancel { - float: right; -} -.plx-form .content { - overflow-y: auto; - overflow-x: hidden; -} -.plx-form .plx-scrollbar::-webkit-scrollbar { - width: 4px; - height: 6px; -} -.plx-form .plx-scrollbar::-webkit-scrollbar-thumb { - background-color: rgba(0, 0, 0, 0.2); - border-radius: 2em; - min-height: 50px; - max-height: 100px; -} -.plx-form .plx-scrollbar::-webkit-scrollbar-corner { - background-color: transparent; -} -.plx-form input:-ms-input-placeholder { - color: #999 !important; -} -.plx-form input::-webkit-input-placeholder { - color: #999 !important; -} -.plx-form plx-info .icon { - margin-left: -10px; - line-height: 28px !important; -} -.para-content .icon-active { - fill: #00abff; -} -.para-content .icon-disactive { - fill: #bfbfbf; - cursor: default; -} -.plx-input { - font-size: 12px; - height: 32px; - padding-left: 10px; - padding-right: 10px; - outline: 0; - border: 1px solid #d9d9d9; - border-radius: 3px; - vertical-align: middle; -} -.plx-input:focus { - border: 1px solid #00abff; -} -.plx-input:disabled, -.plx-input[disabled] { - cursor: not-allowed; - background-color: #f5f5f5; -} -.plx-input-sm { - height: 28px; -} -.plx-input-right-no-radius { - border-bottom-right-radius: 0; - border-top-right-radius: 0; -} -.plx-radio-container { - font-size: 0; - position: relative; -} -.plx-radio { - position: absolute; - z-index: -1; - opacity: 0; -} -.plx-radio + .radio-substitute { - position: relative; - display: inline-block; - cursor: pointer; - height: 14px; - width: 14px; - border: 1px solid #d9d9d9; - border-radius: 14px; - vertical-align: middle; -} -.plx-radio:hover + .radio-substitute, -.plx-radio:focus + .radio-substitute { - border-color: #00abff; - outline: none; - background-image: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; -} -.plx-radio:checked + .radio-substitute { - border: 4px solid #00abff; -} -.plx-radio:disabled + .radio-substitute, -.plx-radio[disabled] + .radio-substitute { - border-color: #d9d9d9; - background-color: #f5f5f5; - cursor: not-allowed; -} -.plx-radio:checked [disabled] + .radio-substitute { - border-color: #e9e9e9; - background-color: #e9e9e9; - cursor: not-allowed; -} -.plx-radio + .radio-substitute + span { - font-weight: normal; - font-size: 12px; - cursor: pointer; - vertical-align: middle; - padding-left: 6px; -} -.plx-radio:disabled + .radio-substitute + span, -.plx-radio[disabled] + .radio-substitute + span { - cursor: not-allowed; -} -/*radio-group*/ -.btn.dropdown-toggle, -.btn-group .btn.dropdown-toggle, -.btn:hover, -.btn:disabled, -.btn[disabled], -.btn:focus, -.btn:active, -.btn.active { - outline: none !important; - background-image: none !important; - filter: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; -} -.plx-radio-group { - cursor: pointer; - font-size: 12px; - height: 32px; - background-color: #fff; - border: 1px solid #d9d9d9; - color: #595959; - border-radius: 3px; - padding: 0px 16px; - min-width: 80px; - transition: none; -} -.plx-radio-group:hover, -.plx-radio-group:focus, -.plx-radio-group:active { - outline: none; - background-image: none; - filter: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - text-shadow: none; -} -.plx-radio-group:hover, -.plx-radio-group:focus { - color: #00abff; - border-color: #00abff; - background-color: #fff; -} -.plx-radio-group:active { - color: #008fd5; - border-color: #008fd5; - background-color: #fff; -} -.plx-radio-group.active { - background-color: #00abff; - color: #fff; - border-color: #00abff; -} -.plx-radio-group > span { - line-height: 30px; -} -.plx-radio-group-sm { - height: 28px; - padding: 0px 14px; - min-width: 60px; -} -.plx-radio-group-sm > span { - line-height: 26px; -} -.plx-ui-steps-number-active { - background: #108ee9; - color: #ffffff; -} -.plx-ui-steps-number-passive { - background: #d9d9d9; - color: #ffffff; -} -.plx-ui-steps-number-visited { - color: #ffffff; - border: 2px #108ee9 solid; -} -.plx-ui-underline-active { - background: #108ee9; -} -.plx-ui-underline-passive { - background: #e9e9e9; -} -.plx-ui-steps-title-active { - color: #595959; -} -.plx-ui-steps-title-passive { - color: #999999; -} -.plx-ui-steps-title-visited { - color: #999999; -} -.plx-ui-steps-number-visited-tick { - border-bottom: 2px solid #108ee9; - border-right: 2px solid #108ee9; -} -.plx-ui-underline-active-vertical { - border-right: 2px solid #d9d9d9; -} -.plx-ui-underline-visited-vertical { - border-right: 2px solid #108ee9; -} -.plx-ui-underline-passive-vertical { - border-right: 2px solid #d9d9d9; -} -.plx-ui-steps-title-active-vertical { - color: #595959; -} -.plx-ui-steps-title-visited-vertical { - color: #999999; -} -.plx-ui-steps-title-passive-vertical { - color: #999999; -} -.plx-ui-steps-number-active-vertical { - background: #108ee9; - color: #ffffff; -} -.plx-ui-steps-number-passive-vertical { - background: #d9d9d9; - color: #ffffff; -} -.plx-ui-steps-number-visited-vertical { - color: #ffffff; -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/assets/themes/default/theme.less b/sdc-workflow-designer-ui/src/app/paletx/assets/themes/default/theme.less deleted file mode 100644 index b19e0907..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/assets/themes/default/theme.less +++ /dev/null @@ -1,107 +0,0 @@ -//-------------------common start------------------------ -// -------- Colors start----------- -//配置说明:通常primary-color和primary-color-guide相同,某些产品需要有特别引导用户操作的按钮时,可以单独定义primary-color-guide -@primary-color: #00abff; //主色,用于重点按钮底色,普通按钮文字色、tab页的选中横条色、进度条色、分组标题竖线等, 应用开发需要关注搭配class plx-btn-primary t -@guide-color: @primary-color; //引导色,搭配class plx-btn-guide -@success-color: #73cf22; //搭配class plx-btn-success -@warning-color: #f7c515; //搭配class plx-btn-warning -@error-color: #ff5b55; //搭配class plx-btn-error -@common-color: #fff; //搭配class plx-btn -//Colors-hover -@primary-color-hover: #009dea; -@primary-color-guide-hover: @primary-color-hover; -@success-color-hover: #65bf16; -@warning-color-hover: #e5b717; -@error-color-hover: #ee403a; -@common-color-hover: #fff; -@btn-common-color-text-hover: @primary-color; -@btn-common-color-border-hover: @primary-color; - -//colors-click -@primary-color-click: #008fd5; -@primary-color-guide-click: @primary-color-click; -@success-color-click: #59af0c; -@warning-color-click: #d4a606; -@error-color-click: #e02a23; -@common-color-click: #fff; -@btn-common-color-text-click: @primary-color-click; -@btn-common-color-border-click: @primary-color-click; - -//opacity-disable -@opacity-disable: 0.5; -//text-color-scenes,在按钮或tab上的文字色 -@scene-textcolor: #fff; //用于有底色时的文字颜色,搭配class plx-btn-primary,plx-btn-* -@common-textcolor: @primary-color; //用于普通按钮和链接上的文字颜色,应用关注搭配 class plx-btn -//text color -@text-color: #595959; //普通文字颜色,不需要专用class -@title-text-color: #404040; //用于标题文字颜色 -@disabled-text-color: #bfbfbf; //用于禁用状态文字 -@light-text-color: #737373; //较浅色 -@unselected-text-color: #999; //用于未选中文字颜色、placeholder文字颜色 -@form-label:#737373;//用于表单标签颜色 -// Background color for `` -@body-bg: #fff; -// Base background color for most components -@component-bg: #fff; -@hover-bg-color: #ebf6fd; //用于菜单 、列表项、树项、表格行的hover背景色 -@selected-bg-color: #f5f5f5; //用于菜单 、列表项、树项、表格行的选中背景色 -@input-bg-color-disabled: #f5f5f5; //用于输入框禁用状态背景色 -//边框 -@border-color-base: #d9d9d9; // base border outline a component 搭配class: plx-border -@border-color-split: #e9e9e9; // split border inside a component 搭配class: plx-split -//字体图标 -@fonticon-color: #999; //字体图标颜色,搭配class: plx-icon-* -@fonticon-bg-color-hover: @hover-bg-color; //一般字体图标hover时背景色变化 -@fonticon-color-hover: @primary-color; //当字体图标本身有背景色的时候,使用图标颜色本身加深的hover颜色。 -// Shadow -@shadow-color: rgba(0, 0, 0, .2); //阴影颜色,个别组件需要,无需搭配固定class - -// -------- Colors end------------- -// -------- font start------------- -@font-family: "Helvetica Neue","PingFang SC",Tahoma,"Microsoft Yahei"; -@font-size-spacing:20px; //用于间距定义 -@font-size: 12px; //正文文字 -@font-size-title-level1: @font-size + 8px; //一级标题 -@font-size-title-level2: @font-size + 4px; //二级标题 -@font-size-title-group: @font-size + 2px; //分组标题 -// -------- font end--------------- -// -------- radius start------------- -@radius: 3px; //圆角 -@radius-sm: 2px; //小按钮圆角,用于下拉多选框的已选项的圆角 -@radius-lg: 20px; //用于标签,搭配class:plx-tag -// -------- radius start------------- -//size -//checkbos -@checkbox-size: @font-size+2px; //复选框高度 -//btn -@btn-height: 32px; //按钮高度 -@btn-height-sm: 28px; //小尺寸按钮,搭配class:plx-btn-sm -@btn-height-xs: 24px; //加小尺寸按钮,搭配class:plx-btn-xs -// Input -@input-height: 32px; //输入框高度 -@input-height-sm: 28px; //小尺寸输入框,搭配class:plx-input-sm -//iuiframecolor -@iuiframe-head-bg-color: #2c3e50; //head背景色 -@iuiframe-sidebar-bg-color: #fff; //sidebar背景色 -@iuiframe-hor-menu-bg-color: #fff; //横向菜单背景色 -@iuiframe-head-bg-color-hover: #3d546b; //head菜单项hover背景色 -@iuiframe-sidebar-bg-color-hover: @hover-bg-color; //sidebar菜单项hover背景色 -@iuiframe-head-bg-color-active: #33495f; //head菜单项选中背景色 -@iuiframe-sidebar-bg-color-active: #f0f9fc; //sidebar一级菜单项选中背景色 -@iuiframe-head-font-color: #fff; //head菜单文字颜色 -@iuiframe-sidebar-font-color: @text-color; //sidebar文字颜色 -@iuiframe-sidebar-font-color-active: @primary-color; //sidebar选中文字颜色 -@iuiframe-hor-menu-font-color: @text-color; //横菜单文字颜色 -@iuiframe-hor-menu-font-color-hover: @primary-color; //横向菜单项hover文字颜色 -@iuiframe-hor-menu-font-color-active: @primary-color; //横菜单选中文字颜色 -@iuiframe-hor-menu-split-color: #e9e9e9; //横菜单分割线颜色 -@iuiframe-sidebar-split-color: #fff; //sidebar菜单分割线颜色 -@iuiframe-bg-color:#e9ecf3; //框架右侧的背景色 -@iuiframe-bg-img:none; //框架右侧的背景图 -//iframeColor -@iframe-bg-color: #e9ecf3; //iframe背景色 -@iframe-bg-img: none; //iframe背景图片 - - -@import "../common.less"; -@import "./NIV-theme.less"; \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/paletx/common/shared.ts b/sdc-workflow-designer-ui/src/app/paletx/common/shared.ts deleted file mode 100644 index e0d9bdb5..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/common/shared.ts +++ /dev/null @@ -1,283 +0,0 @@ -import {CommonModule} from '@angular/common'; -import {AfterContentInit, ContentChild, ContentChildren, Directive, EmbeddedViewRef, EventEmitter, Input, NgModule} from '@angular/core'; -import {OnDestroy, OnInit, Output, QueryList, TemplateRef, ViewContainerRef} from '@angular/core'; -import {Component} from '@angular/core'; - -@Component({selector: 'plx-header', template: ''}) -export class PlxHeaderComponent { -} - -@Component({selector: 'plx-footer', template: ''}) -export class PlxFooterComponent { -} - -@Directive({selector: '[pTemplate]'}) -export class PlxPrimeTemplateDirective { - @Input() public type: string; - - @Input() public pxTemplate: string; - - constructor(public template: TemplateRef) {} - - getType(): string { - if (this.type) { - console.log( - 'Defining a pTemplate with type property is deprecated use pTemplate="type" instead.'); - return this.type; - } else { - return this.pxTemplate; - } - } -} - -@Directive({selector: '[pxTemplateWrapper]'}) -export class PlxTemplateWrapperDirective implements OnInit, OnDestroy { - @Input() public item: any; - - @Input() public index: number; - - @Input() public pxTemplateWrapper: TemplateRef; - - view: EmbeddedViewRef; - - constructor(public viewContainer: ViewContainerRef) {} - - ngOnInit() { - this.view = this.viewContainer.createEmbeddedView( - this.pxTemplateWrapper, {'\$implicit': this.item, 'index': this.index}); - } - - ngOnDestroy() { - this.view.destroy(); - } -} - -@Component({selector: 'plx-column', template: ``}) -export class PlxColumnComponent implements AfterContentInit { - @Input() public field: string; - @Input() public sortField: string; - @Input() public header: string; - @Input() public footer: string; - @Input() public sortable: any; - @Input() public editable: boolean; - @Input() public filter: boolean; - @Input() public filterMatchMode: string; - @Input() public rowspan: number; - @Input() public colspan: number; - @Input() public style: any; - @Input() public styleClass: string; - @Input() public hidden: boolean; - @Input() public expander: boolean; - @Input() public selectionMode: string; - @Input() public filterPlaceholder: string; - @Input() public frozen: boolean; - @Output() sortFunction: EventEmitter = new EventEmitter(); - @ContentChildren(PlxPrimeTemplateDirective) templates: QueryList; - @ContentChild(TemplateRef) template: TemplateRef; - - headerTemplate: TemplateRef; - bodyTemplate: TemplateRef; - footerTemplate: TemplateRef; - filterTemplate: TemplateRef; - editorTemplate: TemplateRef; - - ngAfterContentInit(): void { - this.templates.forEach((item) => { - switch (item.getType()) { - case 'header': - this.headerTemplate = item.template; - break; - - case 'body': - this.bodyTemplate = item.template; - break; - - case 'footer': - this.footerTemplate = item.template; - break; - - case 'filter': - this.filterTemplate = item.template; - break; - - case 'editor': - this.editorTemplate = item.template; - break; - - default: - this.bodyTemplate = item.template; - } - }); - } -} - -@Component({selector: 'plx-row', template: ``}) -export class PlxRowComponent { - @ContentChildren(PlxColumnComponent) columns: QueryList; -} - -@Component({selector: 'plx-header-column-group', template: ``}) -export class PlxHeaderColumnGroupComponent { - @ContentChildren(PlxRowComponent) rows: QueryList; -} - -@Component({selector: 'plx-footer-column-group', template: ``}) -export class PlxFooterColumnGroupComponent { - @ContentChildren(PlxRowComponent) rows: QueryList; -} - -@Component({selector: 'plx-column-body-template-loader', template: ``}) -export class PlxColumnBodyTemplateLoaderComponent implements OnInit, OnDestroy { - @Input() public column: any; - - @Input() public rowData: any; - - @Input() public rowIndex: number; - - view: EmbeddedViewRef; - - constructor(public viewContainer: ViewContainerRef) {} - - ngOnInit() { - this.view = - this.viewContainer.createEmbeddedView(this.column.bodyTemplate, { - '\$implicit': this.column, - 'rowData': this.rowData, - 'rowIndex': this.rowIndex - }); - } - - ngOnDestroy() { - this.view.destroy(); - } -} - -@Component({selector: 'plx-column-header-template-loader', template: ``}) -export class PlxColumnHeaderTemplateLoaderComponent implements OnInit, - OnDestroy { - @Input() public column: any; - - view: EmbeddedViewRef; - - constructor(public viewContainer: ViewContainerRef) {} - - ngOnInit() { - this.view = this.viewContainer.createEmbeddedView( - this.column.headerTemplate, {'\$implicit': this.column}); - } - - ngOnDestroy() { - this.view.destroy(); - } -} - -@Component({selector: 'plx-column--footer-template-loader', template: ``}) -export class PlxColumnFooterTemplateLoaderComponent implements OnInit, - OnDestroy { - @Input() public column: any; - - view: EmbeddedViewRef; - - constructor(public viewContainer: ViewContainerRef) {} - - ngOnInit() { - this.view = this.viewContainer.createEmbeddedView( - this.column.footerTemplate, {'\$implicit': this.column}); - } - - ngOnDestroy() { - this.view.destroy(); - } -} - -@Component({selector: 'plx-column-filter-template-loader', template: ``}) -export class PlxColumnFilterTemplateLoaderComponent implements OnInit, - OnDestroy { - @Input() public column: any; - - view: EmbeddedViewRef; - - constructor(public viewContainer: ViewContainerRef) {} - - ngOnInit() { - this.view = this.viewContainer.createEmbeddedView( - this.column.filterTemplate, {'\$implicit': this.column}); - } - - ngOnDestroy() { - this.view.destroy(); - } -} - -@Component({selector: 'plx-column-editor-template-loader', template: ``}) -export class PlxColumnEditorTemplateLoaderComponent implements OnInit, - OnDestroy { - @Input() public column: any; - - @Input() public rowData: any; - - @Input() public rowIndex: any; - - view: EmbeddedViewRef; - - constructor(public viewContainer: ViewContainerRef) {} - - ngOnInit() { - this.view = - this.viewContainer.createEmbeddedView(this.column.editorTemplate, { - '\$implicit': this.column, - 'rowData': this.rowData, - 'rowIndex': this.rowIndex - }); - } - - ngOnDestroy() { - this.view.destroy(); - } -} - -@Component({selector: 'plx-template-loader', template: ``}) -export class PlxTemplateLoaderComponent implements OnInit, OnDestroy { - @Input() public template: TemplateRef; - - @Input() public data: any; - - view: EmbeddedViewRef; - - constructor(public viewContainer: ViewContainerRef) {} - - ngOnInit() { - if (this.template) { - this.view = this.viewContainer.createEmbeddedView( - this.template, {'\$implicit': this.data}); - } - } - - ngOnDestroy() { - if (this.view) { - this.view.destroy(); - } - } -} - -@NgModule({ - imports: [CommonModule], - exports: [ - PlxHeaderComponent, PlxFooterComponent, PlxColumnComponent, - PlxTemplateWrapperDirective, PlxColumnHeaderTemplateLoaderComponent, - PlxColumnBodyTemplateLoaderComponent, PlxColumnFooterTemplateLoaderComponent, - PlxColumnFilterTemplateLoaderComponent, PlxPrimeTemplateDirective, - PlxTemplateLoaderComponent, PlxRowComponent, PlxHeaderColumnGroupComponent, - PlxFooterColumnGroupComponent, PlxColumnEditorTemplateLoaderComponent - ], - declarations: [ - PlxHeaderComponent, PlxFooterComponent, PlxColumnComponent, - PlxTemplateWrapperDirective, PlxColumnHeaderTemplateLoaderComponent, - PlxColumnBodyTemplateLoaderComponent, PlxColumnFooterTemplateLoaderComponent, - PlxColumnFilterTemplateLoaderComponent, PlxPrimeTemplateDirective, - PlxTemplateLoaderComponent, PlxRowComponent, PlxHeaderColumnGroupComponent, - PlxFooterColumnGroupComponent, PlxColumnEditorTemplateLoaderComponent - ] -}) -export class PlxSharedModule { -} \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/boolean-field-value.ts b/sdc-workflow-designer-ui/src/app/paletx/core/boolean-field-value.ts deleted file mode 100644 index dc1f86e2..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/core/boolean-field-value.ts +++ /dev/null @@ -1,19 +0,0 @@ -/* tslint:disable:array-type member-access variable-name */ -function booleanFieldValueFactory() { - return function booleanFieldValueMetadata(target: any, key: string): void { - const defaultValue = target[key]; - const localKey = `__ky_private_symbol_${key}`; - target[localKey] = defaultValue; - - Object.defineProperty(target, key, { - get() { - return (this)[localKey]; - }, - set(value: boolean) { - (this)[localKey] = value !== null && `${value}` !== 'false'; - } - }); - }; -} - -export {booleanFieldValueFactory as BooleanFieldValue}; diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/domhandler.ts b/sdc-workflow-designer-ui/src/app/paletx/core/domhandler.ts deleted file mode 100644 index fd700a9b..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/core/domhandler.ts +++ /dev/null @@ -1,432 +0,0 @@ -import {Injectable} from '@angular/core'; - -@Injectable() -export class DomHandler { - static zindex: number = 1000; - - public addClass(element: any, className: string): void { - if (element.classList) { - element.classList.add(className); - } else { - element.className += ' ' + className; - } - } - - public addMultipleClasses(element: any, className: string): void { - if (element.classList) { - let styles: string[] = className.split(' '); - // for (let i = 0; i < styles.length; i++) { - // element.classList.add(styles[i]); - // } - for (let style of styles) { - element.classList.add(style); - } - - } else { - let styles: string[] = className.split(' '); - // for (let i = 0; i < styles.length; i++) { - // element.className += ' ' + styles[i]; - // } - for (let style of styles) { - element.className += ' ' + style; - } - } - } - - public removeClass(element: any, className: string): void { - if (element.classList) { - element.classList.remove(className); - } else { - element.className = element.className.replace( - new RegExp( - '(^|\\b)' + className.split(' ').join('|') + '(\\b|$)', 'gi'), - ' '); - } - } - - public hasClass(element: any, className: string): boolean { - if (element.classList) { - return element.classList.contains(className); - } else { - return new RegExp('(^| )' + className + '( |$)', 'gi') - .test(element.className); - } - } - - public siblings(element: any): any { - return Array.prototype.filter.call( - element.parentNode.children, (child: any) => { - return child !== element; - }); - } - - public find(element: any, selector: string): any[] { - return element.querySelectorAll(selector); - } - - public findSingle(element: any, selector: string): any { - return element.querySelector(selector); - } - - public index(element: any): number { - let children = element.parentNode.childNodes; - let num = 0; - // for (let i = 0; i < children.length; i++) { - // if (children[i] == element) { - // return num; - // } - // if (children[i].nodeType == 1) { - // num++; - // } - // } - for (let child of children) { - if (child === element) { - return num; - } - if (child.nodeType === 1) { - num++; - } - } - return -1; - } - - public relativePosition(element: any, target: any): void { - let elementDimensions = element.offsetParent ? - {width: element.outerWidth, height: element.outerHeight} : - this.getHiddenElementDimensions(element); - let targetHeight = target.offsetHeight; - let targetWidth = target.offsetWidth; - let targetOffset = target.getBoundingClientRect(); - let viewport = this.getViewport(); - let top; - let left; - - if ((targetOffset.top + targetHeight + elementDimensions.height) > - viewport.height) { - top = -1 * (elementDimensions.height); - } else { - top = targetHeight; - } - - if ((targetOffset.left + elementDimensions.width) > viewport.width) { - left = targetWidth - elementDimensions.width; - } else { - left = 0; - } - - element.style.top = top + 'px'; - element.style.left = left + 'px'; - } - - public absolutePosition(element: any, target: any): void { - let elementDimensions = element.offsetParent ? - {width: element.offsetWidth, height: element.offsetHeight} : - this.getHiddenElementDimensions(element); - let elementOuterHeight = elementDimensions.height; - let elementOuterWidth = elementDimensions.width; - let targetOuterHeight = target.offsetHeight; - let targetOuterWidth = target.offsetWidth; - let targetOffset = target.getBoundingClientRect(); - let windowScrollTop = this.getWindowScrollTop(); - let windowScrollLeft = this.getWindowScrollLeft(); - let viewport = this.getViewport(); - let top; - let left; - - if (targetOffset.top + targetOuterHeight + elementOuterHeight > - viewport.height) { - top = targetOffset.top + windowScrollTop - elementOuterHeight; - if (top < 0) { - top = 0 + windowScrollTop; - } - } else { - top = targetOuterHeight + targetOffset.top + windowScrollTop; - } - - if (targetOffset.left + targetOuterWidth + elementOuterWidth > - viewport.width) { - left = targetOffset.left + windowScrollLeft + targetOuterWidth - - elementOuterWidth; - } else { - left = targetOffset.left + windowScrollLeft; - } - - element.style.top = top + 'px'; - element.style.left = left + 'px'; - } - - public getHiddenElementOuterHeight(element: any): number { - element.style.visibility = 'hidden'; - element.style.display = 'block'; - let elementHeight = element.offsetHeight; - element.style.display = 'none'; - element.style.visibility = 'visible'; - - return elementHeight; - } - - public getHiddenElementOuterWidth(element: any): number { - element.style.visibility = 'hidden'; - element.style.display = 'block'; - let elementWidth = element.offsetWidth; - element.style.display = 'none'; - element.style.visibility = 'visible'; - - return elementWidth; - } - - public getHiddenElementDimensions(element: any): any { - let dimensions: any = {}; - element.style.visibility = 'hidden'; - element.style.display = 'block'; - dimensions.width = element.offsetWidth; - dimensions.height = element.offsetHeight; - element.style.display = 'none'; - element.style.visibility = 'visible'; - - return dimensions; - } - - public scrollInView(container: any, item: any) { - let borderTopValue: string = - getComputedStyle(container).getPropertyValue('borderTopWidth'); - let borderTop: number = borderTopValue ? parseFloat(borderTopValue) : 0; - let paddingTopValue: string = - getComputedStyle(container).getPropertyValue('paddingTop'); - let paddingTop: number = paddingTopValue ? parseFloat(paddingTopValue) : 0; - let containerRect = container.getBoundingClientRect(); - let itemRect = item.getBoundingClientRect(); - let offset = (itemRect.top + document.body.scrollTop) - - (containerRect.top + document.body.scrollTop) - borderTop - paddingTop; - let scroll = container.scrollTop; - let elementHeight = container.clientHeight; - let itemHeight = this.getOuterHeight(item); - - if (offset < 0) { - container.scrollTop = scroll + offset; - } else if ((offset + itemHeight) > elementHeight) { - container.scrollTop = scroll + offset - elementHeight + itemHeight; - } - } - - public fadeIn(element: any, duration: number): void { - element.style.opacity = 0; - - let last = +new Date(); - let opacity = 0; - let tick = () => { - opacity = - +element.style.opacity + (new Date().getTime() - last) / duration; - element.style.opacity = opacity; - last = +new Date(); - - if (+opacity < 1) { - if (!window.requestAnimationFrame || !requestAnimationFrame(tick)) { - setTimeout(tick, 16); - } - - /*(window.requestAnimationFrame && requestAnimationFrame(tick)) || - setTimeout(tick, 16);*/ - } - }; - - tick(); - } - - public fadeOut(element: any, ms: any) { - let opacity = 1; - let interval = 50; - let duration = ms; - let gap = interval / duration; - - let fading = setInterval(() => { - opacity = opacity - gap; - - if (opacity <= 0) { - opacity = 0; - clearInterval(fading); - } - - element.style.opacity = opacity; - }, interval); - } - - public getWindowScrollTop(): number { - let doc = document.documentElement; - return (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0); - } - - public getWindowScrollLeft(): number { - let doc = document.documentElement; - return (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0); - } - - public matches(element: any, selector: string): boolean { - let p: any = Element.prototype; - let f: any = p['matches'] || p.webkitMatchesSelector || - p['mozMatchesSelector'] || p.msMatchesSelector || function(s: any) { - return [].indexOf.call(document.querySelectorAll(s), this) !== -1; - }; - return f.call(element, selector); - } - - public getOuterWidth(el: any, margin?: any) { - let width = el.offsetWidth; - - if (margin) { - let style = getComputedStyle(el); - width += parseFloat(style.marginLeft) + parseFloat(style.marginRight); - } - - return width; - } - - public getHorizontalPadding(el: any) { - let style = getComputedStyle(el); - return parseFloat(style.paddingLeft) + parseFloat(style.paddingRight); - } - - public getHorizontalMargin(el: any) { - let style = getComputedStyle(el); - return parseFloat(style.marginLeft) + parseFloat(style.marginRight); - } - - public innerWidth(el: any) { - let width = el.offsetWidth; - let style = getComputedStyle(el); - - width += parseFloat(style.paddingLeft) + parseFloat(style.paddingRight); - return width; - } - - public width(el: any) { - let width = el.offsetWidth; - let style = getComputedStyle(el); - - width -= parseFloat(style.paddingLeft) + parseFloat(style.paddingRight); - return width; - } - - public getOuterHeight(el: any, margin?: any) { - let height = el.offsetHeight; - - if (margin) { - let style = getComputedStyle(el); - height += parseFloat(style.marginTop) + parseFloat(style.marginBottom); - } - - return height; - } - - public getHeight(el: any): number { - let height = el.offsetHeight; - let style = getComputedStyle(el); - - height -= parseFloat(style.paddingTop) + parseFloat(style.paddingBottom) + - parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth); - - return height; - } - - public getWidth(el: any): number { - let width = el.offsetWidth; - let style = getComputedStyle(el); - - width -= parseFloat(style.paddingLeft) + parseFloat(style.paddingRight) + - parseFloat(style.borderLeftWidth) + parseFloat(style.borderRightWidth); - - return width; - } - - public getViewport(): any { - let win = window; - let d = document; - let e = d.documentElement; - let g = d.getElementsByTagName('body')[0]; - let w = win.innerWidth || e.clientWidth || g.clientWidth; - let h = win.innerHeight || e.clientHeight || g.clientHeight; - - return {width: w, height: h}; - } - - public getOffset(el: any) { - let x = el.offsetLeft; - let y = el.offsetTop; - - while (el = el.offsetParent) { - x += el.offsetLeft; - y += el.offsetTop; - } - - return {left: x, top: y}; - } - - public getUserAgent(): string { - return navigator.userAgent; - } - - public isIE() { - let ua = window.navigator.userAgent; - - let msie = ua.indexOf('MSIE '); - if (msie > 0) { - // IE 10 or older => return version number - return true; - } - - let trident = ua.indexOf('Trident/'); - if (trident > 0) { - // IE 11 => return version number - /* let rv = ua.indexOf('rv:');*/ - return true; - } - - let edge = ua.indexOf('Edge/'); - if (edge > 0) { - // Edge (IE 12+) => return version number - return true; - } - - // other browser - return false; - } - - public appendChild(element: any, target: any) { - if (this.isElement(target)) { - target.appendChild(element); - } else if (target.el && target.el.nativeElement) { - target.el.nativeElement.appendChild(element); - } else { - throw 'Cannot append ' + target + ' to ' + element; - } - } - - public removeChild(element: any, target: any) { - if (this.isElement(target)) { - target.removeChild(element); - } else if (target.el && target.el.nativeElement) { - target.el.nativeElement.removeChild(element); - } else { - throw 'Cannot remove ' + element + ' from ' + target; - } - } - - public isElement(obj: any) { - return ( - typeof HTMLElement === 'object' ? - obj instanceof HTMLElement : - obj && typeof obj === 'object' && obj !== null && - obj.nodeType === 1 && typeof obj.nodeName === 'string'); - } - - public calculateScrollbarWidth(): number { - let scrollDiv = document.createElement('div'); - scrollDiv.className = 'ui-scrollbar-measure'; - document.body.appendChild(scrollDiv); - - let scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth; - document.body.removeChild(scrollDiv); - - return scrollbarWidth; - } -} \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/number-wrapper-parse.ts b/sdc-workflow-designer-ui/src/app/paletx/core/number-wrapper-parse.ts deleted file mode 100644 index ceccd92e..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/core/number-wrapper-parse.ts +++ /dev/null @@ -1,10 +0,0 @@ -/* tslint:disable:array-type member-access variable-name */ -export function NumberWrapperParseFloat(text: any) { - if (/^(\-|\+)?[0-9]+$/.test(text)) { - return parseInt(text); - } else if (/^(\-|\+)?[0-9]+\.[0-9]+$/.test(text)) { - return parseFloat(text); - } else { - return 0; - } -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/fullscreen-overlay-container.ts b/sdc-workflow-designer-ui/src/app/paletx/core/overlay/fullscreen-overlay-container.ts deleted file mode 100644 index 0eca202d..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/fullscreen-overlay-container.ts +++ /dev/null @@ -1,62 +0,0 @@ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/* tslint:disable:array-type member-access variable-name typedef - only-arrow-functions directive-class-suffix component-class-suffix - component-selector*/ -import {Injectable} from '@angular/core'; -import {OverlayContainer} from './overlay-container'; - -/** - * The FullscreenOverlayContainer is the alternative to OverlayContainer - * that supports correct displaying of overlay elements in Fullscreen mode - * https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullScreen - * It should be provided in the root component that way: - * providers: [ - * {provide: OverlayContainer, useClass: FullscreenOverlayContainer} - * ], - */ -@Injectable() -export class FullscreenOverlayContainer extends OverlayContainer { - protected _createContainer(): void { - super._createContainer(); - this._adjustParentForFullscreenChange(); - this._addFullscreenChangeListener( - () => this._adjustParentForFullscreenChange()); - } - - private _adjustParentForFullscreenChange(): void { - if (!this._containerElement) { - return; - } - const fullscreenElement = this.getFullscreenElement(); - const parent = fullscreenElement || document.body; - parent.appendChild(this._containerElement); - } - - private _addFullscreenChangeListener(fn: () => void) { - if (document.fullscreenEnabled) { - document.addEventListener('fullscreenchange', fn); - } else if (document.webkitFullscreenEnabled) { - document.addEventListener('webkitfullscreenchange', fn); - } else if ((document as any).mozFullScreenEnabled) { - document.addEventListener('mozfullscreenchange', fn); - } else if ((document as any).msFullscreenEnabled) { - document.addEventListener('MSFullscreenChange', fn); - } - } - - /** - * When the page is put into fullscreen mode, a specific element is specified. - * Only that element and its children are visible when in fullscreen mode. - */ - getFullscreenElement(): Element { - return document.fullscreenElement || document.webkitFullscreenElement || - (document as any).mozFullScreenElement || - (document as any).msFullscreenElement || null; - } -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/generic-component-type.ts b/sdc-workflow-designer-ui/src/app/paletx/core/overlay/generic-component-type.ts deleted file mode 100644 index 523bd428..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/generic-component-type.ts +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -export interface ComponentType { new(...args: any[]): T; } diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/index.ts b/sdc-workflow-designer-ui/src/app/paletx/core/overlay/index.ts deleted file mode 100644 index e02bc3cc..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/index.ts +++ /dev/null @@ -1,49 +0,0 @@ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -import {NgModule, Provider} from '@angular/core'; - -import {Overlay} from './overlay'; -import {OVERLAY_CONTAINER_PROVIDER} from './overlay-container'; -import {ConnectedOverlayDirective, OverlayOrigin} from './overlay-directives'; -import {OverlayPositionBuilder} from './position/overlay-position-builder'; -import {VIEWPORT_RULER_PROVIDER} from './position/viewport-ruler'; -import {ScrollDispatchModule} from './scroll/index'; - - -export const OVERLAY_PROVIDERS: Provider[] = [ - Overlay, - OverlayPositionBuilder, - VIEWPORT_RULER_PROVIDER, - OVERLAY_CONTAINER_PROVIDER, -]; - -@NgModule({ - imports: [ScrollDispatchModule], - exports: [ConnectedOverlayDirective, OverlayOrigin, ScrollDispatchModule], - declarations: [ConnectedOverlayDirective, OverlayOrigin], - providers: [OVERLAY_PROVIDERS], -}) -export class OverlayModule { -} - - -export {Overlay} from './overlay'; -export {OverlayContainer} from './overlay-container'; -export {FullscreenOverlayContainer} from './fullscreen-overlay-container'; -export {OverlayRef} from './overlay-ref'; -export {OverlayState} from './overlay-state'; -export {ConnectedOverlayDirective, OverlayOrigin} from './overlay-directives'; -export {ViewportRuler} from './position/viewport-ruler'; - -export * from './position/connected-position'; -export * from './scroll/index'; - -// Export pre-defined position strategies and interface to build custom ones. -export {PositionStrategy} from './position/position-strategy'; -export {GlobalPositionStrategy} from './position/global-position-strategy'; -export {ConnectedPositionStrategy} from './position/connected-position-strategy'; diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/overlay-container.ts b/sdc-workflow-designer-ui/src/app/paletx/core/overlay/overlay-container.ts deleted file mode 100644 index fbb37c7e..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/overlay-container.ts +++ /dev/null @@ -1,83 +0,0 @@ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/* tslint:disable:array-type member-access variable-name typedef - only-arrow-functions directive-class-suffix component-class-suffix - component-selector*/ -import {Injectable, Optional, SkipSelf} from '@angular/core'; - - -/** - * The OverlayContainer is the container in which all overlays will load. - * It should be provided in the root component to ensure it is properly shared. - */ -@Injectable() -export class OverlayContainer { - protected _containerElement: HTMLElement; - - private _themeClass: string; - - /** - * Base theme to be applied to all overlay-based components. - */ - get themeClass(): string { - return this._themeClass; - } - set themeClass(value: string) { - if (this._containerElement) { - this._containerElement.classList.remove(this._themeClass); - - if (value) { - this._containerElement.classList.add(value); - } - } - - this._themeClass = value; - } - - /** - * This method returns the overlay container element. It will lazily - * create the element the first time it is called to facilitate using - * the container in non-browser environments. - * @returns the container element - */ - getContainerElement(): HTMLElement { - if (!this._containerElement) { - this._createContainer(); - } - return this._containerElement; - } - - /** - * Create the overlay container element, which is simply a div - * with the 'cdk-overlay-container' class on the document body. - */ - protected _createContainer(): void { - const container = document.createElement('div'); - container.classList.add('nz-overlay-container'); - - if (this._themeClass) { - container.classList.add(this._themeClass); - } - - document.body.appendChild(container); - this._containerElement = container; - } -} - -export function OVERLAY_CONTAINER_PROVIDER_FACTORY( - parentContainer: OverlayContainer) { - return parentContainer || new OverlayContainer(); -} - -export const OVERLAY_CONTAINER_PROVIDER = { - // If there is already an OverlayContainer available, use that. Otherwise, - // provide a new one. - provide: OverlayContainer, - deps: [[new Optional(), new SkipSelf(), OverlayContainer]], - useFactory: OVERLAY_CONTAINER_PROVIDER_FACTORY -}; diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/overlay-directives.ts b/sdc-workflow-designer-ui/src/app/paletx/core/overlay/overlay-directives.ts deleted file mode 100644 index 5b8c1623..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/overlay-directives.ts +++ /dev/null @@ -1,329 +0,0 @@ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/* tslint:disable:array-type member-access variable-name typedef - only-arrow-functions directive-class-suffix component-class-suffix - component-selector no-unnecessary-type-assertion arrow-parens*/ -import {TemplatePortal} from '@angular/cdk'; -import {Direction, Directionality} from '@angular/cdk'; -import {ESCAPE} from '@angular/cdk'; -import {Directive, ElementRef, EventEmitter, Input, OnChanges, OnDestroy, Optional, Output, Renderer2, SimpleChanges, TemplateRef, ViewContainerRef} from '@angular/core'; -import {Subscription} from 'rxjs/Subscription'; - -import {Overlay} from './overlay'; -import {OverlayRef} from './overlay-ref'; -import {OverlayState} from './overlay-state'; -import {ConnectedOverlayPositionChange, ConnectionPositionPair} from './position/connected-position'; -import {ConnectedPositionStrategy} from './position/connected-position-strategy'; -import {ScrollStrategy} from './scroll/scroll-strategy'; - -/** Coerces a data-bound value (typically a string) to a boolean. */ -export function coerceBooleanProperty(value: any): boolean { - return value !== null && `${value}` !== 'false'; -} - - -/** Default set of positions for the overlay. Follows the behavior of a - * dropdown. */ -const defaultPositionList = [ - new ConnectionPositionPair( - {originX: 'start', originY: 'bottom'}, - {overlayX: 'start', overlayY: 'top'}), - new ConnectionPositionPair( - {originX: 'start', originY: 'top'}, - {overlayX: 'start', overlayY: 'bottom'}), -]; - - -/** - * Directive applied to an element to make it usable as an origin for an Overlay - * using a ConnectedPositionStrategy. - */ -@Directive({ - selector: '[nz-overlay-origin]', - exportAs: 'nzOverlayOrigin', -}) -export class OverlayOrigin { - constructor(public elementRef: ElementRef) {} -} - - -/** - * Directive to facilitate declarative creation of an Overlay using a - * ConnectedPositionStrategy. - */ -@Directive({selector: '[nz-connected-overlay]', exportAs: 'nzConnectedOverlay'}) -export class ConnectedOverlayDirective implements OnDestroy, OnChanges { - private _overlayRef: OverlayRef; - private _templatePortal: TemplatePortal; - private _hasBackdrop = false; - private _backdropSubscription: Subscription|null; - private _positionSubscription: Subscription; - private _offsetX = 0; - private _offsetY = 0; - private _position: ConnectedPositionStrategy; - private _escapeListener: Function; - - /** Origin for the connected overlay. */ - @Input() origin: OverlayOrigin; - - /** Registered connected position pairs. */ - @Input() positions: ConnectionPositionPair[]; - - /** The offset in pixels for the overlay connection point on the x-axis */ - @Input() - get offsetX(): number { - return this._offsetX; - } - - set offsetX(offsetX: number) { - this._offsetX = offsetX; - if (this._position) { - this._position.withOffsetX(offsetX); - } - } - - /** The offset in pixels for the overlay connection point on the y-axis */ - @Input() - get offsetY() { - return this._offsetY; - } - - set offsetY(offsetY: number) { - this._offsetY = offsetY; - if (this._position) { - this._position.withOffsetY(offsetY); - } - } - - /** The width of the overlay panel. */ - @Input() width: number|string; - - /** The height of the overlay panel. */ - @Input() height: number|string; - - /** The min width of the overlay panel. */ - @Input() minWidth: number|string; - - /** The min height of the overlay panel. */ - @Input() minHeight: number|string; - - /** The custom class to be set on the backdrop element. */ - @Input() backdropClass: string; - - /** The custom class to be set on the pane element. */ - @Input() paneClass: string; - - /** Strategy to be used when handling scroll events while the overlay is open. - */ - @Input() - scrollStrategy: ScrollStrategy = this._overlay.scrollStrategies.reposition(); - - /** Whether the overlay is open. */ - @Input() open = false; - - /** Whether or not the overlay should attach a backdrop. */ - @Input() - get hasBackdrop() { - return this._hasBackdrop; - } - - set hasBackdrop(value: any) { - this._hasBackdrop = coerceBooleanProperty(value); - } - - /** Event emitted when the backdrop is clicked. */ - @Output() backdropClick = new EventEmitter(); - - /** Event emitted when the position has changed. */ - @Output() positionChange = new EventEmitter(); - - /** Event emitted when the overlay has been attached. */ - @Output() attach = new EventEmitter(); - - /** Event emitted when the overlay has been detached. */ - @Output() detach = new EventEmitter(); - - // TODO(jelbourn): inputs for size, scroll behavior, animation, etc. - - constructor( - private _overlay: Overlay, private _renderer: Renderer2, - templateRef: TemplateRef, viewContainerRef: ViewContainerRef, - @Optional() private _dir: Directionality) { - this._templatePortal = new TemplatePortal(templateRef, viewContainerRef); - } - - /** The associated overlay reference. */ - get overlayRef(): OverlayRef { - return this._overlayRef; - } - - /** The element's layout direction. */ - get dir(): Direction { - return this._dir ? this._dir.value : 'ltr'; - } - - ngOnDestroy() { - this._destroyOverlay(); - } - - ngOnChanges(changes: SimpleChanges) { - if (changes['open']) { - this.open ? this._attachOverlay() : this._detachOverlay(); - } - } - - /** Creates an overlay */ - private _createOverlay() { - if (!this.positions || !this.positions.length) { - this.positions = defaultPositionList; - } - - this._overlayRef = - this._overlay.create(this._buildConfig(), this.paneClass); - } - - /** Builds the overlay config based on the directive's inputs */ - private _buildConfig(): OverlayState { - const overlayConfig = new OverlayState(); - - if (this.width || this.width === 0) { - overlayConfig.width = this.width; - } - - if (this.height || this.height === 0) { - overlayConfig.height = this.height; - } - - if (this.minWidth || this.minWidth === 0) { - overlayConfig.minWidth = this.minWidth; - } - - if (this.minHeight || this.minHeight === 0) { - overlayConfig.minHeight = this.minHeight; - } - - overlayConfig.hasBackdrop = this.hasBackdrop; - - if (this.backdropClass) { - overlayConfig.backdropClass = this.backdropClass; - } - - this._position = - this._createPositionStrategy() as ConnectedPositionStrategy; - overlayConfig.positionStrategy = this._position; - overlayConfig.scrollStrategy = this.scrollStrategy; - - return overlayConfig; - } - - /** Returns the position strategy of the overlay to be set on the overlay - * config */ - private _createPositionStrategy(): ConnectedPositionStrategy { - const pos = this.positions[0]; - const originPoint = {originX: pos.originX, originY: pos.originY}; - const overlayPoint = {overlayX: pos.overlayX, overlayY: pos.overlayY}; - - const strategy = - this._overlay.position() - .connectedTo(this.origin.elementRef, originPoint, overlayPoint) - .withOffsetX(this.offsetX) - .withOffsetY(this.offsetY); - - this._handlePositionChanges(strategy); - - return strategy; - } - - private _handlePositionChanges(strategy: ConnectedPositionStrategy): void { - for (let i = 1; i < this.positions.length; i++) { - strategy.withFallbackPosition( - { - originX: this.positions[i].originX, - originY: this.positions[i].originY - }, - { - overlayX: this.positions[i].overlayX, - overlayY: this.positions[i].overlayY - }); - } - - this._positionSubscription = strategy.onPositionChange.subscribe( - pos => this.positionChange.emit(pos)); - } - - /** Attaches the overlay and subscribes to backdrop clicks if backdrop exists - */ - private _attachOverlay() { - if (!this._overlayRef) { - this._createOverlay(); - } - - this._position.withDirection(this.dir); - this._overlayRef.getState().direction = this.dir; - this._initEscapeListener(); - - if (!this._overlayRef.hasAttached()) { - this._overlayRef.attach(this._templatePortal); - this.attach.emit(); - } - - if (this.hasBackdrop) { - this._backdropSubscription = - this._overlayRef.backdropClick().subscribe(() => { - this.backdropClick.emit(); - }); - } - } - - /** Detaches the overlay and unsubscribes to backdrop clicks if backdrop - * exists */ - private _detachOverlay() { - if (this._overlayRef) { - this._overlayRef.detach(); - this.detach.emit(); - } - - if (this._backdropSubscription) { - this._backdropSubscription.unsubscribe(); - this._backdropSubscription = null; - } - - if (this._escapeListener) { - this._escapeListener(); - } - } - - /** Destroys the overlay created by this directive. */ - private _destroyOverlay() { - if (this._overlayRef) { - this._overlayRef.dispose(); - } - - if (this._backdropSubscription) { - this._backdropSubscription.unsubscribe(); - } - - if (this._positionSubscription) { - this._positionSubscription.unsubscribe(); - } - - if (this._escapeListener) { - this._escapeListener(); - } - } - - /** Sets the event listener that closes the overlay when pressing Escape. */ - private _initEscapeListener() { - this._escapeListener = - this._renderer.listen('document', 'keydown', (event: KeyboardEvent) => { - if (event.keyCode === ESCAPE) { - this._detachOverlay(); - } - }); - } -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/overlay-position-map.ts b/sdc-workflow-designer-ui/src/app/paletx/core/overlay/overlay-position-map.ts deleted file mode 100644 index 8ce53850..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/overlay-position-map.ts +++ /dev/null @@ -1,124 +0,0 @@ -/* tslint:disable:array-type member-access variable-name typedef - only-arrow-functions directive-class-suffix component-class-suffix - component-selector one-variable-per-declaration - no-attribute-parameter-decorator*/ -import {ConnectionPositionPair} from './index'; - -export const POSITION_MAP: any = { - 'top': { - originX: 'center', - originY: 'top', - overlayX: 'center', - overlayY: 'bottom' - }, - 'topCenter': { - originX: 'center', - originY: 'top', - overlayX: 'center', - overlayY: 'bottom' - }, - 'topLeft': - {originX: 'start', originY: 'top', overlayX: 'start', overlayY: 'bottom'}, - 'topRight': - {originX: 'end', originY: 'top', overlayX: 'end', overlayY: 'bottom'}, - 'right': { - originX: 'end', - originY: 'center', - overlayX: 'start', - overlayY: 'center', - }, - 'rightTop': { - originX: 'end', - originY: 'top', - overlayX: 'start', - overlayY: 'top', - }, - 'rightBottom': { - originX: 'end', - originY: 'bottom', - overlayX: 'start', - overlayY: 'bottom', - }, - 'bottom': { - originX: 'center', - originY: 'bottom', - overlayX: 'center', - overlayY: 'top', - }, - 'bottomCenter': { - originX: 'center', - originY: 'bottom', - overlayX: 'center', - overlayY: 'top', - }, - 'bottomLeft': { - originX: 'start', - originY: 'bottom', - overlayX: 'start', - overlayY: 'top', - }, - 'bottomRight': { - originX: 'end', - originY: 'bottom', - overlayX: 'end', - overlayY: 'top', - }, - 'left': { - originX: 'start', - originY: 'center', - overlayX: 'end', - overlayY: 'center', - }, - 'leftTop': { - originX: 'start', - originY: 'top', - overlayX: 'end', - overlayY: 'top', - }, - 'leftBottom': { - originX: 'start', - originY: 'bottom', - overlayX: 'end', - overlayY: 'bottom', - }, -}; -export const DEFAULT_4_POSITIONS = _objectValues([ - POSITION_MAP['top'], POSITION_MAP['right'], POSITION_MAP['bottom'], - POSITION_MAP['left'] -]); -export const DEFAULT_DROPDOWN_POSITIONS = - _objectValues([POSITION_MAP['bottomLeft'], POSITION_MAP['topLeft']]); -export const DEFAULT_DATEPICKER_POSITIONS = [ - { - originX: 'start', - originY: 'top', - overlayX: 'start', - overlayY: 'top', - }, - { - originX: 'start', - originY: 'bottom', - overlayX: 'start', - overlayY: 'bottom', - } -] as ConnectionPositionPair[]; - -function arrayMap(array: any, iteratee: any) { - let index = -1; - const length = array === null ? 0 : array.length, result = Array(length); - - while (++index < length) { - result[index] = iteratee(array[index], index, array); - } - return result; -} - -function baseValues(object: any, props: any) { - return arrayMap(props, function(key: any) { - return object[key]; - }); -} - -function _objectValues(object: any) { - return object === null ? [] : baseValues(object, Object.keys(object)); -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/overlay-ref.ts b/sdc-workflow-designer-ui/src/app/paletx/core/overlay/overlay-ref.ts deleted file mode 100644 index 03c8c2b5..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/overlay-ref.ts +++ /dev/null @@ -1,271 +0,0 @@ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/* tslint:disable:array-type member-access variable-name typedef - only-arrow-functions directive-class-suffix component-class-suffix - component-selector no-unnecessary-type-assertion arrow-parens - promise-function-async*/ -import {Portal, PortalHost} from '@angular/cdk'; -import {NgZone} from '@angular/core'; -import {Observable} from 'rxjs/Observable'; -import {Subject} from 'rxjs/Subject'; - -import {OverlayState} from './overlay-state'; -import {ScrollStrategy} from './scroll/scroll-strategy'; - - -/** - * Reference to an overlay that has been created with the Overlay service. - * Used to manipulate or dispose of said overlay. - */ -export class OverlayRef implements PortalHost { - private _backdropElement: HTMLElement|null = null; - private _backdropClick: Subject = new Subject(); - private _attachments = new Subject(); - private _detachments = new Subject(); - - constructor( - private _portalHost: PortalHost, private _pane: HTMLElement, - private _state: OverlayState, private _scrollStrategy: ScrollStrategy, - private _ngZone: NgZone) { - _scrollStrategy.attach(this); - } - - /** The overlay's HTML element */ - get overlayElement(): HTMLElement { - return this._pane; - } - - /** - * Attaches the overlay to a portal instance and adds the backdrop. - * @param portal Portal instance to which to attach the overlay. - * @returns The portal attachment result. - */ - attach(portal: Portal): any { - const attachResult = this._portalHost.attach(portal); - - // Update the pane element with the given state configuration. - this._updateStackingOrder(); - this.updateSize(); - this.updateDirection(); - this.updatePosition(); - this._scrollStrategy.enable(); - - // Enable pointer events for the overlay pane element. - this._togglePointerEvents(true); - - if (this._state.hasBackdrop) { - this._attachBackdrop(); - } - - if (this._state.panelClass) { - this._pane.classList.add(this._state.panelClass); - } - - // Only emit the `attachments` event once all other setup is done. - this._attachments.next(); - - return attachResult; - } - - /** - * Detaches an overlay from a portal. - * @returns Resolves when the overlay has been detached. - */ - detach(): Promise { - this.detachBackdrop(); - - // When the overlay is detached, the pane element should disable pointer - // events. This is necessary because otherwise the pane element will cover - // the page and disable pointer events therefore. Depends on the position - // strategy and the applied pane boundaries. - this._togglePointerEvents(false); - this._scrollStrategy.disable(); - - const detachmentResult = this._portalHost.detach(); - - // Only emit after everything is detached. - this._detachments.next(); - - return detachmentResult; - } - - /** - * Cleans up the overlay from the DOM. - */ - dispose(): void { - if (this._state.positionStrategy) { - this._state.positionStrategy.dispose(); - } - - if (this._scrollStrategy) { - this._scrollStrategy.disable(); - } - - this.detachBackdrop(); - this._portalHost.dispose(); - this._attachments.complete(); - this._backdropClick.complete(); - this._detachments.next(); - this._detachments.complete(); - } - - /** - * Checks whether the overlay has been attached. - */ - hasAttached(): boolean { - return this._portalHost.hasAttached(); - } - - /** - * Returns an observable that emits when the backdrop has been clicked. - */ - backdropClick(): Observable { - return this._backdropClick.asObservable(); - } - - /** Returns an observable that emits when the overlay has been attached. */ - attachments(): Observable { - return this._attachments.asObservable(); - } - - /** Returns an observable that emits when the overlay has been detached. */ - detachments(): Observable { - return this._detachments.asObservable(); - } - - /** - * Gets the current state config of the overlay. - */ - getState(): OverlayState { - return this._state; - } - - /** Updates the position of the overlay based on the position strategy. */ - updatePosition() { - if (this._state.positionStrategy) { - this._state.positionStrategy.apply(this._pane); - } - } - - /** Updates the text direction of the overlay panel. */ - private updateDirection() { - this._pane.setAttribute('dir', this._state.direction); - } - - - /** Updates the size of the overlay based on the overlay config. */ - updateSize() { - if (this._state.width || this._state.width === 0) { - this._pane.style.width = formatCssUnit(this._state.width); - } - - if (this._state.height || this._state.height === 0) { - this._pane.style.height = formatCssUnit(this._state.height); - } - - if (this._state.minWidth || this._state.minWidth === 0) { - this._pane.style.minWidth = formatCssUnit(this._state.minWidth); - } - - if (this._state.minHeight || this._state.minHeight === 0) { - this._pane.style.minHeight = formatCssUnit(this._state.minHeight); - } - } - - /** Toggles the pointer events for the overlay pane element. */ - private _togglePointerEvents(enablePointer: boolean) { - this._pane.style.pointerEvents = enablePointer ? 'auto' : 'none'; - } - - /** Attaches a backdrop for this overlay. */ - private _attachBackdrop() { - this._backdropElement = document.createElement('div'); - this._backdropElement.classList.add('nz-overlay-backdrop'); - - if (this._state.backdropClass) { - this._backdropElement.classList.add(this._state.backdropClass); - } - - // Insert the backdrop before the pane in the DOM order, - // in order to handle stacked overlays properly. - this._pane.parentElement.insertBefore(this._backdropElement, this._pane); - - // Forward backdrop clicks such that the consumer of the overlay can perform - // whatever action desired when such a click occurs (usually closing the - // overlay). - this._backdropElement.addEventListener( - 'click', () => this._backdropClick.next(null)); - - // Add class to fade-in the backdrop after one frame. - requestAnimationFrame(() => { - if (this._backdropElement) { - this._backdropElement.classList.add('nz-overlay-backdrop-showing'); - } - }); - } - - /** - * Updates the stacking order of the element, moving it to the top if - * necessary. This is required in cases where one overlay was detached, while - * another one, that should be behind it, was destroyed. The next time both of - * them are opened, the stacking will be wrong, because the detached element's - * pane will still be in its original DOM position. - */ - private _updateStackingOrder() { - if (this._pane.nextSibling) { - this._pane.parentNode.appendChild(this._pane); - } - } - - /** Detaches the backdrop (if any) associated with the overlay. */ - detachBackdrop(): void { - const backdropToDetach = this._backdropElement; - - if (backdropToDetach) { - const finishDetach = () => { - // It may not be attached to anything in certain cases (e.g. unit - // tests). - if (backdropToDetach && backdropToDetach.parentNode) { - backdropToDetach.parentNode.removeChild(backdropToDetach); - } - - // It is possible that a new portal has been attached to this overlay - // since we started removing the backdrop. If that is the case, only - // clear the backdrop reference if it is still the same instance that we - // started to remove. - if (this._backdropElement === backdropToDetach) { - this._backdropElement = null; - } - }; - - backdropToDetach.classList.remove('nz-overlay-backdrop-showing'); - - if (this._state.backdropClass) { - backdropToDetach.classList.remove(this._state.backdropClass); - } - - backdropToDetach.addEventListener('transitionend', finishDetach); - - // If the backdrop doesn't have a transition, the `transitionend` event - // won't fire. In this case we make it unclickable and we try to remove it - // after a delay. - backdropToDetach.style.pointerEvents = 'none'; - - // Run this outside the Angular zone because there's nothing that Angular - // cares about. If it were to run inside the Angular zone, every test that - // used Overlay would have to be either async or fakeAsync. - this._ngZone.runOutsideAngular(() => { - setTimeout(finishDetach, 500); - }); - } - } -} - -function formatCssUnit(value: number|string) { - return typeof value === 'string' ? value as string : `${value}px`; -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/overlay-state.ts b/sdc-workflow-designer-ui/src/app/paletx/core/overlay/overlay-state.ts deleted file mode 100644 index 73d6b54d..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/overlay-state.ts +++ /dev/null @@ -1,61 +0,0 @@ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/* tslint:disable:array-type member-access variable-name typedef - only-arrow-functions directive-class-suffix component-class-suffix - component-selector*/ -import {Direction} from '@angular/cdk'; - -import {PositionStrategy} from './position/position-strategy'; -import {ScrollStrategy} from './scroll/scroll-strategy'; - - -/** - * OverlayState is a bag of values for either the initial configuration or - * current state of an overlay. - */ -export class OverlayState { - /** Strategy with which to position the overlay. */ - positionStrategy: PositionStrategy; - - /** Strategy to be used when handling scroll events while the overlay is open. - */ - scrollStrategy: ScrollStrategy; - - /** Custom class to add to the overlay pane. */ - panelClass = ''; - - /** Whether the overlay has a backdrop. */ - hasBackdrop = false; - - /** Custom class to add to the backdrop */ - backdropClass = 'cdk-overlay-dark-backdrop'; - - /** The width of the overlay panel. If a number is provided, pixel units are - * assumed. */ - width?: number|string; - - /** The height of the overlay panel. If a number is provided, pixel units are - * assumed. */ - height?: number|string; - - /** The min-width of the overlay panel. If a number is provided, pixel units - * are assumed. */ - minWidth?: number|string; - - /** The min-height of the overlay panel. If a number is provided, pixel units - * are assumed. */ - minHeight?: number|string; - - /** The direction of the text in the overlay panel. */ - direction?: Direction = 'ltr'; - - // TODO(jelbourn): configuration still to add - // - focus trap - // - disable pointer events - // - z-index -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/overlay.ts b/sdc-workflow-designer-ui/src/app/paletx/core/overlay/overlay.ts deleted file mode 100644 index 5995201b..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/overlay.ts +++ /dev/null @@ -1,109 +0,0 @@ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/* tslint:disable:array-type member-access variable-name typedef - only-arrow-functions directive-class-suffix component-class-suffix - component-selector no-unnecessary-type-assertion arrow-parens*/ -import {DomPortalHost} from '@angular/cdk'; -import {ApplicationRef, ComponentFactoryResolver, Injectable, Injector, NgZone} from '@angular/core'; - -import {OverlayContainer} from './overlay-container'; -import {OverlayRef} from './overlay-ref'; -import {OverlayState} from './overlay-state'; -import {OverlayPositionBuilder} from './position/overlay-position-builder'; -import {ScrollStrategyOptions} from './scroll/index'; - - -/** Next overlay unique ID. */ -let nextUniqueId = 0; - -/** The default state for newly created overlays. */ -const defaultState = new OverlayState(); - - -/** - * Service to create Overlays. Overlays are dynamically added pieces of floating - * UI, meant to be used as a low-level building building block for other - * components. Dialogs, tooltips, menus, selects, etc. can all be built using - * overlays. The service should primarily be used by authors of re-usable - * components rather than developers building end-user applications. - * - * An overlay *is* a PortalHost, so any kind of Portal can be loaded into one. - */ -@Injectable() -export class Overlay { - constructor( - public scrollStrategies: ScrollStrategyOptions, - private _overlayContainer: OverlayContainer, - private _componentFactoryResolver: ComponentFactoryResolver, - private _positionBuilder: OverlayPositionBuilder, - private _appRef: ApplicationRef, private _injector: Injector, - private _ngZone: NgZone) {} - - /** - * Creates an overlay. - * @param state State to apply to the overlay. - * @returns Reference to the created overlay. - */ - create(state: OverlayState = defaultState, paneClassName?: string): - OverlayRef { - return this._createOverlayRef( - this._createPaneElement(paneClassName), state); - } - - /** - * Returns a position builder that can be used, via fluent API, - * to construct and configure a position strategy. - */ - position(): OverlayPositionBuilder { - return this._positionBuilder; - } - - /** - * Creates the DOM element for an overlay and appends it to the overlay - * container. - * @returns Newly-created pane element - */ - private _createPaneElement(className?: string): HTMLElement { - const pane = document.createElement('div'); - - pane.id = `nz-overlay-${nextUniqueId++}`; - pane.classList.add('nz-overlay-pane'); - if (className) { - const classList = className.split(' '); - classList.forEach(c => { - pane.classList.add(c); - }); - } - this._overlayContainer.getContainerElement().appendChild(pane); - - return pane; - } - - /** - * Create a DomPortalHost into which the overlay content can be loaded. - * @param pane The DOM element to turn into a portal host. - * @returns A portal host for the given DOM element. - */ - private _createPortalHost(pane: HTMLElement): DomPortalHost { - return new DomPortalHost( - pane, this._componentFactoryResolver, this._appRef, this._injector); - } - - /** - * Creates an OverlayRef for an overlay in the given DOM element. - * @param pane DOM element for the overlay - * @param state - */ - private _createOverlayRef(pane: HTMLElement, state: OverlayState): - OverlayRef { - const scrollStrategy = state.scrollStrategy || this.scrollStrategies.noop(); - const portalHost = this._createPortalHost(pane); - return new OverlayRef( - portalHost, pane, state, scrollStrategy, this._ngZone); - } -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/connected-position-strategy.ts b/sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/connected-position-strategy.ts deleted file mode 100644 index d144c81f..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/connected-position-strategy.ts +++ /dev/null @@ -1,478 +0,0 @@ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/* tslint:disable:array-type member-access variable-name typedef - only-arrow-functions directive-class-suffix component-class-suffix - component-selector no-unnecessary-type-assertion arrow-parens - no-unused-variable*/ -import {ElementRef} from '@angular/core'; -import {Observable} from 'rxjs/Observable'; -import {Subject} from 'rxjs/Subject'; - -import {Scrollable} from '../scroll/scrollable'; - -import {ConnectedOverlayPositionChange, ConnectionPositionPair, OriginConnectionPosition, OverlayConnectionPosition, ScrollableViewProperties} from './connected-position'; -import {PositionStrategy} from './position-strategy'; -import {ViewportRuler} from './viewport-ruler'; - -/** - * Container to hold the bounding positions of a particular element with respect - * to the viewport, where top and bottom are the y-axis coordinates of the - * bounding rectangle and left and right are the x-axis coordinates. - */ -interface ElementBoundingPositions { - top: number; - right: number; - bottom: number; - left: number; -} - -/** - * A strategy for positioning overlays. Using this strategy, an overlay is given - * an implicit position relative some origin element. The relative position is - * defined in terms of a point on the origin element that is connected to a - * point on the overlay element. For example, a basic dropdown is connecting the - * bottom-left corner of the origin to the top-left corner of the overlay. - */ -export class ConnectedPositionStrategy implements PositionStrategy { - private _dir = 'ltr'; - - /** The offset in pixels for the overlay connection point on the x-axis */ - private _offsetX = 0; - - /** The offset in pixels for the overlay connection point on the y-axis */ - private _offsetY = 0; - - /** The Scrollable containers used to check scrollable view properties on - * position change. */ - private scrollables: Scrollable[] = []; - - /** Whether the we're dealing with an RTL context */ - get _isRtl() { - return this._dir === 'rtl'; - } - - /** Ordered list of preferred positions, from most to least desirable. */ - _preferredPositions: ConnectionPositionPair[] = []; - - /** The origin element against which the overlay will be positioned. */ - private _origin: HTMLElement; - - /** The overlay pane element. */ - private _pane: HTMLElement; - - /** The last position to have been calculated as the best fit position. */ - private _lastConnectedPosition: ConnectionPositionPair; - - _onPositionChange: Subject = - new Subject(); - - /** Emits an event when the connection point changes. */ - get onPositionChange(): Observable { - return this._onPositionChange.asObservable(); - } - - constructor( - private _connectedTo: ElementRef, - private _originPos: OriginConnectionPosition, - private _overlayPos: OverlayConnectionPosition, - private _viewportRuler: ViewportRuler) { - this._origin = this._connectedTo.nativeElement; - this.withFallbackPosition(this._originPos, this._overlayPos); - } - - /** Ordered list of preferred positions, from most to least desirable. */ - get positions() { - return this._preferredPositions; - } - - /** - * To be used to for any cleanup after the element gets destroyed. - */ - dispose() { - // - } - - /** - * Updates the position of the overlay element, using whichever preferred - * position relative to the origin fits on-screen. - * @docs-private - * - * @param element Element to which to apply the CSS styles. - * @returns Resolves when the styles have been applied. - */ - apply(element: HTMLElement): void { - // Cache the overlay pane element in case re-calculating position is - // necessary - this._pane = element; - - // We need the bounding rects for the origin and the overlay to determine - // how to position the overlay relative to the origin. - const originRect = this._origin.getBoundingClientRect(); - const overlayRect = element.getBoundingClientRect(); - - // We use the viewport rect to determine whether a position would go - // off-screen. - const viewportRect = this._viewportRuler.getViewportRect(); - - // Fallback point if none of the fallbacks fit into the viewport. - let fallbackPoint: OverlayPoint|undefined; - let fallbackPosition: ConnectionPositionPair|undefined; - - // We want to place the overlay in the first of the preferred positions such - // that the overlay fits on-screen. - for (const pos of this._preferredPositions) { - // Get the (x, y) point of connection on the origin, and then use that to - // get the (top, left) coordinate for the overlay at `pos`. - const originPoint = this._getOriginConnectionPoint(originRect, pos); - const overlayPoint = - this._getOverlayPoint(originPoint, overlayRect, viewportRect, pos); - - // If the overlay in the calculated position fits on-screen, put it there - // and we're done. - if (overlayPoint.fitsInViewport) { - this._setElementPosition(element, overlayRect, overlayPoint, pos); - - // Save the last connected position in case the position needs to be - // re-calculated. - this._lastConnectedPosition = pos; - - // Notify that the position has been changed along with its change - // properties. - const scrollableViewProperties = - this.getScrollableViewProperties(element); - const positionChange = - new ConnectedOverlayPositionChange(pos, scrollableViewProperties); - this._onPositionChange.next(positionChange); - - return; - } else if ( - !fallbackPoint || - fallbackPoint.visibleArea < overlayPoint.visibleArea) { - fallbackPoint = overlayPoint; - fallbackPosition = pos; - } - } - - // If none of the preferred positions were in the viewport, take the one - // with the largest visible area. - this._setElementPosition( - element, overlayRect, fallbackPoint, fallbackPosition); - } - - /** - * This re-aligns the overlay element with the trigger in its last calculated - * position, even if a position higher in the "preferred positions" list would - * now fit. This allows one to re-align the panel without changing the - * orientation of the panel. - */ - recalculateLastPosition(): void { - const originRect = this._origin.getBoundingClientRect(); - const overlayRect = this._pane.getBoundingClientRect(); - const viewportRect = this._viewportRuler.getViewportRect(); - const lastPosition = - this._lastConnectedPosition || this._preferredPositions[0]; - - const originPoint = - this._getOriginConnectionPoint(originRect, lastPosition); - const overlayPoint = this._getOverlayPoint( - originPoint, overlayRect, viewportRect, lastPosition); - this._setElementPosition( - this._pane, overlayRect, overlayPoint, lastPosition); - } - - /** - * Sets the list of Scrollable containers that host the origin element so that - * on reposition we can evaluate if it or the overlay has been clipped or - * outside view. Every Scrollable must be an ancestor element of the - * strategy's origin element. - */ - withScrollableContainers(scrollables: Scrollable[]) { - this.scrollables = scrollables; - } - - /** - * Adds a new preferred fallback position. - * @param originPos - * @param overlayPos - */ - withFallbackPosition( - originPos: OriginConnectionPosition, - overlayPos: OverlayConnectionPosition): this { - this._preferredPositions.push( - new ConnectionPositionPair(originPos, overlayPos)); - return this; - } - - /** - * Sets the layout direction so the overlay's position can be adjusted to - * match. - * @param dir New layout direction. - */ - withDirection(dir: 'ltr'|'rtl'): this { - this._dir = dir; - return this; - } - - /** - * Sets an offset for the overlay's connection point on the x-axis - * @param offset New offset in the X axis. - */ - withOffsetX(offset: number): this { - this._offsetX = offset; - return this; - } - - /** - * Sets an offset for the overlay's connection point on the y-axis - * @param offset New offset in the Y axis. - */ - withOffsetY(offset: number): this { - this._offsetY = offset; - return this; - } - - /** - * Gets the horizontal (x) "start" dimension based on whether the overlay is - * in an RTL context. - * @param rect - */ - private _getStartX(rect: ClientRect): number { - return this._isRtl ? rect.right : rect.left; - } - - /** - * Gets the horizontal (x) "end" dimension based on whether the overlay is in - * an RTL context. - * @param rect - */ - private _getEndX(rect: ClientRect): number { - return this._isRtl ? rect.left : rect.right; - } - - - /** - * Gets the (x, y) coordinate of a connection point on the origin based on a - * relative position. - * @param originRect - * @param pos - */ - private _getOriginConnectionPoint( - originRect: ClientRect, pos: ConnectionPositionPair): Point { - const originStartX = this._getStartX(originRect); - const originEndX = this._getEndX(originRect); - - let x: number; - if (pos.originX === 'center') { - x = originStartX + (originRect.width / 2); - } else { - x = pos.originX === 'start' ? originStartX : originEndX; - } - - let y: number; - if (pos.originY === 'center') { - y = originRect.top + (originRect.height / 2); - } else { - y = pos.originY === 'top' ? originRect.top : originRect.bottom; - } - - return {x, y}; - } - - - /** - * Gets the (x, y) coordinate of the top-left corner of the overlay given a - * given position and origin point to which the overlay should be connected, - * as well as how much of the element would be inside the viewport at that - * position. - */ - private _getOverlayPoint( - originPoint: Point, overlayRect: ClientRect, viewportRect: ClientRect, - pos: ConnectionPositionPair): OverlayPoint { - // Calculate the (overlayStartX, overlayStartY), the start of the potential - // overlay position relative to the origin point. - let overlayStartX: number; - if (pos.overlayX === 'center') { - overlayStartX = -overlayRect.width / 2; - } else if (pos.overlayX === 'start') { - overlayStartX = this._isRtl ? -overlayRect.width : 0; - } else { - overlayStartX = this._isRtl ? 0 : -overlayRect.width; - } - - let overlayStartY: number; - if (pos.overlayY === 'center') { - overlayStartY = -overlayRect.height / 2; - } else { - overlayStartY = pos.overlayY === 'top' ? 0 : -overlayRect.height; - } - - // The (x, y) coordinates of the overlay. - const x = originPoint.x + overlayStartX + this._offsetX; - const y = originPoint.y + overlayStartY + this._offsetY; - - // How much the overlay would overflow at this position, on each side. - const leftOverflow = 0 - x; - const rightOverflow = (x + overlayRect.width) - viewportRect.width; - const topOverflow = 0 - y; - const bottomOverflow = (y + overlayRect.height) - viewportRect.height; - - // Visible parts of the element on each axis. - const visibleWidth = - this._subtractOverflows(overlayRect.width, leftOverflow, rightOverflow); - const visibleHeight = this._subtractOverflows( - overlayRect.height, topOverflow, bottomOverflow); - - // The area of the element that's within the viewport. - const visibleArea = visibleWidth * visibleHeight; - const fitsInViewport = - (overlayRect.width * overlayRect.height) === visibleArea; - - return {x, y, fitsInViewport, visibleArea}; - } - - /** - * Gets the view properties of the trigger and overlay, including whether they - * are clipped or completely outside the view of any of the strategy's - * scrollables. - */ - private getScrollableViewProperties(overlay: HTMLElement): - ScrollableViewProperties { - const originBounds = this._getElementBounds(this._origin); - const overlayBounds = this._getElementBounds(overlay); - const scrollContainerBounds = - this.scrollables.map((scrollable: Scrollable) => { - return this._getElementBounds( - scrollable.getElementRef().nativeElement); - }); - - return { - isOriginClipped: - this.isElementClipped(originBounds, scrollContainerBounds), - isOriginOutsideView: - this.isElementOutsideView(originBounds, scrollContainerBounds), - isOverlayClipped: - this.isElementClipped(overlayBounds, scrollContainerBounds), - isOverlayOutsideView: - this.isElementOutsideView(overlayBounds, scrollContainerBounds), - }; - } - - /** Whether the element is completely out of the view of any of the - * containers. */ - private isElementOutsideView( - elementBounds: ElementBoundingPositions, - containersBounds: ElementBoundingPositions[]): boolean { - return containersBounds.some( - (containerBounds: ElementBoundingPositions) => { - const outsideAbove = elementBounds.bottom < containerBounds.top; - const outsideBelow = elementBounds.top > containerBounds.bottom; - const outsideLeft = elementBounds.right < containerBounds.left; - const outsideRight = elementBounds.left > containerBounds.right; - - return outsideAbove || outsideBelow || outsideLeft || outsideRight; - }); - } - - /** Whether the element is clipped by any of the containers. */ - private isElementClipped( - elementBounds: ElementBoundingPositions, - containersBounds: ElementBoundingPositions[]): boolean { - return containersBounds.some( - (containerBounds: ElementBoundingPositions) => { - const clippedAbove = elementBounds.top < containerBounds.top; - const clippedBelow = elementBounds.bottom > containerBounds.bottom; - const clippedLeft = elementBounds.left < containerBounds.left; - const clippedRight = elementBounds.right > containerBounds.right; - - return clippedAbove || clippedBelow || clippedLeft || clippedRight; - }); - } - - /** Physically positions the overlay element to the given coordinate. */ - private _setElementPosition( - element: HTMLElement, overlayRect: ClientRect, overlayPoint: Point, - pos: ConnectionPositionPair) { - // We want to set either `top` or `bottom` based on whether the overlay - // wants to appear above or below the origin and the direction in which the - // element will expand. - const verticalStyleProperty = pos.overlayY === 'bottom' ? 'bottom' : 'top'; - - // When using `bottom`, we adjust the y position such that it is the - // distance from the bottom of the viewport rather than the top. - const y = verticalStyleProperty === 'top' ? - overlayPoint.y : - document.documentElement.clientHeight - - (overlayPoint.y + overlayRect.height); - - // We want to set either `left` or `right` based on whether the overlay - // wants to appear "before" or "after" the origin, which determines the - // direction in which the element will expand. For the horizontal axis, the - // meaning of "before" and "after" change based on whether the page is in - // RTL or LTR. - let horizontalStyleProperty: any; - if (this._dir === 'rtl') { - horizontalStyleProperty = pos.overlayX === 'end' ? 'left' : 'right'; - } else { - horizontalStyleProperty = pos.overlayX === 'end' ? 'right' : 'left'; - } - - // When we're setting `right`, we adjust the x position such that it is the - // distance from the right edge of the viewport rather than the left edge. - const x = horizontalStyleProperty === 'left' ? - overlayPoint.x : - document.documentElement.clientWidth - - (overlayPoint.x + overlayRect.width); - - - // Reset any existing styles. This is necessary in case the preferred - // position has changed since the last `apply`. - ['top', 'bottom', 'left', 'right'].forEach( - (p: any) => element.style[p] = null); - - element.style[verticalStyleProperty] = `${y}px`; - element.style[horizontalStyleProperty] = `${x}px`; - } - - /** Returns the bounding positions of the provided element with respect to the - * viewport. */ - private _getElementBounds(element: HTMLElement): ElementBoundingPositions { - const boundingClientRect = element.getBoundingClientRect(); - return { - top: boundingClientRect.top, - right: boundingClientRect.left + boundingClientRect.width, - bottom: boundingClientRect.top + boundingClientRect.height, - left: boundingClientRect.left - }; - } - - /** - * Subtracts the amount that an element is overflowing on an axis from it's - * length. - */ - private _subtractOverflows(length: number, ...overflows: number[]): number { - return overflows.reduce((currentValue: number, currentOverflow: number) => { - return currentValue - Math.max(currentOverflow, 0); - }, length); - } -} - -/** A simple (x, y) coordinate. */ -interface Point { - x: number; - y: number; -} - -/** - * Expands the simple (x, y) coordinate by adding info about whether the - * element would fit inside the viewport at that position, as well as - * how much of the element would be visible. - */ -interface OverlayPoint extends Point { - visibleArea: number; - fitsInViewport: boolean; -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/connected-position.ts b/sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/connected-position.ts deleted file mode 100644 index dad3f04e..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/connected-position.ts +++ /dev/null @@ -1,87 +0,0 @@ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/* tslint:disable:array-type member-access variable-name typedef - only-arrow-functions directive-class-suffix component-class-suffix - component-selector no-unnecessary-type-assertion arrow-parens*/ -/** Horizontal dimension of a connection point on the perimeter of the origin or - * overlay element. */ -import {Optional} from '@angular/core'; -export type HorizontalConnectionPos = 'start' | 'center' | 'end'; - -/** Vertical dimension of a connection point on the perimeter of the origin or - * overlay element. */ -export type VerticalConnectionPos = 'top' | 'center' | 'bottom'; - - -/** A connection point on the origin element. */ -export interface OriginConnectionPosition { - originX: HorizontalConnectionPos; - originY: VerticalConnectionPos; -} - -/** A connection point on the overlay element. */ -export interface OverlayConnectionPosition { - overlayX: HorizontalConnectionPos; - overlayY: VerticalConnectionPos; -} - -/** The points of the origin element and the overlay element to connect. */ -export class ConnectionPositionPair { - originX: HorizontalConnectionPos; - originY: VerticalConnectionPos; - overlayX: HorizontalConnectionPos; - overlayY: VerticalConnectionPos; - - constructor( - origin: OriginConnectionPosition, overlay: OverlayConnectionPosition) { - this.originX = origin.originX; - this.originY = origin.originY; - this.overlayX = overlay.overlayX; - this.overlayY = overlay.overlayY; - } -} - -/** - * Set of properties regarding the position of the origin and overlay relative - * to the viewport with respect to the containing Scrollable elements. - * - * The overlay and origin are clipped if any part of their bounding client - * rectangle exceeds the bounds of any one of the strategy's Scrollable's - * bounding client rectangle. - * - * The overlay and origin are outside view if there is no overlap between their - * bounding client rectangle and any one of the strategy's Scrollable's bounding - * client rectangle. - * - * ----------- ----------- - * | outside | | clipped | - * | view | -------------------------- - * | | | | | | - * ---------- | ----------- | - * -------------------------- | | - * | | | Scrollable | - * | | | | - * | | -------------------------- - * | Scrollable | - * | | - * -------------------------- - */ -export class ScrollableViewProperties { - isOriginClipped: boolean; - isOriginOutsideView: boolean; - isOverlayClipped: boolean; - isOverlayOutsideView: boolean; -} - -/** The change event emitted by the strategy when a fallback position is used. - */ -export class ConnectedOverlayPositionChange { - constructor( - public connectionPair: ConnectionPositionPair, - @Optional() public scrollableViewProperties: ScrollableViewProperties) {} -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/fake-viewport-ruler.ts b/sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/fake-viewport-ruler.ts deleted file mode 100644 index 698aed1d..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/fake-viewport-ruler.ts +++ /dev/null @@ -1,25 +0,0 @@ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -/** @docs-private */ -export class FakeViewportRuler { - getViewportRect() { - return { - left: 0, - top: 0, - width: 1014, - height: 686, - bottom: 686, - right: 1014 - }; - } - - getViewportScrollPosition() { - return {top: 0, left: 0}; - } -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/free-position-strategy.ts b/sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/free-position-strategy.ts deleted file mode 100644 index bd33e404..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/free-position-strategy.ts +++ /dev/null @@ -1,83 +0,0 @@ -/* tslint:disable:array-type member-access variable-name typedef - only-arrow-functions directive-class-suffix component-class-suffix - component-selector no-unnecessary-type-assertion arrow-parens*/ -import {PositionStrategy} from './position-strategy'; - -/** - * Free position strategy for overlay without origin - * @author lingyi.zcs - */ -export class FreePositionStrategy implements PositionStrategy { - private _wrapper: HTMLElement; - // private _cssPosition: string = ''; - // private _top: string = ''; - // private _left: string = ''; - // private _width: string = ''; - // private _height: string = ''; - - // cssPosition(value: string) { - // this._cssPosition = value; - // return this; - // } - - // top(value: number | string): this { - // this._top = this._toCssValue(value); - // return this; - // } - - // left(value: number | string): this { - // this._left = this._toCssValue(value); - // return this; - // } - - // width(value: number | string): this { - // this._width = this._toCssValue(value); - // return this; - // } - - // height(value: number | string): this { - // this._height = this._toCssValue(value); - // return this; - // } - - /** - * Apply the position to the element. (NOTE: normally will triggered by - * scrolling) - * @docs-private - * - * @param element Element to which to apply the CSS. - * @returns Resolved when the styles have been applied. - */ - apply(element: HTMLElement): void { - if (!this._wrapper) { - this._wrapper = document.createElement('div'); - this._wrapper.classList.add('cdk-free-overlay-wrapper'); - element.parentNode.insertBefore(this._wrapper, element); - this._wrapper.appendChild(element); - - // // Initialized style once - // const style = element.style; - // style.position = this._cssPosition; - // style.top = this._top; - // style.left = this._left; - // style.width = this._width; - // style.height = this._height; - } - - // TODO: do somethings while triggered (eg. by scrolling) - } - - /** - * Removes the wrapper element from the DOM. - */ - dispose(): void { - if (this._wrapper && this._wrapper.parentNode) { - this._wrapper.parentNode.removeChild(this._wrapper); - this._wrapper = null; - } - } - - // private _toCssValue(value: number | string) { - // return typeof value === 'number' ? value + 'px' : value; - // } -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/global-position-strategy.ts b/sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/global-position-strategy.ts deleted file mode 100644 index 8e3204a9..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/global-position-strategy.ts +++ /dev/null @@ -1,178 +0,0 @@ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/* tslint:disable:array-type member-access variable-name typedef - only-arrow-functions directive-class-suffix component-class-suffix - component-selector no-unnecessary-type-assertion arrow-parens*/ -import {PositionStrategy} from './position-strategy'; - - -/** - * A strategy for positioning overlays. Using this strategy, an overlay is given - * an explicit position relative to the browser's viewport. We use flexbox, - * instead of transforms, in order to avoid issues with subpixel rendering which - * can cause the element to become blurry. - */ -export class GlobalPositionStrategy implements PositionStrategy { - private _cssPosition = 'static'; - private _topOffset = ''; - private _bottomOffset = ''; - private _leftOffset = ''; - private _rightOffset = ''; - private _alignItems = ''; - private _justifyContent = ''; - private _width = ''; - private _height = ''; - - /* A lazily-created wrapper for the overlay element that is used as a flex - * container. */ - private _wrapper: HTMLElement|null = null; - - /** - * Sets the top position of the overlay. Clears any previously set vertical - * position. - * @param value New top offset. - */ - top(value = ''): this { - this._bottomOffset = ''; - this._topOffset = value; - this._alignItems = 'flex-start'; - return this; - } - - /** - * Sets the left position of the overlay. Clears any previously set horizontal - * position. - * @param value New left offset. - */ - left(value = ''): this { - this._rightOffset = ''; - this._leftOffset = value; - this._justifyContent = 'flex-start'; - return this; - } - - /** - * Sets the bottom position of the overlay. Clears any previously set vertical - * position. - * @param value New bottom offset. - */ - bottom(value = ''): this { - this._topOffset = ''; - this._bottomOffset = value; - this._alignItems = 'flex-end'; - return this; - } - - /** - * Sets the right position of the overlay. Clears any previously set - * horizontal position. - * @param value New right offset. - */ - right(value = ''): this { - this._leftOffset = ''; - this._rightOffset = value; - this._justifyContent = 'flex-end'; - return this; - } - - /** - * Sets the overlay width and clears any previously set width. - * @param value New width for the overlay - */ - width(value = ''): this { - this._width = value; - - // When the width is 100%, we should reset the `left` and the offset, - // in order to ensure that the element is flush against the viewport edge. - if (value === '100%') { - this.left('0px'); - } - - return this; - } - - /** - * Sets the overlay height and clears any previously set height. - * @param value New height for the overlay - */ - height(value = ''): this { - this._height = value; - - // When the height is 100%, we should reset the `top` and the offset, - // in order to ensure that the element is flush against the viewport edge. - if (value === '100%') { - this.top('0px'); - } - - return this; - } - - /** - * Centers the overlay horizontally with an optional offset. - * Clears any previously set horizontal position. - * - * @param offset Overlay offset from the horizontal center. - */ - centerHorizontally(offset = ''): this { - this.left(offset); - this._justifyContent = 'center'; - return this; - } - - /** - * Centers the overlay vertically with an optional offset. - * Clears any previously set vertical position. - * - * @param offset Overlay offset from the vertical center. - */ - centerVertically(offset = ''): this { - this.top(offset); - this._alignItems = 'center'; - return this; - } - - /** - * Apply the position to the element. - * @docs-private - * - * @param element Element to which to apply the CSS. - * @returns Resolved when the styles have been applied. - */ - apply(element: HTMLElement): void { - if (!this._wrapper && element.parentNode) { - this._wrapper = document.createElement('div'); - this._wrapper.classList.add('cdk-global-overlay-wrapper'); - element.parentNode.insertBefore(this._wrapper, element); - this._wrapper.appendChild(element); - } - - const styles = element.style; - const parentStyles = (element.parentNode as HTMLElement).style; - - styles.position = this._cssPosition; - styles.marginTop = this._topOffset; - styles.marginLeft = this._leftOffset; - styles.marginBottom = this._bottomOffset; - styles.marginRight = this._rightOffset; - styles.width = this._width; - styles.height = this._height; - - parentStyles.justifyContent = this._justifyContent; - parentStyles.alignItems = this._alignItems; - } - - /** - * Removes the wrapper element from the DOM. - */ - dispose(): void { - if (this._wrapper && this._wrapper.parentNode) { - this._wrapper.parentNode.removeChild(this._wrapper); - this._wrapper = null; - } - } -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/overlay-position-builder.ts b/sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/overlay-position-builder.ts deleted file mode 100644 index 0f6735eb..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/overlay-position-builder.ts +++ /dev/null @@ -1,51 +0,0 @@ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/* tslint:disable:array-type member-access variable-name typedef - only-arrow-functions directive-class-suffix component-class-suffix - component-selector no-unnecessary-type-assertion arrow-parens*/ -import {ElementRef, Injectable} from '@angular/core'; - -import {OriginConnectionPosition, OverlayConnectionPosition} from './connected-position'; -import {ConnectedPositionStrategy} from './connected-position-strategy'; -import {FreePositionStrategy} from './free-position-strategy'; -import {GlobalPositionStrategy} from './global-position-strategy'; -import {ViewportRuler} from './viewport-ruler'; - - -/** Builder for overlay position strategy. */ -@Injectable() -export class OverlayPositionBuilder { - constructor(private _viewportRuler: ViewportRuler) {} - - /** - * Creates a free position strategy - */ - free(): FreePositionStrategy { - return new FreePositionStrategy(); - } - - /** - * Creates a global position strategy. - */ - global(): GlobalPositionStrategy { - return new GlobalPositionStrategy(); - } - - /** - * Creates a relative position strategy. - * @param elementRef - * @param originPos - * @param overlayPos - */ - connectedTo( - elementRef: ElementRef, originPos: OriginConnectionPosition, - overlayPos: OverlayConnectionPosition): ConnectedPositionStrategy { - return new ConnectedPositionStrategy( - elementRef, originPos, overlayPos, this._viewportRuler); - } -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/position-strategy.ts b/sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/position-strategy.ts deleted file mode 100644 index 21bd0fa0..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/position-strategy.ts +++ /dev/null @@ -1,17 +0,0 @@ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -/** Strategy for setting the position on an overlay. */ -export interface PositionStrategy { - /** Updates the position of the overlay element. */ - apply(element: Element): void; - - /** Cleans up any DOM modifications made by the position strategy, if - * necessary. */ - dispose(): void; -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/viewport-ruler.ts b/sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/viewport-ruler.ts deleted file mode 100644 index 298cd642..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/position/viewport-ruler.ts +++ /dev/null @@ -1,110 +0,0 @@ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/* tslint:disable:array-type member-access variable-name typedef - only-arrow-functions directive-class-suffix component-class-suffix - component-selector no-unnecessary-type-assertion arrow-parens*/ -import {Injectable, Optional, SkipSelf} from '@angular/core'; -import {ScrollDispatcher} from '../scroll/scroll-dispatcher'; - - -/** - * Simple utility for getting the bounds of the browser viewport. - * @docs-private - */ -@Injectable() -export class ViewportRuler { - /** Cached document client rectangle. */ - private _documentRect?: ClientRect; - - constructor(scrollDispatcher: ScrollDispatcher) { - // Subscribe to scroll and resize events and update the document rectangle - // on changes. - scrollDispatcher.scrolled(0, () => this._cacheViewportGeometry()); - } - - /** Gets a ClientRect for the viewport's bounds. */ - getViewportRect(documentRect = this._documentRect): ClientRect { - // Cache the document bounding rect so that we don't recompute it for - // multiple calls. - if (!documentRect) { - this._cacheViewportGeometry(); - documentRect = this._documentRect; - } - - // Use the document element's bounding rect rather than the window scroll - // properties (e.g. pageYOffset, scrollY) due to in issue in Chrome and IE - // where window scroll properties and client coordinates - // (boundingClientRect, clientX/Y, etc.) are in different conceptual - // viewports. Under most circumstances these viewports are equivalent, but - // they can disagree when the page is pinch-zoomed (on devices that support - // touch). See - // https://bugs.chromium.org/p/chromium/issues/detail?id=489206#c4 We use - // the documentElement instead of the body because, by default (without a - // css reset) browsers typically give the document body an 8px margin, which - // is not included in getBoundingClientRect(). - const scrollPosition = this.getViewportScrollPosition(documentRect); - const height = window.innerHeight; - const width = window.innerWidth; - - return { - top: scrollPosition.top, - left: scrollPosition.left, - bottom: scrollPosition.top + height, - right: scrollPosition.left + width, - height, - width, - }; - } - - - /** - * Gets the (top, left) scroll position of the viewport. - * @param documentRect - */ - getViewportScrollPosition(documentRect = this._documentRect) { - // Cache the document bounding rect so that we don't recompute it for - // multiple calls. - if (!documentRect) { - this._cacheViewportGeometry(); - documentRect = this._documentRect; - } - - // The top-left-corner of the viewport is determined by the scroll position - // of the document body, normally just (scrollLeft, scrollTop). However, - // Chrome and Firefox disagree about whether `document.body` or - // `document.documentElement` is the scrolled element, so reading - // `scrollTop` and `scrollLeft` is inconsistent. However, using the bounding - // rect of `document.documentElement` works consistently, where the `top` - // and `left` values will equal negative the scroll position. - const top = -documentRect.top || document.body.scrollTop || - window.scrollY || document.documentElement.scrollTop || 0; - - const left = -documentRect.left || document.body.scrollLeft || - window.scrollX || document.documentElement.scrollLeft || 0; - - return {top, left}; - } - - /** Caches the latest client rectangle of the document element. */ - _cacheViewportGeometry() { - this._documentRect = document.documentElement.getBoundingClientRect(); - } -} - -export function VIEWPORT_RULER_PROVIDER_FACTORY( - parentRuler: ViewportRuler, scrollDispatcher: ScrollDispatcher) { - return parentRuler || new ViewportRuler(scrollDispatcher); -} - -export const VIEWPORT_RULER_PROVIDER = { - // If there is already a ViewportRuler available, use that. Otherwise, provide - // a new one. - provide: ViewportRuler, - deps: [[new Optional(), new SkipSelf(), ViewportRuler], ScrollDispatcher], - useFactory: VIEWPORT_RULER_PROVIDER_FACTORY -}; diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/scroll/block-scroll-strategy.ts b/sdc-workflow-designer-ui/src/app/paletx/core/overlay/scroll/block-scroll-strategy.ts deleted file mode 100644 index d1c1d401..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/scroll/block-scroll-strategy.ts +++ /dev/null @@ -1,77 +0,0 @@ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/* tslint:disable:array-type member-access variable-name typedef - only-arrow-functions directive-class-suffix component-class-suffix - component-selector*/ -import {ViewportRuler} from '../position/viewport-ruler'; - -import {ScrollStrategy} from './scroll-strategy'; - -/** - * Strategy that will prevent the user from scrolling while the overlay is - * visible. - */ -export class BlockScrollStrategy implements ScrollStrategy { - private _previousHTMLStyles = {top: '', left: ''}; - private _previousScrollPosition: {top: number, left: number}; - private _isEnabled = false; - - constructor(private _viewportRuler: ViewportRuler) {} - - attach() { - // - } - - enable() { - if (this._canBeEnabled()) { - const root = document.documentElement; - - this._previousScrollPosition = - this._viewportRuler.getViewportScrollPosition(); - - // Cache the previous inline styles in case the user had set them. - this._previousHTMLStyles.left = root.style.left || ''; - this._previousHTMLStyles.top = root.style.top || ''; - - // Note: we're using the `html` node, instead of the `body`, because the - // `body` may have the user agent margin, whereas the `html` is guaranteed - // not to have one. - root.style.left = `${- this._previousScrollPosition.left}px`; - root.style.top = `${- this._previousScrollPosition.top}px`; - root.classList.add('cdk-global-scrollblock'); - this._isEnabled = true; - } - } - - disable() { - if (this._isEnabled) { - this._isEnabled = false; - document.documentElement.style.left = this._previousHTMLStyles.left; - document.documentElement.style.top = this._previousHTMLStyles.top; - document.documentElement.classList.remove('cdk-global-scrollblock'); - window.scroll( - this._previousScrollPosition.left, this._previousScrollPosition.top); - } - } - - private _canBeEnabled(): boolean { - // Since the scroll strategies can't be singletons, we have to use a global - // CSS class - // (`cdk-global-scrollblock`) to make sure that we don't try to disable - // global scrolling multiple times. - if (document.documentElement.classList.contains('cdk-global-scrollblock') || - this._isEnabled) { - return false; - } - - const body = document.body; - const viewport = this._viewportRuler.getViewportRect(); - return body.scrollHeight > viewport.height || - body.scrollWidth > viewport.width; - } -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/scroll/close-scroll-strategy.ts b/sdc-workflow-designer-ui/src/app/paletx/core/overlay/scroll/close-scroll-strategy.ts deleted file mode 100644 index 51189dc1..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/scroll/close-scroll-strategy.ts +++ /dev/null @@ -1,54 +0,0 @@ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/* tslint:disable:array-type member-access variable-name typedef - only-arrow-functions directive-class-suffix component-class-suffix - component-selector*/ -import {Subscription} from 'rxjs/Subscription'; - -import {OverlayRef} from '../overlay-ref'; - -import {ScrollDispatcher} from './scroll-dispatcher'; -import {getMdScrollStrategyAlreadyAttachedError, ScrollStrategy} from './scroll-strategy'; - - -/** - * Strategy that will close the overlay as soon as the user starts scrolling. - */ -export class CloseScrollStrategy implements ScrollStrategy { - private _scrollSubscription: Subscription|null = null; - private _overlayRef: OverlayRef; - - constructor(private _scrollDispatcher: ScrollDispatcher) {} - - attach(overlayRef: OverlayRef) { - if (this._overlayRef) { - throw getMdScrollStrategyAlreadyAttachedError(); - } - - this._overlayRef = overlayRef; - } - - enable() { - if (!this._scrollSubscription) { - this._scrollSubscription = this._scrollDispatcher.scrolled(0, () => { - if (this._overlayRef.hasAttached()) { - this._overlayRef.detach(); - } - - this.disable(); - }); - } - } - - disable() { - if (this._scrollSubscription) { - this._scrollSubscription.unsubscribe(); - this._scrollSubscription = null; - } - } -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/scroll/index.ts b/sdc-workflow-designer-ui/src/app/paletx/core/overlay/scroll/index.ts deleted file mode 100644 index e386770b..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/scroll/index.ts +++ /dev/null @@ -1,35 +0,0 @@ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/* tslint:disable:array-type member-access variable-name typedef - only-arrow-functions directive-class-suffix component-class-suffix - component-selector*/ -import {PlatformModule} from '@angular/cdk'; -import {NgModule} from '@angular/core'; - -import {SCROLL_DISPATCHER_PROVIDER} from './scroll-dispatcher'; -import {ScrollStrategyOptions} from './scroll-strategy-options'; -import {Scrollable} from './scrollable'; - -export {BlockScrollStrategy} from './block-scroll-strategy'; -export {CloseScrollStrategy} from './close-scroll-strategy'; -export {NoopScrollStrategy} from './noop-scroll-strategy'; -export {RepositionScrollStrategy} from './reposition-scroll-strategy'; -export {ScrollDispatcher} from './scroll-dispatcher'; -// Export pre-defined scroll strategies and interface to build custom ones. -export {ScrollStrategy} from './scroll-strategy'; -export {ScrollStrategyOptions} from './scroll-strategy-options'; -export {Scrollable} from './scrollable'; - -@NgModule({ - imports: [PlatformModule], - exports: [Scrollable], - declarations: [Scrollable], - providers: [SCROLL_DISPATCHER_PROVIDER, ScrollStrategyOptions], -}) -export class ScrollDispatchModule { -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/scroll/noop-scroll-strategy.ts b/sdc-workflow-designer-ui/src/app/paletx/core/overlay/scroll/noop-scroll-strategy.ts deleted file mode 100644 index 9b92ab49..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/scroll/noop-scroll-strategy.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import {ScrollStrategy} from './scroll-strategy'; - -/** - * Scroll strategy that doesn't do anything. - */ -export class NoopScrollStrategy implements ScrollStrategy { - enable() { - // - } - disable() { - // - } - attach() { - // - } -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/scroll/reposition-scroll-strategy.ts b/sdc-workflow-designer-ui/src/app/paletx/core/overlay/scroll/reposition-scroll-strategy.ts deleted file mode 100644 index b15d5dea..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/scroll/reposition-scroll-strategy.ts +++ /dev/null @@ -1,59 +0,0 @@ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/* tslint:disable:array-type member-access variable-name typedef - only-arrow-functions directive-class-suffix component-class-suffix - component-selector*/ -import {Subscription} from 'rxjs/Subscription'; - -import {OverlayRef} from '../overlay-ref'; - -import {ScrollDispatcher} from './scroll-dispatcher'; -import {getMdScrollStrategyAlreadyAttachedError, ScrollStrategy} from './scroll-strategy'; - -/** - * Config options for the RepositionScrollStrategy. - */ -export interface RepositionScrollStrategyConfig { scrollThrottle?: number; } - -/** - * Strategy that will update the element position as the user is scrolling. - */ -export class RepositionScrollStrategy implements ScrollStrategy { - private _scrollSubscription: Subscription|null = null; - private _overlayRef: OverlayRef; - - constructor( - private _scrollDispatcher: ScrollDispatcher, - private _config?: RepositionScrollStrategyConfig) {} - - attach(overlayRef: OverlayRef) { - if (this._overlayRef) { - throw getMdScrollStrategyAlreadyAttachedError(); - } - - this._overlayRef = overlayRef; - } - - enable() { - if (!this._scrollSubscription) { - const throttle = this._config ? this._config.scrollThrottle : 0; - - this._scrollSubscription = - this._scrollDispatcher.scrolled(throttle, () => { - this._overlayRef.updatePosition(); - }); - } - } - - disable() { - if (this._scrollSubscription) { - this._scrollSubscription.unsubscribe(); - this._scrollSubscription = null; - } - } -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/scroll/scroll-dispatcher.ts b/sdc-workflow-designer-ui/src/app/paletx/core/overlay/scroll/scroll-dispatcher.ts deleted file mode 100644 index 2c145af5..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/scroll/scroll-dispatcher.ts +++ /dev/null @@ -1,174 +0,0 @@ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/* tslint:disable:array-type member-access variable-name typedef - only-arrow-functions directive-class-suffix component-class-suffix - component-selector*/ -import {Platform} from '@angular/cdk'; -import {auditTime} from 'rxjs/operator/auditTime'; -import {ElementRef, Injectable, NgZone, Optional, SkipSelf} from '@angular/core'; -import {fromEvent} from 'rxjs/observable/fromEvent'; -import {merge} from 'rxjs/observable/merge'; -import {Subject} from 'rxjs/Subject'; -import {Subscription} from 'rxjs/Subscription'; - -import {Scrollable} from './scrollable'; - - -/** Time in ms to throttle the scrolling events by default. */ -export const DEFAULT_SCROLL_TIME = 20; - -/** - * Service contained all registered Scrollable references and emits an event - * when any one of the Scrollable references emit a scrolled event. - */ -@Injectable() -export class ScrollDispatcher { - /** Subject for notifying that a registered scrollable reference element has - * been scrolled. */ - _scrolled: Subject = new Subject(); - - /** Keeps track of the global `scroll` and `resize` subscriptions. */ - _globalSubscription: Subscription|null = null; - - /** Keeps track of the amount of subscriptions to `scrolled`. Used for - * cleaning up afterwards. */ - private _scrolledCount = 0; - - /** - * Map of all the scrollable references that are registered with the service - * and their scroll event subscriptions. - */ - scrollableReferences: Map = new Map(); - - constructor(private _ngZone: NgZone, private _platform: Platform) {} - - /** - * Registers a Scrollable with the service and listens for its scrolled - * events. When the scrollable is scrolled, the service emits the event in its - * scrolled observable. - * @param scrollable Scrollable instance to be registered. - */ - register(scrollable: Scrollable): void { - const scrollSubscription = - scrollable.elementScrolled().subscribe(() => this._notify()); - - this.scrollableReferences.set(scrollable, scrollSubscription); - } - - /** - * Deregisters a Scrollable reference and unsubscribes from its scroll event - * observable. - * @param scrollable Scrollable instance to be deregistered. - */ - deregister(scrollable: Scrollable): void { - const scrollableReference = this.scrollableReferences.get(scrollable); - - if (scrollableReference) { - scrollableReference.unsubscribe(); - this.scrollableReferences.delete(scrollable); - } - } - - /** - * Subscribes to an observable that emits an event whenever any of the - * registered Scrollable references (or window, document, or body) fire a - * scrolled event. Can provide a time in ms to override the default "throttle" - * time. - */ - scrolled(auditTimeInMs: number = DEFAULT_SCROLL_TIME, callback: () => any): - Subscription { - // Scroll events can only happen on the browser, so do nothing if we're not - // on the browser. - if (!this._platform.isBrowser) { - return Subscription.EMPTY; - } - - // In the case of a 0ms delay, use an observable without auditTime - // since it does add a perceptible delay in processing overhead. - const observable = auditTimeInMs > 0 ? - auditTime.call(this._scrolled.asObservable(), auditTimeInMs) : - this._scrolled.asObservable(); - - this._scrolledCount++; - - if (!this._globalSubscription) { - this._globalSubscription = this._ngZone.runOutsideAngular(() => { - return merge( - fromEvent(window.document, 'scroll'), - fromEvent(window, 'resize')) - .subscribe(() => this._notify()); - }); - } - - // Note that we need to do the subscribing from here, in order to be able to - // remove the global event listeners once there are no more subscriptions. - const subscription = observable.subscribe(callback); - - subscription.add(() => { - this._scrolledCount--; - - if (this._globalSubscription && !this.scrollableReferences.size && - !this._scrolledCount) { - this._globalSubscription.unsubscribe(); - this._globalSubscription = null; - } - }); - - return subscription; - } - - /** Returns all registered Scrollables that contain the provided element. */ - getScrollContainers(elementRef: ElementRef): Scrollable[] { - const scrollingContainers: Scrollable[] = []; - - this.scrollableReferences.forEach( - (_subscription: Subscription, scrollable: Scrollable) => { - if (this.scrollableContainsElement(scrollable, elementRef)) { - scrollingContainers.push(scrollable); - } - }); - - return scrollingContainers; - } - - /** Returns true if the element is contained within the provided Scrollable. - */ - scrollableContainsElement(scrollable: Scrollable, elementRef: ElementRef): - boolean { - let element = elementRef.nativeElement; - const scrollableElement = scrollable.getElementRef().nativeElement; - - // Traverse through the element parents until we reach null, checking if any - // of the elements are the scrollable's element. - do { - if (element === scrollableElement) { - return true; - } - } while (element = element.parentElement); - - return false; - } - - /** Sends a notification that a scroll event has been fired. */ - _notify() { - this._scrolled.next(); - } -} - -export function SCROLL_DISPATCHER_PROVIDER_FACTORY( - parentDispatcher: ScrollDispatcher, ngZone: NgZone, platform: Platform) { - return parentDispatcher || new ScrollDispatcher(ngZone, platform); -} - -export const SCROLL_DISPATCHER_PROVIDER = { - // If there is already a ScrollDispatcher available, use that. Otherwise, - // provide a new one. - provide: ScrollDispatcher, - deps: [[new Optional(), new SkipSelf(), ScrollDispatcher], NgZone, Platform], - useFactory: SCROLL_DISPATCHER_PROVIDER_FACTORY -}; diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/scroll/scroll-strategy-options.ts b/sdc-workflow-designer-ui/src/app/paletx/core/overlay/scroll/scroll-strategy-options.ts deleted file mode 100644 index f6270388..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/scroll/scroll-strategy-options.ts +++ /dev/null @@ -1,52 +0,0 @@ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/* tslint:disable:array-type member-access variable-name typedef - only-arrow-functions directive-class-suffix component-class-suffix - component-selector no-unused-expression*/ -import {Injectable} from '@angular/core'; - -import {ViewportRuler} from '../position/viewport-ruler'; - -import {BlockScrollStrategy} from './block-scroll-strategy'; -import {CloseScrollStrategy} from './close-scroll-strategy'; -import {NoopScrollStrategy} from './noop-scroll-strategy'; -import {RepositionScrollStrategy, RepositionScrollStrategyConfig} from './reposition-scroll-strategy'; -import {ScrollDispatcher} from './scroll-dispatcher'; -// import {ScrollStrategy} from './scroll-strategy'; - - -/** - * Options for how an overlay will handle scrolling. - * - * Users can provide a custom value for `ScrollStrategyOptions` to replace the - * default behaviors. This class primarily acts as a factory for ScrollStrategy - * instances. - */ -@Injectable() -export class ScrollStrategyOptions { - constructor( - private _scrollDispatcher: ScrollDispatcher, - private _viewportRuler: ViewportRuler) {} - - /** Do nothing on scroll. */ - noop = () => new NoopScrollStrategy(); - - /** Close the overlay as soon as the user scrolls. */ - close = () => new CloseScrollStrategy(this._scrollDispatcher); - - /** Block scrolling. */ - block = () => new BlockScrollStrategy(this._viewportRuler); - - /** - * Update the overlay's position on scroll. - * @param config Configuration to be used inside the scroll strategy. - * Allows debouncing the reposition calls. - */ - reposition = (config?: RepositionScrollStrategyConfig) => - new RepositionScrollStrategy(this._scrollDispatcher, config) -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/scroll/scroll-strategy.ts b/sdc-workflow-designer-ui/src/app/paletx/core/overlay/scroll/scroll-strategy.ts deleted file mode 100644 index d59651a7..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/scroll/scroll-strategy.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/* tslint:disable:array-type member-access variable-name typedef - only-arrow-functions directive-class-suffix component-class-suffix - component-selector*/ -import {OverlayRef} from '../overlay-ref'; - -/** - * Describes a strategy that will be used by an overlay - * to handle scroll events while it is open. - */ -export abstract class ScrollStrategy { - enable: () => void; - disable: () => void; - attach: (overlayRef: OverlayRef) => void; -} - -/** - * Returns an error to be thrown when attempting to attach an already-attached - * scroll strategy. - */ -export function getMdScrollStrategyAlreadyAttachedError(): Error { - return Error(`Scroll strategy has already been attached.`); -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/scroll/scrollable.ts b/sdc-workflow-designer-ui/src/app/paletx/core/overlay/scroll/scrollable.ts deleted file mode 100644 index fe7b041c..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/core/overlay/scroll/scrollable.ts +++ /dev/null @@ -1,63 +0,0 @@ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/* tslint:disable:array-type member-access variable-name typedef - only-arrow-functions directive-class-suffix component-class-suffix - component-selector*/ -import {Directive, ElementRef, NgZone, OnDestroy, OnInit, Renderer2} from '@angular/core'; -import {Observable} from 'rxjs/Observable'; -import {Subject} from 'rxjs/Subject'; - -import {ScrollDispatcher} from './scroll-dispatcher'; - - -/** - * Sends an event when the directive's element is scrolled. Registers itself - * with the ScrollDispatcher service to include itself as part of its collection - * of scrolling events that it can be listened to through the service. - */ -@Directive({selector: '[cdk-scrollable], [cdkScrollable]'}) -export class Scrollable implements OnInit, OnDestroy { - private _elementScrolled: Subject = new Subject(); - private _scrollListener: Function|null; - - constructor( - private _elementRef: ElementRef, private _scroll: ScrollDispatcher, - private _ngZone: NgZone, private _renderer: Renderer2) {} - - ngOnInit() { - this._scrollListener = this._ngZone.runOutsideAngular(() => { - return this._renderer.listen( - this.getElementRef().nativeElement, 'scroll', (event: Event) => { - this._elementScrolled.next(event); - }); - }); - - this._scroll.register(this); - } - - ngOnDestroy() { - this._scroll.deregister(this); - - if (this._scrollListener) { - this._scrollListener(); - this._scrollListener = null; - } - } - - /** - * Returns observable that emits when a scroll event is fired on the host - * element. - */ - elementScrolled(): Observable { - return this._elementScrolled.asObservable(); - } - - getElementRef(): ElementRef { - return this._elementRef; - } -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/overlaypanel/index.ts b/sdc-workflow-designer-ui/src/app/paletx/core/overlaypanel/index.ts deleted file mode 100644 index 4ad2b4a3..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/core/overlaypanel/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './overlaypanel'; \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/overlaypanel/overlaypanel.ts b/sdc-workflow-designer-ui/src/app/paletx/core/overlaypanel/overlaypanel.ts deleted file mode 100644 index ee529c5f..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/core/overlaypanel/overlaypanel.ts +++ /dev/null @@ -1,163 +0,0 @@ -import {CommonModule} from '@angular/common'; -import {AfterViewInit, Component, ElementRef, EventEmitter, Input, NgModule, OnDestroy, OnInit, Output, Renderer} from '@angular/core'; - -import {DomHandler} from '../domhandler'; - -@Component({ - selector: 'plx-overlay-panel', - template: ` -
-
- -
- - - -
- `, - providers: [DomHandler] -}) -export class PlxOverlayPanelComponent implements OnInit, AfterViewInit, - OnDestroy { - @Input() dismissable: boolean = true; - - @Input() showCloseIcon: boolean; - - @Input() style: any; - - @Input() styleClass: string; - - @Input() appendTo: any; - - @Output() onBeforeShow: EventEmitter = new EventEmitter(); - - @Output() onAfterShow: EventEmitter = new EventEmitter(); - - @Output() onBeforeHide: EventEmitter = new EventEmitter(); - - @Output() onAfterHide: EventEmitter = new EventEmitter(); - - container: any; - - visible: boolean = false; - - documentClickListener: any; - - selfClick: boolean; - - targetEvent: boolean; - - target: any; - - constructor( - public el: ElementRef, public domHandler: DomHandler, - public renderer: Renderer) {} - - ngOnInit() { - if (this.dismissable) { - this.documentClickListener = - this.renderer.listenGlobal('body', 'click', () => { - if (!this.selfClick && !this.targetEvent) { - this.hide(); - } - this.selfClick = false; - this.targetEvent = false; - }); - } - } - - ngAfterViewInit() { - this.container = this.el.nativeElement.children[0]; - if (this.appendTo) { - if (this.appendTo === 'body') { - document.body.appendChild(this.container); - } else { - this.domHandler.appendChild(this.container, this.appendTo); - } - } - } - - toggle(event: any, target?: any) { - let currentTarget = (target || event.currentTarget || event.target); - - if (!this.target || this.target === currentTarget) { - if (this.visible) { - this.hide(); - } else { - this.show(event, target); - } - } else { - this.show(event, target); - } - - if (this.dismissable) { - this.targetEvent = true; - } - - this.target = currentTarget; - } - - show(event: any, target?: any) { - if (this.dismissable) { - this.targetEvent = true; - } - - this.onBeforeShow.emit(null); - let elementTarget = target || event.currentTarget || event.target; - this.container.style.zIndex = ++DomHandler.zindex; - - if (this.visible) { - this.domHandler.absolutePosition(this.container, elementTarget); - } else { - this.visible = true; - this.domHandler.absolutePosition(this.container, elementTarget); - this.domHandler.fadeIn(this.container, 250); - } - this.onAfterShow.emit(null); - } - - hide() { - if (this.visible) { - this.onBeforeHide.emit(null); - this.visible = false; - this.onAfterHide.emit(null); - } - } - - onPanelClick() { - if (this.dismissable) { - this.selfClick = true; - } - } - - onCloseClick(event: any) { - this.hide(); - - if (this.dismissable) { - this.selfClick = true; - } - - event.preventDefault(); - } - - ngOnDestroy() { - if (this.documentClickListener) { - this.documentClickListener(); - } - - if (this.appendTo) { - this.el.nativeElement.appendChild(this.container); - } - - this.target = null; - } -} - -@NgModule({ - imports: [CommonModule], - exports: [PlxOverlayPanelComponent], - declarations: [PlxOverlayPanelComponent] -}) -export class PlxOverlayPanelModule { -} \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/pxbutton/button-state.ts b/sdc-workflow-designer-ui/src/app/paletx/core/pxbutton/button-state.ts deleted file mode 100644 index 2f1f73b2..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/core/pxbutton/button-state.ts +++ /dev/null @@ -1,6 +0,0 @@ -export enum PlxButtonState { - IDLE, - DOING, - SUCCESS, - FAILURE -} \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/pxbutton/button.directive.ts b/sdc-workflow-designer-ui/src/app/paletx/core/pxbutton/button.directive.ts deleted file mode 100644 index 842b9fb4..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/core/pxbutton/button.directive.ts +++ /dev/null @@ -1,178 +0,0 @@ -import {AfterViewInit, Directive, ElementRef, Input, OnDestroy} from '@angular/core'; - -import {DomHandler} from '../domhandler'; - -import {PlxButtonState} from './button-state'; - -@Directive({selector: '[pxButton]', providers: [DomHandler]}) -export class PlxButtonDirective implements AfterViewInit, OnDestroy { - @Input() iconPos: string = 'left'; - - @Input() cornerStyleClass: string = 'ui-corner-all'; - - _label: string; - - _loadinglabel: string; - - _icon: string; - - _state: number; - - initialized: boolean; - - constructor( - public el: ElementRef, public domHandler: DomHandler) {} - - ngAfterViewInit() { - this.domHandler.addMultipleClasses( - this.el.nativeElement, this.getStyleClass()); - if (this.icon) { - let iconElement = document.createElement('span'); - let iconPosClass = (this.iconPos === 'right') ? 'ui-button-icon-right' : - 'ui-button-icon-left'; - iconElement.className = - iconPosClass + ' ui-c iconfont plx-icon-' + this.icon; - this.el.nativeElement.appendChild(iconElement); - } - - let iconAnimationElement = document.createElement('span'); - iconAnimationElement.className = - 'ui-button-icon-left ui-c iconfont plx-icon-circle-o-notch plx-spin'; - iconAnimationElement.style.display = 'none'; - this.el.nativeElement.appendChild(iconAnimationElement); - - let labelElement = document.createElement('span'); - labelElement.className = 'ui-button-text ui-c'; - labelElement.appendChild(document.createTextNode(this.label || '')); - this.el.nativeElement.appendChild(labelElement); - - if (this.state) { - let spanElement = - this.domHandler.findSingle(this.el.nativeElement, '.ui-button-text'); - if (this.state === PlxButtonState.DOING) { - if (spanElement) { - spanElement.innerText = this.loadinglabel || 'loading'; - } - this.el.nativeElement.disabled = true; - this.setIconELement(true); - } else { - spanElement.innerText = this.label || ''; - this.el.nativeElement.disabled = false; - this.setIconELement(false); - } - } - - this.initialized = true; - } - - getStyleClass(): string { - let styleClass = - 'ui-button ui-widget ui-state-default ' + this.cornerStyleClass; - if (this.icon) { - if (this.label !== null && this.label !== undefined) { - if (this.iconPos === 'left') { - styleClass = styleClass + ' ui-button-text-icon-left'; - } else { - styleClass = styleClass + ' ui-button-text-icon-right'; - } - } else { - styleClass = styleClass + ' ui-button-icon-only'; - } - } else { - styleClass = styleClass + ' ui-button-text-only'; - } - - return styleClass; - } - - setIconELement(isShowAnimation: boolean) { - let iconLeftElement = this.domHandler.findSingle( - this.el.nativeElement, '.ui-button-icon-left.iconfont'); - if (iconLeftElement) { - iconLeftElement.style.display = isShowAnimation ? 'none' : 'inline-block'; - } - let iconRightElement = this.domHandler.findSingle( - this.el.nativeElement, '.ui-button-icon-left.iconfont'); - if (iconRightElement) { - iconRightElement.style.display = - isShowAnimation ? 'none' : 'inline-block'; - } - let iconAnimationElement = this.domHandler.findSingle( - this.el.nativeElement, '.iconfont.plx-icon-circle-o-notch.plx-spin'); - if (iconAnimationElement) { - iconAnimationElement.style.display = - isShowAnimation ? 'inline-block' : 'none'; - } - } - - @Input() - get label(): string { - return this._label; - } - - set label(val: string) { - this._label = val; - - if (this.initialized) { - this.domHandler.findSingle(this.el.nativeElement, '.ui-button-text') - .textContent = this._label; - } - } - - @Input() - get loadinglabel(): string { - return this._loadinglabel; - } - - set loadinglabel(val: string) { - this._loadinglabel = val; - } - - @Input() - get icon(): string { - return this._icon; - } - - set icon(val: string) { - this._icon = val; - - if (this.initialized) { - let iconPosClass = (this.iconPos === 'right') ? 'ui-button-icon-right' : - 'ui-button-icon-left'; - this.domHandler.findSingle(this.el.nativeElement, '.iconfont').className = - iconPosClass + ' ui-c iconfont plx-icon-' + this.icon; - } - } - - @Input() - get state(): number { - return this._state; - } - - set state(val: number) { - this._state = val; - if (this.initialized) { - let spanElement = - this.domHandler.findSingle(this.el.nativeElement, '.ui-button-text'); - if (this.state === PlxButtonState.DOING) { - if (spanElement) { - spanElement.innerText = this.loadinglabel || 'loading'; - } - this.el.nativeElement.disabled = true; - this.setIconELement(true); - } else { - spanElement.innerText = this.label || ''; - this.el.nativeElement.disabled = false; - this.setIconELement(false); - } - } - } - - ngOnDestroy() { - while (this.el.nativeElement.hasChildNodes()) { - this.el.nativeElement.removeChild(this.el.nativeElement.lastChild); - } - - this.initialized = false; - } -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/pxbutton/button.module.ts b/sdc-workflow-designer-ui/src/app/paletx/core/pxbutton/button.module.ts deleted file mode 100644 index 01973295..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/core/pxbutton/button.module.ts +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Created by 10190264 on 2016/12/15. - */ -import {CommonModule} from '@angular/common'; -import {NgModule} from '@angular/core'; -import {PlxButtonDirective} from './button.directive'; - -@NgModule({ - imports: [CommonModule], - exports: [PlxButtonDirective], - declarations: [PlxButtonDirective] -}) -export class PlxButtonModule { -} \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/pxbutton/index.ts b/sdc-workflow-designer-ui/src/app/paletx/core/pxbutton/index.ts deleted file mode 100644 index f435b247..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/core/pxbutton/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './button.module'; -export * from './button-state'; \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/select.service.ts b/sdc-workflow-designer-ui/src/app/paletx/core/select.service.ts deleted file mode 100644 index ba6f579e..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/core/select.service.ts +++ /dev/null @@ -1,57 +0,0 @@ -/* tslint:disable:array-type member-access variable-name */ -import {Injectable} from '@angular/core'; - -@Injectable() -export class SelectService { - selection: string[] = []; - - selected(indexName: string): boolean { - if (this.selection === undefined || this.selection === []) { - return null; - } - - for (let item of this.selection) { - if (item === indexName) { - return true; - } - } - return false; - } - - handleSingleSelect(optionIndex: string) { - this.selection = []; - this.selection.push(optionIndex); - return this.selection; - } - - handleMutipleSelect(optionIndex: string) { - if (this.selected(optionIndex)) { - this.selection = this.handleSecondSelect(optionIndex); - } else { - this.selection.push(optionIndex); - } - return this.selection; - } - - handleSecondSelect(optionIndex: string) { - let selectedOption = []; - for (let option of this.selection) { - if (option !== optionIndex) { - selectedOption.push(option); - } - } - return selectedOption; - } - - select(optionIndex: string, isMutiple: boolean): string[] { - if (!isMutiple) { - return this.handleSingleSelect(optionIndex); - } else { - return this.handleMutipleSelect(optionIndex); - } - } - - deselect() { - this.selection = []; - } -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/core/uuid.ts b/sdc-workflow-designer-ui/src/app/paletx/core/uuid.ts deleted file mode 100644 index 58756b63..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/core/uuid.ts +++ /dev/null @@ -1,36 +0,0 @@ -/* tslint:disable:array-type member-access variable-name */ -export class UUID { - constructor() { - // - } - - static UUID(): string { - if (typeof(window.crypto) !== 'undefined' && - typeof(window.crypto.getRandomValues) !== 'undefined') { - // If we have a cryptographically secure PRNG, use that - let buf: Uint16Array = new Uint16Array(8); - window.crypto.getRandomValues(buf); - return ( - this.pad4(buf[0]) + this.pad4(buf[1]) + '-' + this.pad4(buf[2]) + - '-' + this.pad4(buf[3]) + '-' + this.pad4(buf[4]) + '-' + - this.pad4(buf[5]) + this.pad4(buf[6]) + this.pad4(buf[7])); - } else { - // Otherwise, just use Math.random - return this.random4() + this.random4() + '-' + this.random4() + '-' + - this.random4() + '-' + this.random4() + '-' + this.random4() + - this.random4() + this.random4(); - } - } - - private static pad4(num: number): string { - let ret: string = num.toString(16); - while (ret.length < 4) { - ret = '0' + ret; - } - return ret; - } - - private static random4(): string { - return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); - } -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/numberedFixLen.pipe.ts b/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/numberedFixLen.pipe.ts deleted file mode 100644 index 9d26b16f..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/numberedFixLen.pipe.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * numberFixedLen.pipe - */ - -import { Pipe, PipeTransform } from '@angular/core'; - -@Pipe({ - name: 'numberFixedLen' -}) -export class NumberFixedLenPipe implements PipeTransform { - transform(num: number, len: number): any { - let numberInt = Math.floor(num); - let length = Math.floor(len); - - if (num === null || isNaN(numberInt) || isNaN(length)) { - return num; - } - - let numString = numberInt.toString(); - - while (numString.length < length) { - numString = '0' + numString; - } - - return numString; - } -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/picker.component.css b/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/picker.component.css deleted file mode 100644 index 02983835..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/picker.component.css +++ /dev/null @@ -1,366 +0,0 @@ -.owl-dateTime-input { - width: 100%; - padding-right: 1.5em; } - -.owl-dateTime-cancel { - position: absolute; - top: 50%; - right: .1em; - border-radius: 50%; - transform: translateY(-50%); - cursor: pointer; - color: inherit; } - -.owl-dateTime-inputWrapper { - position: relative; } - -.owl-dateTime-customTemp { - display: inline-block; - position: relative; } - -.owl-dateTime-dialog { - position: absolute; } - -.owl-dateTime-dialogHeader { - display: flex; - justify-content: center; - align-items: center; - width: 100%; } - -.owl-calendar-wrapper, -.owl-timer-wrapper { - position: relative; - width: 100%; - padding: .2em .5em; } - -.owl-calendar-control { - display: flex; - justify-content: space-around; - width: 100%; - height: 2em; } - .owl-calendar-control .owl-calendar-controlNav { - position: relative; - cursor: pointer; - width: 12.5%; } - .owl-calendar-control .owl-calendar-controlContent { - display: flex; - justify-content: center; - align-items: center; - width: 75%; - height: 100%; } - -.owl-calendar { - position: relative; - min-height: 13.7em; } - .owl-calendar table { - width: 100%; - border-collapse: collapse; } - .owl-calendar tbody td { - position: relative; - text-align: center; } - .owl-calendar tbody td a { - display: block; - width: 100%; - height: 100%; - text-decoration: none; - color: inherit; - font-size:12px; - } - .owl-calendar .owl-calendar-yearArrow { - position: absolute; - top: 50%; - width: 1.5em; - height: 1.5em; - transform: translateY(-50%); - cursor: pointer; } - .owl-calendar .owl-calendar-yearArrow.left { - left: -.5em; } - .owl-calendar .owl-calendar-yearArrow.right { - right: -.5em; } - -.owl-timer-wrapper { - position: relative; - display: flex; - justify-content: center; } - .owl-timer-wrapper .owl-timer { - position: relative; - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - width: 25%; - height: 100%; } - .owl-timer-wrapper .owl-timer-control { - display: flex; - justify-content: center; - align-items: center; - height: 30%; - width: 100%; - cursor: pointer; } - .owl-timer-wrapper .owl-timer-control .icon:before { - margin: 0; } - .owl-timer-wrapper .owl-timer-input { - width: 60%; - height: 100%; } - -/*# sourceMappingURL=picker.component.css.map */ -.font-face { - font-weight: normal; - font-style: normal; } -[class^="icon-"]:before, [class*=" icon-"]:before { - font-family: "fontello"; - font-style: normal; - font-weight: normal; - speak: none; - display: inline-block; - text-decoration: inherit; - width: 1em; - margin-right: .2em; - text-align: center; - /* opacity: .8; */ - /* For safety - reset parent styles, that can break glyph codes*/ - font-variant: normal; - text-transform: none; - /* fix buttons height, for twitter bootstrap */ - line-height: 1em; - /* Animation center compensation - margins should be symmetric */ - /* remove if not needed */ - margin-left: .2em; - /* you can be more comfortable with increased icons size */ - /* font-size: 120%; */ - /* Font smoothing. That was taken from TWBS */ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - /* Uncomment for 3D effect */ - /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ } - -.icon-cancel:before { - content: '\e802'; } - -/* '' */ -.icon-up-open:before { - content: '\e805'; } - -/* '' */ -.icon-down-open:before { - content: '\e80b'; } - -/* '' */ -.icon-left-open:before { - content: '\e817'; } - -/* '' */ -.icon-right-open:before { - content: '\e818'; } - -/* '' */ -.owl-widget, -.owl-widget * { - box-sizing: border-box; } - -.owl-widget { - font-size: 1em; } - -.owl-state-focus { - box-shadow: 0px 0px 5px #1f89ce; } - -.owl-corner-all { - border-radius: 3px; } - -.owl-corner-top { - border-top-left-radius: 3px; - border-top-right-radius: 3px; } - -.owl-state-default { - border: 1px solid #d6d6d6; - background: #ffffff; - color: #555555; } - -.owl-inputtext { - margin: 0; - outline: medium none; - padding: .25em; - background: #ffffff; - color: #222222; - transition: .2s; } - .owl-inputtext:focus, .owl-inputtext.owl-state-focus { - box-shadow: 0 0 5px #1f89ce; } - -.owl-dateTime { - display: inline-block; - position: relative; - width: 100%; } - .owl-dateTime.owl-dateTime-inline { - width: auto; } - .owl-dateTime.owl-dateTime-inline .owl-dateTime-dialog { - position: relative; - z-index: auto; } - -.owl-dateTime-dialog { - width: 300px; - user-select: none; - z-index: 99999; } - -.owl-dateTime-dialogHeader { - height: 2.5em; - padding: .25em; - background-color: rgba(0, 0, 0, 0.1); - overflow-y: auto; } - -.owl-calendar-control .owl-calendar-controlNav .nav-prev, -.owl-calendar-control .owl-calendar-controlNav .nav-next { - position: absolute; - top: 50%; - right: auto; - bottom: auto; - left: 50%; - transform: translate(-50%, -50%); } - .owl-calendar-control .owl-calendar-controlNav .nav-prev:before, - .owl-calendar-control .owl-calendar-controlNav .nav-next:before { - content: " "; - border-top: .5em solid transparent; - border-bottom: .5em solid transparent; - border-right: 0.75em solid #000000; - width: 0; - height: 0; - display: block; - margin: 0 auto; } -.owl-calendar-control .owl-calendar-controlNav .nav-next:before { - border-right: 0; - border-left: 0.75em solid #000000; } -.owl-calendar-control .owl-calendar-controlContent .month-control, -.owl-calendar-control .owl-calendar-controlContent .year-control { - display: inline-block; - cursor: pointer; - transition: transform 200ms ease; } - .owl-calendar-control .owl-calendar-controlContent .month-control:hover, - .owl-calendar-control .owl-calendar-controlContent .year-control:hover { - transform: scale(1.2); } -.owl-calendar-control .owl-calendar-controlContent .month-control { - font-size: 1em; - margin-right: .8rem; - font-weight: 700; } -.owl-calendar-control .owl-calendar-controlContent .year-control { - font-size: .8em; - font-style: italic; - color: #999; } - - -.owl-calendar tbody td .owl-calendar-selected { - background-color: #00abff; - color: #FFFFFF; } -.owl-calendar tbody td.owl-calendar-invalid { - color: #acacac; } -.owl-calendar tbody td.owl-calendar-outFocus { - color: #dddddd; } -.owl-calendar tbody td.owl-calendar-hidden { - visibility: hidden; } -.owl-calendar tbody td:not(.owl-calendar-selected):not(.owl-calendar-invalid):hover { - background-color: #bae4ff; - color: #000000; } - -.owl-years td.owl-year, -.owl-years td.owl-month, -.owl-months td.owl-year, -.owl-months td.owl-month { - font-size: 1.2em; - height: 2.5em; - width: 33.33%; - line-height: 2.5em; } - -.owl-weekdays th.owl-weekday { - height: 1em; - line-height: 2em; - text-align: center; - font-size: .7em; - color: #999; } - -.owl-days td.owl-day { - height: 2em; - width: calc(100% / 7); - line-height: 2em; } - .owl-days td.owl-day.owl-day-today:before { - content: ''; - display: block; - position: absolute; - right: 2px; - top: 2px; - border-top: 0.5em solid #21a7ff; - border-left: .5em solid transparent; - } - -.owl-timer-wrapper { - height: 5.4em; - background-color: rgba(0, 0, 0, 0.1); } - .owl-timer-wrapper .owl-timer-text { - display: flex; - justify-content: center; - align-items: center; - width: 100%; - height: 40%; - font-size: 1.5em; } - .owl-timer-wrapper .owl-meridian-btn { - font-size: .8em; - color: #00abff; - background-image: none; - background-color: transparent; - border-color: #00abff; } - .owl-timer-wrapper .owl-meridian-btn:hover { - color: #FFFFFF; - background-color: #00abff; - border-color: #00abff; } - -.owl-timer-divider { - display: inline-block; - align-self: flex-end; - position: absolute; - width: .6em; - height: 100%; - left: -.3em; } - .owl-timer-divider .owl-timer-dot { - display: block; - width: .3em; - height: .3em; - position: absolute; - left: 50%; - border-radius: 50%; - transform: translateX(-50%); } - .owl-timer-divider .owl-timer-dot.dot-top { - top: 38%; } - .owl-timer-divider .owl-timer-dot.dot-bottom { - bottom: 38%; } -.owl-icon{ - position: absolute; - top: 50%; - right: .1em; - border-radius: 50%; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); - cursor: pointer; - color: #9a9a9a; -} -.plx-btn{color: #00abff; -min-width: 80px; -letter-spacing: 1px; -padding: 0px 16px; -height: 32px; -font-size: 12px; -cursor: pointer; -text-align: center; -white-space: nowrap; -margin-right: 10px; -vertical-align: middle; -border: 1px solid #d9d9d9; -background-color: #fff; -border-radius: 3px; -line-height: 30px; -} -.plx-btn-xs{ - height: 24px; - padding: 0px 12px; - min-width: 60px; - margin-right: 5px; - line-height: 22px; -} -/*# sourceMappingURL=picker.css.map */ - diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/picker.component.html b/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/picker.component.html deleted file mode 100644 index 8e4102c2..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/picker.component.html +++ /dev/null @@ -1,134 +0,0 @@ -
-
- - - - -
- -
- -
-
-
- {{formattedValue}} - {{placeHolder}} -
-
-
-
- -
-
- {{pickerMonth}} - {{pickerYear}} -
-
- -
-
-
- - - - - - - - - - - -
- {{weekDay}} -
-
- {{d.num}} -
-
-
-
- - - - - - -
-
- {{month}} -
-
-
-
- - - - - - -
-
- {{year}} -
-
- -
-
-
-
- -
- -
-
-
-
-
\ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/picker.component.less b/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/picker.component.less deleted file mode 100644 index 8e50660b..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/picker.component.less +++ /dev/null @@ -1,434 +0,0 @@ -@import "../../assets/components/themes/default/theme.less"; -@import "../../assets/components/themes/common/plx-input.less"; -@import "../../assets/components/themes/common/plx-button.less"; - -.owl-dateTime { - display: inline-block; - position: relative; - width: 100%; - font-family: @font-family; - font-size: @font-size; - background: @component-bg; - color: @text-color; -} - -.owl-dateTime input { - .plx-input; -} - -.owl-dateTime input:-ms-input-placeholder { - color: @unselected-text-color !important; -} -.owl-dateTime input::-webkit-input-placeholder { - color: @unselected-text-color !important; -} - -.owl-dateTime-input { - width: 100%; - padding-right: 1.5em; } - -.owl-dateTime-cancel { - position: absolute; - top: 50%; - right: .1em; - border-radius: 50%; - transform: translateY(-50%); - cursor: pointer; - color: inherit; } - -.owl-dateTime-inputWrapper { - position: relative; } - -.owl-dateTime-customTemp { - display: inline-block; - position: relative; } - -.owl-dateTime-dialog { - padding: 0px; - position: absolute; } - -.owl-dateTime-dialogHeader { - display: flex; - justify-content: center; - align-items: center; - width: 100%; } - -.owl-calendar-wrapper, -.owl-timer-wrapper { - position: relative; - width: 100%; - padding: .2em .5em; } - -.owl-calendar-control { - display: flex; - justify-content: space-around; - width: 100%; - height: 2em; } - .owl-calendar-control .owl-calendar-controlNav { - position: relative; - cursor: pointer; - width: 12.5%; } - .owl-calendar-control .owl-calendar-controlContent { - display: flex; - justify-content: center; - align-items: center; - width: 75%; - height: 100%; } - -.owl-calendar { - position: relative; - min-height: 13.7em; } - .owl-calendar table { - width: 100%; - border-collapse: collapse; } - .owl-calendar tbody td { - position: relative; - text-align: center; } - .owl-calendar tbody td a { - display: block; - width: 100%; - height: 100%; - text-decoration: none; - color: inherit; - font-size:12px; - } - .owl-calendar .owl-calendar-yearArrow { - position: absolute; - top: 50%; - width: 1.5em; - height: 1.5em; - transform: translateY(-50%); - cursor: pointer; } - .owl-calendar .owl-calendar-yearArrow.left { - left: -.5em; } - .owl-calendar .owl-calendar-yearArrow.right { - right: -.5em; } - -.owl-timer-wrapper { - position: relative; - display: flex; - justify-content: center; } - .owl-timer-wrapper .owl-timer { - position: relative; - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - width: 25%; - height: 100%; } - .owl-timer-wrapper .owl-timer-control { - display: flex; - justify-content: center; - align-items: center; - height: 30%; - width: 100%; - cursor: pointer; } - .owl-timer-wrapper .owl-timer-control .icon:before { - margin: 0; } - .owl-timer-wrapper .owl-timer-input { - width: 60%; - height: 100%; } - -/*# sourceMappingURL=picker.component.css.map */ -.font-face { - font-weight: normal; - font-style: normal; } - -[class^="paletx-datepicker-icon-"]:before, [class*="paletx-datepicker-icon-"]:before { - font-family: "fontello"; - font-style: normal; - font-weight: normal; - speak: none; - display: inline-block; - text-decoration: inherit; - width: 1em; - margin-right: .2em; - text-align: center; - /* opacity: .8; */ - /* For safety - reset parent styles, that can break glyph codes*/ - font-variant: normal; - text-transform: none; - /* fix buttons height, for twitter bootstrap */ - line-height: 1em; - /* Animation center compensation - margins should be symmetric */ - /* remove if not needed */ - margin-left: .2em; - /* you can be more comfortable with increased icons size */ - /* font-size: 120%; */ - /* Font smoothing. That was taken from TWBS */ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - /* Uncomment for 3D effect */ - /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ } - -.paletx-datepicker-icon-cancel:before { - content: '\e802'; } - -/* '' */ -.paletx-datepicker-icon-up-open:before { - content: '\e805'; } - -/* '' */ -.paletx-datepicker-icon-down-open:before { - content: '\e80b'; } - -/* '' */ -.paletx-datepicker-icon-left-open:before { - content: '\e817'; } - -/* '' */ -.paletx-datepicker-icon-right-open:before { - content: '\e818'; } - -/* '' */ -.owl-widget, -.owl-widget * { - box-sizing: border-box; } - -.owl-widget { - font-size: 1em; } -.owl-padding{ - padding: 0px; -} -.owl-corner-all { - border-radius: 3px; } - -.owl-corner-top { - border-top-left-radius: 3px; - border-top-right-radius: 3px; } - -.owl-state-default { - border: 1px solid @border-color-base; - background: @component-bg; - color: @text-color; } - -.owl-inputtext { - margin: 0; - outline: medium none; - transition: .2s; } - - - .owl-dateTime.owl-dateTime-inline { - width: auto; } - .owl-dateTime.owl-dateTime-inline .owl-dateTime-dialog { - position: relative; - z-index: auto; } - -.owl-dateTime-dialog { - width: 300px; - user-select: none; - z-index: 99999; } - -.owl-dateTime-dialogHeader { - height: 2.5em; - padding: .25em; - background-color: @component-bg; - overflow-y: auto; } - -.owl-calendar-control .owl-calendar-controlNav .nav-prev, -.owl-calendar-control .owl-calendar-controlNav .nav-next { - position: absolute; - top: 50%; - right: auto; - bottom: auto; - left: 50%; - transform: translate(-50%, -50%); -} - -.owl-cal-header{ - background: @selected-bg-color; - //color: @form-label; - height: 35px; - //width: 105%; - //margin-left: -7px; -} - .owl-calendar-control .owl-calendar-controlNav .nav-prev:before, - .owl-calendar-control .owl-calendar-controlNav .nav-next:before { - //content: ""; - border-top: .5em solid transparent; - border-bottom: .5em solid transparent; - border-right: 0.75em solid #000000; - width: 0; - height: 0; - display: block; - margin: 0 auto; } -.owl-calendar-control .owl-calendar-controlNav .nav-next:before { - border-right: 0; - border-left: 0.75em solid #000000; } -.owl-calendar-control .owl-calendar-controlContent .month-control, -.owl-calendar-control .owl-calendar-controlContent .year-control { - color: @unselected-text-color; - display: inline-block; - cursor: pointer; - transition: transform 200ms ease; } - .owl-calendar-control .owl-calendar-controlContent .month-control:hover, - .owl-calendar-control .owl-calendar-controlContent .year-control:hover { - // transform: scale(1.2); } - color: @guide-color; } -.owl-calendar-control .owl-calendar-controlContent .month-control { - font-size: @font-size-title-group; - margin-right: .8rem; -} -.owl-calendar-control .owl-calendar-controlContent .year-control { - font-size: @font-size-title-group; -} - -.owl-calendar tbody td.owl-calendar-selected { - background-color: @guide-color; - color: @component-bg } -.owl-calendar tbody td.owl-calendar-invalid { - color: @disabled-text-color } -.owl-calendar tbody td.owl-calendar-outFocus { - color: @unselected-text-color; } -.owl-calendar tbody td.owl-calendar-hidden { - visibility: hidden; } - /** -.owl-calendar tbody td:not(.owl-calendar-selected):not(.owl-calendar-invalid):hover { - background-color: @hover-bg-color; - color: @shadow-color } -**/ -.owl-years td.owl-year, -.owl-years td.owl-month, -.owl-months td.owl-year, -.owl-months td.owl-month { - font-size: 1.2em; - height: 2.5em; - width: 33.33%; - line-height: 2.5em; - border-radius: 60px; - } - -.owl-weekdays th.owl-weekday { - height: 1em; - line-height: 2em; - text-align: center; - font-weight: normal; - font-size: @font-size; - /**color: @unselected-text-color; **/ - } - -.owl-days td.owl-day { - border-radius: 30px; - height: 2em; - width: calc(100% / 7); - line-height: 2em; } - .owl-days td.owl-day.owl-day-today:before { - content: ''; - display: block; - position: absolute; - right: 2px; - top: 2px; - color: @primary-color; - border-top: 0.5em solid @primary-color-hover; - border-left: .5em solid transparent; - } - -.owl-timer-wrapper { - height: 5.4em; - background-color: @shadow-color; } - .owl-timer-wrapper .owl-timer-text { - display: flex; - justify-content: center; - align-items: center; - width: 100%; - height: 40%; - font-size: 1.5em; } - .owl-timer-wrapper .owl-meridian-btn { - font-size: .8em; - color: @guide-color; - background-image: none; - background-color: transparent; - border-color: @guide-color; } - .owl-timer-wrapper .owl-meridian-btn:hover { - color: @scene-textcolor; - background-color: @guide-color; - border-color: @guide-color; } - -.owl-timer-divider { - display: inline-block; - align-self: flex-end; - position: absolute; - width: .6em; - height: 100%; - left: -.3em; } - .owl-timer-divider .owl-timer-dot { - display: block; - width: .3em; - height: .3em; - position: absolute; - left: 50%; - border-radius: 50%; - transform: translateX(-50%); } - .owl-timer-divider .owl-timer-dot.dot-top { - top: 38%; } - .owl-timer-divider .owl-timer-dot.dot-bottom { - bottom: 38%; } -.owl-icon{ - position: absolute; - top: 50%; - right: .1em; - border-radius: 50%; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); - cursor: pointer; - color: @fonticon-color; -} - -.oes-time-control{ - color: @text-color !important; -} -.owl-calendar-selected { - background-color: @guide-color; - color: #fff; - border-radius: 50%; -} -.owl-calendar tbody td div.day:not(.owl-calendar-selected):not(.owl-calendar-invalid):hover { - background-color: @hover-bg-color; - color:#000; - border-radius: 50%; } -.oes-time-control{ - font-size: @font-size; -} -.owl-calendar-year-part{ - width: 42px; - margin-left: 30px; - text-align: center; -} -.owl-calendar-year-part:hover{ - background-color: @hover-bg-color; - color:#000; - border-radius: 50%; -} -.owl-calendar-year-selected{ - background-color: @guide-color; - color: #fff; - border-radius: 50%; -} -.owl-calendar-year-selected:hover{ - background-color: @guide-color; - color: #fff; - border-radius: 50%; -} -.owl-calendar-month-part{ - width: 42px; - margin-left: 30px; - text-align: center; -} -.owl-calendar-month-part:hover{ - background-color: @hover-bg-color; - color:#000; - border-radius: 50%; -} -.owl-calendar-month-selected{ - background-color: @guide-color; - color: #fff; - border-radius: 50%; -} -.owl-calendar-month-selected:hover{ - background-color: @guide-color; - color: #fff; - border-radius: 50%; -} - -/*# sourceMappingURL=picker.css.map */ - diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/picker.component.ts b/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/picker.component.ts deleted file mode 100644 index 493e0cb2..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/picker.component.ts +++ /dev/null @@ -1,1712 +0,0 @@ -/** - * picker.component - */ - -import { - AfterViewInit, - Component, ElementRef, EventEmitter, forwardRef, Input, OnDestroy, OnInit, Output, Renderer2, - ViewChild -} from '@angular/core'; -import { animate, state, style, transition, trigger } from '@angular/animations'; -import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'; -import { - parse, - isValid, - startOfMonth, - getDate, - getDay, - addDays, - addMonths, - isSameDay, - isSameMonth, - isToday, - getMonth, - setMonth, - getYear, - addYears, - differenceInCalendarDays, - setYear, - getHours, - setHours, - getMinutes, - setMinutes, - getSeconds, - setSeconds, - isBefore, - isAfter, - compareAsc, - startOfDay, - format, - endOfDay, -} from 'date-fns'; -import { NumberFixedLenPipe } from './numberedFixLen.pipe'; - -export interface LocaleSettings { - firstDayOfWeek?: number; - dayNames: string[]; - dayNamesShort: string[]; - monthNames: string[]; - monthNamesShort: string[]; - dateFns: any; - confirm: string; -} - -export enum DialogType { - Time, - Date, - Month, - Year, -} - -export const DATETIMEPICKER_VALUE_ACCESSOR: any = { - provide: NG_VALUE_ACCESSOR, - useExisting: forwardRef(() => DateTimePickerComponent), - multi: true -}; - -@Component({ - selector: 'plx-datepicker', - templateUrl: './picker.component.html', - styleUrls: ['./picker.component.less'], - providers: [NumberFixedLenPipe, DATETIMEPICKER_VALUE_ACCESSOR], - animations: [ - trigger('fadeInOut', [ - state('hidden', style({ - opacity: 0, - display: 'none' - })), - state('visible', style({ - opacity: 1, - display: 'block' - })), - transition('visible => hidden', animate('200ms ease-in')), - transition('hidden => visible', animate('400ms ease-out')) - ]) - ], -}) - -export class DateTimePickerComponent implements OnInit, AfterViewInit, OnDestroy, ControlValueAccessor { - - @ViewChild('timepicker') public timepicker; - - /** - * Type of the value to write back to ngModel - * @default 'date' -- Javascript Date type - * @type {'string' | 'date'} - * */ - @Input() dataType: 'string' | 'date' = 'date'; - - /** - * Format of the date - * @default 'y/MM/dd' - * @type {String} - * */ - @Input() dateFormat: string = 'YYYY-MM-DD HH:mm'; - /** - * When present, it specifies that the component should be disabled - * @default false - * @type {Boolean} - * */ - @Input() disabled: boolean; - /** - * @default false - * @type {Boolean} - * */ - @Input() supportKeyboardInput: boolean = false; - /** - * Array with dates that should be disabled (not selectable) - * @default null - * @type {Date[]} - * */ - @Input() disabledDates: Date[] = []; - - /** - * Array with weekday numbers that should be disabled (not selectable) - * @default null - * @type {number[]} - * */ - @Input() disabledDays: number[]; - - /** - * When enabled, displays the calendar as inline - * @default false -- popup mode - * @type {boolean} - * */ - @Input() inline: boolean; - - /** - * Identifier of the focus input to match a label defined for the component - * @default null - * @type {String} - * */ - @Input() inputId: string; - - /** - * Inline style of the picker text input - * @default null - * @type {any} - * */ - @Input() inputStyle: any; - - /** - * Style class of the picker text input - * @default null - * @type {String} - * */ - @Input() inputStyleClass: string; - - /** - * Maximum number of selectable dates in multiple mode - * @default null - * @type {number} - * */ - @Input() maxDateCount: number; - - /** - * The minimum selectable date time - * @default null - * @type {Date | string} - * */ - private _max: Date; - @Input() - get max() { - return this._max; - } - - set max(val: Date | string) { - this._max = this.parseToDate(val); - } - - @Input() - get maxDate() { - return this._max; - } - - set maxDate(val: Date | string) { - this._max = this.parseToDate(val); - } - - /** - * The maximum selectable date time - * @default null - * @type {Date | string } - * */ - private _min: Date; - @Input() - get min() { - return this._min; - } - - set min(val: Date | string) { - this._min = this.parseToDate(val); - } - @Input() - get minDate() { - return this._min; - } - - set minDate(val: Date | string) { - this._min = this.parseToDate(val); - } - - @Input() - get dateValue() { - return this.value; - } - - set dateValue(val: Date | string) { - let newvalue = this.parseToDate(val); - if(newvalue!==undefined) - { - this.updateModel(newvalue); - this.updateCalendar(newvalue); - this.updateTimer(newvalue); - this.updateFormattedValue(); - } - } - - - /** - * Picker input placeholder value - * @default - * @type {String} - * */ - @Input() placeHolder: string = 'yyyy-mm-dd hh:mm'; - - /** - * When present, it specifies that an input field must be filled out before submitting the form - * @default false - * @type {Boolean} - * */ - @Input() required: boolean; - - /** - * Defines the quantity of the selection - * 'single' -- allow only a date value to be selected - * 'multiple' -- allow multiple date value to be selected - * 'range' -- allow to select an range ot date values - * @default 'single' - * @type {string} - * */ - @Input() selectionMode: 'single' | 'multiple' | 'range' = 'single'; - - /** - * Whether to show the picker dialog header - * @default false - * @type {Boolean} - * */ - @Input() showHeader: boolean; - - @Input() canClear: boolean = true; - - /** - * Whether to show the second's timer - * @default false - * @type {Boolean} - * */ - @Input() showSeconds: boolean; - - /** - * Inline style of the element - * @default null - * @type {any} - * */ - @Input() style: any; - - /** - * Style class of the element - * @default null - * @type {String} - * */ - @Input() styleClass: string; - - /** - * Index of the element in tabbing order - * @default null - * @type {Number} - * */ - @Input() tabIndex: number; - - /** - * Set the type of the dateTime picker - * 'both' -- show both calendar and timer - * 'calendar' -- show only calendar - * 'timer' -- show only timer - * @default 'both' - * @type {'both' | 'calendar' | 'timer'} - * */ - @Input() type: 'both' | 'calendar' | 'timer' = 'calendar'; - - //附加方法 - @Input() - set timeOnly(value: boolean) { - if (value) { - this.type = 'timer'; - } - else { - this.type = "both"; - } - } - - @Input() - set showTime(value: boolean) { - if (value) { - this.type = 'both'; - } - else { - this.type = "calendar"; - } - } - - /** - * An object having regional configuration properties for the dateTimePicker - * */ - @Input() - get locale(): any { - return this._locale; - } - set locale(val: any) { - if (val !== undefined) { - this._locale = val; - this._userlocale = true; - } - } - - @Input() localePrefab: 'Zh' | 'En' = 'En'; - /** - * Determine the hour format (12 or 24) - * @default '24' - * @type {'24'| '12'} - * */ - @Input() hourFormat: '12' | '24' = '24'; - - - /** - * When it is set to false, only show current month's days in calendar - * @default true - * @type {boolean} - * */ - @Input() showOtherMonths: boolean = true; - - /** - * Callback to invoke when dropdown gets focus. - * */ - @Output() onFocus: any = new EventEmitter(); - - /** - * Callback to invoke when dropdown gets focus. - * */ - @Output() onConfirm: any = new EventEmitter(); - - /** - * Callback to invoke when dropdown loses focus. - * */ - @Output() onBlur: any = new EventEmitter(); - - /** - * Callback to invoke when a invalid date is selected. - * */ - @Output() onInvalid: any = new EventEmitter(); - - - - @ViewChild('container') containerElm: ElementRef; - @ViewChild('textInput') textInputElm: ElementRef; - @ViewChild('dialog') dialogElm: ElementRef; - - public calendarDays: Array; - public calendarWeekdays: string[]; - public calendarMonths: Array; - public calendarYears: Array = []; - public dialogType: DialogType = DialogType.Date; - public dialogVisible: boolean; - public focus: boolean; - public formattedValue: string = ''; - public value: any; - public pickerMoment: Date; - public pickerMonth: string; - public pickerYear: string; - - public hourValue: number; - public minValue: number; - public secValue: number; - public meridianValue: string = 'AM'; - private _userlocale: boolean = false; - private _locale: LocaleSettings = { - firstDayOfWeek: 0, - dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], - dayNamesShort: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'], - //dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], - monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], - monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - dateFns: null, - confirm: 'OK' - }; - private _localeEn: LocaleSettings = { - firstDayOfWeek: 0, - dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], - dayNamesShort: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'], - monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], - monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - dateFns: null, - confirm: 'OK' - }; - private _localeZh: LocaleSettings = { - firstDayOfWeek: 0, - dayNames: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'], - dayNamesShort: ['日', '一', '二', '三', '四', '五', '六'], - monthNames: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'], - monthNamesShort: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'], - dateFns: null, - confirm: '确定' - }; - private dialogClick: boolean; - private documentClickListener: Function; - private valueIndex: number = 0; - private onModelChange: Function = () => { - // - } - private onModelTouched: Function = () => { - // - } - - constructor(private renderer: Renderer2, - private numFixedLenPipe: NumberFixedLenPipe) { - } - private updateDate(newvalue : Date) - { - if(newvalue!==undefined&&newvalue!==null) - { - if(this.min) - { - newvalue = this._min.getTime()<=newvalue.getTime()?newvalue:new Date(this._min); - } - if(this.max) - { - newvalue = this._max.getTime()>=newvalue.getTime()?newvalue:new Date(this._max); - } - this.updateModel(newvalue); - this.updateCalendar(newvalue); - this.updateTimer(newvalue); - this.updateFormattedValue(); - return; - } - } - public onInputChange(event:any): void { - let newvalue = this.parseToDate(event.target.value); - if(newvalue!==undefined&&newvalue!==null) - { - if(this.min) - { - newvalue = this._min.getTime()<=newvalue.getTime()?newvalue:new Date(this._min); - } - if(this.max) - { - newvalue = this._max.getTime()>=newvalue.getTime()?newvalue:new Date(this._max); - } - this.updateModel(newvalue); - this.updateCalendar(newvalue); - this.updateTimer(newvalue); - this.updateFormattedValue(); - return; - } - this.updateModel(null); - this.updateCalendar(null); - this.updateTimer(null); - this.updateFormattedValue(); - } - public ngOnInit(): void { - - if ((!this._userlocale) || this.locale === null && this.locale === undefined) { - switch (this.localePrefab) { - - case 'Zh': { - this._locale = this._localeZh; - break; - } - case 'En': { - this._locale = this._localeEn; - break; - } - default: - { - this._locale = this._localeEn; - break; - } - } - } - this.pickerMoment = new Date(); - - if (this.type === 'both' || this.type === 'calendar') { - this.generateWeekDays(); - this.generateMonthList(); - } - this.updateTimer(this.value); - } - - public ngAfterViewInit(): void { - this.updateCalendar(this.value); - this.updateTimer(this.value); - } - - public ngOnDestroy(): void { - this.unbindDocumentClickListener(); - } - - public writeValue(obj: any): void { - - if (obj instanceof Array) { - this.value = []; - for (let o of obj) { - let v = this.parseToDate(o); - this.value.push(v); - } - this.updateCalendar(this.value[0]); - this.updateTimer(this.value[0]); - } else { - this.value = this.parseToDate(obj); - this.updateCalendar(this.value); - this.updateTimer(this.value); - } - this.updateFormattedValue(); - } - - public registerOnChange(fn: any): void { - this.onModelChange = fn; - } - - public registerOnTouched(fn: any): void { - this.onModelTouched = fn; - } - - public setDisabledState(isDisabled: boolean): void { - this.disabled = isDisabled; - } - - - private initflag = true; - /** - * Handle click event on the text input - * @param {any} event - * @return {void} - * */ - public onInputClick(event: any): void { - - if (this.timepicker !== undefined && this.initflag) { - this.initflag = false; - if (this.value !== undefined && this.value !== null) { - this.timepicker.updateHour(this.value.getHours()); - this.timepicker.updateMinute(this.value.getMinutes()); - this.timepicker.updateSecond(this.value.getSeconds()); - } - else { - this.timepicker.updateHour(0); - this.timepicker.updateMinute(0); - this.timepicker.updateSecond(0); - this.updateModel(null); - this.updateFormattedValue(); - } - } - if (this.disabled) { - event.preventDefault(); - return; - } - - this.dialogClick = true; - if (!this.dialogVisible) { - this.show(); - } - event.preventDefault(); - return; - } - - /** - * Set the element on focus - * @param {any} event - * @return {void} - * */ - public onInputFocus(event: any): void { - this.focus = true; - this.onFocus.emit(event); - event.preventDefault(); - return; - } - - /** - * Set the element on blur - * @param {any} event - * @return {void} - * */ - public onInputBlur(event: any): void { - this.focus = false; - this.onModelTouched(); - this.onBlur.emit(event); - event.preventDefault(); - return; - } - - /** - * Handle click event on the dialog - * @param {any} event - * @return {void} - * */ - public onDialogClick(event: any): void { - this.dialogClick = true; - } - - /** - * Go to previous month - * @param {any} event - * @return {void} - * */ - public prevMonth(event: any): void { - - if (this.disabled) { - event.preventDefault(); - return; - } - - this.pickerMoment = addMonths(this.pickerMoment, -1); - this.generateCalendar(); - if(this.value!==undefined&&this.value!==null) - { - let nowvalue = new Date(this.value); - nowvalue.setMonth(this.pickerMoment.getMonth()); - this.updateDate(nowvalue); - } - event.preventDefault(); - return; - } - - /** - * Go to next month - * @param {any} event - * @return {void} - * */ - public nextMonth(event: any): void { - - if (this.disabled) { - event.preventDefault(); - return; - } - - this.pickerMoment = addMonths(this.pickerMoment, 1); - this.generateCalendar(); - if(this.value!==undefined&&this.value!==null) - { - let nowvalue = new Date(this.value); - nowvalue.setMonth(this.pickerMoment.getMonth()); - this.updateDate(nowvalue); - } - event.preventDefault(); - return; - } - - /** - * Select a date - * @param {any} event - * @param {Date} date - * @return {void} - * */ - public selectDate(event: any, date: Date): void { - - if (this.disabled || !date) { - event.preventDefault(); - return; - } - - let temp: Date; - // check if the selected date is valid - if (this.isValidValue(date)) { - temp = date; - } else { - if (isSameDay(date, this._min)) { - temp = new Date(this._min); - } else if (isSameDay(date, this._max)) { - temp = new Date(this._max); - } else { - this.onInvalid.emit({ originalEvent: event, value: date }); - return; - } - } - if (this.minValue !== undefined) { - temp.setMinutes(this.minValue); - } - if (this.secValue !== undefined) { - temp.setSeconds(this.secValue); - } - if (this.hourValue !== undefined) { - temp.setHours(this.hourValue); - } - let selected; - if (this.isSingleSelection()) { - if (!isSameDay(this.value, temp)) { - selected = temp; - } - } else if (this.isRangeSelection()) { - if (this.value && this.value.length) { - let startDate = this.value[0]; - let endDate = this.value[1]; - - if (!endDate && temp.getTime() > startDate.getTime()) { - endDate = temp; - this.valueIndex = 1; - } else { - startDate = temp; - endDate = null; - this.valueIndex = 0; - } - selected = [startDate, endDate]; - } else { - selected = [temp, null]; - this.valueIndex = 0; - } - } else if (this.isMultiSelection()) { - - // check if it exceeds the maxDateCount limit - if (this.maxDateCount && this.value && - this.value.length && this.value.length >= this.maxDateCount) { - this.onInvalid.emit({ originalEvent: event, value: 'Exceed max date count.' }); - return; - } - - if (this.isSelectedDay(temp)) { - selected = this.value.filter((d: Date) => { - return !isSameDay(d, temp); - }); - } else { - selected = this.value ? [...this.value, temp] : [temp]; - this.valueIndex = selected.length - 1; - } - } - if (selected) { - this.updateModel(selected); - if (this.value instanceof Array) { - this.updateCalendar(this.value[this.valueIndex]); - this.updateTimer(this.value[this.valueIndex]); - } else { - this.updateCalendar(this.value); - this.updateTimer(this.value); - } - this.updateFormattedValue(); - } - } - - /** - * Set a pickerMoment's month - * @param {Number} monthNum - * @return {void} - * */ - public selectMonth(monthNum: number): void { - this.pickerMoment = setMonth(this.pickerMoment, monthNum); - this.generateCalendar(); - if(this.value!==undefined&&this.value!==null) - { - let nowvalue = new Date(this.value); - nowvalue.setMonth(monthNum); - this.updateDate(nowvalue); - } - this.changeDialogType(DialogType.Month); - } - - /** - * Set a pickerMoment's year - * @param {Number} yearNum - * @return {void} - * */ - public selectYear(yearNum: number): void { - this.pickerMoment = setYear(this.pickerMoment, yearNum); - this.generateCalendar(); - if(this.value!==undefined&&this.value!==null) - { - let nowvalue = new Date(this.value); - nowvalue.setFullYear(yearNum); - this.updateDate(nowvalue); - } - this.changeDialogType(DialogType.Year); - } - - /** - * Set the selected moment's meridian - * @param {any} event - * @return {void} - * */ - public toggleMeridian(event: any): void { - - let value = this.value ? (this.value.length ? this.value[this.valueIndex] : this.value) : null; - - if (this.disabled) { - event.preventDefault(); - return; - } - - if (!value) { - this.meridianValue = this.meridianValue === 'AM' ? 'PM' : 'AM'; - return; - } - - let hours = getHours(value); - if (this.meridianValue === 'AM') { - hours += 12; - } else if (this.meridianValue === 'PM') { - hours -= 12; - } - - let selectedTime = setHours(value, hours); - this.setSelectedTime(selectedTime); - event.preventDefault(); - return; - } - - /** - * Set the selected moment's hour - * @param {any} event - * @param {'increase' | 'decrease' | number} val - * 'increase' -- increase hour value by 1 - * 'decrease' -- decrease hour value by 1 - * number -- set hour value to val - * @param {HTMLInputElement} input -- optional - * @return {boolean} - * */ - public setHours(event: any, val: 'increase' | 'decrease' | number, input?: HTMLInputElement): boolean { - - let value; - if (this.value) { - if (this.value.length) { - value = this.value[this.valueIndex]; - } else { - value = this.value; - } - } else { - if (this.type === 'timer') { - value = new Date(); - } else { - value = null; - } - } - - if (this.disabled || !value) { - event.preventDefault(); - return false; - } - - let hours = getHours(value); - if (val === 'increase') { - hours += 1; - } else if (val === 'decrease') { - hours -= 1; - } else { - hours = val; - } - - if (hours > 23) { - hours = 0; - } else if (hours < 0) { - hours = 23; - } - - let selectedTime = setHours(value, hours); - let done = this.setSelectedTime(selectedTime); - - // Focus the input and select its value when model updated - if (input) { - setTimeout(() => { - input.focus(); - }, 0); - } - - event.preventDefault(); - return done; - } - - /** - * Set the selected moment's minute - * @param {any} event - * @param {'increase' | 'decrease' | number} val - * 'increase' -- increase minute value by 1 - * 'decrease' -- decrease minute value by 1 - * number -- set minute value to val - * @param {HTMLInputElement} input -- optional - * @return {boolean} - * */ - public setMinutes(event: any, val: 'increase' | 'decrease' | number, input?: HTMLInputElement): boolean { - - let value; - if (this.value) { - if (this.value.length) { - value = this.value[this.valueIndex]; - } else { - value = this.value; - } - } else { - if (this.type === 'timer') { - value = new Date(); - } else { - value = null; - } - } - - if (this.disabled || !value) { - event.preventDefault(); - return false; - } - - let minutes = getMinutes(value); - if (val === 'increase') { - minutes += 1; - } else if (val === 'decrease') { - minutes -= 1; - } else { - minutes = val; - } - - if (minutes > 59) { - minutes = 0; - } else if (minutes < 0) { - minutes = 59; - } - - let selectedTime = setMinutes(value, minutes); - let done = this.setSelectedTime(selectedTime); - - // Focus the input and select its value when model updated - if (input) { - setTimeout(() => { - input.focus(); - }, 0); - } - - event.preventDefault(); - return done; - } - - /** - * Set the selected moment's second - * @param {any} event - * @param {'increase' | 'decrease' | number} val - * 'increase' -- increase second value by 1 - * 'decrease' -- decrease second value by 1 - * number -- set second value to val - * @param {HTMLInputElement} input -- optional - * @return {boolean} - * */ - public setSeconds(event: any, val: 'increase' | 'decrease' | number, input?: HTMLInputElement): boolean { - - let value; - if (this.value) { - if (this.value.length) { - value = this.value[this.valueIndex]; - } else { - value = this.value; - } - } else { - if (this.type === 'timer') { - value = new Date(); - } else { - value = null; - } - } - - if (this.disabled || !value) { - event.preventDefault(); - return false; - } - - let seconds = getSeconds(value); - if (val === 'increase') { - seconds = this.secValue + 1; - } else if (val === 'decrease') { - seconds = this.secValue - 1; - } else { - seconds = val; - } - - if (seconds > 59) { - seconds = 0; - } else if (seconds < 0) { - seconds = 59; - } - - let selectedTime = setSeconds(value, seconds); - let done = this.setSelectedTime(selectedTime); - - // Focus the input and select its value when model updated - if (input) { - setTimeout(() => { - input.focus(); - }, 0); - } - - event.preventDefault(); - return done; - } - - /** - * Check if the date is selected - * @param {Date} date - * @return {Boolean} - * */ - public isSelectedDay(date: Date): boolean { - if (this.isSingleSelection()) { - return this.value && isSameDay(this.value, date); - } else if (this.isRangeSelection() && this.value && this.value.length) { - if (this.value[1]) { - return (isSameDay(this.value[0], date) || isSameDay(this.value[1], date) || - this.isDayBetween(this.value[0], this.value[1], date)) && this.isValidDay(date); - } else { - return isSameDay(this.value[0], date); - } - } else if (this.isMultiSelection() && this.value && this.value.length) { - let selected; - for (let d of this.value) { - selected = isSameDay(d, date); - if (selected) { - break; - } - } - return selected; - } - return false; - } - - /** - * Check if a day is between two specific days - * @param {Date} start - * @param {Date} end - * @param {Date} day - * @return {boolean} - * */ - public isDayBetween(start: Date, end: Date, day: Date): boolean { - if (start && end) { - return isAfter(day, start) && isBefore(day, end); - } else { - return false; - } - } - - /** - * Check if the calendar day is a valid day - * @param {Date} date - * @return {Boolean} - * */ - public isValidDay(date: Date): boolean { - let isValid = true; - if (this.disabledDates && this.disabledDates.length) { - for (let disabledDate of this.disabledDates) { - if (isSameDay(disabledDate, date)) { - return false; - } - } - } - - if (isValid && this.disabledDays && this.disabledDays.length) { - let weekdayNum = getDay(date); - isValid = this.disabledDays.indexOf(weekdayNum) === -1; - } - - if (isValid && this.min) { - isValid = isValid && !isBefore(date, startOfDay(this.min)); - } - - if (isValid && this.max) { - isValid = isValid && !isAfter(date, endOfDay(this.max)); - } - return isValid; - } - - /** - * Check if the month is current pickerMoment's month - * @param {Number} monthNum - * @return {Boolean} - * */ - public isCurrentMonth(monthNum: number): boolean { - return getMonth(this.pickerMoment) === monthNum; - } - - /** - * Check if the year is current pickerMoment's year - * @param {Number} yearNum - * @return {Boolean} - * */ - public isCurrentYear(yearNum: any): boolean { - return getYear(this.pickerMoment) === yearNum||(getYear(this.pickerMoment)+"") === yearNum; - } - - /** - * Change the dialog type - * @param {DialogType} type - * @return {void} - * */ - public changeDialogType(type: DialogType): void { - if (this.dialogType === type) { - this.dialogType = DialogType.Date; - return; - } else { - this.dialogType = type; - } - - if (this.dialogType === DialogType.Year) { - this.generateYearList(); - } - } - - /** - * Handle blur event on timer input - * @param {any} event - * @param {HTMLInputElement} input - * @param {string} type - * @param {number} modelValue - * @return {void} - * */ - public onTimerInputBlur(event: any, input: HTMLInputElement, type: string, modelValue: number): void { - let val = +input.value; - - if (this.disabled || val === modelValue) { - event.preventDefault(); - return; - } - - let done; - if (!isNaN(val)) { - switch (type) { - case 'hours': - if (this.hourFormat === '24' && - val >= 0 && val <= 23) { - done = this.setHours(event, val); - } else if (this.hourFormat === '12' - && val >= 1 && val <= 12) { - if (this.meridianValue === 'AM' && val === 12) { - val = 0; - } else if (this.meridianValue === 'PM' && val < 12) { - val = val + 12; - } - done = this.setHours(event, val); - } - break; - case 'minutes': - if (val >= 0 && val <= 59) { - done = this.setMinutes(event, val); - } - break; - case 'seconds': - if (val >= 0 && val <= 59) { - done = this.setSeconds(event, val); - } - break; - } - } - - if (!done) { - input.value = this.numFixedLenPipe.transform(modelValue, 2); - input.focus(); - return; - } - event.preventDefault(); - return; - } - - /** - * Set value to null - * @param {any} event - * @return {void} - * */ - public clearValue(event: any): void { - this.dialogClick = true; - this.updateModel(null); - this.updateTimer(this.value); - if (this.timepicker!==undefined) { - this.timepicker.settime(undefined); - } - this.updateFormattedValue(); - if(this.value!==null) - { - event.date=new Date(this.value); - } - this.onConfirm.emit(event); - event.preventDefault(); - } - - /** - * Show the dialog - * @return {void} - * */ - private show(): void { - this.alignDialog(); - this.dialogVisible = true; - this.dialogType = DialogType.Date; - this.bindDocumentClickListener(); - return; - } - private nextNav(event : any):void { - if( this.dialogType===DialogType.Date|| this.dialogType===DialogType.Month) - { - this.nextMonth(event); - } - else if(this.dialogType===DialogType.Year){ - this.generateYearList('next'); - } - } - private prevNav(event : any):void { - if( this.dialogType===DialogType.Date|| this.dialogType===DialogType.Month) - { - this.prevMonth(event); - } - else if(this.dialogType===DialogType.Year){ - this.generateYearList('prev'); - } - } - /** - * Hide the dialog - * @return {void} - * */ - private hide(): void { - this.dialogVisible = false; - this.timepicker ? this.timepicker.closeProp() : 0; - this.unbindDocumentClickListener(); - if(this.value!==null) - { - event["date"]=new Date(this.value); - } - this.onConfirm.emit(event); - return; - } - - /** - * Set the dialog position - * @return {void} - * */ - private alignDialog(): void { - let element = this.dialogElm.nativeElement; - let target = this.containerElm.nativeElement; - let elementDimensions = element.offsetParent ? { - width: element.offsetWidth, - height: element.offsetHeight - } : this.getHiddenElementDimensions(element); - let targetHeight = target.offsetHeight; - let targetWidth = target.offsetWidth; - let targetOffset = target.getBoundingClientRect(); - let viewport = this.getViewport(); - let top, left; - - if ((targetOffset.top + targetHeight + elementDimensions.height) > viewport.height) { - top = -1 * (elementDimensions.height); - if (targetOffset.top + top < 0) { - top = 0; - } - } else { - top = targetHeight; - } - - - if ((targetOffset.left + elementDimensions.width) > viewport.width) { - left = targetWidth - elementDimensions.width; - } else { - left = 0; - } - - element.style.top = top + 'px'; - element.style.left = left + 'px'; - } - - /** - * Bind click event on document - * @return {void} - * */ - private bindDocumentClickListener(): void { - let firstClick = true; - if (!this.documentClickListener) { - this.documentClickListener = this.renderer.listen('document', 'click', () => { - if (!firstClick && !this.dialogClick) { - this.hide(); - } - - firstClick = false; - this.dialogClick = false; - }); - } - return; - } - - /** - * Unbind click event on document - * @return {void} - * */ - private unbindDocumentClickListener(): void { - if (this.documentClickListener) { - this.documentClickListener(); - this.documentClickListener = null; - } - return; - } - - /** - * Parse a object to Date object - * @param {any} val - * @return {Date} - * */ - private parseToDate(val: any): Date { - if (!val) { - return; - } - - let parsedVal; - if (typeof val === 'string') { - parsedVal = parse(val); - } else { - parsedVal = val; - } - - return isValid(parsedVal) ? parsedVal : null; - } - - /** - * Generate the calendar days array - * @return {void} - * */ - private generateCalendar(): void { - - if (!this.pickerMoment) { - return; - } - - this.calendarDays = []; - let startDateOfMonth = startOfMonth(this.pickerMoment); - let startWeekdayOfMonth = getDay(startDateOfMonth); - - let dayDiff = 0 - (startWeekdayOfMonth + (7 - this.locale.firstDayOfWeek)) % 7; - - for (let i = 1; i < 7; i++) { - let week = []; - for (let j = 0; j < 7; j++) { - let date = addDays(startDateOfMonth, dayDiff); - let inOtherMonth = !isSameMonth(date, this.pickerMoment); - week.push({ - date, - num: getDate(date), - today: isToday(date), - otherMonth: inOtherMonth, - hide: !this.showOtherMonths && inOtherMonth, - }); - dayDiff += 1; - } - this.calendarDays.push(week); - } - - this.pickerMonth = this.locale.monthNames[getMonth(this.pickerMoment)]; - this.pickerYear = getYear(this.pickerMoment).toString(); - } - - /** - * Generate the calendar weekdays array - * */ - private generateWeekDays(): void { - this.calendarWeekdays = []; - let dayIndex = this.locale.firstDayOfWeek; - for (let i = 0; i < 7; i++) { - this.calendarWeekdays.push(this.locale.dayNamesShort[dayIndex]); - dayIndex = (dayIndex === 6) ? 0 : ++dayIndex; - } - } - - /** - * Generate the calendar month array - * @return {void} - * */ - private generateMonthList(): void { - this.calendarMonths = []; - let monthIndex = 0; - for (let i = 0; i < 4; i++) { - let months = []; - for (let j = 0; j < 3; j++) { - months.push(this.locale.monthNamesShort[monthIndex]); - monthIndex += 1; - } - this.calendarMonths.push(months); - } - } - - /** - * Generate the calendar year array - * @return {void} - * */ - public generateYearList(dir?: string): void { - - if (!this.pickerMoment) { - return; - } - let start; - - if (dir === 'prev') { - start = +this.calendarYears[0][0] - 12; - if(start<0) - { - start=0; - } - } else if (dir === 'next') { - start = +this.calendarYears[3][2] + 1; - } else { - start = getYear(addYears(this.pickerMoment, -4)); - } - - for (let i = 0; i < 4; i++) { - let years = []; - for (let j = 0; j < 3; j++) { - let year = (start + i * 3 + j).toString(); - years.push(year); - } - this.calendarYears[i] = years; - } - return; - } - - /** - * Update the calendar - * @param {Date} value - * @return {void} - * */ - private updateCalendar(value: Date): void { - - // if the dateTime picker is only the timer, - // no need to update the update Calendar. - if (this.type === 'timer') { - return; - } - - if (value && (!this.calendarDays || !isSameMonth(value, this.pickerMoment))) { - this.pickerMoment = setMonth(this.pickerMoment, getMonth(value)); - this.pickerMoment = setYear(this.pickerMoment, getYear(value)); - this.generateCalendar(); - } else if (!value && !this.calendarDays) { - this.generateCalendar(); - } - return; - } - - /** - * Update the timer - * @param {Date} value - * @return {boolean} - * */ - private updateTimer(value: Date): boolean { - - // if the dateTime picker is only the calendar, - // no need to update the timer - if (this.type === 'calendar') { - return false; - } - - if (!value) { - this.hourValue = null; - this.minValue = null; - this.secValue = null; - this.mtime.hour = 0; - this.mtime.minute = 0; - this.mtime.second = 0; - return true; - } - this.mtime.hour = value.getHours(); - this.mtime.minute = value.getMinutes(); - this.mtime.second = value.getSeconds();; - - let time = value; - let hours = getHours(time); - if (this.hourFormat === '12') { - if (hours < 12 && hours > 0) { - this.hourValue = hours; - this.meridianValue = 'AM'; - } else if (hours > 12) { - this.hourValue = hours - 12; - this.meridianValue = 'PM'; - } else if (hours === 12) { - this.hourValue = 12; - this.meridianValue = 'PM'; - } else if (hours === 0) { - this.hourValue = 12; - this.meridianValue = 'AM'; - } - } else if (this.hourFormat === '24') { - this.hourValue = hours; - } - - this.minValue = getMinutes(time); - this.secValue = getSeconds(time); - if(this.value!==undefined&&this.timepicker!==undefined) - { - this.timepicker.settime(new Date(this.value)); - } - return true; - } - - /** - * Update ngModel - * @param {Date} value - * @return {Boolean} - * */ - private updateModel(value: Date | Date[]): boolean { - this.value = value; - if (this.dataType === 'date') { - this.onModelChange(this.value); - } else if (this.dataType === 'string') { - if (this.value && this.value.length) { - let formatted = []; - for (let v of this.value) { - if (v) { - formatted.push(format(v, this.dateFormat, { locale: this.locale.dateFns })); - } else { - formatted.push(null); - } - } - this.onModelChange(formatted); - } else { - this.onModelChange(format(this.value, this.dateFormat, { locale: this.locale.dateFns })); - } - } - return true; - } - - /** - * Update variable formattedValue - * @return {void} - * */ - private updateFormattedValue(): void { - let formattedValue = ''; - - if (this.value) { - if (this.isSingleSelection()) { - formattedValue = format(this.value, this.dateFormat, { locale: this.locale.dateFns }); - } else if (this.isRangeSelection()) { - let startDate = this.value[0]; - let endDate = this.value[1]; - - formattedValue = format(startDate, this.dateFormat, { locale: this.locale.dateFns }); - - if (endDate) { - formattedValue += ' - ' + format(endDate, this.dateFormat, { locale: this.locale.dateFns }); - } else { - formattedValue += ' - ' + this.dateFormat; - } - } else if (this.isMultiSelection()) { - for (let i = 0; i < this.value.length; i++) { - let dateAsString = format(this.value[i], this.dateFormat, { locale: this.locale.dateFns }); - formattedValue += dateAsString; - if (i !== (this.value.length - 1)) { - formattedValue += ', '; - } - } - } - } - - this.formattedValue = formattedValue; - - return; - } - - /** - * Set the time - * @param {Date} val - * @return {boolean} - * */ - public setSelectedTime(val: Date): boolean { - let done; - if (this.isValidValue(val)) { - if (this.value instanceof Array) { - this.value[this.valueIndex] = val; - done = this.updateModel(this.value); - done = done && this.updateTimer(this.value[this.valueIndex]); - } else { - done = this.updateModel(val); - done = done && this.updateTimer(this.value); - } - this.updateFormattedValue(); - } else { - this.onInvalid.emit({ originalEvent: event, value: val }); - done = false; - } - return done; - } - - private isValidValue(value: Date): boolean { - let isValid = true; - - if (this.disabledDates && this.disabledDates.length) { - for (let disabledDate of this.disabledDates) { - if (isSameDay(disabledDate, value)) { - return false; - } - } - } - - if (isValid && this.disabledDays && this.disabledDays.length) { - let weekdayNum = getDay(value); - isValid = this.disabledDays.indexOf(weekdayNum) === -1; - } - - if (isValid && this.min) { - isValid = isValid && !isBefore(value, this.min); - } - - if (isValid && this.max) { - isValid = isValid && !isAfter(value, this.max); - } - - return isValid; - } - - /** - * Check if the selection mode is 'single' - * @return {boolean} - * */ - private isSingleSelection(): boolean { - return this.selectionMode === 'single'; - } - - /** - * Check if the selection mode is 'range' - * @return {boolean} - * */ - private isRangeSelection(): boolean { - return this.selectionMode === 'range'; - } - - /** - * Check if the selection mode is 'multiple' - * @return {boolean} - * */ - private isMultiSelection(): boolean { - return this.selectionMode === 'multiple'; - } - - private getHiddenElementDimensions(element: any): any { - let dimensions: any = {}; - element.style.visibility = 'hidden'; - element.style.display = 'block'; - dimensions.width = element.offsetWidth; - dimensions.height = element.offsetHeight; - element.style.display = 'none'; - element.style.visibility = 'visible'; - - return dimensions; - } - - private getViewport(): any { - let win = window, - d = document, - e = d.documentElement, - g = d.getElementsByTagName('body')[0], - w = win.innerWidth || e.clientWidth || g.clientWidth, - h = win.innerHeight || e.clientHeight || g.clientHeight; - - return { width: w, height: h }; - } - public confirm() { - this.hide(); - } - public seconds = false; - public mtime: any = { hour: 0, minute: 0, second: 0 }; - public TimerChange(time: any) { - let value; - if (this.value) { - if (this.value.length) { - value = this.value[this.valueIndex]; - } else { - value = this.value; - } - } else { - if (this.type === 'timer') { - value = new Date(); - } else { - value = new Date(); - } - } - - if (this.disabled || !value) { - event.preventDefault(); - return false; - } - - let minute = time.minute; - let hour = time.hour; - let second = time.second; - this.minValue = minute; - this.hourValue = hour; - this.secValue = second; - let selectedTime = setMinutes(value, minute); - selectedTime = setHours(selectedTime, hour); - selectedTime = setSeconds(selectedTime, second); - let done = this.setSelectedTime(selectedTime); - - // Focus the input and select its value when model updated - - event.preventDefault(); - return done; - } - private mouseIn :boolean = false; - private Mouseout(event:any) - { - this.mouseIn = false; - } - private Mouseover(event:any) - { - this.mouseIn = true; - } -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/picker.module.ts b/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/picker.module.ts deleted file mode 100644 index 0511ad71..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/picker.module.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * picker.module - */ - -import { NgModule } from '@angular/core'; - -import { DateTimePickerComponent } from './picker.component'; -import { CommonModule } from '@angular/common'; -import { FormsModule } from '@angular/forms'; -import { NumberFixedLenPipe } from './numberedFixLen.pipe'; -import { NgbTimepickerr } from './timepicker'; -import { OesDaterangePopover, OesDaterangePopoverWindow } from './popover'; -import { OesDaterangePopoverConfig } from './popover-config'; -import { NgbTimepickerConfig } from './timepicker-config'; -import { PlxDateRangePickerComponent } from './pickerrange.component' -export {DateTimePickerComponent} from './picker.component'; - -@NgModule({ - imports: [CommonModule, FormsModule], - exports: [DateTimePickerComponent, NgbTimepickerr, OesDaterangePopover,PlxDateRangePickerComponent], - declarations: [DateTimePickerComponent, NumberFixedLenPipe, NgbTimepickerr, OesDaterangePopoverWindow, OesDaterangePopover,PlxDateRangePickerComponent], - providers: [OesDaterangePopoverConfig, NgbTimepickerConfig, OesDaterangePopoverConfig], - entryComponents: [DateTimePickerComponent, OesDaterangePopoverWindow] -}) -export class PlxDatePickerModule { -} - diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/pickerrange.component.css b/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/pickerrange.component.css deleted file mode 100644 index 2fb5b2b4..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/pickerrange.component.css +++ /dev/null @@ -1,18 +0,0 @@ -.datepickboxleft -{ - width:45%; - margin-right: 3%; - float: left; -} -.datepickboxright -{ - width:45%; - margin-left: 3%; - float: left; -} -.datepickboxto{ - width:4%; - float: left; - margin-top: 6px; - text-align: center; -} \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/pickerrange.component.html b/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/pickerrange.component.html deleted file mode 100644 index 2b1986fe..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/pickerrange.component.html +++ /dev/null @@ -1,14 +0,0 @@ -
-
- -
-
-{{locale.to}} -
-
- -
-
-
\ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/pickerrange.component.ts b/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/pickerrange.component.ts deleted file mode 100644 index a84e0987..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/pickerrange.component.ts +++ /dev/null @@ -1,162 +0,0 @@ -/** - * picker.component - */ - -import { - AfterViewInit, - Component, ElementRef, EventEmitter, forwardRef, Input, OnDestroy, OnInit, Output, Renderer2, - ViewChild -} from '@angular/core'; -import {animate, state, style, transition, trigger} from '@angular/animations'; -import {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms'; - -export interface LocaleSettings { - firstDayOfWeek?: number; - dayNames: string[]; - dayNamesShort: string[]; - monthNames: string[]; - monthNamesShort: string[]; - dateFns: any; -} - -export enum DialogType { - Time, - Date, - Month, - Year, -} - -@Component({ - selector: 'plx-daterange-picker', - templateUrl: './pickerrange.component.html', - styleUrls: ['./pickerrange.component.css'], - providers: [], -}) - -export class PlxDateRangePickerComponent { - /* -disabled boolean false 设置为true时input框不能输入 -minDate Date null 最小可选日期 -maxDate Date null 最大可选日期 -showTime boolean false 设置为true时显示时间选择器 -showSeconds boolean false 时间选择器显示秒 -timeOnly boolean false 设置为true时只显示时间选择器 -dateFormat string YYYY-MM-DD HH:mm 设置时间选择模式 -locale Object null 设置国际化对象,请参考国际化例子。 -改变组件时间*/ - - @Input() disabled : boolean = false; - @Input() showTime : boolean = false; - @Input() showSeconds : boolean = false; - @Input() timeOnly : boolean = false; - @Input() dateFormat : string = "YYYY-MM-DD HH:mm"; - @Input() placeHolderStartDate : string = ""; - @Input() placeHolderEndDate : string = ""; - @Input() locale : any ={ - firstDayOfWeek: 0, - dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], - dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], - monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], - monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - dateFns: null, - confirm:'OK', - to:"to" - }; - @Input() startDate : Date; - @Input() endDate : Date; - @Input() canClear: boolean = true; - @Input() startMinDate:Date; - @Input() endMaxDate:Date; - /** - * @default false - * @type {Boolean} - * */ - @Input() supportKeyboardInput: boolean = false; - _startSetMaxDate:Date; - _startMaxDate:Date; - @Input() - set startMaxDate( date:Date) - { - this._startSetMaxDate=date; - this.BuildstartMaxDate(); - } - _endSetMinDate:Date; - _endMinDate:Date; - @Input() - set endMinDate( date:Date) - { - this._endSetMinDate=date; - this.BuildendMinDate(); - } - BuildstartMaxDate() - { - if(this._startSetMaxDate===undefined) - { - this._startMaxDate=this.endDate - return; - } - if(this.endDate!==undefined) - { - this._startMaxDate= this.endDatethis._endSetMinDate?this.startDate:this._endSetMinDate; - return; - } - this._endMinDate=this._endSetMinDate; - } - - @Output() - onStartDateClosed: EventEmitter = new EventEmitter(); - @Output() - onEndDateClosed: EventEmitter = new EventEmitter(); - - EvonStartDateClosed(event : any) - { - this.BuildendMinDate(); - if(this.startDate!==null) - { - event.date=new Date(this.startDate); - } - this.onStartDateClosed.emit(event); - event.preventDefault(); - let dd= this; - return; - } - - - EvonEndDateClosed (event : any) - { - - this.BuildstartMaxDate() - if(this.endDate!==null) - { - event.date=new Date(this.endDate); - } - this.onEndDateClosed.emit(event); - event.preventDefault(); - let dd= this; - return; - } - - - public navigateTo (startDate: Date, endDate: Date) - { - this.startDate=startDate; - this.endDate = endDate; - } - - - -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/popover-config.ts b/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/popover-config.ts deleted file mode 100644 index 5ac773c5..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/popover-config.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Injectable } from '@angular/core'; - -/** - * Configuration service for the OesDaterangePopover directive. - * You can inject this service, typically in your root component, and customize the values of its properties in - * order to provide default values for all the popovers used in the application. - */ -@Injectable() -export class OesDaterangePopoverConfig { - public placement: 'top' | 'bottom' | 'left' | 'right' = 'top'; - public triggers = 'click'; - public container: string; -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/popover.ts b/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/popover.ts deleted file mode 100644 index 3d054120..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/popover.ts +++ /dev/null @@ -1,175 +0,0 @@ -import { - Component, - Directive, - Input, - Output, - EventEmitter, - ChangeDetectionStrategy, - OnInit, - OnDestroy, - Injector, - Renderer, - ComponentRef, - ElementRef, - TemplateRef, - ViewContainerRef, - ComponentFactoryResolver, - NgZone -} from '@angular/core'; - -import { listenToTriggers } from './util/triggers'; -import { positionElements } from './util/positioning'; -import { PopupService } from './util/popup'; -import { OesDaterangePopoverConfig } from './popover-config'; - -let nextId = 0; - -@Component({ - selector: 'ngb-popover-window', - changeDetection: ChangeDetectionStrategy.OnPush, - host: { '[class]': '"popover show popover-" + placement', 'role': 'tooltip', '[id]': 'id' }, - styles: [` - - .popover-title,.popover-content{ - background-color: #fff; - } - .popover-custom{ - padding:9px 5px !important; - } - - - `], - template: ` -

{{title}}

- ` -}) -export class OesDaterangePopoverWindow { - @Input() public placement: 'top' | 'bottom' | 'left' | 'right' = 'top'; - @Input() public title: string; - @Input() public id: string; -} - -/** - * A lightweight, extensible directive for fancy oes-popover creation. - */ -@Directive({ selector: '[oesDaterangePopover]', exportAs: 'oesDaterangePopover' }) -export class OesDaterangePopover implements OnInit, OnDestroy { - /** - * Content to be displayed as oes-popover. - */ - @Input() public oesDaterangePopover: string | TemplateRef; - /** - * Title of a oes-popover. - */ - @Input() public popoverTitle: string; - /** - * Placement of a oes-popover. Accepts: "top", "bottom", "left", "right" - */ - @Input() public placement: 'top' | 'bottom' | 'left' | 'right'; - /** - * Specifies events that should trigger. Supports a space separated list of event names. - */ - @Input() public triggers: string; - /** - * A selector specifying the element the oes-popover should be appended to. - * Currently only supports "body". - */ - @Input() public container: string; - /** - * Emits an event when the oes-popover is shown - */ - @Output() public shown = new EventEmitter(); - /** - * Emits an event when the oes-popover is hidden - */ - @Output() public hidden = new EventEmitter(); - - private _OesDaterangePopoverWindowId = `ngb-popover-${nextId++}`; - private _popupService: PopupService; - private _windowRef: ComponentRef; - private _unregisterListenersFn; - private _zoneSubscription: any; - - constructor( - private _elementRef: ElementRef, private _renderer: Renderer, injector: Injector, - componentFactoryResolver: ComponentFactoryResolver, viewContainerRef: ViewContainerRef, config: OesDaterangePopoverConfig, - ngZone: NgZone) { - this.placement = config.placement; - this.triggers = config.triggers; - this.container = config.container; - this._popupService = new PopupService( - OesDaterangePopoverWindow, injector, viewContainerRef, _renderer, componentFactoryResolver); - - this._zoneSubscription = ngZone.onStable.subscribe(() => { - if (this._windowRef) { - positionElements( - this._elementRef.nativeElement, this._windowRef.location.nativeElement, this.placement, - this.container === 'body'); - } - }); - } - - /** - * Opens an element’s oes-popover. This is considered a “manual” triggering of the oes-popover. - * The context is an optional value to be injected into the oes-popover template when it is created. - */ - public open(context?: any) { - if (!this._windowRef) { - this._windowRef = this._popupService.open(this.oesDaterangePopover, context); - this._windowRef.instance.placement = this.placement; - this._windowRef.instance.title = this.popoverTitle; - this._windowRef.instance.id = this._OesDaterangePopoverWindowId; - - this._renderer.setElementAttribute(this._elementRef.nativeElement, 'aria-describedby', this._OesDaterangePopoverWindowId); - - if (this.container === 'body') { - window.document.querySelector(this.container).appendChild(this._windowRef.location.nativeElement); - } - - // we need to manually invoke change detection since events registered via - // Renderer::listen() are not picked up by change detection with the OnPush strategy - this._windowRef.changeDetectorRef.markForCheck(); - this.shown.emit(); - } - } - - /** - * Closes an element’s oes-popover. This is considered a “manual” triggering of the oes-popover. - */ - public close(): void { - if (this._windowRef) { - this._renderer.setElementAttribute(this._elementRef.nativeElement, 'aria-describedby', null); - this._popupService.close(); - this._windowRef = null; - this.hidden.emit(); - } - } - - /** - * Toggles an element’s oes-popover. This is considered a “manual” triggering of the oes-popover. - */ - public toggle(): void { - if (this._windowRef) { - this.close(); - } else { - this.open(); - } - } - - /** - * Returns whether or not the oes-popover is currently being shown - */ - public isOpen(): boolean { return this._windowRef !== null; } - - public ngOnInit() { - this._unregisterListenersFn = listenToTriggers( - this._renderer, this._elementRef.nativeElement, this.triggers, this.open.bind(this), this.close.bind(this), - this.toggle.bind(this)); - } - - public ngOnDestroy() { - this.close(); - this._unregisterListenersFn(); - this._zoneSubscription.unsubscribe(); - } -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/time.ts b/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/time.ts deleted file mode 100644 index ab31a498..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/time.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { isNumber, toInteger } from './util/util'; - -export class NgbTime { - public hour: number; - public minute: number; - public second: number; - - constructor(hour?: number, minute?: number, second?: number) { - this.hour = toInteger(hour); - this.minute = toInteger(minute); - this.second = toInteger(second); - } - - public changeHour(step = 1) { this.updateHour((isNaN(this.hour) ? 0 : this.hour) + step); } - - public updateHour(hour: number) { - if (isNumber(hour)) { - this.hour = (hour < 0 ? 24 + hour : hour) % 24; - } else { - this.hour = NaN; - } - } - - public changeMinute(step = 1) { this.updateMinute((isNaN(this.minute) ? 0 : this.minute) + step); } - - public updateMinute(minute: number) { - if (isNumber(minute)) { - this.minute = minute % 60 < 0 ? 60 + minute % 60 : minute % 60; - this.changeHour(Math.floor(minute / 60)); - } else { - this.minute = NaN; - } - } - - public changeSecond(step = 1) { this.updateSecond((isNaN(this.second) ? 0 : this.second) + step); } - - public updateSecond(second: number) { - if (isNumber(second)) { - this.second = second < 0 ? 60 + second % 60 : second % 60; - this.changeMinute(Math.floor(second / 60)); - } else { - this.second = NaN; - } - } - - public isValid(checkSecs = true) { - return isNumber(this.hour) && isNumber(this.minute) && (checkSecs ? isNumber(this.second) : true); - } - - public toString() { return `${this.hour || 0}:${this.minute || 0}:${this.second || 0}`; } -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/timepicker-config.ts b/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/timepicker-config.ts deleted file mode 100644 index 8b752866..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/timepicker-config.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { Injectable } from '@angular/core'; - -/** - * Configuration service for the NgbTimepicker component. - * You can inject this service, typically in your root component, and customize the values of its properties in - * order to provide default values for all the timepickers used in the application. - */ -@Injectable() -export class NgbTimepickerConfig { - public meridian = false; - public spinners = true; - public seconds = false; - public hourStep = 1; - public minuteStep = 1; - public secondStep = 1; - public disabled = false; - public readonlyInputs = false; - public size: 'small' | 'medium' | 'large' = 'medium'; -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/timepicker.less b/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/timepicker.less deleted file mode 100644 index 60acfa6b..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/timepicker.less +++ /dev/null @@ -1,163 +0,0 @@ -@import "../../assets/components/themes/default/theme.less"; -@import "../../assets/components/themes/common/plx-input.less"; -@import "../../assets/components/themes/common/plx-button.less"; -.oes-time-table .chevron::before { - border-style: solid; - border-width: 0.29em 0.29em 0 0; - content: ''; - display: inline-block; - height: 0.69em; - left: 0.05em; - position: relative; - top: 0.15em; - transform: rotate(-45deg); - -webkit-transform: rotate(-45deg); - -ms-transform: rotate(-45deg); - vertical-align: middle; - width: 0.71em; -} - -.oes-time-table .chevron.bottom:before { - top: -.3em; - -webkit-transform: rotate(135deg); - -ms-transform: rotate(135deg); - transform: rotate(135deg); -} - -.oes-time-table .btn-link { - border: none!important; - cursor: pointer; - outline: 0; - display: block; -} - -.oes-time-table .btn-link.disabled { - cursor: not-allowed; - opacity: .65; -} - -.oes-time-control { - text-align: center; -} - -.datapicker-form-control { - width: auto !important; - display: inline-block; -} - -.oes-time-table .ict-stretch{ - - font-size: 8px; -} - -.oes-time-table .ict-shrink{ - font-size: 8px; -} -.time-pick-bk{ - background-color: #fff; -} - -.btn-link:focus, .btn-link:hover{ - text-decoration: none; -} -.oes-time-control{ - border: 0; - width: 30px !important; - padding: 3px 0; - margin: 0; - font-size: @font-size; -} - -.oes-time-control:hover{ - background-color: #e6e6e6; - color:#000; - cursor: pointer; -} - - -.oes-time-control-foucs-bk{ - background-color: #00abff !important; - color:#fff!important; - -} - -.oes-time-separator{ - margin: 0 -5px; -} -.oes-time-group,.oes-time-group:hover{ - - border-bottom: 1px solid #ccc; - border-left: 1px solid #ccc; - border-top: 1px solid #ccc; - border-radius: 0.2em; - } - .oes-time-btns,.oes-time-btns:hover{ - - border-bottom: 1px solid #ccc; - border-right: 1px solid #ccc; - border-top: 1px solid #ccc; - border-radius: 0.2em; - padding: 0 0 7px 0 !important; - - } - - .oes-time-btns-wrapper { - margin-top:-3px; - transform:scale(0.6,0.6); - } - - .i18nTimeDes,.i18nTimeDes:hover{ - - padding: 0 5px 0px 0; - - } - - .oes-time-btn{ - - height: 5px; - } - - - .oes-time-table{ - margin-bottom: 10px; - } - -.hour-table{ - - font-size:12px; -} - -.hour-table td{ - - padding: 5px; - padding-top: 3px; - padding-bottom: 3px; - cursor: pointer; -} -.oes-time-btn-shrink{ - position: relative; - top:-5px; - left:0px; - color:#CCC; -} - -.oes-time-btn-stretch{ - position: relative; - left:0px; - color:#CCC; -} -.owl-calendar-timer-invalid{ - color: #acacac; -} -.owl-calendar-timer-selected{ - background-color: #00abff; - color: #FFFFFF; - border-radius: 1.2em; -} -.hour-table td:not(.owl-calendar-timer-selected):not(.owl-calendar-timer-invalid):hover { - background-color: #ebf6fd; - color: #000000; - border-radius: 1.2em; -} - - diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/timepicker.ts b/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/timepicker.ts deleted file mode 100644 index 45dd7a4a..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/timepicker.ts +++ /dev/null @@ -1,558 +0,0 @@ -import { Component, Input, Output, forwardRef, OnChanges, EventEmitter, SimpleChanges, ViewChild } from '@angular/core'; -import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'; - -import { isNumber, padNumber, toInteger, isDefined } from './util/util'; -import { NgbTime } from './time'; -import { NgbTimepickerConfig } from './timepicker-config'; - -const NGB_TIMEPICKER_VALUE_ACCESSOR = { - provide: NG_VALUE_ACCESSOR, - useExisting: forwardRef(() => NgbTimepickerr), - multi: true -}; - -/** - * A lightweight & configurable timepicker directive. - */ -@Component({ - selector: 'oes-timepickerr', - styleUrls: ['./timepicker.less'], - template: ` - - - - - - - - - - - - -
- {{i18nTimeDes}} - - -  :  - -  :  - - -
- - -
-
- `, - providers: [NGB_TIMEPICKER_VALUE_ACCESSOR] -}) -export class NgbTimepickerr implements ControlValueAccessor, - OnChanges { - public disabled: boolean; - public model: NgbTime; - public datemodel: Date; - @Output() TimerChange = new EventEmitter(); - /** - * Whether to display 12H or 24H mode. - */ - @Input() public meridian: boolean; - - /** - * Whether to display the spinners above and below the inputs. - */ - @Input() public spinners: boolean; - - /** - * Whether to display seconds input. - */ - @Input() public seconds: boolean; - - /** - * Number of hours to increase or decrease when using a button. - */ - @Input() public hourStep: number; - - /** - * Number of minutes to increase or decrease when using a button. - */ - @Input() public minuteStep: number; - - /** - * Number of seconds to increase or decrease when using a button. - */ - @Input() public secondStep: number; - - /** - * To make timepicker readonly - */ - @Input() public readonlyInputs: boolean; - - /** - * To set the size of the inputs and button - */ - @Input() public size: 'small' | 'medium' | 'large'; - - - - private _max: Date; - @Input() - get max() { - return this._max; - } - - set max(val: Date) { - this._max = val; - } - private _min: Date; - @Input() - get min() { - return this._min; - } - - set min(val: Date) { - this._min = val; - } - - /** - * Whether to show the second's timer - * @default false - * @type {Boolean} - * */ - @Input() showSecondsTimer: boolean; - /** - * datePicker的国际化描述 - */ - @Input() public i18nTimeDes: string; - - @ViewChild('hourItem') public hourItem; - - @ViewChild('minuteItem') public minuteItem; - @ViewChild('secondItem') public secondItem; - - @ViewChild('propHour') public propHour; - - @ViewChild('propMin') public propMin; - @ViewChild('propSecond') public propSecond; - - public currSelectedItem: 'hour' | 'minute' | 'second'; - - public hours1 = ['00', '01', '02', '03', '04', '05', '06', '07']; - - public hours2 = ['08', '09', '10', '11', '12', '13', '14', '15']; - - public hours3 = ['16', '17', '18', '19', '20', '21', '22', '23']; - - public minute1 = ['00', '01', '02', '03', '04', '05', '06', '07', '08', '09']; - - public minute2 = ['10', '11', '12', '13', '14', '15', '16', '17', '18', '19']; - - public minute3 = ['20', '21', '22', '23', '24', '25', '26', '27', '28', '29']; - - public minute4 = ['30', '31', '32', '33', '34', '35', '36', '37', '38', '39']; - - public minute5 = ['40', '41', '42', '43', '44', '45', '46', '47', '48', '49']; - - public minute6 = ['50', '51', '52', '53', '54', '55', '56', '57', '58', '59']; - - constructor(config: NgbTimepickerConfig) { - this.meridian = config.meridian; - this.spinners = config.spinners; - this.seconds = config.seconds; - this.hourStep = config.hourStep; - this.minuteStep = config.minuteStep; - this.secondStep = config.secondStep; - this.disabled = config.disabled; - this.readonlyInputs = config.readonlyInputs; - this.size = config.size; - } - - public onChange = (_: any) => { - // TO DO - } - public onTouched = () => { - // TO DO - } - public settime(date : Date) - { - if(date!=null&&date!==undefined) - { - if(this._max!==undefined&&this._max.getTime()date.getTime()) - { - date.setHours(this._min.getHours()); - date.setMinutes(this._min.getMinutes()); - date.setSeconds(this._min.getSeconds()); - this.TimerChange.emit(new NgbTime(date.getHours(),date.getMinutes(),date.getSeconds())); - } - } - if(date!==null&&date!==undefined) - { - let temptime = new NgbTime(date.getHours(),date.getMinutes(),date.getSeconds()) - this.model = temptime; - this.datemodel = date; - } - else - { - let temptime = new NgbTime(0,0,0) - this.model = temptime; - this.datemodel = date; - } - - } - public selectHour(hour: string, event) { - if(!this.isValidHour(parseInt(hour))) - { - return; - } - this.model.hour = parseInt(hour); - this.propHour.close(); - this.propagateModelChange(); - event.stopPropagation(); - } - - public selectMin(minute: string, event) { - if(!this.isValidMin(parseInt(minute))) - { - return; - } - this.model.minute = parseInt(minute); - this.propMin.close(); - this.propagateModelChange(); - - event.stopPropagation(); - } - public selectSecond(second: string, event) { - if(!this.isValidSec(parseInt(second))) - { - return; - } - this.model.second = parseInt(second); - this.propSecond.close(); - this.propagateModelChange(); - - event.stopPropagation(); - } - - /** - * ###描述 - * 单击小时或者分钟选项时触发的事件 - * - * - * */ - - public selectItem(item: 'hour' | 'minute' | 'second') { - - // 切换选中项 - this.currSelectedItem = item; - - if (item === 'hour') { - - this.propMin?this.propMin.close():0; - this.propSecond?this.propSecond.close():0; - } else if (item === 'minute') { - this.propHour?this.propHour.close():0; - this.propSecond?this.propSecond.close():0; - } else if (item === 'second') { - this.propHour?this.propHour.close():0; - this.propMin?this.propMin.close():0; - } - - this.minuteItem.nativeElement.blur(); - this.hourItem.nativeElement.blur(); - - this.secondItem?this.secondItem.nativeElement.blur():0; - - // 弹出时间选择列表 - } - - public changeTime(stepTime) { - - if (this.currSelectedItem === 'hour') { // 如果当前选中的是小时 - - this.changeHour(stepTime); - - } else if (this.currSelectedItem === 'minute') { - - this.changeMinute(stepTime); - } else if (this.currSelectedItem === 'second') { - - this.changeSecond(stepTime); - } - - } - - - public writeValue(value) { - this.model = value ? new NgbTime(value.hour, value.minute, value.second) : new NgbTime(); - if (!this.seconds && (!value || !isNumber(value.second))) { - this.model.second = 0; - } - } - - public registerOnChange(fn: (value: any) => any): void { this.onChange = fn; } - - public registerOnTouched(fn: () => any): void { this.onTouched = fn; } - - public setDisabledState(isDisabled: boolean) { this.disabled = isDisabled; } - - public changeHour(step: number) { - let newDate = new Date(this.datemodel.getTime()); - newDate.setHours(newDate.getHours()+step); - if(!this.isValidDate(newDate)) - { - return; - } - this.model.changeHour(step); - this.propagateModelChange(); - } - - public changeMinute(step: number) { - let newDate = new Date(this.datemodel.getTime()); - newDate.setMinutes(newDate.getMinutes()+step); - if(!this.isValidDate(newDate)) - { - return; - } - this.model.changeMinute(step); - this.propagateModelChange(); - } - - public changeSecond(step: number) { - let newDate = new Date(this.datemodel.getTime()); - newDate.setSeconds(newDate.getSeconds()+step); - if(!this.isValidDate(newDate)) - { - return; - } - this.model.changeSecond(step); - this.propagateModelChange(); - } - - public updateHour(newVal: string) { - this.model.updateHour(toInteger(newVal)); - this.propagateModelChange(); - } - - public updateMinute(newVal: string) { - this.model.updateMinute(toInteger(newVal)); - this.propagateModelChange(); - } - - public updateSecond(newVal: string) { - this.model.updateSecond(toInteger(newVal)); - this.propagateModelChange(); - } - - public toggleMeridian() { - if (this.meridian) { - this.changeHour(12); - } - } - - public formatHour(value: number) { - if (isNumber(value)) { - if (this.meridian) { - return padNumber(value % 12 === 0 ? 12 : value % 12); - } else { - return padNumber(value % 24); - } - } else { - return padNumber(NaN); - } - } - - public formatMinSec(value: number) { return padNumber(value); } - - public setFormControlSize() { return { 'form-control-sm': this.size === 'small', 'form-control-lg': this.size === 'large' }; } - - public setButtonSize() { return { 'btn-sm': this.size === 'small', 'btn-lg': this.size === 'large' }; } - - - public ngOnChanges(changes: SimpleChanges): void { - if (changes['seconds'] && !this.seconds && this.model && !isNumber(this.model.second)) { - this.model.second = 0; - this.propagateModelChange(false); - } - } - - private propagateModelChange(touched = true) { - this.TimerChange.emit(this.model); - if (touched) { - this.onTouched(); - } - if (this.model.isValid(this.seconds)) { - this.onChange({ hour: this.model.hour, minute: this.model.minute, second: this.model.second }); - } else { - this.onChange(null); - } - } - public closeProp() - { - - if(this.propSecond!==undefined) - { - this.propSecond.close(); - } - if(this.propMin!==undefined) - { - this.propMin.close(); - } - if(this.propHour!==undefined) - { - this.propHour.close(); - } - } - private isValidDate(date: Date) - { - let isValid = true; - if (isValid && this._min!==undefined&&this._min!==null) { - isValid = date.getTime()>=this._min.getTime(); - } - if (isValid && this._max!==undefined&&this._max!==null) { - isValid = date.getTime()<=this._max.getTime(); - } - return isValid; - } - private isSelectedMin(strvalue:any): boolean { - let value = parseInt(strvalue); - if(this.model!==null&&this.model!==undefined) - { - return this.model.minute === value; - } - else - { - return false; - } -} - private isValidMin(strvalue:any): boolean { - let value = parseInt(strvalue); - let nowdate = new Date(); - if(this.datemodel===undefined||this.datemodel===null) - { - } - else - { - nowdate = new Date(this.datemodel); - } - nowdate.setMinutes(value); - return this.isValidDate(nowdate); -} -private isSelectedSec(strvalue:any): boolean { - let value = parseInt(strvalue); - if(this.model!==null&&this.model!==undefined) - { - return this.model.second === value; - } - else - { - return false; - } -} -private isValidSec(strvalue:any): boolean { - let value = parseInt(strvalue); - let nowdate = new Date(); - if(this.datemodel===undefined||this.datemodel===null) - { - } - else - { - nowdate = new Date(this.datemodel); - } - nowdate.setSeconds(value); - return this.isValidDate(nowdate); -} -private isSelectedHour(strvalue:any): boolean { - let value = parseInt(strvalue); - if(this.model!==null&&this.model!==undefined) - { - return this.model.hour === value; - } - else - { - return false; - } -} -private isValidHour(strvalue:any): boolean { - debugger; - let value = parseInt(strvalue); - let nowdate = new Date(); - if(this.datemodel===undefined||this.datemodel===null) - { - } - else - { - nowdate = new Date(this.datemodel); - } - nowdate.setHours(value); - return this.isValidDate(nowdate); -} -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/util/popup.ts b/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/util/popup.ts deleted file mode 100644 index 56c26d62..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/util/popup.ts +++ /dev/null @@ -1,58 +0,0 @@ -import { - Injector, - TemplateRef, - ViewRef, - ViewContainerRef, - Renderer, - ComponentRef, - ComponentFactory, - ComponentFactoryResolver -} from '@angular/core'; - -export class ContentRef { - constructor(public nodes: any[], public viewRef?: ViewRef, public componentRef?: ComponentRef) {} -} - -export class PopupService { - private _windowFactory: ComponentFactory; - private _windowRef: ComponentRef; - private _contentRef: ContentRef; - - constructor( - type: any, private _injector: Injector, private _viewContainerRef: ViewContainerRef, private _renderer: Renderer, - componentFactoryResolver: ComponentFactoryResolver) { - this._windowFactory = componentFactoryResolver.resolveComponentFactory(type); - } - - public open(content?: string | TemplateRef, context?: any): ComponentRef { - if (!this._windowRef) { - this._contentRef = this._getContentRef(content, context); - this._windowRef = - this._viewContainerRef.createComponent(this._windowFactory, 0, this._injector, this._contentRef.nodes); - } - return this._windowRef; - } - - public close() { - if (this._windowRef) { - this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._windowRef.hostView)); - this._windowRef = null; - - if (this._contentRef.viewRef) { - this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._contentRef.viewRef)); - this._contentRef = null; - } - } - } - - private _getContentRef(content: string | TemplateRef, context?: any): ContentRef { - if (!content) { - return new ContentRef([]); - } else if (content instanceof TemplateRef) { - const viewRef = this._viewContainerRef.createEmbeddedView(>content, context); - return new ContentRef([viewRef.rootNodes], viewRef); - } else { - return new ContentRef([[this._renderer.createText(null, `${content}`)]]); - } - } -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/util/positioning.ts b/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/util/positioning.ts deleted file mode 100644 index ed9005c1..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/util/positioning.ts +++ /dev/null @@ -1,153 +0,0 @@ -// previous version: -// https://github.com/angular-ui/bootstrap/blob/07c31d0731f7cb068a1932b8e01d2312b796b4ec/src/position/position.js -export class Positioning { - private getStyle(element: HTMLElement, prop: string): string { return window.getComputedStyle(element)[prop]; } - - private isStaticPositioned(element: HTMLElement): boolean { - return (this.getStyle(element, 'position') || 'static') === 'static'; - } - - private offsetParent(element: HTMLElement): HTMLElement { - let offsetParentEl = element.offsetParent || document.documentElement; - - while (offsetParentEl && offsetParentEl !== document.documentElement && this.isStaticPositioned(offsetParentEl)) { - offsetParentEl = offsetParentEl.offsetParent; - } - - return offsetParentEl || document.documentElement; - } - - public position(element: HTMLElement, round = true): ClientRect { - let elPosition: ClientRect; - let parentOffset: ClientRect = {width: 0, height: 0, top: 0, bottom: 0, left: 0, right: 0}; - - if (this.getStyle(element, 'position') === 'fixed') { - elPosition = element.getBoundingClientRect(); - } else { - const offsetParentEl = this.offsetParent(element); - - elPosition = this.offset(element, false); - - if (offsetParentEl !== document.documentElement) { - parentOffset = this.offset(offsetParentEl, false); - } - - parentOffset.top += offsetParentEl.clientTop; - parentOffset.left += offsetParentEl.clientLeft; - } - - elPosition.top -= parentOffset.top; - elPosition.bottom -= parentOffset.top; - elPosition.left -= parentOffset.left; - elPosition.right -= parentOffset.left; - - if (round) { - elPosition.top = Math.round(elPosition.top); - elPosition.bottom = Math.round(elPosition.bottom); - elPosition.left = Math.round(elPosition.left); - elPosition.right = Math.round(elPosition.right); - } - - return elPosition; - } - - public offset(element: HTMLElement, round = true): ClientRect { - const elBcr = element.getBoundingClientRect(); - const viewportOffset = { - top: window.pageYOffset - document.documentElement.clientTop, - left: window.pageXOffset - document.documentElement.clientLeft - }; - - let elOffset = { - height: elBcr.height || element.offsetHeight, - width: elBcr.width || element.offsetWidth, - top: elBcr.top + viewportOffset.top, - bottom: elBcr.bottom + viewportOffset.top, - left: elBcr.left + viewportOffset.left, - right: elBcr.right + viewportOffset.left - }; - - if (round) { - elOffset.height = Math.round(elOffset.height); - elOffset.width = Math.round(elOffset.width); - elOffset.top = Math.round(elOffset.top); - elOffset.bottom = Math.round(elOffset.bottom); - elOffset.left = Math.round(elOffset.left); - elOffset.right = Math.round(elOffset.right); - } - - return elOffset; - } - - public positionElements(hostElement: HTMLElement, targetElement: HTMLElement, placement: string, appendToBody?: boolean): - ClientRect { - const hostElPosition = appendToBody ? this.offset(hostElement, false) : this.position(hostElement, false); - const shiftWidth: any = { - left: hostElPosition.left, - left2: (hostElPosition.left - 85), - center: hostElPosition.left + hostElPosition.width / 2 - targetElement.offsetWidth / 2, - right: hostElPosition.left + hostElPosition.width - }; - const shiftHeight: any = { - top: hostElPosition.top, - center: hostElPosition.top + hostElPosition.height / 2 - targetElement.offsetHeight / 2, - bottom: hostElPosition.top + hostElPosition.height - }; - const targetElBCR = targetElement.getBoundingClientRect(); - const placementPrimary = placement.split('-')[0] || 'top'; - const placementSecondary = placement.split('-')[1] || 'center'; - - let targetElPosition: ClientRect = { - height: targetElBCR.height || targetElement.offsetHeight, - width: targetElBCR.width || targetElement.offsetWidth, - top: 0, - bottom: targetElBCR.height || targetElement.offsetHeight, - left: 0, - right: targetElBCR.width || targetElement.offsetWidth - }; - - switch (placementPrimary) { - case 'top': - targetElPosition.top = hostElPosition.top - targetElement.offsetHeight; - targetElPosition.bottom += hostElPosition.top - targetElement.offsetHeight; - targetElPosition.left = shiftWidth[placementSecondary]; - targetElPosition.right += shiftWidth[placementSecondary]; - break; - case 'bottom': - targetElPosition.top = shiftHeight[placementPrimary]; - targetElPosition.bottom += shiftHeight[placementPrimary]; - targetElPosition.left = shiftWidth[placementSecondary]; - targetElPosition.right += shiftWidth[placementSecondary]; - break; - case 'left': - targetElPosition.top = shiftHeight[placementSecondary]; - targetElPosition.bottom += shiftHeight[placementSecondary]; - targetElPosition.left = hostElPosition.left - targetElement.offsetWidth; - targetElPosition.right += hostElPosition.left - targetElement.offsetWidth; - break; - case 'right': - targetElPosition.top = shiftHeight[placementSecondary]; - targetElPosition.bottom += shiftHeight[placementSecondary]; - targetElPosition.left = shiftWidth[placementPrimary]; - targetElPosition.right += shiftWidth[placementPrimary]; - break; - - } - - targetElPosition.top = Math.round(targetElPosition.top); - targetElPosition.bottom = Math.round(targetElPosition.bottom); - targetElPosition.left = Math.round(targetElPosition.left); - targetElPosition.right = Math.round(targetElPosition.right); - - return targetElPosition; - } -} - -const positionService = new Positioning(); -export function positionElements( - hostElement: HTMLElement, targetElement: HTMLElement, placement: string, appendToBody?: boolean): void { - const pos = positionService.positionElements(hostElement, targetElement, placement, appendToBody); - - targetElement.style.top = `${pos.top}px`; - targetElement.style.left = `${pos.left}px`; -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/util/triggers.ts b/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/util/triggers.ts deleted file mode 100644 index 8197de5b..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/util/triggers.ts +++ /dev/null @@ -1,62 +0,0 @@ -export class Trigger { - constructor(public open: string, public close?: string) { - if (!close) { - this.close = open; - } - } - - public isManual() { return this.open === 'manual' || this.close === 'manual'; } -} - -const DEFAULT_ALIASES = { - hover: ['mouseenter', 'mouseleave'] -}; - -export function parseTriggers(triggers: string, aliases = DEFAULT_ALIASES): Trigger[] { - const trimmedTriggers = (triggers || '').trim(); - - if (trimmedTriggers.length === 0) { - return []; - } - - const parsedTriggers = trimmedTriggers.split(/\s+/).map(trigger => trigger.split(':')).map((triggerPair) => { - let alias = aliases[triggerPair[0]] || triggerPair; - return new Trigger(alias[0], alias[1]); - }); - - const manualTriggers = parsedTriggers.filter(triggerPair => triggerPair.isManual()); - - if (manualTriggers.length > 1) { - throw 'Triggers parse error: only one manual trigger is allowed'; - } - - if (manualTriggers.length === 1 && parsedTriggers.length > 1) { - throw 'Triggers parse error: manual trigger can\'t be mixed with other triggers'; - } - - return parsedTriggers; -} - -const noopFn = () => { - // TO DO -}; - -export function listenToTriggers(renderer: any, nativeElement: any, triggers: string, openFn, closeFn, toggleFn) { - const parsedTriggers = parseTriggers(triggers); - const listeners = []; - - if (parsedTriggers.length === 1 && parsedTriggers[0].isManual()) { - return noopFn; - } - - parsedTriggers.forEach((trigger: Trigger) => { - if (trigger.open === trigger.close) { - listeners.push(renderer.listen(nativeElement, trigger.open, toggleFn)); - } else { - listeners.push( - renderer.listen(nativeElement, trigger.open, openFn), renderer.listen(nativeElement, trigger.close, closeFn)); - } - }); - - return () => { listeners.forEach(unsubscribeFn => unsubscribeFn()); }; -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/util/util.ts b/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/util/util.ts deleted file mode 100644 index fcabe960..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-datepicker/util/util.ts +++ /dev/null @@ -1,39 +0,0 @@ -export function toInteger(value: any): number { - return parseInt(`${value}`, 10); -} - -export function toString(value: any): string { - return (value !== undefined && value !== null) ? `${value}` : ''; -} - -export function getValueInRange(value: number, max: number, min = 0): number { - return Math.max(Math.min(value, max), min); -} - -export function isString(value: any): boolean { - return typeof value === 'string'; -} - -export function isNumber(value: any): boolean { - return !isNaN(toInteger(value)); -} - -export function isInteger(value: any): boolean { - return typeof value === 'number' && isFinite(value) && Math.floor(value) === value; -} - -export function isDefined(value: any): boolean { - return value !== undefined && value !== null; -} - -export function padNumber(value: number) { - if (isNumber(value)) { - return value > 9? `${value}`.slice(-2):'0' + `${value}`.slice(-2); - } else { - return ''; - } -} - -export function regExpEscape(text) { - return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&'); -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal-backdrop.spec.ts b/sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal-backdrop.spec.ts deleted file mode 100644 index 887b66e4..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal-backdrop.spec.ts +++ /dev/null @@ -1,16 +0,0 @@ -import {TestBed} from '@angular/core/testing'; -import {PlxModalBackdrop} from './modal-backdrop'; - -describe('plx-modal-backdrop', () => { - - beforeEach(() => { - TestBed.configureTestingModule({declarations: [PlxModalBackdrop]}); - }); - - it('should render backdrop with required CSS classes', () => { - const fixture = TestBed.createComponent(PlxModalBackdrop); - - fixture.detectChanges(); - expect(fixture.nativeElement).toHaveCssClass('modal-backdrop'); - }); -}); diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal-backdrop.ts b/sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal-backdrop.ts deleted file mode 100644 index 07e2ff84..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal-backdrop.ts +++ /dev/null @@ -1,9 +0,0 @@ -import {Component} from '@angular/core'; - -@Component({ - selector: 'plx-modal-backdrop', - template: '', - host: {'class': 'modal-backdrop fade show'} -}) -export class PlxModalBackdrop { -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal-dismiss-reasons.ts b/sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal-dismiss-reasons.ts deleted file mode 100644 index 08395852..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal-dismiss-reasons.ts +++ /dev/null @@ -1,4 +0,0 @@ -export enum ModalDismissReasons { - BACKDROP_CLICK, - ESC -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal-ref.ts b/sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal-ref.ts deleted file mode 100644 index 061dc70e..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal-ref.ts +++ /dev/null @@ -1,109 +0,0 @@ -import {Injectable, ComponentRef} from '@angular/core'; -import {PlxModalBackdrop} from './modal-backdrop'; -import {PlxModalWindow} from './modal-window'; -import {ContentRef} from '../util/popup'; - -/** - * A reference to an active (currently opened) modal. Instances of this class - * can be injected into components passed as modal content. - */ -@Injectable() -export class PlxActiveModal { - /** - * Can be used to close a modal, passing an optional result. - */ - public close(result?: any): void { - // TO DO - } - - /** - * Can be used to dismiss a modal, passing an optional reason. - */ - public dismiss(reason?: any): void { - // TO DO - } -} - -/** - * A reference to a newly opened modal. - */ -@Injectable() -export class PlxModalRef { - private _resolve: (result?: any) => void; - private _reject: (reason?: any) => void; - - /** - * The instance of component used as modal's content. - * Undefined when a TemplateRef is used as modal's content. - */ - get componentInstance(): any { - if (this._contentRef.componentRef) { - return this._contentRef.componentRef.instance; - } - } - - // only needed to keep TS1.8 compatibility - set componentInstance(instance: any) { - // TO DO - } - - /** - * A promise that is resolved when a modal is closed and rejected when a modal is dismissed. - */ - public result: Promise; - - constructor(private _windowCmptRef: ComponentRef, private _contentRef: ContentRef, - private _backdropCmptRef?: ComponentRef) { - _windowCmptRef.instance.dismissEvent.subscribe((reason: any) => { - this.dismiss(reason); - }); - - this.result = new Promise((resolve, reject) => { - this._resolve = resolve; - this._reject = reject; - }); - this.result.then(null, () => { - // TO DO - }); - } - - /** - * Can be used to close a modal, passing an optional result. - */ - public close(result?: any): void { - if (this._windowCmptRef) { - this._resolve(result); - this._removeModalElements(); - } - } - - /** - * Can be used to dismiss a modal, passing an optional reason. - */ - public dismiss(reason?: any): void { - if (this._windowCmptRef) { - this._reject(reason); - this._removeModalElements(); - } - } - - private _removeModalElements() { - const windowNativeEl = this._windowCmptRef.location.nativeElement; - windowNativeEl.parentNode.removeChild(windowNativeEl); - this._windowCmptRef.destroy(); - - if (this._backdropCmptRef) { - const backdropNativeEl = this._backdropCmptRef.location.nativeElement; - backdropNativeEl.parentNode.removeChild(backdropNativeEl); - this._backdropCmptRef.destroy(); - } - - if (this._contentRef && this._contentRef.viewRef) { - this._contentRef.viewRef.destroy(); - } - - this._windowCmptRef = null; - this._backdropCmptRef = null; - this._contentRef = null; - } -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal-stack.ts b/sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal-stack.ts deleted file mode 100644 index 37f5b171..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal-stack.ts +++ /dev/null @@ -1,103 +0,0 @@ -import { - ApplicationRef, - Injectable, - Injector, - ReflectiveInjector, - ComponentFactory, - ComponentFactoryResolver, - ComponentRef, - TemplateRef -} from '@angular/core'; - -import {ContentRef} from '../util/popup'; -import {isDefined, isString} from '../util/util'; - -import {PlxModalBackdrop} from './modal-backdrop'; -import {PlxModalWindow} from './modal-window'; -import {PlxActiveModal, PlxModalRef} from './modal-ref'; - -@Injectable() -export class PlxModalStack { - private _backdropFactory: ComponentFactory; - private _windowFactory: ComponentFactory; - - constructor(private _applicationRef: ApplicationRef, private _injector: Injector, - private _componentFactoryResolver: ComponentFactoryResolver) { - this._backdropFactory = _componentFactoryResolver.resolveComponentFactory(PlxModalBackdrop); - this._windowFactory = _componentFactoryResolver.resolveComponentFactory(PlxModalWindow); - } - - public open(moduleCFR: ComponentFactoryResolver, contentInjector: Injector, content: any, options): PlxModalRef { - const containerSelector = options.container || 'body'; - const containerEl = document.querySelector(containerSelector);// 默认获取到body的DOM - - if (!containerEl) { - throw new Error(`The specified modal container "${containerSelector}" was not found in the DOM.`); - } - - const activeModal = new PlxActiveModal(); - const contentRef = this._getContentRef(moduleCFR, contentInjector, content, activeModal); - - let windowCmptRef: ComponentRef; - let backdropCmptRef: ComponentRef; - let ngbModalRef: PlxModalRef; - - - if (options.backdrop !== false) { - backdropCmptRef = this._backdropFactory.create(this._injector); - this._applicationRef.attachView(backdropCmptRef.hostView); - containerEl.appendChild(backdropCmptRef.location.nativeElement); - } - windowCmptRef = this._windowFactory.create(this._injector, contentRef.nodes); - - /** - * Attaches a view so that it will be dirty checked. - * The view will be automatically detached when it is destroyed. - * This will throw if the view is already attached to a ViewContainer. - */ - this._applicationRef.attachView(windowCmptRef.hostView); - - containerEl.appendChild(windowCmptRef.location.nativeElement); - - ngbModalRef = new PlxModalRef(windowCmptRef, contentRef, backdropCmptRef); - - activeModal.close = (result: any) => { - ngbModalRef.close(result); - }; - activeModal.dismiss = (reason: any) => { - ngbModalRef.dismiss(reason); - }; - - this._applyWindowOptions(windowCmptRef.instance, options); - - return ngbModalRef; - } - - private _applyWindowOptions(windowInstance: PlxModalWindow, options: Object): void { - ['backdrop', 'keyboard', 'size', 'windowClass'].forEach((optionName: string) => { - if (isDefined(options[optionName])) { - windowInstance[optionName] = options[optionName]; - } - }); - } - - private _getContentRef(moduleCFR: ComponentFactoryResolver, contentInjector: Injector, content: any, - context: PlxActiveModal): ContentRef { - if (!content) { - return new ContentRef([]); - } else if (content instanceof TemplateRef) { - const viewRef = content.createEmbeddedView(context); - this._applicationRef.attachView(viewRef); - return new ContentRef([viewRef.rootNodes], viewRef); - } else if (isString(content)) { - return new ContentRef([[document.createTextNode(`${content}`)]]); - } else { - const contentCmptFactory = moduleCFR.resolveComponentFactory(content); - const modalContentInjector = - ReflectiveInjector.resolveAndCreate([{provide: PlxActiveModal, useValue: context}], contentInjector); - const componentRef = contentCmptFactory.create(modalContentInjector); - this._applicationRef.attachView(componentRef.hostView); - return new ContentRef([[componentRef.location.nativeElement]], componentRef.hostView, componentRef); - } - } -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal-window.spec.ts b/sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal-window.spec.ts deleted file mode 100644 index 5767bfee..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal-window.spec.ts +++ /dev/null @@ -1,114 +0,0 @@ -import {TestBed, ComponentFixture} from '@angular/core/testing'; - -import {PlxModalWindow} from './modal-window'; -import {ModalDismissReasons} from './modal-dismiss-reasons'; - -describe('plx-modal-dialog', () => { - - let fixture: ComponentFixture; - - beforeEach(() => { - TestBed.configureTestingModule({declarations: [PlxModalWindow]}); - fixture = TestBed.createComponent(PlxModalWindow); - }); - - describe('basic rendering functionality', () => { - - it('should render default modal window', () => { - fixture.detectChanges(); - - const modalEl: Element = fixture.nativeElement; - const dialogEl: Element = fixture.nativeElement.querySelector('.modal-dialog'); - - expect(modalEl).toHaveCssClass('modal'); - expect(dialogEl).toHaveCssClass('modal-dialog'); - }); - - it('should render default modal window with a specified size', () => { - fixture.componentInstance.size = 'sm'; - fixture.detectChanges(); - - const dialogEl: Element = fixture.nativeElement.querySelector('.modal-dialog'); - expect(dialogEl).toHaveCssClass('modal-dialog'); - expect(dialogEl).toHaveCssClass('modal-sm'); - }); - - it('should render default modal window with a specified class', () => { - fixture.componentInstance.windowClass = 'custom-class'; - fixture.detectChanges(); - - expect(fixture.nativeElement).toHaveCssClass('custom-class'); - }); - - it('aria attributes', () => { - fixture.detectChanges(); - const dialogEl: Element = fixture.nativeElement.querySelector('.modal-dialog'); - - expect(fixture.nativeElement.getAttribute('role')).toBe('dialog'); - expect(dialogEl.getAttribute('role')).toBe('document'); - }); - }); - - describe('dismiss', () => { - - it('should dismiss on backdrop click by default', (done) => { - fixture.detectChanges(); - - fixture.componentInstance.dismissEvent.subscribe(($event) => { - expect($event).toBe(ModalDismissReasons.BACKDROP_CLICK); - done(); - }); - - fixture.nativeElement.click(); - }); - - it('should not dismiss on modal content click when there is active backdrop', (done) => { - fixture.detectChanges(); - fixture.componentInstance.dismissEvent.subscribe( - () => { - done.fail(new Error('Should not trigger dismiss event')); - }); - - fixture.nativeElement.querySelector('.modal-content').click(); - setTimeout(done, 200); - }); - - it('should ignore backdrop clicks when there is no backdrop', (done) => { - fixture.componentInstance.backdrop = false; - fixture.detectChanges(); - - fixture.componentInstance.dismissEvent.subscribe(($event) => { - expect($event).toBe(ModalDismissReasons.BACKDROP_CLICK); - done.fail(new Error('Should not trigger dismiss event')); - }); - - fixture.nativeElement.querySelector('.modal-dialog').click(); - setTimeout(done, 200); - }); - - it('should ignore backdrop clicks when backdrop is "static"', (done) => { - fixture.componentInstance.backdrop = 'static'; - fixture.detectChanges(); - - fixture.componentInstance.dismissEvent.subscribe(($event) => { - expect($event).toBe(ModalDismissReasons.BACKDROP_CLICK); - done.fail(new Error('Should not trigger dismiss event')); - }); - - fixture.nativeElement.querySelector('.modal-dialog').click(); - setTimeout(done, 200); - }); - - it('should dismiss on esc press by default', (done) => { - fixture.detectChanges(); - - fixture.componentInstance.dismissEvent.subscribe(($event) => { - expect($event).toBe(ModalDismissReasons.ESC); - done(); - }); - - fixture.debugElement.triggerEventHandler('keyup.esc', {}); - }); - }); - -}); diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal-window.ts b/sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal-window.ts deleted file mode 100644 index eda5b39f..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal-window.ts +++ /dev/null @@ -1,82 +0,0 @@ -import { - Component, - Output, - EventEmitter, - Input, - ElementRef, - Renderer, - OnInit, - AfterViewInit, - OnDestroy, ViewEncapsulation -} from '@angular/core'; - -import {ModalDismissReasons} from './modal-dismiss-reasons'; - -@Component({ - selector: 'plx-modal-window', - host: { - '[class]': '"modal plx-modal fade show" + (windowClass ? " " + windowClass : "")', - 'role': 'dialog', - 'tabindex': '-1', - 'style': 'display: block;', - '(keyup.esc)': 'escKey($event)', - '(click)': 'backdropClick($event)' - }, - template: ` -
- -
- `, - styleUrls: ['modal.less'], - encapsulation: ViewEncapsulation.None -}) -export class PlxModalWindow implements OnInit, AfterViewInit, OnDestroy { - private _elWithFocus: Element; // element that is focused prior to modal opening - - @Input() public backdrop: boolean | string = true; - @Input() public keyboard = true; - @Input() public size: string; - @Input() public windowClass: string; - - @Output('dismiss') public dismissEvent = new EventEmitter(); - - constructor(private _elRef: ElementRef, private _renderer: Renderer) { - } - - public backdropClick($event): void { - if (this.backdrop === true && this._elRef.nativeElement === $event.target) { - this.dismiss(ModalDismissReasons.BACKDROP_CLICK); - } - } - - public escKey($event): void { - if (this.keyboard && !$event.defaultPrevented) { - this.dismiss(ModalDismissReasons.ESC); - } - } - - public dismiss(reason): void { - this.dismissEvent.emit(reason); - } - - public ngOnInit() { - this._elWithFocus = document.activeElement; - this._renderer.setElementClass(document.body, 'modal-open', true); - } - - public ngAfterViewInit() { - if (!this._elRef.nativeElement.contains(document.activeElement)) { - this._renderer.invokeElementMethod(this._elRef.nativeElement, 'focus', []); - } - } - - public ngOnDestroy() { - if (this._elWithFocus && document.body.contains(this._elWithFocus)) { - this._renderer.invokeElementMethod(this._elWithFocus, 'focus', []); - } else { - this._renderer.invokeElementMethod(document.body, 'focus', []); - } - this._elWithFocus = null; - this._renderer.setElementClass(document.body, 'modal-open', false); - } -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal.less b/sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal.less deleted file mode 100644 index c17a7fd1..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal.less +++ /dev/null @@ -1,125 +0,0 @@ -@import "../../assets/components/themes/default/theme.less"; - -plx-modal-window { - .modal { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - display: none; - outline: 0; - z-index: 10000; - } - .modal-dialog { - position: relative; - max-width: 600px; - margin: 30px auto; - &.modal-sm { - max-width: 600px; - } - &.modal-lg { - max-width: 1000px; - } - } - .modal-content { - position: relative; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - background-color: @component-bg; - background-clip: padding-box; - border-radius: @radius; - box-shadow: 0 5px 15px @shadow-color; - outline: 0; - .modal-header { - border-bottom: 0; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - padding: 15px; - } - .modal-body { - .form-group:last-child, form:last-child { - margin-bottom: 0; - } - } - .modal-footer { - display: block; - border-top: 0; - margin-top: 0; - padding: 0 15px 15px 15px; - } - .modal-title { - font-size: @font-size-title-level1; - margin-bottom: 0; - line-height: 1.5; - } - .modal-btn { - text-align: center; - font-size: 0; - } - } - .close { - color: @fonticon-color; - font-size: @font-size-title-level2; - text-shadow: none; - width: 24px; - height: 24px; - background: @scene-textcolor; - border-radius: 20px; - padding-bottom: 2px; - outline: none; - &:hover { - color: @fonticon-color; - background: @fonticon-bg-color-hover; - } - } - .alert-modal { - &.row { - margin-left: 100px; - margin-bottom: 30px; - text-align: left; - .tip-img { - display: inline-block; - width: 52px; - height: 52px; - border-radius: 50px; - font-size: 45px; - text-align: center; - line-height: 1; - margin-top: -5px; - margin-right: 15px; - &::before { - content: "!"; - } - } - .tip-info { - width: 300px; - .alert-title { - font-size: @font-size-title-level2; - color: @title-text-color; - } - .alert-result { - margin-top: 5px; - font-size: @font-size; - color: @unselected-text-color; - } - } - .warning { - border: 3px solid @warning-color; - color: @warning-color; - } - .error { - border: 3px solid @error-color; - color: @error-color; - } - } - } -} \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal.module.ts b/sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal.module.ts deleted file mode 100644 index 67fdb478..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal.module.ts +++ /dev/null @@ -1,21 +0,0 @@ -import {NgModule, ModuleWithProviders} from '@angular/core'; - -import {PlxModalBackdrop} from './modal-backdrop'; -import {PlxModalWindow} from './modal-window'; -import {PlxModalStack} from './modal-stack'; -import {PlxModal} from './modal'; - -export {PlxModal, PlxModalOptions} from './modal'; -export {PlxModalRef, PlxActiveModal} from './modal-ref'; -export {ModalDismissReasons} from './modal-dismiss-reasons'; - -@NgModule({ - declarations: [PlxModalBackdrop, PlxModalWindow], - entryComponents: [PlxModalBackdrop, PlxModalWindow], - providers: [PlxModal] -}) -export class PlxModalModule { - public static forRoot(): ModuleWithProviders { - return {ngModule: PlxModalModule, providers: [PlxModal, PlxModalStack]}; - } -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal.spec.ts b/sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal.spec.ts deleted file mode 100644 index a99c86b1..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal.spec.ts +++ /dev/null @@ -1,597 +0,0 @@ -import {Component, Injectable, ViewChild, OnDestroy, NgModule, getDebugNode, DebugElement} from '@angular/core'; -import {CommonModule} from '@angular/common'; -import {TestBed, ComponentFixture} from '@angular/core/testing'; - -import {PlxModalModule, PlxModal, PlxActiveModal, PlxModalRef} from './modal.module'; - -const NOOP = () => { -}; - -@Injectable() -class SpyService { - called = false; -} - -describe('plx-modal', () => { - - let fixture: ComponentFixture; - - beforeEach(() => { - jasmine.addMatchers({ - toHaveModal: function (util, customEqualityTests) { - return { - compare: function (actual, content?, selector?) { - const allModalsContent = document.querySelector(selector || 'body').querySelectorAll('.modal-content'); - let pass = true; - let errMsg; - - if (!content) { - pass = allModalsContent.length > 0; - errMsg = 'at least one modal open but found none'; - } else if (Array.isArray(content)) { - pass = allModalsContent.length === content.length; - errMsg = `${content.length} modals open but found ${allModalsContent.length}`; - } else { - pass = allModalsContent.length === 1 && allModalsContent[0].textContent.trim() === content; - errMsg = `exactly one modal open but found ${allModalsContent.length}`; - } - - return {pass: pass, message: `Expected ${actual.outerHTML} to have ${errMsg}`}; - }, - negativeCompare: function (actual) { - const allOpenModals = actual.querySelectorAll('plx-modal-window'); - - return { - pass: allOpenModals.length === 0, - message: `Expected ${actual.outerHTML} not to have any modals open but found ${allOpenModals.length}` - }; - } - }; - } - }); - - jasmine.addMatchers({ - toHaveBackdrop: function (util, customEqualityTests) { - return { - compare: function (actual) { - return { - pass: document.querySelectorAll('plx-modal-backdrop').length === 1, - message: `Expected ${actual.outerHTML} to have exactly one backdrop element` - }; - }, - negativeCompare: function (actual) { - const allOpenModals = document.querySelectorAll('plx-modal-backdrop'); - - return { - pass: allOpenModals.length === 0, - message: `Expected ${actual.outerHTML} not to have any backdrop elements` - }; - } - }; - } - }); - }); - - beforeEach(() => { - TestBed.configureTestingModule({imports: [OesModalTestModule]}); - fixture = TestBed.createComponent(TestComponent); - }); - - afterEach(() => { - // detect left-over modals and close them or report errors when can't - - const remainingModalWindows = document.querySelectorAll('plx-modal-window'); - if (remainingModalWindows.length) { - fail(`${remainingModalWindows.length} modal windows were left in the DOM.`); - } - - const remainingModalBackdrops = document.querySelectorAll('plx-modal-backdrop'); - if (remainingModalBackdrops.length) { - fail(`${remainingModalBackdrops.length} modal backdrops were left in the DOM.`); - } - }); - - describe('basic functionality', () => { - - it('should open and close modal with default options', () => { - const modalInstance = fixture.componentInstance.open('foo'); - fixture.detectChanges(); - expect(fixture.nativeElement).toHaveModal('foo'); - - modalInstance.close('some result'); - fixture.detectChanges(); - expect(fixture.nativeElement).not.toHaveModal(); - }); - - it('should open and close modal from a TemplateRef content', () => { - const modalInstance = fixture.componentInstance.openTpl(); - fixture.detectChanges(); - expect(fixture.nativeElement).toHaveModal('Hello, World!'); - - modalInstance.close('some result'); - fixture.detectChanges(); - expect(fixture.nativeElement).not.toHaveModal(); - }); - - it('should properly destroy TemplateRef content', () => { - const spyService = fixture.debugElement.injector.get(SpyService); - const modalInstance = fixture.componentInstance.openDestroyableTpl(); - fixture.detectChanges(); - expect(fixture.nativeElement).toHaveModal('Some content'); - expect(spyService.called).toBeFalsy(); - - modalInstance.close('some result'); - fixture.detectChanges(); - expect(fixture.nativeElement).not.toHaveModal(); - expect(spyService.called).toBeTruthy(); - }); - - it('should open and close modal from a component type', () => { - const spyService = fixture.debugElement.injector.get(SpyService); - const modalInstance = fixture.componentInstance.openCmpt(DestroyableCmpt); - fixture.detectChanges(); - expect(fixture.nativeElement).toHaveModal('Some content'); - expect(spyService.called).toBeFalsy(); - - modalInstance.close('some result'); - fixture.detectChanges(); - expect(fixture.nativeElement).not.toHaveModal(); - expect(spyService.called).toBeTruthy(); - }); - - it('should inject active modal ref when component is used as content', () => { - fixture.componentInstance.openCmpt(WithActiveModalCmpt); - fixture.detectChanges(); - expect(fixture.nativeElement).toHaveModal('Close'); - - (document.querySelector('button.closeFromInside')).click(); - fixture.detectChanges(); - expect(fixture.nativeElement).not.toHaveModal(); - }); - - it('should expose component used as modal content', () => { - const modalInstance = fixture.componentInstance.openCmpt(WithActiveModalCmpt); - fixture.detectChanges(); - expect(fixture.nativeElement).toHaveModal('Close'); - expect(modalInstance.componentInstance instanceof WithActiveModalCmpt).toBeTruthy(); - - modalInstance.close(); - fixture.detectChanges(); - expect(fixture.nativeElement).not.toHaveModal(); - }); - - it('should open and close modal from inside', () => { - fixture.componentInstance.openTplClose(); - fixture.detectChanges(); - expect(fixture.nativeElement).toHaveModal(); - - (document.querySelector('button#close')).click(); - fixture.detectChanges(); - expect(fixture.nativeElement).not.toHaveModal(); - }); - - it('should open and dismiss modal from inside', () => { - fixture.componentInstance.openTplDismiss().result.catch(NOOP); - fixture.detectChanges(); - expect(fixture.nativeElement).toHaveModal(); - - (document.querySelector('button#dismiss')).click(); - fixture.detectChanges(); - expect(fixture.nativeElement).not.toHaveModal(); - }); - - it('should resolve result promise on close', () => { - let resolvedResult; - fixture.componentInstance.openTplClose().result.then((result) => resolvedResult = result); - fixture.detectChanges(); - expect(fixture.nativeElement).toHaveModal(); - - (document.querySelector('button#close')).click(); - fixture.detectChanges(); - expect(fixture.nativeElement).not.toHaveModal(); - - fixture.whenStable().then(() => { - expect(resolvedResult).toBe('myResult'); - }); - }); - - it('should reject result promise on dismiss', () => { - let rejectReason; - fixture.componentInstance.openTplDismiss().result.catch((reason) => rejectReason = reason); - fixture.detectChanges(); - expect(fixture.nativeElement).toHaveModal(); - - (document.querySelector('button#dismiss')).click(); - fixture.detectChanges(); - expect(fixture.nativeElement).not.toHaveModal(); - - fixture.whenStable().then(() => { - expect(rejectReason).toBe('myReason'); - }); - }); - - it('should add / remove "modal-open" class to body when modal is open', () => { - const modalRef = fixture.componentInstance.open('bar'); - fixture.detectChanges(); - expect(fixture.nativeElement).toHaveModal(); - expect(document.body).toHaveCssClass('modal-open'); - - modalRef.close('bar result'); - fixture.detectChanges(); - expect(fixture.nativeElement).not.toHaveModal(); - expect(document.body).not.toHaveCssClass('modal-open'); - }); - - it('should not throw when close called multiple times', () => { - const modalInstance = fixture.componentInstance.open('foo'); - fixture.detectChanges(); - expect(fixture.nativeElement).toHaveModal('foo'); - - modalInstance.close('some result'); - fixture.detectChanges(); - expect(fixture.nativeElement).not.toHaveModal(); - - modalInstance.close('some result'); - fixture.detectChanges(); - expect(fixture.nativeElement).not.toHaveModal(); - }); - - it('should not throw when dismiss called multiple times', () => { - const modalRef = fixture.componentInstance.open('foo'); - modalRef.result.catch(NOOP); - - fixture.detectChanges(); - expect(fixture.nativeElement).toHaveModal('foo'); - - modalRef.dismiss('some reason'); - fixture.detectChanges(); - expect(fixture.nativeElement).not.toHaveModal(); - - modalRef.dismiss('some reason'); - fixture.detectChanges(); - expect(fixture.nativeElement).not.toHaveModal(); - }); - }); - - describe('backdrop options', () => { - - it('should have backdrop by default', () => { - const modalInstance = fixture.componentInstance.open('foo'); - fixture.detectChanges(); - - expect(fixture.nativeElement).toHaveModal('foo'); - expect(fixture.nativeElement).toHaveBackdrop(); - - modalInstance.close('some reason'); - fixture.detectChanges(); - - expect(fixture.nativeElement).not.toHaveModal(); - expect(fixture.nativeElement).not.toHaveBackdrop(); - }); - - it('should open and close modal without backdrop', () => { - const modalInstance = fixture.componentInstance.open('foo', {backdrop: false}); - fixture.detectChanges(); - - expect(fixture.nativeElement).toHaveModal('foo'); - expect(fixture.nativeElement).not.toHaveBackdrop(); - - modalInstance.close('some reason'); - fixture.detectChanges(); - - expect(fixture.nativeElement).not.toHaveModal(); - expect(fixture.nativeElement).not.toHaveBackdrop(); - }); - - it('should open and close modal without backdrop from template content', () => { - const modalInstance = fixture.componentInstance.openTpl({backdrop: false}); - fixture.detectChanges(); - - expect(fixture.nativeElement).toHaveModal('Hello, World!'); - expect(fixture.nativeElement).not.toHaveBackdrop(); - - modalInstance.close('some reason'); - fixture.detectChanges(); - - expect(fixture.nativeElement).not.toHaveModal(); - expect(fixture.nativeElement).not.toHaveBackdrop(); - }); - - it('should dismiss on backdrop click', () => { - fixture.componentInstance.open('foo').result.catch(NOOP); - fixture.detectChanges(); - - expect(fixture.nativeElement).toHaveModal('foo'); - expect(fixture.nativeElement).toHaveBackdrop(); - - (document.querySelector('plx-modal-window')).click(); - fixture.detectChanges(); - - expect(fixture.nativeElement).not.toHaveModal(); - expect(fixture.nativeElement).not.toHaveBackdrop(); - }); - - it('should not dismiss on "static" backdrop click', () => { - const modalInstance = fixture.componentInstance.open('foo', {backdrop: 'static'}); - fixture.detectChanges(); - - expect(fixture.nativeElement).toHaveModal('foo'); - expect(fixture.nativeElement).toHaveBackdrop(); - - (document.querySelector('plx-modal-window')).click(); - fixture.detectChanges(); - - expect(fixture.nativeElement).toHaveModal(); - expect(fixture.nativeElement).toHaveBackdrop(); - - modalInstance.close(); - fixture.detectChanges(); - expect(fixture.nativeElement).not.toHaveModal(); - }); - - it('should not dismiss on clicks outside content where there is no backdrop', () => { - const modalInstance = fixture.componentInstance.open('foo', {backdrop: false}); - fixture.detectChanges(); - expect(fixture.nativeElement).toHaveModal('foo'); - - (document.querySelector('plx-modal-window')).click(); - fixture.detectChanges(); - expect(fixture.nativeElement).toHaveModal(); - - modalInstance.close(); - fixture.detectChanges(); - expect(fixture.nativeElement).not.toHaveModal(); - }); - - it('should not dismiss on clicks that result in detached elements', () => { - const modalInstance = fixture.componentInstance.openTplIf({}); - fixture.detectChanges(); - expect(fixture.nativeElement).toHaveModal(); - - (document.querySelector('button#if')).click(); - fixture.detectChanges(); - expect(fixture.nativeElement).toHaveModal(); - - modalInstance.close(); - fixture.detectChanges(); - expect(fixture.nativeElement).not.toHaveModal(); - }); - }); - - describe('container options', () => { - - it('should attach window and backdrop elements to the specified container', () => { - const modalInstance = fixture.componentInstance.open('foo', {container: '#testContainer'}); - fixture.detectChanges(); - expect(fixture.nativeElement).toHaveModal('foo', '#testContainer'); - - modalInstance.close(); - fixture.detectChanges(); - expect(fixture.nativeElement).not.toHaveModal(); - }); - - it('should throw when the specified container element doesnt exist', () => { - const brokenSelector = '#notInTheDOM'; - expect(() => { - fixture.componentInstance.open('foo', {container: brokenSelector}); - }).toThrowError(`The specified modal container "${brokenSelector}" was not found in the DOM.`); - }); - }); - - describe('keyboard options', () => { - - it('should dismiss modals on ESC by default', () => { - fixture.componentInstance.open('foo').result.catch(NOOP); - fixture.detectChanges(); - expect(fixture.nativeElement).toHaveModal('foo'); - - (getDebugNode(document.querySelector('plx-modal-window'))).triggerEventHandler('keyup.esc', {}); - fixture.detectChanges(); - expect(fixture.nativeElement).not.toHaveModal(); - }); - - it('should not dismiss modals on ESC when keyboard option is false', () => { - const modalInstance = fixture.componentInstance.open('foo', {keyboard: false}); - fixture.detectChanges(); - expect(fixture.nativeElement).toHaveModal('foo'); - - (getDebugNode(document.querySelector('plx-modal-window'))).triggerEventHandler('keyup.esc', {}); - fixture.detectChanges(); - expect(fixture.nativeElement).toHaveModal(); - - modalInstance.close(); - fixture.detectChanges(); - expect(fixture.nativeElement).not.toHaveModal(); - }); - - it('should not dismiss modals on ESC when default is prevented', () => { - const modalInstance = fixture.componentInstance.open('foo', {keyboard: true}); - fixture.detectChanges(); - expect(fixture.nativeElement).toHaveModal('foo'); - - (getDebugNode(document.querySelector('plx-modal-window'))).triggerEventHandler('keyup.esc', { - defaultPrevented: true - }); - fixture.detectChanges(); - expect(fixture.nativeElement).toHaveModal(); - - modalInstance.close(); - fixture.detectChanges(); - expect(fixture.nativeElement).not.toHaveModal(); - }); - }); - - describe('size options', () => { - - it('should render modals with specified size', () => { - const modalInstance = fixture.componentInstance.open('foo', {size: 'sm'}); - fixture.detectChanges(); - expect(fixture.nativeElement).toHaveModal('foo'); - expect(document.querySelector('.modal-dialog')).toHaveCssClass('modal-sm'); - - modalInstance.close(); - fixture.detectChanges(); - expect(fixture.nativeElement).not.toHaveModal(); - }); - - }); - - describe('custom class options', () => { - - it('should render modals with the correct custom classes', () => { - const modalInstance = fixture.componentInstance.open('foo', {windowClass: 'bar'}); - fixture.detectChanges(); - expect(fixture.nativeElement).toHaveModal('foo'); - expect(document.querySelector('plx-modal-window')).toHaveCssClass('bar'); - - modalInstance.close(); - fixture.detectChanges(); - expect(fixture.nativeElement).not.toHaveModal(); - }); - - }); - - describe('focus management', () => { - - it('should focus modal window and return focus to previously focused element', () => { - fixture.detectChanges(); - const openButtonEl = fixture.nativeElement.querySelector('button#open'); - - openButtonEl.focus(); - openButtonEl.click(); - fixture.detectChanges(); - expect(fixture.nativeElement).toHaveModal('from button'); - expect(document.activeElement).toBe(document.querySelector('plx-modal-window')); - - fixture.componentInstance.close(); - expect(fixture.nativeElement).not.toHaveModal(); - expect(document.activeElement).toBe(openButtonEl); - }); - - - it('should return focus to body if no element focused prior to modal opening', () => { - const modalInstance = fixture.componentInstance.open('foo'); - fixture.detectChanges(); - expect(fixture.nativeElement).toHaveModal('foo'); - expect(document.activeElement).toBe(document.querySelector('plx-modal-window')); - - modalInstance.close('ok!'); - expect(document.activeElement).toBe(document.body); - }); - }); - - describe('window element ordering', () => { - it('should place newer windows on top of older ones', () => { - const modalInstance1 = fixture.componentInstance.open('foo', {windowClass: 'window-1'}); - fixture.detectChanges(); - - const modalInstance2 = fixture.componentInstance.open('bar', {windowClass: 'window-2'}); - fixture.detectChanges(); - - let windows = document.querySelectorAll('plx-modal-window'); - expect(windows.length).toBe(2); - expect(windows[0]).toHaveCssClass('window-1'); - expect(windows[1]).toHaveCssClass('window-2'); - - modalInstance2.close(); - modalInstance1.close(); - fixture.detectChanges(); - }); - }); -}); - -@Component({selector: 'destroyable-cmpt', template: 'Some content'}) -export class DestroyableCmpt implements OnDestroy { - constructor(private _spyService: SpyService) { - } - - ngOnDestroy(): void { - this._spyService.called = true; - } -} - -@Component( - {selector: 'modal-content-cmpt', template: ''}) -export class WithActiveModalCmpt { - constructor(public activeModal: PlxActiveModal) { - } - - close() { - this.activeModal.close('from inside'); - } -} - -@Component({ - selector: 'test-cmpt', - template: ` -
- - - - - - - ` -}) -class TestComponent { - name = 'World'; - openedModal: PlxModalRef; - show = true; - @ViewChild('content') tplContent; - @ViewChild('destroyableContent') tplDestroyableContent; - @ViewChild('contentWithClose') tplContentWithClose; - @ViewChild('contentWithDismiss') tplContentWithDismiss; - @ViewChild('contentWithIf') tplContentWithIf; - - constructor(private modalService: PlxModal) { - } - - open(content: string, options?: Object) { - this.openedModal = this.modalService.open(content, options); - return this.openedModal; - } - - close() { - if (this.openedModal) { - this.openedModal.close('ok'); - } - } - - openTpl(options?: Object) { - return this.modalService.open(this.tplContent, options); - } - - openCmpt(cmptType: any, options?: Object) { - return this.modalService.open(cmptType, options); - } - - openDestroyableTpl(options?: Object) { - return this.modalService.open(this.tplDestroyableContent, options); - } - - openTplClose(options?: Object) { - return this.modalService.open(this.tplContentWithClose, options); - } - - openTplDismiss(options?: Object) { - return this.modalService.open(this.tplContentWithDismiss, options); - } - - openTplIf(options?: Object) { - return this.modalService.open(this.tplContentWithIf, options); - } -} - -@NgModule({ - declarations: [TestComponent, DestroyableCmpt, WithActiveModalCmpt], - exports: [TestComponent, DestroyableCmpt], - imports: [CommonModule, PlxModalModule.forRoot()], - entryComponents: [DestroyableCmpt, WithActiveModalCmpt], - providers: [SpyService] -}) -class OesModalTestModule { -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal.ts b/sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal.ts deleted file mode 100644 index 5935eee6..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-modal/modal.ts +++ /dev/null @@ -1,54 +0,0 @@ -import {Injectable, Injector, ComponentFactoryResolver} from '@angular/core'; -import {PlxModalStack} from './modal-stack'; -import {PlxModalRef} from './modal-ref'; - -/** - * Represent options available when opening new modal windows. - */ -export interface PlxModalOptions { - /** - * Whether a backdrop element should be created for a given modal (true by default). - * Alternatively, specify 'static' for a backdrop which doesn't close the modal on click. - */ - backdrop?: boolean | 'static'; - - /** - * An element to which to attach newly opened modal windows. - */ - container?: string; - - /** - * Whether to close the modal when escape key is pressed (true by default). - */ - keyboard?: boolean; - - /** - * Size of a new modal window. - */ - size?: 'sm' | 'lg'; - - /** - * Custom class to append to the modal window - */ - windowClass?: string; -} - -/** - * A service to open modal windows. Creating a modal is straightforward: create a template and pass it as an argument to - * the "open" method! - */ -@Injectable() -export class PlxModal { - constructor(private _moduleCFR: ComponentFactoryResolver, private _injector: Injector, private _modalStack: PlxModalStack) { - } - - /** - * Opens a new modal window with the specified content and using supplied options. Content can be provided - * as a TemplateRef or a component type. If you pass a component type as content than instances of those - * components can be injected with an instance of the PlxActiveModal class. You can use methods on the - * PlxActiveModal class to close / dismiss modals from "inside" of a component. - */ - public open(content: any, options: PlxModalOptions = {}): PlxModalRef { - return this._modalStack.open(this._moduleCFR, this._injector, content, options); - } -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-text-input/index.ts b/sdc-workflow-designer-ui/src/app/paletx/plx-text-input/index.ts deleted file mode 100644 index c677a944..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-text-input/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -export * from './text-input.component'; -export * from './text-input.module'; -export * from './ipv4-validator.directive'; -export * from './ipv6-validator.directive'; -export * from './max-validator.directive'; -export * from './min-validator.directive'; -export * from './text-input-ip.component'; -export * from './text-input-ip-address.component'; diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-text-input/ipv4-validator.directive.ts b/sdc-workflow-designer-ui/src/app/paletx/plx-text-input/ipv4-validator.directive.ts deleted file mode 100644 index 312ea5f3..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-text-input/ipv4-validator.directive.ts +++ /dev/null @@ -1,24 +0,0 @@ -import {Directive, forwardRef} from '@angular/core'; -import {AbstractControl, NG_VALIDATORS, Validators} from '@angular/forms'; - -@Directive({ - selector: '[ipv4][ngModel],[ipv4][formControl],[ipv4][formControlName]', - providers: [{ - provide: NG_VALIDATORS, - useExisting: forwardRef(() => Ipv4ValidatorDirective), - multi: true - }], -}) - -export class Ipv4ValidatorDirective { - validate(c: AbstractControl) { - if (Validators.required(c) !== undefined && - Validators.required(c) !== null) { - return null; - } - const ipv4Reg = - /^((25[0-5]|2[0-4]\d|[0-1]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[0-1]?\d\d?)$/; - let regex = new RegExp(ipv4Reg); - return regex.test(c.value) ? null : {'ipv4': true}; - } -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-text-input/ipv6-validator.directive.ts b/sdc-workflow-designer-ui/src/app/paletx/plx-text-input/ipv6-validator.directive.ts deleted file mode 100644 index 45182036..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-text-input/ipv6-validator.directive.ts +++ /dev/null @@ -1,24 +0,0 @@ -import {Directive, forwardRef} from '@angular/core'; -import {AbstractControl, NG_VALIDATORS, Validators} from '@angular/forms'; - -@Directive({ - selector: '[ipv6][ngModel],[ipv6][formControl],[ipv6][formControlName]', - providers: [{ - provide: NG_VALIDATORS, - useExisting: forwardRef(() => Ipv6ValidatorDirective), - multi: true - }], -}) - -export class Ipv6ValidatorDirective { - validate(c: AbstractControl) { - if (Validators.required(c) !== undefined && - Validators.required(c) !== null) { - return null; - } - const ipv6Reg = - /^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/; - let regex = new RegExp(ipv6Reg); - return regex.test(c.value) ? null : {'ipv6': true}; - }4 -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-text-input/max-validator.directive.ts b/sdc-workflow-designer-ui/src/app/paletx/plx-text-input/max-validator.directive.ts deleted file mode 100644 index 143dccc6..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-text-input/max-validator.directive.ts +++ /dev/null @@ -1,49 +0,0 @@ -import {AfterViewInit, Directive, ElementRef, forwardRef, Input} from '@angular/core'; -import {AbstractControl, NG_VALIDATORS, ValidatorFn, Validators} from '@angular/forms'; - -import {NumberWrapperParseFloat} from '../core/number-wrapper-parse'; - -@Directive({ - selector: '[max][ngModel],[max][formControl],[max][formControlName]', - providers: [{ - provide: NG_VALIDATORS, - useExisting: forwardRef(() => MaxValidatorDirective), - multi: true - }], -}) - -export class MaxValidatorDirective implements AfterViewInit { - private _validator: ValidatorFn; - private inputElement: any; - constructor(elementRef: ElementRef) { - this.inputElement = elementRef; - } - ngAfterViewInit() { - this.inputElement = this.inputElement.nativeElement.querySelector('input'); - if (this.inputElement && this.inputElement.querySelector('input')) { - this._validator = max(NumberWrapperParseFloat( - this.inputElement.querySelector('input').getAttribute('max'))); - } - } - @Input() - set max(maxValue: string) { - this._validator = max(NumberWrapperParseFloat(maxValue)); - } - - validate(c: AbstractControl): {[key: string]: any} { - return this._validator(c); - } -} - -function max(maxvalue: number): ValidatorFn { - return (control: AbstractControl): {[key: string]: any} => { - if (Validators.required(control) !== undefined && - Validators.required(control) !== null) { - return null; - } - let v: Number = Number(control.value); - return v > maxvalue ? - {'max': {'requiredValue': maxvalue, 'actualValue': v}} : - null; - }; -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-text-input/min-validator.directive.ts b/sdc-workflow-designer-ui/src/app/paletx/plx-text-input/min-validator.directive.ts deleted file mode 100644 index 260a93ed..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-text-input/min-validator.directive.ts +++ /dev/null @@ -1,49 +0,0 @@ -import {AfterViewInit, Directive, ElementRef, forwardRef, Input} from '@angular/core'; -import {AbstractControl, NG_VALIDATORS, ValidatorFn, Validators} from '@angular/forms'; - -import {NumberWrapperParseFloat} from '../core/number-wrapper-parse'; - -@Directive({ - selector: '[min][ngModel],[min][formControl],[min][formControlName]', - providers: [{ - provide: NG_VALIDATORS, - useExisting: forwardRef(() => MinValidatorDirective), - multi: true - }], -}) - -export class MinValidatorDirective implements AfterViewInit { - private _validator: ValidatorFn; - private inputElement: any; - constructor(elementRef: ElementRef) { - this.inputElement = elementRef; - } - ngAfterViewInit() { - this.inputElement = this.inputElement.nativeElement.querySelector('input'); - if (this.inputElement && this.inputElement.querySelector('input')) { - this._validator = min(NumberWrapperParseFloat( - this.inputElement.querySelector('input').getAttribute('min'))); - } - } - @Input() - set min(minValue: string) { - this._validator = min(NumberWrapperParseFloat(minValue)); - } - - validate(c: AbstractControl): {[key: string]: any} { - return this._validator(c); - } -} - -function min(minvalue: number): ValidatorFn { - return (control: AbstractControl): {[key: string]: any} => { - if (Validators.required(control) !== undefined && - Validators.required(control) !== null) { - return null; - } - let v: Number = Number(control.value); - return v < minvalue ? - {'min': {'requiredValue': minvalue, 'actualValue': v}} : - null; - }; -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-text-input/text-input-ip-address.component.ts b/sdc-workflow-designer-ui/src/app/paletx/plx-text-input/text-input-ip-address.component.ts deleted file mode 100644 index 501d2326..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-text-input/text-input-ip-address.component.ts +++ /dev/null @@ -1,170 +0,0 @@ -import {Component, EventEmitter, forwardRef, Input, OnInit, Output} from '@angular/core'; -import {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms'; -import {BooleanFieldValue} from '../core/boolean-field-value'; - -const noop = () => {}; - -export const PX_TEXT_INPUT_IP_ADDRESS_CONTROL_VALUE_ACCESSOR: any = { - provide: NG_VALUE_ACCESSOR, - useExisting: forwardRef(() => PlxTextInputIpAddressComponent), - multi: true -}; -@Component({ - selector: 'plx-text-input-ip-address', - template: ` -
- -
{{errMsg}}
-
- `, - styleUrls: ['text-input.less'], - host: {'style': 'display: inline-block;'}, - providers: [PX_TEXT_INPUT_IP_ADDRESS_CONTROL_VALUE_ACCESSOR] -}) - -export class PlxTextInputIpAddressComponent implements OnInit, ControlValueAccessor { - @Input() lang: string = 'zh'; //zh|en - @Input() size: string; //空代表普通尺寸,sm代表小尺寸 - @Input() ipAddressCheckTip: string = ''; // - - @Input() @BooleanFieldValue() required: boolean = false; - - @Input() public ipValue: string; - @Output() public ipValueChange: EventEmitter = new EventEmitter(); - - @Input() public ipValueFlg : boolean; - @Output() public ipValueFlgChange: EventEmitter = new EventEmitter(); - - private isNull : boolean = true; - - /** Callback registered via registerOnTouched (ControlValueAccessor) */ - private _onTouchedCallback: () => void = noop; - /** Callback registered via registerOnChange (ControlValueAccessor) */ - private _onChangeCallback: (_: any) => void = noop; - - public errMsgs = { - 'zh': { - 'empty': '此项不能为空', - 'invalidate': 'IP格式不对', - 'range': '请输入正确的IPV4地址或IPV6地址', - 'range-IPV4': '请输入正确的IPV4', - 'range-IPV6': '请输入正确的IPV6' - }, - 'en': { - 'empty': 'IP can not be empty', - 'invalidate': 'IP format is incorrect', - 'range': 'IP range is IPV4 or IPV6', - 'range-IPV4': 'IP range is IPV4', - 'range-IPV6': 'IP range is IPV6' - } - }; - public errMsg: string; - public sizeClass: string; - - constructor() { - } - - ngOnInit(): void { - if (this.size === 'sm') { - this.sizeClass = 'plx-input-sm'; - } - this.isNull = this.ipValueFlg; - if(this.repIPStr(this.ipValue) === ''&& !this.ipValueFlg){ - this.ipValueFlg = false; - this.emitValue(); - } - } - - public keyUp(event: any): void { - this.setValueToOutside(this.validate()); - this.emitValue(); - } - - public paste(event: any): void{ - setTimeout(() => { - this.ipValue = event.target.value; - this.setValueToOutside(this.validate()); - this.emitValue(); - }, 0); - } - - private emitValue(){ - this.ipValueChange.emit(this.ipValue); - this.ipValueFlgChange.emit(this.ipValueFlg); - } - - private setValueToOutside(validateFlg: boolean): void { - this.ipValueFlg = validateFlg; - let value; - if (validateFlg) { - if (this.ipValue) { - value = this.ipValue; - } - if(this.ipValue === "" && !this.isNull){ - this.ipValueFlg = false; - } - } else { - value = false; - } - this._onChangeCallback(value); - } - - writeValue(value: any): void { - // - this.errMsg = ''; - this.ipValue = value; - if (value) { - this.validate(); - } - } - - registerOnChange(fn: any) { - this._onChangeCallback = fn; - } - - registerOnTouched(fn: any) { - this._onTouchedCallback = fn; - } - - public validate(): boolean { - this.errMsg = ''; - if (this.required) { - if (!this.ipValue) { - this.errMsg = this.errMsgs[this.lang]['empty']; - return false; - } - } - if ((this.ipValue) && (!this.ipValue)) { - this.errMsg = this.errMsgs[this.lang]['invalidate']; - return false; - } - let blackStr = this.repIPStr(this.ipValue); - if(this.ipAddressCheckTip === ''){ - if(this.ipValue !== '' && blackStr === ''){ - this.errMsg = this.errMsgs[this.lang]['range']; - return false; - } - }else{ - if(this.ipValue !== '' && this.ipAddressCheckTip !== blackStr) { - this.errMsg = this.errMsgs[this.lang]['range-'+ this.ipAddressCheckTip]; - return false; - } - } - return true; - } - - private repIPStr(value: any): string { - let blackStr = ''; - var regip4 = /^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$/; - if (regip4.test(value)) { - return "IPV4"; - } - var regip6 = /^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/; - if (regip6.test(value)) { - return "IPV6"; - } - return blackStr; - } -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-text-input/text-input-ip.component.ts b/sdc-workflow-designer-ui/src/app/paletx/plx-text-input/text-input-ip.component.ts deleted file mode 100644 index 7c9d616d..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-text-input/text-input-ip.component.ts +++ /dev/null @@ -1,189 +0,0 @@ -import {Component, forwardRef, Input, OnInit} from '@angular/core'; -import {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms'; - -import {BooleanFieldValue} from '../core/boolean-field-value'; - -const noop = () => {}; - -export const PX_TEXT_INPUT_IP_CONTROL_VALUE_ACCESSOR: any = { - provide: NG_VALUE_ACCESSOR, - useExisting: forwardRef(() => PlxTextInputIpComponent), - multi: true -}; - -@Component({ - selector: 'plx-text-input-ip', - template: ` -
- - . - - . - - . - -
{{errMsg}}
-
- `, - styleUrls: ['text-input.less'], - host: {'style': 'display: inline-block;'}, - providers: [PX_TEXT_INPUT_IP_CONTROL_VALUE_ACCESSOR] -}) - -export class PlxTextInputIpComponent implements OnInit, ControlValueAccessor { - @Input() lang: string = 'zh'; //zh|en - @Input() size: string; //空代表普通尺寸,sm代表小尺寸 - @Input() @BooleanFieldValue() required: boolean = false; - /** Callback registered via registerOnTouched (ControlValueAccessor) */ - private _onTouchedCallback: () => void = noop; - /** Callback registered via registerOnChange (ControlValueAccessor) */ - private _onChangeCallback: (_: any) => void = noop; - public ipValue1: number; - public ipValue2: number; - public ipValue3: number; - public ipValue4: number; - public errMsgs = { - 'zh': { - 'empty': 'IP不能为空', - 'invalidate': '非法IP', - 'range': 'IP范围[0.0.0.0]~[255.255.255.255]' - }, - 'en': { - 'empty': 'IP can not be empty', - 'invalidate': 'Invalid IP', - 'range': 'IP range is [0.0.0.0]~[255.255.255.255]' - } - }; - public errMsg: string; - - constructor() { - } - - ngOnInit(): void { - } - - public change(event: any) :void { - event.target.value = this.repNumber(event.target.value); - this.setValueToOutside(this.validate()); - } - - public keyup(event: any, frontElement: any, backElement: any): void { - event.target.value = this.repNumber(event.target.value); - if (((event.keyCode === 13 || event.keyCode === 110 || event.keyCode === 190) - && event.target.value.length !== 0) - || event.target.value.length === 3) { //enter:13,dot:110、190 - if (event.keyCode !== 9) { //tab:9 - if (backElement) { - backElement.autoFocus = true; - backElement.inputViewChild.nativeElement.select(); - } else { - if (event.keyCode !== 110 && event.keyCode !== 190) { - event.target.blur(); - } - } - } - } - - if (event.target.value.length === 0 // backspace:8 delete:46 - && (event.keyCode === 8 || event.keyCode === 46)) { - if (frontElement) { - frontElement.autoFocus = true; - frontElement.inputViewChild.nativeElement.select(); - } - } - - this.setValueToOutside(this.validate()); - } - - private setValueToOutside(validateFlg: boolean): void { - let value; - if (validateFlg) { - if (this.ipValue1 && this.ipValue2 && this.ipValue3 && this.ipValue4) { - value = this.ipValue1 + '.' - + this.ipValue2 + '.'+ this.ipValue3 + '.'+ this.ipValue4; - } - } else { - value = false; - } - this._onChangeCallback(value); - } - - writeValue(value: any): void { - // - this.errMsg = ''; - if (value) { - if (this.isIPStr(value)) { - let ipArr = value.split('.'); - this.ipValue1 = ipArr[0]; - this.ipValue2 = ipArr[1]; - this.ipValue3 = ipArr[2]; - this.ipValue4 = ipArr[3]; - } else { - this.errMsg = this.errMsgs[this.lang]['invalidate'] + ' : ' + value; - } - } - } - - registerOnChange(fn: any) { - this._onChangeCallback = fn; - } - - registerOnTouched(fn: any) { - this._onTouchedCallback = fn; - } - - public validate(): boolean { - this.errMsg = ''; - if (this.required) { - if (!this.ipValue1 && !this.ipValue2 && !this.ipValue3 && !this.ipValue4) { - this.errMsg = this.errMsgs[this.lang]['empty']; - return false; - } - } - if ((this.ipValue1 || this.ipValue2 || this.ipValue3 || this.ipValue4) - && (!this.ipValue1 || !this.ipValue2 || !this.ipValue3 || !this.ipValue4)) { - this.errMsg = this.errMsgs[this.lang]['invalidate']; - return false; - } - if ((this.ipValue1 && (this.ipValue1 < 0 || this.ipValue1 > 255)) - || (this.ipValue2 && (this.ipValue2 < 0 || this.ipValue2 > 255)) - || (this.ipValue3 && (this.ipValue3 < 0 || this.ipValue3 > 255)) - || (this.ipValue4 && (this.ipValue4 < 0 || this.ipValue4 > 255))) { - this.errMsg = this.errMsgs[this.lang]['range']; - return false; - } - - return true; - } - - private repNumber(value: any): number { - var reg = /^[\d]+$/g; - if (!reg.test(value)) { - let txt = value; - txt.replace(/[^0-9]+/, function (char, index, val) { //匹配第一次非数字字符 - value = val.replace(/\D/g, ""); //将非数字字符替换成"" - }) - } - return value; - } - - private isIPStr(value: any): boolean { - var regip4 = /^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$/; - if (regip4.test(value)) { - return true; - } - return false; - } -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-text-input/text-input.component.ts b/sdc-workflow-designer-ui/src/app/paletx/plx-text-input/text-input.component.ts deleted file mode 100644 index 9b5a01e9..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-text-input/text-input.component.ts +++ /dev/null @@ -1,765 +0,0 @@ -import {AfterContentInit, Component, ElementRef, EventEmitter, forwardRef, HostBinding, HostListener, Input, OnInit, Output, Renderer2, ViewChild} from '@angular/core'; -import {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms'; -import {Observable} from 'rxjs/Observable'; - -import {BooleanFieldValue} from '../core/boolean-field-value'; -import {NumberWrapperParseFloat} from '../core/number-wrapper-parse'; -import {UUID} from '../core/uuid'; - -const noop = () => {}; - -export const PX_TEXT_INPUT_CONTROL_VALUE_ACCESSOR: any = { - provide: NG_VALUE_ACCESSOR, - useExisting: forwardRef(() => PlxTextInputComponent), - multi: true -}; - -@Component({ - selector: 'plx-text-input', - templateUrl: 'text-input.html', - styleUrls: ['text-input.less'], - host: {'style': 'display: inline-block;'}, - providers: [PX_TEXT_INPUT_CONTROL_VALUE_ACCESSOR] -}) - -export class PlxTextInputComponent implements ControlValueAccessor, OnInit, - AfterContentInit { - private _focused: boolean = false; - private _value: any = ''; - /** Callback registered via registerOnTouched (ControlValueAccessor) */ - private _onTouchedCallback: () => void = noop; - /** Callback registered via registerOnChange (ControlValueAccessor) */ - private _onChangeCallback: (_: any) => void = noop; - - /** Readonly properties. */ - get empty() { - return this._value === null || this._value === ''; - } - get inputId(): string { - return `${this.id}`; - } - get isShowHintLabel() { - return this._focused && this.hintLabel !== null; - } - get inputType() { - return this.type === 'number' ? 'text' : this.type; - } - - @Input() id: string = `plx-input-${UUID.UUID()}`; - @Input() name: string = null; - @Input() hintLabel: string = null; - @Input() lang: string = 'zh'; - @Input() @BooleanFieldValue() disabled: boolean = false; - - @Input() numberShowSpinner = true; - @Input() max: string|number = null; - @Input() maxLength: number = 64; - @Input() min: string|number = null; - @Input() minLength: number = null; - @Input() placeholder: string = ''; - @Input() @BooleanFieldValue() readOnly: boolean = false; - @Input() @BooleanFieldValue() required: boolean = false; - @Input() @BooleanFieldValue() notShowOption: boolean = true; - @Input() type: string = 'text'; - @Input() tabIndex: number = null; - @Input() pattern: string = null; - - @Input() @BooleanFieldValue() shortInput: boolean = false; - @Input() unit: string = null; - @Input() unitOptions: string[] = null; - @Input() prefix: string = null; - @Input() suffixList: string[] = null; - - // @Input() precision: number = 0; - @Input() step: number = 1; - @Input() width: string = '400px'; - @Input() unitWidth: string = '45px'; - @Input() unitOptionWidth: string = '84px'; - @Input() prefixWidth: string = '70px'; - @Input() historyList: string[]; - - @Input() prefixOptions: string[] = []; - @Input() prefixOptionWidth: string = '84px'; - - @Input() @BooleanFieldValue() passwordSwitch: boolean = false; - - @ViewChild('input') inputViewChild: ElementRef; - @ViewChild('inputOutter') pxTextInputElement: ElementRef; - - @HostBinding('class.input-invalid') selectClass: boolean = true; - - isDisabledUp: boolean = false; - isDisabledDown: boolean = false; - displayDataList: string[]; - currentPrecision: number = 0; - keyPattern: RegExp = /[0-9\-]/; - langPattern: RegExp = - /[a-zA-Z]|[\u4e00-\u9fa5]|[\uff08\uff09\u300a\u300b\u2014\u2014\uff1a\uff1b\uff0c\u201c\u201d\u2018\u2019\+\=\{\}\u3001\u3002\u3010\u3011\<\>\uff01\uff1f\/\|]/g; - timer: any; - optionalLabel: string = null; - hasSelection = false; - _precision: number = 0; - displayValue: any; - - isOpenDataList: boolean = false; - dataListClicked: boolean = false; - isOpenSuffixList: boolean = false; - suffixListClicked: boolean = false; - - showUnit: string; - isShowUnitOption: boolean = false; - unitOptionClicked: boolean = false; - - prefixOptionClicked: boolean = false; - isShowPrefixOption = false; - showPrefix: string; - showPassword: boolean = false; - tooltipText: string; - tooltipTexts = { - 'zh': { - 'true': '隐藏', - 'false': '显示', - }, - 'en': { - 'true': 'hidden', - 'false': 'show', - } - }; - isPwdSwithHover: boolean = false; - isPwdSwithClick: boolean = false; - - _autoFocus: boolean = false; - @Input() - set autoFocus(value: boolean) { - this._autoFocus = value; - - const that = this; - if (this._autoFocus) { - setTimeout(() => { - that.inputViewChild.nativeElement.focus(); - }, 0); - } - } - get autoFocus() { - return this._autoFocus; - } - - @Input() - set precision(value: string) { - this._precision = parseInt(value); - } - get precision() { - return this._value; - } - - get inputWidth() { - if (this.prefixOptions && this.prefixOptions.length > 0) { - if (this.unitOptions && this.unitOptions.length > 0) { - return `calc(${this.width} - ${this.prefixOptionWidth} - ${this.unitOptionWidth})`; - } else if (this.unit !== null) { - return `calc(${this.width} - ${this.prefixOptionWidth} - ${this.unitWidth})`; - } else { - return `calc(${this.width} - ${this.prefixOptionWidth})`; - } - } - - if (this.unit !== null && this.prefix !== null) { - return `calc(${this.width} - ${this.unitWidth} - ${this.prefixWidth})`; - } - - if (this.unit !== null) { - return `calc(${this.width} - ${this.unitWidth})`; - } - - if (!!this.unitOptions && this.unitOptions.length !== 0 && - this.prefix !== null) { - return `calc(${this.width} - ${this.unitOptionWidth} - ${ - this.prefixWidth - })`; - } - - if (!!this.unitOptions && this.unitOptions.length !== 0) { - return `calc(${this.width} - ${this.unitOptionWidth})`; - } - if (this.prefix !== null) { - return `calc(${this.width} - ${this.prefixWidth})`; - } - return this.width; - } - - - get hasUnit() { - return this.unit !== null; - } - get hasUnitOption() { - return this.showUnit !== undefined; - } - get hasPrefix() { - return this.prefix !== null; - } - get hasPrefixOption() { - return this.prefixOptions && this.prefixOptions.length > 0; - } - get isFocus() { - return this._focused; - } - - private _blurEmitter: EventEmitter = - new EventEmitter(); - private _focusEmitter: EventEmitter = - new EventEmitter(); - private click = new EventEmitter(); - private unitChange = new EventEmitter(); - @Output() public prefixChange = new EventEmitter(); - - @Output('blur') - get onBlur(): Observable { - return this._blurEmitter.asObservable(); - } - - @Output('focus') - get onFocus(): Observable { - return this._focusEmitter.asObservable(); - } - - @HostListener('focus') - onHostFocus() { - this.renderer.addClass(this.el.nativeElement, 'input-focus'); - this.renderer.removeClass(this.el.nativeElement, 'input-blur'); - } - - @HostListener('blur') - onHostBlur() { - this.renderer.addClass(this.el.nativeElement, 'input-blur'); - this.renderer.removeClass(this.el.nativeElement, 'input-focus'); - } - - @Input() - set value(v: any) { - v = this.filterZhChar(v); - v = this._convertValueForInputType(v); - if (v !== this._value) { - this._value = v; - if (this.type === 'number') { - if (this._value === '') { - this._onChangeCallback(null); - } else if (isNaN(this._value)) { - this._onChangeCallback(this._value); - } else { - this._onChangeCallback(NumberWrapperParseFloat(this._value)); - } - } else { - this._onChangeCallback(this._value); - } - } - } - get value(): any { - return this._value; - } - - constructor( - private el: ElementRef, private renderer: Renderer2) {} - - ngOnInit() { - if (this.shortInput) { - this.width = '120px'; - this.unitWidth = '40px'; - this.prefixWidth = '40px'; - } - this.translateLabel(); - - if (!!this.unitOptions && this.unitOptions.length !== 0) { - this.showUnit = this.unitOptions[0]; - } - - if (!!this.prefixOptions && this.prefixOptions.length !== 0) { - this.showPrefix = this.prefixOptions[0]; - } - } - - ngAfterContentInit() { - if (this.pxTextInputElement) { - Array.from(this.pxTextInputElement.nativeElement.childNodes) - .forEach((node: HTMLElement) => { - if (node.nodeType === 3) { - this.pxTextInputElement.nativeElement.removeChild(node); - } - }); - } - } - private translateLabel() { - if (this.lang === 'zh') { - this.optionalLabel = '(可选)'; - } else { - this.optionalLabel = '(Optional)'; - } - } - - _handleFocus(event: FocusEvent) { - this._focused = true; - this._focusEmitter.emit(event); - } - - _handleBlur(event: FocusEvent) { - this._focused = false; - this._onTouchedCallback(); - this._blurEmitter.emit(event); - } - - _checkValueLimit(value: any) { - if (this.type === 'number') { - if ((value === '' || value === undefined || value === null) && - !this.required) { - return ''; - } else if ( - this.min !== null && - NumberWrapperParseFloat(value) < NumberWrapperParseFloat(this.min)) { - return this.min; - } else if ( - this.max !== null && - NumberWrapperParseFloat(value) > NumberWrapperParseFloat(this.max)) { - return this.max; - } else { - return value; - } - } - return value; - } - - _checkValue() { - this.value = this._checkValueLimit(this.value); - this.displayValue = this.value; - } - - _handleChange(event: Event) { - this.value = (event.target).value; - this._onTouchedCallback(); - } - - openDataList() { - this.dataListClicked = true; - if (this.historyList) { - if (this.value) { - this.filterOption(this.value); - } else { - this.displayDataList = this.historyList; - if (!this.isOpenDataList) { - this.isOpenDataList = true; - } - } - } - } - - _handleClick(event: Event) { - if (this.isShowUnitOption) { - this.isShowUnitOption = false; - } - this.click.emit(event); - - if (this.historyList) { - this.openDataList(); - } - } - - _handleSelect(event: Event) { // 输入框文本被选中时处理 - if (!this.hasSelection) { - this.hasSelection = true; - } - } - deleteSelection() { // 删除选中文本, - document.getSelection().deleteFromDocument(); - this.hasSelection = false; - } - - _onWindowClick(event: Event) { - if (this.historyList) { - if (!this.dataListClicked) { - this.isOpenDataList = false; - } - this.dataListClicked = false; - } - - if (this.suffixList) { - if (!this.suffixListClicked) { - this.isOpenSuffixList = false; - } - this.suffixListClicked = false; - } - - if (this.unitOptions) { - if (!this.unitOptionClicked) { - this.isShowUnitOption = false; - } - this.unitOptionClicked = false; - } - - if (this.prefixOptions) { - if (!this.prefixOptionClicked) { - this.isShowPrefixOption = false; - } - this.prefixOptionClicked = false; - } - } - - _showPrefixOption(event: Event) { - this.isShowPrefixOption = !this.isShowPrefixOption; - this.prefixOptionClicked = true; - } - - _showUnitOption(event: Event) { - this.isShowUnitOption = !this.isShowUnitOption; - this.unitOptionClicked = true; - } - - _setUnit(unitValue: string) { - this.unitOptionClicked = true; - this.showUnit = unitValue; - this.unitChange.emit(unitValue); - this.isShowUnitOption = false; - } - - _setPrefix(value: string) { - if (value !== this.showPrefix) { - this.showPrefix = value; - this.prefixChange.emit(value); - } - this.prefixOptionClicked = true; - this.isShowPrefixOption = false; - } - - filterOption(value: any) { - this.displayDataList = []; - this.displayDataList = this.historyList.filter((data: string) => { - return data.toLowerCase().indexOf(value.toLowerCase()) > -1; - }); - - this.isOpenDataList = this.displayDataList.length !== 0; - } - - concatValueAndSuffix(value: string) { - const that = this; - that.displayDataList = []; - let mark = '@'; - if (value === '') { - that.displayDataList = []; - } else if (value.trim().toLowerCase().indexOf(mark) === -1) { - that.displayDataList.push(value); - that.suffixList.map((item: string) => { - let tempValue = value + mark + item; - that.displayDataList.push(tempValue); - }); - } else { - that.suffixList.map((item: string) => { - let tempValue = value.split(mark)[0] + mark + item; - that.displayDataList.push(tempValue); - }); - that.displayDataList = that.displayDataList.filter((item: string) => { - return item.trim().toLowerCase().indexOf(value) > -1; - }); - } - - that.isOpenSuffixList = that.displayDataList.length !== 0; - } - - _handleInput(event: any) { - let inputValue = event.target.value.trim().toLowerCase(); - - if (this.historyList) { - this.filterOption(inputValue); - } - - if (this.suffixList) { - this.concatValueAndSuffix(inputValue); - } - } - - chooseInputData(data: any) { - this.displayValue = data; - this.value = data; - - this.isOpenDataList = false; - this.dataListClicked = true; - this.isOpenSuffixList = false; - this.suffixListClicked = true; - } - - writeValue(value: any) { - this.displayValue = this._checkValueLimit(value); - this._value = this.displayValue; - } - - registerOnChange(fn: any) { - this._onChangeCallback = fn; - } - - registerOnTouched(fn: any) { - this._onTouchedCallback = fn; - } - - private getConvertValue(v: any) { - this.currentPrecision = v.toString().split('.')[1].length; - if (this.currentPrecision === 0) { // 输入小数点,但小数位数为0时 - return v; - } - if (this.currentPrecision < - this._precision) { // 输入小数点,且小数位数不为0 - return this.toFixed(v, this.currentPrecision); - } else { - return this.toFixed(v, this._precision); - } - } - - private filterZhChar(v: any) { - if (this.type === 'number') { - let reg = /[^0-9.-]/; - while (reg.test(v)) { - v = v.replace(reg, ''); - } - } - return v; - } - - private _convertValueForInputType(v: any): any { - switch (this.type) { - case 'number': { - if (v === '' || v === '-') { - return v; - } - - if (v.toString().indexOf('.') === -1) { // 整数 - return this.toFixed(v, 0); - } else { - return this.getConvertValue(v); - } - } - default: - return v; - } - } - - private toFixed(value: number, precision: number) { - return Number(value).toFixed(precision); - } - - repeat(interval: number, dir: number) { - let i = interval || 500; - - this.clearTimer(); - this.timer = setTimeout(() => { - this.repeat(40, dir); - }, i); - - this.spin(dir); - } - - clearTimer() { - if (this.timer) { - clearInterval(this.timer); - } - } - - spin(dir: number) { - let step = this.step * dir; - let currentValue = this._convertValueForInputType(this.value) || 0; - - this.value = Number(currentValue) + step; - - if (this.maxLength !== null && - this.value.toString().length > this.maxLength) { - this.value = currentValue; - } - - if (this.min !== null && this.value <= NumberWrapperParseFloat(this.min)) { - this.value = this.min; - this.isDisabledDown = true; - } - - if (this.max !== null && this.value >= NumberWrapperParseFloat(this.max)) { - this.value = this.max; - this.isDisabledUp = true; - } - this.displayValue = this.value; - this._onChangeCallback(NumberWrapperParseFloat(this.value)); - } - - onUpButtonMousedown(event: Event, input: HTMLInputElement) { - if (!this.disabled && this.type === 'number') { - input.focus(); - this.repeat(null, 1); - event.preventDefault(); - } - } - - onUpButtonMouseup(event: Event) { - if (!this.disabled) { - this.clearTimer(); - } - } - - onUpButtonMouseleave(event: Event) { - if (!this.disabled) { - this.clearTimer(); - } - } - - onDownButtonMousedown(event: Event, input: HTMLInputElement) { - if (!this.disabled && this.type === 'number') { - input.focus(); - this.repeat(null, -1); - event.preventDefault(); - } - } - - onDownButtonMouseup(event: Event) { - if (!this.disabled) { - this.clearTimer(); - } - } - - onDownButtonMouseleave(event: Event) { - if (!this.disabled) { - this.clearTimer(); - } - } - - onInputKeydown(event: KeyboardEvent) { - if (this.type === 'number') { - if (event.which === 229) { - event.preventDefault(); - return; - } else if (event.which === 38) { - this.spin(1); - event.preventDefault(); - } else if (event.which === 40) { - this.spin(-1); - event.preventDefault(); - } - } - } - onInputKeyPress(event: KeyboardEvent) { - let inputChar = String.fromCharCode(event.charCode); - if (this.type === 'number') { - if (event.which === 8) { - return; - } - - // if (!this.isValueLimit()) { - // this.handleSelection(event); - // } - - if (inputChar === '-' && this.min !== null && - NumberWrapperParseFloat(this.min) >= 0) { - event.preventDefault(); - return; - } - if (this.isIllegalNumberInputChar(event) || - this.isIllegalIntergerInput(inputChar)) { - event.preventDefault(); - return; - } - if (this.isIllegalFloatInput( - inputChar)) { // 当该函数返回true时,执行两种情景 - this.handleSelection(event); - } - if (this.hasSelection) { // 文本被选中,执行文本替换 - this.deleteSelection(); - } - } - } - - private handleSelection(event: any) { - if (this.hasSelection) { // 文本被选中,执行文本替换 - this.deleteSelection(); - } else { // 无选中文本,阻止非法输入 - event.preventDefault(); - } - } - // private isValueLimit() { - // if (this.min !== null && NumberWrapperParseFloat(this.value) !== 0 && - // this.value <= NumberWrapperParseFloat(this.min)) { - // return false; - // } - // if (this.max !== null && NumberWrapperParseFloat(this.value) !== 0 && - // this.value >= NumberWrapperParseFloat(this.max)) { - // return false; - // } - // return true; - // } - - private isIllegalNumberInputChar(event: KeyboardEvent) { - /* 8:backspace, 46:. */ - return !this.keyPattern.test(String.fromCharCode(event.charCode)) && - event.which !== 46 && event.which !== 0; - } - - private isIllegalIntergerInput(inputChar: string) { - return this._precision === 0 && - (inputChar === '.' || - (this._value && this._value && this._value.toString().length > 0 && - inputChar === '-')); - } - - private isIllegalFloatInput(inputChar: string) { - return this._precision > 0 && this._value && - ((this._value.toString().length > 0 && inputChar === '-') || - ((this._value.toString() === '' || - this._value.toString().indexOf('.') > 0) && - inputChar === '.') || - (this._value.toString().indexOf('.') > 0 && - this._value.toString().split('.')[1].length === this._precision)); - } - - onInput(event: Event, inputValue: string) { - this.value = inputValue; - } - - //处理鼠标经过上下箭头时,样式设置 - isEmptyValue() { - if (this.value === undefined || this.value === null || this.value === '') { - return true; - } - return false; - } - - isDisabledUpCaret() { - if (this.isEmptyValue()) { - return true; - } else if ( - this.max !== null && - (NumberWrapperParseFloat(this.value) >= - NumberWrapperParseFloat(this.max))) { - return true; - } - return false; - } - - isDisabledDownCaret() { - if (this.isEmptyValue()) { - return true; - } else if ( - this.min !== null && - (NumberWrapperParseFloat(this.value) <= - NumberWrapperParseFloat(this.min))) { - return true; - } - return false; - } - - _handleMouseEnterUp() { - this.isDisabledUp = this.isDisabledUpCaret(); - } - - _handleMouseEnterDown() { - this.isDisabledDown = this.isDisabledDownCaret(); - } - - public switch(): void { - this.showPassword = !this.showPassword; - this.showPassword?this.inputViewChild.nativeElement.type = - 'text':this.inputViewChild.nativeElement.type = 'password'; - } - - private setPasswordTooltip(): void { - this.tooltipTexts[this.lang][this.showPassword.toString()] - } -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-text-input/text-input.html b/sdc-workflow-designer-ui/src/app/paletx/plx-text-input/text-input.html deleted file mode 100644 index 9065badd..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-text-input/text-input.html +++ /dev/null @@ -1,69 +0,0 @@ -
-
{{showPrefix}}
-
-
  • {{option}}
  • -
    -
    {{prefix}}
    - - - - - - - - -
    {{unit}}
    - -
    {{showUnit}}
    -
    -
  • {{option}}
  • -
    -
    {{optionalLabel}}
    -
    {{hintLabel}}
    -
    -
  • {{data}}
  • -
    - -
    diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-text-input/text-input.less b/sdc-workflow-designer-ui/src/app/paletx/plx-text-input/text-input.less deleted file mode 100644 index 6a93c1c1..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-text-input/text-input.less +++ /dev/null @@ -1,423 +0,0 @@ -@import "../../assets/components/themes/default/theme.less"; -@import "../../assets/components/themes/common/plx-input.less"; - -@input-short-width: 120px; -@padding-left: 10px; -@padding: 10px; -@border-width: 1px; -@unit-span-width: 45px; -@unit-option-width: 84px; -@short-unit-span-width: 40px; -@prefix-span-width: 70px; -@prefix-option-width: 84px; -@short-prefix-span-width: 40px; -@password-switch: 40px; - -.font { - font-family: @font-family; - font-size: @font-size; -} - -.text-input { - //height: @input-height; - //position: relative; - //margin-bottom: 0; - display: inline-block; - - .caret-down { - display: block; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-top: 4px solid lighten(@fonticon-color, 5%); - margin-top: 4px; - margin-bottom: 10px; - - &.caret-down-hover:hover, &.caret-down-hover:active { - border-top: 4px solid @primary-color; - } - } - .caret-up { - display: block; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-bottom: 4px solid lighten(@fonticon-color, 5%); - margin-top: 10px; - - &.caret-up-hover:hover, &.caret-up-hover:active { - border-bottom: 4px solid @primary-color; - } - } - .toggle { - float: right; - margin-right: 10px; - margin-top: 14px; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-top: 4px solid lighten(@fonticon-color, 5%); - } - .text-input-dataList { - margin-top: 2px; - position: absolute; - z-index: @z-index-dropdown; - border: 1px solid @gray-grade-7; - background: #fff; - cursor: pointer; - border-radius: @radius; - li { - list-style: none; - height: @input-height; - width: @input-width; - padding-left: @padding-left; - &:hover { - background-color: @hover-bg-color; - } - } - } -} - -.input-span { - display: inline-block; - overflow: visible; - padding: 0; - position: relative; -} - -.text-input-with-hint { - margin-bottom: -8px; - :host(.ng-touched.ng-invalid.input-blur) & { - height: auto; - margin-bottom: 0; - } -} - -.plx-text-input-unit-group, .plx-text-input-prefix-group { - position: absolute; - margin-top: @overlay-margin-top; - width: @unit-option-width; - z-index: @z-index-dropdown; - border-radius: @radius; - background: @component-bg; - border: 1px solid @border-color-base; - .shadow; - cursor: pointer; - li { - padding-left: 10px; - height: @input-height; - list-style: none; - line-height: @input-height; - font-size: @font-size; - &:hover { - background-color: @hover-bg-color; - } - &.group-selected, &.group-selected:hover { - background-color: @selected-bg-color; - color: @text-color; - } - } -} - -.text-input-optional { - display: inline-block; - margin-right: 6px; - padding-left:5px; -} - -.input-right-border .plx-input { - border-right: 1px solid @primary-color; -} - -.input-left-border .plx-input { - border-left: 1px solid @primary-color; -} - -.text-input-hint { - top: 42px; - left: 10px; - font-family: @font-family; - font-size: @font-size; - color: @disabled-text-color; - :host(.ng-touched.ng-invalid.input-blur) & { - display: none; - } -} - -.text-input-prefix { - .font; - display: inline-block; - width: @prefix-span-width; - height: @input-height; - text-align: center; - line-height: @input-height; - border-top-left-radius: @radius; - border-bottom-left-radius: @radius; - color: @disabled-text-color; - border: 1px solid @border-color-base; - border-right: 0; - vertical-align: middle; - .short-text-input & { - width: @short-prefix-span-width; - } - .input-span-focus & { - border-color: @primary-color; - } - .input-invalid.ng-dirty.ng-invalid.ng-touched.input-blur &, - .input-invalid.ng-dirty.ng-invalid.ng-touched.input-blur .input-span-focus:focus & { - border-color: @error-color; - } -} - -.input-unit { - .font; - display: inline-block; - height: @input-height; - text-align: center; - line-height: @input-height; - border-top-right-radius: @radius; - border-bottom-right-radius: @radius; -} - -.text-input-unit { - border: 1px solid @border-color-base; - border-left: 0; - .input-unit; - color: @disabled-text-color; - width: @unit-span-width; - text-align: center; - vertical-align: middle; - .short-text-input & { - width: @short-unit-span-width; - } - .input-span-focus & { - border-color: @primary-color; - } -} - -.text-input-prefix-option { - .font; - display: inline-block; - height: @input-height; - text-align: center; - line-height: @input-height; - border-top-left-radius: @radius; - border-bottom-left-radius: @radius; - width: @prefix-option-width; - text-align: left; - padding-left: 10px; - cursor: pointer; - border: 1px solid @border-color-base;; - border-right: 0; - vertical-align: middle; - &.prefix-focus { - border-color: @primary-color; - } -} - -.text-input-unit-option { - &:extend(.input-unit); - width: @unit-option-width; - text-align: left; - padding-left: 10px; - cursor: pointer; - border: 1px solid @border-color-base;; - border-left: 0; - vertical-align: middle; - .input-span-focus & { - border-color: @primary-color; - } -} - -.text-input-with-unitOption { - div.unit-focus { - border-color: @primary-color; - } -} - -.plx-input { - .short-text-input & { - width: @input-short-width; - } - - .text-input-with-unit & { - width: @input-width - @unit-span-width; - border-top-right-radius: 0; - border-bottom-right-radius: 0; - } - - .text-input-with-unitOption & { - width: @input-width - @unit-option-width; - border-top-right-radius: 0; - border-bottom-right-radius: 0; - } - - .text-input-with-prefix & { - width: @input-width - @prefix-span-width; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - } - - .text-input-with-prefixOption & { - width: @input-width - @prefix-option-width; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - } - - .text-input-with-passwordSwith & { - width: @input-width - @password-switch; - border-top-right-radius: 0; - border-bottom-right-radius: 0; - } - - .text-input-with-prefix.text-input-with-unit & { - width: @input-width - @prefix-span-width - @unit-span-width; - } - - .text-input-with-prefix.text-input-with-unitOption & { - width: @input-width - @prefix-span-width - @unit-option-width; - } - - .short-text-input.text-input-with-prefix & { - width: @input-short-width - @short-prefix-span-width; - } - - .short-text-input.text-input-with-unit & { - width: @input-short-width - @short-unit-span-width; - } - - .short-text-input.text-input-with-prefix.text-input-with-unit & { - width: @input-short-width - @short-prefix-span-width - @short-unit-span-width; - } -} - -.input-spinner() { - cursor: pointer; - display: block; - font-size: 12px; - position: absolute; - margin: 0; - right: 0; - overflow: hidden; - border: none; - padding: 0; - text-align: center; - vertical-align: middle; - width: 18px; -} - -.input-spinner-up { - .input-spinner(); - top: 0; -} - -.input-spinner-down { - .input-spinner(); - bottom: 0; -} - -:host(.plx-input-sm) { - .plx-input-sm-common; -} - -.plx-input-sm { - .plx-input-sm-common; -} - -.plx-input-sm-common { - .plx-input { - height: @input-height-sm; - line-height: @input-height-sm; - } - .text-input-prefix, - .text-input-unit, - .text-input-unit-option, - .text-input-prefix-option { - height: @input-height-sm; - line-height: @input-height-sm; - } - div.text-input-dataList { - height: @input-height-sm; - } - .toggle { - margin-top: 11px; - } - .caret-down { - margin-bottom: 8px; - } - .caret-up { - margin-top: 8px; - } - .plx-input-passwordSwitch { - line-height: @input-height-sm - 2px; - } -} - -.plx-input-passwordSwitch { - display: inline-block; - line-height: @input-height - 2px; - width: @password-switch; - text-align: center; - vertical-align: middle; - background-color: @common-color; - border: 1px solid @border-color-base; - border-left: 0; - border-bottom-right-radius: @radius; - border-top-right-radius: @radius; - cursor: pointer; - &:focus, - &:hover { - border-color: @btn-common-color-border-hover; - background-color: @common-color-hover; - &.ict-eye-closed, &.ict-eye { - color: @btn-common-color-text-hover; - } - } - &:active { - background-color: @common-color-click; - border-color: @btn-common-color-border-click; - &.ict-eye-closed, &.ict-eye { - color: @btn-common-color-text-click; - } - } - &.ict-eye-closed, &.ict-eye { - color: @fonticon-color; - font-size: 16px; - } - } -.input-right-border-pwdswith-hover .plx-input { - border-right-color: @btn-common-color-border-hover; -} -.input-right-border-pwdswith-click .plx-input { - border-right-color: @btn-common-color-border-click; -} - -.plx-text-input-ip-dot { - display: inline-block; - vertical-align: bottom; - color: #999; -} - -.plx-text-input-error { - font-size: 12px; - color: @error-color; - margin-top: 5px; -} - -:host(.plx-text-input-ip-invalid) { - .plx-text-input-ip-invalid-common; -} - -.plx-text-input-ip-invalid { - .plx-text-input-ip-invalid-common; -} - -.plx-text-input-ip-invalid-common { - .plx-input { - border-color: @error-color; - } - .input-span-focus .plx-input { - border-color: @primary-color; - } -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-text-input/text-input.module.ts b/sdc-workflow-designer-ui/src/app/paletx/plx-text-input/text-input.module.ts deleted file mode 100644 index 4374770a..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-text-input/text-input.module.ts +++ /dev/null @@ -1,31 +0,0 @@ -import {CommonModule} from '@angular/common'; -import {NgModule} from '@angular/core'; -import {FormsModule} from '@angular/forms'; - -import {PlxTooltipModule} from '../plx-tooltip/plx-tooltip.module'; -import {Ipv4ValidatorDirective} from './ipv4-validator.directive'; -import {Ipv6ValidatorDirective} from './ipv6-validator.directive'; -import {MaxValidatorDirective} from './max-validator.directive'; -import {MinValidatorDirective} from './min-validator.directive'; -import {PlxTextInputComponent} from './text-input.component'; -import {PlxValidateOnBlurDirective} from './validate-on-blur.directive'; -import {PlxTextInputIpComponent} from './text-input-ip.component'; -import {PlxTextInputIpAddressComponent} from './text-input-ip-address.component'; - - -@NgModule({ - imports: [CommonModule, FormsModule, PlxTooltipModule], - declarations: [ - PlxTextInputComponent, Ipv4ValidatorDirective, Ipv6ValidatorDirective, - MaxValidatorDirective, MinValidatorDirective, PlxValidateOnBlurDirective, - PlxTextInputIpComponent, PlxTextInputIpAddressComponent - ], - exports: [ - PlxTextInputComponent, Ipv4ValidatorDirective, Ipv6ValidatorDirective, - MaxValidatorDirective, MinValidatorDirective, PlxValidateOnBlurDirective, - PlxTextInputIpComponent, PlxTextInputIpAddressComponent - ] -}) - -export class PlxTextInputModule { -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-text-input/validate-on-blur.directive.ts b/sdc-workflow-designer-ui/src/app/paletx/plx-text-input/validate-on-blur.directive.ts deleted file mode 100644 index b4a940c8..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-text-input/validate-on-blur.directive.ts +++ /dev/null @@ -1,18 +0,0 @@ -import {Directive, HostListener} from '@angular/core'; -import {NgControl} from '@angular/forms'; - -@Directive({selector: '[validateOnBlur]'}) - -export class PlxValidateOnBlurDirective { - constructor(private formControl: NgControl) {} - - @HostListener('focus') - onFocus() { - // this.formControl.control.markAsUntouched(false); - } - - @HostListener('blur') - onBlur() { - // this.formControl.control.markAsTouched(true); - } -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-tooltip/plx-tooltip-config.spec.ts b/sdc-workflow-designer-ui/src/app/paletx/plx-tooltip/plx-tooltip-config.spec.ts deleted file mode 100644 index 4a19dd17..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-tooltip/plx-tooltip-config.spec.ts +++ /dev/null @@ -1,11 +0,0 @@ -import {PlxTooltipConfig} from './plx-tooltip-config'; - -describe('plx-tooltip-config', () => { - it('should have sensible default values', () => { - const config = new PlxTooltipConfig(); - - expect(config.placement).toBe('top'); - expect(config.triggers).toBe('hover'); - expect(config.container).toBeUndefined(); - }); -}); diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-tooltip/plx-tooltip-config.ts b/sdc-workflow-designer-ui/src/app/paletx/plx-tooltip/plx-tooltip-config.ts deleted file mode 100644 index dd1cc254..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-tooltip/plx-tooltip-config.ts +++ /dev/null @@ -1,13 +0,0 @@ -import {Injectable} from '@angular/core'; - -/** - * Configuration service for the PlxTooltip directive. - * You can inject this service, typically in your root component, and customize the values of its properties in - * order to provide default values for all the tooltips used in the application. - */ -@Injectable() -export class PlxTooltipConfig { - public placement: 'top' | 'bottom' | 'left' | 'right' = 'top'; - public triggers = 'hover'; - public container: string; -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-tooltip/plx-tooltip.less b/sdc-workflow-designer-ui/src/app/paletx/plx-tooltip/plx-tooltip.less deleted file mode 100644 index d7ce015f..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-tooltip/plx-tooltip.less +++ /dev/null @@ -1,241 +0,0 @@ -@import "../../assets/components/themes/common/plx-input.less"; - -@tooltip-arrow-border-width: 4px; -@tooltip-arrow-border-width-before: 5px; -@tooltip-arrow-border-height: @tooltip-arrow-border-width-before - @tooltip-arrow-border-width; -@tooltip-arrow-away: 5px; -@tooltip-arrow-background-color: #595959; -@tooltip-arrow-border-color: #595959; -@tooltip-away-host: 3px; - -.plx-tooltip { - font-family: @font-family; - font-size: @font-size; - opacity: 1; - position: absolute; - z-index: 10001; - display: block; - font-style: normal; - font-weight: normal; - letter-spacing: normal; - line-break: auto; - line-height: 1.5; - text-align: left; - text-decoration: none; - text-shadow: none; - text-transform: none; - white-space: normal; - word-break: normal; - word-spacing: normal; - word-wrap: break-word; - &::before, - &::after { - content: ""; - position: absolute; - display: block; - width: 0; - height: 0; - border: solid transparent; - } - &::before { - border-width: @tooltip-arrow-border-width-before; - } - &::after { - border-width: @tooltip-arrow-border-width; - } -} - -.plx-tooltip-inner { - min-width: 60px; - max-width: 200px; - padding: 3px 8px; - color: #fff; - text-align: center; - background-color: #000; -} - -.plx-tooltip.show { - font-size: @font-size; - opacity: 1; -} -.plx-tooltip.show .plx-tooltip-inner { - background-color: #595959; - border-radius: @radius; - padding: 0px 12px; - height: 30px; - line-height: 30px; -} - -.plx-tooltip-top-common { - margin-top: -(@tooltip-arrow-border-width + @tooltip-away-host); - &::before { - border-top-color: @tooltip-arrow-border-color; - border-bottom-width: 0; - bottom: -@tooltip-arrow-border-width-before; - } - &::after { - border-top-color: @tooltip-arrow-background-color; - border-bottom-width: 0; - bottom: -@tooltip-arrow-border-width; - } -} -.plx-tooltip-top { - .plx-tooltip-top-common; - &::before { - left: 50%; - margin-left: -@tooltip-arrow-border-width-before; - } - &::after { - left: 50%; - margin-left: -@tooltip-arrow-border-width; - } -} -.plx-tooltip.plx-tooltip-top-left { - .plx-tooltip-top-common; - &::before { - left: @tooltip-arrow-away; - } - &::after { - left: @tooltip-arrow-away + @tooltip-arrow-border-height; - } -} -.plx-tooltip.plx-tooltip-top-right { - .plx-tooltip-top-common; - &::before { - right: @tooltip-arrow-away; - } - &::after { - right: @tooltip-arrow-away + @tooltip-arrow-border-height; - } -} - -.plx-tooltip-right-common { - margin-left: @tooltip-arrow-border-width + @tooltip-away-host; - &::before { - border-right-color: @tooltip-arrow-border-color; - border-left-width: 0; - left: -@tooltip-arrow-border-width-before; - } - &::after { - border-right-color: @tooltip-arrow-background-color; - border-left-width: 0; - left: -@tooltip-arrow-border-width; - } -} -.plx-tooltip.plx-tooltip-right { - .plx-tooltip-right-common; - &::before { - top: 50%; - margin-top: -@tooltip-arrow-border-width-before; - } - &::after { - top: 50%; - margin-top: -@tooltip-arrow-border-width; - } -} -.plx-tooltip.plx-tooltip-right-top { - .plx-tooltip-right-common; - &::before { - top: @tooltip-arrow-away; - } - &::after { - top: @tooltip-arrow-away + @tooltip-arrow-border-height; - } -} -.plx-tooltip.plx-tooltip-right-bottom { - .plx-tooltip-right-common; - &::before { - bottom: @tooltip-arrow-away; - } - &::after { - bottom: @tooltip-arrow-away + @tooltip-arrow-border-height; - } -} - -.plx-tooltip-bottom-common { - margin-top: @tooltip-arrow-border-width + @tooltip-away-host; - &::before { - border-bottom-color: @tooltip-arrow-border-color; - border-top-width: 0; - top: -@tooltip-arrow-border-width-before; - } - &::after { - border-bottom-color: @tooltip-arrow-background-color; - border-top-width: 0; - top: -@tooltip-arrow-border-width; - } -} -.plx-tooltip.plx-tooltip-bottom { - .plx-tooltip-bottom-common; - &::before { - left: 50%; - margin-left: -@tooltip-arrow-border-width-before; - } - &::after { - left: 50%; - margin-left: -@tooltip-arrow-border-width; - } -} -.plx-tooltip.plx-tooltip-bottom-left { - .plx-tooltip-bottom-common; - &::before { - left: @tooltip-arrow-away; - } - &::after { - left: @tooltip-arrow-away + @tooltip-arrow-border-height; - } -} -.plx-tooltip.plx-tooltip-bottom-right { - .plx-tooltip-bottom-common; - &::before { - right: @tooltip-arrow-away; - } - &::after { - right: @tooltip-arrow-away + @tooltip-arrow-border-height; - } -} - -.plx-tooltip-left-common { - margin-left: -(@tooltip-arrow-border-width + @tooltip-away-host); - &::before { - border-left-color: @tooltip-arrow-border-color; - border-right-width: 0; - right: -@tooltip-arrow-border-width-before; - } - &::after { - border-left-color: @tooltip-arrow-background-color; - border-right-width: 0; - right: -@tooltip-arrow-border-width; - } -} - -.plx-tooltip.plx-tooltip-left { - .plx-tooltip-left-common; - &::before { - top: 50%; - margin-top: -@tooltip-arrow-border-width-before; - } - &::after { - top: 50%; - margin-top: -@tooltip-arrow-border-width; - } -} - -.plx-tooltip.plx-tooltip-left-top { - .plx-tooltip-left-common; - &::before { - top: @tooltip-arrow-away; - } - &::after { - top: @tooltip-arrow-away + @tooltip-arrow-border-height; - } -} -.plx-tooltip.plx-tooltip-left-bottom { - .plx-tooltip-left-common; - &::before { - bottom: @tooltip-arrow-away; - } - &::after { - bottom: @tooltip-arrow-away + @tooltip-arrow-border-height; - } -} \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-tooltip/plx-tooltip.module.ts b/sdc-workflow-designer-ui/src/app/paletx/plx-tooltip/plx-tooltip.module.ts deleted file mode 100644 index 062ded1c..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-tooltip/plx-tooltip.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import {NgModule, ModuleWithProviders} from '@angular/core'; - -import {PlxTooltip, PlxTooltipWindow} from './plx-tooltip'; -import {PlxTooltipConfig} from './plx-tooltip-config'; - -export {PlxTooltipConfig} from './plx-tooltip-config'; -export {PlxTooltip} from './plx-tooltip'; - -@NgModule({declarations: [PlxTooltip, PlxTooltipWindow], exports: [PlxTooltip], entryComponents: [PlxTooltipWindow]}) -export class PlxTooltipModule { - public static forRoot(): ModuleWithProviders { return {ngModule: PlxTooltipModule, providers: [PlxTooltipConfig]}; } -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-tooltip/plx-tooltip.spec.ts b/sdc-workflow-designer-ui/src/app/paletx/plx-tooltip/plx-tooltip.spec.ts deleted file mode 100644 index cd2d8a6a..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-tooltip/plx-tooltip.spec.ts +++ /dev/null @@ -1,485 +0,0 @@ -import {TestBed, ComponentFixture, inject} from '@angular/core/testing'; -import {createGenericTestComponent} from '../test/common'; - -import {By} from '@angular/platform-browser'; -import {Component, ViewChild, ChangeDetectionStrategy} from '@angular/core'; - -import {PlxTooltipModule} from './plx-tooltip.module'; -import {PlxTooltipWindow, PlxTooltip} from './plx-tooltip'; -import {PlxTooltipConfig} from './plx-tooltip-config'; - -const createTestComponent = - (html: string) => >createGenericTestComponent(html, TestComponent); - -const createOnPushTestComponent = - (html: string) => >createGenericTestComponent(html, TestOnPushComponent); - -describe('plx-tooltip-window', () => { - beforeEach(() => { TestBed.configureTestingModule({imports: [PlxTooltipModule.forRoot()]}); }); - - it('should render tooltip on top by default', () => { - const fixture = TestBed.createComponent(PlxTooltipWindow); - fixture.detectChanges(); - - expect(fixture.nativeElement).toHaveCssClass('tooltip'); - expect(fixture.nativeElement).toHaveCssClass('tooltip-top'); - expect(fixture.nativeElement.getAttribute('role')).toBe('tooltip'); - }); - - it('should position tooltips as requested', () => { - const fixture = TestBed.createComponent(PlxTooltipWindow); - fixture.componentInstance.placement = 'left'; - fixture.detectChanges(); - expect(fixture.nativeElement).toHaveCssClass('tooltip-left'); - }); -}); - -describe('plx-tooltip', () => { - - beforeEach(() => { - TestBed.configureTestingModule( - {declarations: [TestComponent, TestOnPushComponent], imports: [PlxTooltipModule.forRoot()]}); - }); - - function getWindow(element) { return element.querySelector('plx-tooltip-window'); } - - describe('basic functionality', () => { - - it('should open and close a tooltip - default settings and content as string', () => { - const fixture = createTestComponent(`
    `); - const directive = fixture.debugElement.query(By.directive(PlxTooltip)); - const defaultConfig = new PlxTooltipConfig(); - - directive.triggerEventHandler('mouseenter', {}); - fixture.detectChanges(); - const windowEl = getWindow(fixture.nativeElement); - - expect(windowEl).toHaveCssClass('tooltip'); - expect(windowEl).toHaveCssClass(`tooltip-${defaultConfig.placement}`); - expect(windowEl.textContent.trim()).toBe('Great tip!'); - expect(windowEl.getAttribute('role')).toBe('tooltip'); - expect(windowEl.getAttribute('id')).toBe('plx-tooltip-0'); - expect(windowEl.parentNode).toBe(fixture.nativeElement); - expect(directive.nativeElement.getAttribute('aria-describedby')).toBe('plx-tooltip-0'); - - directive.triggerEventHandler('mouseleave', {}); - fixture.detectChanges(); - expect(getWindow(fixture.nativeElement)).toBeNull(); - expect(directive.nativeElement.getAttribute('aria-describedby')).toBeNull(); - }); - - it('should open and close a tooltip - default settings and content from a template', () => { - const fixture = createTestComponent(`
    `); - const directive = fixture.debugElement.query(By.directive(PlxTooltip)); - - directive.triggerEventHandler('mouseenter', {}); - fixture.detectChanges(); - const windowEl = getWindow(fixture.nativeElement); - - expect(windowEl).toHaveCssClass('tooltip'); - expect(windowEl).toHaveCssClass('tooltip-top'); - expect(windowEl.textContent.trim()).toBe('Hello, World!'); - expect(windowEl.getAttribute('role')).toBe('tooltip'); - expect(windowEl.getAttribute('id')).toBe('plx-tooltip-1'); - expect(windowEl.parentNode).toBe(fixture.nativeElement); - expect(directive.nativeElement.getAttribute('aria-describedby')).toBe('plx-tooltip-1'); - - directive.triggerEventHandler('mouseleave', {}); - fixture.detectChanges(); - expect(getWindow(fixture.nativeElement)).toBeNull(); - expect(directive.nativeElement.getAttribute('aria-describedby')).toBeNull(); - }); - - it('should open and close a tooltip - default settings, content from a template and context supplied', () => { - const fixture = createTestComponent(`
    `); - const directive = fixture.debugElement.query(By.directive(PlxTooltip)); - - directive.context.tooltip.open({name: 'John'}); - fixture.detectChanges(); - const windowEl = getWindow(fixture.nativeElement); - - expect(windowEl).toHaveCssClass('tooltip'); - expect(windowEl).toHaveCssClass('tooltip-top'); - expect(windowEl.textContent.trim()).toBe('Hello, John!'); - expect(windowEl.getAttribute('role')).toBe('tooltip'); - expect(windowEl.getAttribute('id')).toBe('plx-tooltip-2'); - expect(windowEl.parentNode).toBe(fixture.nativeElement); - expect(directive.nativeElement.getAttribute('aria-describedby')).toBe('plx-tooltip-2'); - - directive.triggerEventHandler('mouseleave', {}); - fixture.detectChanges(); - expect(getWindow(fixture.nativeElement)).toBeNull(); - expect(directive.nativeElement.getAttribute('aria-describedby')).toBeNull(); - }); - - it('should not open a tooltip if content is falsy', () => { - const fixture = createTestComponent(`
    `); - const directive = fixture.debugElement.query(By.directive(PlxTooltip)); - - directive.triggerEventHandler('mouseenter', {}); - fixture.detectChanges(); - const windowEl = getWindow(fixture.nativeElement); - - expect(windowEl).toBeNull(); - }); - - it('should close the tooltip tooltip if content becomes falsy', () => { - const fixture = createTestComponent(`
    `); - const directive = fixture.debugElement.query(By.directive(PlxTooltip)); - - directive.triggerEventHandler('mouseenter', {}); - fixture.detectChanges(); - expect(getWindow(fixture.nativeElement)).not.toBeNull(); - - fixture.componentInstance.name = null; - fixture.detectChanges(); - expect(getWindow(fixture.nativeElement)).toBeNull(); - }); - - it('should allow re-opening previously closed tooltips', () => { - const fixture = createTestComponent(`
    `); - const directive = fixture.debugElement.query(By.directive(PlxTooltip)); - - directive.triggerEventHandler('mouseenter', {}); - fixture.detectChanges(); - expect(getWindow(fixture.nativeElement)).not.toBeNull(); - - directive.triggerEventHandler('mouseleave', {}); - fixture.detectChanges(); - expect(getWindow(fixture.nativeElement)).toBeNull(); - - directive.triggerEventHandler('mouseenter', {}); - fixture.detectChanges(); - expect(getWindow(fixture.nativeElement)).not.toBeNull(); - }); - - it('should not leave dangling tooltips in the DOM', () => { - const fixture = createTestComponent(``); - const directive = fixture.debugElement.query(By.directive(PlxTooltip)); - - directive.triggerEventHandler('mouseenter', {}); - fixture.detectChanges(); - expect(getWindow(fixture.nativeElement)).not.toBeNull(); - - fixture.componentInstance.show = false; - fixture.detectChanges(); - expect(getWindow(fixture.nativeElement)).toBeNull(); - }); - - it('should properly cleanup tooltips with manual triggers', () => { - const fixture = createTestComponent(` - `); - const directive = fixture.debugElement.query(By.directive(PlxTooltip)); - - directive.triggerEventHandler('mouseenter', {}); - fixture.detectChanges(); - expect(getWindow(fixture.nativeElement)).not.toBeNull(); - - fixture.componentInstance.show = false; - fixture.detectChanges(); - expect(getWindow(fixture.nativeElement)).toBeNull(); - }); - - describe('positioning', () => { - - it('should use requested position', () => { - const fixture = createTestComponent(`
    `); - const directive = fixture.debugElement.query(By.directive(PlxTooltip)); - - directive.triggerEventHandler('mouseenter', {}); - fixture.detectChanges(); - const windowEl = getWindow(fixture.nativeElement); - - expect(windowEl).toHaveCssClass('tooltip'); - expect(windowEl).toHaveCssClass('tooltip-left'); - expect(windowEl.textContent.trim()).toBe('Great tip!'); - }); - - it('should properly position tooltips when a component is using the OnPush strategy', () => { - const fixture = createOnPushTestComponent(`
    `); - const directive = fixture.debugElement.query(By.directive(PlxTooltip)); - - directive.triggerEventHandler('mouseenter', {}); - fixture.detectChanges(); - const windowEl = getWindow(fixture.nativeElement); - - expect(windowEl).toHaveCssClass('tooltip'); - expect(windowEl).toHaveCssClass('tooltip-left'); - expect(windowEl.textContent.trim()).toBe('Great tip!'); - }); - }); - - describe('triggers', () => { - - it('should support toggle triggers', () => { - const fixture = createTestComponent(`
    `); - const directive = fixture.debugElement.query(By.directive(PlxTooltip)); - - directive.triggerEventHandler('click', {}); - fixture.detectChanges(); - expect(getWindow(fixture.nativeElement)).not.toBeNull(); - - directive.triggerEventHandler('click', {}); - fixture.detectChanges(); - expect(getWindow(fixture.nativeElement)).toBeNull(); - }); - - it('should non-default toggle triggers', () => { - const fixture = createTestComponent(`
    `); - const directive = fixture.debugElement.query(By.directive(PlxTooltip)); - - directive.triggerEventHandler('mouseenter', {}); - fixture.detectChanges(); - expect(getWindow(fixture.nativeElement)).not.toBeNull(); - - directive.triggerEventHandler('click', {}); - fixture.detectChanges(); - expect(getWindow(fixture.nativeElement)).toBeNull(); - }); - - it('should support multiple triggers', () => { - const fixture = - createTestComponent(`
    `); - const directive = fixture.debugElement.query(By.directive(PlxTooltip)); - - directive.triggerEventHandler('mouseenter', {}); - fixture.detectChanges(); - expect(getWindow(fixture.nativeElement)).not.toBeNull(); - - directive.triggerEventHandler('click', {}); - fixture.detectChanges(); - expect(getWindow(fixture.nativeElement)).toBeNull(); - }); - - it('should not use default for manual triggers', () => { - const fixture = createTestComponent(`
    `); - const directive = fixture.debugElement.query(By.directive(PlxTooltip)); - - directive.triggerEventHandler('mouseenter', {}); - fixture.detectChanges(); - expect(getWindow(fixture.nativeElement)).toBeNull(); - }); - - it('should allow toggling for manual triggers', () => { - const fixture = createTestComponent(` -
    - `); - const button = fixture.nativeElement.querySelector('button'); - - button.click(); - fixture.detectChanges(); - expect(getWindow(fixture.nativeElement)).not.toBeNull(); - - button.click(); - fixture.detectChanges(); - expect(getWindow(fixture.nativeElement)).toBeNull(); - }); - - it('should allow open / close for manual triggers', () => { - const fixture = createTestComponent(` -
    - - `); - - const buttons = fixture.nativeElement.querySelectorAll('button'); - - buttons[0].click(); // open - fixture.detectChanges(); - expect(getWindow(fixture.nativeElement)).not.toBeNull(); - - buttons[1].click(); // close - fixture.detectChanges(); - expect(getWindow(fixture.nativeElement)).toBeNull(); - }); - - it('should not throw when open called for manual triggers and open tooltip', () => { - const fixture = createTestComponent(` -
    - `); - const button = fixture.nativeElement.querySelector('button'); - - button.click(); // open - fixture.detectChanges(); - expect(getWindow(fixture.nativeElement)).not.toBeNull(); - - button.click(); // open - fixture.detectChanges(); - expect(getWindow(fixture.nativeElement)).not.toBeNull(); - }); - - it('should not throw when closed called for manual triggers and closed tooltip', () => { - const fixture = createTestComponent(` -
    - `); - - const button = fixture.nativeElement.querySelector('button'); - - button.click(); // close - fixture.detectChanges(); - expect(getWindow(fixture.nativeElement)).toBeNull(); - }); - }); - }); - - describe('container', () => { - - it('should be appended to the element matching the selector passed to "container"', () => { - const selector = 'body'; - const fixture = createTestComponent(`
    `); - const directive = fixture.debugElement.query(By.directive(PlxTooltip)); - - directive.triggerEventHandler('mouseenter', {}); - fixture.detectChanges(); - expect(getWindow(fixture.nativeElement)).toBeNull(); - expect(getWindow(document.querySelector(selector))).not.toBeNull(); - }); - - it('should properly destroy tooltips when the "container" option is used', () => { - const selector = 'body'; - const fixture = - createTestComponent(`
    `); - const directive = fixture.debugElement.query(By.directive(PlxTooltip)); - - directive.triggerEventHandler('mouseenter', {}); - fixture.detectChanges(); - - expect(getWindow(document.querySelector(selector))).not.toBeNull(); - fixture.componentRef.instance.show = false; - fixture.detectChanges(); - expect(getWindow(document.querySelector(selector))).toBeNull(); - }); - }); - - describe('visibility', () => { - it('should emit events when showing and hiding popover', () => { - const fixture = createTestComponent( - `
    `); - const directive = fixture.debugElement.query(By.directive(PlxTooltip)); - - let shownSpy = spyOn(fixture.componentInstance, 'shown'); - let hiddenSpy = spyOn(fixture.componentInstance, 'hidden'); - - directive.triggerEventHandler('click', {}); - fixture.detectChanges(); - expect(getWindow(fixture.nativeElement)).not.toBeNull(); - expect(shownSpy).toHaveBeenCalled(); - - directive.triggerEventHandler('click', {}); - fixture.detectChanges(); - expect(getWindow(fixture.nativeElement)).toBeNull(); - expect(hiddenSpy).toHaveBeenCalled(); - }); - - it('should not emit close event when already closed', () => { - const fixture = createTestComponent( - `
    `); - - let shownSpy = spyOn(fixture.componentInstance, 'shown'); - let hiddenSpy = spyOn(fixture.componentInstance, 'hidden'); - - fixture.componentInstance.tooltip.open(); - fixture.detectChanges(); - - fixture.componentInstance.tooltip.open(); - fixture.detectChanges(); - - expect(getWindow(fixture.nativeElement)).not.toBeNull(); - expect(shownSpy).toHaveBeenCalled(); - expect(shownSpy.calls.count()).toEqual(1); - expect(hiddenSpy).not.toHaveBeenCalled(); - }); - - it('should not emit open event when already opened', () => { - const fixture = createTestComponent( - `
    `); - - let shownSpy = spyOn(fixture.componentInstance, 'shown'); - let hiddenSpy = spyOn(fixture.componentInstance, 'hidden'); - - fixture.componentInstance.tooltip.close(); - fixture.detectChanges(); - expect(getWindow(fixture.nativeElement)).toBeNull(); - expect(shownSpy).not.toHaveBeenCalled(); - expect(hiddenSpy).toHaveBeenCalled(); - }); - - it('should report correct visibility', () => { - const fixture = createTestComponent(`
    `); - fixture.detectChanges(); - - expect(fixture.componentInstance.tooltip.isOpen()).toBeFalsy(); - - fixture.componentInstance.tooltip.open(); - fixture.detectChanges(); - expect(fixture.componentInstance.tooltip.isOpen()).toBeTruthy(); - - fixture.componentInstance.tooltip.close(); - fixture.detectChanges(); - expect(fixture.componentInstance.tooltip.isOpen()).toBeFalsy(); - }); - }); - - describe('Custom config', () => { - let config: PlxTooltipConfig; - - beforeEach(() => { - TestBed.configureTestingModule({imports: [PlxTooltipModule.forRoot()]}); - TestBed.overrideComponent(TestComponent, {set: {template: `
    `}}); - }); - - beforeEach(inject([PlxTooltipConfig], (c: PlxTooltipConfig) => { - config = c; - config.placement = 'bottom'; - config.triggers = 'click'; - config.container = 'body'; - })); - - it('should initialize inputs with provided config', () => { - const fixture = TestBed.createComponent(TestComponent); - fixture.detectChanges(); - const tooltip = fixture.componentInstance.tooltip; - - expect(tooltip.placement).toBe(config.placement); - expect(tooltip.triggers).toBe(config.triggers); - expect(tooltip.container).toBe(config.container); - }); - }); - - describe('Custom config as provider', () => { - let config = new PlxTooltipConfig(); - config.placement = 'bottom'; - config.triggers = 'click'; - config.container = 'body'; - - beforeEach(() => { - TestBed.configureTestingModule( - {imports: [PlxTooltipModule.forRoot()], providers: [{provide: PlxTooltipConfig, useValue: config}]}); - }); - - it('should initialize inputs with provided config as provider', () => { - const fixture = createTestComponent(`
    `); - const tooltip = fixture.componentInstance.tooltip; - - expect(tooltip.placement).toBe(config.placement); - expect(tooltip.triggers).toBe(config.triggers); - expect(tooltip.container).toBe(config.container); - }); - }); -}); - -@Component({selector: 'test-cmpt', template: ``}) -export class TestComponent { - name = 'World'; - show = true; - - @ViewChild(PlxTooltip) tooltip: PlxTooltip; - - shown() {} - hidden() {} -} - -@Component({selector: 'test-onpush-cmpt', changeDetection: ChangeDetectionStrategy.OnPush, template: ``}) -export class TestOnPushComponent { -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/plx-tooltip/plx-tooltip.ts b/sdc-workflow-designer-ui/src/app/paletx/plx-tooltip/plx-tooltip.ts deleted file mode 100644 index f52cc11d..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/plx-tooltip/plx-tooltip.ts +++ /dev/null @@ -1,176 +0,0 @@ -import { - Component, - Directive, - Input, - Output, - EventEmitter, - ChangeDetectionStrategy, - OnInit, - OnDestroy, - Injector, - Renderer, - ComponentRef, - ElementRef, - TemplateRef, - ViewContainerRef, - ComponentFactoryResolver, - NgZone, ViewEncapsulation -} from '@angular/core'; -import {listenToTriggers} from '../util/triggers'; -import {positionElements, getPlacement} from '../util/positioning'; -import {PopupService} from '../util/popup'; -import {PlxTooltipConfig} from './plx-tooltip-config'; - -let nextId = 0; - -@Component({ - selector: 'plx-tooltip-window', - encapsulation: ViewEncapsulation.None, - changeDetection: ChangeDetectionStrategy.OnPush, - host: {'[class]': '"plx-tooltip show plx-tooltip-" + placement', 'role': 'tooltip', '[id]': 'id'}, - template: ` -
    - `, - styleUrls: ['./plx-tooltip.less'] -}) -export class PlxTooltipWindow { - @Input() public placement: 'top' | 'bottom' | 'left' | 'right' = 'top'; - @Input() public id: string; -} - -/** - * A lightweight, extensible directive for fancy tooltip creation. - */ -@Directive({selector: '[plxTooltip]', exportAs: 'plxTooltip'}) -export class PlxTooltip implements OnInit, OnDestroy { - /** - * Placement of a tooltip. Accepts: "top", "bottom", "left", "right" - */ - @Input() public placement: 'top' | 'bottom' | 'left' | 'right'; - /** - * Specifies events that should trigger. Supports a space separated list of event names. - */ - @Input() public triggers: string; - /** - * A selector specifying the element the tooltip should be appended to. - * Currently only supports "body". - */ - @Input() public container: string; - /** - * Emits an event when the tooltip is shown - */ - @Output() public shown = new EventEmitter(); - /** - * Emits an event when the tooltip is hidden - */ - @Output() public hidden = new EventEmitter(); - - private _plxTooltip: string | TemplateRef; - private _plxTooltipWindowId = `plx-tooltip-${nextId++}`; - private _popupService: PopupService; - private _windowRef: ComponentRef; - private _unregisterListenersFn; - private _zoneSubscription: any; - - constructor(private _elementRef: ElementRef, private _renderer: Renderer, injector: Injector, - componentFactoryResolver: ComponentFactoryResolver, viewContainerRef: ViewContainerRef, config: PlxTooltipConfig, - ngZone: NgZone) { - this.placement = config.placement; - this.triggers = config.triggers; - this.container = config.container; - this._popupService = new PopupService( - PlxTooltipWindow, injector, viewContainerRef, _renderer, componentFactoryResolver); - - this._zoneSubscription = ngZone.onStable.subscribe(() => { - if (this._windowRef) { - positionElements( - this._elementRef.nativeElement, this._windowRef.location.nativeElement, this.placement, - this.container === 'body'); - let tmpPlace = getPlacement(this._elementRef.nativeElement, this._windowRef.location.nativeElement, this.placement); - this._windowRef.instance.placement = tmpPlace; - this._windowRef.changeDetectorRef.detectChanges(); - } - }); - } - - /** - * Content to be displayed as tooltip. If falsy, the tooltip won't open. - */ - @Input() - set plxTooltip(value: string | TemplateRef) { - this._plxTooltip = value; - if (!value && this._windowRef) { - this.close(); - } - } - - get plxTooltip() { - return this._plxTooltip; - } - - /** - * Opens an element’s tooltip. This is considered a “manual” triggering of the tooltip. - * The context is an optional value to be injected into the tooltip template when it is created. - */ - public open(context?: any) { - if (!this._windowRef && this._plxTooltip) { - this._windowRef = this._popupService.open(this._plxTooltip, context); - // let tmpPlace = getPlacement(this._elementRef.nativeElement, this._windowRef.location.nativeElement, this.placement); - this._windowRef.instance.placement = this.placement; - this._windowRef.instance.id = this._plxTooltipWindowId; - - this._renderer.setElementAttribute(this._elementRef.nativeElement, 'aria-describedby', this._plxTooltipWindowId); - - if (this.container === 'body') { - window.document.querySelector(this.container).appendChild(this._windowRef.location.nativeElement); - } - - // we need to manually invoke change detection since events registered via - // Renderer::listen() - to be determined if this is a bug in the Angular itself - this._windowRef.changeDetectorRef.markForCheck(); - this.shown.emit(); - } - } - - /** - * Closes an element’s tooltip. This is considered a “manual” triggering of the tooltip. - */ - public close(): void { - if (this._windowRef !== null) { - this._renderer.setElementAttribute(this._elementRef.nativeElement, 'aria-describedby', null); - this._popupService.close(); - this._windowRef = null; - this.hidden.emit(); - } - } - - /** - * Toggles an element’s tooltip. This is considered a “manual” triggering of the tooltip. - */ - public toggle(): void { - if (this._windowRef) { - this.close(); - } else { - this.open(); - } - } - - /** - * Returns whether or not the tooltip is currently being shown - */ - public isOpen(): boolean { - return !!this._windowRef; - } - - public ngOnInit() { - this._unregisterListenersFn = listenToTriggers( - this._renderer, this._elementRef.nativeElement, this.triggers, this.open.bind(this), this.close.bind(this), - this.toggle.bind(this)); - } - - public ngOnDestroy() { - this.close(); - this._unregisterListenersFn(); - this._zoneSubscription.unsubscribe(); - } -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/util/popup.ts b/sdc-workflow-designer-ui/src/app/paletx/util/popup.ts deleted file mode 100644 index dacbc0b9..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/util/popup.ts +++ /dev/null @@ -1,59 +0,0 @@ -import { - Injector, - TemplateRef, - ViewRef, - ViewContainerRef, - Renderer, - ComponentRef, - ComponentFactory, - ComponentFactoryResolver -} from '@angular/core'; - -export class ContentRef { - constructor(public nodes: any[], public viewRef?: ViewRef, public componentRef?: ComponentRef) { - } -} - -export class PopupService { - private _windowFactory: ComponentFactory; - private _windowRef: ComponentRef; - private _contentRef: ContentRef; - - constructor(type: any, private _injector: Injector, private _viewContainerRef: ViewContainerRef, private _renderer: Renderer, - componentFactoryResolver: ComponentFactoryResolver) { - this._windowFactory = componentFactoryResolver.resolveComponentFactory(type); - } - - public open(content?: string | TemplateRef, context?: any): ComponentRef { - if (!this._windowRef) { - this._contentRef = this._getContentRef(content, context); - this._windowRef = - this._viewContainerRef.createComponent(this._windowFactory, 0, this._injector, this._contentRef.nodes); - } - - return this._windowRef; - } - - public close() { - if (this._windowRef) { - this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._windowRef.hostView)); - this._windowRef = null; - - if (this._contentRef.viewRef) { - this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._contentRef.viewRef)); - this._contentRef = null; - } - } - } - - private _getContentRef(content: string | TemplateRef, context?: any): ContentRef { - if (!content) { - return new ContentRef([]); - } else if (content instanceof TemplateRef) { - const viewRef = this._viewContainerRef.createEmbeddedView(>content, context); - return new ContentRef([viewRef.rootNodes], viewRef); - } else { - return new ContentRef([[this._renderer.createText(null, `${content}`)]]); - } - } -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/util/positioning.ts b/sdc-workflow-designer-ui/src/app/paletx/util/positioning.ts deleted file mode 100644 index 79399d6d..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/util/positioning.ts +++ /dev/null @@ -1,425 +0,0 @@ -// previous version: -// https://github.com/angular-ui/bootstrap/blob/07c31d0731f7cb068a1932b8e01d2312b796b4ec/src/position/position.js -export class Positioning { - private getStyle(element: HTMLElement, prop: string): string { - return window.getComputedStyle(element)[prop]; - } - - private isStaticPositioned(element: HTMLElement): boolean { - return (this.getStyle(element, 'position') || 'static') === 'static'; - } - - private offsetParent(element: HTMLElement): HTMLElement { - let offsetParentEl = element.offsetParent || document.documentElement; - - while (offsetParentEl && offsetParentEl !== document.documentElement && this.isStaticPositioned(offsetParentEl)) { - offsetParentEl = offsetParentEl.offsetParent; - } - - return offsetParentEl || document.documentElement; - } - - public position(element: HTMLElement, round = true): ClientRect { - let elPosition: ClientRect; - let parentOffset: ClientRect = {width: 0, height: 0, top: 0, bottom: 0, left: 0, right: 0}; - - if (this.getStyle(element, 'position') === 'fixed') { - elPosition = element.getBoundingClientRect(); - } else { - const offsetParentEl = this.offsetParent(element); - - elPosition = this.offset(element, false); - - if (offsetParentEl !== document.documentElement) { - parentOffset = this.offset(offsetParentEl, false); - } - - parentOffset.top += offsetParentEl.clientTop; - parentOffset.left += offsetParentEl.clientLeft; - } - - elPosition.top -= parentOffset.top; - elPosition.bottom -= parentOffset.top; - elPosition.left -= parentOffset.left; - elPosition.right -= parentOffset.left; - - if (round) { - elPosition.top = Math.round(elPosition.top); - elPosition.bottom = Math.round(elPosition.bottom); - elPosition.left = Math.round(elPosition.left); - elPosition.right = Math.round(elPosition.right); - } - - return elPosition; - } - - public offset(element: HTMLElement, round = true): ClientRect { - const elBcr = element.getBoundingClientRect(); - const viewportOffset = { - top: window.pageYOffset - document.documentElement.clientTop, - left: window.pageXOffset - document.documentElement.clientLeft - }; - - let elOffset = { - height: elBcr.height || element.offsetHeight, - width: elBcr.width || element.offsetWidth, - top: elBcr.top + viewportOffset.top, - bottom: elBcr.bottom + viewportOffset.top, - left: elBcr.left + viewportOffset.left, - right: elBcr.right + viewportOffset.left - }; - - if (round) { - elOffset.height = Math.round(elOffset.height); - elOffset.width = Math.round(elOffset.width); - elOffset.top = Math.round(elOffset.top); - elOffset.bottom = Math.round(elOffset.bottom); - elOffset.left = Math.round(elOffset.left); - elOffset.right = Math.round(elOffset.right); - } - - return elOffset; - } - - - public getPlacementPrimary(hostElement: HTMLElement, targetElement: HTMLElement, placement: string): string { - - // let placementPrimaryArray = ['right', 'bottom', 'left', 'top']; - // placementPrimaryArray.splice(placementPrimaryArray.indexOf(placementPrimary), 1); - // placementPrimaryArray.splice(0, 0, placementPrimary); - - let placementPrimaryArray = this.getTotalPlacementArr(placement); - let placementPrimary; - let placementSecondary; - let rect; - - let result = placementPrimaryArray.find(place => { - placementPrimary = place.split('-')[0] || 'top'; - placementSecondary = place.split('-')[1] || 'center'; - rect = this.getBoundingClientRect(placementPrimary, placementSecondary, hostElement, targetElement); - return this.canDisplay(rect); - }); - - if (!result) { - return placement; - } else { - return result; - } - } - - private getTotalPlacementArr(placement: string): any { - let placementPrimary = placement.split('-')[0] || 'top'; - - let placementBasic = ['right', 'bottom', 'left', 'top']; - placementBasic.splice(placementBasic.indexOf(placementPrimary), 1); - placementBasic.splice(0, 0, placementPrimary); - let placeTotal = { - right: [ - 'right', - 'right-top', - 'right-bottom' - ], - bottom: [ - 'bottom', - 'bottom-left', - 'bottom-right' - ], - left: [ - 'left', - 'left-top', - 'left-bottom' - ], - top: [ - 'top', - 'top-left', - 'top-right' - ] - } - let placeArr = []; - placeArr.push(placement); - placementBasic.forEach(placePri => { - placeTotal[placePri].forEach(palce => { - if (placement !== palce) { - placeArr.push(palce); - } - }); - }); - return placeArr; - } - - private canDisplay(rect): boolean { - if(this.isSheltered(rect, window)) { - return false; - } else { - var pElement = this.getParentElement(window); - if(pElement) { - const shelter = this.getShelter(pElement, window.parent, rect); - if(shelter) { - return false; - } else { - return true; - } - } else { - return true; - } - - } - } - - /** - * 判断当前位置在对应的窗口中是否会被遮挡 - * 用于iframe嵌套的场景 - * @param position - * @param currentWindow - */ - private isSheltered(position, currentWindow) { - if(position.left < 0 || position.top < 0 - || position.right > currentWindow.document.documentElement.clientWidth - || position.bottom > currentWindow.document.documentElement.clientHeight) { - return true; - } else { - return false; - } - } - - /** - * 递归判断当前元素是否会被视口遮挡 - * @param element - * @param currentWindow - * @param position - */ - public getShelter(element, currentWindow, position) { - var rect = element.getBoundingClientRect(); - position.left += rect.left; - position.right += rect.left; - position.top += rect.top; - position.bottom += rect.top; - - if(this.isSheltered(position, currentWindow)) { - return element; - } else { - if(currentWindow.parent != currentWindow) { // 判断是否到达最顶级容器 - var pElement = this.getParentElement(currentWindow); - return this.getShelter(pElement, currentWindow.parent, position); - } else { - return null; - } - } - } - - /** - * 查找当前容器在父窗口中的dom元素 - * 如:iframe场景中,则为在子页面中查找父页面中的iframe节点 - * @param currentWindow - */ - public getParentElement(currentWindow) { - if(currentWindow.parent !== currentWindow) { - var parentWindow = currentWindow.parent; - var frames = parentWindow.document.getElementsByTagName("iframe"); - for(var i=0; i trigger.split(':')).map((triggerPair) => { - let alias = aliases[triggerPair[0]] || triggerPair; - return new Trigger(alias[0], alias[1]); - }); - - const manualTriggers = parsedTriggers.filter(triggerPair => triggerPair.isManual()); - - if (manualTriggers.length > 1) { - throw 'Triggers parse error: only one manual trigger is allowed'; - } - - if (manualTriggers.length === 1 && parsedTriggers.length > 1) { - throw 'Triggers parse error: manual trigger can\'t be mixed with other triggers'; - } - - return parsedTriggers; -} - -const noopFn = () => { - // TO DO -}; - -export function listenToTriggers(renderer: any, nativeElement: any, triggers: string, openFn, closeFn, toggleFn) { - const parsedTriggers = parseTriggers(triggers); - const listeners = []; - - if (parsedTriggers.length === 1 && parsedTriggers[0].isManual()) { - return noopFn; - } - - parsedTriggers.forEach((trigger: Trigger) => { - if (trigger.open === trigger.close) { - listeners.push(renderer.listen(nativeElement, trigger.open, toggleFn)); - } else { - listeners.push( - renderer.listen(nativeElement, trigger.open, openFn), renderer.listen(nativeElement, trigger.close, closeFn)); - } - }); - - return () => { - listeners.forEach(unsubscribeFn => unsubscribeFn()); - }; -} diff --git a/sdc-workflow-designer-ui/src/app/paletx/util/util.ts b/sdc-workflow-designer-ui/src/app/paletx/util/util.ts deleted file mode 100644 index 5df0381e..00000000 --- a/sdc-workflow-designer-ui/src/app/paletx/util/util.ts +++ /dev/null @@ -1,65 +0,0 @@ -export function toInteger(value: any): number { - return parseInt(`${value}`, 10); -} - -export function toString(value: any): string { - return (value !== undefined && value !== null) ? `${value}` : ''; -} - -export function getValueInRange(value: number, max: number, min = 0): number { - return Math.max(Math.min(value, max), min); -} - -export function isString(value: any): boolean { - return typeof value === 'string'; -} - -export function isNumber(value: any): boolean { - return !isNaN(toInteger(value)); -} - -export function isInteger(value: any): boolean { - return typeof value === 'number' && isFinite(value) && Math.floor(value) === value; -} - -export function isDefined(value: any): boolean { - return value !== undefined && value !== null; -} - -export function padNumber(value: number) { - if (isNumber(value)) { - return `0${value}`.slice(-2); - } else { - return ''; - } -} - -export function regExpEscape(text) { - return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&'); -} - - -export function parseDate(date: Date, format) { - let o = { - 'M+': date.getMonth() + 1, // month - 'd+': date.getDate(), // day - 'h+': date.getHours(), // hour - 'm+': date.getMinutes(), // minute - 's+': date.getSeconds(), // second - 'q+': Math.floor((date.getMonth() + 3) / 3), // quarter - 'S': date.getMilliseconds() // millisecond - }; - if (/(y+)/.test(format)) { - format = format.replace(RegExp.$1, - (date.getFullYear() + '').substr(4 - RegExp.$1.length)); - } - for (let k in o) { - if (new RegExp('(' + k + ')').test(format)) { - format = format.replace(RegExp.$1, - RegExp.$1.length === 1 ? o[k] : - ('00' + o[k]).substr(('' + o[k]).length)); - } - } - return format; -} - diff --git a/sdc-workflow-designer-ui/src/app/services/auth.service.spec.ts b/sdc-workflow-designer-ui/src/app/services/auth.service.spec.ts deleted file mode 100644 index 9bd500ef..00000000 --- a/sdc-workflow-designer-ui/src/app/services/auth.service.spec.ts +++ /dev/null @@ -1,26 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import { TestBed, inject } from '@angular/core/testing'; - -import { AuthService } from './auth.service'; - -describe('AuthService', () => { - beforeEach(() => { - TestBed.configureTestingModule({ - providers: [AuthService] - }); - }); - - it('should be created', inject([AuthService], (service: AuthService) => { - expect(service).toBeTruthy(); - })); -}); diff --git a/sdc-workflow-designer-ui/src/app/services/auth.service.ts b/sdc-workflow-designer-ui/src/app/services/auth.service.ts deleted file mode 100644 index a8e60753..00000000 --- a/sdc-workflow-designer-ui/src/app/services/auth.service.ts +++ /dev/null @@ -1,65 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import { Injectable } from '@angular/core'; -import { Http } from '@angular/http'; -import { BroadcastService } from './broadcast.service'; - -@Injectable() -export class AuthService { - private static AuthUrl = "/api/oauth2/v1/perms/user/operations"; - private static AllOperations = ["operation.apds.create", "operation.apds.delete", "operation.apds.modify", - "operation.apds.view", "operation.apds.import", "operation.apds.export", "operation.apds.deploy", - "operation.apds.test"]; - private static ModifyOperation = 'operation.apds.modify'; - - constructor(private http: Http, private broadcastService: BroadcastService) { - this.checkRights(); - // keep alive - // setInterval(() => { - // console.log(`Keep session alive. Request per 3 minutes. ${new Date()}`); - // this.checkRights(); - // }, 180000); - } - public checkRights() { - // let data = { operations: AuthService.AllOperations }; - // this.http.post(AuthService.AuthUrl, data).subscribe(res => { - // let hasRightOP = res.json().operations; - // if (hasRightOP.length > 0) { - // this.broadcastService.broadcast(this.broadcastService.openRight, true); - // if (hasRightOP.indexOf(AuthService.ModifyOperation) > -1) { - // this.broadcastService.broadcast(this.broadcastService.saveRight, true); - // } else { - // this.broadcastService.broadcast(this.broadcastService.saveRight, false); - // } - // } else { - // this.broadcastService.broadcast(this.broadcastService.openRight, false); - // this.broadcastService.broadcast(this.broadcastService.saveRight, false); - // } - // }, error => { - // switch (error.status) { - // // Incase oauth service not exists or operation set not exists - // case 404: - // case 501: - // case 502: - // this.broadcastService.broadcast(this.broadcastService.openRight, true); - // this.broadcastService.broadcast(this.broadcastService.saveRight, true); - // break; - // default: - // this.broadcastService.broadcast(this.broadcastService.openRight, false); - // this.broadcastService.broadcast(this.broadcastService.saveRight, false); - // break; - // } - // }); - this.broadcastService.broadcast(this.broadcastService.openRight, true); - this.broadcastService.broadcast(this.broadcastService.saveRight, true); - } -} diff --git a/sdc-workflow-designer-ui/src/app/services/broadcast.service.ts b/sdc-workflow-designer-ui/src/app/services/broadcast.service.ts deleted file mode 100644 index 410ae9b0..00000000 --- a/sdc-workflow-designer-ui/src/app/services/broadcast.service.ts +++ /dev/null @@ -1,75 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import { Injectable } from '@angular/core'; -import { Subject } from 'rxjs/Subject'; - -import { PlanModel } from '../model/plan-model'; -import { RestConfig } from '../model/rest-config'; -import { Swagger } from '../model/swagger'; -import { SequenceFlow } from '../model/workflow/sequence-flow'; -import { WorkflowNode } from '../model/workflow/workflow-node'; -import { WorkflowElement } from '../model/workflow/workflow-element'; - -/** - * BroadcastService - * All of the observable subject should be registered to this service. - * It provider a broadcast method to broadcast data. the broadcast method would catch error while broadcasting. - */ -@Injectable() -export class BroadcastService { - public openRight = new Subject(); - public openRight$ = this.openRight.asObservable(); - - public saveRight = new Subject(); - public saveRight$ = this.saveRight.asObservable(); - - public initModel = new Subject(); - public initModel$ = this.initModel.asObservable(); - - public showProperty = new Subject(); - public showProperty$ = this.showProperty.asObservable(); - - public planModel = new Subject(); - public planModel$ = this.planModel.asObservable(); - - public updateModelToscaConfig = new Subject(); - public updateModelToscaConfig$ = this.updateModelToscaConfig.asObservable(); - - public updateModelRestConfig = new Subject(); - public updateModelRestConfig$ = this.updateModelRestConfig.asObservable(); - - public updateNodeTypeConfig = new Subject(); - public updateNodeTypeConfig$ = this.updateNodeTypeConfig.asObservable(); - - public saveEvent = new Subject(); - public saveEvent$ = this.saveEvent.asObservable(); - - public selectedElement = new Subject(); - public selectedElement$ = this.selectedElement.asObservable(); - - public swagger = new Subject(); - public swagger$ = this.swagger.asObservable(); - - /** - * broadcast datas - * this method will catch the exceptions for the broadcast - * @param subject will broadcast data - * @param data will be broadcasted - */ - public broadcast(subject: Subject, data: any) { - try { - subject.next(data); - } catch (err) { - console.error(err); - } - } -} diff --git a/sdc-workflow-designer-ui/src/app/services/display-info.service.ts b/sdc-workflow-designer-ui/src/app/services/display-info.service.ts deleted file mode 100644 index a3a57686..00000000 --- a/sdc-workflow-designer-ui/src/app/services/display-info.service.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import { Injectable } from "@angular/core"; -import { HttpService } from "../util/http.service"; -import { Observable } from "rxjs"; -import { ModelService } from "./model.service"; - -@Injectable() -export class DisplayInfoService { - private displayInfoUrl = '/api/workflow-modeler/v1/ext-activities/displayInfo?scene='; - - constructor(private modelService: ModelService, private httpService: HttpService) { - } - - public getDisplayInfo(): Observable { - return this.httpService.get(this.displayInfoUrl + this.modelService.getPlanModel().scene); - } -} \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/services/interface.service.spec.ts b/sdc-workflow-designer-ui/src/app/services/interface.service.spec.ts deleted file mode 100644 index 0aeb3f52..00000000 --- a/sdc-workflow-designer-ui/src/app/services/interface.service.spec.ts +++ /dev/null @@ -1,26 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import { TestBed, inject } from '@angular/core/testing'; - -import { InterfaceService } from './interface.service'; - -describe('PersistenceService', () => { - beforeEach(() => { - TestBed.configureTestingModule({ - providers: [InterfaceService] - }); - }); - - it('should be created', inject([InterfaceService], (service: InterfaceService) => { - expect(service).toBeTruthy(); - })); -}); diff --git a/sdc-workflow-designer-ui/src/app/services/interface.service.ts b/sdc-workflow-designer-ui/src/app/services/interface.service.ts deleted file mode 100644 index 9dcafe96..00000000 --- a/sdc-workflow-designer-ui/src/app/services/interface.service.ts +++ /dev/null @@ -1,53 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import { Injectable } from '@angular/core'; -import { ActivatedRoute } from '@angular/router/'; - -import { Observable } from 'rxjs/Observable'; -import { TranslateService } from '@ngx-translate/core'; - -import { HttpService } from '../util/http.service'; -import { BroadcastService } from './broadcast.service'; -import { NoticeService } from './notice.service'; -import { PlanModel } from '../model/plan-model'; - -@Injectable() -export class InterfaceService { - private static ModelUrl = '/api/workflow-modeler/v1/models/'; - constructor(private activatedRoute: ActivatedRoute, private http: HttpService, - private broadcast: BroadcastService, private notice: NoticeService, private translate: TranslateService) { - this.getModelData(); - } - - public getModelData() { - this.activatedRoute.queryParams.subscribe(queryParams => { - let modelId = queryParams.hasOwnProperty("id") ? queryParams.id : ""; - let name = queryParams.hasOwnProperty("name") ? queryParams.name : ""; - let uuid = queryParams.hasOwnProperty("uuid") ? queryParams.uuid :""; - let operationId = queryParams.hasOwnProperty("operationId") ? queryParams.operationId : ""; - - this.http.get(InterfaceService.ModelUrl + modelId - + "?name=" + name + "&uuid=" + uuid - + "&operationId=" + operationId).subscribe(data => { - this.broadcast.broadcast(this.broadcast.initModel, data); - }, error => { - this.translate.get('WORKFLOW.MSG.LOAD_FAIL').subscribe((res: string) => { - this.notice.error(res); - }); - }); - }); - } - - public saveModelData(planModel: PlanModel): Observable { - return this.http.put(InterfaceService.ModelUrl + planModel.id, planModel); - } -} diff --git a/sdc-workflow-designer-ui/src/app/services/jsplumb.service.ts b/sdc-workflow-designer-ui/src/app/services/jsplumb.service.ts deleted file mode 100644 index 0cf93efe..00000000 --- a/sdc-workflow-designer-ui/src/app/services/jsplumb.service.ts +++ /dev/null @@ -1,581 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -import {Injectable} from '@angular/core'; -import * as jsp from 'jsplumb'; - -import {Subscription} from 'rxjs/Subscription'; -import {WorkflowNode} from '../model/workflow/workflow-node'; -import {BroadcastService} from './broadcast.service'; -import {ModelService} from './model.service'; -import {SequenceFlow} from '../model/workflow/sequence-flow'; -import {Position} from '../model/workflow/position'; - -/** - * JsPlumbService - * provides all of the operations about jsplumb plugin. - */ -@Injectable() -export class JsPlumbService { - public jsplumbInstanceMap = new Map(); - public subscriptionMap = new Map(); - - private padding = 20; - private rootClass = 'canvas'; - private selectNodes: WorkflowNode[] = []; - - constructor(private modelService: ModelService, private broadcastService: BroadcastService) { - this.broadcastService.selectedElement$.subscribe(elements => { - this.selectNodes = []; - if (elements && 0 < elements.length) { - for (let index = 0; index < elements.length; index++) { - let element = elements[index]; - if (this.modelService.isNode(element)) { - let node = element as WorkflowNode; - this.selectNodes.push(node); - } - } - } - }); - } - - public connectChildrenNodes(parentNodeId: string) { - const jsplumbInstance = this.jsplumbInstanceMap.get(parentNodeId); - - const nodes: WorkflowNode[] = this.modelService.getChildrenNodes(parentNodeId); - nodes.forEach(node => this.connect4OneNode(node, jsplumbInstance)); - } - - public connect4OneNode(node: WorkflowNode, jsplumbInstance: any) { - node.connection.forEach(sequenceFlow => { - const connection = jsplumbInstance.connect({ - source: sequenceFlow.sourceRef, - target: sequenceFlow.targetRef, - }); - if (sequenceFlow.name) { - connection.setLabel(sequenceFlow.name); - } - }); - } - - public initJsPlumbInstance(id: string) { - if (this.jsplumbInstanceMap.get(id)) { - return; - } - const jsplumbInstance = jsp.jsPlumb.getInstance(); - - jsplumbInstance.importDefaults({ - Anchor: "Continuous", - Endpoint: "Blank", - Container: "pallete", - ReattachConnections: true, - Connector: ['Flowchart', { - stub: [0, 0], - cornerRadius: 5, - alwaysRespectStubs: true - }], - PaintStyle: { - stroke: "#7D8695", - strokeWidth: 1, - radius: 1, - outlineStroke: "transform", - outlineWidth: 4 - }, - ConnectorStyle: { - stroke: "#7D8695", - strokeWidth: 1, - outlineStroke: "transform", - outlineWidth: 4 - }, - ConnectorHoverStyle: { - stroke: "#00ABFF", - strokeWidth: 2, - outlineStroke: "transform", - outlineWidth: 4 - }, - ConnectionOverlays: [ - ['Arrow', { - location: 1, - id: 'arrow', - cssClass: 'icon-port', - width: 11, - length: 12 - }], - ['Label', {label: '', id: 'label'}] - ] - }); - - // add connection to model data while a new connection is build - jsplumbInstance.bind('connection', info => { - this.modelService.addConnection(info.connection.sourceId, info.connection.targetId); - - this.subscribe4Connection(info.connection); - - info.connection.bind('click', (connection, event) => { - if ('Label' === connection.type) { - return; - } - event.stopPropagation(); - const sequenceFlow = this.modelService.getSequenceFlow(connection.sourceId, connection.targetId); - this.broadcastService.broadcast(this.broadcastService.showProperty, null); - this.broadcastService.broadcast(this.broadcastService.selectedElement, [sequenceFlow]); - }); - - info.connection.bind('dblclick', connection => { - if ('Label' === connection.type) { - return; - } - const sequenceFlow = this.modelService.getSequenceFlow(connection.sourceId, connection.targetId); - this.broadcastService.broadcast(this.broadcastService.showProperty, sequenceFlow); - }); - }); - - this.jsplumbInstanceMap.set(id, jsplumbInstance); - } - - private subscribe4Connection(connection: any) { - const pre = connection.sourceId + connection.targetId; - let sequenceFlowSubscription = this.subscriptionMap.get(pre + 'sequenceFlowSubscription'); - if (sequenceFlowSubscription && !sequenceFlowSubscription.closed) { - sequenceFlowSubscription.unsubscribe(); - } - - let currentThis = this; - sequenceFlowSubscription = this.broadcastService.selectedElement$.subscribe(elements => { - let selected = false; - if (elements && 0 < elements.length) { - for (let index = 0; index < elements.length; index++) { - let element = elements[index]; - if (!this.modelService.isNode(element)) { - let sequence = element as SequenceFlow; - if (sequence.sourceRef === connection.sourceId - && sequence.targetRef === connection.targetId) { - selected = true; - } - } - } - } - if (selected) { - connection.setPaintStyle({ - stroke: '#00ABFF', - strokeWidth: 1, - radius: 1, - outlineStroke: "transform", - outlineWidth: 4 - }); - } else { - connection.setPaintStyle({ - stroke: '#7D8695', - strokeWidth: 1, - radius: 1, - outlineStroke: "transform", - outlineWidth: 4 - }); - } - }); - this.subscriptionMap.set(pre + 'sequenceFlowSubscription', sequenceFlowSubscription); - } - - private unsubscription4Connection(connectionSelection: any) { - connectionSelection.each(connection => { - const pre = connection.sourceId + connection.targetId; - this.subscriptionMap.get(pre + 'sequenceFlowSubscription').unsubscribe(); - }); - } - - public deleteConnect(sourceId: string, targetId: string) { - const sourceNode = this.modelService.getNodeMap().get(sourceId); - const jsplumbInstance = this.jsplumbInstanceMap.get(sourceNode.parentId); - const connectionSelection = jsplumbInstance.select({source: sourceId, target: targetId}); - this.unsubscription4Connection(connectionSelection); - connectionSelection.delete(); - } - - public setLabel(sourceId: string, targetId: string, label: string) { - const sourceNode = this.modelService.getNodeMap().get(sourceId); - const jsplumbInstance = this.jsplumbInstanceMap.get(sourceNode.parentId); - const connections = jsplumbInstance.select({source: sourceId, target: targetId}); - connections.setLabel(label); - } - - public getParentNodeId(id: string): string { - const nodeElement = jsp.jsPlumb.getSelector('#' + id); - const parentNode = this.getParentNodeEl(nodeElement[0]); - - return parentNode ? parentNode.id : null; - } - - public initNode(node: WorkflowNode) { - const jsplumbInstance = this.jsplumbInstanceMap.get(node.parentId); - - this.jsplumbInstanceMap.get(this.modelService.rootNodeId).draggable(node.id, { - scope: 'node', - filter: '.ui-resizable-handle', - classes: { - 'ui-draggable': 'dragging' - }, - // grid: [5, 5], - drag: event => { - // out of container edge, reset to minimal value. - if (0 > event.pos[0]) { - event.el.style.left = '0px'; - } - if (0 > event.pos[1]) { - event.el.style.top = '0px'; - } - - if (0 < this.selectNodes.length) { - let moveAll = false; - this.selectNodes.forEach(element => { - if (element.id === event.el.id) { - moveAll = true; - } - }); - if (moveAll) { - this.selectNodes.forEach(selectNode => { - if (selectNode.id !== event.el.id) { - selectNode.position.left += event.e.movementX; - selectNode.position.left = 0 > selectNode.position.left ? 0 : selectNode.position.left; - selectNode.position.top += event.e.movementY; - selectNode.position.top = 0 > selectNode.position.top ? 0 : selectNode.position.top; - } - jsplumbInstance.revalidate(jsplumbInstance.getSelector('#' + selectNode.id)); - }); - } - } - }, - stop: event => { - this.selectNodes.forEach(selectNode => { - jsplumbInstance.revalidate(jsplumbInstance.getSelector('#' + selectNode.id)); - }); - } - }); - - jsplumbInstance.makeTarget(node.id, { - maxConnections: -1, - beforeDrop: function (info) { - const sourceId = info.sourceId; - const targetId = info.targetId; - if (sourceId === targetId) { - return false; - } - const sameConnections = this.instance.getConnections({source: sourceId, target: targetId}); - if (sameConnections && 0 < sameConnections.length) { - return false; - } - return true; - } - - }); - - jsplumbInstance.makeSource(node.id, { - filter: '.anchor, .anchor *', - maxConnections: -1, - }); - } - - public nodeDroppable(node: WorkflowNode, rank: number) { - const jsplumbInstance = this.jsplumbInstanceMap.get(node.parentId); - - const selector = jsplumbInstance.getSelector('#' + node.id); - this.jsplumbInstanceMap.get(this.modelService.rootNodeId).droppable(selector, { - scope: 'node', - rank, - tolerance: 'pointer', - drop: event => { - if (!this.isChildNode(event.drop.el, event.drag.el)) { - this.drop(event); - } - return true; - }, - canDrop: drag => { - const nodeMap = this.modelService.getNodeMap(); - const ancestorNode = nodeMap.get(drag.el.id); - - const isAncestor = this.modelService.isDescendantNode(ancestorNode, node.id); - return !isAncestor; - }, - }); - } - - private isChildNode(childElement, parentElement) { - while (childElement !== parentElement) { - childElement = childElement.parentNode; - if (childElement.classList.contains('canvas')) { - return false; - } - } - - return true; - } - - private drop(event) { - const dragEl = event.drag.el; - const dropEl = event.drop.el; - console.log(this.modelService.getNodes()); - - - this.resizeParent(dragEl, dropEl); - - const nodeLeft = dragEl.getBoundingClientRect().left; - const nodeTop = dragEl.getBoundingClientRect().top; - const parentLeft = dropEl.getBoundingClientRect().left; - const parentTop = dropEl.getBoundingClientRect().top; - const left = nodeLeft - parentLeft + dropEl.scrollLeft; - const top = nodeTop - parentTop + dropEl.scrollTop; - dragEl.style.top = top + 'px'; - dragEl.style.left = left + 'px'; - - // 12 is title height - const nameHeight = this.getNodeNameHeight(dragEl); - this.modelService.updatePosition(dragEl.id, left, top, dragEl.getBoundingClientRect().width, dragEl.getBoundingClientRect().height - nameHeight); - - const originalParentNode = this.getParentNodeEl(dragEl); - const originalParentNodeId = originalParentNode ? originalParentNode.id : this.modelService.rootNodeId; - - const targetParentNodeId = dropEl.classList.contains('node') ? dropEl.id : this.modelService.rootNodeId; - this.changeParent(dragEl.id, originalParentNodeId, targetParentNodeId); - } - - private getNodeNameHeight(element: any): number { - const children = element.children; - if (children && children.length) { - const nameElement = children[0]; - if (nameElement && nameElement.className === 'name') { - return nameElement.getBoundingClientRect().height; - } - } - return 0; - } - - private changeParent(id: string, originalParentNodeId: string, targetParentNodeId: string) { - if (originalParentNodeId !== targetParentNodeId) { - this.jsplumbInstanceMap.get(originalParentNodeId).removeAllEndpoints(id); - this.modelService.changeParent(id, originalParentNodeId, targetParentNodeId); - } - } - - private getParentNodeEl(element) { - while (!(element.parentNode.classList.contains('node') || element.parentNode.classList.contains('canvas'))) { - element = element.parentNode; - } - - if (element.parentNode.classList.contains('canvas')) { // top level node - return null; - } else { - return element.parentNode; - } - } - - public canvasDroppable() { - const jsplumbInstance = this.jsplumbInstanceMap.get(this.modelService.rootNodeId); - const canvasSelector = jsplumbInstance.getSelector('.canvas'); - jsplumbInstance.droppable(canvasSelector, { - scope: 'node', - rank: 0, - grid: [5, 5], - drop: event => this.drop(event), - }); - } - - public buttonDraggable() { - const jsplumbInstance = this.jsplumbInstanceMap.get(this.modelService.rootNodeId); - const selector = jsplumbInstance.getSelector('.item'); - jsplumbInstance.draggable(selector, { - scope: 'btn', - clone: true - }); - } - - public buttonDroppable() { - const jsplumbInstance = this.jsplumbInstanceMap.get(this.modelService.rootNodeId); - const selector = jsplumbInstance.getSelector('.canvas'); - jsplumbInstance.droppable(selector, { - scope: 'btn', - // grid: [5, 5], - drop: event => { - const el = jsplumbInstance.getSelector(event.drag.el); - const type = el.attributes.nodeType.value; - let typeId = null; - if (el.attributes.nodeTypeId && el.attributes.nodeTypeId.value) { - typeId = el.attributes.nodeTypeId.value; - } - // Mouse position minus drop canvas start position plus scroll position. - let left = event.e.x - event.drop.pagePosition[0] + event.drop.el.scrollLeft; - let top = event.e.y - event.drop.pagePosition[1] + event.drop.el.scrollTop; - if (0 > left) { - left = 0; - } - if (0 > top) { - top = 0; - } - const name = el.attributes.name.value; - this.modelService.addNode(type, typeId, name, left, top); - }, - }); - } - - public remove(node: WorkflowNode) { - const jsplumbInstance = this.jsplumbInstanceMap.get(node.parentId); - - // unsubscription4Connection - const connectionsAsSource = jsplumbInstance.select({source: node.id}); - this.unsubscription4Connection(connectionsAsSource); - const connectionsAsTarget = jsplumbInstance.select({target: node.id}); - this.unsubscription4Connection(connectionsAsTarget); - - jsplumbInstance.remove(node.id); - } - - public resizeParent(element: any, parentElement: any) { - if (parentElement.classList.contains(this.rootClass)) { - return; - } - - if (!parentElement.classList.contains('node')) { - this.resizeParent(element, parentElement.parentNode); - return; - } - - const leftResized = this.resizeParentLeft(element, parentElement); - const rightResized = this.resizeParentRight(element, parentElement); - const topResized = this.resizeParentTop(element, parentElement); - const bottomResized = this.resizeParentBottom(element, parentElement); - - if (leftResized || rightResized || topResized || bottomResized) { - if (parentElement.classList.contains('node')) { - const rect = parentElement.getBoundingClientRect(); - const nameHeight = this.getNodeNameHeight(parentElement); - this.modelService.updatePosition(parentElement.id, - parentElement.offsetLeft, - parentElement.offsetTop, - // title height - rect.width, rect.height - nameHeight); - } - this.resizeParent(parentElement, parentElement.parentNode); - } - } - - private resizeParentLeft(element: any, parentElement: any): boolean { - let resized = false; - - const actualLeft = element.getBoundingClientRect().left; - const actualParentLeft = parentElement.getBoundingClientRect().left; - - if (actualLeft - this.padding < actualParentLeft) { - const width = actualParentLeft - actualLeft + this.padding; - - this.translateElement(parentElement, -width, 0, width, 0); - this.translateChildren(parentElement, element, width, 0); - resized = true; - } - - return resized; - } - - private resizeParentRight(element: any, parentElement: any): boolean { - let resized = false; - - const actualLeft = element.getBoundingClientRect().left; - const actualRight = actualLeft + element.offsetWidth; - - const actualParentLeft = parentElement.getBoundingClientRect().left; - - if ((actualParentLeft + parentElement.offsetWidth) < actualRight + this.padding) { - this.setElementWidth(parentElement, actualRight + this.padding - actualParentLeft); - resized = true; - } - - return resized; - } - - private resizeParentBottom(element: any, parentElement: any): boolean { - let resized = false; - - const actualTop = element.getBoundingClientRect().top; - const actualBottom = actualTop + element.offsetHeight; - - const actualParentTop = parentElement.getBoundingClientRect().top; - const actualParentBottom = actualParentTop + parentElement.offsetHeight; - - if (actualParentBottom < actualBottom + this.padding) { - this.setElementHeight(parentElement, actualBottom + this.padding - actualParentTop); - resized = true; - } - - return resized; - } - - private resizeParentTop(element: any, parentElement: any): boolean { - let resized = false; - - const actualTop = element.getBoundingClientRect().top; - const actualParentTop = parentElement.getBoundingClientRect().top; - - if (actualTop - this.padding < actualParentTop) { - const height = actualParentTop - actualTop + this.padding; - - this.translateElement(parentElement, 0, -height, 0, height); - this.translateChildren(parentElement, element, 0, height); - resized = true; - } - - return resized; - } - - private translateElement(element, left: number, top: number, width: number, height: number) { - const offsetLeft = element.offsetLeft + left; - element.style.left = offsetLeft + 'px'; - - const offsetTop = element.offsetTop + top; - element.style.top = offsetTop + 'px'; - - const offsetWidth = element.offsetWidth + width; - element.style.width = offsetWidth + 'px'; - - const offsetHeight = element.offsetHeight + height; - element.style.height = offsetHeight + 'px'; - - if (element.classList.contains('node')) { - const node = this.modelService.getNodeMap().get(element.id); - this.jsplumbInstanceMap.get(node.parentId).revalidate(element.id); - } - } - - private translateChildren(parentElment, excludeElement, left: number, top: number) { - const len = parentElment.children.length; - for (let i = 0; i < len; i++) { - const childElment = parentElment.children[i]; - if (childElment.localName === 'wfm-node') { - this.translateElement(childElment.children[0], left, top, 0, 0); - } - } - } - - private setElementHeight(element, height: number) { - element.style.height = height + 'px'; - } - - private setElementWidth(element, width: number) { - element.style.width = width + 'px'; - } - - private getActualPosition(element, offset: string) { - let actualPosition = element[offset]; - let current = element.offsetParent; - while (current !== null) { - actualPosition += element[offset]; - current = current.offsetParent; - } - return actualPosition; - } -} diff --git a/sdc-workflow-designer-ui/src/app/services/model.service.ts b/sdc-workflow-designer-ui/src/app/services/model.service.ts deleted file mode 100644 index 8cb7b86a..00000000 --- a/sdc-workflow-designer-ui/src/app/services/model.service.ts +++ /dev/null @@ -1,625 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import { Injectable } from '@angular/core'; -import { isNullOrUndefined } from 'util'; - -import { PlanModel } from '../model/plan-model'; -import { PlanTreeviewItem } from '../model/plan-treeview-item'; -import { RestConfig } from '../model/rest-config'; -import { - Swagger, - SwaggerModel, - SwaggerModelSimple, - SwaggerPrimitiveObject, - SwaggerReferenceObject -} from '../model/swagger'; -import { ErrorEvent } from '../model/workflow/error-event'; -import { IntermediateCatchEvent } from '../model/workflow/intermediate-catch-event'; -import { NodeType } from '../model/workflow/node-type.enum'; -import { Parameter } from '../model/workflow/parameter'; -import { Position } from '../model/workflow/position'; -import { RestTask } from '../model/workflow/rest-task'; -import { SequenceFlow } from '../model/workflow/sequence-flow'; -import { StartEvent } from '../model/workflow/start-event'; -import { SubProcess } from '../model/workflow/sub-process'; -import { ToscaNodeTask } from '../model/workflow/tosca-node-task'; -import { WorkflowNode } from '../model/workflow/workflow-node'; -import { NodeTemplate } from '../model/topology/node-template'; -import { ValueSource } from '../model/value-source.enum'; -import { BroadcastService } from './broadcast.service'; -import { RestService } from './rest.service'; -import { SwaggerTreeConverterService } from './swagger-tree-converter.service'; -import { TimerEventDefinition, TimerEventDefinitionType } from "../model/workflow/timer-event-definition"; -import { InterfaceService } from './interface.service'; -import { ServiceTask } from '../model/workflow/service-task'; -import { NodeTypeService } from './node-type.service'; -import { WorkflowUtil } from '../util/workflow-util'; -import { TranslateService } from '@ngx-translate/core'; -import { NoticeService } from './notice.service'; - -/** - * ModelService - * provides all operations about plan model. - */ -@Injectable() -export class ModelService { - public rootNodeId = 'root'; - - private planModel: PlanModel = new PlanModel(); - private tempPlanModel: PlanModel = new PlanModel(); - - constructor(private interfaceService: InterfaceService, private broadcastService: BroadcastService, - private restService: RestService, private nodeTypeService: NodeTypeService, - private translate: TranslateService, private notice: NoticeService) { - this.broadcastService.initModel$.subscribe(planModel => { - planModel.data.nodes.forEach(node => { - switch (node.type) { - case NodeType[NodeType.startEvent]: - node.position.width = 56; - node.position.height = 56; - break; - case NodeType[NodeType.endEvent]: - node.position.width = 56; - node.position.height = 56; - break; - case NodeType[NodeType.restTask]: - node.position.width = 56; - node.position.height = 56; - break; - case NodeType[NodeType.errorStartEvent]: - case NodeType[NodeType.errorEndEvent]: - node.position.width = 26; - node.position.height = 26; - break; - case NodeType[NodeType.toscaNodeManagementTask]: - node.position.width = 56; - node.position.height = 56; - break; - case NodeType[NodeType.subProcess]: - node.position.width = 56; - node.position.height = 56; - break; - case NodeType[NodeType.intermediateCatchEvent]: - node.position.width = 56; - node.position.height = 56; - break; - case NodeType[NodeType.scriptTask]: - node.position.width = 56; - node.position.height = 56; - break; - case NodeType[NodeType.exclusiveGateway]: - case NodeType[NodeType.parallelGateway]: - node.position.width = 26; - node.position.height = 26; - break; - default: - node.position.width = 56; - node.position.height = 56; - break; - } - }); - this.planModel = planModel; - this.tempPlanModel = WorkflowUtil.deepClone(this.planModel); - }); - // Do not use restConfig property. - // this.broadcastService.updateModelRestConfig$.subscribe(restConfigs => { - // this.updateRestConfig(restConfigs); - // }); - } - - public getPlanModel(): PlanModel { - return this.planModel; - } - - public getChildrenNodes(parentId: string): WorkflowNode[] { - if (!parentId || parentId === this.rootNodeId) { - return this.planModel.data.nodes; - } else { - const node = this.getNodeMap().get(parentId); - if (node.type === 'subProcess') { - return (node).children; - } else { - return []; - } - } - } - - public getNodes(): WorkflowNode[] { - return this.planModel.data.nodes; - } - - public getSequenceFlow(sourceRef: string, targetRef: string): SequenceFlow { - const node = this.getNodeMap().get(sourceRef); - if (node) { - const sequenceFlow = node.connection.find(tmp => tmp.targetRef === targetRef); - return sequenceFlow; - } else { - return null; - } - } - - public addNode(type: string, typeId: string, name: string, left: number, top: number) { - const id = this.generateNodeProperty('id', type); - const nodeName = this.generateNodeProperty('name', name); - const workflowPos = new Position(left, top); - let node; - if ('serviceTask' === type || 'scriptTask' === type || 'restTask' === type) { - node = this.createNodeByTypeId(id, nodeName, type, typeId, workflowPos); - } else { - node = this.createNodeByType(id, nodeName, type, workflowPos); - } - this.planModel.data.nodes.push(node); - } - - private generateNodeProperty(key: string, type: string): string { - let nodeProperty = type; - const nodes = this.getNodes(); - console.log(nodes); - const existNode = nodes.find(node => node[key] === nodeProperty); - if (existNode) { - let count = 2; - do { - nodeProperty = type + '_' + count; - count++; - } while (nodes.find(node => node[key] === nodeProperty)) - } - return nodeProperty; - } - - private generateNodeName(typeId: string): string { - const language = this.translate.currentLang.indexOf('en') > -1 ? 'en_US' : 'zh_CN'; - const nodeType = this.nodeTypeService.getNodeDataTypeById(typeId); - let displayName; - if (nodeType.displayName && nodeType.displayName[language]) { - displayName = nodeType.displayName[language]; - } else { - displayName = nodeType.type; - } - return this.generateNodeProperty('name', displayName); - } - - public createNodeByTypeId(id: string, name: string, type: string, typeId: string, position: Position): WorkflowNode { - const nodeDataType = this.nodeTypeService.getNodeDataTypeById(typeId); - const initPosition = new Position(position.left, position.top, nodeDataType.icon.width, nodeDataType.icon.height); - // switch (type) { - // case NodeType[NodeType.serviceTask]: - // let serviceTask: ServiceTask = { - // id: id, type: type, name: name, parentId: this.rootNodeId, - // position: initPosition, connection: [], class: nodeDataType.activity.class, - // input: nodeDataType.activity.input, output: nodeDataType.activity.output - // }; - // return serviceTask; - // case NodeType[NodeType.scriptTask]: - // let scriptTask: ScriptTask = { - // id: id, type: type, name: name, parentId: this.rootNodeId, - // position: initPosition, connection: [], scriptFormat: nodeDataType.activity.scriptFormat, - // script: nodeDataType.activity.script - // }; - // return scriptTask; - // case NodeType[NodeType.restTask]: - // let restTaskNode: RestTask = { - // id: id, type: type, name: name, parentId: this.rootNodeId, - // position: initPosition, connection: [], produces: [], consumes: [], parameters: [], responses: [] - // }; - // return restTaskNode; - // default: - let node: WorkflowNode = { - id: id, type: type, typeId: nodeDataType.id, icon: nodeDataType.icon.name, name: name, - parentId: this.rootNodeId, position: initPosition, connection: [] - }; - return node; - } - - private createNodeByType(id: string, name: string, type: string, position: Position): WorkflowNode { - const bigPosition = new Position(position.left, position.top, 56, 56); - const smallPosition = new Position(position.left, position.top, 26, 26); - switch (type) { - case NodeType[NodeType.startEvent]: - let startEventNode: StartEvent = { - id: id, type: type, name: name, parentId: this.rootNodeId, - position: bigPosition, connection: [], parameters: [] - }; - return startEventNode; - case NodeType[NodeType.endEvent]: - let endEventNode: WorkflowNode = { - id: id, type: type, name: name, parentId: this.rootNodeId, - position: bigPosition, connection: [] - }; - return endEventNode; - case NodeType[NodeType.errorStartEvent]: - case NodeType[NodeType.errorEndEvent]: - let errorEventNode: ErrorEvent = { - id: id, - type: type, - name: '', - parentId: this.rootNodeId, - position: smallPosition, - connection: [], - parameter: new Parameter('errorRef', '', ValueSource[ValueSource.string]) - }; - return errorEventNode; - case NodeType[NodeType.toscaNodeManagementTask]: - let toscaNodeTask: ToscaNodeTask = { - id: id, type: type, name: name, parentId: this.rootNodeId, - position: bigPosition, connection: [], input: [], output: [], template: new NodeTemplate() - }; - return toscaNodeTask; - case NodeType[NodeType.subProcess]: - let subProcess: SubProcess = { - id: id, type: type, name: name, parentId: this.rootNodeId, - position: bigPosition, connection: [], children: [] - }; - return subProcess; - case NodeType[NodeType.intermediateCatchEvent]: - let intermediateCatchEvent: IntermediateCatchEvent = { - id: id, - type: type, - name: name, - parentId: this.rootNodeId, - position: bigPosition, - connection: [], - timerEventDefinition: { type: TimerEventDefinitionType[TimerEventDefinitionType.timeDuration] } - }; - return intermediateCatchEvent; - case NodeType[NodeType.exclusiveGateway]: - case NodeType[NodeType.parallelGateway]: - let getway: WorkflowNode = { - id: id, type: type, name: '', parentId: this.rootNodeId, - position: smallPosition, connection: [] - }; - return getway; - default: - let node: WorkflowNode = { - id: id, type: type, name: name, parentId: this.rootNodeId, - position: bigPosition, connection: [] - }; - return node; - } - } - - public isNode(object: any): boolean { - return undefined !== object.type; - } - - public changeParent(id: string, originalParentId: string, targetParentId: string) { - if (originalParentId === targetParentId) { - return; - } - - const node: WorkflowNode = this.deleteNode(originalParentId, id); - node.parentId = targetParentId; - - if (targetParentId) { - this.addChild(targetParentId, node); - } else { - this.planModel.data.nodes.push(node); - } - } - - public updatePosition(id: string, left: number, top: number, width: number, height: number) { - const node = this.getNodeMap().get(id); - node.position.left = left; - node.position.top = top; - node.position.width = width; - node.position.height = height; - } - - public updateRestConfig(restConfigs: RestConfig[]): void { - this.planModel.data.configs = { restConfigs: restConfigs }; - // console.log(this.planModel.configs); - } - - public getNodeMap(): Map { - const map = new Map(); - this.toNodeMap(this.planModel.data.nodes, map); - return map; - } - - public getAncestors(id: string): WorkflowNode[] { - const nodeMap = this.getNodeMap(); - const ancestors = []; - - let ancestor = nodeMap.get(id); - do { - ancestor = this.getParentNode(ancestor.id, nodeMap); - if (ancestor && ancestor.id !== id) { - ancestors.push(ancestor); - } - } while (ancestor); - - return ancestors; - } - - private getParentNode(id: string, nodeMap: Map): WorkflowNode { - let parentNode; - nodeMap.forEach((node, key) => { - if (NodeType[NodeType.subProcess] === node.type) { - const childNode = (node).children.find(child => child.id === id); - if (childNode) { - parentNode = node; - } - } - - }); - - return parentNode; - } - - public isDescendantNode(node: WorkflowNode, descendantId: string): boolean { - if (NodeType[NodeType.subProcess] !== node.type) { - return false; - } - const tmp = (node).children.find(child => { - return child.id === descendantId || (NodeType[NodeType.subProcess] === child.type && this.isDescendantNode(child, descendantId)); - }); - - return tmp !== undefined; - } - - private toNodeMap(nodes: WorkflowNode[], map: Map) { - nodes.forEach(node => { - if (node.type === 'subProcess') { - this.toNodeMap((node).children, map); - } - map.set(node.id, node); - }); - } - - public addConnection(sourceId: string, targetId: string) { - const node = this.getNodeMap().get(sourceId); - if (node) { - const index = node.connection.findIndex(sequenceFlow => sequenceFlow.targetRef === targetId); - if (index === -1) { - const sequenceFlow: SequenceFlow = { sourceRef: sourceId, targetRef: targetId }; - node.connection.push(sequenceFlow); - } - } - } - - public deleteConnection(sourceId: string, targetId: string) { - const node = this.getNodeMap().get(sourceId); - if (node) { - const index = node.connection.findIndex(sequenceFlow => sequenceFlow.targetRef === targetId); - if (index !== -1) { - node.connection.splice(index, 1); - } - } - } - - public deleteNode(parentId: string, nodeId: string): WorkflowNode { - const nodeMap = this.getNodeMap(); - - const nodes = this.getChildrenNodes(parentId); - - // delete related connections - nodes.forEach(node => this.deleteConnection(node.id, nodeId)); - - // delete current node - const index = nodes.findIndex(node => node.id === nodeId); - if (index !== -1) { - const node = nodes.splice(index, 1)[0]; - node.connection = []; - return node; - } - - return null; - } - - public addChild(parentId: string, child: WorkflowNode) { - this.getChildrenNodes(parentId).push(child); - } - - public deleteChild(node: SubProcess, id: string): WorkflowNode { - const index = node.children.findIndex(child => child.id === id); - if (index !== -1) { - const deletedNode = node.children.splice(index, 1); - return deletedNode[0]; - } - - return null; - } - - public getPlanParameters(nodeId: string): PlanTreeviewItem[] { - const preNodeList = new Array(); - this.getPreNodes(nodeId, this.getNodeMap(), preNodeList); - - return this.loadNodeOutputs(preNodeList); - } - - private loadNodeOutputs(nodes: WorkflowNode[]): PlanTreeviewItem[] { - const params = new Array(); - nodes.forEach(node => { - switch (node.type) { - case NodeType[NodeType.startEvent]: - params.push(this.loadOutput4StartEvent(node)); - break; - case NodeType[NodeType.toscaNodeManagementTask]: - params.push(this.loadOutput4ToscaNodeTask(node)); - break; - case NodeType[NodeType.restTask]: - params.push(this.loadOutput4RestTask(node)); - break; - default: - break; - } - }); - - return params; - } - - private loadOutput4StartEvent(node: StartEvent): PlanTreeviewItem { - const startItem = new PlanTreeviewItem(node.name, `[${node.id}]`, [], false); - node.parameters.map(param => - startItem.children.push(new PlanTreeviewItem(param.name, `[${param.name}]`, []))); - return startItem; - } - - private loadOutput4ToscaNodeTask(node: ToscaNodeTask): PlanTreeviewItem { - const item = new PlanTreeviewItem(node.name, `[${node.id}]`, [], false); - item.children.push(this.createStatusCodeTreeViewItem(node.id)); - const responseItem = this.createResponseTreeViewItem(node.id); - item.children.push(responseItem); - - node.output.map(param => - responseItem.children.push(new PlanTreeviewItem(param.name, `${responseItem.value}.[${param.name}]`, []))); - return item; - } - - private loadOutput4RestTask(node: RestTask): PlanTreeviewItem { - const item = new PlanTreeviewItem(node.name, `[${node.id}]`, [], false); - item.children.push(this.createStatusCodeTreeViewItem(node.id)); - - if (node.responses && node.responses.length !== 0) { // load rest responses - const responseItem = this.createResponseTreeViewItem(node.id); - item.children.push(responseItem); - // todo: should list all available response or only the first one? - if (node.responses[0]) { - const swagger = this.restService.getSwaggerInfo(node.restConfigId); - const SwaggerReferenceObject = node.responses[0].schema as SwaggerReferenceObject; - const swaggerDefinition = this.restService.getDefinition(swagger, SwaggerReferenceObject.$ref); - this.loadParamsBySwaggerDefinition(responseItem, swagger, swaggerDefinition); - } - } - - return item; - } - - private loadParamsBySwaggerDefinition(parentItem: PlanTreeviewItem, swagger: Swagger, definition: any) { - Object.getOwnPropertyNames(definition.properties).map(key => { - const property = definition.properties[key]; - const value = `${parentItem.value}.[${key}]`; - const propertyItem = new PlanTreeviewItem(key, value, []); - parentItem.children.push(propertyItem); - - // reference to swagger.ts function getSchemaObject() - if (property instanceof SwaggerReferenceObject) { - // handle reference parameter. - const propertyDefinition = this.restService.getDefinition(swagger, property.$ref); - this.loadParamsBySwaggerDefinition(propertyItem, swagger, propertyDefinition); - } else if (property instanceof SwaggerModelSimple) { - // handle object parameter. - this.loadParamsBySwaggerDefinition(propertyItem, swagger, property); - } else { - // skip - } - - return propertyItem; - }); - } - - private createStatusCodeTreeViewItem(nodeId: string): PlanTreeviewItem { - return new PlanTreeviewItem('statusCode', `[${nodeId}].[statusCode]`, []); - } - - private createResponseTreeViewItem(nodeId: string): PlanTreeviewItem { - return new PlanTreeviewItem('response', `[${nodeId}].[responseBody]`, []); - } - - public getPreNodes(nodeId: string, nodeMap: Map, preNodes: WorkflowNode[]) { - const preNode4CurrentNode = []; - nodeMap.forEach(node => { - if (this.isPreNode(node, nodeId)) { - const existNode = preNodes.find(tmpNode => tmpNode.id === node.id); - if (existNode) { - // current node already exists. this could avoid loop circle. - } else { - preNode4CurrentNode.push(node); - preNodes.push(node); - } - } - }); - - preNode4CurrentNode.forEach(node => this.getPreNodes(node.id, nodeMap, preNodes)); - } - - public isPreNode(preNode: WorkflowNode, id: string): boolean { - const targetNode = preNode.connection.find(connection => connection.targetRef === id); - return targetNode !== undefined; - } - - public save(callback?: Function) { - console.log('****************** save data *********************'); - console.log(JSON.stringify(this.planModel)); - // Check data - if(!this.checkData()){ - return; - } - this.interfaceService.saveModelData(this.planModel).subscribe(response => { - this.translate.get('WORKFLOW.MSG.SAVE_SUCCESS').subscribe((res: string) => { - this.notice.success(res); - // Update the cache. - this.tempPlanModel = WorkflowUtil.deepClone(this.planModel); - if (callback) { - callback(); - } - }); - }, error => { - this.translate.get('WORKFLOW.MSG.SAVE_FAIL').subscribe((res: string) => { - this.notice.error(res); - }); - }); - ; - } - - private createId() { - const nodeMap = this.getNodeMap(); - - for (let i = 0; i < nodeMap.size; i++) { - const key = 'node' + i; - if (!nodeMap.get(key)) { - return key; - } - } - - return 'node' + nodeMap.size; - } - - public isModify(): boolean { - // Compare the cache. - return JSON.stringify(this.planModel) != JSON.stringify(this.tempPlanModel); - } - - private checkData(): boolean { - if (this.planModel && this.planModel.data && this.planModel.data.nodes) { - let nodes = this.planModel.data.nodes; - for (let index = 0; index < nodes.length; index++) { - const node = nodes[index]; - if (NodeType[NodeType.startEvent] === node.type) { - let startEvent = node as StartEvent; - if (startEvent.parameters) { - for (let i = 0; i < startEvent.parameters.length; i++) { - const parameter = startEvent.parameters[i]; - if (!parameter.name) { - this.translate.get('WORKFLOW.MSG.PROCESS_VARIABLE_EMPTY').subscribe((res: string) => { - this.notice.error(res); - }); - return false; - } - if(i + 1 < startEvent.parameters.length){ - for (let j = i + 1; j < startEvent.parameters.length; j++) { - const param = startEvent.parameters[j]; - if(parameter.name === param.name){ - this.translate.get('WORKFLOW.MSG.PROCESS_VARIABLE_SAME').subscribe((res: string) => { - this.notice.error(res); - }); - return false; - } - } - } - } - } - } - } - } - return true; - } -} diff --git a/sdc-workflow-designer-ui/src/app/services/node-type.service.ts b/sdc-workflow-designer-ui/src/app/services/node-type.service.ts deleted file mode 100644 index a40ad50f..00000000 --- a/sdc-workflow-designer-ui/src/app/services/node-type.service.ts +++ /dev/null @@ -1,68 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import { Injectable } from "@angular/core"; -import { HttpService } from "../util/http.service"; -import { BroadcastService } from "./broadcast.service"; -import { NodeDataType } from "../model/node-data-type/node-data-type"; -import { Parameter } from "../model/workflow/parameter"; -import { TranslateService } from "@ngx-translate/core"; - -@Injectable() -export class NodeTypeService { - private nodeDataTypes: NodeDataType[] = []; - private nodeDataTypeUrl = '/api/workflow-modeler/v1/ext-activities?sence=test'; - - constructor(private httpService: HttpService, private translateService: TranslateService, - private broadcastService: BroadcastService) { - this.initNodeDataTypes(); - } - - private initNodeDataTypes(): void { - this.httpService.get(this.nodeDataTypeUrl) - .toPromise() - .then(resp => { - if (resp && 0 < resp.length) { - this.nodeDataTypes = resp; - } - this.broadcastService.broadcast(this.broadcastService.updateNodeTypeConfig, null); - }); - } - - public getAllNodeDataTypes(): NodeDataType[] { - return this.nodeDataTypes; - } - - public getNodeDataTypeById(id: string): NodeDataType | null { - return this.nodeDataTypes.find(nodeDataType => nodeDataType.id === id); - } - - public GetI18nName(key: string, displayName: any): string { - //todo: add logic - let name = key; - if (displayName) { - let language = 'zh_CN'; - if (this.translateService.currentLang.indexOf('en') > -1) { - language = 'en_US'; - } - if (displayName.language && '' != displayName.language) { - name = displayName.language; - } - } - return name; - } - - public static GetParameterByDataType(nodeDataType: any): Parameter { - //todo: add logic - let param = new Parameter('', '', ''); - return param; - } -} \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/services/notice.service.ts b/sdc-workflow-designer-ui/src/app/services/notice.service.ts deleted file mode 100644 index ea081e96..00000000 --- a/sdc-workflow-designer-ui/src/app/services/notice.service.ts +++ /dev/null @@ -1,54 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -import { Injectable } from '@angular/core'; -import { Subject } from 'rxjs/Subject'; - -import { Notice } from '../model/notice'; -import { NoticeType } from '../model/notice-type.enum'; - -/** - * NotifyService - * display notify infos. - */ -@Injectable() -export class NoticeService { - public showNotice = new Subject(); - public showNotice$ = this.showNotice.asObservable(); - constructor() { } - - public success(content: string, timeout: number = 5000) { - this.addNotice(NoticeType.success, content, timeout); - } - - public info(content: string, timeout: number = 10000) { - this.addNotice(NoticeType.info, content, timeout); - } - - public warn(content: string, timeout: number = 30000) { - this.addNotice(NoticeType.warning, content, timeout); - } - - public error(content: string, timeout: number = 0) { - this.addNotice(NoticeType.danger, content, timeout); - } - - /** - * showNotify - * @param type - * @param content - */ - private addNotice(type: NoticeType, content: string, timeout: number = 0): void { - const notice = new Notice(type, content, timeout); - this.showNotice.next(notice); - } -} diff --git a/sdc-workflow-designer-ui/src/app/services/rest.service.ts b/sdc-workflow-designer-ui/src/app/services/rest.service.ts deleted file mode 100644 index e3bde51b..00000000 --- a/sdc-workflow-designer-ui/src/app/services/rest.service.ts +++ /dev/null @@ -1,151 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - *******************************************************************************/ - -import { Injectable } from '@angular/core'; -import { Http, RequestOptionsArgs } from '@angular/http'; -import { Observable } from 'rxjs/Rx'; -import { isNullOrUndefined } from 'util'; - -import { SwaggerMethod } from '../model/swagger'; -import { SwaggerResponseClass } from '../model/swagger'; -import { Swagger, SwaggerSchemaObject } from '../model/swagger'; -import { RestConfig } from '../model/rest-config'; -import { BroadcastService } from './broadcast.service'; -import { NoticeService } from './notice.service'; -import { SettingService } from './setting.service'; - -@Injectable() -export class RestService { - private restConfigs: RestConfig[] = []; - private runtimeURL = '/openoapi/catalog/v1/sys/config'; - private msbPublishServiceURL = '/api/msdiscover/v1/publishservicelist'; - - constructor(private broadcastService: BroadcastService, private http: Http, - private noticeService: NoticeService, private settgingService: SettingService) { - this.settgingService.getSetting().subscribe(setting => { - if (true === setting.supportRestNode) { - this.initSwaggerInfo(); - } else { - this.broadcastService.broadcast(this.broadcastService.updateModelRestConfig, null); - } - }); - } - - public getRestConfigs(): RestConfig[] { - return this.restConfigs; - } - - public getRestConfig(id: string): RestConfig { - return this.restConfigs.find(tmp => tmp.id === id); - } - - public getSwaggerInfo(id: string): Swagger { - const restConfig = this.restConfigs.find(tmp => tmp.id === id); - return restConfig === undefined ? undefined : restConfig.swagger; - } - - public getResponseParameters(swagger: Swagger, interfaceUrl: string, operation: string): SwaggerResponseClass[] { - const path = swagger.paths[interfaceUrl]; - const method: SwaggerMethod = path[operation]; - let responses: SwaggerResponseClass[] = []; - - for (const key of Object.keys(method.responses)) { - if (key.startsWith('20') && method.responses[key].schema && method.responses[key].schema.$ref) { - let response: SwaggerResponseClass = method.responses[key]; - responses.push(response); - } - } - - return responses; - } - - public getDefinition(swagger: Swagger, position: string): SwaggerSchemaObject { - const definitionName = position.substring('#/definitions/'.length); - return swagger.definitions[definitionName]; - } - - private initSwaggerInfo(): void { - this.http.get(this.runtimeURL).subscribe(runtimeResponse => { - const tenant = runtimeResponse.json().tenant; - console.log('Current namespace is:' + tenant); - this.initSwaggerInfoByTenant(tenant); - }, error => { - console.warn('No tenant interface!'); - this.initSwaggerInfoByTenant(''); - }); - } - - private initSwaggerInfoByTenant(tenant: string): void { - this.http.get(this.msbPublishServiceURL, { params: { namespace: tenant } }).subscribe(serviceResponse => { - if (!Array.isArray(serviceResponse.json())) { - return; - } - const services = serviceResponse.json(); - const protocel = location.protocol.slice(0, location.protocol.length - 1); - const swaggerObservableArray: Observable[] = []; - services.forEach(serviceInfo => { - if ('REST' === serviceInfo.protocol && protocel === serviceInfo.publish_protocol) { - // this service don't have sawgger file. - if ('/activiti-rest' !== serviceInfo.publish_url) { - const id = serviceInfo.serviceName + '.' + serviceInfo.version; - this.restConfigs.push(new RestConfig(id, serviceInfo.serviceName, serviceInfo.version, serviceInfo.publish_url)); - let swaggerUrl = ''; - if (undefined !== serviceInfo.swagger_url && '' !== serviceInfo.swagger_url) { - swaggerUrl = serviceInfo.publish_url + '/' + serviceInfo.swagger_url; - } else { - // default swagger url is: '/swagger.json' - swaggerUrl = serviceInfo.publish_url + '/swagger.json'; - } - const options: any = { - headers: { - Accept: 'application/json', - } - }; - swaggerObservableArray.push(this.http.get(swaggerUrl, options).timeout(5000).catch((error): Observable => { - console.log('Request swagger from:"' + swaggerUrl + '" faild!'); - return Observable.of(null); - })); - } - } - }); - Observable.forkJoin(swaggerObservableArray).subscribe( - responses => { - let deleteArray: number[] = []; - responses.forEach((response, index) => { - // mark http get failed request index or set the swagger into restConfigs - if (null === response) { - deleteArray.push(index); - } else { - try { - const swagger = response.json(); - this.restConfigs[index].swagger = new Swagger(swagger); - } catch (e) { - deleteArray.push(index); - console.warn('Do not support this sawgger file format:' + response.text()); - } - } - }); - console.log('Get all swagger file finish.'); - // delete failed request from all restConfigs array - deleteArray.reverse(); - deleteArray.forEach(deleteIndex => { - this.restConfigs.splice(deleteIndex, 1); - }); - this.broadcastService.broadcast(this.broadcastService.updateModelRestConfig, this.restConfigs); - console.log('Load all swagger finished.'); - } - ); - }); - - } -} - diff --git a/sdc-workflow-designer-ui/src/app/services/setting.service.spec.ts b/sdc-workflow-designer-ui/src/app/services/setting.service.spec.ts deleted file mode 100644 index a85d2c27..00000000 --- a/sdc-workflow-designer-ui/src/app/services/setting.service.spec.ts +++ /dev/null @@ -1,26 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - *******************************************************************************/ -import { TestBed, inject } from '@angular/core/testing'; - -import { SettingService } from './setting.service'; - -describe('SettingService', () => { - beforeEach(() => { - TestBed.configureTestingModule({ - providers: [SettingService] - }); - }); - - it('should be created', inject([SettingService], (service: SettingService) => { - expect(service).toBeTruthy(); - })); -}); diff --git a/sdc-workflow-designer-ui/src/app/services/setting.service.ts b/sdc-workflow-designer-ui/src/app/services/setting.service.ts deleted file mode 100644 index 266c5533..00000000 --- a/sdc-workflow-designer-ui/src/app/services/setting.service.ts +++ /dev/null @@ -1,31 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - *******************************************************************************/ -import { Injectable } from '@angular/core'; -import { Observable } from "rxjs/Rx"; - -import { HttpService } from '../util/http.service'; - -@Injectable() -export class SettingService { - - constructor(private http: HttpService) { } - - public getSetting(): Observable { - const options: any = { - headers: { - Accept: 'application/json', - } - }; - return this.http.get('assets/global-setting.json', options); - } - -} diff --git a/sdc-workflow-designer-ui/src/app/services/swagger-tree-converter.service.ts b/sdc-workflow-designer-ui/src/app/services/swagger-tree-converter.service.ts deleted file mode 100644 index 8128b44c..00000000 --- a/sdc-workflow-designer-ui/src/app/services/swagger-tree-converter.service.ts +++ /dev/null @@ -1,244 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - *******************************************************************************/ - -import { Injectable } from '@angular/core'; -import { TreeNode } from 'primeng/primeng'; - -import { ValueSource } from '../model/value-source.enum'; -import { WorkflowUtil } from '../util/workflow-util'; -import { RestService } from './rest.service'; -import { Swagger } from "../model/swagger"; -import { ValueObject } from '../model/value-object'; -import { ValueType } from '../model/value-type.enum'; - -@Injectable() -export class SwaggerTreeConverterService { - - private swagger: Swagger; - - constructor(private restService: RestService) { } - - public schema2TreeNode(swagger: Swagger, key: string | number, schema: any, value?: any): any { - this.swagger = swagger; - if (schema.$ref) { - const treeNode = this.getTreeNodeBySwaggerDefinition(key, schema, value); - return treeNode; - } else { - value = this.getInitValue4Param(schema, value); - return this.parameter2TreeNode(key, schema, value); - } - } - - private getTreeNodeBySwaggerDefinition(key: string | number, schema: any, value: any): TreeNode { - const swaggerDefinition = this.restService.getDefinition(this.swagger, schema.$ref); - - const definitionCopy = WorkflowUtil.deepClone(swaggerDefinition); - - value = this.getInitValue4Param(definitionCopy, value); - - return this.schema2TreeNode(this.swagger, key, definitionCopy, value); - } - - private getInitValue4Param(definition: any, value: any) { - if (definition.$ref) { - definition = this.restService.getDefinition(this.swagger, definition.$ref); - } - let valueObject: ValueObject = { valueSource: ValueSource[ValueSource.string] }; - if (undefined == value) { - valueObject.value = definition.default; - if (ValueType[ValueType.array] === definition.type || ValueType[ValueType.object] === definition.type) { - valueObject.valueSource = ValueSource[ValueSource.Definition]; - } else { - valueObject.valueSource = definition.type; - } - } else { - valueObject.valueSource = value.valueSource; - valueObject.value = undefined === value.value ? definition.default : value.value; - } - if (definition.type === 'object') { - // if (undefined == value) { - // valueObject.value = definition.default; - // if (ValueType[ValueType.array] === definition.type || ValueType[ValueType.object] === definition.type) { - // valueObject.valueSource = ValueSource[ValueSource.Definition]; - // } else { - // valueObject.valueSource = definition.type; - // } - // } else { - // valueObject.valueSource = value.valueSource; - // valueObject.value = undefined === value.value ? definition.default : value.value; - // } - return this.getInitValue4Object(valueObject); - } else if (definition.type === 'array') { - return this.getInitValue4Array(valueObject); - } else { // primary type - // valueObject.value = undefined === value ? definition.default : value; - // valueObject.valueSource = definition.type; - return this.getInitValue4Primary(valueObject); - } - } - - private getInitValue4Object(value: any) { - const newValue = { - value: {}, - valueSource: ValueSource[ValueSource.Definition] - }; - - if (!value || '' === value) { - return newValue; - } else { - if (value.valueSource !== ValueSource[ValueSource.Definition]) { - return value; - } else { - if (typeof value.value !== 'object') { - value.value = {}; - } - return value; - } - } - } - - private getInitValue4Array(value: any) { - const newValue = { - value: [], - valueSource: ValueSource[ValueSource.Definition] - }; - - if (!value || '' === value) { - return newValue; - } else { - if (value.valueSource !== ValueSource[ValueSource.Definition]) { - return value; - } else { - if (!(value.value instanceof Array)) { - value.value = []; - } - return value; - } - } - } - - private getInitValue4Primary(value: any) { - const newValue = { - value: '', - valueSource: ValueSource[ValueSource.string] - }; - - if (!value) { - return newValue; - } else { - if (typeof value.value === 'object') { - value.value = ''; - } - return value; - } - } - - private parameter2TreeNode(name: string | number, definition: any, value: any): any { - const nodeType = this.getTreeNodeType(definition); - - const node = { - label: name, - type: nodeType, - required: definition.required, - children: [], - definition: definition, - value: value, - }; - - if (value.valueSource === ValueSource[ValueSource.Definition]) { - if (definition.type === 'object') { - node.children = this.getPropertyFromObject(definition, value.value); - } else if (definition.type === 'array') { - node.children = this.setChildrenForArray(definition, value.value); - } - } - - return node; - } - - private getTreeNodeType(param: any): string { - const type = param.type; - if (type === 'array') { - return 'array'; - } else if (type === 'object') { - if (param.additionalProperties) { - return 'map'; - } else { - return 'object'; - } - } else { - return 'default'; - } - } - - private setChildrenForArray(definition: any, value: any[]): any[] { - const children = []; - value.forEach((itemValue, index) => { - const itemCopy = WorkflowUtil.deepClone(definition.items); - children.push(this.schema2TreeNode(this.swagger, index, itemCopy, itemValue)); - }); - - return children; - } - - private getPropertyFromObject(definition: any, value: any): TreeNode[] { - if (definition.properties) { - return this.getPropertyFromSimpleObject(definition.properties, value, definition.required); - } else if (definition.additionalProperties) { - return this.getPropertyFromMapOrDictionary(definition.additionalProperties, value); - } else { - console.log('getPropertyFromObject() return [], param is:' + JSON.stringify(definition)); - return []; - } - - } - - private getPropertyFromSimpleObject(properties: any, objectValue: any, required: string[]): TreeNode[] { - const treeNodes: TreeNode[] = []; - for (const key in properties) { - let property = properties[key]; - // init required property - property.required = false; - if (Array.isArray(required)) { - for (let index = 0; index < required.length; index++) { - if (required[index] === key) { - property.required = true; - break; - } - } - } - - objectValue[key] = this.getInitValue4Param(property, objectValue[key]); - - const treeNode = this.schema2TreeNode(this.swagger, key, property, objectValue[key]); - treeNodes.push(treeNode); - } - return treeNodes; - } - - private getPropertyFromMapOrDictionary(additionalProperties: any, mapOrDictionary: any): TreeNode[] { - const treeNodes: TreeNode[] = []; - for (const key in mapOrDictionary) { - const propertyCopy = WorkflowUtil.deepClone(additionalProperties); - propertyCopy.value = mapOrDictionary[key]; - - const treeNode = this.schema2TreeNode(this.swagger, key, propertyCopy, propertyCopy.value); - treeNode.keyEditable = true; - treeNodes.push(treeNode); - - if (mapOrDictionary[key] !== propertyCopy.value) { - mapOrDictionary[key] = propertyCopy.value; - } - } - return treeNodes; - } -} diff --git a/sdc-workflow-designer-ui/src/app/services/tosca.service.spec.ts b/sdc-workflow-designer-ui/src/app/services/tosca.service.spec.ts deleted file mode 100644 index a54fba63..00000000 --- a/sdc-workflow-designer-ui/src/app/services/tosca.service.spec.ts +++ /dev/null @@ -1,26 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import { TestBed, inject } from '@angular/core/testing'; - -import { ToscaService } from './tosca.service'; - -describe('ToscaService', () => { - beforeEach(() => { - TestBed.configureTestingModule({ - providers: [ToscaService] - }); - }); - - it('should be created', inject([ToscaService], (service: ToscaService) => { - expect(service).toBeTruthy(); - })); -}); diff --git a/sdc-workflow-designer-ui/src/app/services/tosca.service.ts b/sdc-workflow-designer-ui/src/app/services/tosca.service.ts deleted file mode 100644 index dd62a717..00000000 --- a/sdc-workflow-designer-ui/src/app/services/tosca.service.ts +++ /dev/null @@ -1,153 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import { Injectable } from '@angular/core'; -import { Observable } from "rxjs/Rx"; - -import { NodeTemplate } from '../model/topology/node-template'; -import { SettingService } from './setting.service'; -import { HttpService } from '../util/http.service'; -import { BroadcastService } from './broadcast.service'; - -@Injectable() -export class ToscaService { - private nodeTemplate: NodeTemplate[] = []; - private topologyProperties: { - name: string; - value: string; - }[] = []; - private namespace; - private serviceTemplateId; - private repositoryURL; - constructor(private settingService: SettingService, private httpService: HttpService, - private broadcastService: BroadcastService) { - this.settingService.getSetting().subscribe(setting => { - if (true === setting.supportToscaNode) { - // todo: need to load tosca interface and tosca properties - this.initTOSCAInfo(); - } else { - this.broadcastService.broadcast(this.broadcastService.updateModelToscaConfig, null); - } - }); - } - - public getNodeTemplate(): NodeTemplate[] { - return this.nodeTemplate; - } - - public getTopologyProperties() { - return this.topologyProperties; - } - - public initTOSCAInfo() { - this.getNodeTemplates().subscribe(nodes => { - if (0 === nodes.length) { - return; - } - - const subscribes = nodes.map(node => this.loadTopologyProperties(node)); - Observable.forkJoin(subscribes).map(nodesProperties => { - const allProperties: { name: string, value: string }[] = []; - nodesProperties.forEach((properties, index) => { - properties.forEach(property => { - // allProperties.push(nodes[index].name + '.' + property); - const propertyOption = { - name: `${nodes[index].name}.${property}`, - value: `[${nodes[index].name}].[${property}]` - }; - allProperties.push(propertyOption); - }); - }); - return allProperties; - }).subscribe(allProperties => { - this.topologyProperties = allProperties; - this.broadcastService.broadcast(this.broadcastService.updateModelToscaConfig, this.topologyProperties); - }); - }); - } - - public getNodeTemplates(): Observable { - const url = 'servicetemplates/' + this.encode(this.namespace) - + '/' + this.encode(this.serviceTemplateId) + '/topologytemplate/'; - - return this.httpService.get(this.getFullUrl(url)).map(response => { - const nodeTemplates = []; - for (const key in response.nodeTemplates) { - if (response.nodeTemplates.hasOwnProperty(key)) { - const nodeTemplate = response.nodeTemplates[key]; - nodeTemplates.push({ - id: nodeTemplate.id, - type: nodeTemplate.type.replace(/^\{(.+)\}(.+)/, '$2'), - name: nodeTemplate.name, - namespace: nodeTemplate.type.replace(/^\{(.+)\}(.+)/, '$1'), - }); - } - } - return nodeTemplates; - }); - } - - public loadTopologyProperties(nodeTemplate: NodeTemplate): Observable { - const url = 'nodetypes/' + this.encode(nodeTemplate.namespace) - + '/' + this.encode(nodeTemplate.type) + '/propertiesdefinition/winery/list/'; - - return this.httpService.get(this.getFullUrl(url)).map(properties => - properties.map(property => property.key)); - } - - public loadNodeTemplateInterfaces(nodeTemplate: NodeTemplate): Observable { - const url = 'nodetypes/' + this.encode(nodeTemplate.namespace) - + '/' + this.encode(nodeTemplate.type) + '/interfaces/'; - - return this.httpService.get(this.getFullUrl(url)); - } - public loadNodeTemplateOperations(nodeTemplate: NodeTemplate, - interfaceName: string): Observable { - const url = 'nodetypes/' + this.encode(nodeTemplate.namespace) - + '/' + this.encode(nodeTemplate.type) + '/interfaces/' + this.encode(interfaceName) + '/operations/'; - - return this.httpService.get(this.getFullUrl(url)); - } - - public loadNodeTemplateOperationParameter(nodeTemplate: NodeTemplate, - interfaceName: string, - operation: string): Observable { - const relativePath = 'nodetypes/' + this.encode(nodeTemplate.namespace) + '/' + this.encode(nodeTemplate.type) - + '/interfaces/' + this.encode(interfaceName) + '/operations/' + this.encode(operation) + '/'; - - // input parameters - const inputObservable = this.httpService - .get(this.getFullUrl(relativePath + 'inputparameters')); - - // output parameters - const outputObservable = this.httpService - .get(this.getFullUrl(relativePath + 'outputparameters')); - - return Observable.forkJoin([inputObservable, outputObservable]).map(params => { - return { - input: params[0], - output: params[1], - }; - }); - } - - private decode(param: string): string { - return decodeURIComponent(decodeURIComponent(param)); - } - - private encode(param: string): string { - return encodeURIComponent(encodeURIComponent(param)); - } - - private getFullUrl(relativePath: string) { - return this.repositoryURL + relativePath; - } -} diff --git a/sdc-workflow-designer-ui/src/app/shared/input/validators.ts b/sdc-workflow-designer-ui/src/app/shared/input/validators.ts deleted file mode 100644 index 6a4e799d..00000000 --- a/sdc-workflow-designer-ui/src/app/shared/input/validators.ts +++ /dev/null @@ -1,147 +0,0 @@ -import {AbstractControl, ValidationErrors} from '@angular/forms'; - -export function inRangeValidator(in_range: number[]): ValidationErrors|null { - return (control: AbstractControl): ValidationErrors => { - const value = parseFloat(control.value); - if (isNaN(value) || value > in_range[1] || value < in_range[0]) { - control.setErrors({ - in_range: true - }); - return { - in_range: true - } - } else { - return null; - } - } -} - -export function greaterOrEqualValidator(max: string): ValidationErrors|null { - return (control: AbstractControl): ValidationErrors => { - const value = parseFloat(control.value); - const maxValue: any = parseFloat(max); - if (!isNaN(maxValue) && (isNaN(value) || value < maxValue)) { - control.setErrors({ - greater_or_equal: true - }); - return { - greater_or_equal: true - } - } else { - return null; - } - } -} - -export function lessOrEqualValidator(min: string): ValidationErrors|null { - return (control: AbstractControl): ValidationErrors => { - const value = parseFloat(control.value); - const minValue: any = parseFloat(min); - if (!isNaN(minValue) && (isNaN(value) || value > minValue)) { - control.setErrors({ - less_or_equal: true - }); - return { - less_or_equal: true - } - } else { - return null; - } - } -} - -export function greaterThanValidator(max: string): ValidationErrors|null { - return (control: AbstractControl): ValidationErrors => { - const value = parseFloat(control.value); - const maxValue: any = parseFloat(max); - if (!isNaN(maxValue) && (isNaN(value) || value <= maxValue)) { - control.setErrors({ - greater_than: true - }); - return { - greater_than: true - } - } else { - return null; - } - } -} - -export function lessThanValidator(min: string): ValidationErrors|null { - return (control: AbstractControl): ValidationErrors => { - const value = parseFloat(control.value); - const minValue: any = parseFloat(min); - if (!isNaN(minValue) && (isNaN(value) || value >= minValue)) { - control.setErrors({ - less_than: true - }); - return { - less_than: true - } - } else { - return null; - } - } -} - -export function equalValidator(value: any): ValidationErrors|null { - return (control: AbstractControl): ValidationErrors => { - if (control.value != value) { - control.setErrors({ - equal: true - }); - return { - equal: true - } - } else { - return null; - } - } -} - -export function lengthValidator(length: number): ValidationErrors|null { - return (control: AbstractControl): ValidationErrors => { - if (control.value && control.value.length !== length) { - control.setErrors({ - length: true - }); - return { - length: true - } - } else { - return null; - } - } -} - -export function floatValidator(): ValidationErrors|null { - return (control: AbstractControl): ValidationErrors => { - let floatPattern = /^(-?\d+)(\.\d+)?$/; - if (control.value && !floatPattern.test(control.value)) { - control.setErrors({ - float: true - }); - return { - float: true - } - } else { - return null; - } - } -} - -export function integerValidator(): ValidationErrors|null { - return (control: AbstractControl): ValidationErrors => { - let integerPattern = /^-?\d+$/; - if (control.value && !integerPattern.test(control.value)) { - control.setErrors({ - integer: true - }); - return { - integer: true - } - } else { - return null; - } - } -} \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/shared/input/wfm-text-input.component.ts b/sdc-workflow-designer-ui/src/app/shared/input/wfm-text-input.component.ts deleted file mode 100644 index 3b3798c7..00000000 --- a/sdc-workflow-designer-ui/src/app/shared/input/wfm-text-input.component.ts +++ /dev/null @@ -1,258 +0,0 @@ -import { - Component, Input, forwardRef, SimpleChanges, ViewChild, OnChanges, Output, EventEmitter, - ElementRef -} from '@angular/core'; -import {TranslateService} from '@ngx-translate/core'; -import { - ControlValueAccessor, NG_VALUE_ACCESSOR, NG_VALIDATORS, Validator, - AbstractControl, ValidationErrors -} from '@angular/forms'; -import { - inRangeValidator, greaterOrEqualValidator, lessOrEqualValidator, - greaterThanValidator, lessThanValidator, equalValidator, lengthValidator, floatValidator, integerValidator -} from './validators'; -import {isNullOrUndefined} from "util"; - -const noop = () => { -}; - -export const CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = { - provide: NG_VALUE_ACCESSOR, - useExisting: forwardRef(() => WfmTextInputComponent), - multi: true -}; - -export const CUSTOM_INPUT_VALIDATOR: any = { - provide: NG_VALIDATORS, - useExisting: forwardRef(() => WfmTextInputComponent), - multi: true -}; - -@Component({ - selector: 'wfm-text-input', - template: ` - - - {{hintLabel}} - - {{ 'VALIDATE.REQUIRED' | translate }} - - - {{ 'VALIDATE.MAX_LENGTH' | translate: {value: maxlength} }} - - - {{ 'VALIDATE.MIN_LENGTH' | translate: {value: minlength} }} - - - {{ 'VALIDATE.LENGTH' | translate: {value: length} }} - - - {{ patternError }} - - - {{ getCommonRuleMessage(minlength + '-' + maxlength) }} - - - {{ 'VALIDATE.GREATER_OR_EQUAL' | translate: {value: greater_or_equal} }} - - - {{ 'VALIDATE.LESS_OR_EQUAL' | translate: {value: less_or_equal} }} - - - {{ 'VALIDATE.GREATER_THAN' | translate: {value: greater_than} }} - - - {{ 'VALIDATE.LESS_THAN' | translate: {value: less_than} }} - - - {{ 'VALIDATE.IN_RANGE' | translate: {value: in_range} }} - - - {{ 'VALIDATE.EQUAL' | translate: {value: equal} }} - - - {{ 'VALIDATE.FLOAT' | translate }} - - - {{ 'VALIDATE.INTEGER' | translate }} - - `, - styles: [` - .hint-label { - color:#7c868d; - } - input.ng-invalid { - border-color: #d9534f; - } - `], - providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, CUSTOM_INPUT_VALIDATOR] -}) -export class WfmTextInputComponent implements ControlValueAccessor, Validator, OnChanges { - @Input() public disabled: boolean; - @Input() public inputType = 'string'; - @Input() public inputClass = 'form-control'; - @Input() public placeholder = ''; - @Input() public hintLabel: string; - @Input() public patternError: string; - @Input() public required = false; - @Input() public maxlength: number; - @Input() public minlength: number; - @Input() public pattern = ''; - @Input() public greater_or_equal: string; // >= - @Input() public less_or_equal: string; // <= - @Input() public greater_than: string; // > - @Input() public less_than: string; // < - @Input() public length: number; - @Input() public equal: any; - @Input() public in_range: string; - @Input() public isFocus: boolean; - @Output() public blur: any = new EventEmitter(); - @Output() public click: any = new EventEmitter(); - @ViewChild('wfInput') public wfInput: any; - - public isHintLabelShow = false; - private innerValue: any = ''; - private onTouchedCallback: () => void = noop; - private onChangeCallback: (_: any) => void = noop; - private _validators: any = {}; - public generalRules = '^(?![-_.])(?!\\d*$)[\\da-zA-Z-_.]*$'; - - constructor(public translate: TranslateService, - private elementRef: ElementRef) { - - } - - public ngOnChanges(changes: SimpleChanges): void { - this._createValidator(changes); - if (this.isFocus) { - this.elementRef.nativeElement.querySelector('input').focus(); - } - } - - // 动态创建Validator - private _createValidator(changes: SimpleChanges): void { - for (let change in changes) { - switch (change) { - case 'in_range': - if (!isNullOrUndefined(this.in_range)) { - this._validators.in_range = inRangeValidator(JSON.parse(this.in_range)); - } - break; - case 'greater_or_equal': - if (!isNullOrUndefined(this.greater_or_equal)) { - this._validators.greater_or_equal = greaterOrEqualValidator(this.greater_or_equal); - } - break; - case 'less_or_equal': - if (!isNullOrUndefined(this.less_or_equal)) { - this._validators.less_or_equal = lessOrEqualValidator(this.less_or_equal); - } - break; - case 'greater_than': - if (!isNullOrUndefined(this.greater_than)) { - this._validators.greater_than = greaterThanValidator(this.greater_than); - } - break; - case 'less_than': - if (!isNullOrUndefined(this.less_than)) { - this._validators.less_than = lessThanValidator(this.less_than); - } - break; - case 'equal': - if (!isNullOrUndefined(this.equal)) { - this._validators.equal = equalValidator(this.equal); - } - break; - case 'length': - if (!isNullOrUndefined(this.length)) { - this._validators.length = lengthValidator(this.length); - } - break; - case 'inputType': - delete this._validators.float; - delete this._validators.integer; - if (this.inputType === 'float') { - this._validators.float = floatValidator(); - } else if (this.inputType === 'integer') { - this._validators.integer = integerValidator(); - } - break; - } - } - } - - // 执行控件验证 - public validate(c: AbstractControl): ValidationErrors | null { - let errors: any; - for (let validatorName in this._validators) { - let validator = this._validators[validatorName]; - if (validator) { - let errors = validator(c); - if (errors) { - return errors; - } - } - } - return null; - } - - public onFocus(): void { - if (this.isFocus) { - this.click.emit(); - } - this.isHintLabelShow = true; - } - - public onBlur(): void { - this.blur.emit(); - this.isHintLabelShow = false; - this.onTouchedCallback(); - } - - get value(): any { - this.validate(this.wfInput.control); - return this.innerValue; - }; - - set value(value: any) { - if (value !== this.innerValue) { - this.innerValue = value; - this.onChangeCallback(value); - } - } - - writeValue(value: any) { - if (value !== this.innerValue) { - this.innerValue = value; - } - } - - registerOnChange(fn: any) { - this.onChangeCallback = fn; - } - - registerOnTouched(fn: any) { - this.onTouchedCallback = fn; - } - - public getCommonRuleMessage(length: any): string { - let message = this.translate.get('VALIDATE.FIRST_CHARACTER')['value'] + ', ' + - this.translate.get('VALIDATE.NOT_ALL_NUMBER')['value'] + ', ' + - this.translate.get('VALIDATE.CHARACTER_LIMIT', {value: '[0-9],[a-z],[A-Z],[_],[-],[.]'})['value'] + ', ' + - this.translate.get('VALIDATE.CHARACTER_LENGTH', {value: length})['value']; - return message; - } -} diff --git a/sdc-workflow-designer-ui/src/app/shared/input/wfm-text-input.module.ts b/sdc-workflow-designer-ui/src/app/shared/input/wfm-text-input.module.ts deleted file mode 100644 index 8dbfd47f..00000000 --- a/sdc-workflow-designer-ui/src/app/shared/input/wfm-text-input.module.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; -import { TranslateModule } from '@ngx-translate/core'; -import { FormsModule } from '@angular/forms'; -import { WfmTextInputComponent } from './wfm-text-input.component'; - -@NgModule({ - imports: [TranslateModule, CommonModule, FormsModule], - declarations: [WfmTextInputComponent], - exports: [WfmTextInputComponent] -}) - -export class WfmInputModule { - -} \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/app/shared/shared.module.ts b/sdc-workflow-designer-ui/src/app/shared/shared.module.ts deleted file mode 100644 index dbebe463..00000000 --- a/sdc-workflow-designer-ui/src/app/shared/shared.module.ts +++ /dev/null @@ -1,36 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import { CommonModule } from '@angular/common'; -import { NgModule } from '@angular/core'; -import { FormsModule, ReactiveFormsModule } from '@angular/forms'; -import { HttpModule } from '@angular/http'; -import { RouterModule } from '@angular/router'; -import { RadioButtonModule } from 'primeng/primeng'; -import { TreeModule } from 'primeng/primeng'; - -const module = [ - CommonModule, - FormsModule, - ReactiveFormsModule, - HttpModule, - RouterModule, - RadioButtonModule, - TreeModule -]; - -@NgModule({ - imports: module, - exports: module, -}) - -export class SharedModule { -} diff --git a/sdc-workflow-designer-ui/src/app/util/http.service.ts b/sdc-workflow-designer-ui/src/app/util/http.service.ts deleted file mode 100644 index f754d38e..00000000 --- a/sdc-workflow-designer-ui/src/app/util/http.service.ts +++ /dev/null @@ -1,67 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import { Injectable } from '@angular/core'; -import { Http, RequestOptionsArgs } from '@angular/http'; -import { Observable } from 'rxjs/Rx'; -import './rxjs-operators'; - -@Injectable() -export class HttpService { - constructor(private http: Http) { } - - public get(uri: string, options?: RequestOptionsArgs): Observable { - return this.getHttp('get', uri, options); - } - - public post(uri: string, data: any, options?: RequestOptionsArgs): Observable { - return this.getHttp('post', uri, data); - } - - public put(uri: string, data: any, options?: RequestOptionsArgs): Observable { - return this.getHttp('put', uri, data, options); - } - - public delete(uri: string): Observable { - return this.getHttp('delete', uri); - } - - public getHttp(type: string, uri: string, data?: any, options?: RequestOptionsArgs): Observable { - if (data) { - return this.http[type](uri, data, options) - .map(response => { - if (response.text() === '') { - return {}; - } - - return response.json(); - }) - .catch(this.handleError); - } else { - return this.http[type](uri, options) - .map(response => response.json()) - .catch(this.handleError); - } - } - - private handleError(error: any) { - let errMsg = ''; - try { - errMsg = error.json().message; - if (!errMsg) { - errMsg = error.json().msg; - } - } catch (e) { - errMsg = error.status ? `${error.status}-${error.statusText}` : 'Server error'; - } - return Observable.throw(errMsg); - } -} diff --git a/sdc-workflow-designer-ui/src/app/util/rxjs-operators.ts b/sdc-workflow-designer-ui/src/app/util/rxjs-operators.ts deleted file mode 100644 index 1a8f11c0..00000000 --- a/sdc-workflow-designer-ui/src/app/util/rxjs-operators.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -import 'rxjs/add/observable/forkJoin'; -import 'rxjs/add/observable/throw'; -import 'rxjs/add/operator/catch'; -import 'rxjs/add/operator/debounceTime'; -import 'rxjs/add/operator/distinctUntilChanged'; -import 'rxjs/add/operator/map'; -import 'rxjs/add/operator/switchMap'; -import 'rxjs/add/operator/toPromise'; diff --git a/sdc-workflow-designer-ui/src/app/util/workflow-util.ts b/sdc-workflow-designer-ui/src/app/util/workflow-util.ts deleted file mode 100644 index 802cba9f..00000000 --- a/sdc-workflow-designer-ui/src/app/util/workflow-util.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * Copyright (c) 2017-2018 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ -export class WorkflowUtil { - public static deepClone(source: any) { - if (source === null || typeof source !== 'object') { - return source; - } else { - if (source instanceof Array) { - const target = []; - source.forEach(item => target.push(WorkflowUtil.deepClone(item))); - return target; - } else { - const target = {}; - for (const key in source) { - target[key] = WorkflowUtil.deepClone(source[key]); - } - return target; - } - } - } - - public static GetIconFullPath(iconName: string): string { - if (iconName && '' != iconName) { - if (-1 == iconName.indexOf('.')) { - return 'assets/images/' + iconName + '.svg'; - } else { - return 'assets/images/' + iconName; - } - } else { - return 'assets/images/default.svg'; - } - } - -} diff --git a/sdc-workflow-designer-ui/src/assets/.gitkeep b/sdc-workflow-designer-ui/src/assets/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/sdc-workflow-designer-ui/src/assets/global-setting.json b/sdc-workflow-designer-ui/src/assets/global-setting.json deleted file mode 100644 index 6ff2b7ba..00000000 --- a/sdc-workflow-designer-ui/src/assets/global-setting.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "supportRestNode": false, - "supportToscaNode": false, - "supoortToscaProperties": true -} diff --git a/sdc-workflow-designer-ui/src/assets/i18n/en.json b/sdc-workflow-designer-ui/src/assets/i18n/en.json deleted file mode 100644 index 45034e5e..00000000 --- a/sdc-workflow-designer-ui/src/assets/i18n/en.json +++ /dev/null @@ -1,100 +0,0 @@ -{ - "WORKFLOW": { - "UNAUTHORIZED": "Unauthorized!", - "BPMN_EVENT": "Event", - "BPMN_TASK": "Task", - "BPMN_GETWAY": "Getway", - "BPMN_STRUCTURAL": "Structural", - "SETTING": "Setting", - "SAVE": "Save", - "TEST": "Test", - "BACK": "Back", - "CONFIRM": "Confirm", - "CONFIRM_SAVE1": "Save data and back?", - "CONFIRM_SAVE2": "Unsaved data will lose when click 'back'.", - "CONFIRM_SAVE_BACK": "Save and back", - "CONFIRM_BACK": "Back", - "CREATE": "Create", - "DELETE": "Delete", - "START_EVENT": "Start", - "PROCESS_VARIABLE": "Process Variable", - "PROCESS_VARIABLE_DEFAULT": "Default Value", - "PROCESS_VARIABLE_OPERATION": "Operation", - "PROCESS_VARIABLE_CREATE": "Create", - "PROCESS_VARIABLE_DELETE": "Delete", - "END_EVENT": "End", - "ERROR_START_EVENT": "Error Start", - "ERROR_END_EVENT": "Error End", - "TOSCA_TASK": "TOSCA", - "REST_TASK": "REST", - "SCRIPT_TASK": "SCRIPT", - "TIMER_EVENT": "Timer", - "EXCLUSIVE_GATEWAY": "Exclusive", - "PARALLEL_GATEWAY": "Parallel", - "SUB_PROCESS": "SubProcess", - "NODE_NAME": "Name", - "NODE_TYPE": "Type", - "TOSCA_NODE": "Node", - "TOSCA_INTERFACE": "Interface", - "TOSCA_OPERATION": "Operation", - "REST_SERVICE": "Service", - "REST_PATH": "Path", - "REST_METHOD": "Method", - "TIMER_TYPE": "Type", - "TIMER_DURATION": "Duration", - "TIMER_DATE": "Date", - "TIMER_CYCLE": "Cycle", - "TIMER_YEAR": "Year", - "TIMER_MONTH": "Month", - "TIMER_DAY": "Day", - "TIMER_HOUR": "Hour", - "TIMER_MINUTE": "Minute", - "TIMER_SECOND": "Second", - "TIMER_CYCLE_INDEX": "Cycle Index", - "CONNECTION_NAME": "Name", - "CONNECTION_SOURCE": "Source", - "CONNECTION_TARGET": "Target", - "CONNECTION_CONDITION": "Condition", - "SCRIPT_FORMAT": "Script Format", - "SCRIPT": "Script", - "SERVICE_CLASS": "Class", - "SERVICE_INPUT": "Input Parameters", - "SERVICE_OUTPUT": "Output Parameters", - "REST_INPUT_QUERY": "Query Parameters", - "REST_INPUT_HEADER": "Header Parameters", - "REST_INPUT_PATH": "Path Parameters", - "REST_INPUT_FORMDATA": "Formdata Parameters", - "REST_INPUT_BODY": "Body Parameters", - "REST_OUTPUT": "Output Parameters", - "MSG": { - "LOAD_FAIL": "Load data fail.", - "SWAGGER_NOT_EXISTS": "Swagger did not exist, please check the 'swagger.json' or service status.", - "SAVE_FAIL": "Save data fail.", - "SAVE_SUCCESS": "Save successful.", - "VARIABLE_EMPTY": "Variable Name should not be empty.", - "VARIABLE_SAME": "Variable Name should not be same.", - "PROCESS_VARIABLE_EMPTY": "Process Variable Name should not be empty.", - "PROCESS_VARIABLE_SAME": "Process Variable Name should not be same.", - "NODE_ID_SAME": "The node {{value}} is already exist." - } - }, - "VALIDATE": { - "REQUIRED": "Value can't be empty", - "MAX_LENGTH": "The length of the value can't be greater than {{value}}", - "MIN_LENGTH": "The length of the value can't be less than {{value}}", - "LENGTH": "The length of the value must equal to {{value}}", - "IN_RANGE": "Value must be in range {{value}}", - "INTEGER": "Value must be an integer", - "FLOAT": "Value must be a float", - "PATTERN": "Value must match the regular expression {{value}}", - "GREATER_OR_EQUAL": "Value must be greater than or equal to {{value}}", - "LESS_OR_EQUAL": "Value must be less than or equal to {{value}}", - "GREATER_THAN": "Value must be greater than {{value}}", - "LESS_THAN": "Value must be less than {{value}}", - "EQUAL": "Value must equal to {{value}}", - "CHARACTER_LIMIT": "Only the following characters: {{value}}", - "CHARACTER_LENGTH": "Length {{value}}", - "NOT_ALL_NUMBER": "Not all number", - "FIRST_CHARACTER": "Begin with the letters or numbers" - } -} diff --git a/sdc-workflow-designer-ui/src/assets/i18n/zh-CN.json b/sdc-workflow-designer-ui/src/assets/i18n/zh-CN.json deleted file mode 100644 index b93d05d3..00000000 --- a/sdc-workflow-designer-ui/src/assets/i18n/zh-CN.json +++ /dev/null @@ -1,100 +0,0 @@ -{ - "WORKFLOW": { - "UNAUTHORIZED": "未授权!", - "BPMN_EVENT": "事件", - "BPMN_TASK": "任务", - "BPMN_GETWAY": "网关", - "BPMN_STRUCTURAL": "结构", - "SETTING": "设置", - "SAVE": "保存", - "TEST": "测试", - "BACK": "返回", - "CONFIRM": "确认", - "CONFIRM_SAVE1": "保存并返回?", - "CONFIRM_SAVE2": "返回后,未保存的数据将无法恢复。", - "CONFIRM_SAVE_BACK": "保存并返回", - "CONFIRM_BACK": "返回", - "CREATE": "添加", - "DELETE": "删除", - "START_EVENT": "开始", - "PROCESS_VARIABLE": "流程变量", - "PROCESS_VARIABLE_DEFAULT": "默认值", - "PROCESS_VARIABLE_OPERATION": "操作", - "PROCESS_VARIABLE_CREATE": "添加", - "PROCESS_VARIABLE_DELETE": "删除", - "END_EVENT": "结束", - "ERROR_START_EVENT": "异常开始", - "ERROR_END_EVENT": "异常结束", - "TOSCA_TASK": "TOSCA", - "REST_TASK": "REST", - "SCRIPT_TASK": "脚本", - "TIMER_EVENT": "定时器", - "EXCLUSIVE_GATEWAY": "唯一条件", - "PARALLEL_GATEWAY": "并行条件", - "SUB_PROCESS": "子流程", - "NODE_NAME": "名称", - "NODE_TYPE": "类型", - "TOSCA_NODE": "节点", - "TOSCA_INTERFACE": "接口", - "TOSCA_OPERATION": "方法", - "REST_SERVICE": "服务", - "REST_PATH": "路径", - "REST_METHOD": "方法", - "TIMER_TYPE": "类型", - "TIMER_DURATION": "间隔", - "TIMER_DATE": "日期", - "TIMER_CYCLE": "周期", - "TIMER_YEAR": "年", - "TIMER_MONTH": "月", - "TIMER_DAY": "日", - "TIMER_HOUR": "时", - "TIMER_MINUTE": "分", - "TIMER_SECOND": "秒", - "TIMER_CYCLE_INDEX": "循环次数", - "CONNECTION_NAME": "名称", - "CONNECTION_SOURCE": "源", - "CONNECTION_TARGET": "目标", - "CONNECTION_CONDITION": "条件", - "SCRIPT_FORMAT": "脚本类型", - "SCRIPT": "脚本", - "SERVICE_CLASS": "类", - "SERVICE_INPUT": "输入参数", - "SERVICE_OUTPUT": "输出参数", - "REST_INPUT_QUERY": "Query参数", - "REST_INPUT_HEADER": "Header参数", - "REST_INPUT_PATH": "Path参数", - "REST_INPUT_FORMDATA": "Formdata参数", - "REST_INPUT_BODY": "Body参数", - "REST_OUTPUT": "输出参数", - "MSG": { - "LOAD_FAIL": "加载失败。", - "SWAGGER_NOT_EXISTS": "Swagger信息不存在请检查'swagger.json'或服务状态。", - "SAVE_FAIL": "保存失败。", - "SAVE_SUCCESS": "保存成功。", - "VARIABLE_EMPTY": "变量名不能为空。", - "VARIABLE_SAME": "变量名不能相同。", - "PROCESS_VARIABLE_EMPTY": "流程变量名不能为空。", - "PROCESS_VARIABLE_SAME": "流程变量名不能相同。", - "NODE_ID_SAME": "节点{{value}}已存在" - } - }, - "VALIDATE": { - "REQUIRED": "值不能为空", - "MAX_LENGTH": "值长度不能超过{{value}}", - "MIN_LENGTH": "值长度不能少于{{value}}", - "LENGTH": "值长度必须等于{{value}}", - "IN_RANGE": "值必须在范围{{value}}内", - "INTEGER": "值必须是整数", - "FLOAT": "值必须是浮点数", - "PATTERN": "值必须符合正则表达式{{value}}", - "GREATER_OR_EQUAL": "值必须大于等于{{value}}", - "LESS_OR_EQUAL": "值必须小于等于{{value}}", - "GREATER_THAN": "值必须大于{{value}}", - "LESS_THAN": "值必须小于{{value}}", - "EQUAL": "值必须等于{{value}}", - "CHARACTER_LIMIT": "仅限下列字符:{{value}}", - "CHARACTER_LENGTH": "长度{{value}}", - "NOT_ALL_NUMBER": "不能全部为数字", - "FIRST_CHARACTER": "以字母或数字开始" - } -} diff --git a/sdc-workflow-designer-ui/src/assets/images/apds_rest.svg b/sdc-workflow-designer-ui/src/assets/images/apds_rest.svg deleted file mode 100644 index 195dda32..00000000 --- a/sdc-workflow-designer-ui/src/assets/images/apds_rest.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/assets/images/apds_script.svg b/sdc-workflow-designer-ui/src/assets/images/apds_script.svg deleted file mode 100644 index fadbef90..00000000 --- a/sdc-workflow-designer-ui/src/assets/images/apds_script.svg +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/assets/images/apds_service.svg b/sdc-workflow-designer-ui/src/assets/images/apds_service.svg deleted file mode 100644 index dbf8261a..00000000 --- a/sdc-workflow-designer-ui/src/assets/images/apds_service.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/assets/images/default.svg b/sdc-workflow-designer-ui/src/assets/images/default.svg deleted file mode 100644 index cb8aa465..00000000 --- a/sdc-workflow-designer-ui/src/assets/images/default.svg +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/assets/images/toscaNodeManagementTask.svg b/sdc-workflow-designer-ui/src/assets/images/toscaNodeManagementTask.svg deleted file mode 100644 index 9c173576..00000000 --- a/sdc-workflow-designer-ui/src/assets/images/toscaNodeManagementTask.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/sdc-workflow-designer-ui/src/environments/environment.prod.ts b/sdc-workflow-designer-ui/src/environments/environment.prod.ts deleted file mode 100644 index 09c90008..00000000 --- a/sdc-workflow-designer-ui/src/environments/environment.prod.ts +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -export const environment = { - production: true -}; diff --git a/sdc-workflow-designer-ui/src/environments/environment.ts b/sdc-workflow-designer-ui/src/environments/environment.ts deleted file mode 100644 index 981f0422..00000000 --- a/sdc-workflow-designer-ui/src/environments/environment.ts +++ /dev/null @@ -1,20 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -// The file contents for the current environment will overwrite these during build. -// The build system defaults to the dev environment which uses `environment.ts`, but if you do -// `ng build --env=prod` then `environment.prod.ts` will be used instead. -// The list of which env maps to which file can be found in `.angular-cli.json`. - -export const environment = { - production: false -}; diff --git a/sdc-workflow-designer-ui/src/index.html b/sdc-workflow-designer-ui/src/index.html deleted file mode 100644 index 650ed999..00000000 --- a/sdc-workflow-designer-ui/src/index.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - Workflow Modeler - - - - - - - - - - - diff --git a/sdc-workflow-designer-ui/src/main.ts b/sdc-workflow-designer-ui/src/main.ts deleted file mode 100644 index 8613ade7..00000000 --- a/sdc-workflow-designer-ui/src/main.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -import { enableProdMode } from '@angular/core'; -import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; - -import { AppModule } from './app/app.module'; -import { environment } from './environments/environment'; - -if (environment.production) { - enableProdMode(); -} - -platformBrowserDynamic().bootstrapModule(AppModule); diff --git a/sdc-workflow-designer-ui/src/polyfills.ts b/sdc-workflow-designer-ui/src/polyfills.ts deleted file mode 100644 index 510d3058..00000000 --- a/sdc-workflow-designer-ui/src/polyfills.ts +++ /dev/null @@ -1,84 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -/** - * This file includes polyfills needed by Angular and is loaded before the app. - * You can add your own extra polyfills to this file. - * - * This file is divided into 2 sections: - * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. - * 2. Application imports. Files imported after ZoneJS that should be loaded before your main - * file. - * - * The current setup is for so-called "evergreen" browsers; the last versions of browsers that - * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera), - * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile. - * - * Learn more in https://angular.io/docs/ts/latest/guide/browser-support.html - */ - -/*************************************************************************************************** - * BROWSER POLYFILLS - */ - -/** IE9, IE10 and IE11 requires all of the following polyfills. **/ -// import 'core-js/es6/symbol'; -// import 'core-js/es6/object'; -// import 'core-js/es6/function'; -// import 'core-js/es6/parse-int'; -// import 'core-js/es6/parse-float'; -// import 'core-js/es6/number'; -// import 'core-js/es6/math'; -// import 'core-js/es6/string'; -// import 'core-js/es6/date'; -// import 'core-js/es6/array'; -// import 'core-js/es6/regexp'; -// import 'core-js/es6/map'; -// import 'core-js/es6/weak-map'; -// import 'core-js/es6/set'; - -/** IE10 and IE11 requires the following for NgClass support on SVG elements */ -// import 'classlist.js'; // Run `npm install --save classlist.js`. - -/** Evergreen browsers require these. **/ -import 'core-js/es6/reflect'; -import 'core-js/es7/reflect'; - - -/** - * Required to support Web Animations `@angular/animation`. - * Needed for: All but Chrome, Firefox and Opera. http://caniuse.com/#feat=web-animation - **/ -// import 'web-animations-js'; // Run `npm install --save web-animations-js`. - - - -/*************************************************************************************************** - * Zone JS is required by Angular itself. - */ -import 'zone.js/dist/zone'; // Included with Angular CLI. - - - -/*************************************************************************************************** - * APPLICATION IMPORTS - */ - -/** - * Date, currency, decimal and percent pipes. - * Needed for: All but Chrome, Firefox, Edge, IE11 and Safari 10 - */ -// import 'intl'; // Run `npm install --save intl`. -/** - * Need to import at least one locale-data with intl. - */ -// import 'intl/locale-data/jsonp/en'; diff --git a/sdc-workflow-designer-ui/src/styles.css b/sdc-workflow-designer-ui/src/styles.css deleted file mode 100644 index 5d52b5c5..00000000 --- a/sdc-workflow-designer-ui/src/styles.css +++ /dev/null @@ -1,164 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -body, html { - height: 100%; - font-size: 14px; - font-family: PingFang SC,Hiragino Sans GB,Microsoft YaHei,Segoe UI,Helvetica,Arial,san-serif !important; -} - -.plx-btn{ - min-width: 20px; -} - -label{ - height: 32px; - line-height: 32px; - margin: 0; -} - -select{ - height: 32px; - line-height: 32px; - border: 1px solid #d9d9d9; - border-radius: 3px; -} - -select:focus{ - border-color: #00abff; -} - -.card{ - border: none; -} - -.card-header{ - background-color: transparent; - padding: 10px; - border-bottom: none; -} - -.card-body{ - padding: 10px 10px 0 10px; -} - -.dropdown-menu{ - display: block !important; - /* font-size: 12px; */ -} - -.caret { - border-top: 6px dashed; - border-right: 3px solid transparent; - border-left: 3px solid transparent; -} - -.selected-container-text{ - background-color: #fff; - padding-left: 14px !important; - line-height: 20px; -} - -.selected-container-text:hover{ - background-color: #fff; - cursor: default; - border-color: #ddd; -} - -.selected-item-text{ - color: #333; - margin: 0 !important; - font-size: 12px !important; -} - -textarea.form-control { - height: auto; -} - -body .ui-radiobutton .ui-radiobutton-box .ui-radiobutton-icon{ - top: 1px; -} - -.ui-fluid .ui-tree{ - width: fit-content; - min-width: 100%; -} - -.ui-tree-toggler{ - height: 32px; - line-height: 32px; - margin-bottom: 1rem; -} - -.ui-tree-container{ - overflow: auto; -} - -.ui-widget-content{ - background: none; -} - - -.dropdown{ - display: inline-block; - vertical-align: bottom; -} - -.selected-container-text{ - width: 160px; - height: 32px; - padding-top: 5px; - padding-bottom: 5px; -} - -/*IE滚动条设置*/ -body{ - /*三角箭头的颜色*/ - scrollbar-arrow-color: #00abff; - /*滚动条滑块按钮的颜色*/ - scrollbar-face-color: #00abff; - /*滚动条整体颜色*/ - scrollbar-highlight-color: transparent; - /*滚动条阴影*/ - scrollbar-shadow-color: #000; - /*滚动条轨道颜色*/ - scrollbar-track-color: transparent; -} - -/*Chrome滚动条设置*/ -/*滚动条整体部分,必须要设置*/ -::-webkit-scrollbar -{ - width: 6px; - height: 6px; - background-color: transparent; - margin-right: 3px; -} - -/*滚动条的轨道*/ -::-webkit-scrollbar-track -{ - border-radius: 3px; - background-color: transparent; -} - -/*滚动条的滑块按钮*/ -::-webkit-scrollbar-thumb{ - border-radius: 3px; - background-color: #00abff; -} - -/*滚动条的上下两端的按钮*/ -::-webkit-scrollbar-button{ - width: 0; - height: 0; -} diff --git a/sdc-workflow-designer-ui/src/test.ts b/sdc-workflow-designer-ui/src/test.ts deleted file mode 100644 index 1b777507..00000000 --- a/sdc-workflow-designer-ui/src/test.ts +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -// This file is required by karma.conf.js and loads recursively all the .spec and framework files - -import 'zone.js/dist/long-stack-trace-zone'; -import 'zone.js/dist/proxy.js'; -import 'zone.js/dist/sync-test'; -import 'zone.js/dist/jasmine-patch'; -import 'zone.js/dist/async-test'; -import 'zone.js/dist/fake-async-test'; -import { getTestBed } from '@angular/core/testing'; -import { - BrowserDynamicTestingModule, - platformBrowserDynamicTesting -} from '@angular/platform-browser-dynamic/testing'; - -// Unfortunately there's no typing for the `__karma__` variable. Just declare it as any. -declare const __karma__: any; -declare const require: any; - -// Prevent Karma from running prematurely. -__karma__.loaded = function () {}; - -// First, initialize the Angular testing environment. -getTestBed().initTestEnvironment( - BrowserDynamicTestingModule, - platformBrowserDynamicTesting() -); -// Then we find all the tests. -const context = require.context('./', true, /\.spec\.ts$/); -// And load the modules. -context.keys().map(context); -// Finally, start Karma to run the tests. -__karma__.start(); diff --git a/sdc-workflow-designer-ui/src/tsconfig.app.json b/sdc-workflow-designer-ui/src/tsconfig.app.json deleted file mode 100644 index 39ba8dba..00000000 --- a/sdc-workflow-designer-ui/src/tsconfig.app.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "extends": "../tsconfig.json", - "compilerOptions": { - "outDir": "../out-tsc/app", - "baseUrl": "./", - "module": "es2015", - "types": [] - }, - "exclude": [ - "test.ts", - "**/*.spec.ts" - ] -} diff --git a/sdc-workflow-designer-ui/src/tsconfig.spec.json b/sdc-workflow-designer-ui/src/tsconfig.spec.json deleted file mode 100644 index 63d89ff2..00000000 --- a/sdc-workflow-designer-ui/src/tsconfig.spec.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "extends": "../tsconfig.json", - "compilerOptions": { - "outDir": "../out-tsc/spec", - "baseUrl": "./", - "module": "commonjs", - "target": "es5", - "types": [ - "jasmine", - "node" - ] - }, - "files": [ - "test.ts" - ], - "include": [ - "**/*.spec.ts", - "**/*.d.ts" - ] -} diff --git a/sdc-workflow-designer-ui/src/typings.d.ts b/sdc-workflow-designer-ui/src/typings.d.ts deleted file mode 100644 index d67305af..00000000 --- a/sdc-workflow-designer-ui/src/typings.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Copyright (c) 2017 ZTE Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and the Apache License 2.0 which both accompany this distribution, - * and are available at http://www.eclipse.org/legal/epl-v10.html - * and http://www.apache.org/licenses/LICENSE-2.0 - * - * Contributors: - * ZTE - initial API and implementation and/or initial documentation - */ - -/* SystemJS module definition */ -declare var module: NodeModule; -interface NodeModule { - id: string; -} diff --git a/sdc-workflow-designer-ui/tsconfig.json b/sdc-workflow-designer-ui/tsconfig.json deleted file mode 100644 index a6c016bf..00000000 --- a/sdc-workflow-designer-ui/tsconfig.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "compileOnSave": false, - "compilerOptions": { - "outDir": "./dist/out-tsc", - "sourceMap": true, - "declaration": false, - "moduleResolution": "node", - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - "target": "es5", - "typeRoots": [ - "node_modules/@types" - ], - "lib": [ - "es2017", - "dom" - ] - } -} diff --git a/sdc-workflow-designer-ui/tslint.json b/sdc-workflow-designer-ui/tslint.json deleted file mode 100644 index 0db5751c..00000000 --- a/sdc-workflow-designer-ui/tslint.json +++ /dev/null @@ -1,142 +0,0 @@ -{ - "rulesDirectory": [ - "node_modules/codelyzer" - ], - "rules": { - "arrow-return-shorthand": true, - "callable-types": true, - "class-name": true, - "comment-format": [ - true, - "check-space" - ], - "curly": true, - "eofline": true, - "forin": true, - "import-blacklist": [ - true, - "rxjs" - ], - "import-spacing": true, - "indent": [ - true, - "spaces" - ], - "interface-over-type-literal": true, - "label-position": true, - "max-line-length": [ - true, - 140 - ], - "member-access": false, - "member-ordering": [ - true, - { - "order": [ - "static-field", - "instance-field", - "static-method", - "instance-method" - ] - } - ], - "no-arg": true, - "no-bitwise": true, - "no-console": [ - true, - "debug", - "info", - "time", - "timeEnd", - "trace" - ], - "no-construct": true, - "no-debugger": true, - "no-duplicate-super": true, - "no-empty": false, - "no-empty-interface": true, - "no-eval": true, - "no-inferrable-types": [ - true, - "ignore-params" - ], - "no-misused-new": true, - "no-non-null-assertion": true, - "no-shadowed-variable": true, - "no-string-literal": false, - "no-string-throw": true, - "no-switch-case-fall-through": true, - "no-trailing-whitespace": true, - "no-unnecessary-initializer": true, - "no-unused-expression": true, - "no-use-before-declare": true, - "no-var-keyword": true, - "object-literal-sort-keys": false, - "one-line": [ - true, - "check-open-brace", - "check-catch", - "check-else", - "check-whitespace" - ], - "prefer-const": true, - "quotemark": [ - true, - "single" - ], - "radix": true, - "semicolon": [ - true, - "always" - ], - "triple-equals": [ - true, - "allow-null-check" - ], - "typedef-whitespace": [ - true, - { - "call-signature": "nospace", - "index-signature": "nospace", - "parameter": "nospace", - "property-declaration": "nospace", - "variable-declaration": "nospace" - } - ], - "typeof-compare": true, - "unified-signatures": true, - "variable-name": false, - "whitespace": [ - true, - "check-branch", - "check-decl", - "check-operator", - "check-separator", - "check-type" - ], - "directive-selector": [ - true, - "attribute", - "app", - "camelCase" - ], - "component-selector": [ - true, - "element", - "app", - "kebab-case" - ], - "use-input-property-decorator": true, - "use-output-property-decorator": true, - "use-host-property-decorator": true, - "no-input-rename": true, - "no-output-rename": true, - "use-life-cycle-interface": true, - "use-pipe-transform-interface": true, - "component-class-suffix": true, - "directive-class-suffix": true, - "no-access-missing-member": true, - "templates-use-public": true, - "invoke-injectable": true - } -} -- cgit 1.2.3-korg