From 2cfdbc9becea1f9f26db1542a4cc4c7198d2225e Mon Sep 17 00:00:00 2001 From: Henri Sara Date: Thu, 28 Jul 2011 13:39:15 +0000 Subject: [PATCH] #7053 Chameleon theme integration, first phase: basic theme in Vaadin and JAR, compiled into a single styles.css svn changeset:20007/svn branch:6.7 --- .../VAADIN/themes/chameleon/common/common.css | 165 ++++++++ .../components/accordion/accordion.css | 80 ++++ .../chameleon/components/button/button.css | 288 ++++++++++++++ .../chameleon/components/components.css | 17 + .../components/datefield/datefield.css | 269 +++++++++++++ .../chameleon/components/label/label.css | 127 ++++++ .../chameleon/components/menubar/menubar.css | 23 ++ .../components/notification/notification.css | 63 +++ .../chameleon/components/panel/panel.css | 124 ++++++ .../components/popupview/popupview.css | 3 + .../progressindicator/progressindicator.css | 117 ++++++ .../chameleon/components/selects/selects.css | 176 +++++++++ .../chameleon/components/slider/slider.css | 65 ++++ .../components/splitpanel/splitpanel.css | 85 +++++ .../chameleon/components/table/table.css | 154 ++++++++ .../components/tabsheet/tabsheet.css | 178 +++++++++ .../components/textfield/textfield.css | 120 ++++++ .../themes/chameleon/components/tree/tree.css | 18 + .../chameleon/components/window/window.css | 62 +++ .../themes/chameleon/compound/compound.css | 3 + .../chameleon/compound/segment/segment.css | 43 +++ .../compound/sidebar-menu/sidebar-menu.css | 37 ++ .../chameleon/compound/toolbar/toolbar.css | 25 ++ .../VAADIN/themes/chameleon/favicon.ico | Bin 0 -> 1150 bytes .../VAADIN/themes/chameleon/img/app-bg.png | Bin 0 -> 212 bytes .../themes/chameleon/img/close-btn-ie6.png | Bin 0 -> 240 bytes .../VAADIN/themes/chameleon/img/close-btn.png | Bin 0 -> 1364 bytes .../themes/chameleon/img/date-btn-big.png | Bin 0 -> 891 bytes .../themes/chameleon/img/date-btn-ie6.png | Bin 0 -> 341 bytes .../VAADIN/themes/chameleon/img/date-btn.png | Bin 0 -> 693 bytes .../themes/chameleon/img/error-close.png | Bin 0 -> 483 bytes .../themes/chameleon/img/error-indicator.png | Bin 0 -> 442 bytes .../themes/chameleon/img/grad-dark-bottom.png | Bin 0 -> 118 bytes .../chameleon/img/grad-dark-bottom2.png | Bin 0 -> 123 bytes .../themes/chameleon/img/grad-dark-top2.png | Bin 0 -> 128 bytes .../themes/chameleon/img/grad-light-left.png | Bin 0 -> 143 bytes .../themes/chameleon/img/grad-light-top.png | Bin 0 -> 150 bytes .../themes/chameleon/img/grad-light-top2.png | Bin 0 -> 148 bytes .../chameleon/img/indeterminate-progress.gif | Bin 0 -> 9571 bytes .../VAADIN/themes/chameleon/img/input-bg.png | Bin 0 -> 124 bytes .../chameleon/img/label-error-icon-big.png | Bin 0 -> 1526 bytes .../themes/chameleon/img/label-error-icon.png | Bin 0 -> 928 bytes .../chameleon/img/label-warning-icon-big.png | Bin 0 -> 1530 bytes .../chameleon/img/label-warning-icon.png | Bin 0 -> 908 bytes .../themes/chameleon/img/magnifier-big.png | Bin 0 -> 448 bytes .../VAADIN/themes/chameleon/img/magnifier.png | Bin 0 -> 337 bytes .../VAADIN/themes/chameleon/img/resize.png | Bin 0 -> 287 bytes .../themes/chameleon/img/split-handle-ie6.png | Bin 0 -> 174 bytes .../themes/chameleon/img/split-handle.png | Bin 0 -> 215 bytes .../themes/chameleon/img/tab-arrows-ie6.png | Bin 0 -> 314 bytes .../themes/chameleon/img/tab-arrows.png | Bin 0 -> 291 bytes build/build.xml | 4 +- .../buildhelpers/CompileDefaultTheme.java | 4 + src/com/vaadin/ui/themes/ChameleonTheme.java | 361 ++++++++++++++++++ 54 files changed, 2609 insertions(+), 2 deletions(-) create mode 100644 WebContent/VAADIN/themes/chameleon/common/common.css create mode 100644 WebContent/VAADIN/themes/chameleon/components/accordion/accordion.css create mode 100644 WebContent/VAADIN/themes/chameleon/components/button/button.css create mode 100644 WebContent/VAADIN/themes/chameleon/components/components.css create mode 100644 WebContent/VAADIN/themes/chameleon/components/datefield/datefield.css create mode 100644 WebContent/VAADIN/themes/chameleon/components/label/label.css create mode 100644 WebContent/VAADIN/themes/chameleon/components/menubar/menubar.css create mode 100644 WebContent/VAADIN/themes/chameleon/components/notification/notification.css create mode 100644 WebContent/VAADIN/themes/chameleon/components/panel/panel.css create mode 100644 WebContent/VAADIN/themes/chameleon/components/popupview/popupview.css create mode 100644 WebContent/VAADIN/themes/chameleon/components/progressindicator/progressindicator.css create mode 100644 WebContent/VAADIN/themes/chameleon/components/selects/selects.css create mode 100644 WebContent/VAADIN/themes/chameleon/components/slider/slider.css create mode 100644 WebContent/VAADIN/themes/chameleon/components/splitpanel/splitpanel.css create mode 100644 WebContent/VAADIN/themes/chameleon/components/table/table.css create mode 100644 WebContent/VAADIN/themes/chameleon/components/tabsheet/tabsheet.css create mode 100644 WebContent/VAADIN/themes/chameleon/components/textfield/textfield.css create mode 100644 WebContent/VAADIN/themes/chameleon/components/tree/tree.css create mode 100644 WebContent/VAADIN/themes/chameleon/components/window/window.css create mode 100644 WebContent/VAADIN/themes/chameleon/compound/compound.css create mode 100644 WebContent/VAADIN/themes/chameleon/compound/segment/segment.css create mode 100644 WebContent/VAADIN/themes/chameleon/compound/sidebar-menu/sidebar-menu.css create mode 100644 WebContent/VAADIN/themes/chameleon/compound/toolbar/toolbar.css create mode 100644 WebContent/VAADIN/themes/chameleon/favicon.ico create mode 100644 WebContent/VAADIN/themes/chameleon/img/app-bg.png create mode 100644 WebContent/VAADIN/themes/chameleon/img/close-btn-ie6.png create mode 100644 WebContent/VAADIN/themes/chameleon/img/close-btn.png create mode 100644 WebContent/VAADIN/themes/chameleon/img/date-btn-big.png create mode 100644 WebContent/VAADIN/themes/chameleon/img/date-btn-ie6.png create mode 100644 WebContent/VAADIN/themes/chameleon/img/date-btn.png create mode 100644 WebContent/VAADIN/themes/chameleon/img/error-close.png create mode 100644 WebContent/VAADIN/themes/chameleon/img/error-indicator.png create mode 100644 WebContent/VAADIN/themes/chameleon/img/grad-dark-bottom.png create mode 100644 WebContent/VAADIN/themes/chameleon/img/grad-dark-bottom2.png create mode 100644 WebContent/VAADIN/themes/chameleon/img/grad-dark-top2.png create mode 100644 WebContent/VAADIN/themes/chameleon/img/grad-light-left.png create mode 100644 WebContent/VAADIN/themes/chameleon/img/grad-light-top.png create mode 100644 WebContent/VAADIN/themes/chameleon/img/grad-light-top2.png create mode 100644 WebContent/VAADIN/themes/chameleon/img/indeterminate-progress.gif create mode 100644 WebContent/VAADIN/themes/chameleon/img/input-bg.png create mode 100644 WebContent/VAADIN/themes/chameleon/img/label-error-icon-big.png create mode 100644 WebContent/VAADIN/themes/chameleon/img/label-error-icon.png create mode 100644 WebContent/VAADIN/themes/chameleon/img/label-warning-icon-big.png create mode 100644 WebContent/VAADIN/themes/chameleon/img/label-warning-icon.png create mode 100644 WebContent/VAADIN/themes/chameleon/img/magnifier-big.png create mode 100644 WebContent/VAADIN/themes/chameleon/img/magnifier.png create mode 100644 WebContent/VAADIN/themes/chameleon/img/resize.png create mode 100644 WebContent/VAADIN/themes/chameleon/img/split-handle-ie6.png create mode 100644 WebContent/VAADIN/themes/chameleon/img/split-handle.png create mode 100644 WebContent/VAADIN/themes/chameleon/img/tab-arrows-ie6.png create mode 100644 WebContent/VAADIN/themes/chameleon/img/tab-arrows.png create mode 100644 src/com/vaadin/ui/themes/ChameleonTheme.java diff --git a/WebContent/VAADIN/themes/chameleon/common/common.css b/WebContent/VAADIN/themes/chameleon/common/common.css new file mode 100644 index 0000000000..fba860110a --- /dev/null +++ b/WebContent/VAADIN/themes/chameleon/common/common.css @@ -0,0 +1,165 @@ +@import "../../base/styles.css"; + +/******************************************************************************* + * App background & tooltip + ******************************************************************************/ + +.v-app { + background: transparent; + overflow: hidden; + } + +.v-view { + margin-top: 0; + border-top: none; + } + +.v-tooltip { + background: #fdfdee; + border: 1px solid #c0c0b9; + padding: 1px 5px; + color: #222; + font-size: 0.9em; + line-height: normal; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + } + +.v-sa .v-tooltip, +.v-ff3 .v-tooltip { + outline: 1px solid rgba(0,0,0,.2); + -webkit-border-radius: 0; + -moz-border-radius: 0; + border: none; + } + + +/******************************************************************************* + * Global fonts + ******************************************************************************/ + +/* First all the containers that have other components inside them, and are + * possibly overlay elements (which reside inside the BODY element, not the .v-app element) + */ +/* Then come all other overlay elements, that do not have other arbitrary + * components inside them (from v-filterselect-suggestpopup onwards) */ +.v-app, +.v-window, +.v-popupview-popup, +.v-tooltip, +.v-app input, +.v-app select, +.v-app button, +.v-app textarea, +.v-window input, +.v-window select, +.v-window button, +.v-window textarea, +.v-popupview-popup input, +.v-popupview-popup select, +.v-popupview-popup button, +.v-popupview-popup textarea, +.v-filterselect-suggestpopup, +.v-datefield-popup, +.v-contextmenu, +.v-Notification, +.v-menubar-submenu, +.v-table-header-drag, +.v-menubar-submenu, +.v-drag-element { + font-family: Arial, Helvetica, "Lucida Grande", "Lucida Sans Unicode", Tahoma, Verdana, sans-serif; + font-size: 13px; + line-height: 1.4; + color: #222; + } + + + +/******************************************************************************* + * Generic overlay elements + ******************************************************************************/ +.v-window, +.v-popupview-popup, +.v-filterselect-suggestpopup, +.v-datefield-popup, +.v-contextmenu, +.v-Notification, +.v-menubar-submenu { + background: #fff url(img/grad-light-top.png) repeat-x; + background-color: rgba(255,255,255,.85); + border: 1px solid #adadad; + border-color: rgba(0,0,0,.4); + border-radius: 4px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + overflow: hidden; + } + +.v-ie6 .v-window, +.v-ie6 .v-popupview-popup, +.v-ie6 .v-filterselect-suggestpopup, +.v-ie6 .v-datefield-popup, +.v-ie6 .v-contextmenu, +.v-ie6 .v-Notification, +.v-ie6 .v-menubar-submenu { + background-image: none; + } + +.v-filterselect-suggestpopup, +.v-contextmenu, +.v-menubar-submenu { + padding: 3px 0; + } + +.v-contextmenu .gwt-MenuItem, +.v-filterselect-suggestpopup .gwt-MenuItem, +.v-menubar-submenu .v-menubar-menuitem { + padding: .05em .7em; + user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + cursor: default; + } + +.v-contextmenu td.gwt-MenuItem-selected div, +.v-filterselect-suggestpopup td.gwt-MenuItem-selected, +.v-table .v-table-body .v-selected, +.v-menubar-submenu span.v-menubar-menuitem-selected { + text-shadow: none; + } + +.v-contextmenu .gwt-MenuItem-selected, +.v-filterselect-suggestpopup .gwt-MenuItem-selected, +.v-table .v-selected, +.v-menubar-submenu .v-menubar-menuitem-selected { + background-color: #333; + } + +.v-contextmenu .gwt-MenuItem-selected div { + background: transparent; + } + + +/******************************************************************************* + * Misc. generics + ******************************************************************************/ +.v-errorindicator { + width: 13px; + height: 1.4em; + background: transparent url(img/error-indicator.png) no-repeat right 50%; + } + +.v-caption-small .v-errorindicator { + height: 1.2em; + } + +.v-caption-big .v-errorindicator { + height: 1.8em; + } + +.v-tooltip .v-errormessage { + color: #b2320b; + padding-left: 14px; + background: transparent url(img/error-indicator.png) no-repeat 0 50%; + } \ No newline at end of file diff --git a/WebContent/VAADIN/themes/chameleon/components/accordion/accordion.css b/WebContent/VAADIN/themes/chameleon/components/accordion/accordion.css new file mode 100644 index 0000000000..6b0f69aaaa --- /dev/null +++ b/WebContent/VAADIN/themes/chameleon/components/accordion/accordion.css @@ -0,0 +1,80 @@ +.v-accordion { + border: 1px solid #b3b3b3; + } + +.v-accordion-item-open { + border-bottom: 1px solid #b3b3be; + } + +.v-accordion-item-caption, +.v-accordion-item-open .v-accordion-item-caption:active { + padding: 0; + background: transparent url(../../img/grad-light-top.png) repeat-x; + border-width: 0 0 1px 0; + border-style: solid none; + } + +.v-ie6 .v-accordion-item-caption { + background-image: none; + } + +div.v-accordion-item-caption, +div.v-accordion-item-open .v-accordion-item-caption:active { + background-color: transparent; + } + +.v-accordion-item-caption .v-caption { + padding: .2em .9em; + } + +.v-accordion-item-caption:active { + background-image: url(../../img/grad-dark-bottom.png); + background-position: left bottom; + } + +/******************************************************************************* + * Opaque + ******************************************************************************/ +.v-accordion-opaque { + border-radius: 4px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + } + +.v-accordion-opaque .v-accordion-item-caption, +.v-accordion-opaque .v-accordion-item-open { + border-none; + } + +.v-accordion-opaque .v-accordion-item-caption, +.v-accordion-opaque .v-accordion-item-open .v-accordion-item-caption:active { + background-color: #b8b8b8; + } + +.v-accordion-opaque .v-accordion-item-open { + background-color: #fff; + } + +.v-accordion-opaque .v-accordion-item-first, +.v-accordion-opaque .v-accordion-item-first .v-accordion-item-caption { + -webkit-border-top-left-radius: 3px; + -webkit-border-top-right-radius: 3px; + -moz-border-radius-topleft: 3px; + -moz-border-radius-topright: 3px; + overflow: hidden; + } + + +/******************************************************************************* + * Borderless + ******************************************************************************/ +.v-accordion-borderless { + border: none; + } + +.v-accordion-opaque.borderless, +.v-accordion-opaque.borderless .v-accordion-item-first .v-accordion-item-caption { + border-radius: 0; + -webkit-border-radius: 0; + -moz-border-radius: 0; + } \ No newline at end of file diff --git a/WebContent/VAADIN/themes/chameleon/components/button/button.css b/WebContent/VAADIN/themes/chameleon/components/button/button.css new file mode 100644 index 0000000000..f3bd5b01d7 --- /dev/null +++ b/WebContent/VAADIN/themes/chameleon/components/button/button.css @@ -0,0 +1,288 @@ +.v-button:active, +.v-ie7 .v-pressed.v-button, +.v-ie8 .v-pressed.v-button, +div.v-button-down { + background-image: url(../../img/grad-dark-bottom2.png); + background-color: #afafaf; + } + +.v-button:active .v-button-wrap, +.v-ie7 .v-pressed.v-button .v-button-wrap, +.v-ie8 .v-pressed.v-button .v-button-wrap, +.v-button-down .v-button-wrap { + background-image: url(../../img/grad-dark-top2.png); + border: 1px solid #888; + padding: 3px 12px; + border-radius: 2px; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + } + +div.v-button-down .v-button-wrap { + background-image: url(../../img/grad-dark-top2.png); + } + +.v-ie6 div.v-button-down .v-button-wrap { + background-image: none; + } + +.v-button, +.v-disabled.v-button:focus, +.v-disabled.v-button:active { + border: 1px solid #8b8b8b; + background: #c9c9c9; + border-radius: 3px; + background: #c9c9c9 url(../../img/grad-dark-bottom.png) repeat-x left bottom; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + -webkit-box-shadow: 0 1px 0 rgba(255,255,255,.2); + -moz-box-shadow: 0 1px 0 rgba(255,255,255,.2); + text-shadow: 0 1px 0 #fff; + padding: 0; + } + +.v-button-wrap, +.v-disabled:active .v-button-wrap { + display: block; + padding: 4px 13px; + border: none; + border-radius: 2px; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + background: transparent url(../../img/grad-light-top.png) repeat-x; + height: 100%; + text-overflow: ellipsis; + -ms-text-overflow: ellipsis; + } + +.v-sa .v-button, +.v-sa .v-button-wrap, +.v-ff .v-button, +.v-ff .v-button-wrap { + overflow: hidden; + } + +body.v-ie6 .v-button { + background-image: none; + } + +body.v-ie6 .v-button .v-button-wrap { + background-image: none; + display: inline; + zoom: 1; + } + +.v-button:focus { + outline: none; + } + +.v-button .v-icon { + margin-left: -0.5em; + } + +.v-button .v-button-caption { + line-height: 1.26; + } + + +/******************************************************************************* + * Big + ******************************************************************************/ +.v-button-big { + font-size: 1.2em; + } + + +/******************************************************************************* + * Small + ******************************************************************************/ +.v-button-small { + font-size: 0.85em; + font-weight: normal; + } + +.v-button-small .v-button-wrap { + padding: 3px 11px; + } + +.v-button-small:active .v-button-wrap, +.v-ie7 .v-button-small.v-pressed .v-button-wrap, +.v-ie8 .v-button-small.v-pressed .v-button-wrap, +.v-button-down.small .v-button-wrap { + padding: 2px 10px; + } + +.v-button-small .v-icon { + margin-top: -4px; + margin-bottom: -4px; + } + + +/******************************************************************************* + * Wide + ******************************************************************************/ +.v-button-wide .v-button-wrap { + padding-left: 26px; + padding-right: 26px; + } + +.v-button-wide:active .v-button-wrap, +.v-ie7 .v-button-wide.v-pressed .v-button-wrap, +.v-ie8 .v-button-wide.v-pressed .v-button-wrap { + padding-left: 25px; + padding-right: 25px; + } + + +/******************************************************************************* + * Tall + ******************************************************************************/ +.v-button-tall .v-button-wrap { + padding-top: 13px; + padding-bottom: 13px; + } + +.v-button-tall:active .v-button-wrap, +.v-ie7 .v-button-tall.v-pressed .v-button-wrap, +.v-ie8 .v-button-tall.v-pressed .v-button-wrap { + padding-top: 12px; + padding-bottom: 12px; + } + + +/******************************************************************************* + * Default + ******************************************************************************/ +.v-button-default, +.v-disabled.v-button-default:focus { + font-weight: bold; + } + + +/******************************************************************************* + * Link & borderless + ******************************************************************************/ +div.v-button-link, +div.v-button-link:focus, +.v-button-link:active, +div.v-disabled.v-button-link, +div.v-disabled.v-button-link:focus, +body.v-ie .v-pressed.v-button-link, +div.v-button-borderless, +div.v-button-borderless:focus, +.v-button-borderless:active, +div.v-disabled.v-button-borderless, +div.v-disabled.v-button-borderless:focus, +body.v-ie .v-pressed.v-button-borderless { + background: transparent; + font-weight: normal; + text-shadow: none; + border: none; + padding: 1px; + -webkit-box-shadow: none; + -moz-box-shadow: none; + } + +.v-button-link .v-button-wrap, +.v-button-borderless .v-button-wrap { + display: inline; + } + +div.v-button-link .v-button-wrap, +div.v-button-link:focus .v-button-wrap, +.v-button-link:active .v-button-wrap, +div.v-disabled.v-button-link .v-button-wrap, +div.v-disabled.v-button-link:focus .v-button-wrap, +body.v-ie .v-pressed.v-button-link .v-button-wrap, +div.v-button-borderless .v-button-wrap, +div.v-button-borderless:focus .v-button-wrap, +.v-button-borderless:active .v-button-wrap, +div.v-disabled.v-button-borderless .v-button-wrap, +div.v-disabled.v-button-borderless:focus .v-button-wrap, +body.v-ie .v-pressed.v-button-borderless .v-button-wrap { + background: transparent; + font-weight: normal; + text-shadow: none; + border: none; + padding: 1px; + -webkit-box-shadow: none; + -moz-box-shadow: none; + } + +.v-button-link:focus .v-button-caption, +.v-button-borderless:focus .v-button-caption { + border: 1px dotted gray; + margin: -1px; + } + +.v-button-link:active .v-button-caption, +.v-button-borderless:active .v-button-caption { + border: none; + margin: 0; + } + +.v-button-borderless:active .v-icon { + opacity: .6; + } + +.v-button-link .v-icon, +.v-button-borderless .v-icon { + margin-left: 0; + } + + +/******************************************************************************* + * Icon-on-top + ******************************************************************************/ +.v-button-icon-on-top.v-button-borderless:focus .v-button-caption { + margin-top: 1px; + } + +.v-button-icon-on-top .v-button-caption, +.v-button-icon-on-top:focus .v-button-caption, +.v-button-icon-on-top.v-button-borderless:active .v-button-caption { + display: block; + margin-top: 2px; + } + +.v-button-icon-on-top .v-icon { + margin: 0; + } + + +/******************************************************************************* + * Icon-on-right + ******************************************************************************/ +.v-button-icon-on-right .v-icon { + float: right; + margin-left: 3px; + margin-right: -0.5em; + } + +.v-ie6 .v-button-icon-on-right, +.v-ie7 .v-button-icon-on-right { + position: relative; + } + +.v-ie6 .v-button-icon-on-right .v-button-caption, +.v-ie7 .v-button-icon-on-right .v-button-caption { + padding-right: 14px; + } + +.v-ie6 .v-button-icon-on-right .v-icon, +.v-ie7 .v-button-icon-on-right .v-icon { + position: absolute; + right: 0; + margin: 0; + } + +/******************************************************************************* + * Icon-only + ******************************************************************************/ +.v-button-icon-only .v-button-caption { + display: none; + } + +.v-button-icon-only .v-icon { + margin-right: -.5em; + } \ No newline at end of file diff --git a/WebContent/VAADIN/themes/chameleon/components/components.css b/WebContent/VAADIN/themes/chameleon/components/components.css new file mode 100644 index 0000000000..c497a4a323 --- /dev/null +++ b/WebContent/VAADIN/themes/chameleon/components/components.css @@ -0,0 +1,17 @@ +@import "accordion/accordion.css"; +@import "button/button.css"; +@import "label/label.css"; +@import "menubar/menubar.css"; +@import "notification/notification.css"; +@import "panel/panel.css"; +@import "popupview/popupview.css"; +@import "progressindicator/progressindicator.css"; +@import "slider/slider.css"; +@import "splitpanel/splitpanel.css"; +@import "table/table.css"; +@import "textfield/textfield.css"; +@import "datefield/datefield.css"; /* datefield and selects must be after textfield */ +@import "selects/selects.css"; +@import "tabsheet/tabsheet.css"; +@import "tree/tree.css"; +@import "window/window.css"; \ No newline at end of file diff --git a/WebContent/VAADIN/themes/chameleon/components/datefield/datefield.css b/WebContent/VAADIN/themes/chameleon/components/datefield/datefield.css new file mode 100644 index 0000000000..7ea1075658 --- /dev/null +++ b/WebContent/VAADIN/themes/chameleon/components/datefield/datefield.css @@ -0,0 +1,269 @@ +.v-datefield-button { + background: #dadada url(../../img/date-btn.png) repeat-x 50% 0; + border: 1px solid gray; + -webkit-border-top-right-radius: 3px; + -webkit-border-bottom-right-radius: 3px; + -moz-border-radius-topright: 3px; + -moz-border-radius-bottomright: 3px; + height: 1.614999em; + padding: 0; + width: 25px; + } + +input.v-datefield-textfield { + border-right: none; + -webkit-border-top-right-radius: 0; + -webkit-border-bottom-right-radius: 0; + -moz-border-radius-topright: 0; + -moz-border-radius-bottomright: 0; + } + + +/******************************************************************************* + * Big + ******************************************************************************/ +.v-datefield-big .v-datefield-button { + height: 1.85em; + width: 32px; + background-image: url(../../img/date-btn-big.png); + } + + +/******************************************************************************* + * Small + ******************************************************************************/ +.v-datefield-small .v-datefield-button { + height: 1.62em; + width: 19px; + background-position: 50% -2px; + } + + +/******************************************************************************* + * Calendar panel + ******************************************************************************/ +.v-datefield-calendarpanel { + border-collapse: collapse; + margin: 0; + padding: 0; + height: auto !important; + font-size: 0.9em; + } + +.v-datefield-month .v-datefield-textfield { + width: 6em; + } + +.v-datefield-year .v-datefield-textfield { + width: 4em; + } + +.v-datefield-year .v-datefield-calendarpanel-prevmonth, +.v-datefield-year .v-datefield-calendarpanel-nextmonth { + display: none; + } + +.v-datefield-calendarpanel-header td { + border-bottom: 1px solid #666; + } + +.v-datefield-year .v-datefield-calendarpanel-header td, +.v-datefield-month .v-datefield-calendarpanel-header td { + border-bottom: none; + } + +td.v-datefield-calendarpanel-month { + background: #c9c9c9 url(../../img/grad-light-top.png) repeat-x 0 -1px; + text-shadow: 0 1px 0 rgba(255,255,255,.7); + } + +.v-ie6 td.v-datefield-calendarpanel-month { + background-image: none; + } + +span.v-datefield-calendarpanel-month { + display: block; + text-align: center; + overflow: hidden; + line-height: 2em; + height: 1.8em; + } + +.v-datefield-year .v-datefield-calendarpanel-month { + width: 5em; + } + +.v-datefield-month .v-datefield-calendarpanel-month, +.v-datefield-day .v-datefield-calendarpanel-month, +.v-datefield-full .v-datefield-calendarpanel-month { + width: 9em; + } + +.v-datefield-popupcalendar { + min-width: 0; + } + +.v-datefield-year .v-datefield-calendarpanel { + width: 8em; + } + +td.v-datefield-calendarpanel-prevyear { + text-align: right; + } + +td.v-datefield-calendarpanel-nextyear { + text-align: left; + } + +.v-datefield-calendarpanel-header button { + font-size: 1em; + line-height: normal; + width: 100%; + padding: 0 .8em; + height: 1.8em; + border: none; + background: #c9c9c9 url(../../img/grad-light-top.png) repeat-x 0 -1px; + overflow: hidden; + outline: none; + cursor: pointer; + } + +.v-datefield-popup .v-datefield-calendarpanel-month, +.v-datefield-popup .v-datefield-calendarpanel-header button { + background-position: 0 0; + } + +.v-ie6 .v-datefield-calendarpanel-header button { + background-image: none; + } + +.v-datefield-calendarpanel-header button:active { + background-image: url(../../img/grad-dark-top2.png); + } + +.v-datefield-calendarpanel-prevyear button { + -webkit-border-top-left-radius: 4px; + -moz-border-radius-topleft: 4px; + } + +.v-datefield-calendarpanel-nextyear button { + -webkit-border-top-right-radius: 4px; + -moz-border-radius-topright: 4px; + } + +.v-datefield-year .v-datefield-calendarpanel-prevyear button, +.v-datefield-month .v-datefield-calendarpanel-prevyear button { + -webkit-border-bottom-left-radius: 3px; + -moz-border-radius-bottomleft: 3px; + } + +.v-datefield-year .v-datefield-calendarpanel-nextyear button, +.v-datefield-month .v-datefield-calendarpanel-nextyear button { + -webkit-border-bottom-right-radius: 3px; + -moz-border-radius-bottomright: 3px; + } + +.v-datefield-calendarpanel-body, +.v-datefield-calendarpanel-time { + text-align: center; + vertical-align: top; + } + +.v-datefield-calendarpanel-body table { + border-collapse: collapse; + margin: 0; + padding: 0; + margin: 0 auto; + } + +.v-datefield-calendarpanel-weekdays td { + width: 14.2%; + overflow: hidden; + line-height: normal; + text-transform: uppercase; + vertical-align: top; + } + +.v-datefield-calendarpanel-weeknumbers td { + width: 12.5%; + } + +.v-datefield-calendarpanel-weekdays strong { + display: block; + text-align: right; + font-size: 0.8em; + padding: .3em .5em .35em 0; + height: 1.1em; + color: #fff; + text-shadow: 0 1px 0 rgba(0,0,0,.5); + background: #c9c9c9 url(../../img/grad-dark-top2.png) repeat-x; + margin-bottom: 2px; + } + +.v-ie6 .v-datefield-calendarpanel-weekdays strong { + background-image: none; + } + +.v-datefield-calendarpanel .v-first strong { + -webkit-border-bottom-left-radius: 3px; + -moz-border-radius-bottomleft: 3px; + } + +.v-datefield-calendarpanel .v-last strong { + -webkit-border-bottom-right-radius: 3px; + -moz-border-radius-bottomright: 3px; + } + +.v-datefield-popup .v-datefield-calendarpanel .v-first strong, +.v-datefield-popup .v-datefield-calendarpanel .v-last strong { + -webkit-border-radius: 0; + -moz-border-radius: 0; + } + +.v-datefield-calendarpanel-body td { + text-align: right; + height: 1.6em; + } + +.v-datefield-calendarpanel-weeknumber { + padding: .5em .5em .35em 0; + } + +.v-datefield-calendarpanel-day, +.v-datefield-calendarpanel-day-today { + padding: .15em .5em .15em 0; + display: block; + margin: 1px 1px 1px .3em; + border-radius: 2px; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + } + +.v-datefield-calendarpanel-day:hover { + margin: 0 0 0 .2em; + border: 1px solid #b3b3b3; + } + +.v-datefield-calendarpanel-day-today { + border: none; + background: transparent url(../../img/grad-dark-top2.png) repeat-x; + margin: 0 0 0 .2em; + font-weight: bold; + border: 1px solid #c9c9c9; + } + +.v-ie6 .v-datefield-calendarpanel-day-today { + background-image: none; + } + +.v-datefield-calendarpanel-day-selected, +.v-datefield-calendarpanel-day-selected:hover { + margin: 0 0 0 .3em; + border: none; + } + +.v-datefield-calendarpanel-time select { + padding: 0; + font-size: 0.9em; + margin: 0; + } \ No newline at end of file diff --git a/WebContent/VAADIN/themes/chameleon/components/label/label.css b/WebContent/VAADIN/themes/chameleon/components/label/label.css new file mode 100644 index 0000000000..f2d8e8ef69 --- /dev/null +++ b/WebContent/VAADIN/themes/chameleon/components/label/label.css @@ -0,0 +1,127 @@ +/******************************************************************************* + * Different headers + ******************************************************************************/ +.v-label-h1, +.v-label h1, +.v-label-h2, +.v-label h2, +.v-label-h3, +.v-label h3, +.v-label-h4, +.v-label h4 { + margin: 0; + font-weight: bold; + } + +.v-label-h1, +.v-label h1 { + padding: .75em 0 .5em 0; + font-size: 1.85em; + } + +.v-label-h2, +.v-label h2 { + padding: .67em 0 .33em 0; + font-size: 1.4em; + } + +.v-label-h3, +.v-label h3 { + margin: .71em 0 .29em 0; + font-size: 1.1em; + } + +.v-label-h4, +.v-label h4 { + padding: .23em 0; + font-size: 1em; + } + + +/******************************************************************************* + * Big + ******************************************************************************/ +.v-label-big { + font-size: 1.2em; + } + + +/******************************************************************************* + * Small + ******************************************************************************/ +.v-label-small { + font-size: 0.9em; + line-height: 1.3; + opacity: .8; + filter: alpha(opacity=80); + } + + +/******************************************************************************* + * Tiny + ******************************************************************************/ +.v-label-tiny { + font-size: 0.85em; + line-height: 1.2; + opacity: .7; + filter: alpha(opacity=70); + } + + +/******************************************************************************* + * Warning & error + ******************************************************************************/ +body .v-label-warning, +body .v-label-error { + color: #574734; + background: #fffec8 url(../../img/label-warning-icon.png) no-repeat .2em 50%; + white-space: nowrap; + padding: .3em 1em .3em 2.4em; + overflow: hidden; + width: auto !important; + border-radius: 2px; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + text-shadow: none; + } + +body .v-label-error { + color: #fff; + font-weight: bold; + background: #c22f24 url(../../img/label-error-icon.png) no-repeat .2em 50%; + text-shadow: 0 1px 0 #8f2e27; + } + + +/******************************************************************************* + * Big warning & big error + ******************************************************************************/ +.v-label-big.v-label-warning, +.v-label-big.v-label-error { + background-image: url(../../img/label-warning-icon-big.png); + background-position: 0 50%; + padding: .5em 1em .5em 3em; + } + +.v-label-big.v-label-error { + background-image: url(../../img/label-error-icon-big.png); + } + + +/******************************************************************************* + * Loading + ******************************************************************************/ +body .v-label-loading { + height: 32px; + line-height: 32px; + background-image: url(../../../base/common/img/loading-indicator.gif); + background-repeat: no-repeat; + background-position: 0 50%; + white-space: nowrap; + padding: .3em 1em .3em 36px; + overflow: hidden; + width: auto !important; + border-radius: 2px; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + } \ No newline at end of file diff --git a/WebContent/VAADIN/themes/chameleon/components/menubar/menubar.css b/WebContent/VAADIN/themes/chameleon/components/menubar/menubar.css new file mode 100644 index 0000000000..225ccba033 --- /dev/null +++ b/WebContent/VAADIN/themes/chameleon/components/menubar/menubar.css @@ -0,0 +1,23 @@ +.v-menubar { + padding: 0 .4em; + background: #c9c9c9 url(../../img/grad-light-top.png) repeat-x; + border: 1px solid #b3b3b3; + border-width: 1px 0; + } + +.v-ie6 .v-menubar { + background-image: none; + } + +.v-menubar .v-menubar-menuitem { + padding: .2em .5em; + line-height: normal; + } + +.v-menubar-submenu .v-menubar-menuitem { + padding-right:1.5em; + } + +.v-menubar-submenu .v-menubar-submenu-indicator { + margin-top: .1em; + } \ No newline at end of file diff --git a/WebContent/VAADIN/themes/chameleon/components/notification/notification.css b/WebContent/VAADIN/themes/chameleon/components/notification/notification.css new file mode 100644 index 0000000000..12d5d67c62 --- /dev/null +++ b/WebContent/VAADIN/themes/chameleon/components/notification/notification.css @@ -0,0 +1,63 @@ +div.v-Notification { + border-radius: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + font-size: 100%; + -webkit-box-shadow: 0 2px 5px rgba(0,0,0,.7); + -moz-box-shadow: 0 2px 5px rgba(0,0,0,.7); + } + +.v-Notification p { + line-height: 1.3; + } + +div.v-Notification-warning { + background-color: #fffec8; + color: #574734; + border: 2px solid #fee3af; + } + +div.v-Notification-warning h1 { + padding-left: 44px; + background: transparent url(../../img/label-warning-icon-big.png) no-repeat 0 50%; + } + +div.v-Notification-error { + color: #fff; + text-shadow: 0 1px 2px rgba(0,0,0,.3); + background: #c22f24 url(../../img/error-close.png) no-repeat right top; + border: 2px solid #ca3030; + } + +div.v-Notification-error h1 { + padding-left: 44px; + background: transparent url(../../img/label-error-icon-big.png) no-repeat 0 50%; + } + +div.v-Notification-tray { + color: #fff; + margin: 0 5px 5px 0; + background: #3b3b3b url(../../img/grad-light-top2.png) repeat-x; + border: 1px solid #5b5b5b; + padding: 0.8em 0.9em; + border-radius: 5px; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + text-shadow: 0 1px 1px rgba(0,0,0,.5); + } + +.v-Notification-tray h1 { + font-size: 14px; + line-height: 18px; + } + +.v-Notification-tray p { + font-size: 12px; + font-weight: normal; + } + +div.v-Notification-system { + color: #fff; + border: none; + background-color: #b40000; + } \ No newline at end of file diff --git a/WebContent/VAADIN/themes/chameleon/components/panel/panel.css b/WebContent/VAADIN/themes/chameleon/components/panel/panel.css new file mode 100644 index 0000000000..e83e245ce6 --- /dev/null +++ b/WebContent/VAADIN/themes/chameleon/components/panel/panel.css @@ -0,0 +1,124 @@ +.v-panel-caption { + background: #b9dcff; + font-size: 1.2em; + border: 1px solid #b3b3b3; + border-bottom: none; + padding: .2em .6em; + } + +.v-panel-nocaption { + padding: 0; + height: 0; + overflow: hidden; + border-top: 1px solid #b3b3b3; + } + +.v-panel-content { + background: #fff; + border: 1px solid #b3b3b3; + border-top: none; + border-bottom: none; + } + +.v-panel-deco { + height: 0; + overflow: hidden; + border-top: 1px solid #b3b3b3; + } + + +/******************************************************************************* + * Borderless + ******************************************************************************/ +div.v-panel-caption-borderless { + border: none; + } + +div.v-panel-nocaption-borderless, +div.v-panel-content-borderless, +div.v-panel-deco-borderless { + border: none; + background: transparent; + } + + +/******************************************************************************* + * Light + ******************************************************************************/ +.v-panel-light .v-panel-caption-light { + background: transparent; + font-weight: normal; + border-bottom: 1px solid #b3b3b3; + } + +div.v-panel-content-light { + background: transparent; + } + + +/******************************************************************************* + * Bubble + ******************************************************************************/ +.v-panel-bubble .v-panel-captionwrap { + border: 1px solid #b3b3b3; + border-bottom: none; + background: #fff; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + padding: 1px 2px; + overflow: hidden; + } + +.v-panel-bubble .v-panel-caption-bubble { + border: none; + background-image: url(../../img/grad-light-top.png); + background-repeat: repeat-x; + background-position: 0 -1px; + color: #fff; + text-shadow: 0 -1px 0 rgba(0,0,0,.4); + border-radius: 3px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + margin: 1px 0; + font-size: 1em; + line-height: 1.2; + padding: .3em .6em; + } + +.v-ie6 .v-panel-bubble .v-panel-caption-bubble { + background-image: none; + } + +.v-panel-nocaption-bubble { + padding: 0; + margin: 0; + border: none; + } + +.v-panel-deco-bubble { + height: 2px; + border: 1px solid #b3b3b3; + border-top: none; + background: #fff; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + } + + +/******************************************************************************* + * Borderless Bubble + ******************************************************************************/ +div.v-panel-borderless .v-panel-captionwrap, +div.v-panel-borderless .v-panel-deco-bubble { + border: none; + padding: 0; + background: transparent; + } + +div.v-panel-borderless .v-panel-content-bubble { + background: transparent; + } \ No newline at end of file diff --git a/WebContent/VAADIN/themes/chameleon/components/popupview/popupview.css b/WebContent/VAADIN/themes/chameleon/components/popupview/popupview.css new file mode 100644 index 0000000000..ab270d7c4b --- /dev/null +++ b/WebContent/VAADIN/themes/chameleon/components/popupview/popupview.css @@ -0,0 +1,3 @@ +.v-popupview-popup { + padding: .3em .4em; + } \ No newline at end of file diff --git a/WebContent/VAADIN/themes/chameleon/components/progressindicator/progressindicator.css b/WebContent/VAADIN/themes/chameleon/components/progressindicator/progressindicator.css new file mode 100644 index 0000000000..b13b627ed6 --- /dev/null +++ b/WebContent/VAADIN/themes/chameleon/components/progressindicator/progressindicator.css @@ -0,0 +1,117 @@ +.v-progressindicator-wrapper { + border-radius: 2px; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + background: #eee url(../../img/grad-dark-bottom.png) repeat-x left bottom; + overflow: visible; + font-size: 1px; + line-height: 1px; + } + +.v-progressindicator-indicator { + border-radius: 2px; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + background: #c9c9c9 url(../../img/grad-light-top.png) repeat-x 0 -10px; + margin: -1px; + height: 7px; + border: 1px solid #b3b3b3; + } + +.v-ie6 .v-progressindicator-wrapper, +.v-ie6 .v-progressindicator-indicator { + background-image: none; + } + + +/******************************************************************************* + * Small + ******************************************************************************/ +.v-progressindicator-small { + width: 110px; + } + +.v-progressindicator-small .v-progressindicator-wrapper, +.v-progressindicator-small .v-progressindicator-indicator { + height: 2px; + border-radius: 1px; + -webkit-border-radius: 1px; + -moz-border-radius: 1px; + } + + +/******************************************************************************* + * Big + ******************************************************************************/ +.v-progressindicator-big { + width: 250px; + } + +.v-progressindicator-big .v-progressindicator-wrapper, +.v-progressindicator-big .v-progressindicator-indicator { + height: 14px; + border-radius: 4px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + } + + +/******************************************************************************* + * Indeterminates + ******************************************************************************/ +.v-progressindicator-indeterminate.v-progressindicator-big { + width: 42px; + height: 42px; + background: #fff url(../../../base/common/img/ajax-loader-big.gif) no-repeat 50%; + } + +.v-progressindicator-indeterminate.v-disabled { + display: none; + } + +.v-progressindicator-indeterminate.v-progressindicator-bar { + display: block; + width: 150px; + height: 9px; + border-radius: 2px; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + } + +.v-progressindicator-indeterminate.bar.v-progressindicator-small { + width: 110px; + height: 4px; + } + +.v-progressindicator-indeterminate.bar.v-progressindicator-big { + width: 200px; + height: 16px; + } + +.v-progressindicator-indeterminate.bar .v-progressindicator-wrapper { + display: block; + background: #fff url(../../img/indeterminate-progress.gif); + border-radius: 3px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + overflow: hidden; + } + +.v-progressindicator-indeterminate.bar .v-progressindicator-indicator { + display: block; + background: transparent url(../../img/grad-light-top.png) repeat-x; + border: none; + margin: 0; + border-radius: 3px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + overflow: hidden; + } + +.v-progressindicator-indeterminate.bar.v-progressindicator-small .v-progressindicator-indicator { + background: transparent; + } + +.v-progressindicator-indeterminate.bar.v-disabled .v-progressindicator-indicator { + background: #fff; + } \ No newline at end of file diff --git a/WebContent/VAADIN/themes/chameleon/components/selects/selects.css b/WebContent/VAADIN/themes/chameleon/components/selects/selects.css new file mode 100644 index 0000000000..f9937d3f97 --- /dev/null +++ b/WebContent/VAADIN/themes/chameleon/components/selects/selects.css @@ -0,0 +1,176 @@ +.v-filterselect { + overflow: hidden; + } + +body input.v-filterselect-input { + margin: 0; + padding: 0; + border: none; + background: transparent; + line-height: normal; + } + +body input.v-filterselect-input[type=text] { + padding: 0; + } + +.v-filterselect-focus .v-filterselect-input, +.v-filterselect .v-filterselect-input:focus { + outline: none; + } + +.v-filterselect-big.v-filterselect-search { + padding-left: 22px; + } + +.v-filterselect-button { + width: 16px; + height: 1.2em; + background-position: -5px -11px; + opacity: .4; + } + +.v-filterselect-button:hover { + opacity: .7; + } + +.v-filterselect-button:active { + opacity: 1; + } + +.v-filterselect-small .v-filterselect-button { + height: 0.95em; + background-position: -5px -12px; + } + +.v-filterselect-suggestpopup { + margin-top: .4em; + } + +body .v-filterselect-suggestpopup-small td { + font-size: .85em; + } + +body .v-filterselect-suggestpopup-big td { + font-size: 1.1em; + } + +.v-filterselect-big .v-filterselect-button { + height: 1.4em; + background-position: -5px -9px; + } + +.v-filterselect-search .v-filterselect-button { + width: 0; + overflow: hidden; + } + +.v-filterselect-prompt .v-filterselect-input { + font-style: normal; + } + +.v-filterselect-prevpage-off, +.v-filterselect-nextpage-off, +.v-filterselect-prevpage, +.v-filterselect-nextpage { + border-style: solid; + border-width: 1px 0; + border-color: #b3b3b3; + background: #c9c9c9 url(../../img/grad-light-top.png) repeat-x; + height: 12px; + user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + } + +.v-ie6 .v-filterselect-prevpage-off, +.v-ie6 .v-filterselect-nextpage-off, +.v-ie6 .v-filterselect-prevpage, +.v-ie6 .v-filterselect-nextpage { + background-image: none; + } + +.v-filterselect-prevpage:active, +.v-filterselect-nextpage:active { + background-image: (../../img/grad-dark-bottom2.png); + background-position: left bottom; + } + +.v-filterselect-prevpage-off span, +.v-filterselect-nextpage-off span, +.v-filterselect-prevpage span, +.v-filterselect-nextpage span { + display: block; + text-indent: -9999px; + height: 12px; + background: transparent url(../../../base/common/img/sprites.png) no-repeat 50% 3px; + } + +.v-filterselect-nextpage-off span, +.v-filterselect-nextpage span { + background-position: 50% -12px; + } + +.v-filterselect-status { + font-size: .85em; + margin: 1px 0 -3px; + user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + } + +.v-filterselect-suggestpopup-small .v-filterselect-status { + font-size: .8em; + } + +.v-filterselect-suggestpopup-big .v-filterselect-status { + font-size: .9em; + } + +.v-select-small .v-select-select { + font-size: 0.8em; + } + +.v-select-big .v-select-select { + font-size: 1.2em; + } + + +/******************************************************************************* + * Non-editable combobox (i.e. themable select) + ******************************************************************************/ +.v-filterselect-select-button { + background: #c9c9c9 url(../../img/grad-light-top.png) repeat-x; + position: relative; + padding: .3em .5em; + } + +.v-ie6 .v-filterselect-select-button { + background-image: none; + } + +.v-filterselect-select-button .v-filterselect-input { + display: block; + width: 100% !important; + user-select: none; + -khtml-user-select: none; + -webkit-user-select: none; + } + +.v-filterselect-select-button .v-filterselect-button { + position: absolute; + width: 100%; + top: 0; + left: 0; + height: 100%; + background-position: 100% -8px; + } + +.v-ie6 .v-filterselect-select-button .v-filterselect-button { + float: none; + position: relative; + margin: -1.8em -.5em -.3em -.5em; + padding: .3em .5em; + } \ No newline at end of file diff --git a/WebContent/VAADIN/themes/chameleon/components/slider/slider.css b/WebContent/VAADIN/themes/chameleon/components/slider/slider.css new file mode 100644 index 0000000000..c0fc271d3f --- /dev/null +++ b/WebContent/VAADIN/themes/chameleon/components/slider/slider.css @@ -0,0 +1,65 @@ +.v-slider { + border-top: 1px solid #9a9c9e; + border-bottom: 1px solid #bdbfc1; + margin: 3px 0; + border-radius: 3px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + } + +.v-slider-base { + height: 4px; + background: #e0e2e2 url(../../img/grad-dark-top2.png) repeat-x; + border-top: 1px solid #adb0b1; + border-left: 1px solid #a0a3a6; + border-right: 1px solid #a0a3a6; + border-radius: 2px; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + } + +.v-slider-handle { + background: #c9c9c9 url(../../img/grad-dark-bottom2.png) repeat-x left bottom; + border: 1px solid #b3b3b3; + width: 10px; + height: 10px; + margin-top: -5px; + border-radius: 5px; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + -webkit-box-shadow: 0 1px 1px rgba(0,0,0,.5); + -moz-box-shadow: 0 1px 1px rgba(0,0,0,.5); + cursor: pointer; + } + +.v-slider-handle-active { + background-color: #afafaf; + } + +.v-slider-vertical { + width: auto; + margin: 0 4px; + border-width: 0 1px; + } + +.v-ie6 .v-slider-vertical { + width: 6px; + } + +.v-slider-vertical .v-slider-base { + background-image: none; + width: 4px; + border-width: 1px 1px 0; + } + +.v-slider-vertical .v-slider-handle { + width: 10px; + height: 10px; + margin: 0; + margin-left: -5px; + } + +.v-ie6 .v-slider-base, +.v-ie6 .v-slider-handle { + background-image: none; + } \ No newline at end of file diff --git a/WebContent/VAADIN/themes/chameleon/components/splitpanel/splitpanel.css b/WebContent/VAADIN/themes/chameleon/components/splitpanel/splitpanel.css new file mode 100644 index 0000000000..bd407592cb --- /dev/null +++ b/WebContent/VAADIN/themes/chameleon/components/splitpanel/splitpanel.css @@ -0,0 +1,85 @@ +.v-splitpanel-hsplitter div, +.v-splitpanel-vsplitter div { + background: transparent url(../../img/split-handle.png) no-repeat 2px 50%; + margin: 0 -1px; + width: 9px; + } + +.v-ie6 .v-splitpanel-hsplitter div, +.v-ie6 .v-splitpanel-vsplitter div { + background-image: url(../../img/split-handle-ie6.png); + } + +.v-splitpanel-vsplitter div { + background-position: 50% 2px; + margin: -1px 0; + width: auto; + height: 9px; + } + +.v-splitpanel-hsplitter, +.v-splitpanel-hsplitter-locked { + border-style: solid; + border-width: 0 1px; + border-color: #b0b0b0; + width: 7px; + background: #b3b3b3 url(../../img/grad-light-left.png) repeat-y; + } + +.v-splitpanel-vsplitter, +.v-splitpanel-vsplitter-locked { + border-style: solid; + border-width: 1px 0; + border-color: #b0b0b0; + height: 7px; + background: #b3b3b3 url(../../img/grad-light-top.png) repeat-x; + } + +.v-ie6 .v-splitpanel-hsplitter, +.v-ie6 .v-splitpanel-hsplitter-locked, +.v-ie6 .v-splitpanel-vsplitter, +.v-ie6 .v-splitpanel-vsplitter-locked { + background-image: none; + } + +/******************************************************************************* + * Small + ******************************************************************************/ +body .v-splitpanel-hsplitter-small, +body .v-splitpanel-hsplitter-small-locked { + width: 1px; + border: none; + background-image: none; + } + +body .v-splitpanel-vsplitter-small, +body .v-splitpanel-vsplitter-small-locked { + height: 1px; + border: none; + background-image: none; + font-size: 1px; + line-height: 1px; + } + +body.v-ie6 .v-splitpanel-vsplitter-small, +body.v-ie6 .v-splitpanel-vsplitter-small-locked { + overflow: hidden; + } + +.v-splitpanel-hsplitter-small div { + width: 7px; + margin-left: -2px; + background: transparent; + } + +.v-splitpanel-vsplitter-small div { + height: 7px; + margin-top: -2px; + background: transparent; + overflow: hidden; + } + +.v-ie6 .v-splitpanel-hsplitter-small div, +.v-ie6 .v-splitpanel-vsplitter-small div { + background-image: none; + } \ No newline at end of file diff --git a/WebContent/VAADIN/themes/chameleon/components/table/table.css b/WebContent/VAADIN/themes/chameleon/components/table/table.css new file mode 100644 index 0000000000..74b9c88223 --- /dev/null +++ b/WebContent/VAADIN/themes/chameleon/components/table/table.css @@ -0,0 +1,154 @@ +.v-table-header-wrap, +.v-table-header-drag { + background: #c9c9c9 url(../../img/grad-light-top.png) repeat-x; + height: 1.4em; + line-height: normal; + } + +.v-ie6 .v-table-header-wrap, +.v-ie6 .v-table-header-drag { + background-image: none; + } + +.v-table-caption-container, +.v-table-header-drag { + padding-top: .2em; + padding-right: 4px; + } + +.v-table-header-drag { + padding-left: .3em; + } + +.v-table-resizer { + background: transparent; + border-right: 1px solid #b3b3b3; + padding-left: 1px; + height: 1.4em; + } + +/* Targets the same element as .v-table-resizer */ +div.v-table-focus-slot-left { + background: transparent; + border-left: 2px solid #b3b3b3; + border-right: none; + padding-left: 0; + padding-right: 1px; + float: left; + margin: 0; + } + +div.v-table-focus-slot-right { + background: transparent; + border-right: 2px solid #b3b3b3; + padding-left: 0; + margin: 0; + } + +.v-table-column-selector { + margin-top: -1.35em; + } + +.v-table-cell-content { + border-right: none; + padding-right: 7px; + } + +.v-table-caption-container .v-icon { + vertical-align: middle; + margin: -0.37em 2px 0 0; + } + +.v-table-header-drag .v-icon { + vertical-align: middle; + } + +/* column selector */ +.v-contextmenu .v-on, +.v-contextmenu .v-off { + display: block; + background: transparent url(../../../reindeer/common/icons/bullet.png) no-repeat 0 4px; + padding-left: 12px; + } + +.v-contextmenu .v-off { + background-image: none; + color: #666; + } + +.v-contextmenu .gwt-MenuItem-selected .v-on { + background-image: url(../../../reindeer/common/icons/bullet-white.png); + } + +.v-table-scrollposition { + font-size: 0.9em; + opacity: .85; + filter: alpha(opacity=85); + } + +/******************************************************************************* + * Small + ******************************************************************************/ +.v-table-small .v-table-caption-container, +.v-table-small .v-table-body { + font-size: 0.85em; + } + +.v-table-small .v-table-resizer, +.v-table-small .v-table-header-wrap { + height: 1.2em; + } + +.v-table-small .v-table-column-selector { + margin-top: -1.2em; + } + + +/******************************************************************************* + * Big + ******************************************************************************/ +.v-table-big .v-table-caption-container, +.v-table-big .v-table-body { + font-size: 1.2em; + } + +.v-table-big .v-table-caption-container { + padding-top: .3em; + } + +.v-table-big .v-table-resizer, +.v-table-big .v-table-header-wrap { + height: 1.8em; + } + +.v-table-big .v-table-column-selector { + margin-top: -1.5em; + } + +/******************************************************************************* + * Striped + ******************************************************************************/ +.v-table-striped .v-table-row-odd { + background-color: #e6e6e6; + } + + +/******************************************************************************* + * Strong + ******************************************************************************/ +.v-table-strong .v-table-caption-container { + font-weight: bold; + } + + +/******************************************************************************* + * Borderless + ******************************************************************************/ +.v-table-borderless .v-table-header-wrap, +.v-table-borderless .v-table-body { + border: none; + } + +div.v-table-borderless .v-table-body { + background: transparent; + } \ No newline at end of file diff --git a/WebContent/VAADIN/themes/chameleon/components/tabsheet/tabsheet.css b/WebContent/VAADIN/themes/chameleon/components/tabsheet/tabsheet.css new file mode 100644 index 0000000000..1c52c27576 --- /dev/null +++ b/WebContent/VAADIN/themes/chameleon/components/tabsheet/tabsheet.css @@ -0,0 +1,178 @@ +.v-tabsheet-spacertd div { + border-color: #b3b3b3; + border-left: none; + } + +.v-tabsheet-tabitem { + border: none; + border-bottom: 1px solid #b3b3b3; + padding: 0; + } + +.v-tabsheet-tabitem .v-caption { + padding: .2em .8em; + margin: 1px; + margin-bottom: 0; + } + +.v-tabsheet-tabitem-selected { + background-color: #c9c9c9; + border: 1px solid #b3b3b3; + border-bottom: none; + -webkit-border-top-left-radius: 3px; + -webkit-border-top-right-radius: 3px; + -moz-border-radius-topleft: 3px; + -moz-border-radius-topright: 3px; + overflow: hidden; + } + +.v-tabsheet-tabitem-selected .v-caption { + background: transparent url(../../img/grad-light-top.png) repeat-x; + margin: 0; + padding-bottom: .25em; + -webkit-border-top-left-radius: 2px; + -webkit-border-top-right-radius: 2px; + -moz-border-radius-topleft: 2px; + -moz-border-radius-topright: 2px; + } + +.v-ie6 .v-tabsheet-tabitem-selected .v-caption { + background-image: none; + } + +.v-tabsheet-content { + background: #fff; + border-color: #b3b3b3; + } + +.v-tabsheet-deco { + height: 0; + background: transparent; + border-top: 1px solid #b3b3b3; + } + +.v-tabsheet-caption-close { + width: 14px; + height: 15px; + overflow: hidden; + text-indent: -50px; + background: transparent url(../../img/close-btn.png) no-repeat .5em 0; + vertical-align: middle; + padding: 0 0 0 .5em; + margin: .2em 0 0 0; + } + +.v-ie6 .v-tabsheet-caption-close { + background-image: url(../../img/close-btn-ie6.png); + } + +.v-tabsheet-caption-close:hover { + background-position: .5em -25px; + } + +.v-tabsheet-caption-close:active { + background-position: .5em -50px; + } + +/******************************************************************************* + * Scroller + ******************************************************************************/ +.v-tabsheet-scroller { + height: 14px; + margin-top: -1.6em; + position: relative; + float: right; + background: #c9c9c9 url(../../img/grad-light-top.png) repeat-x; + border: 1px solid #b3b3b3; + border-radius: 6px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + } + +.v-ie6 .v-tabsheet-scroller { + background-image: none; + } + +.v-tabsheet-scrollerPrev, +.v-tabsheet-scrollerNext, +.v-tabsheet-scrollerPrev-disabled, +.v-tabsheet-scrollerNext-disabled, +.v-tabsheet-scrollerPrev-disabled:active, +.v-tabsheet-scrollerNext-disabled:active { + border: 1px solid #b3b3b3; + border-width: 0; + background: transparent url(../../img/tab-arrows.png) no-repeat 6px 50%; + width: 16px; + height: 14px; + overflow: hidden; + cursor: default; + opacity: .5; + filter: alpha(opacity=50); + } + +.v-ie6 .v-tabsheet-scrollerPrev, +.v-ie6 .v-tabsheet-scrollerNext, +.v-ie6 .v-tabsheet-scrollerPrev-disabled, +.v-ie6 .v-tabsheet-scrollerNext-disabled{ + background-image: url(../../img/tab-arrows-ie6.png); + } + +.v-tabsheet-scroller button::-moz-focus-inner { + border: none; + padding: 0; + } + +.v-tabsheet-scrollerNext, +.v-tabsheet-scrollerNext-disabled, +.v-tabsheet-scrollerNext-disabled:active { + background-position: -10px 50%; + border-left-width: 1px; + } + +.v-tabsheet-scrollerPrev:hover, +.v-tabsheet-scrollerNext:hover { + opacity: .75; + filter: alpha(opacity=75); + } + +.v-tabsheet-scrollerPrev:active, +.v-tabsheet-scrollerNext:active { + opacity: 1; + filter: none; + } + +.v-tabsheet-scrollerPrev-disabled, +.v-tabsheet-scrollerNext-disabled, +.v-tabsheet-scrollerPrev-disabled:active, +.v-tabsheet-scrollerNext-disabled:active { + opacity: .1; + filter: alpha(opacity=10); + } + + + +/******************************************************************************* + * open-only-closable + ******************************************************************************/ +.v-tabsheet-open-only-closable .v-tabsheet-caption-close { + visibility: hidden; + } + +.v-tabsheet-open-only-closable .v-tabsheet-tabitem-selected .v-tabsheet-caption-close { + visibility: visible; + } + + +/******************************************************************************* + * Borderless + ******************************************************************************/ +.v-tabsheet-borderless .v-tabsheet-content-borderless, +.v-tabsheet-deco-borderless { + border: none; + background: transparent; + } + +.v-tabsheet-tabs-borderless .v-tabsheet-tabitem-selected, +.v-tabsheet-tabs-borderless .v-tabsheet-tabitem-selected .v-caption { + background-color: transparent; + } \ No newline at end of file diff --git a/WebContent/VAADIN/themes/chameleon/components/textfield/textfield.css b/WebContent/VAADIN/themes/chameleon/components/textfield/textfield.css new file mode 100644 index 0000000000..6b5558789a --- /dev/null +++ b/WebContent/VAADIN/themes/chameleon/components/textfield/textfield.css @@ -0,0 +1,120 @@ +input.v-textfield, +textarea.v-textarea, +.v-filterselect { + line-height: normal; + border: 1px solid #b3b3b3; + border-top-color: #808080; + border-color: rgba(0,0,0,.3); + border-top-color: rgba(0,0,0,.5); + background: #fff url(../../img/input-bg.png) repeat-x; + border-radius: 2px; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -webkit-box-shadow: 0 1px 0 rgba(255,255,255,.2); + -moz-box-shadow: 0 1px 0 rgba(255,255,255,.2); + padding: .1em .2em; + margin: 0; + } + +body input.v-textfield, +body textarea.v-textarea, +body input.v-filterselect-input { + color: #222; + } + +.v-ie input.v-textfield, +.v-ie textarea.v-textarea, +.v-ie .v-filterselect { + border-top-color: #808080; + } + +body input.v-textfield-prompt, +body textarea.v-textarea-prompt { + font-style: normal; + color: #999; + } + +input.v-textfield-focus, +textarea.v-textarea-focus { + background-color: #fffce1; + } + + +/******************************************************************************* + * Readonly + ******************************************************************************/ +input.v-textfield-readonly, +textarea.v-textarea-readonly { + border: none; + background: transparent; + } + + +/******************************************************************************* + * Small + ******************************************************************************/ +body input.v-textfield-small, +body textarea.v-textarea-small, +.v-datefield-small .v-datefield-textfield, +.v-datefield-small .v-datefield-button, +.v-filterselect-small .v-filterselect-input { + font-size: 0.85em; + } + + +/******************************************************************************* + * Big (and big search) + ******************************************************************************/ +body input.v-textfield-big, +body textarea.v-textarea-big, +.v-datefield-big .v-datefield-textfield, +.v-datefield-big .v-datefield-button, +.v-filterselect-big .v-filterselect-input { + font-size: 1.2em; + } + +input.v-textfield-big[type=text], +.v-datefield-big input.v-datefield-textfield[type=text] { + padding: .3em; + } + +textarea.v-textarea, +.v-filterselect-big { + padding: .3em; + } + +input.v-textfield-big.v-textfield-search, +.v-filterselect-search.v-filterselect-big { + background-image: url(../../img/magnifier-big.png); + background-repeat: no-repeat; + background-position: 4px 50%; + } + +input.v-textfield-big.v-textfield-search[type=text] { + padding-left: 26px; + } + +.v-filterselect-search.v-filterselect-big { + padding-left: 26px; + } + + +/******************************************************************************* + * Search + ******************************************************************************/ +input.v-textfield-search, +.v-filterselect-search { + background-image: url(../../img/magnifier.png); + background-repeat: no-repeat; + background-position: 3px 50%; + } + +input.v-textfield-search[type=text], +.v-filterselect-search { + padding-left: 17px; + } + +.v-ie6 input.v-textfield-search { + /* Compensate for big style as well, since IE6 doesn't handle the selector */ + padding-left: 21px; + } \ No newline at end of file diff --git a/WebContent/VAADIN/themes/chameleon/components/tree/tree.css b/WebContent/VAADIN/themes/chameleon/components/tree/tree.css new file mode 100644 index 0000000000..cf1b62ac55 --- /dev/null +++ b/WebContent/VAADIN/themes/chameleon/components/tree/tree.css @@ -0,0 +1,18 @@ +.v-tree-node-caption { + margin-left: 16px; + } + +.v-tree-node span { + padding: .1em .3em; + border-radius: 2px; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + } + +.v-tree-node-children { + padding-left: 16px; + } + +.v-tree-node-selected span { + background-color: #333; + } \ No newline at end of file diff --git a/WebContent/VAADIN/themes/chameleon/components/window/window.css b/WebContent/VAADIN/themes/chameleon/components/window/window.css new file mode 100644 index 0000000000..3034a58fbf --- /dev/null +++ b/WebContent/VAADIN/themes/chameleon/components/window/window.css @@ -0,0 +1,62 @@ +.v-window-closebox { + width: 14px; + height: 15px; + overflow: hidden; + text-indent: -50px; + background: transparent url(../../img/close-btn.png) no-repeat; + vertical-align: middle; + margin: 0; + top: .3em; + right: .4em; + z-index: 2; + } + +.v-ie6 .v-window-closebox { + background-image: url(../../img/close-btn-ie6.png); + } + +.v-window-closebox:hover { + background-position: 0 -25px; + } + +.v-window-closebox:active { + background-position: 0 -50px; + } + +.v-window { + background-image: none; + } + +.v-window-wrap { + border-radius: 3px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + background-image: url(../../img/grad-light-top.png); + background-repeat: repeat-x; + } + +.v-ie6 .v-window-wrap { + background: transparent !important; + } + +.v-window-outerheader { + padding: .2em 1.7em .5em 1.2em; + height: auto; + text-align: center; + } + +.v-window-header { + font-weight: normal; + } + +.v-window-footer { + height: 0; + position: static; + } + +.v-window-resizebox { + background: transparent url(../../img/resize.png) no-repeat; + width: 14px; + height: 14px; + bottom: 0; + } \ No newline at end of file diff --git a/WebContent/VAADIN/themes/chameleon/compound/compound.css b/WebContent/VAADIN/themes/chameleon/compound/compound.css new file mode 100644 index 0000000000..2a193ae46b --- /dev/null +++ b/WebContent/VAADIN/themes/chameleon/compound/compound.css @@ -0,0 +1,3 @@ +@import "sidebar-menu/sidebar-menu.css"; +@import "segment/segment.css"; +@import "toolbar/toolbar.css"; \ No newline at end of file diff --git a/WebContent/VAADIN/themes/chameleon/compound/segment/segment.css b/WebContent/VAADIN/themes/chameleon/compound/segment/segment.css new file mode 100644 index 0000000000..ad4431eeff --- /dev/null +++ b/WebContent/VAADIN/themes/chameleon/compound/segment/segment.css @@ -0,0 +1,43 @@ +.v-horizontallayout-segment .v-button { + border-radius: 0; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-left-width: 0; + zoom: 1; + } + +.v-horizontallayout-segment .v-button .v-button-wrap { + border-radius: 0; + -webkit-border-radius: 0; + -moz-border-radius: 0; + zoom: 1; + } + +.v-horizontallayout-segment .first { + -webkit-border-top-left-radius: 3px; + -webkit-border-bottom-left-radius: 3px; + -moz-border-radius-topleft: 3px; + -moz-border-radius-bottomleft: 3px; + border-left-width: 1px; + } + +.v-horizontallayout-segment .first .v-button-wrap { + -webkit-border-top-left-radius: 2px; + -webkit-border-bottom-left-radius: 2px; + -moz-border-radius-topleft: 2px; + -moz-border-radius-bottomleft: 2px; + } + +.v-horizontallayout-segment .last { + -webkit-border-top-right-radius: 3px; + -webkit-border-bottom-right-radius: 3px; + -moz-border-radius-topright: 3px; + -moz-border-radius-bottomright: 3px; + } + +.v-horizontallayout-segment .last .v-button-wrap { + -webkit-border-top-right-radius: 2px; + -webkit-border-bottom-right-radius: 2px; + -moz-border-radius-topright: 2px; + -moz-border-radius-bottomright: 2px; + } \ No newline at end of file diff --git a/WebContent/VAADIN/themes/chameleon/compound/sidebar-menu/sidebar-menu.css b/WebContent/VAADIN/themes/chameleon/compound/sidebar-menu/sidebar-menu.css new file mode 100644 index 0000000000..386a2492c6 --- /dev/null +++ b/WebContent/VAADIN/themes/chameleon/compound/sidebar-menu/sidebar-menu.css @@ -0,0 +1,37 @@ +.sidebar-menu * { + white-space: normal; + } + +.sidebar-menu .v-label { + font-size: 0.85em; + text-transform: uppercase; + font-weight: bold; + letter-spacing: 0.03em; + padding: 1em .9em .3em; + text-shadow: 0 1px 0 rgba(255,255,255,1); + } + +.sidebar-menu .v-nativebutton { + width: 100%; + padding: .1em 1.1em; + border: none; + background: transparent; + text-align: left; + } + +.sidebar-menu .v-nativebutton:focus { + outline: none; + font-weight: bold; + } + +.sidebar-menu .tab-selected, +.sidebar-menu .selected { + font-weight: bold; + background-color: #333; + color: #fff; + } + +.sidebar-menu .tab-selected:focus, +.sidebar-menu .selected:focus { + outline: none; + } \ No newline at end of file diff --git a/WebContent/VAADIN/themes/chameleon/compound/toolbar/toolbar.css b/WebContent/VAADIN/themes/chameleon/compound/toolbar/toolbar.css new file mode 100644 index 0000000000..594fc245a6 --- /dev/null +++ b/WebContent/VAADIN/themes/chameleon/compound/toolbar/toolbar.css @@ -0,0 +1,25 @@ +.v-csslayout-toolbar { + background: transparent url(../../img/grad-light-top.png) repeat-x; + border: 1px solid #b3b3b3; + border-width: 1px 0; + } + +.v-ie6 .v-csslayout-toolbar { + background-image: none; + } + +.v-csslayout-toolbar .v-csslayout-margin { + margin: 3px .3em 2px; + padding-bottom: 1px; + overflow: hidden; + } + +.v-csslayout-toolbar .v-button, +.v-csslayout-toolbar .segment { + margin-right: 2px; + float: left; + } + +.v-csslayout-toolbar .segment .v-button { + margin-right: 0; + } \ No newline at end of file diff --git a/WebContent/VAADIN/themes/chameleon/favicon.ico b/WebContent/VAADIN/themes/chameleon/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..e58158c02c46f37dc315a8f1c79fd46dfdae952a GIT binary patch literal 1150 zcmbu8ze>YU6o-G(qDTchIS8U-cLhOFTm*dzM}3AaiueZy2cN;w)xkH&?jQ&Xii(1$ z1s@=OKhgskZfn{me7T2n&v$ZjlSpHn&8E06Xs<5KNNNEoGDV&td33II2s!-19jt%` zV2j#I_yqU4fkFJJJ@5LrL;A-({PBwYQvMq52W(d8k@9!(yeDsP2Fp-~c;@ohChyu; znCjNdF8U}fi7AzZCsS>Jip&ChLR|m-`}h9+`@etxe)#a=|NrmbzdwEY z^!@wyFJHcV{`~pp&!4}3{d)KA-H#tXzJ2@l_3Kyb2;*%)6HGi^978H@O*z=g$e_S; zz~Ii;|LH#$NOyX+{V!S-IHy&Ze^263_P84b$6Y0k#9gh6`@(6!@H>c;=l`*7{6PH- Mp00i_>zopr0AF=yi2wiq literal 0 HcmV?d00001 diff --git a/WebContent/VAADIN/themes/chameleon/img/close-btn-ie6.png b/WebContent/VAADIN/themes/chameleon/img/close-btn-ie6.png new file mode 100644 index 0000000000000000000000000000000000000000..334b03769a283a6281ed6de45cf17c51ecba67e2 GIT binary patch literal 240 zcmeAS@N?(olHy`uVBq!ia0vp^d_c_2!3-oTqJ08@lw^r(L`iUdT1k0gQ7VIDN`6wR zf@f}GdTLN=VoGJ<$y6JlBCP-O&5yKC33hYugJ#55`Zb@7!1`33(+1`MtT?wkP1IC;7_hE&|j>51lIP~c#B z8yod~e_mP?%h}@x4s0@zdocNBMrvuOs;A4n%{g~ktEbMaW^H9WeWPVXXU8gAKKI}T aMh3^zY!}b3KWYjzjlt8^&t;ucLK6V(9bPy9 literal 0 HcmV?d00001 diff --git a/WebContent/VAADIN/themes/chameleon/img/close-btn.png b/WebContent/VAADIN/themes/chameleon/img/close-btn.png new file mode 100644 index 0000000000000000000000000000000000000000..a1337676e12df7aaa173f0dce1488fde4f9b490f GIT binary patch literal 1364 zcmV-a1*`grP)R+sAP8s`Dpi6-1wybxuw%)JEfPC6tXLo_0V|LS;wy#!N1?O+|U~1zkBY}40@;*s@g@Rijj^z@6J8XbMMTYxfY|*sKA>jiduZxfDFLG%`1ts;i;Ig8jA209+1dHhXf*08D=Rn1dwF@e#N+Y!i;9Z2@fZO# z;K(vQOd!5zZI`6t_v`BFw4y62e-*?w>u0%xV^ny%d?rD zo-U|j6iQ1=1#xR@>t0PwP2$lhC~RtK zQkH|gSy08KevXWdjcFPi8-EmN=KzU|i;KlsSy?u=SN{SUTUc0lK)%XuQ*ClHrkgb| zFd$D)Pe)c)SCxVC@^Z1hzFz9;>Iz|+2QYoOvdQ^60x7^9z{qSK=6t!1v50@WNy0yD zH^l!3QC2@dz35n#lhgoKW_ALk0IS$#fmnh}>irGi2hMj&m)7RJcyGnG);ThXG=dADGF_JHF zE(IC)g&pzI5`@)KtM1$YiDVwd@22{NhocdWFe>X_Gf@vJ(g*?kZHmuf-2&q&Aol*edv$kQ45 z840ohBKs{2udg8qZ0t4pDjcX>HB`&Rr#?A3`O(VCiiOHe0`dHTi7@To&aavv>Q=e?=(@&+ijJiAMbUO9iI5jnOyP~4PKQuI?NJm>+TR0^p1BCpEP)?0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU#9Z5t%RCwBA{Qv*|afVTV6EFe;$agdt za04bF{yR|k$dMyF)Ko_c3<{t>1A#AIyvS~EZ@ZBZk_wosZ&{D;ZgaB z=^8+{Z{PNTvGw)!4?+Wg>CmA=F5kX=<3Lx>%*_1P$jImfh%G58DF{^OfF#{buQG_9 zNfr(wBO|XeF){rI2GAQ#P0g>^9496w_De@c=Mjh<7#Mhsot^z3k~Cf13<{v%bi{B_ zS68RJdiCn_a&mI_f#s1Pwg7tm{5j|S`}e- z7#Yt~%PgR~4e3<|{ibKT0$BEZxNzaZDRT827#NrVQ=9<3+)dX)8U%j)`0*V`<-z#C zf|qOl{P~K#y}dVtgoOSQp?^P+5}=p62dWH$i^avoWiD8-U@fpQ$c`-T>gs9^%#t@a zI5;*EGJ}?w?pX|2cKip~X>D!oaQgJ=rr*DRD?qDsSY$C=zI>VW`0?ZIA|fI`I5{~* zk=+Q@&p^*CM%Ms>d9J6Y=ktdTA1+OsHjNorOUVMW4m^c;d3j}-nwowGwvFC`YBC&d z{7tVcM%Q)_GzI*zw6r|$>FL=7z-6;&m`N zU0vOEs;a8OKxPM)TI?^q3Te8wgMe9y4cNZXgJBjHma~3-e#>iWY7~*hL0DN?d6$Wa z$p&OGkbZji#ppM_%gFejiYbwiURjK80GLwl4aGrwdfJyxMYCqo!@&Rn1^^C_BK>ET RWaa<>002ovPDHLkV1gx=pm_iQ literal 0 HcmV?d00001 diff --git a/WebContent/VAADIN/themes/chameleon/img/date-btn-ie6.png b/WebContent/VAADIN/themes/chameleon/img/date-btn-ie6.png new file mode 100644 index 0000000000000000000000000000000000000000..d22411b260ede176e1b0800b9f3fc006159e2e21 GIT binary patch literal 341 zcmV-b0jmCqP)~v_V)Jo_xJPj^X={J>FMd~ z>+9_7?C$RF{r&y^{{HIf>hkjP@bK{T^z`}p`S0)V_4W1o`uhC*{P_6z@$vEh|NrRd z=pQ311ONa41$0tQQ~&?}{{Z{84pRUC0Fp^WK~#9!?9f{U5cu z>7gyrcnS27If&?ou8Jo0#N6s~<@~!du%<{xjMM-F8IBb46a*z+TXU?uh12=SS*i+L zut&z~TArV&sqb^yhMK1`$Y)FC+MQM?Ej2Agx!6|ekyXIfp#&D#&Q;EOrb@THV_Nlz nO{lBByZ?>3|KlI1mjD9*3;1bY;Xah000000NkvXXu0mjfw2ZYF literal 0 HcmV?d00001 diff --git a/WebContent/VAADIN/themes/chameleon/img/date-btn.png b/WebContent/VAADIN/themes/chameleon/img/date-btn.png new file mode 100644 index 0000000000000000000000000000000000000000..522a77539e0439890255bfd2f56148f4bbdb0777 GIT binary patch literal 693 zcmV;m0!safP)P000vR1^@s6Wpbtk0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU!S4l)cRCwBA{Qv*|aRwR#MxZ6Ww6=r^ zi2vfk*REaTkdTm=fAHWzK62z?7~~T-berYn<)?sXVPWCN_wLv5p;Ff z^t-++Jw z`9Ihq-U?k%KtSLqjLpTx_5S=Q^ z@!Hzj+RH%ZPatN;lX!jrF~`!SOXae&vy-ry#{?Bb#|)1iJ-QF1HUjaE=;-KozP`S{ zpnNcnjg5V+rKP2N@4;T;sEiElSh=_>1X9EJ5d}(QE zzLk{~*ySKKATgl&zeo{}f^quf9}rkrSbUs6fBs5ALBZ!x!+vLEWT*mNt?lLIwF#u| z*RNlHi17(lOQ0?TMd~e}LBBwjg5(YyIFQ1^!ot|r)&?$)Dk>@hLE=Au{``Z>5}c_E z7$<*Wav)#8Ea~j*+yaar(F+$Y2m@1;TSP>}T`WGqNWxe%BUBSuPE%9!0xK))cM#v- z-+wnKNdqlVymjlAg`1n(X^=S7Q8+WB0G7=79$4_L2Ri-`h_9%qC<00dz-0XnriPP~ zlT}SkP3rRH%a4HS{sV(h8<^TsfSFMcn71MefDIU>6dLBpiMp7lj}ht3Nl! zJ~MtE7m*_y!!ak5D<8E z)SH&>#>2*qh=L#(Y9JeQ92UrsjJHTXa~u`Qj)}ZYM1mk0gd!WpJTk^RF^MA^yG%od zAQ^)o7>6Ml!Y?HBWHj>t006&9L_t(|+HB8B4uVh+1kewN;Dib&3L=h73gWE%^8VM7 z2ExKvNpD_KNf-P4hW(YEnhHXy_8Qqu&JrM+Yubb}hHs4>nPNL>nc6 z2a7*4bR8#~s~3)Z7Dv(GSzRMm!}xvg%{GZTy)2H8#x`91lD55v36?nGGgG@fC6*ga zRGKZYy`UMU)a3l^K`Z|VU63Fb3P{fRQgu~xGUj@eJZQJWElJpk1QQWn4=73%o$M_d zN)4_`NjP4MruA;uT!WKD5j1T{uY@w~+&u`x(@`9>VgViH6MpZI@3Qo9Uem}s>mh9< zqM?-Q~Z5H3v^hi#AEouhGQK|tVSHbl=!O*|g kX?WP{vF?|Z_?G|!0H7d(e){T>YybcN07*qoM6N<$g2P3?a{vGU literal 0 HcmV?d00001 diff --git a/WebContent/VAADIN/themes/chameleon/img/grad-dark-bottom.png b/WebContent/VAADIN/themes/chameleon/img/grad-dark-bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..3d86693c5f9c9f399663b570f07d5a85cf7d451e GIT binary patch literal 118 zcmeAS@N?(olHy`uVBq!ia0vp^j6lrA!3HEtFPV4&DajJoh?3y^w370~qErUQl>DSr z1<%~X^wgl##FWaylc_d9MG~Gajv*Ddl9Cb<5|R$7%m|F+&=YoOU}RuPX3)9DqTCKt O!{F)a=d#Wzp$Py}k{)0H literal 0 HcmV?d00001 diff --git a/WebContent/VAADIN/themes/chameleon/img/grad-dark-bottom2.png b/WebContent/VAADIN/themes/chameleon/img/grad-dark-bottom2.png new file mode 100644 index 0000000000000000000000000000000000000000..1bf7a557ef275808d33ce0203e5ca62301c37d7a GIT binary patch literal 123 zcmeAS@N?(olHy`uVBq!ia0vp^j6lrB!3HFm1ilyoDajJoh?3y^w370~qErUQl>DSr z1<%~X^wgl##FWaylc_d9MY5hQjv*Ddk`jO*kxA%{LKCw~K@*3bz(F>F1O}!n4CYDSr z1<%~X^wgl##FWaylc_d9MM|D7jv*Ddk`fXU9|6H_V+Po~-c6&ZTEIEGZ*O8WEv|NmMxwzjVhe}p^g89tV){1NTguXyqP p#24}bJeR&pcl|6H_V+Po~-c6|6H_V+Po~-c6`6UuIEGZ*T5{wd7lVL+!$DQgTT@g%Ev&1rbWbmqFx;%W u{i|7Kz;d^#T$-s~BAOG_-9KFxOkhxEi0083o>dAofx*+&&t;ucLK6VtGA!)? literal 0 HcmV?d00001 diff --git a/WebContent/VAADIN/themes/chameleon/img/indeterminate-progress.gif b/WebContent/VAADIN/themes/chameleon/img/indeterminate-progress.gif new file mode 100644 index 0000000000000000000000000000000000000000..46136f03392b77af06921cbed28a8c57f503a0fe GIT binary patch literal 9571 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 literal 0 HcmV?d00001 diff --git a/WebContent/VAADIN/themes/chameleon/img/input-bg.png b/WebContent/VAADIN/themes/chameleon/img/input-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..08b67dd7bd713d19cf7306dbee7b6b3f36db39ec GIT binary patch literal 124 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx3?wy9o9qTsk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5X*aCb)T<_eu17tps`S=J(@p!s8hE&{2N?_nHU|?WkVD!(8 RdXpg zBHlhM#7sfma%I6SBG*qnttue3DIc~hAGN zQai_5Pu+88);KBDZD89pC9)_U-$pXqW>~d7GulHjg#`oIVNt`2yWZX3-+hS7MV^r*tjNUUK_Qb-JCLQ?P+}}Sf zurVjQF(|Ml;-MTHI?~zfeZmN;%s(D%wsv-A_B-Qa-dRBHTDBrwF~nC)xoyBqa9xA^-paj7da6RCwBA_)jum7}YYQw1h|}hLEHs zBqWkCGAV=tOS3VI! ztd>Zw-1eR2^)rp~l8Mw3A}-76bn&-UX0s_<2yt3M9fG*Ewfy`p=vnioh7hAAWU_L$ z+ocz;TC7-eoaL|tG=`RtP*Ef1*EMQ;zZ9zrD9BDGMhlne(<6?>YVl0dwPd7>+d>Iy z2}#xc@af#b&9(bi&f-vaD+oRjNk~hQ-0d7zz6BdrA7Glo&K}6@&MQbjONhU$f|J3* z_Zq$NPqy*#Iqp23&K8MZOQeIbl#I}+cLy2b8Mb}F8#TvrG^X5jr{TK=)e_AaD_wtBe-V$XY@o+0q*_H787% zAhLUQ{HA9>#srB#saDa@5S+Gn@mlNgcqb$zWbK$*wS0FLkd>f$?CC_*5MV$FU}qcc z^Kn3sZ=zas%OoGfykfv?&YO%w3or%OIr*5x0Kwn+-K$nLf|)UESbybmC1KYRDq1ZS z7~2sG1WotWADE|O4`RmJ?>mhe&`xWXGz)AX z%~PeX1dA3g`ES?5Z~?RLDU&g^M0y2WP6@{jQZCC+PR8_0NMce_C@zqclo%2+TD=ZC cEdT)q0Mp_7gnLelxc~qF07*qoM6N<$f_Fo-KL7v# literal 0 HcmV?d00001 diff --git a/WebContent/VAADIN/themes/chameleon/img/label-error-icon.png b/WebContent/VAADIN/themes/chameleon/img/label-error-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8802ac417cfdd22462294331a1eaa60960dededf GIT binary patch literal 928 zcmV;R17G}!P)IqC84TJsC)_tE+A}4= zE+fA!BHcPGwJ9IKE+gMPEW9fqyDlTNDC0M9x-BB%L^0nyE4Dc=*dr78#=m_T6nz;J z*)t@zDK|qx+)*tPB`5~Gt^^L+c6=)Eh5xnQ{YfUz)eA=Bpco} zBe5(Y^YgbmFx6yL%v@02IV#*=PrE`m{`>sDNj~38L)t7I z+&C!RI4H9(CE-FY|NsBE76{&2NV6^^xho*KDIeicJGC<@+geKAI3(679f27XwJRXj zUQXgdF10o*$5ctvU{d2dCA%FF+BYZKTTHk10#dLNWUC^}a46;$&geU{dtG zy1z+1+F?-fl7qc0BHA=2wkaRpIVk5}QS`B=+B7BFFe1M!A=@`7zAPcYOhL3XD%)8} z=W1fADj?uMF6nx5-Ap>YM?BIe9JMVX*mrEkR!YGvA=@@5wlpc-T1eVCDZeZt+Fww; zDEVRHaEgaQYm$3ksH2cP) z^kfrGT+*#8<{28V4VK0(y+|d`My<(7fo~HwX_4h})|H7J6${rmVv}APA(hY`xw6#?|c)SF4Nu<#455@17?77+*)>SAS$iLN$K zZD9@2ESr{wES=gAUOI=FxyN>TwmCC1b7xh^Ty})?rrhQdK_(DLf>6u+>=luu`6O~Q z7?FUwju$VIG_TJj1{4rDqXxAv^&!r{pQpQMX}Y76Ms73O0Mouu>)Rz%IvUZi0MEEg z)wc}g(Ez)e1)6vu*0=!Jya3d;0PNWT>c#-gxm5A+z2?aP`|h zQ5V&^Hrdsq{QJh&x)sjCdi3Q5&+#Kc62HxDQ*}eew_r&7O zHRb2K?cOSTVh-ok2kz~=&AevTxdq$8G2h7n)wBW5w^h)@g3rNr-P)_)#|GWR0Lh>L zbL#;#?rC?)3X56 zwE+G6$N&Dv+Q9(EoB-0X0Q~#K{rkn*)~5aZ#m&5L`T55F{Kc!02;Rm5-^mm7^uqS_ z!`r|#+`=^T^TCI14%oaLz@G+PKpWk~4B5c|@bA3F%B$qiD%`^_rGhBm#sST}YuwS0 z+SHlUx;@yp0M)ew&(g8t)R^4Of2ocL{Q1QC`NPu3i2M4*qNk0nv6j)dKJMTq^z*~! z=eO+LFVDt>@zwz3%>d@qA=bG7;>{+~vIg_?!{Esg^Yz5rz!~1i9P{Q=^z+2->b2Ot zHnEZ@*S-q&^}!ko72epMK`R#D-LTNQP@H=r?eD~%d?UZ2E!)L8_xH%($285%pVzz_ z>DqeOybzFf4AZj%)U^Z8wnVkMoZ7zu+uE$nvoYS=tli2+_4UNszX$2qFVeFB)3N~N z!T|sN%Hz!+)Up8C!vovF1Kh&^+rk3i$}r-?0Mxc5*Si4a#{kR9py0b=F||?&X}TrCaZ`h+rT3J{KnI{Jk+>3-NiE1y*%vexSODe z-o+>P_r>1D0P5+uyp{#cx@rIZ$X97}d;kCfkV!;ARCwBA_)jum7}YYgv|Rt6PLh`N z^iuAU>~vDJWJ@$n+fR!kSXSwqUWqu3zcI zYRTTn5$Egg=55a)L8O*+E+5X9@>>4BOl5WX#AzuN<~^WlU|=B6_D_m6ofs|Y(&oD_ zTUuCHxU0sACYBTs){-u<*WStPmX%tY*4vjxsod#=wPar`V|wA7#o~qH#qQj>Q|lDyBax0zOS<$fjo9|WLeHgs zLd}95g@w0QeiKb9#iwN^19Rj0GoGG$3e8H#1@$~VJ^Ak$iJ%2EvX+AEi#Dg8UDDIj zduWoTl=kQ$kfrxzbGTz>I!;@-r2@aM696lt<9XQUltWt-9o7W5ti(wpfy9W__XJKlY!?V9Ah8+%y zii!{%_L#pD59Xt5N&mHDOYc4%>|oFP56o+AF|;HsntFQf4>N4whwQvA5#tgJE!+X- zjE5g9Vg-*G&;HqlX-kQ;aloG}?BLJ$&IClvz_q03XWN#~$;1Zcl;_*#r>A30mKnIf gXpKAsv;YJc0Ek!ZYnPBjZ~y=R07*qoM6N<$f~}HVuK)l5 literal 0 HcmV?d00001 diff --git a/WebContent/VAADIN/themes/chameleon/img/label-warning-icon.png b/WebContent/VAADIN/themes/chameleon/img/label-warning-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..67886c067c45f9ecd1a2b1cc40328d580eb1884f GIT binary patch literal 908 zcmV;719SX|P)k0O0N%y`+Q9(f%mDlQ%KrVxDvJR|H^%8I^4es+r0(p*#P$S!Q8?C_x8g6{mI?H72eW&9^d&JNNj>^!3Nz#{k~J8Q|4};MRz!qI}%RSo-)rt0#RKBW2i3R$bznE%#Q@;R0N}^~+Pwx`J}ctch~3R= z`T5D$y8vNDE&u+?;Mk7Yy#V+4$l%2b-^DE6&THJkDBZ+3=F|Y)!vN*d0NTI+-NQEK z;;7xpQ{Tuw+{#?sz6|5upWV%8<vN=j5*U^SoU@D}r%7#F+-&z#r$<0E2Tq-_w2U?7ZX40P5(q{rt)H_sID8$!k(F z-pByexd7e368HDWN+u%t_rl%7H|E@l6#+(fI_s7kyD(B^`?CG)M z+?uhfg75FWe{DP1y#VX#we|ML{{6@Q|H%LT$m0wo@&Et<9!W$&RCwBASdAAj3?6AI zHhj{?P1AUAON*M9&X|W&dR3o;LB;}cT+-r=*4-&FTDYXEtNa5q&59eaOLNam^%V$E zb@sq6ZB!T>rz0(=o!E~}I<~TncT&87WYFv$B}{2iD?>NlWg<)4g(j=mu0oeywW3qm zjw>swB|F?JH%|;*T1h5AH}<_-;Zc9{}EG-)=$w4!=eR`%Ku4pvrvzeRIUq*rn4 zrZe+%a@2{03UPAg$mVykAxpEBnMAU%u&9|%oxla8lO!B%kfoW0UW9bQ!uhRCARs);0z%K#OkM?-=2`CQ#E1+m7kkSibgxt_uVFv|o=aSi>|Tip i&_WFj41#O`5MTi5hw%3!hK}+80000AP|I^G^vsTR(m(qc-1@J*ZV)2oS}{T zgBiXh%K#y&+Bn^iZp|vlswbX|Q0yKw;|LuYW8loem%6 zJW6sctaEB_?o9D@q=b!D)00008U}fi7AzZCsS>Jis}M_!@p6XWUP7*cV|r8|5g-#esyfPtxvIbe#5=LVoX44$rjF6*2UngHBhiw^(* literal 0 HcmV?d00001 diff --git a/WebContent/VAADIN/themes/chameleon/img/resize.png b/WebContent/VAADIN/themes/chameleon/img/resize.png new file mode 100644 index 0000000000000000000000000000000000000000..86ae55eced537d1f4eb1034f255a42e8ba0aa1a1 GIT binary patch literal 287 zcmeAS@N?(olHy`uVBq!ia0vp^+#t-s1|(OmDOUqhk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5X4tlychE&{2`t$$4J+s|`6DLk^ExFZDp)Rc0>f__{_R*t9 zHP6q@-F=L~NK%@OX~H471&3z(&$BUP=rR;sE1=WooG2ggFlU03o}OOvf(W^`q?A_w z`F5r(nki{%_rzso-!?Cjn11Nht5+2Z_Aq$Ni)dZy@Uv#dp-zX^&kkHafBXo!Aj))f zn!II^%WOwi*H(XT@71g;E^xfcekW<1*5V+#Nn2C%YW%*Mn_MT-*({q`JEkTcWIlQ) jU>2v=ah^xaED{Ww>PJ`gKjU}>^bCWitDnm{r-UW|ajk9_ literal 0 HcmV?d00001 diff --git a/WebContent/VAADIN/themes/chameleon/img/split-handle-ie6.png b/WebContent/VAADIN/themes/chameleon/img/split-handle-ie6.png new file mode 100644 index 0000000000000000000000000000000000000000..2e23c10d9091551e2eac18faf50babfc025108a7 GIT binary patch literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^EFjFm3?%32=lK9B$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1G5&=FTt_B7M>(;GPS64rD=+LA|lZ1qXu3x_nlzjL2@@pW) zR1)MD{GZ|Jb^|XUPtMcDF{I*FQbI}s5GAFjCnY4NrY0t&q@}TN7%(tyX3*c-eNzRf OlEKr}&t;ucLK6T%z%<7I literal 0 HcmV?d00001 diff --git a/WebContent/VAADIN/themes/chameleon/img/split-handle.png b/WebContent/VAADIN/themes/chameleon/img/split-handle.png new file mode 100644 index 0000000000000000000000000000000000000000..01085cdd4dde2dd54154342e3e108054cc1d97f8 GIT binary patch literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1h!3HF`e}{MjDajJoh?3y^w370~qErUQl>DSr z1<%~X^wgl##FWaylc_d9MU|c|jv*Ddl2Q^99xx=uDu^*Z3U{cPIdSsj%U!c)-=5Lk z?fvcc_Wb_+H9w2y&Ft;FN0E5mCODSr z1<%~X^wgl##FWaylc_d9MScN3A+GG~?9--A)7RG*6%{>t^r)PioRE;viWMuKK7IP~ z<;%y99|s2q&zm=|x3`y%k55cY?81c$FJ8Pjbm$NZ3kwGahrGP}#*G_gWo4C=lpa2O z=rUnlAkbu~k|4j}|F{5yh!VpspsE;87srr_TOsExg&Gt@m@jlRaC5B4+4sf8p*CnrCS6pe49K!iLx$8*MJmEXrD|fzq oeCe&~uiyVqIzQ5w&%n&^<&eNnwqJ+t0qtS%boFyt=akR{08iS6dH?_b literal 0 HcmV?d00001 diff --git a/WebContent/VAADIN/themes/chameleon/img/tab-arrows.png b/WebContent/VAADIN/themes/chameleon/img/tab-arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..8a16d80e5578f5829a64624bd18e32da62923680 GIT binary patch literal 291 zcmeAS@N?(olHy`uVBq!ia0vp^B0$W=!3HF^gw{O+Qj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS>JijI1^IEGZ*nls6s?~sB>J7;EtNZ94A-Qfic!PC{xWt~$(69A-}bc+B0 literal 0 HcmV?d00001 diff --git a/build/build.xml b/build/build.xml index 3197f15c56..de31bb1121 100644 --- a/build/build.xml +++ b/build/build.xml @@ -269,10 +269,10 @@ + - @@ -819,7 +819,7 @@ - + diff --git a/build/buildhelpers/com/vaadin/buildhelpers/CompileDefaultTheme.java b/build/buildhelpers/com/vaadin/buildhelpers/CompileDefaultTheme.java index 84c025a720..eab61315a1 100644 --- a/build/buildhelpers/com/vaadin/buildhelpers/CompileDefaultTheme.java +++ b/build/buildhelpers/com/vaadin/buildhelpers/CompileDefaultTheme.java @@ -26,6 +26,7 @@ public class CompileDefaultTheme { private static final String RUNO = "runo"; private static final String REINDEER = "reindeer"; private static final String LIFERAY = "liferay"; + private static final String CHAMELEON = "chameleon"; /** * @param args @@ -45,6 +46,9 @@ public class CompileDefaultTheme { combineTheme(new String[] { BASE, RUNO }, false, ver); combineTheme(new String[] { BASE, REINDEER }, true, ver); combineTheme(new String[] { BASE, LIFERAY }, false, ver); + // Chameleon uses some images from reindeer but does not require + // compilation together with it + combineTheme(new String[] { BASE, CHAMELEON }, false, ver); } /** diff --git a/src/com/vaadin/ui/themes/ChameleonTheme.java b/src/com/vaadin/ui/themes/ChameleonTheme.java new file mode 100644 index 0000000000..0af522b634 --- /dev/null +++ b/src/com/vaadin/ui/themes/ChameleonTheme.java @@ -0,0 +1,361 @@ +/* +@ITMillApache2LicenseForJavaFiles@ + */ +package com.vaadin.ui.themes; + + +public class ChameleonTheme extends BaseTheme { + + public static final String THEME_NAME = "Chameleon"; + + /*************************************************************************** + * Label styles + **************************************************************************/ + + /** + * Large font for main application headings + */ + public static final String LABEL_H1 = "h1"; + + /** + * Large font for different sections in the application + */ + public static final String LABEL_H2 = "h2"; + + /** + * Font for sub-section headers + */ + public static final String LABEL_H3 = "h3"; + + /** + * Font for paragraphs headers + */ + public static final String LABEL_H4 = "h4"; + + /** + * Big font for important or emphasized texts + */ + public static final String LABEL_BIG = "big"; + + /** + * Small and a little lighter font + */ + public static final String LABEL_SMALL = "small"; + + /** + * Very small and lighter font for things such as footnotes and component + * specific informations. Use carefully, since this style will usually + * reduce legibility. + */ + public static final String LABEL_TINY = "tiny"; + + /** + * Adds color to the text (usually the alternate color of the theme) + */ + public static final String LABEL_COLOR = "color"; + + /** + * Adds a warning icon on the left side and a yellow background to the label + */ + public static final String LABEL_WARNING = "warning"; + + /** + * Adds an error icon on the left side and a red background to the label + */ + public static final String LABEL_ERROR = "error"; + + /** + * Adds a spinner icon on the left side of the label + */ + public static final String LABEL_LOADING = "loading"; + + /*************************************************************************** + * Button styles + **************************************************************************/ + + /** + * Default action style for buttons (the button that gets activated when + * user presses 'enter' in a form). Use sparingly, only one default button + * per screen should be visible. + */ + public static final String BUTTON_DEFAULT = "default"; + + /** + * Small sized button, use for context specific actions for example + */ + public static final String BUTTON_SMALL = "small"; + + /** + * Big button, use to get more attention for the button action + */ + public static final String BUTTON_BIG = "big"; + + /** + * Adds more padding on the sides of the button. Makes it easier for the + * user to hit the button. + */ + public static final String BUTTON_WIDE = "wide"; + + /** + * Adds more padding on the top and on the bottom of the button. Makes it + * easier for the user to hit the button. + */ + public static final String BUTTON_TALL = "tall"; + + /** + * Removes all graphics from the button, leaving only the caption and the + * icon visible. Useful for making icon-only buttons and toolbar buttons. + */ + public static final String BUTTON_BORDERLESS = "borderless"; + + /** + * Places the button icon on top of the caption. By default the icon is on + * the left side of the button caption. + */ + public static final String BUTTON_ICON_ON_TOP = "icon-on-top"; + + /** + * Places the button icon on the right side of the caption. By default the + * icon is on the left side of the button caption. + */ + public static final String BUTTON_ICON_ON_RIGHT = "icon-on-right"; + + /** + * Removes the button caption and only shows its icon + */ + public static final String BUTTON_ICON_ONLY = "icon-only"; + + /** + * Makes the button look like it is pressed down. Useful for creating a + * toggle button. + */ + public static final String BUTTON_DOWN = "down"; + + /*************************************************************************** + * TextField styles + **************************************************************************/ + + /** + * Small sized text field with small font + */ + public static final String TEXTFIELD_SMALL = "small"; + + /** + * Large sized text field with big font + */ + public static final String TEXTFIELD_BIG = "big"; + + /** + * Adds a magnifier icon on the left side of the fields text + */ + public static final String TEXTFIELD_SEARCH = "search"; + + /*************************************************************************** + * Select styles + **************************************************************************/ + + /** + * Small sized select with small font + */ + public static final String SELECT_SMALL = "small"; + + /** + * Large sized select with big font + */ + public static final String SELECT_BIG = "big"; + + /** + * Adds a magnifier icon on the left side of the fields text + */ + public static final String COMBOBOX_SEARCH = "search"; + + /** + * Adds a magnifier icon on the left side of the fields text + */ + public static final String COMBOBOX_SELECT_BUTTON = "select-button"; + + /*************************************************************************** + * DateField styles + **************************************************************************/ + + /** + * Small sized date field with small font + */ + public static final String DATEFIELD_SMALL = "small"; + + /** + * Large sized date field with big font + */ + public static final String DATEFIELD_BIG = "big"; + + /*************************************************************************** + * Panel styles + **************************************************************************/ + + /** + * Removes borders and background color from the panel + */ + public static final String PANEL_BORDERLESS = "borderless"; + + /** + * Adds a more vibrant header for the panel, using the alternate color of + * the theme, and adds slight rounded corners (not supported in all + * browsers) + */ + public static final String PANEL_BUBBLE = "bubble"; + + /*************************************************************************** + * SplitPanel styles + **************************************************************************/ + + /** + * Reduces the split handle to a minimal size (1 pixel) + */ + public static final String SPLITPANEL_SMALL = "small"; + + /*************************************************************************** + * TabSheet styles + **************************************************************************/ + + /** + * Removes borders and background color from the tab sheet + */ + public static final String TABSHEET_BORDERLESS = "borderless"; + + /*************************************************************************** + * Accordion styles + **************************************************************************/ + + /** + * Makes the accordion background opaque (non-transparent) + */ + public static final String ACCORDION_OPAQUE = "opaque"; + + /*************************************************************************** + * Table styles + **************************************************************************/ + + /** + * Removes borders and background color from the table + */ + public static final String TABLE_BORDERLESS = "borderless"; + + /** + * Makes the column header and content font size smaller inside the table + */ + public static final String TABLE_SMALL = "small"; + + /** + * Makes the column header and content font size bigger inside the table + */ + public static final String TABLE_BIG = "big"; + + /** + * Adds a light alternate background color to even rows in the table. + */ + public static final String TABLE_STRIPED = "striped"; + + /*************************************************************************** + * ProgressIndicator styles + **************************************************************************/ + + /** + * Reduces the height of the progress bar + */ + public static final String PROGRESS_INDICATOR_SMALL = "small"; + + /** + * Increases the height of the progress bar. If the indicator is in + * indeterminate mode, shows a bigger spinner than the regular indeterminate + * indicator. + */ + public static final String PROGRESS_INDICATOR_BIG = "big"; + + /** + * Displays an indeterminate progress indicator as a bar with animated + * background stripes. This style can be used in combination with the + * "small" and "big" styles. + */ + public static final String PROGRESS_INDICATOR_INDETERMINATE_BAR = "bar"; + + /*************************************************************************** + * Window styles + **************************************************************************/ + + /** + * Sub-window style that makes the window background opaque (i.e. not + * semi-transparent). + */ + public static final String WINDOW_OPAQUE = "opaque"; + + /*************************************************************************** + * Compound styles + **************************************************************************/ + + /** + * Creates a context for a segment button control. Place buttons inside the + * segment, and add "first" and "last" style names + * for the first and last button in the segment. Then use the + * {@link #BUTTON_DOWN} style to indicate button states. + * + * E.g. + * + *
+     * HorizontalLayout ("segment")
+     *   + Button ("first down")
+     *   + Button ("down")
+     *   + Button
+     *    ...
+     *   + Button ("last")
+     * 
+ * + * You can also use most of the different button styles for the contained + * buttons (e.g. {@link #BUTTON_BIG}, {@link #BUTTON_ICON_ONLY} etc.). + */ + public static final String COMPOUND_HORIZONTAL_LAYOUT_SEGMENT = "segment"; + + /** + * Use this mixin-style in combination with the + * {@link #COMPOUND_HORIZONTAL_LAYOUT_SEGMENT} style to make buttons with + * the "down" style use the themes alternate color (e.g. blue instead of + * gray). + * + * E.g. + * + *
+     * HorizontalLayout ("segment segment-alternate")
+     *   + Button ("first down")
+     *   + Button ("down")
+     *   + Button
+     *    ...
+     *   + Button ("last")
+     * 
+ */ + public static final String COMPOUND_HORIZONTAL_LAYOUT_SEGMENT_ALTERNATE = "segment-alternate"; + + /** + * Creates an iTunes-like menu from a CssLayout or a VerticalLayout. Place + * plain Labels and NativeButtons inside the layout, and you're all set. + * + * E.g. + * + *
+     * CssLayout ("sidebar-menu")
+     *   + Label
+     *   + NativeButton
+     *   + NativeButton
+     *    ...
+     *   + Label
+     *   + NativeButton
+     * 
+ */ + public static final String COMPOUND_LAYOUT_SIDEBAR_MENU = "sidebar-menu"; + + /** + * Adds a toolbar-like background for the layout, and aligns Buttons and + * Segments horizontally. Feel free to use different buttons styles inside + * the toolbar, like {@link #BUTTON_ICON_ON_TOP} and + * {@link #BUTTON_BORDERLESS} + */ + public static final String COMPOUND_CSSLAYOUT_TOOLBAR = "toolbar"; +} -- 2.39.5