Showing
25 changed files
with
675 additions
and
86 deletions
| @@ -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}" |
tex_markdown/example/ios/Podfile
0 → 100644
| 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,44 +103,47 @@ $hello$ | @@ -100,44 +103,47 @@ $hello$ | ||
| 100 | ), | 103 | ), |
| 101 | ], | 104 | ], |
| 102 | ), | 105 | ), |
| 103 | - body: Column( | 106 | + body: Stack( |
| 104 | children: [ | 107 | children: [ |
| 105 | - Expanded( | ||
| 106 | - child: ListView( | ||
| 107 | - children: [ | ||
| 108 | - AnimatedBuilder( | ||
| 109 | - animation: _controller, | ||
| 110 | - builder: (context, _) { | ||
| 111 | - 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 | - return SingleChildScrollView( | ||
| 118 | - scrollDirection: Axis.horizontal, | ||
| 119 | - child: TexMarkdown( | ||
| 120 | - _controller.text, | ||
| 121 | - onLinkTab: (url, title) { | ||
| 122 | - log(title, name: "title"); | ||
| 123 | - log(url, name: "url"); | ||
| 124 | - }, | ||
| 125 | - style: const TextStyle( | ||
| 126 | - // color: Colors.green, | ||
| 127 | - ), | 108 | + Column( |
| 109 | + children: [ | ||
| 110 | + Expanded( | ||
| 111 | + child: ListView( | ||
| 112 | + children: [ | ||
| 113 | + AnimatedBuilder( | ||
| 114 | + animation: _controller, | ||
| 115 | + builder: (context, _) { | ||
| 116 | + return Material( | ||
| 117 | + // color: Theme.of(context).colorScheme.surfaceVariant, | ||
| 118 | + shape: RoundedRectangleBorder( | ||
| 119 | + side: BorderSide( | ||
| 120 | + width: 1, | ||
| 121 | + color: Theme.of(context).colorScheme.outline), | ||
| 128 | ), | 122 | ), |
| 123 | + child: | ||
| 124 | + LayoutBuilder(builder: (context, constraints) { | ||
| 125 | + return SingleChildScrollView( | ||
| 126 | + scrollDirection: Axis.horizontal, | ||
| 127 | + child: TexMarkdown( | ||
| 128 | + _controller.text, | ||
| 129 | + onLinkTab: (url, title) { | ||
| 130 | + log(title, name: "title"); | ||
| 131 | + log(url, name: "url"); | ||
| 132 | + }, | ||
| 133 | + style: const TextStyle( | ||
| 134 | + // color: Colors.green, | ||
| 135 | + ), | ||
| 136 | + ), | ||
| 137 | + ); | ||
| 138 | + }), | ||
| 129 | ); | 139 | ); |
| 130 | }), | 140 | }), |
| 131 | - ); | ||
| 132 | - }), | ||
| 133 | - ], | ||
| 134 | - ), | ||
| 135 | - ), | ||
| 136 | - ConstrainedBox( | ||
| 137 | - constraints: const BoxConstraints(maxHeight: 200), | ||
| 138 | - child: Stack( | ||
| 139 | - children: [ | ||
| 140 | - Padding( | 141 | + ], |
| 142 | + ), | ||
| 143 | + ), | ||
| 144 | + ConstrainedBox( | ||
| 145 | + constraints: const BoxConstraints(maxHeight: 200), | ||
| 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,25 +153,36 @@ $hello$ | @@ -147,25 +153,36 @@ $hello$ | ||
| 147 | controller: _controller, | 153 | controller: _controller, |
| 148 | ), | 154 | ), |
| 149 | ), | 155 | ), |
| 150 | - IconButton( | ||
| 151 | - onPressed: () { | ||
| 152 | - 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)); | ||
| 165 | - }, | ||
| 166 | - icon: const Icon(Icons.html), | ||
| 167 | - ), | ||
| 168 | - ], | 156 | + ), |
| 157 | + ], | ||
| 158 | + ), | ||
| 159 | + Align( | ||
| 160 | + alignment: Alignment.topRight, | ||
| 161 | + child: IconButton( | ||
| 162 | + onPressed: () async { | ||
| 163 | + String html = '''<!DOCTYPE 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 | + ); | ||
| 184 | + }, | ||
| 185 | + icon: const Icon(Icons.html), | ||
| 169 | ), | 186 | ), |
| 170 | ), | 187 | ), |
| 171 | ], | 188 | ], |
| @@ -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 | } |
| @@ -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 | } |
tex_markdown/example/macos/Podfile
0 → 100644
| 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 |
tex_markdown/example/macos/Podfile.lock
0 → 100644
| 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 */ |
| @@ -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 | } |
| @@ -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( | ||
| 140 | - child: build(context, text, style, onLinkTab), | ||
| 141 | - alignment: PlaceholderAlignment.middle, | ||
| 142 | - ), | ||
| 143 | - const TextSpan( | ||
| 144 | - text: "\n ", | ||
| 145 | - style: TextStyle(fontSize: 0, height: 0), | ||
| 146 | - ), | ||
| 147 | - ], | 138 | + return WidgetSpan( |
| 139 | + child: build(context, text, style, onLinkTab), | ||
| 140 | + alignment: PlaceholderAlignment.middle, | ||
| 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: |
-
Please register or login to post a comment