@marcos_feitoza/personal-finance-frontend-core-ui 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/.circleci/config.yml +23 -0
  2. package/.metadata +45 -0
  3. package/CHANGELOG.md +26 -0
  4. package/README.md +16 -0
  5. package/analysis_options.yaml +28 -0
  6. package/android/app/build.gradle.kts +44 -0
  7. package/android/app/src/debug/AndroidManifest.xml +7 -0
  8. package/android/app/src/main/AndroidManifest.xml +45 -0
  9. package/android/app/src/main/kotlin/com/example/personal_finance_frontend_core_ui/MainActivity.kt +5 -0
  10. package/android/app/src/main/res/drawable/launch_background.xml +12 -0
  11. package/android/app/src/main/res/drawable-v21/launch_background.xml +12 -0
  12. package/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  13. package/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  14. package/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  15. package/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  16. package/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  17. package/android/app/src/main/res/values/styles.xml +18 -0
  18. package/android/app/src/main/res/values-night/styles.xml +18 -0
  19. package/android/app/src/profile/AndroidManifest.xml +7 -0
  20. package/android/build.gradle.kts +21 -0
  21. package/android/gradle/wrapper/gradle-wrapper.properties +5 -0
  22. package/android/gradle.properties +3 -0
  23. package/android/settings.gradle.kts +25 -0
  24. package/ios/Flutter/AppFrameworkInfo.plist +26 -0
  25. package/ios/Flutter/Debug.xcconfig +1 -0
  26. package/ios/Flutter/Release.xcconfig +1 -0
  27. package/ios/Runner/AppDelegate.swift +13 -0
  28. package/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +122 -0
  29. package/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png +0 -0
  30. package/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png +0 -0
  31. package/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png +0 -0
  32. package/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png +0 -0
  33. package/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png +0 -0
  34. package/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png +0 -0
  35. package/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png +0 -0
  36. package/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png +0 -0
  37. package/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png +0 -0
  38. package/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png +0 -0
  39. package/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png +0 -0
  40. package/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png +0 -0
  41. package/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png +0 -0
  42. package/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png +0 -0
  43. package/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png +0 -0
  44. package/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json +23 -0
  45. package/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png +0 -0
  46. package/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png +0 -0
  47. package/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png +0 -0
  48. package/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md +5 -0
  49. package/ios/Runner/Base.lproj/LaunchScreen.storyboard +37 -0
  50. package/ios/Runner/Base.lproj/Main.storyboard +26 -0
  51. package/ios/Runner/Info.plist +49 -0
  52. package/ios/Runner/Runner-Bridging-Header.h +1 -0
  53. package/ios/Runner.xcodeproj/project.pbxproj +619 -0
  54. package/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  55. package/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  56. package/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +8 -0
  57. package/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +101 -0
  58. package/ios/Runner.xcworkspace/contents.xcworkspacedata +7 -0
  59. package/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  60. package/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +8 -0
  61. package/ios/RunnerTests/RunnerTests.swift +12 -0
  62. package/lib/main.dart +122 -0
  63. package/lib/personal_finance_frontend_core_ui.dart +1 -0
  64. package/lib/utils/currency_input_formatter.dart +49 -0
  65. package/lib/utils/currency_utils.dart +14 -0
  66. package/lib/utils/theme_notifier.dart +33 -0
  67. package/lib/widgets/app_widgets.dart +405 -0
  68. package/lib/widgets/crypto_trade_form.dart +357 -0
  69. package/lib/widgets/dividend_log_form.dart +151 -0
  70. package/lib/widgets/edit_transaction_dialog.dart +112 -0
  71. package/lib/widgets/expense_form.dart +238 -0
  72. package/lib/widgets/investment_form.dart +223 -0
  73. package/lib/widgets/rrsp_contribution_form.dart +157 -0
  74. package/lib/widgets/salary_form.dart +152 -0
  75. package/lib/widgets/trade_form.dart +374 -0
  76. package/lib/widgets/user_profile_avatar.dart +60 -0
  77. package/linux/CMakeLists.txt +128 -0
  78. package/linux/flutter/CMakeLists.txt +88 -0
  79. package/linux/flutter/generated_plugin_registrant.cc +11 -0
  80. package/linux/flutter/generated_plugin_registrant.h +15 -0
  81. package/linux/flutter/generated_plugins.cmake +23 -0
  82. package/linux/runner/CMakeLists.txt +26 -0
  83. package/linux/runner/main.cc +6 -0
  84. package/linux/runner/my_application.cc +130 -0
  85. package/linux/runner/my_application.h +18 -0
  86. package/macos/Flutter/Flutter-Debug.xcconfig +1 -0
  87. package/macos/Flutter/Flutter-Release.xcconfig +1 -0
  88. package/macos/Flutter/GeneratedPluginRegistrant.swift +10 -0
  89. package/macos/Runner/AppDelegate.swift +13 -0
  90. package/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +68 -0
  91. package/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png +0 -0
  92. package/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png +0 -0
  93. package/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png +0 -0
  94. package/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png +0 -0
  95. package/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png +0 -0
  96. package/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png +0 -0
  97. package/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png +0 -0
  98. package/macos/Runner/Base.lproj/MainMenu.xib +343 -0
  99. package/macos/Runner/Configs/AppInfo.xcconfig +14 -0
  100. package/macos/Runner/Configs/Debug.xcconfig +2 -0
  101. package/macos/Runner/Configs/Release.xcconfig +2 -0
  102. package/macos/Runner/Configs/Warnings.xcconfig +13 -0
  103. package/macos/Runner/DebugProfile.entitlements +12 -0
  104. package/macos/Runner/Info.plist +32 -0
  105. package/macos/Runner/MainFlutterWindow.swift +15 -0
  106. package/macos/Runner/Release.entitlements +8 -0
  107. package/macos/Runner.xcodeproj/project.pbxproj +705 -0
  108. package/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  109. package/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +99 -0
  110. package/macos/Runner.xcworkspace/contents.xcworkspacedata +7 -0
  111. package/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  112. package/macos/RunnerTests/RunnerTests.swift +12 -0
  113. package/package.json +29 -0
  114. package/pubspec.yaml +94 -0
  115. package/test/widget_test.dart +30 -0
  116. package/web/favicon.png +0 -0
  117. package/web/icons/Icon-192.png +0 -0
  118. package/web/icons/Icon-512.png +0 -0
  119. package/web/icons/Icon-maskable-192.png +0 -0
  120. package/web/icons/Icon-maskable-512.png +0 -0
  121. package/web/index.html +38 -0
  122. package/web/manifest.json +35 -0
  123. package/windows/CMakeLists.txt +108 -0
  124. package/windows/flutter/CMakeLists.txt +109 -0
  125. package/windows/flutter/generated_plugin_registrant.cc +11 -0
  126. package/windows/flutter/generated_plugin_registrant.h +15 -0
  127. package/windows/flutter/generated_plugins.cmake +23 -0
  128. package/windows/runner/CMakeLists.txt +40 -0
  129. package/windows/runner/Runner.rc +121 -0
  130. package/windows/runner/flutter_window.cpp +71 -0
  131. package/windows/runner/flutter_window.h +33 -0
  132. package/windows/runner/main.cpp +43 -0
  133. package/windows/runner/resource.h +16 -0
  134. package/windows/runner/resources/app_icon.ico +0 -0
  135. package/windows/runner/runner.exe.manifest +14 -0
  136. package/windows/runner/utils.cpp +65 -0
  137. package/windows/runner/utils.h +19 -0
  138. package/windows/runner/win32_window.cpp +288 -0
  139. package/windows/runner/win32_window.h +102 -0
