| import listToStyles from './listToStyles' | 
|   | 
| export default function addStylesServer (parentId, list, isProduction, context) { | 
|   if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { | 
|     context = __VUE_SSR_CONTEXT__ | 
|   } | 
|   if (context) { | 
|     if (!context.hasOwnProperty('styles')) { | 
|       Object.defineProperty(context, 'styles', { | 
|         enumerable: true, | 
|         get: function() { | 
|           return renderStyles(context._styles) | 
|         } | 
|       }) | 
|       // expose renderStyles for vue-server-renderer (vuejs/#6353) | 
|       context._renderStyles = renderStyles | 
|     } | 
|   | 
|     var styles = context._styles || (context._styles = {}) | 
|     list = listToStyles(parentId, list) | 
|     if (isProduction) { | 
|       addStyleProd(styles, list) | 
|     } else { | 
|       addStyleDev(styles, list) | 
|     } | 
|   } | 
| } | 
|   | 
| // In production, render as few style tags as possible. | 
| // (mostly because IE9 has a limit on number of style tags) | 
| function addStyleProd (styles, list) { | 
|   for (var i = 0; i < list.length; i++) { | 
|     var parts = list[i].parts | 
|     for (var j = 0; j < parts.length; j++) { | 
|       var part = parts[j] | 
|       // group style tags by media types. | 
|       var id = part.media || 'default' | 
|       var style = styles[id] | 
|       if (style) { | 
|         if (style.ids.indexOf(part.id) < 0) { | 
|           style.ids.push(part.id) | 
|           style.css += '\n' + part.css | 
|         } | 
|       } else { | 
|         styles[id] = { | 
|           ids: [part.id], | 
|           css: part.css, | 
|           media: part.media | 
|         } | 
|       } | 
|     } | 
|   } | 
| } | 
|   | 
| // In dev we use individual style tag for each module for hot-reload | 
| // and source maps. | 
| function addStyleDev (styles, list) { | 
|   for (var i = 0; i < list.length; i++) { | 
|     var parts = list[i].parts | 
|     for (var j = 0; j < parts.length; j++) { | 
|       var part = parts[j] | 
|       styles[part.id] = { | 
|         ids: [part.id], | 
|         css: part.css, | 
|         media: part.media | 
|       } | 
|     } | 
|   } | 
| } | 
|   | 
| function renderStyles (styles) { | 
|   var css = '' | 
|   for (var key in styles) { | 
|     var style = styles[key] | 
|     css += '<style data-vue-ssr-id="' + style.ids.join(' ') + '"' + | 
|         (style.media ? ( ' media="' + style.media + '"' ) : '') + '>' + | 
|         style.css + '</style>' | 
|   } | 
|   return css | 
| } |