saminsohag

bug fixed

  1 +## 0.1.6
  2 +
  3 +* Engine improved.
  4 +
1 ## 0.1.5 5 ## 0.1.5
2 6
3 * Engine improved. 7 * Engine improved.
@@ -26,7 +26,7 @@ apply plugin: 'kotlin-android' @@ -26,7 +26,7 @@ apply plugin: 'kotlin-android'
26 apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" 26 apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
27 27
28 android { 28 android {
29 - compileSdkVersion flutter.compileSdkVersion 29 + compileSdkVersion 33
30 ndkVersion flutter.ndkVersion 30 ndkVersion flutter.ndkVersion
31 31
32 compileOptions { 32 compileOptions {
1 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 1 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
2 package="com.example.example"> 2 package="com.example.example">
  3 + <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
  4 + <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
  5 + <uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
  6 + <uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
  7 + <uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
3 <application 8 <application
4 android:label="example" 9 android:label="example"
5 android:name="${applicationName}" 10 android:name="${applicationName}"
  1 +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
1 #include "Generated.xcconfig" 2 #include "Generated.xcconfig"
  1 +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
1 #include "Generated.xcconfig" 2 #include "Generated.xcconfig"
  1 +# Uncomment this line to define a global platform for your project
  2 +# platform :ios, '11.0'
  3 +
  4 +# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
  5 +ENV['COCOAPODS_DISABLE_STATS'] = 'true'
  6 +
  7 +project 'Runner', {
  8 + 'Debug' => :debug,
  9 + 'Profile' => :release,
  10 + 'Release' => :release,
  11 +}
  12 +
  13 +def flutter_root
  14 + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
  15 + unless File.exist?(generated_xcode_build_settings_path)
  16 + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
  17 + end
  18 +
  19 + File.foreach(generated_xcode_build_settings_path) do |line|
  20 + matches = line.match(/FLUTTER_ROOT\=(.*)/)
  21 + return matches[1].strip if matches
  22 + end
  23 + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
  24 +end
  25 +
  26 +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
  27 +
  28 +flutter_ios_podfile_setup
  29 +
  30 +target 'Runner' do
  31 + use_frameworks!
  32 + use_modular_headers!
  33 +
  34 + flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
  35 +end
  36 +
  37 +post_install do |installer|
  38 + installer.pods_project.targets.each do |target|
  39 + flutter_additional_ios_build_settings(target)
  40 + end
  41 +end
1 import 'dart:developer'; 1 import 'dart:developer';
  2 +import 'dart:io';
2 3
  4 +import 'package:file_picker/file_picker.dart';
3 import 'package:flutter/material.dart'; 5 import 'package:flutter/material.dart';
4 -import 'package:flutter/services.dart'; 6 +// import 'package:flutter/services.dart';
5 import 'package:tex_markdown/tex_markdown.dart'; 7 import 'package:tex_markdown/tex_markdown.dart';
  8 +import 'package:url_launcher/url_launcher_string.dart';
6 9
7 void main() { 10 void main() {
8 runApp(const MyApp()); 11 runApp(const MyApp());
@@ -100,7 +103,9 @@ $hello$ @@ -100,7 +103,9 @@ $hello$
100 ), 103 ),
101 ], 104 ],
102 ), 105 ),
103 - body: Column( 106 + body: Stack(
  107 + children: [
  108 + Column(
104 children: [ 109 children: [
105 Expanded( 110 Expanded(
106 child: ListView( 111 child: ListView(
@@ -109,11 +114,14 @@ $hello$ @@ -109,11 +114,14 @@ $hello$
109 animation: _controller, 114 animation: _controller,
110 builder: (context, _) { 115 builder: (context, _) {
111 return Material( 116 return Material(
112 - color: Theme.of(context).colorScheme.surfaceVariant,  
113 - shape: const RoundedRectangleBorder(  
114 - side: BorderSide(width: 1),  
115 - ),  
116 - child: LayoutBuilder(builder: (context, constraints) { 117 + // color: Theme.of(context).colorScheme.surfaceVariant,
  118 + shape: RoundedRectangleBorder(
  119 + side: BorderSide(
  120 + width: 1,
  121 + color: Theme.of(context).colorScheme.outline),
  122 + ),
  123 + child:
  124 + LayoutBuilder(builder: (context, constraints) {
117 return SingleChildScrollView( 125 return SingleChildScrollView(
118 scrollDirection: Axis.horizontal, 126 scrollDirection: Axis.horizontal,
119 child: TexMarkdown( 127 child: TexMarkdown(
@@ -135,9 +143,7 @@ $hello$ @@ -135,9 +143,7 @@ $hello$
135 ), 143 ),
136 ConstrainedBox( 144 ConstrainedBox(
137 constraints: const BoxConstraints(maxHeight: 200), 145 constraints: const BoxConstraints(maxHeight: 200),
138 - child: Stack(  
139 - children: [  
140 - Padding( 146 + child: Padding(
141 padding: const EdgeInsets.all(8.0), 147 padding: const EdgeInsets.all(8.0),
142 child: TextField( 148 child: TextField(
143 decoration: const InputDecoration( 149 decoration: const InputDecoration(
@@ -147,26 +153,37 @@ $hello$ @@ -147,26 +153,37 @@ $hello$
147 controller: _controller, 153 controller: _controller,
148 ), 154 ),
149 ), 155 ),
150 - IconButton(  
151 - onPressed: () { 156 + ),
  157 + ],
  158 + ),
  159 + Align(
  160 + alignment: Alignment.topRight,
  161 + child: IconButton(
  162 + onPressed: () async {
152 String html = '''<!DOCTYPE html> 163 String html = '''<!DOCTYPE html>
153 -<html lang="en">  
154 -<head>  
155 -<meta charset="UTF-8"><title>markdown</title><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.css" integrity="sha384-zB1R0rpPzHqg7Kpt0Aljp8JPLqbXI3bhnPWROx27a9N0Ll6ZP/+DiW/UqRcLbRjq" crossorigin="anonymous">  
156 -<script defer src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.js" integrity="sha384-y23I5Q6l+B6vatafAwxRu/0oK/79VlbSz7Q9aiSZUvyWYIYsd+qj+o24G5ZU2zJz" crossorigin="anonymous"></script>  
157 -<script defer src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/contrib/auto-render.min.js" integrity="sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script>  
158 -</head>  
159 -<body>  
160 -${TexMarkdown.toHtml(_controller.text)}  
161 -</body>  
162 -</html>  
163 -''';  
164 - Clipboard.setData(ClipboardData(text: html)); 164 + <html lang="en">
  165 + <head>
  166 + <meta charset="UTF-8"><title>markdown</title>
  167 + </head>
  168 + <body>
  169 + ${TexMarkdown.toHtml(_controller.text)}
  170 + </body>
  171 + </html>
  172 + ''';
  173 + String? path = await FilePicker.platform.saveFile();
  174 + if (path == null) {
  175 + return;
  176 + }
  177 + File(path).writeAsStringSync(html);
  178 + launchUrlString(
  179 + "file:${Uri(
  180 + path: path,
  181 + ).path}",
  182 + mode: LaunchMode.externalApplication,
  183 + );
165 }, 184 },
166 icon: const Icon(Icons.html), 185 icon: const Icon(Icons.html),
167 ), 186 ),
168 - ],  
169 - ),  
170 ), 187 ),
171 ], 188 ],
172 ), 189 ),
@@ -6,6 +6,14 @@ @@ -6,6 +6,14 @@
6 6
7 #include "generated_plugin_registrant.h" 7 #include "generated_plugin_registrant.h"
8 8
  9 +#include <printing/printing_plugin.h>
  10 +#include <url_launcher_linux/url_launcher_plugin.h>
9 11
10 void fl_register_plugins(FlPluginRegistry* registry) { 12 void fl_register_plugins(FlPluginRegistry* registry) {
  13 + g_autoptr(FlPluginRegistrar) printing_registrar =
  14 + fl_plugin_registry_get_registrar_for_plugin(registry, "PrintingPlugin");
  15 + printing_plugin_register_with_registrar(printing_registrar);
  16 + g_autoptr(FlPluginRegistrar) url_launcher_linux_registrar =
  17 + fl_plugin_registry_get_registrar_for_plugin(registry, "UrlLauncherPlugin");
  18 + url_launcher_plugin_register_with_registrar(url_launcher_linux_registrar);
11 } 19 }
@@ -3,6 +3,8 @@ @@ -3,6 +3,8 @@
3 # 3 #
4 4
5 list(APPEND FLUTTER_PLUGIN_LIST 5 list(APPEND FLUTTER_PLUGIN_LIST
  6 + printing
  7 + url_launcher_linux
6 ) 8 )
7 9
8 list(APPEND FLUTTER_FFI_PLUGIN_LIST 10 list(APPEND FLUTTER_FFI_PLUGIN_LIST
  1 +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
1 #include "ephemeral/Flutter-Generated.xcconfig" 2 #include "ephemeral/Flutter-Generated.xcconfig"
  1 +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
1 #include "ephemeral/Flutter-Generated.xcconfig" 2 #include "ephemeral/Flutter-Generated.xcconfig"
@@ -5,6 +5,12 @@ @@ -5,6 +5,12 @@
5 import FlutterMacOS 5 import FlutterMacOS
6 import Foundation 6 import Foundation
7 7
  8 +import path_provider_foundation
  9 +import printing
  10 +import url_launcher_macos
8 11
9 func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { 12 func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
  13 + PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
  14 + PrintingPlugin.register(with: registry.registrar(forPlugin: "PrintingPlugin"))
  15 + UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin"))
10 } 16 }
  1 +platform :osx, '10.14'
  2 +
  3 +# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
  4 +ENV['COCOAPODS_DISABLE_STATS'] = 'true'
  5 +
  6 +project 'Runner', {
  7 + 'Debug' => :debug,
  8 + 'Profile' => :release,
  9 + 'Release' => :release,
  10 +}
  11 +
  12 +def flutter_root
  13 + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__)
  14 + unless File.exist?(generated_xcode_build_settings_path)
  15 + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first"
  16 + end
  17 +
  18 + File.foreach(generated_xcode_build_settings_path) do |line|
  19 + matches = line.match(/FLUTTER_ROOT\=(.*)/)
  20 + return matches[1].strip if matches
  21 + end
  22 + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\""
  23 +end
  24 +
  25 +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
  26 +
  27 +flutter_macos_podfile_setup
  28 +
  29 +target 'Runner' do
  30 + use_frameworks!
  31 + use_modular_headers!
  32 +
  33 + flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__))
  34 +end
  35 +
  36 +post_install do |installer|
  37 + installer.pods_project.targets.each do |target|
  38 + flutter_additional_macos_build_settings(target)
  39 + end
  40 +end
  1 +PODS:
  2 + - FlutterMacOS (1.0.0)
  3 + - path_provider_foundation (0.0.1):
  4 + - Flutter
  5 + - FlutterMacOS
  6 + - printing (1.0.0):
  7 + - FlutterMacOS
  8 + - url_launcher_macos (0.0.1):
  9 + - FlutterMacOS
  10 +
  11 +DEPENDENCIES:
  12 + - FlutterMacOS (from `Flutter/ephemeral`)
  13 + - path_provider_foundation (from `Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/macos`)
  14 + - printing (from `Flutter/ephemeral/.symlinks/plugins/printing/macos`)
  15 + - url_launcher_macos (from `Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos`)
  16 +
  17 +EXTERNAL SOURCES:
  18 + FlutterMacOS:
  19 + :path: Flutter/ephemeral
  20 + path_provider_foundation:
  21 + :path: Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/macos
  22 + printing:
  23 + :path: Flutter/ephemeral/.symlinks/plugins/printing/macos
  24 + url_launcher_macos:
  25 + :path: Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos
  26 +
  27 +SPEC CHECKSUMS:
  28 + FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24
  29 + path_provider_foundation: c68054786f1b4f3343858c1e1d0caaded73f0be9
  30 + printing: 1dd6a1fce2209ec240698e2439a4adbb9b427637
  31 + url_launcher_macos: 5335912b679c073563f29d89d33d10d459f95451
  32 +
  33 +PODFILE CHECKSUM: 353c8bcc5d5b0994e508d035b5431cfe18c1dea7
  34 +
  35 +COCOAPODS: 1.12.0
@@ -26,6 +26,7 @@ @@ -26,6 +26,7 @@
26 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 26 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; };
27 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 27 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; };
28 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; 28 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; };
  29 + 3CE72A5CF2F5B5C6FEE41814 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC716F271CF5E3E2D78A3D3E /* Pods_Runner.framework */; };
29 /* End PBXBuildFile section */ 30 /* End PBXBuildFile section */
30 31
31 /* Begin PBXContainerItemProxy section */ 32 /* Begin PBXContainerItemProxy section */
@@ -54,7 +55,7 @@ @@ -54,7 +55,7 @@
54 /* Begin PBXFileReference section */ 55 /* Begin PBXFileReference section */
55 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = "<group>"; }; 56 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = "<group>"; };
56 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = "<group>"; }; 57 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = "<group>"; };
57 - 33CC10ED2044A3C60003C045 /* example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "example.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 58 + 33CC10ED2044A3C60003C045 /* example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = example.app; sourceTree = BUILT_PRODUCTS_DIR; };
58 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; }; 59 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
59 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = "<group>"; }; 60 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = "<group>"; };
60 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; }; 61 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
@@ -66,8 +67,12 @@ @@ -66,8 +67,12 @@
66 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = "<group>"; }; 67 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = "<group>"; };
67 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = "<group>"; }; 68 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = "<group>"; };
68 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = "<group>"; }; 69 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = "<group>"; };
  70 + 44106D5785CEE3B2A33F304C /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
69 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = "<group>"; }; 71 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = "<group>"; };
70 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = "<group>"; }; 72 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = "<group>"; };
  73 + 9ADBE029EC88784FF4319A73 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
  74 + BC716F271CF5E3E2D78A3D3E /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
  75 + D2DFD7B82907F8D8F17CE275 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
71 /* End PBXFileReference section */ 76 /* End PBXFileReference section */
72 77
73 /* Begin PBXFrameworksBuildPhase section */ 78 /* Begin PBXFrameworksBuildPhase section */
@@ -75,6 +80,7 @@ @@ -75,6 +80,7 @@
75 isa = PBXFrameworksBuildPhase; 80 isa = PBXFrameworksBuildPhase;
76 buildActionMask = 2147483647; 81 buildActionMask = 2147483647;
77 files = ( 82 files = (
  83 + 3CE72A5CF2F5B5C6FEE41814 /* Pods_Runner.framework in Frameworks */,
78 ); 84 );
79 runOnlyForDeploymentPostprocessing = 0; 85 runOnlyForDeploymentPostprocessing = 0;
80 }; 86 };
@@ -99,6 +105,7 @@ @@ -99,6 +105,7 @@
99 33CEB47122A05771004F2AC0 /* Flutter */, 105 33CEB47122A05771004F2AC0 /* Flutter */,
100 33CC10EE2044A3C60003C045 /* Products */, 106 33CC10EE2044A3C60003C045 /* Products */,
101 D73912EC22F37F3D000D13A0 /* Frameworks */, 107 D73912EC22F37F3D000D13A0 /* Frameworks */,
  108 + 6815E320FF73189B6052A178 /* Pods */,
102 ); 109 );
103 sourceTree = "<group>"; 110 sourceTree = "<group>";
104 }; 111 };
@@ -145,9 +152,21 @@ @@ -145,9 +152,21 @@
145 path = Runner; 152 path = Runner;
146 sourceTree = "<group>"; 153 sourceTree = "<group>";
147 }; 154 };
  155 + 6815E320FF73189B6052A178 /* Pods */ = {
  156 + isa = PBXGroup;
  157 + children = (
  158 + 44106D5785CEE3B2A33F304C /* Pods-Runner.debug.xcconfig */,
  159 + D2DFD7B82907F8D8F17CE275 /* Pods-Runner.release.xcconfig */,
  160 + 9ADBE029EC88784FF4319A73 /* Pods-Runner.profile.xcconfig */,
  161 + );
  162 + name = Pods;
  163 + path = Pods;
  164 + sourceTree = "<group>";
  165 + };
