diff --git a/example/ios/Flutter/AppFrameworkInfo.plist b/example/ios/Flutter/AppFrameworkInfo.plist index 8d4492f9..7c569640 100644 --- a/example/ios/Flutter/AppFrameworkInfo.plist +++ b/example/ios/Flutter/AppFrameworkInfo.plist @@ -21,6 +21,6 @@ CFBundleVersion 1.0 MinimumOSVersion - 9.0 + 12.0 diff --git a/example/ios/Podfile b/example/ios/Podfile index 1e8c3c90..279576f3 100644 --- a/example/ios/Podfile +++ b/example/ios/Podfile @@ -1,5 +1,5 @@ # Uncomment this line to define a global platform for your project -# platform :ios, '9.0' +# platform :ios, '12.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index b03e6548..5475bbcd 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -34,11 +34,11 @@ PODS: - DKImagePickerController/PhotoGallery - Flutter - Flutter (1.0.0) - - flutter_inappwebview (0.0.1): + - flutter_inappwebview_ios (0.0.1): - Flutter - - flutter_inappwebview/Core (= 0.0.1) + - flutter_inappwebview_ios/Core (= 0.0.1) - OrderedSet (~> 5.0) - - flutter_inappwebview/Core (0.0.1): + - flutter_inappwebview_ios/Core (0.0.1): - Flutter - OrderedSet (~> 5.0) - flutter_keyboard_visibility (0.0.1): @@ -52,7 +52,7 @@ PODS: DEPENDENCIES: - file_picker (from `.symlinks/plugins/file_picker/ios`) - Flutter (from `Flutter`) - - flutter_inappwebview (from `.symlinks/plugins/flutter_inappwebview/ios`) + - flutter_inappwebview_ios (from `.symlinks/plugins/flutter_inappwebview_ios/ios`) - flutter_keyboard_visibility (from `.symlinks/plugins/flutter_keyboard_visibility/ios`) SPEC REPOS: @@ -68,22 +68,22 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/file_picker/ios" Flutter: :path: Flutter - flutter_inappwebview: - :path: ".symlinks/plugins/flutter_inappwebview/ios" + flutter_inappwebview_ios: + :path: ".symlinks/plugins/flutter_inappwebview_ios/ios" flutter_keyboard_visibility: :path: ".symlinks/plugins/flutter_keyboard_visibility/ios" SPEC CHECKSUMS: DKImagePickerController: b512c28220a2b8ac7419f21c491fc8534b7601ac DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179 - file_picker: 817ab1d8cd2da9d2da412a417162deee3500fc95 - Flutter: 50d75fe2f02b26cc09d224853bb45737f8b3214a - flutter_inappwebview: bfd58618f49dc62f2676de690fc6dcda1d6c3721 + file_picker: ce3938a0df3cc1ef404671531facef740d03f920 + Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 + flutter_inappwebview_ios: 97215cf7d4677db55df76782dbd2930c5e1c1ea0 flutter_keyboard_visibility: 0339d06371254c3eb25eeb90ba8d17dca8f9c069 OrderedSet: aaeb196f7fef5a9edf55d89760da9176ad40b93c SDWebImage: 72f86271a6f3139cc7e4a89220946489d4b9a866 SwiftyGif: 6c3eafd0ce693cad58bb63d2b2fb9bacb8552780 -PODFILE CHECKSUM: aafe91acc616949ddb318b77800a7f51bffa2a4c +PODFILE CHECKSUM: c4c93c5f6502fe2754f48404d3594bf779584011 -COCOAPODS: 1.11.3 +COCOAPODS: 1.15.2 diff --git a/example/ios/Runner.xcodeproj/project.pbxproj b/example/ios/Runner.xcodeproj/project.pbxproj index 85c7811a..daa4d700 100644 --- a/example/ios/Runner.xcodeproj/project.pbxproj +++ b/example/ios/Runner.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 50; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ @@ -156,7 +156,7 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1510; ORGANIZATIONNAME = ""; TargetAttributes = { 97C146ED1CF9000F007C117D = { @@ -200,10 +200,12 @@ /* Begin PBXShellScriptBuildPhase section */ 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); name = "Thin Binary"; outputPaths = ( @@ -236,6 +238,7 @@ }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); @@ -340,7 +343,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -414,7 +417,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -463,7 +466,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; diff --git a/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 3db53b6e..e67b2808 100644 --- a/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ CADisableMinimumFrameDurationOnPhone + UIApplicationSupportsIndirectInputEvents + diff --git a/example/lib/main.dart b/example/lib/main.dart index 85057082..3c78e8e8 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -1,7 +1,7 @@ +import 'package:file_picker/file_picker.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:html_editor_enhanced/html_editor.dart'; -import 'package:file_picker/file_picker.dart'; void main() => runApp(HtmlEditorExampleApp()); @@ -71,6 +71,7 @@ class _HtmlEditorExampleState extends State { htmlEditorOptions: HtmlEditorOptions( hint: 'Your text here...', shouldEnsureVisible: true, + initialText: '''\u003cp\u003eGuests sẽ bị chặn quyền truy cập vào một số tính năng.\u003c/p\u003e\u003cp\u003e\u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://help.upbase.io/article/22-working-with-guests-in-a-list\"\u003ehttps://help.upbase.io/article/22-working-with-guests-in-a-list\u003c/a\u003e\u003c/p\u003e\u003cp\u003eCụ thể:\u003c/p\u003e\u003cul data-type=\"taskList\"\u003e\u003cli data-checked=\"false\" data-type=\"taskItem\"\u003e\u003clabel\u003e\u003cinput type=\"checkbox\"\u003e\u003cspan\u003e\u003c/span\u003e\u003c/label\u003e\u003cdiv\u003e\u003cp\u003eẨn menu My tasks, Schedule.\u003c/p\u003e\u003c/div\u003e\u003c/li\u003e\u003cli data-checked=\"false\" data-type=\"taskItem\"\u003e\u003clabel\u003e\u003cinput type=\"checkbox\"\u003e\u003cspan\u003e\u003c/span\u003e\u003c/label\u003e\u003cdiv\u003e\u003cp\u003eẨn nút màu xanh Add Folder và List.\u003c/p\u003e\u003c/div\u003e\u003c/li\u003e\u003cli data-checked=\"false\" data-type=\"taskItem\"\u003e\u003clabel\u003e\u003cinput type=\"checkbox\"\u003e\u003cspan\u003e\u003c/span\u003e\u003c/label\u003e\u003cdiv\u003e\u003cp\u003eẨn nút \"+\" bên phải tên Folder.\u003c/p\u003e\u003c/div\u003e\u003c/li\u003e\u003cli data-checked=\"false\" data-type=\"taskItem\"\u003e\u003clabel\u003e\u003cinput type=\"checkbox\"\u003e\u003cspan\u003e\u003c/span\u003e\u003c/label\u003e\u003cdiv\u003e\u003cp\u003eẨn menu khi long-press vào tên list.\u003c/p\u003e\u003c/div\u003e\u003c/li\u003e\u003c/ul\u003e\u003cp\u003e\u003c/p\u003e\u003cimg src=\"https://d36vdic3y07eu2.cloudfront.net/file/1676882544818774258/image.png\"\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003ch3\u003eTrang Chat\u003c/h3\u003e\u003cul data-type=\"taskList\"\u003e\u003cli data-checked=\"false\" data-type=\"taskItem\"\u003e\u003clabel\u003e\u003cinput type=\"checkbox\"\u003e\u003cspan\u003e\u003c/span\u003e\u003c/label\u003e\u003cdiv\u003e\u003cp\u003eẨn section \"Direct messages\"\u003c/p\u003e\u003c/div\u003e\u003c/li\u003e\u003cli data-checked=\"false\" data-type=\"taskItem\"\u003e\u003clabel\u003e\u003cinput type=\"checkbox\"\u003e\u003cspan\u003e\u003c/span\u003e\u003c/label\u003e\u003cdiv\u003e\u003cp\u003eẨn nút màu xanh để browser channels.\u003c/p\u003e\u003c/div\u003e\u003c/li\u003e\u003c/ul\u003e\u003cp\u003e\u003c/p\u003e\u003cimg src=\"https://d36vdic3y07eu2.cloudfront.net/file/1676882813642608199/image.png\"\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003ch3\u003eTrang tasks trong list\u003c/h3\u003e\u003cul data-type=\"taskList\"\u003e\u003cli data-checked=\"false\" data-type=\"taskItem\"\u003e\u003clabel\u003e\u003cinput type=\"checkbox\"\u003e\u003cspan\u003e\u003c/span\u003e\u003c/label\u003e\u003cdiv\u003e\u003cp\u003eẨn 2 menu ba chấm\u003c/p\u003e\u003c/div\u003e\u003c/li\u003e\u003c/ul\u003e\u003cp\u003e\u003c/p\u003e\u003cimg src=\"https://d36vdic3y07eu2.cloudfront.net/file/1676882900941886413/image.png\"\u003e\u003cp\u003e\u003c/p\u003e\u003cul data-type=\"taskList\"\u003e\u003cli data-checked=\"false\" data-type=\"taskItem\"\u003e\u003clabel\u003e\u003cinput type=\"checkbox\"\u003e\u003cspan\u003e\u003c/span\u003e\u003c/label\u003e\u003cdiv\u003e\u003cp\u003eẨn menu Delete đối với những item task, doc, file, message không phải do chính guest đó tạo. Guest không có quyền xóa item được tạo bởi người khác.\u003c/p\u003e\u003c/div\u003e\u003c/li\u003e\u003c/ul\u003e\u003cp\u003e\u003c/p\u003e''' //initialText: "

text content initial, if any

