From 618d980dc7dc64be05ee0b3cec29c5efa0f7c698 Mon Sep 17 00:00:00 2001 From: Kevin Granger Date: Thu, 29 Aug 2013 15:48:14 +0200 Subject: [PATCH] [+] add css for graph and temp avatar --- admin-dev/themes/default/css/nv.d3.css | 753 +++++++++++++++++++++++++ img/prestashop-avatar.png | Bin 0 -> 8642 bytes 2 files changed, 753 insertions(+) create mode 100755 admin-dev/themes/default/css/nv.d3.css create mode 100644 img/prestashop-avatar.png diff --git a/admin-dev/themes/default/css/nv.d3.css b/admin-dev/themes/default/css/nv.d3.css new file mode 100755 index 000000000..36282e4c5 --- /dev/null +++ b/admin-dev/themes/default/css/nv.d3.css @@ -0,0 +1,753 @@ + +/******************** + * HTML CSS + */ + + +.chartWrap { + margin: 0; + padding: 0; + overflow: hidden; +} + +/******************** + Box shadow and border radius styling +*/ +.nvtooltip.with-3d-shadow, .with-3d-shadow .nvtooltip { + -moz-box-shadow: 0 5px 10px rgba(0,0,0,.2); + -webkit-box-shadow: 0 5px 10px rgba(0,0,0,.2); + box-shadow: 0 5px 10px rgba(0,0,0,.2); + + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} + +/******************** + * TOOLTIP CSS + */ + +.nvtooltip { + position: absolute; + background-color: rgba(255,255,255,1.0); + padding: 1px; + border: 1px solid rgba(0,0,0,.2); + z-index: 10000; + + font-family: Arial; + font-size: 13px; + text-align: left; + pointer-events: none; + + white-space: nowrap; + + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +/*Give tooltips that old fade in transition by + putting a "with-transitions" class on the container div. +*/ +.nvtooltip.with-transitions, .with-transitions .nvtooltip { + transition: opacity 250ms linear; + -moz-transition: opacity 250ms linear; + -webkit-transition: opacity 250ms linear; + + transition-delay: 250ms; + -moz-transition-delay: 250ms; + -webkit-transition-delay: 250ms; +} + +.nvtooltip.x-nvtooltip, +.nvtooltip.y-nvtooltip { + padding: 8px; +} + +.nvtooltip h3 { + margin: 0; + padding: 4px 14px; + line-height: 18px; + font-weight: normal; + background-color: rgba(247,247,247,0.75); + text-align: center; + + border-bottom: 1px solid #ebebeb; + + -webkit-border-radius: 5px 5px 0 0; + -moz-border-radius: 5px 5px 0 0; + border-radius: 5px 5px 0 0; +} + +.nvtooltip p { + margin: 0; + padding: 5px 14px; + text-align: center; +} + +.nvtooltip span { + display: inline-block; + margin: 2px 0; +} + +.nvtooltip table { + margin: 6px; +} + +.nvtooltip table td { + padding-right: 9px; + padding-bottom: 3px; + vertical-align: middle; +} + +.nvtooltip table td.key { + font-weight:normal; +} +.nvtooltip table td.value { + text-align: right; + font-weight: bold; +} + +.nvtooltip table td.legend-color-guide div { + width: 8px; + height: 8px; + vertical-align: middle; +} +.nvtooltip-pending-removal { + position: absolute; + pointer-events: none; +} + + +/******************** + * SVG CSS + */ + + +svg { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + /* Trying to get SVG to act like a greedy block in all browsers */ + display: block; + width:100%; + height:100%; +} + + +svg text { + font: normal 12px Arial; +} + +svg .title { + font: bold 14px Arial; +} + +.nvd3 .nv-background { + fill: white; + fill-opacity: 0; + /* + pointer-events: none; + */ +} + +.nvd3.nv-noData { + font-size: 18px; + font-weight: bold; +} + + +/********** +* Brush +*/ + +.nv-brush .extent { + fill-opacity: .125; + shape-rendering: crispEdges; +} + + + +/********** +* Legend +*/ + +.nvd3 .nv-legend .nv-series { + cursor: pointer; +} + +.nvd3 .nv-legend .disabled circle { + fill-opacity: 0; +} + + + +/********** +* Axes +*/ +.nvd3 .nv-axis { + pointer-events:none; +} + +.nvd3 .nv-axis path { + fill: none; + stroke: #000; + stroke-opacity: .75; + shape-rendering: crispEdges; +} + +.nvd3 .nv-axis path.domain { + stroke-opacity: .75; +} + +.nvd3 .nv-axis.nv-x path.domain { + stroke-opacity: 0; +} + +.nvd3 .nv-axis line { + fill: none; + stroke: #e5e5e5; + shape-rendering: crispEdges; +} + +.nvd3 .nv-axis .zero line, +/*this selector may not be necessary*/ .nvd3 .nv-axis line.zero { + stroke-opacity: .75; +} + +.nvd3 .nv-axis .nv-axisMaxMin text { + font-weight: bold; +} + +.nvd3 .x .nv-axis .nv-axisMaxMin text, +.nvd3 .x2 .nv-axis .nv-axisMaxMin text, +.nvd3 .x3 .nv-axis .nv-axisMaxMin text { + text-anchor: middle +} + + + +/********** +* Brush +*/ + +.nv-brush .resize path { + fill: #eee; + stroke: #666; +} + + + +/********** +* Bars +*/ + +.nvd3 .nv-bars .negative rect { + zfill: brown; +} + +.nvd3 .nv-bars rect { + zfill: steelblue; + fill-opacity: .75; + + transition: fill-opacity 250ms linear; + -moz-transition: fill-opacity 250ms linear; + -webkit-transition: fill-opacity 250ms linear; +} + +.nvd3 .nv-bars rect.hover { + fill-opacity: 1; +} + +.nvd3 .nv-bars .hover rect { + fill: lightblue; +} + +.nvd3 .nv-bars text { + fill: rgba(0,0,0,0); +} + +.nvd3 .nv-bars .hover text { + fill: rgba(0,0,0,1); +} + + +/********** +* Bars +*/ + +.nvd3 .nv-multibar .nv-groups rect, +.nvd3 .nv-multibarHorizontal .nv-groups rect, +.nvd3 .nv-discretebar .nv-groups rect { + stroke-opacity: 0; + + transition: fill-opacity 250ms linear; + -moz-transition: fill-opacity 250ms linear; + -webkit-transition: fill-opacity 250ms linear; +} + +.nvd3 .nv-multibar .nv-groups rect:hover, +.nvd3 .nv-multibarHorizontal .nv-groups rect:hover, +.nvd3 .nv-discretebar .nv-groups rect:hover { + fill-opacity: 1; +} + +.nvd3 .nv-discretebar .nv-groups text, +.nvd3 .nv-multibarHorizontal .nv-groups text { + font-weight: bold; + fill: rgba(0,0,0,1); + stroke: rgba(0,0,0,0); +} + +/*********** +* Pie Chart +*/ + +.nvd3.nv-pie path { + stroke-opacity: 0; + transition: fill-opacity 250ms linear, stroke-width 250ms linear, stroke-opacity 250ms linear; + -moz-transition: fill-opacity 250ms linear, stroke-width 250ms linear, stroke-opacity 250ms linear; + -webkit-transition: fill-opacity 250ms linear, stroke-width 250ms linear, stroke-opacity 250ms linear; + +} + +.nvd3.nv-pie .nv-slice text { + stroke: #000; + stroke-width: 0; +} + +.nvd3.nv-pie path { + stroke: #fff; + stroke-width: 1px; + stroke-opacity: 1; +} + +.nvd3.nv-pie .hover path { + fill-opacity: .7; +} +.nvd3.nv-pie .nv-label { + pointer-events: none; +} +.nvd3.nv-pie .nv-label rect { + fill-opacity: 0; + stroke-opacity: 0; +} + +/********** +* Lines +*/ + +.nvd3 .nv-groups path.nv-line { + fill: none; + stroke-width: 1.5px; + /* + stroke-linecap: round; + shape-rendering: geometricPrecision; + + transition: stroke-width 250ms linear; + -moz-transition: stroke-width 250ms linear; + -webkit-transition: stroke-width 250ms linear; + + transition-delay: 250ms + -moz-transition-delay: 250ms; + -webkit-transition-delay: 250ms; + */ +} + +.nvd3 .nv-groups path.nv-line.nv-thin-line { + stroke-width: 1px; +} + + +.nvd3 .nv-groups path.nv-area { + stroke: none; + /* + stroke-linecap: round; + shape-rendering: geometricPrecision; + + stroke-width: 2.5px; + transition: stroke-width 250ms linear; + -moz-transition: stroke-width 250ms linear; + -webkit-transition: stroke-width 250ms linear; + + transition-delay: 250ms + -moz-transition-delay: 250ms; + -webkit-transition-delay: 250ms; + */ +} + +.nvd3 .nv-line.hover path { + stroke-width: 6px; +} + +/* +.nvd3.scatter .groups .point { + fill-opacity: 0.1; + stroke-opacity: 0.1; +} + */ + +.nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point { + fill-opacity: 0; + stroke-opacity: 0; +} + +.nvd3.nv-scatter.nv-single-point .nv-groups .nv-point { + fill-opacity: .5 !important; + stroke-opacity: .5 !important; +} + + +.with-transitions .nvd3 .nv-groups .nv-point { + transition: stroke-width 250ms linear, stroke-opacity 250ms linear; + -moz-transition: stroke-width 250ms linear, stroke-opacity 250ms linear; + -webkit-transition: stroke-width 250ms linear, stroke-opacity 250ms linear; + +} + +.nvd3.nv-scatter .nv-groups .nv-point.hover, +.nvd3 .nv-groups .nv-point.hover { + stroke-width: 7px; + fill-opacity: .95 !important; + stroke-opacity: .95 !important; +} + + +.nvd3 .nv-point-paths path { + stroke: #aaa; + stroke-opacity: 0; + fill: #eee; + fill-opacity: 0; +} + + + +.nvd3 .nv-indexLine { + cursor: ew-resize; +} + + +/********** +* Distribution +*/ + +.nvd3 .nv-distribution { + pointer-events: none; +} + + + +/********** +* Scatter +*/ + +/* **Attempting to remove this for useVoronoi(false), need to see if it's required anywhere +.nvd3 .nv-groups .nv-point { + pointer-events: none; +} +*/ + +.nvd3 .nv-groups .nv-point.hover { + stroke-width: 20px; + stroke-opacity: .5; +} + +.nvd3 .nv-scatter .nv-point.hover { + fill-opacity: 1; +} + +/* +.nv-group.hover .nv-point { + fill-opacity: 1; +} +*/ + + +/********** +* Stacked Area +*/ + +.nvd3.nv-stackedarea path.nv-area { + fill-opacity: .7; + /* + stroke-opacity: .65; + fill-opacity: 1; + */ + stroke-opacity: 0; + + transition: fill-opacity 250ms linear, stroke-opacity 250ms linear; + -moz-transition: fill-opacity 250ms linear, stroke-opacity 250ms linear; + -webkit-transition: fill-opacity 250ms linear, stroke-opacity 250ms linear; + + /* + transition-delay: 500ms; + -moz-transition-delay: 500ms; + -webkit-transition-delay: 500ms; + */ + +} + +.nvd3.nv-stackedarea path.nv-area.hover { + fill-opacity: .9; + /* + stroke-opacity: .85; + */ +} +/* +.d3stackedarea .groups path { + stroke-opacity: 0; +} + */ + + + +.nvd3.nv-stackedarea .nv-groups .nv-point { + stroke-opacity: 0; + fill-opacity: 0; +} + +/* +.nvd3.nv-stackedarea .nv-groups .nv-point.hover { + stroke-width: 20px; + stroke-opacity: .75; + fill-opacity: 1; +}*/ + + + +/********** +* Line Plus Bar +*/ + +.nvd3.nv-linePlusBar .nv-bar rect { + fill-opacity: .75; +} + +.nvd3.nv-linePlusBar .nv-bar rect:hover { + fill-opacity: 1; +} + + +/********** +* Bullet +*/ + +.nvd3.nv-bullet { font: 10px sans-serif; } +.nvd3.nv-bullet .nv-measure { fill-opacity: .8; } +.nvd3.nv-bullet .nv-measure:hover { fill-opacity: 1; } +.nvd3.nv-bullet .nv-marker { stroke: #000; stroke-width: 2px; } +.nvd3.nv-bullet .nv-markerTriangle { stroke: #000; fill: #fff; stroke-width: 1.5px; } +.nvd3.nv-bullet .nv-tick line { stroke: #666; stroke-width: .5px; } +.nvd3.nv-bullet .nv-range.nv-s0 { fill: #eee; } +.nvd3.nv-bullet .nv-range.nv-s1 { fill: #ddd; } +.nvd3.nv-bullet .nv-range.nv-s2 { fill: #ccc; } +.nvd3.nv-bullet .nv-title { font-size: 14px; font-weight: bold; } +.nvd3.nv-bullet .nv-subtitle { fill: #999; } + + +.nvd3.nv-bullet .nv-range { + fill: #bababa; + fill-opacity: .4; +} +.nvd3.nv-bullet .nv-range:hover { + fill-opacity: .7; +} + + + +/********** +* Sparkline +*/ + +.nvd3.nv-sparkline path { + fill: none; +} + +.nvd3.nv-sparklineplus g.nv-hoverValue { + pointer-events: none; +} + +.nvd3.nv-sparklineplus .nv-hoverValue line { + stroke: #333; + stroke-width: 1.5px; + } + +.nvd3.nv-sparklineplus, +.nvd3.nv-sparklineplus g { + pointer-events: all; +} + +.nvd3 .nv-hoverArea { + fill-opacity: 0; + stroke-opacity: 0; +} + +.nvd3.nv-sparklineplus .nv-xValue, +.nvd3.nv-sparklineplus .nv-yValue { + /* + stroke: #666; + */ + stroke-width: 0; + font-size: .9em; + font-weight: normal; +} + +.nvd3.nv-sparklineplus .nv-yValue { + stroke: #f66; +} + +.nvd3.nv-sparklineplus .nv-maxValue { + stroke: #2ca02c; + fill: #2ca02c; +} + +.nvd3.nv-sparklineplus .nv-minValue { + stroke: #d62728; + fill: #d62728; +} + +.nvd3.nv-sparklineplus .nv-currentValue { + /* + stroke: #444; + fill: #000; + */ + font-weight: bold; + font-size: 1.1em; +} + +/********** +* historical stock +*/ + +.nvd3.nv-ohlcBar .nv-ticks .nv-tick { + stroke-width: 2px; +} + +.nvd3.nv-ohlcBar .nv-ticks .nv-tick.hover { + stroke-width: 4px; +} + +.nvd3.nv-ohlcBar .nv-ticks .nv-tick.positive { + stroke: #2ca02c; +} + +.nvd3.nv-ohlcBar .nv-ticks .nv-tick.negative { + stroke: #d62728; +} + +.nvd3.nv-historicalStockChart .nv-axis .nv-axislabel { + font-weight: bold; +} + +.nvd3.nv-historicalStockChart .nv-dragTarget { + fill-opacity: 0; + stroke: none; + cursor: move; +} + +.nvd3 .nv-brush .extent { + /* + cursor: ew-resize !important; + */ + fill-opacity: 0 !important; +} + +.nvd3 .nv-brushBackground rect { + stroke: #000; + stroke-width: .4; + fill: #fff; + fill-opacity: .7; +} + + + +/********** +* Indented Tree +*/ + + +/** + * TODO: the following 3 selectors are based on classes used in the example. I should either make them standard and leave them here, or move to a CSS file not included in the library + */ +.nvd3.nv-indentedtree .name { + margin-left: 5px; +} + +.nvd3.nv-indentedtree .clickable { + color: #08C; + cursor: pointer; +} + +.nvd3.nv-indentedtree span.clickable:hover { + color: #005580; + text-decoration: underline; +} + + +.nvd3.nv-indentedtree .nv-childrenCount { + display: inline-block; + margin-left: 5px; +} + +.nvd3.nv-indentedtree .nv-treeicon { + cursor: pointer; + /* + cursor: n-resize; + */ +} + +.nvd3.nv-indentedtree .nv-treeicon.nv-folded { + cursor: pointer; + /* + cursor: s-resize; + */ +} + +/********** +* Parallel Coordinates +*/ + +.nvd3 .background path { + fill: none; + stroke: #ccc; + stroke-opacity: .4; + shape-rendering: crispEdges; +} + +.nvd3 .foreground path { + fill: none; + stroke: steelblue; + stroke-opacity: .7; +} + +.nvd3 .brush .extent { + fill-opacity: .3; + stroke: #fff; + shape-rendering: crispEdges; +} + +.nvd3 .axis line, .axis path { + fill: none; + stroke: #000; + shape-rendering: crispEdges; +} + +.nvd3 .axis text { + text-shadow: 0 1px 0 #fff; +} + +/**** +Interactive Layer +*/ +.nvd3 .nv-interactiveGuideLine { + pointer-events:none; +} +.nvd3 line.nv-guideline { + stroke: #ccc; +} \ No newline at end of file diff --git a/img/prestashop-avatar.png b/img/prestashop-avatar.png new file mode 100644 index 0000000000000000000000000000000000000000..ac2722db58a75d3efb7dfc6c3d63a718073e12b7 GIT binary patch literal 8642 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 literal 0 HcmV?d00001