148 D73912EC22F37F3D000D13A0 /* Frameworks */ = { 166 D73912EC22F37F3D000D13A0 /* Frameworks */ = {
149 isa = PBXGroup; 167 isa = PBXGroup;
150 children = ( 168 children = (
  169 + BC716F271CF5E3E2D78A3D3E /* Pods_Runner.framework */,
151 ); 170 );
152 name = Frameworks; 171 name = Frameworks;
153 sourceTree = "<group>"; 172 sourceTree = "<group>";
@@ -159,11 +178,13 @@ @@ -159,11 +178,13 @@
159 isa = PBXNativeTarget; 178 isa = PBXNativeTarget;
160 buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; 179 buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */;
161 buildPhases = ( 180 buildPhases = (
  181 + BBFFFF68DE12258F43860630 /* [CP] Check Pods Manifest.lock */,
162 33CC10E92044A3C60003C045 /* Sources */, 182 33CC10E92044A3C60003C045 /* Sources */,
163 33CC10EA2044A3C60003C045 /* Frameworks */, 183 33CC10EA2044A3C60003C045 /* Frameworks */,
164 33CC10EB2044A3C60003C045 /* Resources */, 184 33CC10EB2044A3C60003C045 /* Resources */,
165 33CC110E2044A8840003C045 /* Bundle Framework */, 185 33CC110E2044A8840003C045 /* Bundle Framework */,
166 3399D490228B24CF009A79C7 /* ShellScript */, 186 3399D490228B24CF009A79C7 /* ShellScript */,
  187 + D5407F664B55A53226075BEA /* [CP] Embed Pods Frameworks */,
167 ); 188 );
168 buildRules = ( 189 buildRules = (
169 ); 190 );
@@ -271,6 +292,45 @@ @@ -271,6 +292,45 @@
271 shellPath = /bin/sh; 292 shellPath = /bin/sh;
272 shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; 293 shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire";
273 }; 294 };
  295 + BBFFFF68DE12258F43860630 /* [CP] Check Pods Manifest.lock */ = {
  296 + isa = PBXShellScriptBuildPhase;
  297 + buildActionMask = 2147483647;
  298 + files = (
  299 + );
  300 + inputFileListPaths = (
  301 + );
  302 + inputPaths = (
  303 + "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
  304 + "${PODS_ROOT}/Manifest.lock",
  305 + );
  306 + name = "[CP] Check Pods Manifest.lock";
  307 + outputFileListPaths = (
  308 + );
  309 + outputPaths = (
  310 + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
  311 + );
  312 + runOnlyForDeploymentPostprocessing = 0;
  313 + shellPath = /bin/sh;
  314 + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
  315 + showEnvVarsInLog = 0;
  316 + };
  317 + D5407F664B55A53226075BEA /* [CP] Embed Pods Frameworks */ = {
  318 + isa = PBXShellScriptBuildPhase;
  319 + buildActionMask = 2147483647;
  320 + files = (
  321 + );
  322 + inputFileListPaths = (
  323 + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist",
  324 + );
  325 + name = "[CP] Embed Pods Frameworks";
  326 + outputFileListPaths = (
  327 + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist",
  328 + );
  329 + runOnlyForDeploymentPostprocessing = 0;
  330 + shellPath = /bin/sh;
  331 + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
  332 + showEnvVarsInLog = 0;
  333 + };