", ), htmlToolbarOptions: HtmlToolbarOptions( diff --git a/example/pubspec.lock b/example/pubspec.lock index b98a159b..7023eb9f 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -5,79 +5,90 @@ packages: dependency: transitive description: name: async - url: "https://pub.dartlang.org" + sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" + url: "https://pub.dev" source: hosted - version: "2.9.0" + version: "2.11.0" boolean_selector: dependency: transitive description: name: boolean_selector - url: "https://pub.dartlang.org" + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.1" characters: dependency: transitive description: name: characters - url: "https://pub.dartlang.org" + sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" + url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.3.0" clock: dependency: transitive description: name: clock - url: "https://pub.dartlang.org" + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + url: "https://pub.dev" source: hosted version: "1.1.1" collection: dependency: transitive description: name: collection - url: "https://pub.dartlang.org" + sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.18.0" cupertino_icons: dependency: "direct main" description: name: cupertino_icons - url: "https://pub.dartlang.org" + sha256: d57953e10f9f8327ce64a508a355f0b1ec902193f66288e8cb5070e7c47eeb2d + url: "https://pub.dev" source: hosted - version: "1.0.5" + version: "1.0.6" fake_async: dependency: transitive description: name: fake_async - url: "https://pub.dartlang.org" + sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + url: "https://pub.dev" source: hosted version: "1.3.1" ffi: dependency: transitive description: name: ffi - url: "https://pub.dartlang.org" + sha256: "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21" + url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "2.1.2" file_picker: dependency: transitive description: name: file_picker - url: "https://pub.dartlang.org" + sha256: be325344c1f3070354a1d84a231a1ba75ea85d413774ec4bdf444c023342e030 + url: "https://pub.dev" source: hosted - version: "5.2.5" + version: "5.5.0" flex_color_picker: dependency: transitive description: name: flex_color_picker - url: "https://pub.dartlang.org" + sha256: "5c846437069fb7afdd7ade6bf37e628a71d2ab0787095ddcb1253bf9345d5f3a" + url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "3.4.1" flex_seed_scheme: dependency: transitive description: name: flex_seed_scheme - url: "https://pub.dartlang.org" + sha256: "4cee2f1d07259f77e8b36f4ec5f35499d19e74e17c7dce5b819554914082bc01" + url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.5.0" flutter: dependency: "direct main" description: flutter @@ -87,58 +98,114 @@ packages: dependency: transitive description: name: flutter_inappwebview - url: "https://pub.dartlang.org" + sha256: "3e9a443a18ecef966fb930c3a76ca5ab6a7aafc0c7b5e14a4a850cf107b09959" + url: "https://pub.dev" + source: hosted + version: "6.0.0" + flutter_inappwebview_android: + dependency: transitive + description: + name: flutter_inappwebview_android + sha256: d247f6ed417f1f8c364612fa05a2ecba7f775c8d0c044c1d3b9ee33a6515c421 + url: "https://pub.dev" + source: hosted + version: "1.0.13" + flutter_inappwebview_internal_annotations: + dependency: transitive + description: + name: flutter_inappwebview_internal_annotations + sha256: "5f80fd30e208ddded7dbbcd0d569e7995f9f63d45ea3f548d8dd4c0b473fb4c8" + url: "https://pub.dev" + source: hosted + version: "1.1.1" + flutter_inappwebview_ios: + dependency: transitive + description: + name: flutter_inappwebview_ios + sha256: f363577208b97b10b319cd0c428555cd8493e88b468019a8c5635a0e4312bd0f + url: "https://pub.dev" + source: hosted + version: "1.0.13" + flutter_inappwebview_macos: + dependency: transitive + description: + name: flutter_inappwebview_macos + sha256: b55b9e506c549ce88e26580351d2c71d54f4825901666bd6cfa4be9415bb2636 + url: "https://pub.dev" + source: hosted + version: "1.0.11" + flutter_inappwebview_platform_interface: + dependency: transitive + description: + name: flutter_inappwebview_platform_interface + sha256: "545fd4c25a07d2775f7d5af05a979b2cac4fbf79393b0a7f5d33ba39ba4f6187" + url: "https://pub.dev" + source: hosted + version: "1.0.10" + flutter_inappwebview_web: + dependency: transitive + description: + name: flutter_inappwebview_web + sha256: d8c680abfb6fec71609a700199635d38a744df0febd5544c5a020bd73de8ee07 + url: "https://pub.dev" source: hosted - version: "5.7.2+3" + version: "1.0.8" flutter_keyboard_visibility: dependency: transitive description: name: flutter_keyboard_visibility - url: "https://pub.dartlang.org" + sha256: "98664be7be0e3ffca00de50f7f6a287ab62c763fc8c762e0a21584584a3ff4f8" + url: "https://pub.dev" source: hosted - version: "5.4.0" + version: "6.0.0" flutter_keyboard_visibility_linux: dependency: transitive description: name: flutter_keyboard_visibility_linux - url: "https://pub.dartlang.org" + sha256: "6fba7cd9bb033b6ddd8c2beb4c99ad02d728f1e6e6d9b9446667398b2ac39f08" + url: "https://pub.dev" source: hosted version: "1.0.0" flutter_keyboard_visibility_macos: dependency: transitive description: name: flutter_keyboard_visibility_macos - url: "https://pub.dartlang.org" + sha256: c5c49b16fff453dfdafdc16f26bdd8fb8d55812a1d50b0ce25fc8d9f2e53d086 + url: "https://pub.dev" source: hosted version: "1.0.0" flutter_keyboard_visibility_platform_interface: dependency: transitive description: name: flutter_keyboard_visibility_platform_interface - url: "https://pub.dartlang.org" + sha256: e43a89845873f7be10cb3884345ceb9aebf00a659f479d1c8f4293fcb37022a4 + url: "https://pub.dev" source: hosted version: "2.0.0" flutter_keyboard_visibility_web: dependency: transitive description: name: flutter_keyboard_visibility_web - url: "https://pub.dartlang.org" + sha256: d3771a2e752880c79203f8d80658401d0c998e4183edca05a149f5098ce6e3d1 + url: "https://pub.dev" source: hosted version: "2.0.0" flutter_keyboard_visibility_windows: dependency: transitive description: name: flutter_keyboard_visibility_windows - url: "https://pub.dartlang.org" + sha256: fc4b0f0b6be9b93ae527f3d527fb56ee2d918cd88bbca438c478af7bcfd0ef73 + url: "https://pub.dev" source: hosted version: "1.0.0" flutter_plugin_android_lifecycle: dependency: transitive description: name: flutter_plugin_android_lifecycle - url: "https://pub.dartlang.org" + sha256: b068ffc46f82a55844acfa4fdbb61fad72fa2aef0905548419d97f0f95c456da + url: "https://pub.dev" source: hosted - version: "2.0.7" + version: "2.0.17" flutter_test: dependency: "direct dev" description: flutter @@ -155,77 +222,111 @@ packages: path: ".." relative: true source: path - version: "2.5.1" + version: "2.5.2" infinite_listview: dependency: transitive description: name: infinite_listview - url: "https://pub.dartlang.org" + sha256: f6062c1720eb59be553dfa6b89813d3e8dd2f054538445aaa5edaddfa5195ce6 + url: "https://pub.dev" source: hosted version: "1.1.0" js: dependency: transitive description: name: js - url: "https://pub.dartlang.org" + sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 + url: "https://pub.dev" source: hosted - version: "0.6.4" + version: "0.6.7" + leak_tracker: + dependency: transitive + description: + name: leak_tracker + sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" + url: "https://pub.dev" + source: hosted + version: "10.0.4" + leak_tracker_flutter_testing: + dependency: transitive + description: + name: leak_tracker_flutter_testing + sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" + url: "https://pub.dev" + source: hosted + version: "3.0.3" + leak_tracker_testing: + dependency: transitive + description: + name: leak_tracker_testing + sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" + url: "https://pub.dev" + source: hosted + version: "3.0.1" matcher: dependency: transitive description: name: matcher - url: "https://pub.dartlang.org" + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb + url: "https://pub.dev" source: hosted - version: "0.12.12" + version: "0.12.16+1" material_color_utilities: dependency: transitive description: name: material_color_utilities - url: "https://pub.dartlang.org" + sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" + url: "https://pub.dev" source: hosted - version: "0.1.5" + version: "0.8.0" meta: dependency: transitive description: name: meta - url: "https://pub.dartlang.org" + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" + url: "https://pub.dev" source: hosted - version: "1.8.0" + version: "1.12.0" numberpicker: dependency: transitive description: name: numberpicker - url: "https://pub.dartlang.org" + sha256: "4c129154944b0f6b133e693f8749c3f8bfb67c4d07ef9dcab48b595c22d1f156" + url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" path: dependency: transitive description: name: path - url: "https://pub.dartlang.org" + sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" + url: "https://pub.dev" source: hosted - version: "1.8.2" + version: "1.9.0" pedantic: dependency: transitive description: name: pedantic - url: "https://pub.dartlang.org" + sha256: "67fc27ed9639506c856c840ccce7594d0bdcd91bc8d53d6e52359449a1d50602" + url: "https://pub.dev" source: hosted version: "1.11.1" plugin_platform_interface: dependency: transitive description: name: plugin_platform_interface - url: "https://pub.dartlang.org" + sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" + url: "https://pub.dev" source: hosted - version: "2.1.3" + version: "2.1.8" pointer_interceptor: dependency: transitive description: name: pointer_interceptor - url: "https://pub.dartlang.org" + sha256: adf7a637f97c077041d36801b43be08559fd4322d2127b3f20bb7be1b9eebc22 + url: "https://pub.dev" source: hosted - version: "0.9.3+3" + version: "0.9.3+7" sky_engine: dependency: transitive description: flutter @@ -235,65 +336,82 @@ packages: dependency: transitive description: name: source_span - url: "https://pub.dartlang.org" + sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" + url: "https://pub.dev" source: hosted - version: "1.9.0" + version: "1.10.0" stack_trace: dependency: transitive description: name: stack_trace - url: "https://pub.dartlang.org" + sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.11.1" stream_channel: dependency: transitive description: name: stream_channel - url: "https://pub.dartlang.org" + sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.2" string_scanner: dependency: transitive description: name: string_scanner - url: "https://pub.dartlang.org" + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.2.0" term_glyph: dependency: transitive description: name: term_glyph - url: "https://pub.dartlang.org" + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.dev" source: hosted version: "1.2.1" test_api: dependency: transitive description: name: test_api - url: "https://pub.dartlang.org" + sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" + url: "https://pub.dev" source: hosted - version: "0.4.12" + version: "0.7.0" vector_math: dependency: transitive description: name: vector_math - url: "https://pub.dartlang.org" + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.4" visibility_detector: dependency: transitive description: name: visibility_detector - url: "https://pub.dartlang.org" + sha256: "15c54a459ec2c17b4705450483f3d5a2858e733aee893dcee9d75fd04814940d" + url: "https://pub.dev" source: hosted version: "0.3.3" + vm_service: + dependency: transitive + description: + name: vm_service + sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" + url: "https://pub.dev" + source: hosted + version: "14.2.1" win32: dependency: transitive description: name: win32 - url: "https://pub.dartlang.org" + sha256: "0a989dc7ca2bb51eac91e8fd00851297cfffd641aa7538b165c62637ca0eaa4a" + url: "https://pub.dev" source: hosted - version: "3.1.3" + version: "5.4.0" sdks: - dart: ">=2.18.0 <3.0.0" - flutter: ">=3.3.0" + dart: ">=3.3.0 <4.0.0" + flutter: ">=3.18.0-18.0.pre.54" diff --git a/example/pubspec.yaml b/example/pubspec.yaml index 5e1c4814..cefcf70d 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -4,9 +4,11 @@ description: Demonstrates how to use the html_editor_enhanced plugin. # The following line prevents the package from being accidentally published to # pub.dev using `pub publish`. This is preferred for private packages. publish_to: 'none' # Remove this line if you wish to publish to pub.dev +version: 1.0.0+1 environment: - sdk: '>=2.12.0 <3.0.0' + sdk: ">=3.0.6 <4.0.0" + flutter: ">=1.17.0" dependencies: flutter: diff --git a/lib/assets/font/FlatIcon1.ttf b/lib/assets/font/FlatIcon1.ttf new file mode 100644 index 00000000..df627435 Binary files /dev/null and b/lib/assets/font/FlatIcon1.ttf differ diff --git a/lib/assets/font/FlatIconNew.ttf b/lib/assets/font/FlatIconNew.ttf new file mode 100644 index 00000000..290eee60 Binary files /dev/null and b/lib/assets/font/FlatIconNew.ttf differ diff --git a/lib/assets/font/FlutterIcon.ttf b/lib/assets/font/FlutterIcon.ttf new file mode 100644 index 00000000..7c07b070 Binary files /dev/null and b/lib/assets/font/FlutterIcon.ttf differ diff --git a/lib/assets/summernote-lite.min.css b/lib/assets/summernote-lite.min.css index 715e7ff8..4dfce7be 100644 --- a/lib/assets/summernote-lite.min.css +++ b/lib/assets/summernote-lite.min.css @@ -3,1468 +3,1605 @@ } @font-face { - font-family: summernote; - font-style: normal; - font-weight: 400; - font-display: auto; - src: url(font/summernote.eot); - src: url(font/summernote.eot?#iefix) format("embedded-opentype"),url(font/summernote.ttf) format("truetype"); -} - -[class*=" note-icon"]:before,[class^=note-icon]:before { - display: inline-block; - font-family: summernote; - font-style: normal; - font-size: inherit; - text-decoration: inherit; - text-rendering: auto; - text-transform: none; - vertical-align: middle; - -moz-osx-font-smoothing: grayscale; - -webkit-font-smoothing: antialiased; - speak: none; + font-family: summernote; + font-style: normal; + font-weight: 400; + font-display: auto; + src: url(font/summernote.eot); + src: url(font/summernote.eot?#iefix) format("embedded-opentype"), url(font/summernote.woff2) format("woff2"), url(font/summernote.woff) format("woff"), url(font/summernote.ttf) format("truetype"); +} + +[class*=" note-icon"]:before, [class^=note-icon]:before { + display: inline-block; + font-family: summernote; + font-style: normal; + font-size: inherit; + text-decoration: inherit; + text-rendering: auto; + text-transform: none; + vertical-align: middle; + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + speak: none; } .note-icon-fw { - text-align: center; - width: 1.25em; + text-align: center; + width: 1.25em; } .note-icon-border { - border: .08em solid #eee; - border-radius: .1em; - padding: .2em .25em .15em; + border: .08em solid #eee; + border-radius: .1em; + padding: .2em .25em .15em; } .note-icon-pull-left { - float: left; + float: left; } .note-icon-pull-right { - float: right; + float: right; } .note-icon.note-icon-pull-left { - margin-right: .3em; + margin-right: .3em; } .note-icon.note-icon-pull-right { - margin-left: .3em; + margin-left: .3em; } .note-icon-align:before { - content: "\ea01"; + content: "\ea01"; } .note-icon-align-center:before { - content: "\ea02"; + content: "\ea02"; } .note-icon-align-indent:before { - content: "\ea03"; + content: "\ea03"; } .note-icon-align-justify:before { - content: "\ea04"; + content: "\ea04"; } .note-icon-align-left:before { - content: "\ea05"; + content: "\ea05"; } .note-icon-align-outdent:before { - content: "\ea06"; + content: "\ea06"; } .note-icon-align-right:before { - content: "\ea07"; + content: "\ea07"; } .note-icon-arrow-circle-down:before { - content: "\ea08"; + content: "\ea08"; } .note-icon-arrow-circle-left:before { - content: "\ea09"; + content: "\ea09"; } .note-icon-arrow-circle-right:before { - content: "\ea0a"; + content: "\ea0a"; } .note-icon-arrow-circle-up:before { - content: "\ea0b"; + content: "\ea0b"; } .note-icon-arrows-alt:before { - content: "\ea0c"; + content: "\ea0c"; } .note-icon-arrows-h:before { - content: "\ea0d"; + content: "\ea0d"; } .note-icon-arrows-v:before { - content: "\ea0e"; + content: "\ea0e"; } .note-icon-bold:before { - content: "\ea0f"; + content: "\ea0f"; } .note-icon-caret:before { - content: "\ea10"; + content: "\ea10"; } .note-icon-chain-broken:before { - content: "\ea11"; + content: "\ea11"; } .note-icon-circle:before { - content: "\ea12"; + content: "\ea12"; } .note-icon-close:before { - content: "\ea13"; + content: "\ea13"; } .note-icon-code:before { - content: "\ea14"; + content: "\ea14"; } .note-icon-col-after:before { - content: "\ea15"; + content: "\ea15"; } .note-icon-col-before:before { - content: "\ea16"; + content: "\ea16"; } .note-icon-col-remove:before { - content: "\ea17"; + content: "\ea17"; } .note-icon-eraser:before { - content: "\ea18"; + content: "\ea18"; } .note-icon-float-left:before { - content: "\ea19"; + content: "\ea19"; } .note-icon-float-none:before { - content: "\ea1a"; + content: "\ea1a"; } .note-icon-float-right:before { - content: "\ea1b"; + content: "\ea1b"; } .note-icon-font:before { - content: "\ea1c"; + content: "\ea1c"; } .note-icon-frame:before { - content: "\ea1d"; + content: "\ea1d"; } .note-icon-italic:before { - content: "\ea1e"; + content: "\ea1e"; } .note-icon-link:before { - content: "\ea1f"; + content: "\ea1f"; } .note-icon-magic:before { - content: "\ea20"; + content: "\ea20"; } .note-icon-menu-check:before { - content: "\ea21"; + content: "\ea21"; } .note-icon-minus:before { - content: "\ea22"; + content: "\ea22"; } .note-icon-orderedlist:before { - content: "\ea23"; + content: "\ea23"; } .note-icon-pencil:before { - content: "\ea24"; + content: "\ea24"; } .note-icon-picture:before { - content: "\ea25"; + content: "\ea25"; } .note-icon-question:before { - content: "\ea26"; + content: "\ea26"; } .note-icon-redo:before { - content: "\ea27"; + content: "\ea27"; } .note-icon-rollback:before { - content: "\ea28"; + content: "\ea28"; } .note-icon-row-above:before { - content: "\ea29"; + content: "\ea29"; } .note-icon-row-below:before { - content: "\ea2a"; + content: "\ea2a"; } .note-icon-row-remove:before { - content: "\ea2b"; + content: "\ea2b"; } .note-icon-special-character:before { - content: "\ea2c"; + content: "\ea2c"; } .note-icon-square:before { - content: "\ea2d"; + content: "\ea2d"; } .note-icon-strikethrough:before { - content: "\ea2e"; + content: "\ea2e"; } .note-icon-subscript:before { - content: "\ea2f"; + content: "\ea2f"; } .note-icon-summernote:before { - content: "\ea30"; + content: "\ea30"; } .note-icon-superscript:before { - content: "\ea31"; + content: "\ea31"; } .note-icon-table:before { - content: "\ea32"; + content: "\ea32"; } .note-icon-text-height:before { - content: "\ea33"; + content: "\ea33"; } .note-icon-trash:before { - content: "\ea34"; + content: "\ea34"; } .note-icon-underline:before { - content: "\ea35"; + content: "\ea35"; } .note-icon-undo:before { - content: "\ea36"; + content: "\ea36"; } .note-icon-unorderedlist:before { - content: "\ea37"; + content: "\ea37"; } .note-icon-video:before { - content: "\ea38"; + content: "\ea38"; } .note-frame { - -ms-box-sizing: border-box; - box-sizing: border-box; - color: #000; - font-family: sans-serif; - border-radius: 4px; + -ms-box-sizing: border-box; + box-sizing: border-box; + color: #000; + font-family: sans-serif; + border-radius: 4px; } .note-toolbar { - padding: 10px 5px; - color: #333; - background-color: #f5f5f5; - border-bottom: 1px solid; - border-color: #ddd; - border-top-left-radius: 3px; - border-top-right-radius: 3px; + padding: 10px 5px; + color: #333; + background-color: #f5f5f5; + border-bottom: 1px solid; + border-color: #ddd; + border-top-left-radius: 3px; + border-top-right-radius: 3px; } .note-btn-group { - position: relative; - display: inline-block; - margin-right: 8px; + position: relative; + display: inline-block; + margin-right: 8px; } -.note-btn-group>.note-btn-group { - margin-right: 0; +.note-btn-group > .note-btn-group { + margin-right: 0; } -.note-btn-group>.note-btn:first-child { - margin-left: 0; +.note-btn-group > .note-btn:first-child { + margin-left: 0; } -.note-btn-group .note-btn+.note-btn,.note-btn-group .note-btn+.note-btn-group,.note-btn-group .note-btn-group+.note-btn,.note-btn-group .note-btn-group+.note-btn-group { - margin-left: -1px; +.note-btn-group .note-btn + .note-btn, .note-btn-group .note-btn + .note-btn-group, .note-btn-group .note-btn-group + .note-btn, .note-btn-group .note-btn-group + .note-btn-group { + margin-left: -1px; } -.note-btn-group>.note-btn-group:not(:first-child)>.note-btn,.note-btn-group>.note-btn:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; +.note-btn-group > .note-btn-group:not(:first-child) > .note-btn, .note-btn-group > .note-btn:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; } -.note-btn-group>.note-btn-group:not(:last-child)>.note-btn,.note-btn-group>.note-btn:not(:last-child):not(.dropdown-toggle) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; +.note-btn-group > .note-btn-group:not(:last-child) > .note-btn, .note-btn-group > .note-btn:not(:last-child):not(.dropdown-toggle) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; } -.note-btn-group.open>.note-dropdown { - display: block; +.note-btn-group.open > .note-dropdown { + display: block; } .note-btn { - display: inline-block; - font-weight: 400; - margin-bottom: 0; - text-align: center; - vertical-align: middle; - touch-action: manipulation; - cursor: pointer; - background-image: none; - white-space: nowrap; - outline: 0; - color: #333; - background-color: #fff; - border: 1px solid #dae0e5; - padding: 5px 10px; - font-size: 14px; - line-height: 1.4; - border-radius: 3px; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.note-btn.focus,.note-btn:focus,.note-btn:hover { - color: #333; - background-color: #ebebeb; - border-color: #dae0e5; -} - -.note-btn.disabled.focus,.note-btn.disabled:focus,.note-btn[disabled].focus,.note-btn[disabled]:focus,fieldset[disabled] .note-btn.focus,fieldset[disabled] .note-btn:focus { - background-color: #fff; - border-color: #dae0e5; -} - -.note-btn.active,.note-btn.focus,.note-btn:active,.note-btn:focus,.note-btn:hover { - color: #333; - text-decoration: none; - border: 1px solid #dae0e5; - background-color: #ebebeb; - outline: 0; - border-radius: 1px; -} - -.note-btn.active,.note-btn:active { - background-image: none; - box-shadow: inset 0 3px 5px rgba(0,0,0,.125); -} - -.note-btn.disabled,.note-btn[disabled],fieldset[disabled] .note-btn { - cursor: not-allowed; - -webkit-opacity: .65; - -khtml-opacity: .65; - -moz-opacity: .65; - opacity: .65; - -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=65); - filter: alpha(opacity=65); - box-shadow: none; -} - -.note-btn>span.note-icon-caret:first-child { - margin-left: -1px; -} - -.note-btn>span.note-icon-caret:nth-child(2) { - padding-left: 3px; - margin-right: -5px; + display: inline-block; + font-weight: 400; + margin-bottom: 0; + text-align: center; + vertical-align: middle; + touch-action: manipulation; + cursor: pointer; + background-image: none; + white-space: nowrap; + outline: 0; + color: #333; + background-color: #fff; + border: 1px solid #dae0e5; + padding: 5px 10px; + font-size: 14px; + line-height: 1.4; + border-radius: 3px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.note-btn.focus, .note-btn:focus, .note-btn:hover { + color: #333; + background-color: #ebebeb; + border-color: #dae0e5; +} + +.note-btn.disabled.focus, .note-btn.disabled:focus, .note-btn[disabled].focus, .note-btn[disabled]:focus, fieldset[disabled] .note-btn.focus, fieldset[disabled] .note-btn:focus { + background-color: #fff; + border-color: #dae0e5; +} + +.note-btn.active, .note-btn.focus, .note-btn:active, .note-btn:focus, .note-btn:hover { + color: #333; + text-decoration: none; + border: 1px solid #dae0e5; + background-color: #ebebeb; + outline: 0; + border-radius: 1px; +} + +.note-btn.active, .note-btn:active { + background-image: none; + box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); +} + +.note-btn.disabled, .note-btn[disabled], fieldset[disabled] .note-btn { + cursor: not-allowed; + -webkit-opacity: .65; + -khtml-opacity: .65; + -moz-opacity: .65; + opacity: .65; + -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=65); + filter: alpha(opacity=65); + box-shadow: none; +} + +.note-btn > span.note-icon-caret:first-child { + margin-left: -1px; +} + +.note-btn > span.note-icon-caret:nth-child(2) { + padding-left: 3px; + margin-right: -5px; } .note-btn-primary { - background: #fa6362; - color: #fff; + background: #fa6362; + color: #fff; } -.note-btn-primary.focus,.note-btn-primary:focus,.note-btn-primary:hover { - color: #fff; - text-decoration: none; - border: 1px solid #dae0e5; - background-color: #fa6362; - border-radius: 1px; +.note-btn-primary.focus, .note-btn-primary:focus, .note-btn-primary:hover { + color: #fff; + text-decoration: none; + border: 1px solid #dae0e5; + background-color: #fa6362; + border-radius: 1px; } .note-btn-block { - display: block; - width: 100%; + display: block; + width: 100%; } -.note-btn-block+.note-btn-block { - margin-top: 5px; +.note-btn-block + .note-btn-block { + margin-top: 5px; } -input[type=button].note-btn-block,input[type=reset].note-btn-block,input[type=submit].note-btn-block { - width: 100%; +input[type=button].note-btn-block, input[type=reset].note-btn-block, input[type=submit].note-btn-block { + width: 100%; } button.close { - padding: 0; - cursor: pointer; - background: transparent; - border: 0; - -webkit-appearance: none; + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; } .close { - float: right; - font-size: 21px; - line-height: 1; - color: #000; - opacity: .2; + float: right; + font-size: 21px; + line-height: 1; + color: #000; + opacity: .2; } .close:hover { - -webkit-opacity: 1; - -khtml-opacity: 1; - -moz-opacity: 1; - -ms-filter: alpha(opacity=100); - filter: alpha(opacity=100); - opacity: 1; + -webkit-opacity: 1; + -khtml-opacity: 1; + -moz-opacity: 1; + -ms-filter: alpha(opacity=100); + filter: alpha(opacity=100); + opacity: 1; } .note-dropdown { - position: relative; + position: relative; } .note-color .dropdown-toggle { - width: 30px; - padding-left: 5px; + width: 30px; + padding-left: 5px; } .note-dropdown-menu { - display: none; - min-width: 100px; - position: absolute; - top: 100%; - left: 0; - z-index: 1000; - float: left; - text-align: left; - background: #fff; - border: 1px solid #e2e2e2; - padding: 5px; - background-clip: padding-box; - box-shadow: 0 1px 1px rgba(0,0,0,.06); + display: none; + min-width: 100px; + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + float: left; + text-align: left; + background: #fff; + border: 1px solid #e2e2e2; + padding: 5px; + background-clip: padding-box; + box-shadow: 0 1px 1px rgba(0, 0, 0, .06); } -.note-dropdown-menu>:last-child { - margin-right: 0; +.note-dropdown-menu > :last-child { + margin-right: 0; } -.note-btn-group.open .note-dropdown-menu,.note-dropdown-item { - display: block; +.note-btn-group.open .note-dropdown-menu, .note-dropdown-item { + display: block; } .note-dropdown-item:hover { - background-color: #ebebeb; + background-color: #ebebeb; } -a.note-dropdown-item,a.note-dropdown-item:hover { - margin: 5px 0; - color: #000; - text-decoration: none; +a.note-dropdown-item, a.note-dropdown-item:hover { + margin: 5px 0; + color: #000; + text-decoration: none; } .note-modal { - position: fixed; - left: 0; - right: 0; - top: 0; - bottom: 0; - z-index: 1050; - -webkit-opacity: 1; - -khtml-opacity: 1; - -moz-opacity: 1; - opacity: 1; - -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); - filter: alpha(opacity=100); - display: none; + position: fixed; + left: 0; + right: 0; + top: 0; + bottom: 0; + z-index: 1050; + -webkit-opacity: 1; + -khtml-opacity: 1; + -moz-opacity: 1; + opacity: 1; + -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); + filter: alpha(opacity=100); + display: none; } .note-modal.open { - display: block; + display: block; } .note-modal-content { - position: relative; - width: auto; - margin: 30px 20px; - border: 1px solid rgba(0,0,0,.2); - background: #fff; - background-clip: border-box; - outline: 0; - border-radius: 5px; - box-shadow: 0 3px 9px rgba(0,0,0,.5); + position: relative; + width: auto; + margin: 30px 20px; + border: 1px solid rgba(0, 0, 0, .2); + background: #fff; + background-clip: border-box; + outline: 0; + border-radius: 5px; + box-shadow: 0 3px 9px rgba(0, 0, 0, .5); } .note-modal-header { - padding: 10px 20px; - border: 1px solid #ededef; + padding: 10px 20px; + border: 1px solid #ededef; } .note-modal-body { - position: relative; - padding: 20px 30px; + position: relative; + padding: 20px 30px; } .note-modal-body kbd { - border-radius: 2px; - background-color: #000; - color: #fff; - padding: 3px 5px; - font-weight: 700; - -ms-box-sizing: border-box; - box-sizing: border-box; + border-radius: 2px; + background-color: #000; + color: #fff; + padding: 3px 5px; + font-weight: 700; + -ms-box-sizing: border-box; + box-sizing: border-box; } .note-modal-footer { - height: 40px; - padding: 10px; - text-align: center; + height: 40px; + padding: 10px; + text-align: center; } .note-modal-footer a { - color: #337ab7; - text-decoration: none; + color: #337ab7; + text-decoration: none; } -.note-modal-footer a:focus,.note-modal-footer a:hover { - color: #23527c; - text-decoration: underline; +.note-modal-footer a:focus, .note-modal-footer a:hover { + color: #23527c; + text-decoration: underline; } .note-modal-footer .note-btn { - float: right; + float: right; } .note-modal-title { - font-size: 20px; - color: #42515f; - margin: 0; - line-height: 1.4; + font-size: 20px; + color: #42515f; + margin: 0; + line-height: 1.4; } .note-modal-backdrop { - position: fixed; - left: 0; - right: 0; - bottom: 0; - top: 0; - z-index: 1040; - background: #000; - -webkit-opacity: .5; - -khtml-opacity: .5; - -moz-opacity: .5; - opacity: .5; - -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); - filter: alpha(opacity=50); - display: none; + position: fixed; + left: 0; + right: 0; + bottom: 0; + top: 0; + z-index: 1040; + background: #000; + -webkit-opacity: .5; + -khtml-opacity: .5; + -moz-opacity: .5; + opacity: .5; + -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); + filter: alpha(opacity=50); + display: none; } .note-modal-backdrop.open { - display: block; + display: block; } -@media(min-width:768px) { - .note-modal-content { - width: 600px; - margin: 30px auto; - } +@media (min-width: 768px) { + .note-modal-content { + width: 600px; + margin: 30px auto; + } } -@media(min-width:992px) { - .note-modal-content-large { - width: 900px; - } +@media (min-width: 992px) { + .note-modal-content-large { + width: 900px; + } } .note-form-group { - padding-bottom: 20px; + padding-bottom: 20px; } .note-form-group:last-child { - padding-bottom: 0; + padding-bottom: 0; } .note-form-label { - display: block; - width: 100%; - font-size: 16px; - color: #42515f; - margin-bottom: 10px; - font-weight: 700; + display: block; + width: 100%; + font-size: 16px; + color: #42515f; + margin-bottom: 10px; + font-weight: 700; } .note-input { - width: 100%; - display: block; - border: 1px solid #ededef; - background: #fff; - outline: 0; - padding: 6px 4px; - font-size: 14px; - -ms-box-sizing: border-box; - box-sizing: border-box; + width: 100%; + display: block; + border: 1px solid #ededef; + background: #fff; + outline: 0; + padding: 6px 4px; + font-size: 14px; + -ms-box-sizing: border-box; + box-sizing: border-box; } .note-input::-webkit-input-placeholder { - color: #eee; + color: #eee; } -.note-input:-moz-placeholder,.note-input::-moz-placeholder { - color: #eee; +.note-input:-moz-placeholder, .note-input::-moz-placeholder { + color: #eee; } .note-input:-ms-input-placeholder { - color: #eee; + color: #eee; } .note-tooltip { - position: absolute; - z-index: 1070; - display: block; - font-size: 13px; - -webkit-transition: opacity .15s; - transition: opacity .15s; - -webkit-opacity: 0; - -khtml-opacity: 0; - -moz-opacity: 0; - opacity: 0; - -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - filter: alpha(opacity=0); + position: absolute; + z-index: 1070; + display: block; + font-size: 13px; + -webkit-transition: opacity .15s; + transition: opacity .15s; + -webkit-opacity: 0; + -khtml-opacity: 0; + -moz-opacity: 0; + opacity: 0; + -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); + filter: alpha(opacity=0); } .note-tooltip.in { - -webkit-opacity: .9; - -khtml-opacity: .9; - -moz-opacity: .9; - opacity: .9; - -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=90); - filter: alpha(opacity=90); + -webkit-opacity: .9; + -khtml-opacity: .9; + -moz-opacity: .9; + opacity: .9; + -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=90); + filter: alpha(opacity=90); } .note-tooltip.top { - margin-top: -3px; - padding: 5px 0; + margin-top: -3px; + padding: 5px 0; } .note-tooltip.right { - margin-left: 3px; - padding: 0 5px; + margin-left: 3px; + padding: 0 5px; } .note-tooltip.bottom { - margin-top: 3px; - padding: 5px 0; + margin-top: 3px; + padding: 5px 0; } .note-tooltip.left { - margin-left: -3px; - padding: 0 5px; + margin-left: -3px; + padding: 0 5px; } .note-tooltip.bottom .note-tooltip-arrow { - top: 0; - left: 50%; - margin-left: -5px; - border-width: 0 5px 5px; - border-bottom-color: #000; + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; } .note-tooltip.top .note-tooltip-arrow { - bottom: 0; - left: 50%; - margin-left: -5px; - border-width: 5px 5px 0; - border-top-color: #000; + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: #000; } .note-tooltip.right .note-tooltip-arrow { - top: 50%; - left: 0; - margin-top: -5px; - border-width: 5px 5px 5px 0; - border-right-color: #000; + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #000; } .note-tooltip.left .note-tooltip-arrow { - top: 50%; - right: 0; - margin-top: -5px; - border-width: 5px 0 5px 5px; - border-left-color: #000; + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: #000; } .note-tooltip-arrow { - position: absolute; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; } .note-tooltip-content { - max-width: 200px; - font-family: sans-serif; - padding: 3px 8px; - color: #fff; - text-align: center; - background-color: #000; + max-width: 200px; + font-family: sans-serif; + padding: 3px 8px; + color: #fff; + text-align: center; + background-color: #000; } .note-popover { - position: absolute; - z-index: 1060; - display: block; - font-size: 13px; - font-family: sans-serif; - display: none; - background: #fff; - border: 1px solid #ccc; + position: absolute; + z-index: 1060; + display: block; + font-size: 13px; + font-family: sans-serif; + display: none; + background: #fff; + border: 1px solid #ccc; } .note-popover.in { - display: block; + display: block; } .note-popover.top { - margin-top: -10px; - padding: 5px 0; + margin-top: -10px; + padding: 5px 0; } .note-popover.right { - margin-left: 10px; - padding: 0 5px; + margin-left: 10px; + padding: 0 5px; } .note-popover.bottom { - margin-top: 10px; - padding: 5px 0; + margin-top: 10px; + padding: 5px 0; } .note-popover.left { - margin-left: -10px; - padding: 0 5px; + margin-left: -10px; + padding: 0 5px; } .note-popover.bottom .note-popover-arrow { - top: -11px; - left: 20px; - margin-left: -10px; - border-top-width: 0; - border-bottom-color: #999; - border-bottom-color: rgba(0,0,0,.25); + top: -11px; + left: 20px; + margin-left: -10px; + border-top-width: 0; + border-bottom-color: #999; + border-bottom-color: rgba(0, 0, 0, .25); } .note-popover.bottom .note-popover-arrow:after { - top: 1px; - margin-left: -10px; - content: " "; - border-top-width: 0; - border-bottom-color: #fff; + top: 1px; + margin-left: -10px; + content: " "; + border-top-width: 0; + border-bottom-color: #fff; } .note-popover.top .note-popover-arrow { - bottom: -11px; - left: 20px; - margin-left: -10px; - border-bottom-width: 0; - border-top-color: #999; - border-top-color: rgba(0,0,0,.25); + bottom: -11px; + left: 20px; + margin-left: -10px; + border-bottom-width: 0; + border-top-color: #999; + border-top-color: rgba(0, 0, 0, .25); } .note-popover.top .note-popover-arrow:after { - bottom: 1px; - margin-left: -10px; - content: " "; - border-bottom-width: 0; - border-top-color: #fff; + bottom: 1px; + margin-left: -10px; + content: " "; + border-bottom-width: 0; + border-top-color: #fff; } .note-popover.right .note-popover-arrow { - top: 50%; - left: -11px; - margin-top: -10px; - border-left-width: 0; - border-right-color: #999; - border-right-color: rgba(0,0,0,.25); + top: 50%; + left: -11px; + margin-top: -10px; + border-left-width: 0; + border-right-color: #999; + border-right-color: rgba(0, 0, 0, .25); } .note-popover.right .note-popover-arrow:after { - left: 1px; - margin-top: -10px; - content: " "; - border-left-width: 0; - border-right-color: #fff; + left: 1px; + margin-top: -10px; + content: " "; + border-left-width: 0; + border-right-color: #fff; } .note-popover.left .note-popover-arrow { - top: 50%; - right: -11px; - margin-top: -10px; - border-right-width: 0; - border-left-color: #999; - border-left-color: rgba(0,0,0,.25); + top: 50%; + right: -11px; + margin-top: -10px; + border-right-width: 0; + border-left-color: #999; + border-left-color: rgba(0, 0, 0, .25); } .note-popover.left .note-popover-arrow:after { - right: 1px; - margin-top: -10px; - content: " "; - border-right-width: 0; - border-left-color: #fff; + right: 1px; + margin-top: -10px; + content: " "; + border-right-width: 0; + border-left-color: #fff; } .note-popover-arrow { - position: absolute; - width: 0; - height: 0; - border: 11px solid transparent; + position: absolute; + width: 0; + height: 0; + border: 11px solid transparent; } .note-popover-arrow:after { - position: absolute; - display: block; - width: 0; - height: 0; - content: " "; - border: 10px solid transparent; + position: absolute; + display: block; + width: 0; + height: 0; + content: " "; + border: 10px solid transparent; } .note-popover-content { - padding: 3px 8px; - color: #000; - text-align: center; - background-color: #fff; - min-width: 100px; - min-height: 30px; + padding: 3px 8px; + color: #000; + text-align: center; + background-color: #fff; + min-width: 100px; + min-height: 30px; } .note-editor { - position: relative; + position: relative; } .note-editor .note-dropzone { - position: absolute; - display: none; - z-index: 100; - color: #87cefa; - background-color: #fff; - opacity: .95; + position: absolute; + display: none; + z-index: 100; + color: #87cefa; + background-color: #fff; + opacity: .95; } .note-editor .note-dropzone .note-dropzone-message { - display: table-cell; - vertical-align: middle; - text-align: center; - font-size: 28px; - font-weight: 700; + display: table-cell; + vertical-align: middle; + text-align: center; + font-size: 28px; + font-weight: 700; } .note-editor .note-dropzone.hover { - color: #098ddf; + color: #098ddf; } .note-editor.dragover .note-dropzone { - display: table; + display: table; } .note-editor .note-editing-area { - position: relative; + position: relative; } .note-editor .note-editing-area .note-editable { - outline: none; + outline: none; } .note-editor .note-editing-area .note-editable sup { - vertical-align: super; + vertical-align: super; } .note-editor .note-editing-area .note-editable sub { - vertical-align: sub; + vertical-align: sub; } .note-editor .note-editing-area .note-editable img.note-float-left { - margin-right: 10px; + margin-right: 10px; } .note-editor .note-editing-area .note-editable img.note-float-right { - margin-left: 10px; + margin-left: 10px; } -.note-editor.note-airframe,.note-editor.note-frame { - border: 1px solid #a9a9a9; +.note-editor.note-airframe, .note-editor.note-frame { + border: 1px solid #a9a9a9; } -.note-editor.note-airframe.codeview .note-editing-area .note-editable,.note-editor.note-frame.codeview .note-editing-area .note-editable { - display: none; +.note-editor.note-airframe.codeview .note-editing-area .note-editable, .note-editor.note-frame.codeview .note-editing-area .note-editable { + display: none; } -.note-editor.note-airframe.codeview .note-editing-area .note-codable,.note-editor.note-frame.codeview .note-editing-area .note-codable { - display: block; +.note-editor.note-airframe.codeview .note-editing-area .note-codable, .note-editor.note-frame.codeview .note-editing-area .note-codable { + display: block; } -.note-editor.note-airframe .note-editing-area,.note-editor.note-frame .note-editing-area { - overflow: hidden; +.note-editor.note-airframe .note-editing-area, .note-editor.note-frame .note-editing-area { + overflow: hidden; } -.note-editor.note-airframe .note-editing-area .note-editable,.note-editor.note-frame .note-editing-area .note-editable { - padding: 10px; - overflow: auto; - word-wrap: break-word; +.note-editor.note-airframe .note-editing-area .note-editable, .note-editor.note-frame .note-editing-area .note-editable { + padding: 10px; + overflow: auto; + word-wrap: break-word; } -.note-editor.note-airframe .note-editing-area .note-editable[contenteditable=false],.note-editor.note-frame .note-editing-area .note-editable[contenteditable=false] { - background-color: #e5e5e5; +.note-editor.note-airframe .note-editing-area .note-editable[contenteditable=false], .note-editor.note-frame .note-editing-area .note-editable[contenteditable=false] { + background-color: #e5e5e5; } -.note-editor.note-airframe .note-editing-area .note-codable,.note-editor.note-frame .note-editing-area .note-codable { - display: none; - width: 100%; - padding: 10px; - border: none; - box-shadow: none; - font-family: Menlo,Monaco,monospace,sans-serif; - font-size: 14px; - color: #ccc; - background-color: #222; - resize: none; - outline: none; - -ms-box-sizing: border-box; - box-sizing: border-box; - border-radius: 0; - margin-bottom: 0; +.note-editor.note-airframe .note-editing-area .note-codable, .note-editor.note-frame .note-editing-area .note-codable { + display: none; + width: 100%; + padding: 10px; + border: none; + box-shadow: none; + font-family: Menlo, Monaco, monospace, sans-serif; + font-size: 14px; + color: #ccc; + background-color: #222; + resize: none; + outline: none; + -ms-box-sizing: border-box; + box-sizing: border-box; + border-radius: 0; + margin-bottom: 0; } -.note-editor.note-airframe.fullscreen,.note-editor.note-frame.fullscreen { - position: fixed; - top: 0; - left: 0; - width: 100%!important; - z-index: 1050; +.note-editor.note-airframe.fullscreen, .note-editor.note-frame.fullscreen { + position: fixed; + top: 0; + left: 0; + width: 100% !important; + z-index: 1050; } -.note-editor.note-airframe.fullscreen .note-editable,.note-editor.note-frame.fullscreen .note-editable { - background-color: #fff; +.note-editor.note-airframe.fullscreen .note-editable, .note-editor.note-frame.fullscreen .note-editable { + background-color: #fff; } -.note-editor.note-airframe.fullscreen .note-resizebar,.note-editor.note-frame.fullscreen .note-resizebar { - display: none; +.note-editor.note-airframe.fullscreen .note-resizebar, .note-editor.note-frame.fullscreen .note-resizebar { + display: none; } -.note-editor.note-airframe .note-status-output,.note-editor.note-frame .note-status-output { - display: block; - width: 100%; - font-size: 14px; - line-height: 1.42857143; - height: 20px; - margin-bottom: 0; - color: #000; - border: 0; - border-top: 1px solid #e2e2e2; +.note-editor.note-airframe .note-status-output, .note-editor.note-frame .note-status-output { + display: block; + width: 100%; + font-size: 14px; + line-height: 1.42857143; + height: 20px; + margin-bottom: 0; + color: #000; + border: 0; + border-top: 1px solid #e2e2e2; } -.note-editor.note-airframe .note-status-output:empty,.note-editor.note-frame .note-status-output:empty { - height: 0; - border-top: 0 solid transparent; +.note-editor.note-airframe .note-status-output:empty, .note-editor.note-frame .note-status-output:empty { + height: 0; + border-top: 0 solid transparent; } -.note-editor.note-airframe .note-status-output .pull-right,.note-editor.note-frame .note-status-output .pull-right { - float: right!important; +.note-editor.note-airframe .note-status-output .pull-right, .note-editor.note-frame .note-status-output .pull-right { + float: right !important; } -.note-editor.note-airframe .note-status-output .text-muted,.note-editor.note-frame .note-status-output .text-muted { - color: #777; +.note-editor.note-airframe .note-status-output .text-muted, .note-editor.note-frame .note-status-output .text-muted { + color: #777; } -.note-editor.note-airframe .note-status-output .text-primary,.note-editor.note-frame .note-status-output .text-primary { - color: #286090; +.note-editor.note-airframe .note-status-output .text-primary, .note-editor.note-frame .note-status-output .text-primary { + color: #286090; } -.note-editor.note-airframe .note-status-output .text-success,.note-editor.note-frame .note-status-output .text-success { - color: #3c763d; +.note-editor.note-airframe .note-status-output .text-success, .note-editor.note-frame .note-status-output .text-success { + color: #3c763d; } -.note-editor.note-airframe .note-status-output .text-info,.note-editor.note-frame .note-status-output .text-info { - color: #31708f; +.note-editor.note-airframe .note-status-output .text-info, .note-editor.note-frame .note-status-output .text-info { + color: #31708f; } -.note-editor.note-airframe .note-status-output .text-warning,.note-editor.note-frame .note-status-output .text-warning { - color: #8a6d3b; +.note-editor.note-airframe .note-status-output .text-warning, .note-editor.note-frame .note-status-output .text-warning { + color: #8a6d3b; } -.note-editor.note-airframe .note-status-output .text-danger,.note-editor.note-frame .note-status-output .text-danger { - color: #a94442; +.note-editor.note-airframe .note-status-output .text-danger, .note-editor.note-frame .note-status-output .text-danger { + color: #a94442; } -.note-editor.note-airframe .note-status-output .alert,.note-editor.note-frame .note-status-output .alert { - margin: -7px 0 0; - padding: 7px 10px 2px; - border-radius: 0; - color: #000; - background-color: #f5f5f5; +.note-editor.note-airframe .note-status-output .alert, .note-editor.note-frame .note-status-output .alert { + margin: -7px 0 0; + padding: 7px 10px 2px; + border-radius: 0; + color: #000; + background-color: #f5f5f5; } -.note-editor.note-airframe .note-status-output .alert .note-icon,.note-editor.note-frame .note-status-output .alert .note-icon { - margin-right: 5px; +.note-editor.note-airframe .note-status-output .alert .note-icon, .note-editor.note-frame .note-status-output .alert .note-icon { + margin-right: 5px; } -.note-editor.note-airframe .note-status-output .alert-success,.note-editor.note-frame .note-status-output .alert-success { - color: #3c763d!important; - background-color: #dff0d8!important; +.note-editor.note-airframe .note-status-output .alert-success, .note-editor.note-frame .note-status-output .alert-success { + color: #3c763d !important; + background-color: #dff0d8 !important; } -.note-editor.note-airframe .note-status-output .alert-info,.note-editor.note-frame .note-status-output .alert-info { - color: #31708f!important; - background-color: #d9edf7!important; +.note-editor.note-airframe .note-status-output .alert-info, .note-editor.note-frame .note-status-output .alert-info { + color: #31708f !important; + background-color: #d9edf7 !important; } -.note-editor.note-airframe .note-status-output .alert-warning,.note-editor.note-frame .note-status-output .alert-warning { - color: #8a6d3b!important; - background-color: #fcf8e3!important; +.note-editor.note-airframe .note-status-output .alert-warning, .note-editor.note-frame .note-status-output .alert-warning { + color: #8a6d3b !important; + background-color: #fcf8e3 !important; } -.note-editor.note-airframe .note-status-output .alert-danger,.note-editor.note-frame .note-status-output .alert-danger { - color: #a94442!important; - background-color: #f2dede!important; +.note-editor.note-airframe .note-status-output .alert-danger, .note-editor.note-frame .note-status-output .alert-danger { + color: #a94442 !important; + background-color: #f2dede !important; } -.note-editor.note-airframe .note-statusbar,.note-editor.note-frame .note-statusbar { - background-color: #f5f5f5; - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; - border-top: 1px solid #ddd; +.note-editor.note-airframe .note-statusbar, .note-editor.note-frame .note-statusbar { + background-color: #f5f5f5; + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + border-top: 1px solid #ddd; } -.note-editor.note-airframe .note-statusbar .note-resizebar,.note-editor.note-frame .note-statusbar .note-resizebar { - padding-top: 1px; - height: 9px; - width: 100%; - cursor: ns-resize; +.note-editor.note-airframe .note-statusbar .note-resizebar, .note-editor.note-frame .note-statusbar .note-resizebar { + padding-top: 1px; + height: 9px; + width: 100%; + cursor: ns-resize; } -.note-editor.note-airframe .note-statusbar .note-resizebar .note-icon-bar,.note-editor.note-frame .note-statusbar .note-resizebar .note-icon-bar { - width: 20px; - margin: 1px auto; - border-top: 1px solid #a9a9a9; +.note-editor.note-airframe .note-statusbar .note-resizebar .note-icon-bar, .note-editor.note-frame .note-statusbar .note-resizebar .note-icon-bar { + width: 20px; + margin: 1px auto; + border-top: 1px solid #a9a9a9; } -.note-editor.note-airframe .note-statusbar.locked .note-resizebar,.note-editor.note-frame .note-statusbar.locked .note-resizebar { - cursor: default; +.note-editor.note-airframe .note-statusbar.locked .note-resizebar, .note-editor.note-frame .note-statusbar.locked .note-resizebar { + cursor: default; } -.note-editor.note-airframe .note-statusbar.locked .note-resizebar .note-icon-bar,.note-editor.note-frame .note-statusbar.locked .note-resizebar .note-icon-bar { - display: none; +.note-editor.note-airframe .note-statusbar.locked .note-resizebar .note-icon-bar, .note-editor.note-frame .note-statusbar.locked .note-resizebar .note-icon-bar { + display: none; } -.note-editor.note-airframe .note-placeholder,.note-editor.note-frame .note-placeholder { - padding: 10px; +.note-editor.note-airframe .note-placeholder, .note-editor.note-frame .note-placeholder { + padding: 10px; } .note-editor.note-airframe { - border: 0; + border: 0; } .note-editor.note-airframe .note-editing-area .note-editable { - padding: 0; + padding: 0; } .note-popover.popover { - display: none; - max-width: none; + display: none; + max-width: none; } .note-popover.popover .popover-content a { - display: inline-block; - max-width: 200px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - vertical-align: middle; + display: inline-block; + max-width: 200px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + vertical-align: middle; } .note-popover.popover .arrow { - left: 20px!important; + left: 20px !important; } .note-toolbar { - position: relative; + position: relative; } -.note-popover .popover-content,.note-toolbar { - margin: 0; - padding: 0 0 5px 5px; +.note-popover .popover-content, .note-toolbar { + margin: 0; + padding: 0 0 5px 5px; } -.note-popover .popover-content>.note-btn-group,.note-toolbar>.note-btn-group { - margin-top: 5px; - margin-left: 0; - margin-right: 5px; +.note-popover .popover-content > .note-btn-group, .note-toolbar > .note-btn-group { + margin-top: 5px; + margin-left: 0; + margin-right: 5px; } -.note-popover .popover-content .note-btn-group .note-table,.note-toolbar .note-btn-group .note-table { - min-width: 0; - padding: 5px; +.note-popover .popover-content .note-btn-group .note-table, .note-toolbar .note-btn-group .note-table { + min-width: 0; + padding: 5px; } -.note-popover .popover-content .note-btn-group .note-table .note-dimension-picker,.note-toolbar .note-btn-group .note-table .note-dimension-picker { - font-size: 18px; +.note-popover .popover-content .note-btn-group .note-table .note-dimension-picker, .note-toolbar .note-btn-group .note-table .note-dimension-picker { + font-size: 18px; } -.note-popover .popover-content .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher,.note-toolbar .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher { - position: absolute!important; - z-index: 3; - width: 10em; - height: 10em; - cursor: pointer; +.note-popover .popover-content .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher, .note-toolbar .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher { + position: absolute !important; + z-index: 3; + width: 10em; + height: 10em; + cursor: pointer; } -.note-popover .popover-content .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted,.note-toolbar .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted { - position: relative!important; - z-index: 1; - width: 5em; - height: 5em; - background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIj4+Pjp6ekKlAqjAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKhmnaJzPAAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC") repeat; +.note-popover .popover-content .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted, .note-toolbar .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted { + position: relative !important; + z-index: 1; + width: 5em; + height: 5em; + background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIj4+Pjp6ekKlAqjAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKhmnaJzPAAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC") repeat; } -.note-popover .popover-content .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted,.note-toolbar .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted { - position: absolute!important; - z-index: 2; - width: 1em; - height: 1em; - background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIjd6vvD2f9LKLW+AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKwNDEVT0AAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC") repeat; +.note-popover .popover-content .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted, .note-toolbar .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted { + position: absolute !important; + z-index: 2; + width: 1em; + height: 1em; + background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIjd6vvD2f9LKLW+AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKwNDEVT0AAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC") repeat; } -.note-popover .popover-content .note-style .dropdown-style blockquote,.note-popover .popover-content .note-style .dropdown-style pre,.note-toolbar .note-style .dropdown-style blockquote,.note-toolbar .note-style .dropdown-style pre { - margin: 0; - padding: 5px 10px; +.note-popover .popover-content .note-style .dropdown-style blockquote, .note-popover .popover-content .note-style .dropdown-style pre, .note-toolbar .note-style .dropdown-style blockquote, .note-toolbar .note-style .dropdown-style pre { + margin: 0; + padding: 5px 10px; } -.note-popover .popover-content .note-style .dropdown-style h1,.note-popover .popover-content .note-style .dropdown-style h2,.note-popover .popover-content .note-style .dropdown-style h3,.note-popover .popover-content .note-style .dropdown-style h4,.note-popover .popover-content .note-style .dropdown-style h5,.note-popover .popover-content .note-style .dropdown-style h6,.note-popover .popover-content .note-style .dropdown-style p,.note-toolbar .note-style .dropdown-style h1,.note-toolbar .note-style .dropdown-style h2,.note-toolbar .note-style .dropdown-style h3,.note-toolbar .note-style .dropdown-style h4,.note-toolbar .note-style .dropdown-style h5,.note-toolbar .note-style .dropdown-style h6,.note-toolbar .note-style .dropdown-style p { - margin: 0; - padding: 0; +.note-popover .popover-content .note-style .dropdown-style h1, .note-popover .popover-content .note-style .dropdown-style h2, .note-popover .popover-content .note-style .dropdown-style h3, .note-popover .popover-content .note-style .dropdown-style h4, .note-popover .popover-content .note-style .dropdown-style h5, .note-popover .popover-content .note-style .dropdown-style h6, .note-popover .popover-content .note-style .dropdown-style p, .note-toolbar .note-style .dropdown-style h1, .note-toolbar .note-style .dropdown-style h2, .note-toolbar .note-style .dropdown-style h3, .note-toolbar .note-style .dropdown-style h4, .note-toolbar .note-style .dropdown-style h5, .note-toolbar .note-style .dropdown-style h6, .note-toolbar .note-style .dropdown-style p { + margin: 0; + padding: 0; } -.note-popover .popover-content .note-color-all .note-dropdown-menu,.note-toolbar .note-color-all .note-dropdown-menu { - min-width: 337px; +.note-popover .popover-content .note-color-all .note-dropdown-menu, .note-toolbar .note-color-all .note-dropdown-menu { + min-width: 337px; } -.note-popover .popover-content .note-color .dropdown-toggle,.note-toolbar .note-color .dropdown-toggle { - width: 20px; - padding-left: 5px; +.note-popover .popover-content .note-color .dropdown-toggle, .note-toolbar .note-color .dropdown-toggle { + width: 20px; + padding-left: 5px; } -.note-popover .popover-content .note-color .note-dropdown-menu .note-palette,.note-toolbar .note-color .note-dropdown-menu .note-palette { - display: inline-block; - margin: 0; - width: 160px; +.note-popover .popover-content .note-color .note-dropdown-menu .note-palette, .note-toolbar .note-color .note-dropdown-menu .note-palette { + display: inline-block; + margin: 0; + width: 160px; } -.note-popover .popover-content .note-color .note-dropdown-menu .note-palette:first-child,.note-toolbar .note-color .note-dropdown-menu .note-palette:first-child { - margin: 0 5px; +.note-popover .popover-content .note-color .note-dropdown-menu .note-palette:first-child, .note-toolbar .note-color .note-dropdown-menu .note-palette:first-child { + margin: 0 5px; } -.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-palette-title,.note-toolbar .note-color .note-dropdown-menu .note-palette .note-palette-title { - font-size: 12px; - margin: 2px 7px; - text-align: center; - border-bottom: 1px solid #eee; +.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-palette-title, .note-toolbar .note-color .note-dropdown-menu .note-palette .note-palette-title { + font-size: 12px; + margin: 2px 7px; + text-align: center; + border-bottom: 1px solid #eee; } -.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-reset,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-select,.note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-reset,.note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-select { - font-size: 11px; - margin: 3px; - padding: 0 3px; - cursor: pointer; - width: 100%; - border-radius: 5px; +.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-reset, .note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-select, .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-reset, .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-select { + font-size: 11px; + margin: 3px; + padding: 0 3px; + cursor: pointer; + width: 100%; + border-radius: 5px; } -.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-reset:hover,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-select:hover,.note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-reset:hover,.note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-select:hover { - background: #eee; +.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-reset:hover, .note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-select:hover, .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-reset:hover, .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-select:hover { + background: #eee; } -.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-row,.note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-row { - height: 20px; +.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-row, .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-row { + height: 20px; } -.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-select-btn,.note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-select-btn { - display: none; +.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-select-btn, .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-select-btn { + display: none; } -.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-holder-custom .note-color-btn,.note-toolbar .note-color .note-dropdown-menu .note-palette .note-holder-custom .note-color-btn { - border: 1px solid #eee; +.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-holder-custom .note-color-btn, .note-toolbar .note-color .note-dropdown-menu .note-palette .note-holder-custom .note-color-btn { + border: 1px solid #eee; } -.note-popover .popover-content .note-para .note-dropdown-menu,.note-toolbar .note-para .note-dropdown-menu { - min-width: 216px; - padding: 5px; +.note-popover .popover-content .note-para .note-dropdown-menu, .note-toolbar .note-para .note-dropdown-menu { + min-width: 216px; + padding: 5px; } -.note-popover .popover-content .note-para .note-dropdown-menu>div:first-child,.note-toolbar .note-para .note-dropdown-menu>div:first-child { - margin-right: 5px; +.note-popover .popover-content .note-para .note-dropdown-menu > div:first-child, .note-toolbar .note-para .note-dropdown-menu > div:first-child { + margin-right: 5px; } -.note-popover .popover-content .note-dropdown-menu,.note-toolbar .note-dropdown-menu { - min-width: 160px; +.note-popover .popover-content .note-dropdown-menu, .note-toolbar .note-dropdown-menu { + min-width: 160px; } -.note-popover .popover-content .note-dropdown-menu.right,.note-toolbar .note-dropdown-menu.right { - right: 0; - left: auto; +.note-popover .popover-content .note-dropdown-menu.right, .note-toolbar .note-dropdown-menu.right { + right: 0; + left: auto; } -.note-popover .popover-content .note-dropdown-menu.right:before,.note-toolbar .note-dropdown-menu.right:before { - right: 9px; - left: auto!important; +.note-popover .popover-content .note-dropdown-menu.right:before, .note-toolbar .note-dropdown-menu.right:before { + right: 9px; + left: auto !important; } -.note-popover .popover-content .note-dropdown-menu.right:after,.note-toolbar .note-dropdown-menu.right:after { - right: 10px; - left: auto!important; +.note-popover .popover-content .note-dropdown-menu.right:after, .note-toolbar .note-dropdown-menu.right:after { + right: 10px; + left: auto !important; } -.note-popover .popover-content .note-dropdown-menu.note-check a i,.note-toolbar .note-dropdown-menu.note-check a i { - color: #00bfff; - visibility: hidden; +.note-popover .popover-content .note-dropdown-menu.note-check a i, .note-toolbar .note-dropdown-menu.note-check a i { + color: #00bfff; + visibility: hidden; } -.note-popover .popover-content .note-dropdown-menu.note-check a.checked i,.note-toolbar .note-dropdown-menu.note-check a.checked i { - visibility: visible; +.note-popover .popover-content .note-dropdown-menu.note-check a.checked i, .note-toolbar .note-dropdown-menu.note-check a.checked i { + visibility: visible; } -.note-popover .popover-content .note-fontsize-10,.note-toolbar .note-fontsize-10 { - font-size: 10px; +.note-popover .popover-content .note-fontsize-10, .note-toolbar .note-fontsize-10 { + font-size: 10px; } -.note-popover .popover-content .note-color-palette,.note-toolbar .note-color-palette { - line-height: 1; +.note-popover .popover-content .note-color-palette, .note-toolbar .note-color-palette { + line-height: 1; } -.note-popover .popover-content .note-color-palette div .note-color-btn,.note-toolbar .note-color-palette div .note-color-btn { - width: 20px; - height: 20px; - padding: 0; - margin: 0; - border: 1px solid #fff; +.note-popover .popover-content .note-color-palette div .note-color-btn, .note-toolbar .note-color-palette div .note-color-btn { + width: 20px; + height: 20px; + padding: 0; + margin: 0; + border: 1px solid #fff; } -.note-popover .popover-content .note-color-palette div .note-color-btn:hover,.note-toolbar .note-color-palette div .note-color-btn:hover { - border: 1px solid #000; +.note-popover .popover-content .note-color-palette div .note-color-btn:hover, .note-toolbar .note-color-palette div .note-color-btn:hover { + border: 1px solid #000; } .note-modal .modal-dialog { - outline: 0; - border-radius: 5px; - box-shadow: 0 3px 9px rgba(0,0,0,.5); + outline: 0; + border-radius: 5px; + box-shadow: 0 3px 9px rgba(0, 0, 0, .5); } .note-modal .form-group { - margin-left: 0; - margin-right: 0; + margin-left: 0; + margin-right: 0; } .note-modal .note-modal-form { - margin: 0; + margin: 0; } .note-modal .note-image-dialog .note-dropzone { - min-height: 100px; - font-size: 30px; - line-height: 4; - color: #d3d3d3; - text-align: center; - border: 4px dashed #d3d3d3; - margin-bottom: 10px; + min-height: 100px; + font-size: 30px; + line-height: 4; + color: #d3d3d3; + text-align: center; + border: 4px dashed #d3d3d3; + margin-bottom: 10px; } .note-placeholder { - position: absolute; - display: none; - color: grey; + position: absolute; + display: none; + color: grey; } .note-handle .note-control-selection { - position: absolute; - display: none; - border: 1px solid #000; + position: absolute; + display: none; + border: 1px solid #000; } -.note-handle .note-control-selection>div { - position: absolute; +.note-handle .note-control-selection > div { + position: absolute; } .note-handle .note-control-selection .note-control-selection-bg { - width: 100%; - height: 100%; - background-color: #000; - -webkit-opacity: .3; - -khtml-opacity: .3; - -moz-opacity: .3; - opacity: .3; - -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=30); - filter: alpha(opacity=30); + width: 100%; + height: 100%; + background-color: #000; + -webkit-opacity: .3; + -khtml-opacity: .3; + -moz-opacity: .3; + opacity: .3; + -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=30); + filter: alpha(opacity=30); } -.note-handle .note-control-selection .note-control-handle,.note-handle .note-control-selection .note-control-holder,.note-handle .note-control-selection .note-control-sizing { - width: 7px; - height: 7px; - border: 1px solid #000; +.note-handle .note-control-selection .note-control-handle, .note-handle .note-control-selection .note-control-holder, .note-handle .note-control-selection .note-control-sizing { + width: 7px; + height: 7px; + border: 1px solid #000; } .note-handle .note-control-selection .note-control-sizing { - background-color: #000; + background-color: #000; } .note-handle .note-control-selection .note-control-nw { - top: -5px; - left: -5px; - border-right: none; - border-bottom: none; + top: -5px; + left: -5px; + border-right: none; + border-bottom: none; } .note-handle .note-control-selection .note-control-ne { - top: -5px; - right: -5px; - border-bottom: none; - border-left: none; + top: -5px; + right: -5px; + border-bottom: none; + border-left: none; } .note-handle .note-control-selection .note-control-sw { - bottom: -5px; - left: -5px; - border-top: none; - border-right: none; + bottom: -5px; + left: -5px; + border-top: none; + border-right: none; } .note-handle .note-control-selection .note-control-se { - right: -5px; - bottom: -5px; - cursor: se-resize; + right: -5px; + bottom: -5px; + cursor: se-resize; } .note-handle .note-control-selection .note-control-se.note-control-holder { - cursor: default; - border-top: none; - border-left: none; + cursor: default; + border-top: none; + border-left: none; } .note-handle .note-control-selection .note-control-selection-info { - right: 0; - bottom: 0; - padding: 5px; - margin: 5px; - color: #fff; - background-color: #000; - font-size: 12px; - border-radius: 5px; - -webkit-opacity: .7; - -khtml-opacity: .7; - -moz-opacity: .7; - opacity: .7; - -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=70); - filter: alpha(opacity=70); + right: 0; + bottom: 0; + padding: 5px; + margin: 5px; + color: #fff; + background-color: #000; + font-size: 12px; + border-radius: 5px; + -webkit-opacity: .7; + -khtml-opacity: .7; + -moz-opacity: .7; + opacity: .7; + -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=70); + filter: alpha(opacity=70); } .note-hint-popover { - min-width: 100px; - padding: 2px; + min-width: 100px; + padding: 2px; } .note-hint-popover .popover-content { - padding: 3px; - max-height: 150px; - overflow: auto; + padding: 3px; + max-height: 150px; + overflow: auto; } .note-hint-popover .popover-content .note-hint-group .note-hint-item { - display: block!important; - padding: 3px; + display: block !important; + padding: 3px; } -.note-hint-popover .popover-content .note-hint-group .note-hint-item.active,.note-hint-popover .popover-content .note-hint-group .note-hint-item:hover { - display: block; - clear: both; - font-weight: 400; - line-height: 1.4; - color: #fff; - white-space: nowrap; - text-decoration: none; - background-color: #428bca; - outline: 0; - cursor: pointer; +.note-hint-popover .popover-content .note-hint-group .note-hint-item.active, .note-hint-popover .popover-content .note-hint-group .note-hint-item:hover { + display: block; + clear: both; + font-weight: 400; + line-height: 1.4; + color: #fff; + white-space: nowrap; + text-decoration: none; + background-color: #428bca; + outline: 0; + cursor: pointer; } .note-editor .note-editing-area .note-editable table { - width: 100%; - border-collapse: collapse; + width: 100%; + border-collapse: collapse; } -.note-editor .note-editing-area .note-editable table td,.note-editor .note-editing-area .note-editable table th { - border: 1px solid #ececec; - padding: 5px 3px; +.note-editor .note-editing-area .note-editable table td, .note-editor .note-editing-area .note-editable table th { + border: 1px solid #ececec; + padding: 5px 3px; } .note-editor .note-editing-area .note-editable a { - background-color: inherit; - text-decoration: inherit; - font-family: inherit; - font-weight: inherit; - color: #337ab7; + background-color: inherit; + text-decoration: inherit; + font-family: inherit; + font-weight: inherit; + color: #047bf8; } -.note-editor .note-editing-area .note-editable a:focus,.note-editor .note-editing-area .note-editable a:hover { - color: #23527c; - text-decoration: underline; - outline: 0; +.note-editor .note-editing-area .note-editable img { + max-width:100%; +} + +.note-editor .note-editing-area .note-editable ul[data-type="taskList"] { + list-style: none; + padding: 0; + margin: 0; + margin-left: 0.7rem; +} +.note-editor .note-editing-area .note-editable ul[data-type="taskList"] li { + margin: 4px 0; +} + +.note-editor .note-editing-area .note-editable ul[data-type="taskList"] li[data-checked] { + --checkbox-color: #047bf8; + --checkmark-color: white; +} + +.note-editor .note-editing-area .note-editable +ul[data-type="taskList"] li[data-checked] label { + position: relative; + color: #8f8f8f; + display: flex; +} + +.note-editor .note-editing-area .note-editable +ul[data-type="taskList"] li[data-checked] label span { + width: 16px; + height: 16px; + border-radius: 4px; + cursor: pointer; + border: 1px solid; + display: flex; + align-items: center; + justify-content: center; +} + +.note-editor .note-editing-area .note-editable +ul[data-type="taskList"] li[data-checked] label span:after { + content: ''; + position: absolute; + border-bottom: 1px solid var(--checkmark-color); + border-right: 1px solid var(--checkmark-color); + transform: rotate(45deg); + visibility: hidden; + height: 7px !important; + width: 3px !important; + margin-bottom: 2px !important; +} + +.note-editor .note-editing-area .note-editable +ul[data-type="taskList"] li[data-checked] label span:hover { + border-color: #047bf8; + background-color: #eaf4ff; +} + +.note-editor .note-editing-area .note-editable +ul[data-type="taskList"] li[data-checked] label span:hover:after { + visibility: visible; + border-color: #047bf8; +} + +.note-editor .note-editing-area .note-editable +ul[data-type="taskList"] li[data-checked] label input { + display: none; +} + +.note-editor .note-editing-area .note-editable +ul[data-type="taskList"] li[data-checked] label input:checked ~ span { + background: var(--checkbox-color); + border-color: var(--checkbox-color); +} + +.note-editor .note-editing-area .note-editable +ul[data-type="taskList"] li[data-checked] label input:checked ~ span:after { + border-color: white; + visibility: visible; +} + +.note-editor .note-editing-area .note-editable +ul[data-type="taskList"] li[data-checked] label input:checked ~ span:hover { + background-color: #eaf4ff; +} + +.note-editor .note-editing-area .note-editable +ul[data-type="taskList"] li[data-checked] label input:checked ~ span:hover:after { + visibility: visible; + border-color: #047bf8; +} + +.note-editor .note-editing-area .note-editable +ul[data-type="taskList"] li[data-checked="true"] label { + opacity: 0.5; +} + +.note-editor .note-editing-area .note-editable +ul[data-type="taskList"] li[data-checked="true"] > * { + color: #909090; + text-decoration: line-through; +} + +.note-editor .note-editing-area .note-editable +ul[data-type="taskList"] p { + margin: 0; +} + +.note-editor .note-editing-area .note-editable +ul[data-type="taskList"] li { + display: flex; +} + +.note-editor .note-editing-area .note-editable +ul[data-type="taskList"] li > label { + flex: 0 0 auto; + margin-right: 0.5rem; + user-select: none; +} + +.note-editor .note-editing-area .note-editable +ul[data-type="taskList"] li > div { + flex: 1 1 auto; +} + + +.note-editor .note-editing-area .note-editable blockquote{ + border-left: 3px solid #909090; + padding-left:15px; + margin: 1.5em 10px; +} + +.note-editor .note-editing-area .note-editable .upbase-mention { + color: #047bf8; + border-radius: .3rem; + padding: .1rem .3rem; +} + +.note-editor .note-editing-area .note-editable a:focus, .note-editor .note-editing-area .note-editable a:hover { + color: #23527c; + text-decoration: underline; + outline: 0; } .note-editor .note-editing-area .note-editable figure { - margin: 0; + margin: 0; } .note-modal .note-modal-body label { - margin-bottom: 2px; - padding: 2px 5px; - display: inline-block; + margin-bottom: 2px; + padding: 2px 5px; + display: inline-block; } .note-modal .note-modal-body .help-list-item:hover { - background-color: #e0e0e0; + background-color: #e0e0e0; } @-moz-document url-prefix() { - .note-modal .note-image-input { - height: auto; - } + .note-modal .note-image-input { + height: auto; + } } .help-list-item label { - margin-bottom: 5px; - display: inline-block; + margin-bottom: 5px; + display: inline-block; } \ No newline at end of file diff --git a/lib/src/widgets/toolbar_widget.dart b/lib/src/widgets/toolbar_widget.dart index 2e33f27f..67634c23 100644 --- a/lib/src/widgets/toolbar_widget.dart +++ b/lib/src/widgets/toolbar_widget.dart @@ -6,6 +6,9 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:html_editor_enhanced/html_editor.dart'; +import 'package:html_editor_enhanced/utils/flat_icon1.dart'; +import 'package:html_editor_enhanced/utils/flat_icon_new_icons.dart'; +import 'package:html_editor_enhanced/utils/flutter_icon.dart'; import 'package:html_editor_enhanced/utils/utils.dart'; import 'package:numberpicker/numberpicker.dart'; import 'package:pointer_interceptor/pointer_interceptor.dart'; @@ -252,18 +255,18 @@ class ToolbarWidgetState extends State { for (var t in widget.htmlToolbarOptions.defaultToolbarButtons) { if (t is FontButtons) { for (var i = 0; i < _fontSelected.length; i++) { - if (t.getIcons1()[i].icon == Icons.format_bold) { + if (t.getIcons1()[i].icon == FlatIcon1.bold) { _fontSelected[i] = fontList[0] ?? false; } - if (t.getIcons1()[i].icon == Icons.format_italic) { + if (t.getIcons1()[i].icon == FlatIcon1.italic) { _fontSelected[i] = fontList[1] ?? false; } - if (t.getIcons1()[i].icon == Icons.format_underline) { + if (t.getIcons1()[i].icon == FlutterIcon.underline) { _fontSelected[i] = fontList[2] ?? false; } } for (var i = 0; i < _miscFontSelected.length; i++) { - if (t.getIcons2()[i].icon == Icons.format_strikethrough) { + if (t.getIcons2()[i].icon == FlatIcon1.strikethrough) { _miscFontSelected[i] = miscFontList[0] ?? false; } if (t.getIcons2()[i].icon == Icons.superscript) { @@ -276,26 +279,26 @@ class ToolbarWidgetState extends State { } if (t is ListButtons) { for (var i = 0; i < _listSelected.length; i++) { - if (t.getIcons()[i].icon == Icons.format_list_bulleted) { + if (t.getIcons()[i].icon == FlatIcon1.bullet_list) { _listSelected[i] = paragraphList[0] ?? false; } - if (t.getIcons()[i].icon == Icons.format_list_numbered) { + if (t.getIcons()[i].icon == FlatIcon1.number) { _listSelected[i] = paragraphList[1] ?? false; } } } if (t is ParagraphButtons) { for (var i = 0; i < _alignSelected.length; i++) { - if (t.getIcons1()[i].icon == Icons.format_align_left) { + if (t.getIcons1()[i].icon == FlatIcon1.align_left) { _alignSelected[i] = alignList[0] ?? false; } - if (t.getIcons1()[i].icon == Icons.format_align_center) { + if (t.getIcons1()[i].icon == FlatIcon1.align_center) { _alignSelected[i] = alignList[1] ?? false; } - if (t.getIcons1()[i].icon == Icons.format_align_right) { + if (t.getIcons1()[i].icon == FlatIcon1.align_right) { _alignSelected[i] = alignList[2] ?? false; } - if (t.getIcons1()[i].icon == Icons.format_align_justify) { + if (t.getIcons1()[i].icon == FlatIcon1.justification) { _alignSelected[i] = alignList[3] ?? false; } } @@ -508,73 +511,73 @@ class ToolbarWidgetState extends State { CustomDropdownMenuItem( value: 'p', child: PointerInterceptor(child: Text('Normal'))), - CustomDropdownMenuItem( - value: 'blockquote', - child: PointerInterceptor( - child: Container( - decoration: BoxDecoration( - border: Border( - left: BorderSide( - color: Colors.grey, width: 3.0))), - padding: EdgeInsets.symmetric(horizontal: 10.0), - child: Text('Quote', - style: TextStyle( - fontFamily: 'times', color: Colors.grey))), - )), - CustomDropdownMenuItem( - value: 'pre', - child: PointerInterceptor( - child: Container( - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(5), - color: Colors.grey), - padding: EdgeInsets.symmetric(horizontal: 10.0), - child: Text('Code', - style: TextStyle( - fontFamily: 'courier', color: Colors.white))), - )), + // CustomDropdownMenuItem( + // value: 'blockquote', + // child: PointerInterceptor( + // child: Container( + // decoration: BoxDecoration( + // border: Border( + // left: BorderSide( + // color: Colors.grey, width: 3.0))), + // padding: EdgeInsets.symmetric(horizontal: 10.0), + // child: Text('Quote', + // style: TextStyle( + // fontFamily: 'times', color: Colors.grey))), + // )), + // CustomDropdownMenuItem( + // value: 'pre', + // child: PointerInterceptor( + // child: Container( + // decoration: BoxDecoration( + // borderRadius: BorderRadius.circular(5), + // color: Colors.grey), + // padding: EdgeInsets.symmetric(horizontal: 10.0), + // child: Text('Code', + // style: TextStyle( + // fontFamily: 'courier', color: Colors.white))), + // )), CustomDropdownMenuItem( value: 'h1', child: PointerInterceptor( - child: Text('Header 1', + child: Text('H1', style: TextStyle( - fontWeight: FontWeight.bold, fontSize: 32))), + fontWeight: FontWeight.bold, fontSize: 28,color: Color(0xff6A6A6A),))), ), CustomDropdownMenuItem( value: 'h2', child: PointerInterceptor( - child: Text('Header 2', + child: Text('H2', style: TextStyle( - fontWeight: FontWeight.bold, fontSize: 24))), + fontWeight: FontWeight.bold, fontSize: 24,color: Color(0xff6A6A6A),))), ), CustomDropdownMenuItem( value: 'h3', child: PointerInterceptor( - child: Text('Header 3', - style: TextStyle( - fontWeight: FontWeight.bold, fontSize: 18))), - ), - CustomDropdownMenuItem( - value: 'h4', - child: PointerInterceptor( - child: Text('Header 4', - style: TextStyle( - fontWeight: FontWeight.bold, fontSize: 16))), - ), - CustomDropdownMenuItem( - value: 'h5', - child: PointerInterceptor( - child: Text('Header 5', - style: TextStyle( - fontWeight: FontWeight.bold, fontSize: 13))), - ), - CustomDropdownMenuItem( - value: 'h6', - child: PointerInterceptor( - child: Text('Header 6', + child: Text('H3', style: TextStyle( - fontWeight: FontWeight.bold, fontSize: 11))), + fontWeight: FontWeight.bold, fontSize: 18,color: Color(0xff6A6A6A),))), ), + // CustomDropdownMenuItem( + // value: 'h4', + // child: PointerInterceptor( + // child: Text('Header 4', + // style: TextStyle( + // fontWeight: FontWeight.bold, fontSize: 16))), + // ), + // CustomDropdownMenuItem( + // value: 'h5', + // child: PointerInterceptor( + // child: Text('Header 5', + // style: TextStyle( + // fontWeight: FontWeight.bold, fontSize: 13))), + // ), + // CustomDropdownMenuItem( + // value: 'h6', + // child: PointerInterceptor( + // child: Text('Header 6', + // style: TextStyle( + // fontWeight: FontWeight.bold, fontSize: 11))), + // ), ], value: _fontSelectedItem, onChanged: (String? changed) async { @@ -916,7 +919,7 @@ class ToolbarWidgetState extends State { }); } - if (t.getIcons1()[index].icon == Icons.format_bold) { + if (t.getIcons1()[index].icon == FlatIcon1.bold) { var proceed = await widget.htmlToolbarOptions.onButtonPressed ?.call(ButtonType.bold, _fontSelected[index], updateStatus) ?? @@ -926,7 +929,7 @@ class ToolbarWidgetState extends State { updateStatus(); } } - if (t.getIcons1()[index].icon == Icons.format_italic) { + if (t.getIcons1()[index].icon == FlatIcon1.italic) { var proceed = await widget.htmlToolbarOptions.onButtonPressed ?.call(ButtonType.italic, _fontSelected[index], updateStatus) ?? @@ -936,7 +939,7 @@ class ToolbarWidgetState extends State { updateStatus(); } } - if (t.getIcons1()[index].icon == Icons.format_underline) { + if (t.getIcons1()[index].icon == FlutterIcon.underline) { var proceed = await widget.htmlToolbarOptions.onButtonPressed ?.call(ButtonType.underline, _fontSelected[index], updateStatus) ?? @@ -986,7 +989,7 @@ class ToolbarWidgetState extends State { }); } - if (t.getIcons2()[index].icon == Icons.format_strikethrough) { + if (t.getIcons2()[index].icon == FlatIcon1.strikethrough) { var proceed = await widget.htmlToolbarOptions.onButtonPressed ?.call(ButtonType.strikethrough, _miscFontSelected[index], updateStatus) ?? @@ -1120,7 +1123,7 @@ class ToolbarWidgetState extends State { newColor = color; }, title: Text('Choose a Color', - style: Theme.of(context).textTheme.headline6), + style: Theme.of(context).textTheme.headlineSmall), width: 40, height: 40, spacing: 0, @@ -1246,7 +1249,7 @@ class ToolbarWidgetState extends State { }); } - if (t.getIcons()[index].icon == Icons.format_list_bulleted) { + if (t.getIcons()[index].icon == FlatIcon1.bullet_list) { var proceed = await widget.htmlToolbarOptions.onButtonPressed ?.call(ButtonType.ul, _listSelected[index], updateStatus) ?? @@ -1256,7 +1259,7 @@ class ToolbarWidgetState extends State { updateStatus(); } } - if (t.getIcons()[index].icon == Icons.format_list_numbered) { + if (t.getIcons()[index].icon == FlatIcon1.number) { var proceed = await widget.htmlToolbarOptions.onButtonPressed ?.call(ButtonType.ol, _listSelected[index], updateStatus) ?? @@ -1406,7 +1409,7 @@ class ToolbarWidgetState extends State { }); } - if (t.getIcons1()[index].icon == Icons.format_align_left) { + if (t.getIcons1()[index].icon == FlatIcon1.align_left) { var proceed = await widget.htmlToolbarOptions.onButtonPressed ?.call(ButtonType.alignLeft, _alignSelected[index], updateStatus) ?? @@ -1416,7 +1419,7 @@ class ToolbarWidgetState extends State { updateStatus(); } } - if (t.getIcons1()[index].icon == Icons.format_align_center) { + if (t.getIcons1()[index].icon == FlatIcon1.align_center) { var proceed = await widget.htmlToolbarOptions.onButtonPressed ?.call(ButtonType.alignCenter, _alignSelected[index], updateStatus) ?? @@ -1426,7 +1429,7 @@ class ToolbarWidgetState extends State { updateStatus(); } } - if (t.getIcons1()[index].icon == Icons.format_align_right) { + if (t.getIcons1()[index].icon == FlatIcon1.align_right) { var proceed = await widget.htmlToolbarOptions.onButtonPressed ?.call(ButtonType.alignRight, _alignSelected[index], updateStatus) ?? @@ -1436,7 +1439,7 @@ class ToolbarWidgetState extends State { updateStatus(); } } - if (t.getIcons1()[index].icon == Icons.format_align_justify) { + if (t.getIcons1()[index].icon == FlatIcon1.justification) { var proceed = await widget.htmlToolbarOptions.onButtonPressed ?.call(ButtonType.alignJustify, _alignSelected[index], updateStatus) ?? @@ -1779,7 +1782,7 @@ class ToolbarWidgetState extends State { renderBorder: widget.htmlToolbarOptions.renderBorder, textStyle: widget.htmlToolbarOptions.textStyle, onPressed: (int index) async { - if (t.getIcons()[index].icon == Icons.link) { + if (t.getIcons()[index].icon == FlatIcon.link) { var proceed = await widget.htmlToolbarOptions.onButtonPressed ?.call(ButtonType.link, null, null) ?? true; @@ -1872,7 +1875,7 @@ class ToolbarWidgetState extends State { style: TextStyle( color: Theme.of(context) .textTheme - .bodyText1 + .bodyMedium ?.color)), ), ], @@ -1986,7 +1989,7 @@ class ToolbarWidgetState extends State { style: TextStyle( color: Theme.of(context) .textTheme - .bodyText1 + .bodyMedium ?.color)), ), suffixIcon: result != null @@ -2146,7 +2149,7 @@ class ToolbarWidgetState extends State { style: TextStyle( color: Theme.of(context) .textTheme - .bodyText1 + .bodyMedium ?.color)), ), suffixIcon: result != null @@ -2298,7 +2301,7 @@ class ToolbarWidgetState extends State { style: TextStyle( color: Theme.of(context) .textTheme - .bodyText1 + .bodyMedium ?.color)), ), suffixIcon: result != null @@ -2450,7 +2453,7 @@ class ToolbarWidgetState extends State { style: TextStyle( color: Theme.of(context) .textTheme - .bodyText1 + .bodyMedium ?.color)), ), suffixIcon: result != null @@ -2653,7 +2656,7 @@ class ToolbarWidgetState extends State { updateStatus(); } } - if (t.getIcons1()[index].icon == Icons.undo) { + if (t.getIcons1()[index].icon == FlatIcon1.undo) { var proceed = await widget.htmlToolbarOptions.onButtonPressed ?.call(ButtonType.undo, null, null) ?? true; @@ -2661,7 +2664,7 @@ class ToolbarWidgetState extends State { widget.controller.undo(); } } - if (t.getIcons1()[index].icon == Icons.redo) { + if (t.getIcons1()[index].icon == FlatIcon1.redo) { var proceed = await widget.htmlToolbarOptions.onButtonPressed ?.call(ButtonType.redo, null, null) ?? true; diff --git a/lib/utils/flat_icon1.dart b/lib/utils/flat_icon1.dart new file mode 100644 index 00000000..70476c91 --- /dev/null +++ b/lib/utils/flat_icon1.dart @@ -0,0 +1,35 @@ +/// Flutter icons FlatIcon +/// Copyright (C) 2021 by original authors @ fluttericon.com, fontello.com +/// This font was generated by FlutterIcon.com, which is derived from Fontello. +/// +/// To use this font, place it in your fonts/ directory and include the +/// following in your pubspec.yaml +/// +/// flutter: +/// fonts: +/// - family: FlatIcon +/// fonts: +/// - asset: fonts/FlatIcon.ttf +/// +/// +/// +import 'package:flutter/widgets.dart'; + +class FlatIcon1 { + FlatIcon1._(); + + static const _kFontFam = 'FlatIconNew1'; + static const String? _kFontPkg = 'html_editor_enhanced'; + + static const IconData bold = IconData(0xf101, fontFamily: _kFontFam, fontPackage: _kFontPkg); + static const IconData strikethrough = IconData(0xf102, fontFamily: _kFontFam, fontPackage: _kFontPkg); + static const IconData italic = IconData(0xf103, fontFamily: _kFontFam, fontPackage: _kFontPkg); + static const IconData number = IconData(0xf104, fontFamily: _kFontFam, fontPackage: _kFontPkg); + static const IconData bullet_list = IconData(0xf105, fontFamily: _kFontFam, fontPackage: _kFontPkg); + static const IconData align_left = IconData(0xf107, fontFamily: _kFontFam, fontPackage: _kFontPkg); + static const IconData undo = IconData(0xf108, fontFamily: _kFontFam, fontPackage: _kFontPkg); + static const IconData align_center = IconData(0xf109, fontFamily: _kFontFam, fontPackage: _kFontPkg); + static const IconData redo = IconData(0xf10a, fontFamily: _kFontFam, fontPackage: _kFontPkg); + static const IconData align_right = IconData(0xf10b, fontFamily: _kFontFam, fontPackage: _kFontPkg); + static const IconData justification = IconData(0xf10c, fontFamily: _kFontFam, fontPackage: _kFontPkg); +} diff --git a/lib/utils/flat_icon_new_icons.dart b/lib/utils/flat_icon_new_icons.dart new file mode 100644 index 00000000..c518f0c3 --- /dev/null +++ b/lib/utils/flat_icon_new_icons.dart @@ -0,0 +1,17 @@ +import 'package:flutter/widgets.dart'; + +class FlatIcon { + FlatIcon._(); + + static const _kFontFam = 'FlatIconNew'; + static const String _kFontPkg = 'html_editor_enhanced'; + + static const IconData paste = IconData(0xf102, fontFamily: _kFontFam, fontPackage: _kFontPkg); + static const IconData bullet_list = IconData(0xf104, fontFamily: _kFontFam, fontPackage: _kFontPkg); + static const IconData number = IconData(0xf105, fontFamily: _kFontFam, fontPackage: _kFontPkg); + static const IconData bold = IconData(0xf106, fontFamily: _kFontFam, fontPackage: _kFontPkg); + static const IconData italic = IconData(0xf107, fontFamily: _kFontFam, fontPackage: _kFontPkg); + static const IconData underline = IconData(0xf108, fontFamily: _kFontFam, fontPackage: _kFontPkg); + static const IconData strikethrough = IconData(0xf109, fontFamily: _kFontFam, fontPackage: _kFontPkg); + static const IconData link = IconData(0xf10a, fontFamily: _kFontFam, fontPackage: _kFontPkg); +} diff --git a/lib/utils/flutter_icon.dart b/lib/utils/flutter_icon.dart new file mode 100644 index 00000000..779a17d7 --- /dev/null +++ b/lib/utils/flutter_icon.dart @@ -0,0 +1,29 @@ +/// Flutter icons FlutterIcon +/// Copyright (C) 2021 by original authors @ fluttericon.com, fontello.com +/// This font was generated by FlutterIcon.com, which is derived from Fontello. +/// +/// To use this font, place it in your fonts/ directory and include the +/// following in your pubspec.yaml +/// +/// flutter: +/// fonts: +/// - family: FlutterIcon +/// fonts: +/// - asset: fonts/FlutterIcon.ttf +/// +/// +/// * Linearicons Free, Copyright (C) Linearicons.com +/// Author: Perxis +/// License: CC BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0/) +/// Homepage: https://linearicons.com +/// +import 'package:flutter/widgets.dart'; + +class FlutterIcon { + FlutterIcon._(); + + static const _kFontFam = 'FlutterIcon1'; + static const String? _kFontPkg = 'html_editor_enhanced'; + + static const IconData underline = IconData(0xe895, fontFamily: _kFontFam, fontPackage: _kFontPkg); +} diff --git a/lib/utils/toolbar.dart b/lib/utils/toolbar.dart index 91b491fd..d7e48d4a 100644 --- a/lib/utils/toolbar.dart +++ b/lib/utils/toolbar.dart @@ -1,10 +1,16 @@ import 'package:flutter/material.dart'; +import 'package:html_editor_enhanced/utils/flat_icon1.dart'; +import 'package:html_editor_enhanced/utils/flat_icon_new_icons.dart'; +import 'package:html_editor_enhanced/utils/flutter_icon.dart'; /// Abstract class that all the toolbar classes extend abstract class Toolbar { const Toolbar(); } +const sizeIcon = 24.0; +const colorIcon = Color(0xff6A6A6A); + /// Style group class StyleButtons extends Toolbar { final bool style; @@ -49,16 +55,16 @@ class FontButtons extends Toolbar { List getIcons1() { var icons = []; - if (bold) icons.add(Icon(Icons.format_bold)); - if (italic) icons.add(Icon(Icons.format_italic)); - if (underline) icons.add(Icon(Icons.format_underline)); + if (bold) icons.add(Icon(FlatIcon1.bold,color: colorIcon,size: sizeIcon,)); + if (italic) icons.add(Icon(FlatIcon1.italic,color: colorIcon,size: sizeIcon,)); + if (underline) icons.add(Icon(FlutterIcon.underline,color: colorIcon,size: sizeIcon,)); if (clearAll) icons.add(Icon(Icons.format_clear)); return icons; } List getIcons2() { var icons = []; - if (strikethrough) icons.add(Icon(Icons.format_strikethrough)); + if (strikethrough) icons.add(Icon(FlatIcon1.strikethrough,color: colorIcon,size: sizeIcon,)); if (superscript) icons.add(Icon(Icons.superscript)); if (subscript) icons.add(Icon(Icons.subscript)); return icons; @@ -97,8 +103,8 @@ class ListButtons extends Toolbar { List getIcons() { var icons = []; - if (ul) icons.add(Icon(Icons.format_list_bulleted)); - if (ol) icons.add(Icon(Icons.format_list_numbered)); + if (ul) icons.add(Icon(FlatIcon1.bullet_list,color: colorIcon,size: sizeIcon,)); + if (ol) icons.add(Icon(FlatIcon1.number,color: colorIcon,size: sizeIcon,)); return icons; } } @@ -129,10 +135,10 @@ class ParagraphButtons extends Toolbar { List getIcons1() { var icons = []; - if (alignLeft) icons.add(Icon(Icons.format_align_left)); - if (alignCenter) icons.add(Icon(Icons.format_align_center)); - if (alignRight) icons.add(Icon(Icons.format_align_right)); - if (alignJustify) icons.add(Icon(Icons.format_align_justify)); + if (alignLeft) icons.add(Icon(FlatIcon1.align_left,color: colorIcon,size: sizeIcon,)); + if (alignCenter) icons.add(Icon(FlatIcon1.align_center,color: colorIcon,size: sizeIcon,)); + if (alignRight) icons.add(Icon(FlatIcon1.align_right,color: colorIcon,size: sizeIcon,)); + if (alignJustify) icons.add(Icon(FlatIcon1.justification,color: colorIcon,size: 18,)); return icons; } @@ -166,7 +172,7 @@ class InsertButtons extends Toolbar { List getIcons() { var icons = []; - if (link) icons.add(Icon(Icons.link)); + if (link) icons.add(Icon(FlatIcon.link,color: colorIcon,size: 18,)); if (picture) icons.add(Icon(Icons.image_outlined)); if (audio) icons.add(Icon(Icons.audiotrack_outlined)); if (video) icons.add(Icon(Icons.videocam_outlined)); @@ -201,8 +207,8 @@ class OtherButtons extends Toolbar { var icons = []; if (fullscreen) icons.add(Icon(Icons.fullscreen)); if (codeview) icons.add(Icon(Icons.code)); - if (undo) icons.add(Icon(Icons.undo)); - if (redo) icons.add(Icon(Icons.redo)); + if (undo) icons.add(Icon(FlatIcon1.undo,color: colorIcon,size: sizeIcon,)); + if (redo) icons.add(Icon(FlatIcon1.redo,color: colorIcon,size: sizeIcon,)); if (help) icons.add(Icon(Icons.help_outline)); return icons; } diff --git a/lib/utils/utils.dart b/lib/utils/utils.dart index 8d9c6c8d..d167ae53 100644 --- a/lib/utils/utils.dart +++ b/lib/utils/utils.dart @@ -949,7 +949,7 @@ class _DropdownButtonState extends State> } TextStyle? get _textStyle => - widget.style ?? Theme.of(context).textTheme.subtitle1; + widget.style ?? Theme.of(context).textTheme.titleSmall; void _handleTap() { final textDirection = Directionality.maybeOf(context); @@ -1009,7 +1009,7 @@ class _DropdownButtonState extends State> double get _denseButtonHeight { final fontSize = _textStyle!.fontSize ?? - Theme.of(context).textTheme.subtitle1!.fontSize!; + Theme.of(context).textTheme.titleSmall!.fontSize!; return max(fontSize, max(widget.iconSize, _kDenseButtonHeight)); } diff --git a/pubspec.lock b/pubspec.lock index 88f4be47..51e83a87 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -5,72 +5,82 @@ packages: dependency: transitive description: name: async - url: "https://pub.dartlang.org" + sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" + url: "https://pub.dev" source: hosted - version: "2.9.0" + version: "2.11.0" boolean_selector: dependency: transitive description: name: boolean_selector - url: "https://pub.dartlang.org" + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.1" characters: dependency: transitive description: name: characters - url: "https://pub.dartlang.org" + sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" + url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.3.0" clock: dependency: transitive description: name: clock - url: "https://pub.dartlang.org" + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + url: "https://pub.dev" source: hosted version: "1.1.1" collection: dependency: transitive description: name: collection - url: "https://pub.dartlang.org" + sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.18.0" fake_async: dependency: transitive description: name: fake_async - url: "https://pub.dartlang.org" + sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + url: "https://pub.dev" source: hosted version: "1.3.1" ffi: dependency: transitive description: name: ffi - url: "https://pub.dartlang.org" + sha256: "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21" + url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "2.1.2" file_picker: dependency: "direct main" description: name: file_picker - url: "https://pub.dartlang.org" + sha256: be325344c1f3070354a1d84a231a1ba75ea85d413774ec4bdf444c023342e030 + url: "https://pub.dev" source: hosted - version: "5.2.5" + version: "5.5.0" flex_color_picker: dependency: "direct main" description: name: flex_color_picker - url: "https://pub.dartlang.org" + sha256: "5c846437069fb7afdd7ade6bf37e628a71d2ab0787095ddcb1253bf9345d5f3a" + url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "3.4.1" flex_seed_scheme: dependency: transitive description: name: flex_seed_scheme - url: "https://pub.dartlang.org" + sha256: "4cee2f1d07259f77e8b36f4ec5f35499d19e74e17c7dce5b819554914082bc01" + url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.5.0" flutter: dependency: "direct main" description: flutter @@ -80,58 +90,114 @@ packages: dependency: "direct main" description: name: flutter_inappwebview - url: "https://pub.dartlang.org" + sha256: "3e9a443a18ecef966fb930c3a76ca5ab6a7aafc0c7b5e14a4a850cf107b09959" + url: "https://pub.dev" + source: hosted + version: "6.0.0" + flutter_inappwebview_android: + dependency: transitive + description: + name: flutter_inappwebview_android + sha256: d247f6ed417f1f8c364612fa05a2ecba7f775c8d0c044c1d3b9ee33a6515c421 + url: "https://pub.dev" + source: hosted + version: "1.0.13" + flutter_inappwebview_internal_annotations: + dependency: transitive + description: + name: flutter_inappwebview_internal_annotations + sha256: "5f80fd30e208ddded7dbbcd0d569e7995f9f63d45ea3f548d8dd4c0b473fb4c8" + url: "https://pub.dev" + source: hosted + version: "1.1.1" + flutter_inappwebview_ios: + dependency: transitive + description: + name: flutter_inappwebview_ios + sha256: f363577208b97b10b319cd0c428555cd8493e88b468019a8c5635a0e4312bd0f + url: "https://pub.dev" + source: hosted + version: "1.0.13" + flutter_inappwebview_macos: + dependency: transitive + description: + name: flutter_inappwebview_macos + sha256: b55b9e506c549ce88e26580351d2c71d54f4825901666bd6cfa4be9415bb2636 + url: "https://pub.dev" + source: hosted + version: "1.0.11" + flutter_inappwebview_platform_interface: + dependency: transitive + description: + name: flutter_inappwebview_platform_interface + sha256: "545fd4c25a07d2775f7d5af05a979b2cac4fbf79393b0a7f5d33ba39ba4f6187" + url: "https://pub.dev" + source: hosted + version: "1.0.10" + flutter_inappwebview_web: + dependency: transitive + description: + name: flutter_inappwebview_web + sha256: d8c680abfb6fec71609a700199635d38a744df0febd5544c5a020bd73de8ee07 + url: "https://pub.dev" source: hosted - version: "5.7.2+3" + version: "1.0.8" flutter_keyboard_visibility: dependency: "direct main" description: name: flutter_keyboard_visibility - url: "https://pub.dartlang.org" + sha256: "98664be7be0e3ffca00de50f7f6a287ab62c763fc8c762e0a21584584a3ff4f8" + url: "https://pub.dev" source: hosted - version: "5.4.0" + version: "6.0.0" flutter_keyboard_visibility_linux: dependency: transitive description: name: flutter_keyboard_visibility_linux - url: "https://pub.dartlang.org" + sha256: "6fba7cd9bb033b6ddd8c2beb4c99ad02d728f1e6e6d9b9446667398b2ac39f08" + url: "https://pub.dev" source: hosted version: "1.0.0" flutter_keyboard_visibility_macos: dependency: transitive description: name: flutter_keyboard_visibility_macos - url: "https://pub.dartlang.org" + sha256: c5c49b16fff453dfdafdc16f26bdd8fb8d55812a1d50b0ce25fc8d9f2e53d086 + url: "https://pub.dev" source: hosted version: "1.0.0" flutter_keyboard_visibility_platform_interface: dependency: transitive description: name: flutter_keyboard_visibility_platform_interface - url: "https://pub.dartlang.org" + sha256: e43a89845873f7be10cb3884345ceb9aebf00a659f479d1c8f4293fcb37022a4 + url: "https://pub.dev" source: hosted version: "2.0.0" flutter_keyboard_visibility_web: dependency: transitive description: name: flutter_keyboard_visibility_web - url: "https://pub.dartlang.org" + sha256: d3771a2e752880c79203f8d80658401d0c998e4183edca05a149f5098ce6e3d1 + url: "https://pub.dev" source: hosted version: "2.0.0" flutter_keyboard_visibility_windows: dependency: transitive description: name: flutter_keyboard_visibility_windows - url: "https://pub.dartlang.org" + sha256: fc4b0f0b6be9b93ae527f3d527fb56ee2d918cd88bbca438c478af7bcfd0ef73 + url: "https://pub.dev" source: hosted version: "1.0.0" flutter_plugin_android_lifecycle: dependency: transitive description: name: flutter_plugin_android_lifecycle - url: "https://pub.dartlang.org" + sha256: b068ffc46f82a55844acfa4fdbb61fad72fa2aef0905548419d97f0f95c456da + url: "https://pub.dev" source: hosted - version: "2.0.7" + version: "2.0.17" flutter_test: dependency: "direct dev" description: flutter @@ -146,72 +212,106 @@ packages: dependency: transitive description: name: infinite_listview - url: "https://pub.dartlang.org" + sha256: f6062c1720eb59be553dfa6b89813d3e8dd2f054538445aaa5edaddfa5195ce6 + url: "https://pub.dev" source: hosted version: "1.1.0" js: dependency: transitive description: name: js - url: "https://pub.dartlang.org" + sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 + url: "https://pub.dev" source: hosted - version: "0.6.4" + version: "0.6.7" + leak_tracker: + dependency: transitive + description: + name: leak_tracker + sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" + url: "https://pub.dev" + source: hosted + version: "10.0.4" + leak_tracker_flutter_testing: + dependency: transitive + description: + name: leak_tracker_flutter_testing + sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" + url: "https://pub.dev" + source: hosted + version: "3.0.3" + leak_tracker_testing: + dependency: transitive + description: + name: leak_tracker_testing + sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" + url: "https://pub.dev" + source: hosted + version: "3.0.1" matcher: dependency: transitive description: name: matcher - url: "https://pub.dartlang.org" + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb + url: "https://pub.dev" source: hosted - version: "0.12.12" + version: "0.12.16+1" material_color_utilities: dependency: transitive description: name: material_color_utilities - url: "https://pub.dartlang.org" + sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" + url: "https://pub.dev" source: hosted - version: "0.1.5" + version: "0.8.0" meta: dependency: "direct main" description: name: meta - url: "https://pub.dartlang.org" + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" + url: "https://pub.dev" source: hosted - version: "1.8.0" + version: "1.12.0" numberpicker: dependency: "direct main" description: name: numberpicker - url: "https://pub.dartlang.org" + sha256: "4c129154944b0f6b133e693f8749c3f8bfb67c4d07ef9dcab48b595c22d1f156" + url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" path: dependency: transitive description: name: path - url: "https://pub.dartlang.org" + sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" + url: "https://pub.dev" source: hosted - version: "1.8.2" + version: "1.9.0" pedantic: dependency: "direct main" description: name: pedantic - url: "https://pub.dartlang.org" + sha256: "67fc27ed9639506c856c840ccce7594d0bdcd91bc8d53d6e52359449a1d50602" + url: "https://pub.dev" source: hosted version: "1.11.1" plugin_platform_interface: dependency: transitive description: name: plugin_platform_interface - url: "https://pub.dartlang.org" + sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" + url: "https://pub.dev" source: hosted - version: "2.1.3" + version: "2.1.8" pointer_interceptor: dependency: "direct main" description: name: pointer_interceptor - url: "https://pub.dartlang.org" + sha256: adf7a637f97c077041d36801b43be08559fd4322d2127b3f20bb7be1b9eebc22 + url: "https://pub.dev" source: hosted - version: "0.9.3+3" + version: "0.9.3+7" sky_engine: dependency: transitive description: flutter @@ -221,65 +321,82 @@ packages: dependency: transitive description: name: source_span - url: "https://pub.dartlang.org" + sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" + url: "https://pub.dev" source: hosted - version: "1.9.0" + version: "1.10.0" stack_trace: dependency: transitive description: name: stack_trace - url: "https://pub.dartlang.org" + sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.11.1" stream_channel: dependency: transitive description: name: stream_channel - url: "https://pub.dartlang.org" + sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.2" string_scanner: dependency: transitive description: name: string_scanner - url: "https://pub.dartlang.org" + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.2.0" term_glyph: dependency: transitive description: name: term_glyph - url: "https://pub.dartlang.org" + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.dev" source: hosted version: "1.2.1" test_api: dependency: transitive description: name: test_api - url: "https://pub.dartlang.org" + sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" + url: "https://pub.dev" source: hosted - version: "0.4.12" + version: "0.7.0" vector_math: dependency: transitive description: name: vector_math - url: "https://pub.dartlang.org" + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.4" visibility_detector: dependency: "direct main" description: name: visibility_detector - url: "https://pub.dartlang.org" + sha256: "15c54a459ec2c17b4705450483f3d5a2858e733aee893dcee9d75fd04814940d" + url: "https://pub.dev" source: hosted version: "0.3.3" + vm_service: + dependency: transitive + description: + name: vm_service + sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" + url: "https://pub.dev" + source: hosted + version: "14.2.1" win32: dependency: transitive description: name: win32 - url: "https://pub.dartlang.org" + sha256: "0a989dc7ca2bb51eac91e8fd00851297cfffd641aa7538b165c62637ca0eaa4a" + url: "https://pub.dev" source: hosted - version: "3.1.3" + version: "5.4.0" sdks: - dart: ">=2.18.0 <3.0.0" - flutter: ">=3.3.0" + dart: ">=3.3.0 <4.0.0" + flutter: ">=3.18.0-18.0.pre.54" diff --git a/pubspec.yaml b/pubspec.yaml index 82d4a1ad..f9bd9e42 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,23 +1,23 @@ name: html_editor_enhanced description: HTML rich text editor for Android, iOS, and Web, using the Summernote library. Enhanced with highly customizable widget-based controls, bug fixes, callbacks, dark mode, and more. -version: 2.5.1 +version: 2.5.3 homepage: https://github.com/tneotia/html-editor-enhanced environment: - sdk: '>=2.12.0 <3.0.0' - flutter: ">=3.0.0" + sdk: ">=3.0.6 <4.0.0" + flutter: ">=1.17.0" dependencies: flutter: sdk: flutter # webview plugin - flutter_inappwebview: ^5.7.2+3 + flutter_inappwebview: ^6.0.0 # plugin to get webview's visible fraction for keyboard height adjustment visibility_detector: ^0.3.3 # plugin to get when the keyboard is hidden via back (Android) # or "done" (iOS) to reset the editor's height - flutter_keyboard_visibility: ^5.4.0 + flutter_keyboard_visibility: ^6.0.0 # plugin to show a color picker for foreground/highlight color flex_color_picker: ^3.0.2 # plugin to get files from filesystem @@ -59,8 +59,7 @@ flutter: # adding or updating assets for this project. # To add assets to your plugin package, add an assets section, like this: - # assets: - # - images/a_dot_burr.jpeg +# assets: # - images/a_dot_ham.jpeg # # For details regarding assets in packages, see @@ -74,12 +73,16 @@ flutter: # "family" key with the font family name, and a "fonts" key with a # list giving the asset and other descriptors for the font. For # example: - # fonts: - # - family: Schyler - # fonts: - # - asset: fonts/Schyler-Regular.ttf - # - asset: fonts/Schyler-Italic.ttf - # style: italic + fonts: + - family: FlatIconNew + fonts: + - asset: packages/html_editor_enhanced/assets/font/FlatIconNew.ttf + - family: FlatIconNew1 + fonts: + - asset: packages/html_editor_enhanced/assets/font/FlatIcon1.ttf + - family: FlutterIcon1 + fonts: + - asset: packages/html_editor_enhanced/assets/font/FlutterIcon.ttf # - family: Trajan Pro # fonts: # - asset: fonts/TrajanPro.ttf