ruflet 0.0.8 → 0.0.9
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.
- checksums.yaml +4 -4
- data/bin/ruflet +6 -0
- data/lib/ruflet/cli/build_command.rb +372 -0
- data/lib/ruflet/cli/extra_command.rb +146 -0
- data/lib/ruflet/cli/flutter_sdk.rb +359 -0
- data/lib/ruflet/cli/new_command.rb +221 -0
- data/lib/ruflet/cli/run_command.rb +699 -0
- data/lib/ruflet/cli/templates.rb +68 -0
- data/lib/ruflet/cli/update_command.rb +111 -0
- data/lib/ruflet/cli.rb +85 -0
- data/lib/ruflet/version.rb +1 -1
- data/lib/ruflet_cli.rb +3 -0
- metadata +59 -209
- data/lib/ruflet.rb +0 -40
- data/lib/ruflet_protocol/ruflet/protocol.rb +0 -62
- data/lib/ruflet_protocol.rb +0 -4
- data/lib/ruflet_ui/ruflet/app.rb +0 -27
- data/lib/ruflet_ui/ruflet/colors.rb +0 -234
- data/lib/ruflet_ui/ruflet/control.rb +0 -281
- data/lib/ruflet_ui/ruflet/dsl.rb +0 -291
- data/lib/ruflet_ui/ruflet/event.rb +0 -42
- data/lib/ruflet_ui/ruflet/events/gesture_events.rb +0 -552
- data/lib/ruflet_ui/ruflet/icon_data.rb +0 -62
- data/lib/ruflet_ui/ruflet/icons/cupertino/cupertino_icons.rb +0 -54
- data/lib/ruflet_ui/ruflet/icons/cupertino_icon_lookup.rb +0 -112
- data/lib/ruflet_ui/ruflet/icons/material_icon_lookup.rb +0 -112
- data/lib/ruflet_ui/ruflet/icons/material_icons.rb +0 -55
- data/lib/ruflet_ui/ruflet/page.rb +0 -1222
- data/lib/ruflet_ui/ruflet/types/geometry.rb +0 -65
- data/lib/ruflet_ui/ruflet/types/text_style.rb +0 -191
- data/lib/ruflet_ui/ruflet/ui/control_factory.rb +0 -53
- data/lib/ruflet_ui/ruflet/ui/control_methods.rb +0 -17
- data/lib/ruflet_ui/ruflet/ui/control_registry.rb +0 -33
- data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinoactionsheet_control.rb +0 -57
- data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinoactionsheetaction_control.rb +0 -58
- data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinoactivityindicator_control.rb +0 -57
- data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinoalertdialog_control.rb +0 -39
- data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinoappbar_control.rb +0 -44
- data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinobottomsheet_control.rb +0 -38
- data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinobutton_control.rb +0 -73
- data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinocheckbox_control.rb +0 -70
- data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinocontextmenu_control.rb +0 -34
- data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinocontextmenuaction_control.rb +0 -36
- data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinodatepicker_control.rb +0 -67
- data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinodialogaction_control.rb +0 -35
- data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinofilledbutton_control.rb +0 -73
- data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinolisttile_control.rb +0 -67
- data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinonavigationbar_control.rb +0 -61
- data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinopicker_control.rb +0 -66
- data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinoradio_control.rb +0 -66
- data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinosegmentedbutton_control.rb +0 -63
- data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinoslider_control.rb +0 -64
- data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinoslidingsegmentedbutton_control.rb +0 -60
- data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinoswitch_control.rb +0 -73
- data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinotextfield_control.rb +0 -159
- data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinotimerpicker_control.rb +0 -61
- data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/cupertinotintedbutton_control.rb +0 -73
- data/lib/ruflet_ui/ruflet/ui/controls/cupertinos/ruflet_controls.rb +0 -89
- data/lib/ruflet_ui/ruflet/ui/controls/materials/alertdialog_control.rb +0 -58
- data/lib/ruflet_ui/ruflet/ui/controls/materials/appbar_control.rb +0 -53
- data/lib/ruflet_ui/ruflet/ui/controls/materials/audio_control.rb +0 -36
- data/lib/ruflet_ui/ruflet/ui/controls/materials/autocomplete_control.rb +0 -58
- data/lib/ruflet_ui/ruflet/ui/controls/materials/badge_control.rb +0 -31
- data/lib/ruflet_ui/ruflet/ui/controls/materials/banner_control.rb +0 -47
- data/lib/ruflet_ui/ruflet/ui/controls/materials/bottomappbar_control.rb +0 -62
- data/lib/ruflet_ui/ruflet/ui/controls/materials/bottomsheet_control.rb +0 -48
- data/lib/ruflet_ui/ruflet/ui/controls/materials/button_control.rb +0 -69
- data/lib/ruflet_ui/ruflet/ui/controls/materials/card_control.rb +0 -63
- data/lib/ruflet_ui/ruflet/ui/controls/materials/chart_controls.rb +0 -321
- data/lib/ruflet_ui/ruflet/ui/controls/materials/checkbox_control.rb +0 -76
- data/lib/ruflet_ui/ruflet/ui/controls/materials/chip_control.rb +0 -88
- data/lib/ruflet_ui/ruflet/ui/controls/materials/circleavatar_control.rb +0 -62
- data/lib/ruflet_ui/ruflet/ui/controls/materials/container_control.rb +0 -81
- data/lib/ruflet_ui/ruflet/ui/controls/materials/contextmenu_control.rb +0 -63
- data/lib/ruflet_ui/ruflet/ui/controls/materials/datacell_control.rb +0 -38
- data/lib/ruflet_ui/ruflet/ui/controls/materials/datacolumn_control.rb +0 -34
- data/lib/ruflet_ui/ruflet/ui/controls/materials/datarow_control.rb +0 -35
- data/lib/ruflet_ui/ruflet/ui/controls/materials/datatable_control.rb +0 -78
- data/lib/ruflet_ui/ruflet/ui/controls/materials/datepicker_control.rb +0 -55
- data/lib/ruflet_ui/ruflet/ui/controls/materials/daterangepicker_control.rb +0 -57
- data/lib/ruflet_ui/ruflet/ui/controls/materials/divider_control.rb +0 -36
- data/lib/ruflet_ui/ruflet/ui/controls/materials/dropdown_control.rb +0 -99
- data/lib/ruflet_ui/ruflet/ui/controls/materials/dropdownm2_control.rb +0 -119
- data/lib/ruflet_ui/ruflet/ui/controls/materials/dropdownoption_control.rb +0 -35
- data/lib/ruflet_ui/ruflet/ui/controls/materials/expansionpanel_control.rb +0 -61
- data/lib/ruflet_ui/ruflet/ui/controls/materials/expansionpanellist_control.rb +0 -60
- data/lib/ruflet_ui/ruflet/ui/controls/materials/expansiontile_control.rb +0 -82
- data/lib/ruflet_ui/ruflet/ui/controls/materials/filledbutton_control.rb +0 -69
- data/lib/ruflet_ui/ruflet/ui/controls/materials/fillediconbutton_control.rb +0 -81
- data/lib/ruflet_ui/ruflet/ui/controls/materials/filledtonalbutton_control.rb +0 -69
- data/lib/ruflet_ui/ruflet/ui/controls/materials/filledtonaliconbutton_control.rb +0 -81
- data/lib/ruflet_ui/ruflet/ui/controls/materials/floatingactionbutton_control.rb +0 -73
- data/lib/ruflet_ui/ruflet/ui/controls/materials/iconbutton_control.rb +0 -81
- data/lib/ruflet_ui/ruflet/ui/controls/materials/listtile_control.rb +0 -87
- data/lib/ruflet_ui/ruflet/ui/controls/materials/menubar_control.rb +0 -33
- data/lib/ruflet_ui/ruflet/ui/controls/materials/menuitembutton_control.rb +0 -67
- data/lib/ruflet_ui/ruflet/ui/controls/materials/navigationbar_control.rb +0 -67
- data/lib/ruflet_ui/ruflet/ui/controls/materials/navigationbardestination_control.rb +0 -35
- data/lib/ruflet_ui/ruflet/ui/controls/materials/navigationdrawer_control.rb +0 -41
- data/lib/ruflet_ui/ruflet/ui/controls/materials/navigationdrawerdestination_control.rb +0 -34
- data/lib/ruflet_ui/ruflet/ui/controls/materials/navigationrail_control.rb +0 -70
- data/lib/ruflet_ui/ruflet/ui/controls/materials/navigationraildestination_control.rb +0 -36
- data/lib/ruflet_ui/ruflet/ui/controls/materials/option_control.rb +0 -35
- data/lib/ruflet_ui/ruflet/ui/controls/materials/outlinedbutton_control.rb +0 -66
- data/lib/ruflet_ui/ruflet/ui/controls/materials/outlinediconbutton_control.rb +0 -81
- data/lib/ruflet_ui/ruflet/ui/controls/materials/popupmenubutton_control.rb +0 -74
- data/lib/ruflet_ui/ruflet/ui/controls/materials/popupmenuitem_control.rb +0 -38
- data/lib/ruflet_ui/ruflet/ui/controls/materials/progressbar_control.rb +0 -64
- data/lib/ruflet_ui/ruflet/ui/controls/materials/progressring_control.rb +0 -65
- data/lib/ruflet_ui/ruflet/ui/controls/materials/radio_control.rb +0 -70
- data/lib/ruflet_ui/ruflet/ui/controls/materials/radiogroup_control.rb +0 -33
- data/lib/ruflet_ui/ruflet/ui/controls/materials/rangeslider_control.rb +0 -67
- data/lib/ruflet_ui/ruflet/ui/controls/materials/reorderablelistview_control.rb +0 -80
- data/lib/ruflet_ui/ruflet/ui/controls/materials/ruflet_controls.rb +0 -252
- data/lib/ruflet_ui/ruflet/ui/controls/materials/searchbar_control.rb +0 -94
- data/lib/ruflet_ui/ruflet/ui/controls/materials/segment_control.rb +0 -33
- data/lib/ruflet_ui/ruflet/ui/controls/materials/segmentedbutton_control.rb +0 -63
- data/lib/ruflet_ui/ruflet/ui/controls/materials/selectionarea_control.rb +0 -32
- data/lib/ruflet_ui/ruflet/ui/controls/materials/slider_control.rb +0 -76
- data/lib/ruflet_ui/ruflet/ui/controls/materials/snackbar_control.rb +0 -51
- data/lib/ruflet_ui/ruflet/ui/controls/materials/submenubutton_control.rb +0 -66
- data/lib/ruflet_ui/ruflet/ui/controls/materials/switch_control.rb +0 -77
- data/lib/ruflet_ui/ruflet/ui/controls/materials/tab_control.rb +0 -35
- data/lib/ruflet_ui/ruflet/ui/controls/materials/tabbar_control.rb +0 -77
- data/lib/ruflet_ui/ruflet/ui/controls/materials/tabbarview_control.rb +0 -57
- data/lib/ruflet_ui/ruflet/ui/controls/materials/tabs_control.rb +0 -59
- data/lib/ruflet_ui/ruflet/ui/controls/materials/textbutton_control.rb +0 -66
- data/lib/ruflet_ui/ruflet/ui/controls/materials/textfield_control.rb +0 -148
- data/lib/ruflet_ui/ruflet/ui/controls/materials/timepicker_control.rb +0 -50
- data/lib/ruflet_ui/ruflet/ui/controls/materials/verticaldivider_control.rb +0 -36
- data/lib/ruflet_ui/ruflet/ui/controls/materials/video_control.rb +0 -39
- data/lib/ruflet_ui/ruflet/ui/controls/materials/webview_control.rb +0 -35
- data/lib/ruflet_ui/ruflet/ui/controls/ruflet_controls.rb +0 -447
- data/lib/ruflet_ui/ruflet/ui/controls/shared/animatedswitcher_control.rb +0 -59
- data/lib/ruflet_ui/ruflet/ui/controls/shared/arc_control.rb +0 -29
- data/lib/ruflet_ui/ruflet/ui/controls/shared/autofillgroup_control.rb +0 -32
- data/lib/ruflet_ui/ruflet/ui/controls/shared/basepage_control.rb +0 -44
- data/lib/ruflet_ui/ruflet/ui/controls/shared/browsercontextmenu_control.rb +0 -21
- data/lib/ruflet_ui/ruflet/ui/controls/shared/canvas_control.rb +0 -57
- data/lib/ruflet_ui/ruflet/ui/controls/shared/circle_control.rb +0 -25
- data/lib/ruflet_ui/ruflet/ui/controls/shared/color_control.rb +0 -23
- data/lib/ruflet_ui/ruflet/ui/controls/shared/column_control.rb +0 -67
- data/lib/ruflet_ui/ruflet/ui/controls/shared/dialogs_control.rb +0 -22
- data/lib/ruflet_ui/ruflet/ui/controls/shared/dismissible_control.rb +0 -66
- data/lib/ruflet_ui/ruflet/ui/controls/shared/draggable_control.rb +0 -39
- data/lib/ruflet_ui/ruflet/ui/controls/shared/dragtarget_control.rb +0 -36
- data/lib/ruflet_ui/ruflet/ui/controls/shared/fill_control.rb +0 -22
- data/lib/ruflet_ui/ruflet/ui/controls/shared/fletapp_control.rb +0 -62
- data/lib/ruflet_ui/ruflet/ui/controls/shared/gesturedetector_control.rb +0 -129
- data/lib/ruflet_ui/ruflet/ui/controls/shared/gridview_control.rb +0 -71
- data/lib/ruflet_ui/ruflet/ui/controls/shared/hero_control.rb +0 -56
- data/lib/ruflet_ui/ruflet/ui/controls/shared/icon_control.rb +0 -64
- data/lib/ruflet_ui/ruflet/ui/controls/shared/image_control.rb +0 -27
- data/lib/ruflet_ui/ruflet/ui/controls/shared/interactiveviewer_control.rb +0 -69
- data/lib/ruflet_ui/ruflet/ui/controls/shared/keyboardlistener_control.rb +0 -36
- data/lib/ruflet_ui/ruflet/ui/controls/shared/line_control.rb +0 -26
- data/lib/ruflet_ui/ruflet/ui/controls/shared/listview_control.rb +0 -71
- data/lib/ruflet_ui/ruflet/ui/controls/shared/markdown_control.rb +0 -70
- data/lib/ruflet_ui/ruflet/ui/controls/shared/mergesemantics_control.rb +0 -31
- data/lib/ruflet_ui/ruflet/ui/controls/shared/oval_control.rb +0 -26
- data/lib/ruflet_ui/ruflet/ui/controls/shared/overlay_control.rb +0 -22
- data/lib/ruflet_ui/ruflet/ui/controls/shared/page_control.rb +0 -74
- data/lib/ruflet_ui/ruflet/ui/controls/shared/pagelet_control.rb +0 -64
- data/lib/ruflet_ui/ruflet/ui/controls/shared/pageview_control.rb +0 -64
- data/lib/ruflet_ui/ruflet/ui/controls/shared/path_control.rb +0 -23
- data/lib/ruflet_ui/ruflet/ui/controls/shared/placeholder_control.rb +0 -58
- data/lib/ruflet_ui/ruflet/ui/controls/shared/points_control.rb +0 -24
- data/lib/ruflet_ui/ruflet/ui/controls/shared/rect_control.rb +0 -27
- data/lib/ruflet_ui/ruflet/ui/controls/shared/reorderabledraghandle_control.rb +0 -56
- data/lib/ruflet_ui/ruflet/ui/controls/shared/responsiverow_control.rb +0 -61
- data/lib/ruflet_ui/ruflet/ui/controls/shared/row_control.rb +0 -67
- data/lib/ruflet_ui/ruflet/ui/controls/shared/ruflet_controls.rb +0 -140
- data/lib/ruflet_ui/ruflet/ui/controls/shared/safearea_control.rb +0 -61
- data/lib/ruflet_ui/ruflet/ui/controls/shared/semantics_control.rb +0 -79
- data/lib/ruflet_ui/ruflet/ui/controls/shared/serviceregistry_control.rb +0 -21
- data/lib/ruflet_ui/ruflet/ui/controls/shared/shadermask_control.rb +0 -57
- data/lib/ruflet_ui/ruflet/ui/controls/shared/shadow_control.rb +0 -25
- data/lib/ruflet_ui/ruflet/ui/controls/shared/shimmer_control.rb +0 -60
- data/lib/ruflet_ui/ruflet/ui/controls/shared/stack_control.rb +0 -58
- data/lib/ruflet_ui/ruflet/ui/controls/shared/text_control.rb +0 -32
- data/lib/ruflet_ui/ruflet/ui/controls/shared/textspan_control.rb +0 -39
- data/lib/ruflet_ui/ruflet/ui/controls/shared/transparentpointer_control.rb +0 -54
- data/lib/ruflet_ui/ruflet/ui/controls/shared/view_control.rb +0 -77
- data/lib/ruflet_ui/ruflet/ui/controls/shared/window_control.rb +0 -56
- data/lib/ruflet_ui/ruflet/ui/controls/shared/windowdragarea_control.rb +0 -58
- data/lib/ruflet_ui/ruflet/ui/cupertino_control_factory.rb +0 -13
- data/lib/ruflet_ui/ruflet/ui/cupertino_control_methods.rb +0 -26
- data/lib/ruflet_ui/ruflet/ui/cupertino_control_registry.rb +0 -49
- data/lib/ruflet_ui/ruflet/ui/material_control_factory.rb +0 -13
- data/lib/ruflet_ui/ruflet/ui/material_control_methods.rb +0 -170
- data/lib/ruflet_ui/ruflet/ui/material_control_registry.rb +0 -168
- data/lib/ruflet_ui/ruflet/ui/services/ruflet/accelerometer_control.rb +0 -26
- data/lib/ruflet_ui/ruflet/ui/services/ruflet/barometer_control.rb +0 -26
- data/lib/ruflet_ui/ruflet/ui/services/ruflet/battery_control.rb +0 -22
- data/lib/ruflet_ui/ruflet/ui/services/ruflet/camera_control.rb +0 -58
- data/lib/ruflet_ui/ruflet/ui/services/ruflet/clipboard_control.rb +0 -21
- data/lib/ruflet_ui/ruflet/ui/services/ruflet/connectivity_control.rb +0 -22
- data/lib/ruflet_ui/ruflet/ui/services/ruflet/filepicker_control.rb +0 -23
- data/lib/ruflet_ui/ruflet/ui/services/ruflet/flashlight_control.rb +0 -22
- data/lib/ruflet_ui/ruflet/ui/services/ruflet/gyroscope_control.rb +0 -26
- data/lib/ruflet_ui/ruflet/ui/services/ruflet/hapticfeedback_control.rb +0 -21
- data/lib/ruflet_ui/ruflet/ui/services/ruflet/magnetometer_control.rb +0 -26
- data/lib/ruflet_ui/ruflet/ui/services/ruflet/screenbrightness_control.rb +0 -23
- data/lib/ruflet_ui/ruflet/ui/services/ruflet/screenshot_control.rb +0 -31
- data/lib/ruflet_ui/ruflet/ui/services/ruflet/semanticsservice_control.rb +0 -21
- data/lib/ruflet_ui/ruflet/ui/services/ruflet/shakedetector_control.rb +0 -26
- data/lib/ruflet_ui/ruflet/ui/services/ruflet/share_control.rb +0 -21
- data/lib/ruflet_ui/ruflet/ui/services/ruflet/sharedpreferences_control.rb +0 -21
- data/lib/ruflet_ui/ruflet/ui/services/ruflet/storagepaths_control.rb +0 -21
- data/lib/ruflet_ui/ruflet/ui/services/ruflet/urllauncher_control.rb +0 -21
- data/lib/ruflet_ui/ruflet/ui/services/ruflet/useraccelerometer_control.rb +0 -26
- data/lib/ruflet_ui/ruflet/ui/services/ruflet/wakelock_control.rb +0 -21
- data/lib/ruflet_ui/ruflet/ui/services/ruflet_services.rb +0 -66
- data/lib/ruflet_ui/ruflet/ui/shared_control_forwarders.rb +0 -129
- data/lib/ruflet_ui/ruflet/ui/widget_builder.rb +0 -64
- data/lib/ruflet_ui.rb +0 -124
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Ruflet
|
|
4
|
-
module CupertinoIconLookup
|
|
5
|
-
module_function
|
|
6
|
-
|
|
7
|
-
def codepoint_for(value)
|
|
8
|
-
return value if value.is_a?(Integer)
|
|
9
|
-
|
|
10
|
-
text = value.to_s.strip
|
|
11
|
-
return nil if text.empty?
|
|
12
|
-
|
|
13
|
-
numeric = parse_numeric(text)
|
|
14
|
-
return numeric unless numeric.nil?
|
|
15
|
-
|
|
16
|
-
icons = icon_map
|
|
17
|
-
candidate_names(text).each do |name|
|
|
18
|
-
codepoint = icons[name]
|
|
19
|
-
return codepoint unless codepoint.nil?
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
nil
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
def fallback_codepoint
|
|
26
|
-
icons = icon_map
|
|
27
|
-
icons["QUESTION_CIRCLE"] || icons["QUESTION"] || 0
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
def icon_map
|
|
31
|
-
@icon_map ||= load_icon_map
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
def candidate_names(name)
|
|
35
|
-
raw = name.to_s.strip
|
|
36
|
-
return [] if raw.empty?
|
|
37
|
-
|
|
38
|
-
underscored = raw.gsub(/\s+|-/, "_").downcase
|
|
39
|
-
stripped = underscored.sub(/\Acupertinoicons\./i, "")
|
|
40
|
-
upper = stripped.upcase
|
|
41
|
-
|
|
42
|
-
[raw, raw.upcase, underscored, stripped, upper].uniq
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
def parse_numeric(text)
|
|
46
|
-
return text.to_i(16) if text.match?(/\A0x[0-9a-fA-F]+\z/)
|
|
47
|
-
return text.to_i if text.match?(/\A\d+\z/)
|
|
48
|
-
|
|
49
|
-
nil
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
def load_icon_map
|
|
53
|
-
path = flet_cupertino_icons_json_file
|
|
54
|
-
if path && File.file?(path)
|
|
55
|
-
return parse_icons_json(path)
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
dart_list = flet_cupertino_icons_dart_file
|
|
59
|
-
if dart_list && File.file?(dart_list)
|
|
60
|
-
return parse_flet_icons_dart(dart_list, icon_prefix: "CupertinoIcons.", set_id: 2)
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
{}
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
def flet_cupertino_icons_json_file
|
|
67
|
-
candidate_from_flet_checkout("sdk/python/packages/flet/src/flet/controls/cupertino/cupertino_icons.json")
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
def flet_cupertino_icons_dart_file
|
|
71
|
-
candidate_from_flet_checkout("packages/flet/lib/src/utils/cupertino_icons.dart")
|
|
72
|
-
end
|
|
73
|
-
|
|
74
|
-
def candidate_from_flet_checkout(relative_path)
|
|
75
|
-
flet_root = File.join(Dir.home, ".pub-cache", "git")
|
|
76
|
-
return nil unless Dir.exist?(flet_root)
|
|
77
|
-
|
|
78
|
-
entries = Dir.children(flet_root).select { |e| e.start_with?("flet-") }
|
|
79
|
-
return nil if entries.empty?
|
|
80
|
-
|
|
81
|
-
candidates = entries.map { |e| File.join(flet_root, e, relative_path) }.select { |p| File.file?(p) }
|
|
82
|
-
return nil if candidates.empty?
|
|
83
|
-
|
|
84
|
-
candidates.max_by { |p| File.mtime(p) rescue Time.at(0) }
|
|
85
|
-
end
|
|
86
|
-
|
|
87
|
-
def parse_icons_json(path)
|
|
88
|
-
require "json"
|
|
89
|
-
parsed = JSON.parse(File.read(path))
|
|
90
|
-
parsed.each_with_object({}) do |(k, v), out|
|
|
91
|
-
out[k.to_s.upcase] = v.to_i
|
|
92
|
-
end
|
|
93
|
-
end
|
|
94
|
-
|
|
95
|
-
def parse_flet_icons_dart(path, icon_prefix:, set_id:)
|
|
96
|
-
mapping = {}
|
|
97
|
-
index = 0
|
|
98
|
-
pattern = /^\s*#{Regexp.escape(icon_prefix)}([a-zA-Z0-9_]+),/
|
|
99
|
-
|
|
100
|
-
File.foreach(path) do |line|
|
|
101
|
-
next unless (match = line.match(pattern))
|
|
102
|
-
|
|
103
|
-
encoded = (set_id << 16) | index
|
|
104
|
-
mapping[match[1].upcase] = encoded
|
|
105
|
-
index += 1
|
|
106
|
-
end
|
|
107
|
-
|
|
108
|
-
mapping
|
|
109
|
-
end
|
|
110
|
-
|
|
111
|
-
end
|
|
112
|
-
end
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Ruflet
|
|
4
|
-
module MaterialIconLookup
|
|
5
|
-
module_function
|
|
6
|
-
|
|
7
|
-
def codepoint_for(value)
|
|
8
|
-
return value if value.is_a?(Integer)
|
|
9
|
-
|
|
10
|
-
text = value.to_s.strip
|
|
11
|
-
return nil if text.empty?
|
|
12
|
-
|
|
13
|
-
numeric = parse_numeric(text)
|
|
14
|
-
return numeric unless numeric.nil?
|
|
15
|
-
|
|
16
|
-
icons = icon_map
|
|
17
|
-
candidate_names(text).each do |name|
|
|
18
|
-
codepoint = icons[name]
|
|
19
|
-
return codepoint unless codepoint.nil?
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
nil
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
def fallback_codepoint
|
|
26
|
-
icons = icon_map
|
|
27
|
-
icons["HELP_OUTLINE"] || icons["HELP"] || icons["QUESTION_MARK"] || 0
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
def icon_map
|
|
31
|
-
@icon_map ||= load_icon_map
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
def candidate_names(name)
|
|
35
|
-
raw = name.to_s.strip
|
|
36
|
-
return [] if raw.empty?
|
|
37
|
-
|
|
38
|
-
underscored = raw.gsub(/\s+|-/, "_").downcase
|
|
39
|
-
stripped = underscored.sub(/\Aicons\./, "")
|
|
40
|
-
upper = stripped.upcase
|
|
41
|
-
|
|
42
|
-
[raw, raw.upcase, underscored, stripped, upper].uniq
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
def parse_numeric(text)
|
|
46
|
-
return text.to_i(16) if text.match?(/\A0x[0-9a-fA-F]+\z/)
|
|
47
|
-
return text.to_i if text.match?(/\A\d+\z/)
|
|
48
|
-
|
|
49
|
-
nil
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
def load_icon_map
|
|
53
|
-
path = flet_material_icons_json_file
|
|
54
|
-
if path && File.file?(path)
|
|
55
|
-
return parse_icons_json(path)
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
dart_list = flet_material_icons_dart_file
|
|
59
|
-
if dart_list && File.file?(dart_list)
|
|
60
|
-
return parse_flet_icons_dart(dart_list, icon_prefix: "Icons.", set_id: 1)
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
{}
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
def flet_material_icons_json_file
|
|
67
|
-
candidate_from_flet_checkout("sdk/python/packages/flet/src/flet/controls/material/icons.json")
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
def flet_material_icons_dart_file
|
|
71
|
-
candidate_from_flet_checkout("packages/flet/lib/src/utils/material_icons.dart")
|
|
72
|
-
end
|
|
73
|
-
|
|
74
|
-
def candidate_from_flet_checkout(relative_path)
|
|
75
|
-
flet_root = File.join(Dir.home, ".pub-cache", "git")
|
|
76
|
-
return nil unless Dir.exist?(flet_root)
|
|
77
|
-
|
|
78
|
-
entries = Dir.children(flet_root).select { |e| e.start_with?("flet-") }
|
|
79
|
-
return nil if entries.empty?
|
|
80
|
-
|
|
81
|
-
candidates = entries.map { |e| File.join(flet_root, e, relative_path) }.select { |p| File.file?(p) }
|
|
82
|
-
return nil if candidates.empty?
|
|
83
|
-
|
|
84
|
-
candidates.max_by { |p| File.mtime(p) rescue Time.at(0) }
|
|
85
|
-
end
|
|
86
|
-
|
|
87
|
-
def parse_icons_json(path)
|
|
88
|
-
require "json"
|
|
89
|
-
parsed = JSON.parse(File.read(path))
|
|
90
|
-
parsed.each_with_object({}) do |(k, v), out|
|
|
91
|
-
out[k.to_s.upcase] = v.to_i
|
|
92
|
-
end
|
|
93
|
-
end
|
|
94
|
-
|
|
95
|
-
def parse_flet_icons_dart(path, icon_prefix:, set_id:)
|
|
96
|
-
mapping = {}
|
|
97
|
-
index = 0
|
|
98
|
-
pattern = /^\s*#{Regexp.escape(icon_prefix)}([a-zA-Z0-9_]+),/
|
|
99
|
-
|
|
100
|
-
File.foreach(path) do |line|
|
|
101
|
-
next unless (match = line.match(pattern))
|
|
102
|
-
|
|
103
|
-
encoded = (set_id << 16) | index
|
|
104
|
-
mapping[match[1].upcase] = encoded
|
|
105
|
-
index += 1
|
|
106
|
-
end
|
|
107
|
-
|
|
108
|
-
mapping
|
|
109
|
-
end
|
|
110
|
-
|
|
111
|
-
end
|
|
112
|
-
end
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require_relative "../icon_data"
|
|
4
|
-
require_relative "material_icon_lookup"
|
|
5
|
-
|
|
6
|
-
module Ruflet
|
|
7
|
-
module MaterialIcons
|
|
8
|
-
module_function
|
|
9
|
-
|
|
10
|
-
ICONS = begin
|
|
11
|
-
source = Ruflet::MaterialIconLookup.icon_map
|
|
12
|
-
if source.empty?
|
|
13
|
-
{
|
|
14
|
-
HOME: "home",
|
|
15
|
-
SETTINGS: "settings",
|
|
16
|
-
SEARCH: "search",
|
|
17
|
-
ADD: "add",
|
|
18
|
-
CLOSE: "close"
|
|
19
|
-
}
|
|
20
|
-
else
|
|
21
|
-
source.keys.each_with_object({}) do |name, result|
|
|
22
|
-
text = name.to_s.gsub(/[^a-zA-Z0-9]/, "_").gsub(/_+/, "_").sub(/\A_/, "").sub(/_\z/, "")
|
|
23
|
-
text = "ICON_#{text}" if text.match?(/\A\d/)
|
|
24
|
-
result[text.upcase.to_sym] = name
|
|
25
|
-
end
|
|
26
|
-
end.freeze
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
ICONS.each do |const_name, icon_name|
|
|
30
|
-
next if const_defined?(const_name, false)
|
|
31
|
-
|
|
32
|
-
const_set(const_name, Ruflet::IconData.new(icon_name))
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
def [](name)
|
|
36
|
-
key = name.to_s.upcase.to_sym
|
|
37
|
-
return const_get(key) if const_defined?(key, false)
|
|
38
|
-
|
|
39
|
-
Ruflet::IconData.new(name.to_s)
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
def all
|
|
43
|
-
ICONS.keys.map { |k| const_get(k) }
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
def random
|
|
47
|
-
all.sample || Ruflet::IconData.new(Ruflet::MaterialIconLookup.fallback_codepoint)
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
def names
|
|
51
|
-
ICONS.values
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
end
|
|
55
|
-
end
|