bundledCssExtensions function

BundledCssExtensions bundledCssExtensions({
  1. List<HtmlExtension> before = const <HtmlExtension>[],
  2. List<HtmlExtension> after = const <HtmlExtension>[],
  3. List<Insert> inserts = const <Insert>[],
  4. CssStylesheetHtmlExtension? stylesheetExtension,
  5. List<HtmlExtension> utilityClassExtensions = const <HtmlExtension>[],
  6. @Deprecated('Use utilityClassExtensions') HtmlExtension? utilityClassExtension,
  7. bool resolvePercentages = true,
  8. double? rootFontSize,
  9. Size? viewportSize,
  10. Map<String, MouseCursor> extraCursors = const <String, MouseCursor>{},
  11. bool imgAlt = true,
  12. Map<String, String>? imageNetworkHeaders,
  13. Set<String>? imageNetworkDomains,
  14. Set<String> imageNetworkSchemas = const <String>{'http', 'https'},
  15. Set<String>? imageFileExtensions,
  16. AssetBundle? imageAssetBundle,
  17. String? imageAssetPackage,
  18. Set<String>? imageMimeTypes,
  19. String? imageDataEncoding,
  20. bool handleNetworkImages = true,
  21. bool handleAssetImages = true,
  22. bool handleDataImages = true,
})

The function form of BundledCssExtensions, for the argument-heavy call.

It takes the same arguments and returns the same class, so the result is still a List<HtmlExtension> that goes straight into Html(extensions: ...).

Html(
  data: '<div style="cursor: pointer; max-width: 320px;">Card</div>',
  extensions: bundledCssExtensions(rootFontSize: 16),
);

Each call returns a new instance, and each instance builds its entries once. Call it in build and the nineteen are created once per widget build. Hold the result in a field, or write const BundledCssExtensions(...), and they are created once.

Implementation

BundledCssExtensions bundledCssExtensions({
  List<HtmlExtension> before = const <HtmlExtension>[],
  List<HtmlExtension> after = const <HtmlExtension>[],
  List<Insert> inserts = const <Insert>[],
  CssStylesheetHtmlExtension? stylesheetExtension,
  List<HtmlExtension> utilityClassExtensions = const <HtmlExtension>[],
  @Deprecated('Use utilityClassExtensions') HtmlExtension? utilityClassExtension,
  bool resolvePercentages = true,
  double? rootFontSize,
  Size? viewportSize,
  Map<String, MouseCursor> extraCursors = const <String, MouseCursor>{},
  bool imgAlt = true,
  Map<String, String>? imageNetworkHeaders,
  Set<String>? imageNetworkDomains,
  Set<String> imageNetworkSchemas = const <String>{'http', 'https'},
  Set<String>? imageFileExtensions,
  AssetBundle? imageAssetBundle,
  String? imageAssetPackage,
  Set<String>? imageMimeTypes,
  String? imageDataEncoding,
  bool handleNetworkImages = true,
  bool handleAssetImages = true,
  bool handleDataImages = true,
}) {
  return BundledCssExtensions(
    before: before,
    after: after,
    inserts: inserts,
    stylesheetExtension: stylesheetExtension,
    utilityClassExtensions: utilityClassExtensions,
    // ignore: deprecated_member_use_from_same_package
    utilityClassExtension: utilityClassExtension,
    resolvePercentages: resolvePercentages,
    rootFontSize: rootFontSize,
    viewportSize: viewportSize,
    extraCursors: extraCursors,
    imgAlt: imgAlt,
    imageNetworkHeaders: imageNetworkHeaders,
    imageNetworkDomains: imageNetworkDomains,
    imageNetworkSchemas: imageNetworkSchemas,
    imageFileExtensions: imageFileExtensions,
    imageAssetBundle: imageAssetBundle,
    imageAssetPackage: imageAssetPackage,
    imageMimeTypes: imageMimeTypes,
    imageDataEncoding: imageDataEncoding,
    handleNetworkImages: handleNetworkImages,
    handleAssetImages: handleAssetImages,
    handleDataImages: handleDataImages,
  );
}