neon_sakura 0.1.4
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 +7 -0
- data/.ai-reviewer/README.md +182 -0
- data/.ai-reviewer/ai-reviewer.sh +56 -0
- data/.ai-reviewer/build-system-prompt.sh +136 -0
- data/.ai-reviewer/extract-claude-sections.sh +32 -0
- data/.ai-reviewer/test-ai-reviewer.sh +40 -0
- data/.ai-reviewer-config.yml +190 -0
- data/.github/dependabot.yml +12 -0
- data/.github/settings.yml +70 -0
- data/.github/workflows/ai-pr-review-on-comment.yml +384 -0
- data/.github/workflows/ai-pr-review.yml +328 -0
- data/.github/workflows/license-check.yml +78 -0
- data/.github/workflows/lint.yml +79 -0
- data/.github/workflows/security.yml +131 -0
- data/.github/workflows/semgrep.yml +26 -0
- data/.github/workflows/test.yml +44 -0
- data/.gitignore +75 -0
- data/.rubocop.yml +33 -0
- data/.ruby-version +1 -0
- data/.simplecov +14 -0
- data/.stylelintignore +10 -0
- data/.stylelintrc.json +37 -0
- data/AGENTS.md +51 -0
- data/CHANGELOG.md +568 -0
- data/CLAUDE.md +632 -0
- data/Gemfile +8 -0
- data/Gemfile.lock +327 -0
- data/LICENSE +21 -0
- data/README.md +1209 -0
- data/Rakefile +25 -0
- data/app/assets/images/cherry_blossom.svg +1525 -0
- data/app/assets/images/cherry_blossom_tree.png +0 -0
- data/app/assets/images/prysm-icon.png +0 -0
- data/app/assets/stylesheets/base.css +29 -0
- data/app/assets/stylesheets/components.css +1652 -0
- data/app/assets/stylesheets/forms.css +152 -0
- data/app/assets/stylesheets/loading.css +145 -0
- data/app/assets/stylesheets/neon_sakura.css +40 -0
- data/app/assets/stylesheets/pagy-tailwind.css +120 -0
- data/app/assets/stylesheets/theme-default.css +40 -0
- data/app/assets/stylesheets/theme-green.css +84 -0
- data/app/assets/stylesheets/theme-purple.css +94 -0
- data/app/assets/stylesheets/theme-red.css +84 -0
- data/app/assets/stylesheets/utility-borders.css +29 -0
- data/app/assets/stylesheets/utility-colors.css +185 -0
- data/app/assets/stylesheets/utility-effects.css +123 -0
- data/app/assets/stylesheets/utility-gradients.css +158 -0
- data/app/assets/stylesheets/utility-layout.css +132 -0
- data/app/assets/stylesheets/utility-reset.css +13 -0
- data/app/assets/stylesheets/utility-responsive.css +145 -0
- data/app/assets/stylesheets/utility-sizing.css +99 -0
- data/app/assets/stylesheets/utility-spacing.css +174 -0
- data/app/assets/stylesheets/utility-typography.css +97 -0
- data/app/controllers/errors_controller.rb +120 -0
- data/app/controllers/style_guide_controller.rb +117 -0
- data/app/helpers/errors_helper.rb +12 -0
- data/app/helpers/neon_sakura/navbar_helper.rb +43 -0
- data/app/helpers/style_guide_helper.rb +36 -0
- data/app/javascript/neon_sakura/dropdown.js +22 -0
- data/app/javascript/neon_sakura/navbar.js +71 -0
- data/app/javascript/neon_sakura/theme_switcher.js +187 -0
- data/app/views/errors/show.html.erb +105 -0
- data/app/views/layouts/error.html.erb +19 -0
- data/app/views/layouts/mission_control/jobs/_application_selection.html.erb +14 -0
- data/app/views/layouts/mission_control/jobs/_navigation.html.erb +21 -0
- data/app/views/layouts/mission_control/jobs/application.html.erb +453 -0
- data/app/views/layouts/style_guide.html.erb +416 -0
- data/app/views/shared/_file_upload.html.erb +184 -0
- data/app/views/shared/_footer.html.erb +23 -0
- data/app/views/shared/_header.html.erb +42 -0
- data/app/views/shared/_navbar.html.erb +306 -0
- data/app/views/shared/_profile_image_selector.html.erb +165 -0
- data/app/views/shared/_theme_switcher.html.erb +64 -0
- data/app/views/shared/icons/_adjustments.html.erb +10 -0
- data/app/views/shared/icons/_alert_circle.html.erb +3 -0
- data/app/views/shared/icons/_alert_triangle.html.erb +3 -0
- data/app/views/shared/icons/_archive.html.erb +3 -0
- data/app/views/shared/icons/_arrow_down.html.erb +3 -0
- data/app/views/shared/icons/_arrow_left.html.erb +3 -0
- data/app/views/shared/icons/_arrow_up.html.erb +3 -0
- data/app/views/shared/icons/_arrows_pointing_in.html.erb +10 -0
- data/app/views/shared/icons/_arrows_pointing_out.html.erb +10 -0
- data/app/views/shared/icons/_artemis_logo.html.erb +26 -0
- data/app/views/shared/icons/_auth_banner.html.erb +1 -0
- data/app/views/shared/icons/_bars.html.erb +10 -0
- data/app/views/shared/icons/_bell.html.erb +3 -0
- data/app/views/shared/icons/_book.html.erb +3 -0
- data/app/views/shared/icons/_bookmark.html.erb +3 -0
- data/app/views/shared/icons/_box.html.erb +3 -0
- data/app/views/shared/icons/_brain.html.erb +3 -0
- data/app/views/shared/icons/_briefcase.html.erb +3 -0
- data/app/views/shared/icons/_calendar.html.erb +3 -0
- data/app/views/shared/icons/_camera.html.erb +4 -0
- data/app/views/shared/icons/_chart_bar.html.erb +3 -0
- data/app/views/shared/icons/_chart_line.html.erb +10 -0
- data/app/views/shared/icons/_chart_pie.html.erb +11 -0
- data/app/views/shared/icons/_chat.html.erb +3 -0
- data/app/views/shared/icons/_check.html.erb +3 -0
- data/app/views/shared/icons/_check_circle.html.erb +3 -0
- data/app/views/shared/icons/_cherry_blossom.html.erb +1516 -0
- data/app/views/shared/icons/_cherry_blossom_silhouette.html.erb +1016 -0
- data/app/views/shared/icons/_cherry_blossom_single_flower.html.erb +1125 -0
- data/app/views/shared/icons/_cherry_blossom_tree.html.erb +159 -0
- data/app/views/shared/icons/_chevron_down.html.erb +3 -0
- data/app/views/shared/icons/_chevron_right.html.erb +9 -0
- data/app/views/shared/icons/_clipboard.html.erb +3 -0
- data/app/views/shared/icons/_clock.html.erb +3 -0
- data/app/views/shared/icons/_close.html.erb +3 -0
- data/app/views/shared/icons/_cog.html.erb +4 -0
- data/app/views/shared/icons/_crop.html.erb +10 -0
- data/app/views/shared/icons/_crown.html.erb +3 -0
- data/app/views/shared/icons/_disc.html.erb +3 -0
- data/app/views/shared/icons/_download.html.erb +3 -0
- data/app/views/shared/icons/_dragonfly.html.erb +58 -0
- data/app/views/shared/icons/_duplicate.html.erb +4 -0
- data/app/views/shared/icons/_edit.html.erb +3 -0
- data/app/views/shared/icons/_envelope.html.erb +3 -0
- data/app/views/shared/icons/_eraser.html.erb +10 -0
- data/app/views/shared/icons/_external_link.html.erb +3 -0
- data/app/views/shared/icons/_eye.html.erb +4 -0
- data/app/views/shared/icons/_file_csv.html.erb +10 -0
- data/app/views/shared/icons/_file_export.html.erb +10 -0
- data/app/views/shared/icons/_file_image.html.erb +10 -0
- data/app/views/shared/icons/_file_import.html.erb +10 -0
- data/app/views/shared/icons/_file_question.html.erb +6 -0
- data/app/views/shared/icons/_film.html.erb +3 -0
- data/app/views/shared/icons/_filter.html.erb +3 -0
- data/app/views/shared/icons/_folder.html.erb +3 -0
- data/app/views/shared/icons/_folder_open.html.erb +3 -0
- data/app/views/shared/icons/_folder_plus.html.erb +3 -0
- data/app/views/shared/icons/_globe.html.erb +3 -0
- data/app/views/shared/icons/_google.html.erb +11 -0
- data/app/views/shared/icons/_heart.html.erb +3 -0
- data/app/views/shared/icons/_heart_broken.html.erb +11 -0
- data/app/views/shared/icons/_heart_pulse.html.erb +4 -0
- data/app/views/shared/icons/_history.html.erb +11 -0
- data/app/views/shared/icons/_home.html.erb +10 -0
- data/app/views/shared/icons/_image.html.erb +3 -0
- data/app/views/shared/icons/_inbox.html.erb +3 -0
- data/app/views/shared/icons/_info_circle.html.erb +10 -0
- data/app/views/shared/icons/_key.html.erb +3 -0
- data/app/views/shared/icons/_layers.html.erb +10 -0
- data/app/views/shared/icons/_lightbulb.html.erb +10 -0
- data/app/views/shared/icons/_lightning.html.erb +3 -0
- data/app/views/shared/icons/_list.html.erb +3 -0
- data/app/views/shared/icons/_lock.html.erb +3 -0
- data/app/views/shared/icons/_logout.html.erb +3 -0
- data/app/views/shared/icons/_magazine.html.erb +3 -0
- data/app/views/shared/icons/_magic.html.erb +3 -0
- data/app/views/shared/icons/_minus.html.erb +10 -0
- data/app/views/shared/icons/_mobile.html.erb +10 -0
- data/app/views/shared/icons/_moon.html.erb +3 -0
- data/app/views/shared/icons/_network.html.erb +10 -0
- data/app/views/shared/icons/_new_item_banner.html.erb +1 -0
- data/app/views/shared/icons/_ouroboros.html.erb +24 -0
- data/app/views/shared/icons/_package.html.erb +3 -0
- data/app/views/shared/icons/_palette.html.erb +3 -0
- data/app/views/shared/icons/_paper_plane.html.erb +10 -0
- data/app/views/shared/icons/_photo.html.erb +10 -0
- data/app/views/shared/icons/_play.html.erb +4 -0
- data/app/views/shared/icons/_plus.html.erb +3 -0
- data/app/views/shared/icons/_pocket.html.erb +11 -0
- data/app/views/shared/icons/_prysm-icon.html.erb +34 -0
- data/app/views/shared/icons/_prysm.html.erb +13 -0
- data/app/views/shared/icons/_pushbullet-1.html.erb +29 -0
- data/app/views/shared/icons/_pushbullet-2.html.erb +2 -0
- data/app/views/shared/icons/_puzzle.html.erb +10 -0
- data/app/views/shared/icons/_qrcode.html.erb +3 -0
- data/app/views/shared/icons/_question.html.erb +3 -0
- data/app/views/shared/icons/_receipt.html.erb +10 -0
- data/app/views/shared/icons/_redo.html.erb +3 -0
- data/app/views/shared/icons/_refresh.html.erb +3 -0
- data/app/views/shared/icons/_rocket.html.erb +10 -0
- data/app/views/shared/icons/_rss.html.erb +3 -0
- data/app/views/shared/icons/_save.html.erb +3 -0
- data/app/views/shared/icons/_search.html.erb +3 -0
- data/app/views/shared/icons/_search_minus.html.erb +10 -0
- data/app/views/shared/icons/_search_plus.html.erb +10 -0
- data/app/views/shared/icons/_server_error.html.erb +6 -0
- data/app/views/shared/icons/_share.html.erb +3 -0
- data/app/views/shared/icons/_shield_check.html.erb +3 -0
- data/app/views/shared/icons/_sign_in.html.erb +3 -0
- data/app/views/shared/icons/_spinner.html.erb +4 -0
- data/app/views/shared/icons/_star.html.erb +3 -0
- data/app/views/shared/icons/_store.html.erb +10 -0
- data/app/views/shared/icons/_sun.html.erb +3 -0
- data/app/views/shared/icons/_sync.html.erb +3 -0
- data/app/views/shared/icons/_table.html.erb +3 -0
- data/app/views/shared/icons/_tag.html.erb +3 -0
- data/app/views/shared/icons/_tags.html.erb +11 -0
- data/app/views/shared/icons/_tools.html.erb +4 -0
- data/app/views/shared/icons/_trash.html.erb +3 -0
- data/app/views/shared/icons/_undo.html.erb +3 -0
- data/app/views/shared/icons/_unlock.html.erb +3 -0
- data/app/views/shared/icons/_upload.html.erb +3 -0
- data/app/views/shared/icons/_user.html.erb +3 -0
- data/app/views/shared/icons/_user_circle.html.erb +10 -0
- data/app/views/shared/icons/_user_plus.html.erb +10 -0
- data/app/views/shared/icons/_video.html.erb +3 -0
- data/app/views/shared/icons/_wrench.html.erb +11 -0
- data/app/views/style_guide/index.html.erb +77 -0
- data/app/views/style_guide/sections/_alerts.html.erb +114 -0
- data/app/views/style_guide/sections/_badges.html.erb +78 -0
- data/app/views/style_guide/sections/_buttons.html.erb +130 -0
- data/app/views/style_guide/sections/_cards.html.erb +84 -0
- data/app/views/style_guide/sections/_colors.html.erb +106 -0
- data/app/views/style_guide/sections/_file_upload.html.erb +135 -0
- data/app/views/style_guide/sections/_forms.html.erb +129 -0
- data/app/views/style_guide/sections/_gradients.html.erb +253 -0
- data/app/views/style_guide/sections/_header.html.erb +12 -0
- data/app/views/style_guide/sections/_icons.html.erb +55 -0
- data/app/views/style_guide/sections/_images.html.erb +40 -0
- data/app/views/style_guide/sections/_loading.html.erb +242 -0
- data/app/views/style_guide/sections/_pagination.html.erb +212 -0
- data/app/views/style_guide/sections/_profile_components.html.erb +203 -0
- data/app/views/style_guide/sections/_theme_switcher.html.erb +72 -0
- data/app/views/style_guide/sections/_typography.html.erb +65 -0
- data/bin/ai-optimize-claude-md +540 -0
- data/bin/ai-review-local +345 -0
- data/bin/ai-security-review +585 -0
- data/bin/brakeman +9 -0
- data/bin/install-hooks +57 -0
- data/bin/rake +7 -0
- data/bin/rubocop +10 -0
- data/bin/verify_setup.rb +31 -0
- data/config/brakeman.ignore +28 -0
- data/config/initializers/neon_sakura.rb +15 -0
- data/config/license_overrides.yml +13 -0
- data/config/routes.rb +21 -0
- data/config/theme_mappings.yml +61 -0
- data/docs/PRYSM_ASSETS.md +210 -0
- data/docs/plans/extract_ai_reviewer_plan.md +151 -0
- data/docs/plans/neon_sakura_gem_plan.md +138 -0
- data/lib/neon_sakura/configuration.rb +94 -0
- data/lib/neon_sakura/engine.rb +48 -0
- data/lib/neon_sakura/icon_helper.rb +54 -0
- data/lib/neon_sakura/profile_helper.rb +24 -0
- data/lib/neon_sakura/stylesheet_helper.rb +40 -0
- data/lib/neon_sakura/theme_helper.rb +63 -0
- data/lib/neon_sakura/theme_importer.rb +112 -0
- data/lib/neon_sakura/version.rb +5 -0
- data/lib/neon_sakura.rb +13 -0
- data/neon_sakura.gemspec +50 -0
- data/package.json +18 -0
- data/scripts/git-hooks/post-merge +132 -0
- data/scripts/git-hooks/pre-commit +123 -0
- data/scripts/git-hooks/pre-push +127 -0
- data/scripts/license-check.rb +587 -0
- data/settings.local.json +12 -0
- data/yarn.lock +778 -0
- metadata +503 -0
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
<svg class="<%= local_assigns[:css_class] || 'w-4 h-4' %>" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 500" fill="none">
|
|
2
|
+
<rect width="500" height="500" fill="#000000"/>
|
|
3
|
+
|
|
4
|
+
<!-- Tree trunk -->
|
|
5
|
+
<path d="M 250 450 Q 220 400 230 350 Q 235 300 245 250 Q 250 200 255 150 Q 260 100 250 50"
|
|
6
|
+
stroke="#FFFFFF" stroke-width="15" fill="none" stroke-linecap="round"/>
|
|
7
|
+
|
|
8
|
+
<!-- Main branches -->
|
|
9
|
+
<path d="M 255 150 Q 280 130 310 120" stroke="#FFFFFF" stroke-width="8" fill="none" stroke-linecap="round"/>
|
|
10
|
+
<path d="M 255 150 Q 230 140 200 130" stroke="#FFFFFF" stroke-width="8" fill="none" stroke-linecap="round"/>
|
|
11
|
+
<path d="M 250 100 Q 280 90 300 85" stroke="#FFFFFF" stroke-width="7" fill="none" stroke-linecap="round"/>
|
|
12
|
+
<path d="M 250 100 Q 220 95 190 90" stroke="#FFFFFF" stroke-width="7" fill="none" stroke-linecap="round"/>
|
|
13
|
+
<path d="M 250 50 Q 270 45 285 40" stroke="#FFFFFF" stroke-width="6" fill="none" stroke-linecap="round"/>
|
|
14
|
+
<path d="M 250 50 Q 230 50 210 48" stroke="#FFFFFF" stroke-width="6" fill="none" stroke-linecap="round"/>
|
|
15
|
+
|
|
16
|
+
<!-- Cherry blossom clusters - Right top -->
|
|
17
|
+
<g transform="translate(280, 40)">
|
|
18
|
+
<circle cx="0" cy="0" r="8" fill="#FFB6D9"/>
|
|
19
|
+
<circle cx="12" cy="-5" r="7" fill="#FFC8E3"/>
|
|
20
|
+
<circle cx="8" cy="8" r="7" fill="#FFAAD4"/>
|
|
21
|
+
<circle cx="-8" cy="5" r="7" fill="#FFB6D9"/>
|
|
22
|
+
<circle cx="5" cy="-10" r="6" fill="#FFDAEF"/>
|
|
23
|
+
<circle cx="15" cy="3" r="6" fill="#FFB6D9"/>
|
|
24
|
+
<circle cx="-5" cy="-7" r="6" fill="#FFC8E3"/>
|
|
25
|
+
<circle cx="10" cy="15" r="6" fill="#FFAAD4"/>
|
|
26
|
+
</g>
|
|
27
|
+
|
|
28
|
+
<!-- Cherry blossom clusters - Left top -->
|
|
29
|
+
<g transform="translate(215, 45)">
|
|
30
|
+
<circle cx="0" cy="0" r="8" fill="#FFB6D9"/>
|
|
31
|
+
<circle cx="-12" cy="-5" r="7" fill="#FFC8E3"/>
|
|
32
|
+
<circle cx="-8" cy="8" r="7" fill="#FFAAD4"/>
|
|
33
|
+
<circle cx="8" cy="5" r="7" fill="#FFB6D9"/>
|
|
34
|
+
<circle cx="-5" cy="-10" r="6" fill="#FFDAEF"/>
|
|
35
|
+
<circle cx="-15" cy="3" r="6" fill="#FFB6D9"/>
|
|
36
|
+
<circle cx="5" cy="-7" r="6" fill="#FFC8E3"/>
|
|
37
|
+
<circle cx="-10" cy="15" r="6" fill="#FFAAD4"/>
|
|
38
|
+
</g>
|
|
39
|
+
|
|
40
|
+
<!-- Cherry blossom clusters - Right middle -->
|
|
41
|
+
<g transform="translate(295, 80)">
|
|
42
|
+
<circle cx="0" cy="0" r="9" fill="#FFB6D9"/>
|
|
43
|
+
<circle cx="15" cy="-7" r="8" fill="#FFC8E3"/>
|
|
44
|
+
<circle cx="10" cy="10" r="8" fill="#FFAAD4"/>
|
|
45
|
+
<circle cx="-10" cy="7" r="8" fill="#FFB6D9"/>
|
|
46
|
+
<circle cx="7" cy="-13" r="7" fill="#FFDAEF"/>
|
|
47
|
+
<circle cx="20" cy="5" r="7" fill="#FFB6D9"/>
|
|
48
|
+
<circle cx="-7" cy="-9" r="7" fill="#FFC8E3"/>
|
|
49
|
+
<circle cx="13" cy="18" r="7" fill="#FFAAD4"/>
|
|
50
|
+
<circle cx="-15" cy="-3" r="6" fill="#FFB6D9"/>
|
|
51
|
+
<circle cx="22" cy="-12" r="6" fill="#FFC8E3"/>
|
|
52
|
+
</g>
|
|
53
|
+
|
|
54
|
+
<!-- Cherry blossom clusters - Left middle -->
|
|
55
|
+
<g transform="translate(195, 85)">
|
|
56
|
+
<circle cx="0" cy="0" r="9" fill="#FFB6D9"/>
|
|
57
|
+
<circle cx="-15" cy="-7" r="8" fill="#FFC8E3"/>
|
|
58
|
+
<circle cx="-10" cy="10" r="8" fill="#FFAAD4"/>
|
|
59
|
+
<circle cx="10" cy="7" r="8" fill="#FFB6D9"/>
|
|
60
|
+
<circle cx="-7" cy="-13" r="7" fill="#FFDAEF"/>
|
|
61
|
+
<circle cx="-20" cy="5" r="7" fill="#FFB6D9"/>
|
|
62
|
+
<circle cx="7" cy="-9" r="7" fill="#FFC8E3"/>
|
|
63
|
+
<circle cx="-13" cy="18" r="7" fill="#FFAAD4"/>
|
|
64
|
+
<circle cx="15" cy="-3" r="6" fill="#FFB6D9"/>
|
|
65
|
+
<circle cx="-22" cy="-12" r="6" fill="#FFC8E3"/>
|
|
66
|
+
</g>
|
|
67
|
+
|
|
68
|
+
<!-- Cherry blossom clusters - Right lower -->
|
|
69
|
+
<g transform="translate(305, 115)">
|
|
70
|
+
<circle cx="0" cy="0" r="10" fill="#FFB6D9"/>
|
|
71
|
+
<circle cx="18" cy="-8" r="9" fill="#FFC8E3"/>
|
|
72
|
+
<circle cx="12" cy="12" r="9" fill="#FFAAD4"/>
|
|
73
|
+
<circle cx="-12" cy="8" r="9" fill="#FFB6D9"/>
|
|
74
|
+
<circle cx="8" cy="-15" r="8" fill="#FFDAEF"/>
|
|
75
|
+
<circle cx="23" cy="6" r="8" fill="#FFB6D9"/>
|
|
76
|
+
<circle cx="-8" cy="-10" r="8" fill="#FFC8E3"/>
|
|
77
|
+
<circle cx="15" cy="20" r="8" fill="#FFAAD4"/>
|
|
78
|
+
<circle cx="-18" cy="-4" r="7" fill="#FFB6D9"/>
|
|
79
|
+
<circle cx="25" cy="-14" r="7" fill="#FFC8E3"/>
|
|
80
|
+
<circle cx="-22" cy="15" r="7" fill="#FFAAD4"/>
|
|
81
|
+
<circle cx="30" cy="0" r="7" fill="#FFB6D9"/>
|
|
82
|
+
</g>
|
|
83
|
+
|
|
84
|
+
<!-- Cherry blossom clusters - Left lower -->
|
|
85
|
+
<g transform="translate(205, 125)">
|
|
86
|
+
<circle cx="0" cy="0" r="10" fill="#FFB6D9"/>
|
|
87
|
+
<circle cx="-18" cy="-8" r="9" fill="#FFC8E3"/>
|
|
88
|
+
<circle cx="-12" cy="12" r="9" fill="#FFAAD4"/>
|
|
89
|
+
<circle cx="12" cy="8" r="9" fill="#FFB6D9"/>
|
|
90
|
+
<circle cx="-8" cy="-15" r="8" fill="#FFDAEF"/>
|
|
91
|
+
<circle cx="-23" cy="6" r="8" fill="#FFB6D9"/>
|
|
92
|
+
<circle cx="8" cy="-10" r="8" fill="#FFC8E3"/>
|
|
93
|
+
<circle cx="-15" cy="20" r="8" fill="#FFAAD4"/>
|
|
94
|
+
<circle cx="18" cy="-4" r="7" fill="#FFB6D9"/>
|
|
95
|
+
<circle cx="-25" cy="-14" r="7" fill="#FFC8E3"/>
|
|
96
|
+
<circle cx="22" cy="15" r="7" fill="#FFAAD4"/>
|
|
97
|
+
<circle cx="-30" cy="0" r="7" fill="#FFB6D9"/>
|
|
98
|
+
</g>
|
|
99
|
+
|
|
100
|
+
<!-- Additional blossom clusters for fuller appearance - Top right extended -->
|
|
101
|
+
<g transform="translate(310, 60)">
|
|
102
|
+
<circle cx="5" cy="0" r="7" fill="#FFB6D9"/>
|
|
103
|
+
<circle cx="12" cy="-8" r="6" fill="#FFC8E3"/>
|
|
104
|
+
<circle cx="8" cy="10" r="6" fill="#FFAAD4"/>
|
|
105
|
+
<circle cx="-5" cy="8" r="6" fill="#FFB6D9"/>
|
|
106
|
+
<circle cx="15" cy="5" r="5" fill="#FFDAEF"/>
|
|
107
|
+
</g>
|
|
108
|
+
|
|
109
|
+
<!-- Additional blossom clusters - Top left extended -->
|
|
110
|
+
<g transform="translate(200, 65)">
|
|
111
|
+
<circle cx="-5" cy="0" r="7" fill="#FFB6D9"/>
|
|
112
|
+
<circle cx="-12" cy="-8" r="6" fill="#FFC8E3"/>
|
|
113
|
+
<circle cx="-8" cy="10" r="6" fill="#FFAAD4"/>
|
|
114
|
+
<circle cx="5" cy="8" r="6" fill="#FFB6D9"/>
|
|
115
|
+
<circle cx="-15" cy="5" r="5" fill="#FFDAEF"/>
|
|
116
|
+
</g>
|
|
117
|
+
|
|
118
|
+
<!-- Additional blossom clusters - Middle right -->
|
|
119
|
+
<g transform="translate(320, 100)">
|
|
120
|
+
<circle cx="0" cy="0" r="8" fill="#FFB6D9"/>
|
|
121
|
+
<circle cx="10" cy="-6" r="7" fill="#FFC8E3"/>
|
|
122
|
+
<circle cx="7" cy="9" r="7" fill="#FFAAD4"/>
|
|
123
|
+
<circle cx="-8" cy="6" r="7" fill="#FFB6D9"/>
|
|
124
|
+
<circle cx="14" cy="3" r="6" fill="#FFDAEF"/>
|
|
125
|
+
<circle cx="-6" cy="-8" r="6" fill="#FFC8E3"/>
|
|
126
|
+
</g>
|
|
127
|
+
|
|
128
|
+
<!-- Additional blossom clusters - Middle left -->
|
|
129
|
+
<g transform="translate(190, 105)">
|
|
130
|
+
<circle cx="0" cy="0" r="8" fill="#FFB6D9"/>
|
|
131
|
+
<circle cx="-10" cy="-6" r="7" fill="#FFC8E3"/>
|
|
132
|
+
<circle cx="-7" cy="9" r="7" fill="#FFAAD4"/>
|
|
133
|
+
<circle cx="8" cy="6" r="7" fill="#FFB6D9"/>
|
|
134
|
+
<circle cx="-14" cy="3" r="6" fill="#FFDAEF"/>
|
|
135
|
+
<circle cx="6" cy="-8" r="6" fill="#FFC8E3"/>
|
|
136
|
+
</g>
|
|
137
|
+
|
|
138
|
+
<!-- Top cluster -->
|
|
139
|
+
<g transform="translate(250, 35)">
|
|
140
|
+
<circle cx="0" cy="0" r="8" fill="#FFB6D9"/>
|
|
141
|
+
<circle cx="10" cy="-5" r="7" fill="#FFC8E3"/>
|
|
142
|
+
<circle cx="-10" cy="-5" r="7" fill="#FFAAD4"/>
|
|
143
|
+
<circle cx="7" cy="8" r="6" fill="#FFB6D9"/>
|
|
144
|
+
<circle cx="-7" cy="8" r="6" fill="#FFDAEF"/>
|
|
145
|
+
<circle cx="0" cy="-10" r="6" fill="#FFC8E3"/>
|
|
146
|
+
</g>
|
|
147
|
+
|
|
148
|
+
<!-- Larger blossom details - scattered throughout -->
|
|
149
|
+
<g opacity="0.9">
|
|
150
|
+
<circle cx="330" cy="125" r="5" fill="#FFB6D9"/>
|
|
151
|
+
<circle cx="180" cy="130" r="5" fill="#FFC8E3"/>
|
|
152
|
+
<circle cx="340" cy="95" r="4" fill="#FFAAD4"/>
|
|
153
|
+
<circle cx="170" cy="100" r="4" fill="#FFB6D9"/>
|
|
154
|
+
<circle cx="325" cy="70" r="4" fill="#FFDAEF"/>
|
|
155
|
+
<circle cx="185" cy="75" r="4" fill="#FFC8E3"/>
|
|
156
|
+
<circle cx="295" cy="50" r="3" fill="#FFAAD4"/>
|
|
157
|
+
<circle cx="205" cy="55" r="3" fill="#FFB6D9"/>
|
|
158
|
+
</g>
|
|
159
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg class="<%= local_assigns[:css_class] || 'w-4 h-4' %>" fill="none" stroke="currentColor" viewBox="0 0 24 24" aria-hidden="<%= local_assigns[:aria_hidden] || 'true' %>">
|
|
2
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"></path>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<%
|
|
2
|
+
css_class ||= "w-6 h-6"
|
|
3
|
+
aria_label ||= "Chevron right"
|
|
4
|
+
role ||= "img"
|
|
5
|
+
title ||= "Chevron right"
|
|
6
|
+
%>
|
|
7
|
+
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="<%= css_class %>" role="<%= role %>" aria-label="<%= aria_label %>" title="<%= title %>">
|
|
8
|
+
<path stroke-linecap="round" stroke-linejoin="round" d="M8.25 4.5l7.5 7.5-7.5 7.5" />
|
|
9
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg class="<%= local_assigns[:css_class] || 'w-4 h-4' %>" fill="none" stroke="currentColor" viewBox="0 0 24 24" aria-hidden="<%= local_assigns[:aria_hidden] || 'true' %>">
|
|
2
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg class="<%= local_assigns[:css_class] || 'w-4 h-4' %>" fill="none" stroke="currentColor" viewBox="0 0 24 24" aria-hidden="<%= local_assigns[:aria_hidden] || 'true' %>">
|
|
2
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"></path>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg class="<%= local_assigns[:css_class] || 'w-4 h-4' %>" fill="none" stroke="currentColor" viewBox="0 0 24 24" aria-hidden="<%= local_assigns[:aria_hidden] || 'true' %>">
|
|
2
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg class="<%= local_assigns[:css_class] || 'w-4 h-4' %>" fill="none" stroke="currentColor" viewBox="0 0 24 24" aria-hidden="<%= local_assigns[:aria_hidden] || 'true' %>">
|
|
2
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"></path>
|
|
3
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<%# Icon: Crop (crop image/resize) %>
|
|
2
|
+
<%# Source: Custom SVG - crop tool %>
|
|
3
|
+
<svg xmlns="http://www.w3.org/2000/svg"
|
|
4
|
+
fill="none"
|
|
5
|
+
viewBox="0 0 24 24"
|
|
6
|
+
stroke-width="1.5"
|
|
7
|
+
stroke="currentColor"
|
|
8
|
+
class="<%= css_class %>">
|
|
9
|
+
<path stroke-linecap="round" stroke-linejoin="round" d="M6 3v12a3 3 0 0 0 3 3h12M3 6h12a3 3 0 0 1 3 3v12" />
|
|
10
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg class="<%= local_assigns[:css_class] || 'w-4 h-4' %>" fill="none" stroke="currentColor" viewBox="0 0 24 24" aria-hidden="<%= local_assigns[:aria_hidden] || 'true' %>">
|
|
2
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 3l4 6 4-7 4 7 4-6v13H5z"></path>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg class="<%= local_assigns[:css_class] || 'w-4 h-4' %>" fill="none" stroke="currentColor" viewBox="0 0 24 24" aria-hidden="<%= local_assigns[:aria_hidden] || 'true' %>">
|
|
2
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm0-12.5c-2.49 0-4.5 2.01-4.5 4.5s2.01 4.5 4.5 4.5 4.5-2.01 4.5-4.5-2.01-4.5-4.5-4.5zm0 5.5c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1z"></path>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg class="<%= local_assigns[:css_class] || 'w-4 h-4' %>" fill="none" stroke="currentColor" viewBox="0 0 24 24" aria-hidden="<%= local_assigns[:aria_hidden] || 'true' %>">
|
|
2
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"></path>
|
|
3
|
+
</svg>
|