274 /* End PBXShellScriptBuildPhase section */ 334 /* End PBXShellScriptBuildPhase section */
275 335
276 /* Begin PBXSourcesBuildPhase section */ 336 /* Begin PBXSourcesBuildPhase section */
@@ -4,4 +4,7 @@ @@ -4,4 +4,7 @@
4 <FileRef 4 <FileRef
5 location = "group:Runner.xcodeproj"> 5 location = "group:Runner.xcodeproj">
6 </FileRef> 6 </FileRef>
  7 + <FileRef
  8 + location = "group:Pods/Pods.xcodeproj">
  9 + </FileRef>
7 </Workspace> 10 </Workspace>
@@ -8,5 +8,13 @@ @@ -8,5 +8,13 @@
8 <true/> 8 <true/>
9 <key>com.apple.security.network.server</key> 9 <key>com.apple.security.network.server</key>
10 <true/> 10 <true/>
  11 + <key>com.apple.security.network.client</key>
  12 + <true/>
  13 + <key>com.apple.security.print</key>
  14 + <true/>
  15 + <key>com.apple.security.app-sandbox</key>
  16 + <true/>
  17 + <key>com.apple.security.files.user-selected.read-write</key>
  18 + <true/>
11 </dict> 19 </dict>
12 </plist> 20 </plist>
@@ -4,5 +4,9 @@ @@ -4,5 +4,9 @@
4 <dict> 4 <dict>
5 <key>com.apple.security.app-sandbox</key> 5 <key>com.apple.security.app-sandbox</key>
6 <true/> 6 <true/>
  7 + <key>com.apple.security.network.client</key>
  8 + <true/>
  9 + <key>com.apple.security.print</key>
  10 + <true/>