@@ -0,0 +1,343 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
3
+ <dependencies>
4
+ <deployment identifier="macosx"/>
5
+ <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14490.70"/>
6
+ <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
7
+ </dependencies>
8
+ <objects>
9
+ <customObject id="-2" userLabel="File's Owner" customClass="NSApplication">
10
+ <connections>
11
+ <outlet property="delegate" destination="Voe-Tx-rLC" id="GzC-gU-4Uq"/>
12
+ </connections>
13
+ </customObject>
14
+ <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
15
+ <customObject id="-3" userLabel="Application" customClass="NSObject"/>
16
+ <customObject id="Voe-Tx-rLC" customClass="AppDelegate" customModule="Runner" customModuleProvider="target">
17
+ <connections>
18
+ <outlet property="applicationMenu" destination="uQy-DD-JDr" id="XBo-yE-nKs"/>
19
+ <outlet property="mainFlutterWindow" destination="QvC-M9-y7g" id="gIp-Ho-8D9"/>
20
+ </connections>
21
+ </customObject>
22
+ <customObject id="YLy-65-1bz" customClass="NSFontManager"/>
23
+ <menu title="Main Menu" systemMenu="main" id="AYu-sK-qS6">
24
+ <items>
25
+ <menuItem title="APP_NAME" id="1Xt-HY-uBw">
26
+ <modifierMask key="keyEquivalentModifierMask"/>
27
+ <menu key="submenu" title="APP_NAME" systemMenu="apple" id="uQy-DD-JDr">
28
+ <items>
29
+ <menuItem title="About APP_NAME" id="5kV-Vb-QxS">
30
+ <modifierMask key="keyEquivalentModifierMask"/>
31
+ <connections>
32
+ <action selector="orderFrontStandardAboutPanel:" target="-1" id="Exp-CZ-Vem"/>
33
+ </connections>
34
+ </menuItem>
35
+ <menuItem isSeparatorItem="YES" id="VOq-y0-SEH"/>
36
+ <menuItem title="Preferences…" keyEquivalent="," id="BOF-NM-1cW"/>
37
+ <menuItem isSeparatorItem="YES" id="wFC-TO-SCJ"/>
38
+ <menuItem title="Services" id="NMo-om-nkz">
39
+ <modifierMask key="keyEquivalentModifierMask"/>
40
+ <menu key="submenu" title="Services" systemMenu="services" id="hz9-B4-Xy5"/>
41
+ </menuItem>
42
+ <menuItem isSeparatorItem="YES" id="4je-JR-u6R"/>
43
+ <menuItem title="Hide APP_NAME" keyEquivalent="h" id="Olw-nP-bQN">
44
+ <connections>
45
+ <action selector="hide:" target="-1" id="PnN-Uc-m68"/>
46
+ </connections>
47
+ </menuItem>
48
+ <menuItem title="Hide Others" keyEquivalent="h" id="Vdr-fp-XzO">
49
+ <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
50
+ <connections>
51
+ <action selector="hideOtherApplications:" target="-1" id="VT4-aY-XCT"/>
52
+ </connections>
53
+ </menuItem>
54
+ <menuItem title="Show All" id="Kd2-mp-pUS">
55
+ <modifierMask key="keyEquivalentModifierMask"/>
56
+ <connections>
57
+ <action selector="unhideAllApplications:" target="-1" id="Dhg-Le-xox"/>
58
+ </connections>
59
+ </menuItem>
60
+ <menuItem isSeparatorItem="YES" id="kCx-OE-vgT"/>
61
+ <menuItem title="Quit APP_NAME" keyEquivalent="q" id="4sb-4s-VLi">
62
+ <connections>
63
+ <action selector="terminate:" target="-1" id="Te7-pn-YzF"/>
64
+ </connections>
65
+ </menuItem>
66
+ </items>
67
+ </menu>
68
+ </menuItem>
69
+ <menuItem title="Edit" id="5QF-Oa-p0T">
70
+ <modifierMask key="keyEquivalentModifierMask"/>
71
+ <menu key="submenu" title="Edit" id="W48-6f-4Dl">
72
+ <items>
73
+ <menuItem title="Undo" keyEquivalent="z" id="dRJ-4n-Yzg">
74
+ <connections>
75
+ <action selector="undo:" target="-1" id="M6e-cu-g7V"/>
76
+ </connections>
77
+ </menuItem>
78
+ <menuItem title="Redo" keyEquivalent="Z" id="6dh-zS-Vam">
79
+ <connections>
80
+ <action selector="redo:" target="-1" id="oIA-Rs-6OD"/>
81
+ </connections>
82
+ </menuItem>
83
+ <menuItem isSeparatorItem="YES" id="WRV-NI-Exz"/>
84
+ <menuItem title="Cut" keyEquivalent="x" id="uRl-iY-unG">
85
+ <connections>
86
+ <action selector="cut:" target="-1" id="YJe-68-I9s"/>
87
+ </connections>
88
+ </menuItem>
89
+ <menuItem title="Copy" keyEquivalent="c" id="x3v-GG-iWU">
90
+ <connections>
91
+ <action selector="copy:" target="-1" id="G1f-GL-Joy"/>
92
+ </connections>
93
+ </menuItem>
94
+ <menuItem title="Paste" keyEquivalent="v" id="gVA-U4-sdL">
95
+ <connections>
96
+ <action selector="paste:" target="-1" id="UvS-8e-Qdg"/>
97
+ </connections>
98
+ </menuItem>
99
+ <menuItem title="Paste and Match Style" keyEquivalent="V" id="WeT-3V-zwk">
100
+ <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
101
+ <connections>
102
+ <action selector="pasteAsPlainText:" target="-1" id="cEh-KX-wJQ"/>
103
+ </connections>
104
+ </menuItem>
105
+ <menuItem title="Delete" id="pa3-QI-u2k">
106
+ <modifierMask key="keyEquivalentModifierMask"/>
107
+ <connections>
108
+ <action selector="delete:" target="-1" id="0Mk-Ml-PaM"/>
109
+ </connections>
110
+ </menuItem>
111
+ <menuItem title="Select All" keyEquivalent="a" id="Ruw-6m-B2m">
112
+ <connections>
113
+ <action selector="selectAll:" target="-1" id="VNm-Mi-diN"/>
114
+ </connections>
115
+ </menuItem>
116
+ <menuItem isSeparatorItem="YES" id="uyl-h8-XO2"/>
117
+ <menuItem title="Find" id="4EN-yA-p0u">
118
+ <modifierMask key="keyEquivalentModifierMask"/>
119
+ <menu key="submenu" title="Find" id="1b7-l0-nxx">
120
+ <items>
121
+ <menuItem title="Find…" tag="1" keyEquivalent="f" id="Xz5-n4-O0W">
122
+ <connections>
123
+ <action selector="performFindPanelAction:" target="-1" id="cD7-Qs-BN4"/>
124
+ </connections>
125
+ </menuItem>
126
+ <menuItem title="Find and Replace…" tag="12" keyEquivalent="f" id="YEy-JH-Tfz">
127
+ <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
128
+ <connections>
129
+ <action selector="performFindPanelAction:" target="-1" id="WD3-Gg-5AJ"/>
130
+ </connections>
131
+ </menuItem>
132
+ <menuItem title="Find Next" tag="2" keyEquivalent="g" id="q09-fT-Sye">
133
+ <connections>
134
+ <action selector="performFindPanelAction:" target="-1" id="NDo-RZ-v9R"/>
135
+ </connections>
136
+ </menuItem>
137
+ <menuItem title="Find Previous" tag="3" keyEquivalent="G" id="OwM-mh-QMV">
138
+ <connections>
139
+ <action selector="performFindPanelAction:" target="-1" id="HOh-sY-3ay"/>
140
+ </connections>
141
+ </menuItem>
142
+ <menuItem title="Use Selection for Find" tag="7" keyEquivalent="e" id="buJ-ug-pKt">
143
+ <connections>
144
+ <action selector="performFindPanelAction:" target="-1" id="U76-nv-p5D"/>
145
+ </connections>
146
+ </menuItem>
147
+ <menuItem title="Jump to Selection" keyEquivalent="j" id="S0p-oC-mLd">
148
+ <connections>
149
+ <action selector="centerSelectionInVisibleArea:" target="-1" id="IOG-6D-g5B"/>
150
+ </connections>
151
+ </menuItem>
152
+ </items>
153
+ </menu>
154
+ </menuItem>
155
+ <menuItem title="Spelling and Grammar" id="Dv1-io-Yv7">
156
+ <modifierMask key="keyEquivalentModifierMask"/>
157
+ <menu key="submenu" title="Spelling" id="3IN-sU-3Bg">
158
+ <items>
159
+ <menuItem title="Show Spelling and Grammar" keyEquivalent=":" id="HFo-cy-zxI">
160
+ <connections>
161
+ <action selector="showGuessPanel:" target="-1" id="vFj-Ks-hy3"/>
162
+ </connections>
163
+ </menuItem>
164
+ <menuItem title="Check Document Now" keyEquivalent=";" id="hz2-CU-CR7">
165
+ <connections>
166
+ <action selector="checkSpelling:" target="-1" id="fz7-VC-reM"/>
167
+ </connections>
168
+ </menuItem>
169
+ <menuItem isSeparatorItem="YES" id="bNw-od-mp5"/>
170
+ <menuItem title="Check Spelling While Typing" id="rbD-Rh-wIN">
171
+ <modifierMask key="keyEquivalentModifierMask"/>
172
+ <connections>
173
+ <action selector="toggleContinuousSpellChecking:" target="-1" id="7w6-Qz-0kB"/>
174
+ </connections>
175
+ </menuItem>
176
+ <menuItem title="Check Grammar With Spelling" id="mK6-2p-4JG">
177
+ <modifierMask key="keyEquivalentModifierMask"/>
178
+ <connections>
179
+ <action selector="toggleGrammarChecking:" target="-1" id="muD-Qn-j4w"/>
180
+ </connections>
181
+ </menuItem>
182
+ <menuItem title="Correct Spelling Automatically" id="78Y-hA-62v">
183
+ <modifierMask key="keyEquivalentModifierMask"/>
184
+ <connections>
185
+ <action selector="toggleAutomaticSpellingCorrection:" target="-1" id="2lM-Qi-WAP"/>
186
+ </connections>
187
+ </menuItem>
188
+ </items>
189
+ </menu>
190
+ </menuItem>
191
+ <menuItem title="Substitutions" id="9ic-FL-obx">
192
+ <modifierMask key="keyEquivalentModifierMask"/>
193
+ <menu key="submenu" title="Substitutions" id="FeM-D8-WVr">
194
+ <items>
195
+ <menuItem title="Show Substitutions" id="z6F-FW-3nz">
196
+ <modifierMask key="keyEquivalentModifierMask"/>
197
+ <connections>
198
+ <action selector="orderFrontSubstitutionsPanel:" target="-1" id="oku-mr-iSq"/>
199
+ </connections>
200
+ </menuItem>
201
+ <menuItem isSeparatorItem="YES" id="gPx-C9-uUO"/>
202
+ <menuItem title="Smart Copy/Paste" id="9yt-4B-nSM">
203
+ <modifierMask key="keyEquivalentModifierMask"/>
204
+ <connections>
205
+ <action selector="toggleSmartInsertDelete:" target="-1" id="3IJ-Se-DZD"/>
206
+ </connections>
207
+ </menuItem>
208
+ <menuItem title="Smart Quotes" id="hQb-2v-fYv">
209
+ <modifierMask key="keyEquivalentModifierMask"/>
210
+ <connections>
211
+ <action selector="toggleAutomaticQuoteSubstitution:" target="-1" id="ptq-xd-QOA"/>
212
+ </connections>
213
+ </menuItem>
214
+ <menuItem title="Smart Dashes" id="rgM-f4-ycn">
215
+ <modifierMask key="keyEquivalentModifierMask"/>
216
+ <connections>
217
+ <action selector="toggleAutomaticDashSubstitution:" target="-1" id="oCt-pO-9gS"/>
218
+ </connections>
219
+ </menuItem>
220
+ <menuItem title="Smart Links" id="cwL-P1-jid">
221
+ <modifierMask key="keyEquivalentModifierMask"/>
222
+ <connections>
223
+ <action selector="toggleAutomaticLinkDetection:" target="-1" id="Gip-E3-Fov"/>
224
+ </connections>
225
+ </menuItem>
226
+ <menuItem title="Data Detectors" id="tRr-pd-1PS">
227
+ <modifierMask key="keyEquivalentModifierMask"/>
228
+ <connections>
229
+ <action selector="toggleAutomaticDataDetection:" target="-1" id="R1I-Nq-Kbl"/>
230
+ </connections>
231
+ </menuItem>
232
+ <menuItem title="Text Replacement" id="HFQ-gK-NFA">
233
+ <modifierMask key="keyEquivalentModifierMask"/>
234
+ <connections>
235
+ <action selector="toggleAutomaticTextReplacement:" target="-1" id="DvP-Fe-Py6"/>
236
+ </connections>
237
+ </menuItem>
238
+ </items>
239
+ </menu>
240
+ </menuItem>
241
+ <menuItem title="Transformations" id="2oI-Rn-ZJC">
242
+ <modifierMask key="keyEquivalentModifierMask"/>
243
+ <menu key="submenu" title="Transformations" id="c8a-y6-VQd">
244
+ <items>
245
+ <menuItem title="Make Upper Case" id="vmV-6d-7jI">
246
+ <modifierMask key="keyEquivalentModifierMask"/>
247
+ <connections>
248
+ <action selector="uppercaseWord:" target="-1" id="sPh-Tk-edu"/>
249
+ </connections>
250
+ </menuItem>
251
+ <menuItem title="Make Lower Case" id="d9M-CD-aMd">
252
+ <modifierMask key="keyEquivalentModifierMask"/>
253
+ <connections>
254
+ <action selector="lowercaseWord:" target="-1" id="iUZ-b5-hil"/>
255
+ </connections>
256
+ </menuItem>
257
+ <menuItem title="Capitalize" id="UEZ-Bs-lqG">
258
+ <modifierMask key="keyEquivalentModifierMask"/>
259
+ <connections>
260
+ <action selector="capitalizeWord:" target="-1" id="26H-TL-nsh"/>
261
+ </connections>
262
+ </menuItem>
263
+ </items>
264
+ </menu>
265
+ </menuItem>
266
+ <menuItem title="Speech" id="xrE-MZ-jX0">
267
+ <modifierMask key="keyEquivalentModifierMask"/>
268
+ <menu key="submenu" title="Speech" id="3rS-ZA-NoH">
269
+ <items>
270
+ <menuItem title="Start Speaking" id="Ynk-f8-cLZ">
271
+ <modifierMask key="keyEquivalentModifierMask"/>
272
+ <connections>
273
+ <action selector="startSpeaking:" target="-1" id="654-Ng-kyl"/>
274
+ </connections>
275
+ </menuItem>
276
+ <menuItem title="Stop Speaking" id="Oyz-dy-DGm">
277
+ <modifierMask key="keyEquivalentModifierMask"/>
278
+ <connections>
279
+ <action selector="stopSpeaking:" target="-1" id="dX8-6p-jy9"/>
280
+ </connections>
281
+ </menuItem>
282
+ </items>
283
+ </menu>
284
+ </menuItem>
285
+ </items>
286
+ </menu>
287
+ </menuItem>
288
+ <menuItem title="View" id="H8h-7b-M4v">
289
+ <modifierMask key="keyEquivalentModifierMask"/>
290
+ <menu key="submenu" title="View" id="HyV-fh-RgO">
291
+ <items>
292
+ <menuItem title="Enter Full Screen" keyEquivalent="f" id="4J7-dP-txa">
293
+ <modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/>
294
+ <connections>
295
+ <action selector="toggleFullScreen:" target="-1" id="dU3-MA-1Rq"/>
296
+ </connections>
297
+ </menuItem>
298
+ </items>
299
+ </menu>
300
+ </menuItem>
301
+ <menuItem title="Window" id="aUF-d1-5bR">
302
+ <modifierMask key="keyEquivalentModifierMask"/>
303
+ <menu key="submenu" title="Window" systemMenu="window" id="Td7-aD-5lo">
304
+ <items>
305
+ <menuItem title="Minimize" keyEquivalent="m" id="OY7-WF-poV">
306
+ <connections>
307
+ <action selector="performMiniaturize:" target="-1" id="VwT-WD-YPe"/>
308
+ </connections>
309
+ </menuItem>
310
+ <menuItem title="Zoom" id="R4o-n2-Eq4">
311
+ <modifierMask key="keyEquivalentModifierMask"/>
312
+ <connections>
313
+ <action selector="performZoom:" target="-1" id="DIl-cC-cCs"/>
314
+ </connections>
315
+ </menuItem>
316
+ <menuItem isSeparatorItem="YES" id="eu3-7i-yIM"/>
317
+ <menuItem title="Bring All to Front" id="LE2-aR-0XJ">
318
+ <modifierMask key="keyEquivalentModifierMask"/>
319
+ <connections>
320
+ <action selector="arrangeInFront:" target="-1" id="DRN-fu-gQh"/>
321
+ </connections>
322
+ </menuItem>
323
+ </items>
324
+ </menu>
325
+ </menuItem>
326
+ <menuItem title="Help" id="EPT-qC-fAb">
327
+ <modifierMask key="keyEquivalentModifierMask"/>
328
+ <menu key="submenu" title="Help" systemMenu="help" id="rJ0-wn-3NY"/>
329
+ </menuItem>
330
+ </items>
331
+ <point key="canvasLocation" x="142" y="-258"/>
332
+ </menu>
333
+ <window title="APP_NAME" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" animationBehavior="default" id="QvC-M9-y7g" customClass="MainFlutterWindow" customModule="Runner" customModuleProvider="target">
334
+ <windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
335
+ <rect key="contentRect" x="335" y="390" width="800" height="600"/>
336
+ <rect key="screenRect" x="0.0" y="0.0" width="2560" height="1577"/>
337
+ <view key="contentView" wantsLayer="YES" id="EiT-Mj-1SZ">
338
+ <rect key="frame" x="0.0" y="0.0" width="800" height="600"/>
339
+ <autoresizingMask key="autoresizingMask"/>
340
+ </view>
341
+ </window>
342
+ </objects>
343
+ </document>
@@ -0,0 +1,14 @@
1
+ // Application-level settings for the Runner target.
2
+ //
3
+ // This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the
4
+ // future. If not, the values below would default to using the project name when this becomes a
5
+ // 'flutter create' template.
6
+
7
+ // The application's name. By default this is also the title of the Flutter window.
8
+ PRODUCT_NAME = personal_finance_frontend_core_ui
9
+
10
+ // The application's bundle identifier
11
+ PRODUCT_BUNDLE_IDENTIFIER = com.example.personalFinanceFrontendCoreUi
12
+
13
+ // The copyright displayed in application information
14
+ PRODUCT_COPYRIGHT = Copyright © 2025 com.example. All rights reserved.
@@ -0,0 +1,2 @@
1
+ #include "../../Flutter/Flutter-Debug.xcconfig"
2
+ #include "Warnings.xcconfig"
@@ -0,0 +1,2 @@
1
+ #include "../../Flutter/Flutter-Release.xcconfig"
2
+ #include "Warnings.xcconfig"
@@ -0,0 +1,13 @@
1
+ WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings
2
+ GCC_WARN_UNDECLARED_SELECTOR = YES
3
+ CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES
4
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE
5
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES
6
+ CLANG_WARN_PRAGMA_PACK = YES
7
+ CLANG_WARN_STRICT_PROTOTYPES = YES
8
+ CLANG_WARN_COMMA = YES
9
+ GCC_WARN_STRICT_SELECTOR_MATCH = YES
10
+ CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES
11
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES
12
+ GCC_WARN_SHADOW = YES
13
+ CLANG_WARN_UNREACHABLE_CODE = YES
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>com.apple.security.app-sandbox</key>
6
+ <true/>
7
+ <key>com.apple.security.cs.allow-jit</key>
8
+ <true/>
9
+ <key>com.apple.security.network.server</key>
10
+ <true/>
11
+ </dict>
12
+ </plist>
@@ -0,0 +1,32 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>CFBundleDevelopmentRegion</key>
6
+ <string>$(DEVELOPMENT_LANGUAGE)</string>
7
+ <key>CFBundleExecutable</key>
8
+ <string>$(EXECUTABLE_NAME)</string>
9
+ <key>CFBundleIconFile</key>
10
+ <string></string>
11
+ <key>CFBundleIdentifier</key>
12
+ <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
13
+ <key>CFBundleInfoDictionaryVersion</key>
14
+ <string>6.0</string>
15
+ <key>CFBundleName</key>
16
+ <string>$(PRODUCT_NAME)</string>
17
+ <key>CFBundlePackageType</key>
18
+ <string>APPL</string>
19
+ <key>CFBundleShortVersionString</key>
20
+ <string>$(FLUTTER_BUILD_NAME)</string>
21
+ <key>CFBundleVersion</key>
22
+ <string>$(FLUTTER_BUILD_NUMBER)</string>
23
+ <key>LSMinimumSystemVersion</key>
24
+ <string>$(MACOSX_DEPLOYMENT_TARGET)</string>
25
+ <key>NSHumanReadableCopyright</key>
26
+ <string>$(PRODUCT_COPYRIGHT)</string>
27
+ <key>NSMainNibFile</key>
28
+ <string>MainMenu</string>
29
+ <key>NSPrincipalClass</key>
30
+ <string>NSApplication</string>
31
+ </dict>
32
+ </plist>
@@ -0,0 +1,15 @@
1
+ import Cocoa
2
+ import FlutterMacOS
3
+
4
+ class MainFlutterWindow: NSWindow {
5
+ override func awakeFromNib() {
6
+ let flutterViewController = FlutterViewController()
7
+ let windowFrame = self.frame
8
+ self.contentViewController = flutterViewController
9
+ self.setFrame(windowFrame, display: true)
10
+
11
+ RegisterGeneratedPlugins(registry: flutterViewController)
12
+
13
+ super.awakeFromNib()
14
+ }
15
+ }
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>com.apple.security.app-sandbox</key>
6
+ <true/>
7
+ </dict>
8
+ </plist>