cssText method

String cssText()

Implementation

String cssText() {
  // Prefer stable serialization from functions rather than provider types.
  for (final method in functions) {
    switch (method.name) {
      case 'url':
        String url = method.args.isNotEmpty ? method.args[0] : '';
        url = removeQuotationMark(url);
        if (url.isEmpty) return 'none';
        // Resolve against baseHref/controller.url for computed style output
        final resolved = controller.uriParser!
            .resolve(Uri.parse(baseHref ?? controller.url), Uri.parse(url))
            .toString();
        return 'url($resolved)';
      case 'linear-gradient':
      case 'repeating-linear-gradient':
        return (gradient as CSSLinearGradient?)?.cssText() ?? 'none';
      case 'radial-gradient':
      case 'repeating-radial-gradient':
        return (gradient as CSSRadialGradient?)?.cssText() ?? 'none';
      case 'conic-gradient':
        return (gradient as CSSConicGradient?)?.cssText() ?? 'none';
    }
  }
  return 'none';
}