7 </dict> 11 </dict>
8 </plist> 12 </plist>
1 # Generated by pub 1 # Generated by pub
2 # See https://dart.dev/tools/pub/glossary#lockfile 2 # See https://dart.dev/tools/pub/glossary#lockfile
3 packages: 3 packages:
  4 + archive:
  5 + dependency: transitive
  6 + description:
  7 + name: archive
  8 + sha256: "0c8368c9b3f0abbc193b9d6133649a614204b528982bebc7026372d61677ce3a"
  9 + url: "https://pub.dev"
  10 + source: hosted
  11 + version: "3.3.7"
4 async: 12 async:
5 dependency: transitive 13 dependency: transitive
6 description: 14 description:
@@ -9,6 +17,22 @@ packages: @@ -9,6 +17,22 @@ packages:
9 url: "https://pub.dev" 17 url: "https://pub.dev"
10 source: hosted 18 source: hosted
11 version: "2.10.0" 19 version: "2.10.0"
  20 + barcode:
  21 + dependency: transitive
  22 + description:
  23 + name: barcode
  24 + sha256: "52570564684bbb0240a9f1fdb6bad12adc5e0540103c1c96d6dd550bd928b1c9"
  25 + url: "https://pub.dev"
  26 + source: hosted
  27 + version: "2.2.3"
  28 + bidi:
  29 + dependency: transitive
  30 + description:
  31 + name: bidi
  32 + sha256: dc00274c7edabae2ab30c676e736ea1eb0b1b7a1b436cb5fe372e431ccb39ab0
  33 + url: "https://pub.dev"
  34 + source: hosted
  35 + version: "2.0.6"
12 boolean_selector: 36 boolean_selector:
13 dependency: transitive 37 dependency: transitive
14 description: 38 description:
@@ -41,6 +65,22 @@ packages: @@ -41,6 +65,22 @@ packages:
41 url: "https://pub.dev" 65 url: "https://pub.dev"
42 source: hosted 66 source: hosted
43 version: "1.17.0" 67 version: "1.17.0"
  68 + convert:
  69 + dependency: transitive
  70 + description:
  71 + name: convert
  72 + sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592"
  73 + url: "https://pub.dev"
  74 + source: hosted
  75 + version: "3.1.1"
  76 + crypto:
  77 + dependency: transitive
  78 + description:
  79 + name: crypto
  80 + sha256: aa274aa7774f8964e4f4f38cc994db7b6158dd36e9187aaceaddc994b35c6c67
  81 + url: "https://pub.dev"
  82 + source: hosted
  83 + version: "3.0.2"
44 cupertino_icons: 84 cupertino_icons:
45 dependency: "direct main" 85 dependency: "direct main"
46 description: 86 description:
@@ -57,11 +97,43 @@ packages: @@ -57,11 +97,43 @@ packages:
57 url: "https://pub.dev" 97 url: "https://pub.dev"
58 source: hosted 98 source: hosted
59 version: "1.3.1" 99 version: "1.3.1"
  100 + ffi:
  101 + dependency: transitive
  102 + description:
  103 + name: ffi
  104 + sha256: a38574032c5f1dd06c4aee541789906c12ccaab8ba01446e800d9c5b79c4a978
  105 + url: "https://pub.dev"
  106 + source: hosted
  107 + version: "2.0.1"
  108 + file:
  109 + dependency: transitive
  110 + description:
  111 + name: file
  112 + sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d"
  113 + url: "https://pub.dev"
  114 + source: hosted
  115 + version: "6.1.4"
  116 + file_picker:
  117 + dependency: "direct main"
  118 + description:
  119 + name: file_picker
  120 + sha256: b85eb92b175767fdaa0c543bf3b0d1f610fe966412ea72845fe5ba7801e763ff
  121 + url: "https://pub.dev"
  122 + source: hosted
  123 + version: "5.2.10"
60 flutter: 124 flutter:
61 dependency: "direct main" 125 dependency: "direct main"
62 description: flutter 126 description: flutter
63 source: sdk 127 source: sdk
64 version: "0.0.0" 128 version: "0.0.0"
  129 + flutter_html_to_pdf:
  130 + dependency: "direct main"
  131 + description:
  132 + name: flutter_html_to_pdf
  133 + sha256: "4bec44685f62a404bac7c9e412da0fbcd389ea5eceb397c268d829ecfa148c34"
  134 + url: "https://pub.dev"
  135 + source: hosted
  136 + version: "0.7.0"
65 flutter_lints: 137 flutter_lints:
66 dependency: "direct dev" 138 dependency: "direct dev"
67 description: 139 description:
@@ -78,6 +150,14 @@ packages: @@ -78,6 +150,14 @@ packages:
78 url: "https://pub.dev" 150 url: "https://pub.dev"
79 source: hosted 151 source: hosted
80 version: "0.6.3+1" 152 version: "0.6.3+1"
  153 + flutter_plugin_android_lifecycle:
  154 + dependency: transitive
  155 + description:
  156 + name: flutter_plugin_android_lifecycle
  157 + sha256: c224ac897bed083dabf11f238dd11a239809b446740be0c2044608c50029ffdf
  158 + url: "https://pub.dev"
  159 + source: hosted
  160 + version: "2.0.9"
81 flutter_svg: 161 flutter_svg:
82 dependency: transitive 162 dependency: transitive
83 description: 163 description:
@@ -91,6 +171,35 @@ packages: @@ -91,6 +171,35 @@ packages:
91 description: flutter 171 description: flutter
92 source: sdk 172 source: sdk
93 version: "0.0.0" 173 version: "0.0.0"
  174 + flutter_web_plugins:
  175 + dependency: transitive
  176 + description: flutter
  177 + source: sdk
  178 + version: "0.0.0"
  179 + http:
  180 + dependency: transitive
  181 + description:
  182 + name: http
  183 + sha256: "6aa2946395183537c8b880962d935877325d6a09a2867c3970c05c0fed6ac482"
  184 + url: "https://pub.dev"
  185 + source: hosted
  186 + version: "0.13.5"
  187 + http_parser:
  188 + dependency: transitive
  189 + description:
  190 + name: http_parser
  191 + sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b"
  192 + url: "https://pub.dev"
  193 + source: hosted
  194 + version: "4.0.2"
  195 + image:
  196 + dependency: transitive
  197 + description:
  198 + name: image
  199 + sha256: "483a389d6ccb292b570c31b3a193779b1b0178e7eb571986d9a49904b6861227"
  200 + url: "https://pub.dev"
  201 + source: hosted
  202 + version: "4.0.15"
94 js: 203 js:
95 dependency: transitive 204 dependency: transitive
96 description: 205 description:
@@ -163,6 +272,102 @@ packages: @@ -163,6 +272,102 @@ packages:
163 url: "https://pub.dev" 272 url: "https://pub.dev"
164 source: hosted 273 source: hosted
165 version: "1.0.1" 274 version: "1.0.1"
  275 + path_provider:
  276 + dependency: "direct main"
  277 + description:
  278 + name: path_provider
  279 + sha256: c7edf82217d4b2952b2129a61d3ad60f1075b9299e629e149a8d2e39c2e6aad4
  280 + url: "https://pub.dev"
  281 + source: hosted
  282 + version: "2.0.14"
  283 + path_provider_android:
  284 + dependency: transitive
  285 + description:
  286 + name: path_provider_android
  287 + sha256: da97262be945a72270513700a92b39dd2f4a54dad55d061687e2e37a6390366a
  288 + url: "https://pub.dev"
  289 + source: hosted
  290 + version: "2.0.25"
  291 + path_provider_foundation:
  292 + dependency: transitive
  293 + description:
  294 + name: path_provider_foundation
  295 + sha256: ad4c4d011830462633f03eb34445a45345673dfd4faf1ab0b4735fbd93b19183
  296 + url: "https://pub.dev"
  297 + source: hosted
  298 + version: "2.2.2"
  299 + path_provider_linux:
  300 + dependency: transitive
  301 + description:
  302 + name: path_provider_linux
  303 + sha256: "2ae08f2216225427e64ad224a24354221c2c7907e448e6e0e8b57b1eb9f10ad1"
  304 + url: "https://pub.dev"
  305 + source: hosted
  306 + version: "2.1.10"
  307 + path_provider_platform_interface:
  308 + dependency: transitive
  309 + description:
  310 + name: path_provider_platform_interface
  311 + sha256: "57585299a729335f1298b43245842678cb9f43a6310351b18fb577d6e33165ec"
  312 + url: "https://pub.dev"
  313 + source: hosted
  314 + version: "2.0.6"
  315 + path_provider_windows:
  316 + dependency: transitive
  317 + description:
  318 + name: path_provider_windows
  319 + sha256: f53720498d5a543f9607db4b0e997c4b5438884de25b0f73098cc2671a51b130
  320 + url: "https://pub.dev"
  321 + source: hosted
  322 + version: "2.1.5"
  323 + pdf:
  324 + dependency: "direct main"
  325 + description:
  326 + name: pdf
  327 + sha256: "586d3debf5432e5377044754032cfa53ab45e9abf371d4865e9ad5019570e246"
  328 + url: "https://pub.dev"
  329 + source: hosted
  330 + version: "3.10.1"
  331 + permission_handler:
  332 + dependency: "direct main"
  333 + description:
  334 + name: permission_handler
  335 + sha256: "33c6a1253d1f95fd06fa74b65b7ba907ae9811f9d5c1d3150e51417d04b8d6a8"
  336 + url: "https://pub.dev"
  337 + source: hosted
  338 + version: "10.2.0"
  339 + permission_handler_android:
  340 + dependency: transitive
  341 + description:
  342 + name: permission_handler_android
  343 + sha256: "8028362b40c4a45298f1cbfccd227c8dd6caf0e27088a69f2ba2ab15464159e2"
  344 + url: "https://pub.dev"
  345 + source: hosted
  346 + version: "10.2.0"
  347 + permission_handler_apple:
  348 + dependency: transitive
  349 + description:
  350 + name: permission_handler_apple
  351 + sha256: ee96ac32f5a8e6f80756e25b25b9f8e535816c8e6665a96b6d70681f8c4f7e85
  352 + url: "https://pub.dev"
  353 + source: hosted
  354 + version: "9.0.8"
  355 + permission_handler_platform_interface:
  356 + dependency: transitive
  357 + description:
  358 + name: permission_handler_platform_interface
  359 + sha256: "68abbc472002b5e6dfce47fe9898c6b7d8328d58b5d2524f75e277c07a97eb84"
  360 + url: "https://pub.dev"
  361 + source: hosted
  362 + version: "3.9.0"
  363 + permission_handler_windows:
  364 + dependency: transitive
  365 + description:
  366 + name: permission_handler_windows
  367 + sha256: f67cab14b4328574938ecea2db3475dad7af7ead6afab6338772c5f88963e38b
  368 + url: "https://pub.dev"
  369 + source: hosted
  370 + version: "0.1.2"
166 petitparser: 371 petitparser:
167 dependency: transitive 372 dependency: transitive
168 description: 373 description:
@@ -171,6 +376,46 @@ packages: @@ -171,6 +376,46 @@ packages:
171 url: "https://pub.dev" 376 url: "https://pub.dev"
172 source: hosted 377 source: hosted
173 version: "5.1.0" 378 version: "5.1.0"
  379 + platform:
  380 + dependency: transitive
  381 + description:
  382 + name: platform
  383 + sha256: "4a451831508d7d6ca779f7ac6e212b4023dd5a7d08a27a63da33756410e32b76"
  384 + url: "https://pub.dev"
  385 + source: hosted
  386 + version: "3.1.0"
  387 + plugin_platform_interface:
  388 + dependency: transitive
  389 + description:
  390 + name: plugin_platform_interface
  391 + sha256: "6a2128648c854906c53fa8e33986fc0247a1116122f9534dd20e3ab9e16a32bc"
  392 + url: "https://pub.dev"
  393 + source: hosted
  394 + version: "2.1.4"
  395 + pointycastle:
  396 + dependency: transitive
  397 + description:
  398 + name: pointycastle
  399 + sha256: "7c1e5f0d23c9016c5bbd8b1473d0d3fb3fc851b876046039509e18e0c7485f2c"
  400 + url: "https://pub.dev"
  401 + source: hosted
  402 + version: "3.7.3"
  403 + printing:
  404 + dependency: "direct main"
  405 + description:
  406 + name: printing
  407 + sha256: c5c19dd852e95aa140141df13fa304f079a20c4a14a66de5275a0f811240aeec
  408 + url: "https://pub.dev"
  409 + source: hosted
  410 + version: "5.10.3"
  411 + process:
  412 + dependency: transitive
  413 + description:
  414 + name: process
  415 + sha256: "53fd8db9cec1d37b0574e12f07520d582019cb6c44abf5479a01505099a34a09"
  416 + url: "https://pub.dev"
  417 + source: hosted
  418 + version: "4.2.4"
174 provider: 419 provider:
175 dependency: transitive 420 dependency: transitive
176 description: 421 description:
@@ -179,6 +424,14 @@ packages: @@ -179,6 +424,14 @@ packages:
179 url: "https://pub.dev" 424 url: "https://pub.dev"
180 source: hosted 425 source: hosted
181 version: "6.0.5" 426 version: "6.0.5"
  427 + qr:
  428 + dependency: transitive
  429 + description:
  430 + name: qr
  431 + sha256: "64957a3930367bf97cc211a5af99551d630f2f4625e38af10edd6b19131b64b3"
  432 + url: "https://pub.dev"
  433 + source: hosted
  434 + version: "3.0.1"
182 sky_engine: 435 sky_engine:
183 dependency: transitive 436 dependency: transitive
184 description: flutter 437 description: flutter
@@ -238,7 +491,7 @@ packages: @@ -238,7 +491,7 @@ packages:
238 path: ".." 491 path: ".."
239 relative: true 492 relative: true
240 source: path 493 source: path
241 - version: "0.1.5" 494 + version: "0.1.6"
242 tex_text: 495 tex_text:
243 dependency: transitive 496 dependency: transitive
244 description: 497 description:
@@ -255,6 +508,78 @@ packages: @@ -255,6 +508,78 @@ packages:
255 url: "https://pub.dev" 508 url: "https://pub.dev"
256 source: hosted 509 source: hosted
257 version: "2.0.1" 510 version: "2.0.1"
  511 + typed_data:
  512 + dependency: transitive
  513 + description:
  514 + name: typed_data
  515 + sha256: "26f87ade979c47a150c9eaab93ccd2bebe70a27dc0b4b29517f2904f04eb11a5"
  516 + url: "https://pub.dev"
  517 + source: hosted
  518 + version: "1.3.1"
  519 + url_launcher:
  520 + dependency: "direct main"
  521 + description:
  522 + name: url_launcher
  523 + sha256: "75f2846facd11168d007529d6cd8fcb2b750186bea046af9711f10b907e1587e"
  524 + url: "https://pub.dev"
  525 + source: hosted
  526 + version: "6.1.10"
  527 + url_launcher_android:
  528 + dependency: transitive
  529 + description:
  530 + name: url_launcher_android
  531 + sha256: a52628068d282d01a07cd86e6ba99e497aa45ce8c91159015b2416907d78e411
  532 + url: "https://pub.dev"
  533 + source: hosted
  534 + version: "6.0.27"
  535 + url_launcher_ios:
  536 + dependency: transitive
  537 + description:
  538 + name: url_launcher_ios
  539 + sha256: "9af7ea73259886b92199f9e42c116072f05ff9bea2dcb339ab935dfc957392c2"
  540 + url: "https://pub.dev"
  541 + source: hosted
  542 + version: "6.1.4"
  543 + url_launcher_linux:
  544 + dependency: transitive
  545 + description:
  546 + name: url_launcher_linux
  547 + sha256: "206fb8334a700ef7754d6a9ed119e7349bc830448098f21a69bf1b4ed038cabc"
  548 + url: "https://pub.dev"
  549 + source: hosted
  550 + version: "3.0.4"
  551 + url_launcher_macos:
  552 + dependency: transitive
  553 + description:
  554 + name: url_launcher_macos
  555 + sha256: "91ee3e75ea9dadf38036200c5d3743518f4a5eb77a8d13fda1ee5764373f185e"
  556 + url: "https://pub.dev"
  557 + source: hosted
  558 + version: "3.0.5"
  559 + url_launcher_platform_interface:
  560 + dependency: transitive
  561 + description:
  562 + name: url_launcher_platform_interface
  563 + sha256: "6c9ca697a5ae218ce56cece69d46128169a58aa8653c1b01d26fcd4aad8c4370"
  564 + url: "https://pub.dev"
  565 + source: hosted
  566 + version: "2.1.2"
  567 + url_launcher_web:
  568 + dependency: transitive
  569 + description:
  570 + name: url_launcher_web
  571 + sha256: "81fe91b6c4f84f222d186a9d23c73157dc4c8e1c71489c4d08be1ad3b228f1aa"
  572 + url: "https://pub.dev"
  573 + source: hosted
  574 + version: "2.0.16"
  575 + url_launcher_windows:
  576 + dependency: transitive
  577 + description:
  578 + name: url_launcher_windows
  579 + sha256: a83ba3607a507758669cfafb03f9de09bf6e6280c14d9b9cb18f013e406dcacd
  580 + url: "https://pub.dev"
  581 + source: hosted
  582 + version: "3.0.5"
258 vector_math: 583 vector_math:
259 dependency: transitive 584 dependency: transitive
260 description: 585 description:
@@ -263,6 +588,22 @@ packages: @@ -263,6 +588,22 @@ packages:
263 url: "https://pub.dev" 588 url: "https://pub.dev"
264 source: hosted 589 source: hosted
265 version: "2.1.4" 590 version: "2.1.4"
  591 + win32:
  592 + dependency: transitive
  593 + description:
  594 + name: win32
  595 + sha256: a6f0236dbda0f63aa9a25ad1ff9a9d8a4eaaa5012da0dc59d21afdb1dc361ca4
  596 + url: "https://pub.dev"
  597 + source: hosted
  598 + version: "3.1.4"
  599 + xdg_directories:
  600 + dependency: transitive
  601 + description:
  602 + name: xdg_directories
  603 + sha256: ee1505df1426458f7f60aac270645098d318a8b4766d85fde75f76f2e21807d1
  604 + url: "https://pub.dev"
  605 + source: hosted
  606 + version: "1.0.0"
266 xml: 607 xml:
267 dependency: transitive 608 dependency: transitive
268 description: 609 description:
@@ -273,4 +614,4 @@ packages: @@ -273,4 +614,4 @@ packages:
273 version: "6.1.0" 614 version: "6.1.0"
274 sdks: 615 sdks:
275 dart: ">=2.18.6 <3.0.0" 616 dart: ">=2.18.6 <3.0.0"
276 - flutter: ">=3.0.0" 617 + flutter: ">=3.7.0"
@@ -38,6 +38,13 @@ dependencies: @@ -38,6 +38,13 @@ dependencies:
38 cupertino_icons: ^1.0.2 38 cupertino_icons: ^1.0.2
39 tex_markdown: 39 tex_markdown:
40 path: ../../tex_markdown 40 path: ../../tex_markdown
  41 + printing: ^5.10.3
  42 + pdf: ^3.10.1
  43 + flutter_html_to_pdf: ^0.7.0
  44 + url_launcher: ^6.1.10
  45 + path_provider: ^2.0.14
  46 + permission_handler: ^10.2.0
  47 + file_picker: ^5.2.10
41 48
42 dev_dependencies: 49 dev_dependencies:
43 flutter_test: 50 flutter_test:
@@ -6,6 +6,15 @@ @@ -6,6 +6,15 @@
6 6
7 #include "generated_plugin_registrant.h" 7 #include "generated_plugin_registrant.h"
8 8
  9 +#include <permission_handler_windows/permission_handler_windows_plugin.h>
  10 +#include <printing/printing_plugin.h>
  11 +#include <url_launcher_windows/url_launcher_windows.h>
9 12
10 void RegisterPlugins(flutter::PluginRegistry* registry) { 13 void RegisterPlugins(flutter::PluginRegistry* registry) {
  14 + PermissionHandlerWindowsPluginRegisterWithRegistrar(
  15 + registry->GetRegistrarForPlugin("PermissionHandlerWindowsPlugin"));
  16 + PrintingPluginRegisterWithRegistrar(
  17 + registry->GetRegistrarForPlugin("PrintingPlugin"));
  18 + UrlLauncherWindowsRegisterWithRegistrar(
  19 + registry->GetRegistrarForPlugin("UrlLauncherWindows"));
11 } 20 }
@@ -3,6 +3,9 @@ @@ -3,6 +3,9 @@
3 # 3 #
4 4
5 list(APPEND FLUTTER_PLUGIN_LIST 5 list(APPEND FLUTTER_PLUGIN_LIST
  6 + permission_handler_windows
  7 + printing
  8 + url_launcher_windows
6 ) 9 )
7 10
8 list(APPEND FLUTTER_FFI_PLUGIN_LIST 11 list(APPEND FLUTTER_FFI_PLUGIN_LIST
@@ -71,9 +71,23 @@ abstract class MarkdownComponent { @@ -71,9 +71,23 @@ abstract class MarkdownComponent {
71 ); 71 );
72 } else { 72 } else {
73 if (each is BlockMd) { 73 if (each is BlockMd) {
74 - spans.add( 74 + spans.addAll([
  75 + const TextSpan(
  76 + text: "\n ",
  77 + style: TextStyle(
  78 + fontSize: 0,
  79 + height: 0,
  80 + ),
  81 + ),
75 each.span(context, element.trim(), style, onLinkTab), 82 each.span(context, element.trim(), style, onLinkTab),
76 - ); 83 + const TextSpan(
  84 + text: "\n ",
  85 + style: TextStyle(
  86 + fontSize: 0,
  87 + height: 0,
  88 + ),
  89 + ),
  90 + ]);
77 } 91 }
78 } 92 }
79 return; 93 return;
@@ -81,12 +95,6 @@ abstract class MarkdownComponent { @@ -81,12 +95,6 @@ abstract class MarkdownComponent {
81 } 95 }
82 }, 96 },
83 ); 97 );
84 - // return Text.rich(  
85 - // TextSpan(  
86 - // children: List.from(spans),  
87 - // ),  
88 - // // textAlign: TextAlign.left,  
89 - // );  
90 return spans; 98 return spans;
91 } 99 }
92 100
@@ -127,24 +135,9 @@ abstract class BlockMd extends MarkdownComponent { @@ -127,24 +135,9 @@ abstract class BlockMd extends MarkdownComponent {
127 TextStyle? style, 135 TextStyle? style,
128 final void Function(String url, String title)? onLinkTab, 136 final void Function(String url, String title)? onLinkTab,
129 ) { 137 ) {
130 - return TextSpan(  
131 - children: [  
132 - const TextSpan(  
133 - text: "\n ",  
134 - style: TextStyle(  
135 - fontSize: 0,  
136 - height: 0,  
137 - ),  
138 - ),  
139 - WidgetSpan( 138 + return WidgetSpan(
140 child: build(context, text, style, onLinkTab), 139 child: build(context, text, style, onLinkTab),
141 alignment: PlaceholderAlignment.middle, 140 alignment: PlaceholderAlignment.middle,
142 - ),  
143 - const TextSpan(  
144 - text: "\n ",  
145 - style: TextStyle(fontSize: 0, height: 0),  
146 - ),  
147 - ],  
148 ); 141 );
149 } 142 }
150 143
@@ -92,7 +92,6 @@ $value @@ -92,7 +92,6 @@ $value
92 child: Table( 92 child: Table(
93 defaultColumnWidth: CustomTableColumnWidth(), 93 defaultColumnWidth: CustomTableColumnWidth(),
94 defaultVerticalAlignment: TableCellVerticalAlignment.middle, 94 defaultVerticalAlignment: TableCellVerticalAlignment.middle,
95 - // defaultColumnWidth: const FixedColumnWidth(double.infinity),  
96 border: TableBorder.all( 95 border: TableBorder.all(
97 width: 1, 96 width: 1,
98 color: Theme.of(context).colorScheme.onSurface, 97 color: Theme.of(context).colorScheme.onSurface,
1 name: tex_markdown 1 name: tex_markdown
2 description: This package is used to create flutter widget that can render markdown and latex formulas. It is very simple to use and uses native flutter components. 2 description: This package is used to create flutter widget that can render markdown and latex formulas. It is very simple to use and uses native flutter components.
3 -version: 0.1.5 3 +version: 0.1.6
4 homepage: https://github.com/saminsohag/flutter_packages/tree/main/tex_markdown 4 homepage: https://github.com/saminsohag/flutter_packages/tree/main/tex_markdown
5 5
6 environment: 6 environment: