outro_rails 0.1.7 → 0.1.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/README.md +40 -9
- data/app/assets/images/outro_rails/capo.svg +1 -18
- data/app/assets/images/outro_rails/circle.svg +1 -15
- data/app/assets/images/outro_rails/instruments.svg +1 -2
- data/app/assets/images/outro_rails/library.svg +1 -7
- data/app/assets/images/outro_rails/piano.svg +1 -4
- data/app/assets/images/outro_rails/scales.svg +1 -2
- data/app/assets/images/outro_rails/transposer.svg +1 -2
- data/app/assets/stylesheets/outro_rails/outro_rails.css +16 -1
- data/app/helpers/outro_rails/application_helper.rb +1 -0
- data/app/helpers/outro_rails/chord_charts_helper.rb +1 -0
- data/app/helpers/outro_rails/icons_helper.rb +109 -0
- data/app/views/outro_rails/caged/show.html.erb +1 -2
- data/app/views/outro_rails/chord_charts/_chart.html.erb +9 -13
- data/app/views/outro_rails/chords/_filter.html.erb +3 -6
- data/app/views/outro_rails/chords/index.html.erb +1 -2
- data/app/views/outro_rails/instruments/_guitar.html.erb +1 -2
- data/app/views/outro_rails/instruments/_guitar_figure.html.erb +4 -2
- data/app/views/outro_rails/instruments/_guitar_midi.html.erb +4 -2
- data/app/views/outro_rails/instruments/_piano_figure.html.erb +15 -6
- data/app/views/outro_rails/instruments/_piano_midi.html.erb +4 -2
- data/app/views/outro_rails/scales/_picker.html.erb +1 -2
- data/app/views/outro_rails/transposer/show.html.erb +1 -3
- data/lib/outro_rails/version.rb +1 -1
- data/lib/outro_rails.rb +8 -0
- metadata +2 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: be553169a45e21824a1d92e6287d3777e7bf78839cce188fe86d708d40496f26
|
|
4
|
+
data.tar.gz: 186d0ebf8b817cc88fde9561873e9949ed8f200658c0265f25162cfec56e9471
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9c6dc62087ae7a8a0c7e393ef4ad6767a846205e3fd87a797b6e7c9c6546f0da1c4be21056e48b3a797cb82352f51b057a729a3f828f15b4eb02b3d3ac68adad
|
|
7
|
+
data.tar.gz: 0dce5f67e95e032c29638e1da8799b626482f37efebb60ff7ec1daf678992732b54c42fbe34a1b30dd86a0e5ce17633e61b24b9d8a0d4b311bf6e83f97e94a35
|
data/README.md
CHANGED
|
@@ -51,7 +51,7 @@ quickest version is to add two tags to your layout:
|
|
|
51
51
|
|
|
52
52
|
If you'd rather fold the engine's assets into your existing bundles, see
|
|
53
53
|
[Assets](#assets) below. If you'd rather style the form controls with your
|
|
54
|
-
own CSS framework, see [Control
|
|
54
|
+
own CSS framework, see [Form Control Classes](#form-control-classes).
|
|
55
55
|
|
|
56
56
|
## Assets
|
|
57
57
|
|
|
@@ -164,12 +164,12 @@ yarn build:css
|
|
|
164
164
|
|
|
165
165
|
### Form Control Classes
|
|
166
166
|
|
|
167
|
-
|
|
168
|
-
|
|
167
|
+
The engine's buttons, text fields, textareas, selects, and labels carry their
|
|
168
|
+
own classes, styled by the stylesheet above:
|
|
169
169
|
|
|
170
|
-
| Element | Setting
|
|
171
|
-
| ---------- |
|
|
172
|
-
| `button` | `OutroRails.button_class` | `outro-button`
|
|
170
|
+
| Element | Setting | Default |
|
|
171
|
+
| ---------- | --------------------------- | ---------------- |
|
|
172
|
+
| `button` | `OutroRails.button_class` | `outro-button` |
|
|
173
173
|
| `input` | `OutroRails.input_class` | `outro-input` |
|
|
174
174
|
| `label` | `OutroRails.label_class` | `outro-label` |
|
|
175
175
|
| `select` | `OutroRails.select_class` | `outro-select` |
|
|
@@ -195,9 +195,40 @@ Each setting is a plain string and can also be assigned on its own
|
|
|
195
195
|
|
|
196
196
|
These apply everywhere the engine renders a form control.
|
|
197
197
|
|
|
198
|
+
#### Button Icons
|
|
199
|
+
|
|
200
|
+
Buttons that carry an icon render it as an inline `<svg>`, so its color is
|
|
201
|
+
yours to set. Point `OutroRails.button_icon_color` at any CSS color:
|
|
202
|
+
|
|
203
|
+
```ruby
|
|
204
|
+
# config/initializers/outro_rails.rb
|
|
205
|
+
OutroRails.configure do |config|
|
|
206
|
+
config.button_icon_color = "#d1495b"
|
|
207
|
+
end
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
Any value CSS accepts works, including one of your own tokens
|
|
211
|
+
(`config.button_icon_color = "var(--brand-accent)"`). Left unset, icons
|
|
212
|
+
inherit the button's text color.
|
|
213
|
+
|
|
214
|
+
The setting is emitted as a custom property, so you can skip the initializer
|
|
215
|
+
and set it in your own stylesheet instead:
|
|
216
|
+
|
|
217
|
+
```css
|
|
218
|
+
:root {
|
|
219
|
+
--outro-button-icon-color: #d1495b;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
@media (prefers-color-scheme: dark) {
|
|
223
|
+
:root {
|
|
224
|
+
--outro-button-icon-color: #f08fa0;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
```
|
|
228
|
+
|
|
198
229
|
#### Per render
|
|
199
230
|
|
|
200
|
-
The same
|
|
231
|
+
The same five class names are accepted as locals on the chart partial and as
|
|
201
232
|
options on `chord_chart_area` for a page that needs something other than
|
|
202
233
|
the application-wide setting:
|
|
203
234
|
|
|
@@ -317,8 +348,7 @@ no chord chart.
|
|
|
317
348
|
The fields inside the fieldset use the engine's own control classes. Pass
|
|
318
349
|
`input_class:`, `textarea_class:`, `select_class:`, or `label_class:` to
|
|
319
350
|
render them with your app's classes for this form, or set them once
|
|
320
|
-
application-wide — see [Control
|
|
321
|
-
option is passed through to `fields_for`, as before.
|
|
351
|
+
application-wide — see [Form Control Classes](#form-control-classes).
|
|
322
352
|
|
|
323
353
|
### Controller: Permitting the Parameters
|
|
324
354
|
|
|
@@ -499,6 +529,7 @@ refuse:
|
|
|
499
529
|
```
|
|
500
530
|
|
|
501
531
|
## Development
|
|
532
|
+
|
|
502
533
|
Clone the repository and copy the .env.tmpl file to .env:
|
|
503
534
|
|
|
504
535
|
```sh
|
|
@@ -1,18 +1 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
|
4
|
-
<svg version="1.1" id="Icons" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
5
|
-
viewBox="0 0 32 32" xml:space="preserve">
|
|
6
|
-
<style type="text/css">
|
|
7
|
-
.st0{fill:none;stroke:#000000;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:10;}
|
|
8
|
-
.st1{fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
|
|
9
|
-
</style>
|
|
10
|
-
<path class="st1" d="M12.8,21.8L12.8,21.8c-1.7-1.4-2.3-3.8-1.5-5.9l4.1-10.7C16.3,3,19,2.3,20.8,3.8l0,0c1.4,1.2,1.6,3.3,0.5,4.7
|
|
11
|
-
l-1.1,1.5l1.4,6.2c0.4,1.9-0.2,3.9-1.7,5.1l-0.4,0.4C17.5,23.4,14.7,23.4,12.8,21.8z"/>
|
|
12
|
-
<line class="st1" x1="14" y1="29" x2="14" y2="22.5"/>
|
|
13
|
-
<line class="st1" x1="19" y1="22.1" x2="19" y2="29"/>
|
|
14
|
-
<line class="st1" x1="9.6" y1="14.9" x2="11.4" y2="15.7"/>
|
|
15
|
-
<line class="st1" x1="10.6" y1="11.9" x2="12.5" y2="12.8"/>
|
|
16
|
-
<line class="st1" x1="11.6" y1="8.9" x2="13.6" y2="9.8"/>
|
|
17
|
-
<line class="st1" x1="12.6" y1="5.9" x2="14.8" y2="6.9"/>
|
|
18
|
-
</svg>
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M12.8,21.8L12.8,21.8c-1.7-1.4-2.3-3.8-1.5-5.9l4.1-10.7C16.3,3,19,2.3,20.8,3.8l0,0c1.4,1.2,1.6,3.3,0.5,4.7 l-1.1,1.5l1.4,6.2c0.4,1.9-0.2,3.9-1.7,5.1l-0.4,0.4C17.5,23.4,14.7,23.4,12.8,21.8z"/><line fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="14" y1="29" x2="14" y2="22.5"/><line fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="19" y1="22.1" x2="19" y2="29"/><line fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="9.6" y1="14.9" x2="11.4" y2="15.7"/><line fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="10.6" y1="11.9" x2="12.5" y2="12.8"/><line fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="11.6" y1="8.9" x2="13.6" y2="9.8"/><line fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="12.6" y1="5.9" x2="14.8" y2="6.9"/></svg>
|
|
@@ -1,15 +1 @@
|
|
|
1
|
-
|
|
2
|
-
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
|
3
|
-
<svg width="800px" height="800px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
4
|
-
<title>music_line</title>
|
|
5
|
-
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
6
|
-
<g id="Media" transform="translate(-912.000000, -96.000000)" fill-rule="nonzero">
|
|
7
|
-
<g id="music_line" transform="translate(912.000000, 96.000000)">
|
|
8
|
-
<path d="M24,0 L24,24 L0,24 L0,0 L24,0 Z M12.5934901,23.257841 L12.5819402,23.2595131 L12.5108777,23.2950439 L12.4918791,23.2987469 L12.4918791,23.2987469 L12.4767152,23.2950439 L12.4056548,23.2595131 C12.3958229,23.2563662 12.3870493,23.2590235 12.3821421,23.2649074 L12.3780323,23.275831 L12.360941,23.7031097 L12.3658947,23.7234994 L12.3769048,23.7357139 L12.4804777,23.8096931 L12.4953491,23.8136134 L12.4953491,23.8136134 L12.5071152,23.8096931 L12.6106902,23.7357139 L12.6232938,23.7196733 L12.6232938,23.7196733 L12.6266527,23.7031097 L12.609561,23.275831 C12.6075724,23.2657013 12.6010112,23.2592993 12.5934901,23.257841 L12.5934901,23.257841 Z M12.8583906,23.1452862 L12.8445485,23.1473072 L12.6598443,23.2396597 L12.6498822,23.2499052 L12.6498822,23.2499052 L12.6471943,23.2611114 L12.6650943,23.6906389 L12.6699349,23.7034178 L12.6699349,23.7034178 L12.678386,23.7104931 L12.8793402,23.8032389 C12.8914285,23.8068999 12.9022333,23.8029875 12.9078286,23.7952264 L12.9118235,23.7811639 L12.8776777,23.1665331 C12.8752882,23.1545897 12.8674102,23.1470016 12.8583906,23.1452862 L12.8583906,23.1452862 Z M12.1430473,23.1473072 C12.1332178,23.1423925 12.1221763,23.1452606 12.1156365,23.1525954 L12.1099173,23.1665331 L12.0757714,23.7811639 C12.0751323,23.7926639 12.0828099,23.8018602 12.0926481,23.8045676 L12.108256,23.8032389 L12.3092106,23.7104931 L12.3186497,23.7024347 L12.3186497,23.7024347 L12.3225043,23.6906389 L12.340401,23.2611114 L12.337245,23.2485176 L12.337245,23.2485176 L12.3277531,23.2396597 L12.1430473,23.1473072 Z" id="MingCute" fill-rule="nonzero">
|
|
9
|
-
|
|
10
|
-
<path d="M10.9752,3.00175 C11.0974,3.54034 10.7599,4.07603 10.2213,4.19824 C6.65879,5.00662 4,8.19401 4,12 C4,16.4183 7.58172,20 12,20 C16.4183,20 20,16.4183 20,12 C20,10.3629 19.5093,8.84349 18.6673,7.577 C18.3615,7.11709 18.4864,6.49638 18.9463,6.19059 C19.4062,5.88481 20.0269,6.00975 20.3327,6.46965 C21.3862,8.05408 22,9.95689 22,12 C22,17.5229 17.5228,22 12,22 C6.47715,22 2,17.5229 2,12 C2,7.23967 5.32525,3.25837 9.77871,2.24783 C10.3173,2.12561 10.853,2.46315 10.9752,3.00175 Z M13,3.01364 C13,2.36478353 13.5982782,1.89541052 14.2139913,2.02423338 L14.3295,2.0555 L17.3163,3.05135 C17.8402,3.22604 18.1233,3.79238 17.9487,4.31631 C17.7864786,4.80281643 17.2865158,5.08168566 16.7964566,4.97917536 L16.6837,4.94867 L15,4.3873 L15,12 C15,13.6569 13.6569,15 12,15 C10.3431,15 9,13.6569 9,12 C9,10.3431 10.3431,9 12,9 C12.28048,9 12.552,9.038496 12.8095424,9.11050112 L13,9.17071 L13,3.01364 Z" id="形状" fill="#09244B">
|
|
11
|
-
|
|
12
|
-
</g>
|
|
13
|
-
</g>
|
|
14
|
-
</g>
|
|
15
|
-
</svg>
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="none" fill-rule="nonzero" d="M24,0 L24,24 L0,24 L0,0 L24,0 Z M12.5934901,23.257841 L12.5819402,23.2595131 L12.5108777,23.2950439 L12.4918791,23.2987469 L12.4918791,23.2987469 L12.4767152,23.2950439 L12.4056548,23.2595131 C12.3958229,23.2563662 12.3870493,23.2590235 12.3821421,23.2649074 L12.3780323,23.275831 L12.360941,23.7031097 L12.3658947,23.7234994 L12.3769048,23.7357139 L12.4804777,23.8096931 L12.4953491,23.8136134 L12.4953491,23.8136134 L12.5071152,23.8096931 L12.6106902,23.7357139 L12.6232938,23.7196733 L12.6232938,23.7196733 L12.6266527,23.7031097 L12.609561,23.275831 C12.6075724,23.2657013 12.6010112,23.2592993 12.5934901,23.257841 L12.5934901,23.257841 Z M12.8583906,23.1452862 L12.8445485,23.1473072 L12.6598443,23.2396597 L12.6498822,23.2499052 L12.6498822,23.2499052 L12.6471943,23.2611114 L12.6650943,23.6906389 L12.6699349,23.7034178 L12.6699349,23.7034178 L12.678386,23.7104931 L12.8793402,23.8032389 C12.8914285,23.8068999 12.9022333,23.8029875 12.9078286,23.7952264 L12.9118235,23.7811639 L12.8776777,23.1665331 C12.8752882,23.1545897 12.8674102,23.1470016 12.8583906,23.1452862 L12.8583906,23.1452862 Z M12.1430473,23.1473072 C12.1332178,23.1423925 12.1221763,23.1452606 12.1156365,23.1525954 L12.1099173,23.1665331 L12.0757714,23.7811639 C12.0751323,23.7926639 12.0828099,23.8018602 12.0926481,23.8045676 L12.108256,23.8032389 L12.3092106,23.7104931 L12.3186497,23.7024347 L12.3186497,23.7024347 L12.3225043,23.6906389 L12.340401,23.2611114 L12.337245,23.2485176 L12.337245,23.2485176 L12.3277531,23.2396597 L12.1430473,23.1473072 Z"/><path fill="currentColor" fill-rule="nonzero" d="M10.9752,3.00175 C11.0974,3.54034 10.7599,4.07603 10.2213,4.19824 C6.65879,5.00662 4,8.19401 4,12 C4,16.4183 7.58172,20 12,20 C16.4183,20 20,16.4183 20,12 C20,10.3629 19.5093,8.84349 18.6673,7.577 C18.3615,7.11709 18.4864,6.49638 18.9463,6.19059 C19.4062,5.88481 20.0269,6.00975 20.3327,6.46965 C21.3862,8.05408 22,9.95689 22,12 C22,17.5229 17.5228,22 12,22 C6.47715,22 2,17.5229 2,12 C2,7.23967 5.32525,3.25837 9.77871,2.24783 C10.3173,2.12561 10.853,2.46315 10.9752,3.00175 Z M13,3.01364 C13,2.36478353 13.5982782,1.89541052 14.2139913,2.02423338 L14.3295,2.0555 L17.3163,3.05135 C17.8402,3.22604 18.1233,3.79238 17.9487,4.31631 C17.7864786,4.80281643 17.2865158,5.08168566 16.7964566,4.97917536 L16.6837,4.94867 L15,4.3873 L15,12 C15,13.6569 13.6569,15 12,15 C10.3431,15 9,13.6569 9,12 C9,10.3431 10.3431,9 12,9 C12.28048,9 12.552,9.038496 12.8095424,9.11050112 L13,9.17071 L13,3.01364 Z"/></svg>
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
<svg fill="#000000" width="800px" height="800px" viewBox="0 0 30 30" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M15 2C11.61093 2 9.6052949 4.5851816 9.3027344 5L6 5C4.895 5 4 5.895 4 7L4 24C4 25.105 4.895 26 6 26L7 26 A 1 1 0 0 0 8 27 A 1 1 0 0 0 9 26L21 26 A 1 1 0 0 0 22 27 A 1 1 0 0 0 23 26L24 26C25.105 26 26 25.105 26 24L26 7C26 5.895 25.105 5 24 5L20.693359 5C20.434314 4.6590927 18.32067 2 15 2 z M 15 4C16.034749 4 16.979964 4.4785227 17.71875 5L12.193359 5C12.91133 4.4803556 13.865611 4 15 4 z M 6.5 7L23.5 7C23.776 7 24 7.224 24 7.5L24 10.5C24 10.776 23.776 11 23.5 11L6.5 11C6.224 11 6 10.776 6 10.5L6 7.5C6 7.224 6.224 7 6.5 7 z M 9 8 A 1 1 0 0 0 8 9 A 1 1 0 0 0 9 10 A 1 1 0 0 0 10 9 A 1 1 0 0 0 9 8 z M 13 8 A 1 1 0 0 0 12 9 A 1 1 0 0 0 13 10 A 1 1 0 0 0 14 9 A 1 1 0 0 0 13 8 z M 17 8 A 1 1 0 0 0 16 9 A 1 1 0 0 0 17 10 A 1 1 0 0 0 18 9 A 1 1 0 0 0 17 8 z M 21 8 A 1 1 0 0 0 20 9 A 1 1 0 0 0 21 10 A 1 1 0 0 0 22 9 A 1 1 0 0 0 21 8 z M 7.5 13C7.776 13 8 13.224 8 13.5C8 13.776 7.776 14 7.5 14C7.224 14 7 13.776 7 13.5C7 13.224 7.224 13 7.5 13 z M 9.5 13C9.776 13 10 13.224 10 13.5C10 13.776 9.776 14 9.5 14C9.224 14 9 13.776 9 13.5C9 13.224 9.224 13 9.5 13 z M 11.5 13C11.776 13 12 13.224 12 13.5C12 13.776 11.776 14 11.5 14C11.224 14 11 13.776 11 13.5C11 13.224 11.224 13 11.5 13 z M 13.5 13C13.776 13 14 13.224 14 13.5C14 13.776 13.776 14 13.5 14C13.224 14 13 13.776 13 13.5C13 13.224 13.224 13 13.5 13 z M 15.5 13C15.776 13 16 13.224 16 13.5C16 13.776 15.776 14 15.5 14C15.224 14 15 13.776 15 13.5C15 13.224 15.224 13 15.5 13 z M 17.5 13C17.776 13 18 13.224 18 13.5C18 13.776 17.776 14 17.5 14C17.224 14 17 13.776 17 13.5C17 13.224 17.224 13 17.5 13 z M 19.5 13C19.776 13 20 13.224 20 13.5C20 13.776 19.776 14 19.5 14C19.224 14 19 13.776 19 13.5C19 13.224 19.224 13 19.5 13 z M 21.5 13C21.776 13 22 13.224 22 13.5C22 13.776 21.776 14 21.5 14C21.224 14 21 13.776 21 13.5C21 13.224 21.224 13 21.5 13 z M 23.5 13C23.776 13 24 13.224 24 13.5C24 13.776 23.776 14 23.5 14C23.224 14 23 13.776 23 13.5C23 13.224 23.224 13 23.5 13 z M 6.5 15C6.776 15 7 15.224 7 15.5C7 15.776 6.776 16 6.5 16C6.224 16 6 15.776 6 15.5C6 15.224 6.224 15 6.5 15 z M 8.5 15C8.776 15 9 15.224 9 15.5C9 15.776 8.776 16 8.5 16C8.224 16 8 15.776 8 15.5C8 15.224 8.224 15 8.5 15 z M 10.5 15C10.776 15 11 15.224 11 15.5C11 15.776 10.776 16 10.5 16C10.224 16 10 15.776 10 15.5C10 15.224 10.224 15 10.5 15 z M 12.5 15C12.776 15 13 15.224 13 15.5C13 15.776 12.776 16 12.5 16C12.224 16 12 15.776 12 15.5C12 15.224 12.224 15 12.5 15 z M 14.5 15C14.776 15 15 15.224 15 15.5C15 15.776 14.776 16 14.5 16C14.224 16 14 15.776 14 15.5C14 15.224 14.224 15 14.5 15 z M 16.5 15C16.776 15 17 15.224 17 15.5C17 15.776 16.776 16 16.5 16C16.224 16 16 15.776 16 15.5C16 15.224 16.224 15 16.5 15 z M 18.5 15C18.776 15 19 15.224 19 15.5C19 15.776 18.776 16 18.5 16C18.224 16 18 15.776 18 15.5C18 15.224 18.224 15 18.5 15 z M 20.5 15C20.776 15 21 15.224 21 15.5C21 15.776 20.776 16 20.5 16C20.224 16 20 15.776 20 15.5C20 15.224 20.224 15 20.5 15 z M 22.5 15C22.776 15 23 15.224 23 15.5C23 15.776 22.776 16 22.5 16C22.224 16 22 15.776 22 15.5C22 15.224 22.224 15 22.5 15 z M 7.5 17C7.776 17 8 17.224 8 17.5C8 17.776 7.776 18 7.5 18C7.224 18 7 17.776 7 17.5C7 17.224 7.224 17 7.5 17 z M 9.5 17C9.776 17 10 17.224 10 17.5C10 17.776 9.776 18 9.5 18C9.224 18 9 17.776 9 17.5C9 17.224 9.224 17 9.5 17 z M 11.5 17C11.776 17 12 17.224 12 17.5C12 17.776 11.776 18 11.5 18C11.224 18 11 17.776 11 17.5C11 17.224 11.224 17 11.5 17 z M 13.5 17C13.776 17 14 17.224 14 17.5C14 17.776 13.776 18 13.5 18C13.224 18 13 17.776 13 17.5C13 17.224 13.224 17 13.5 17 z M 15.5 17C15.776 17 16 17.224 16 17.5C16 17.776 15.776 18 15.5 18C15.224 18 15 17.776 15 17.5C15 17.224 15.224 17 15.5 17 z M 17.5 17C17.776 17 18 17.224 18 17.5C18 17.776 17.776 18 17.5 18C17.224 18 17 17.776 17 17.5C17 17.224 17.224 17 17.5 17 z M 19.5 17C19.776 17 20 17.224 20 17.5C20 17.776 19.776 18 19.5 18C19.224 18 19 17.776 19 17.5C19 17.224 19.224 17 19.5 17 z M 21.5 17C21.776 17 22 17.224 22 17.5C22 17.776 21.776 18 21.5 18C21.224 18 21 17.776 21 17.5C21 17.224 21.224 17 21.5 17 z M 23.5 17C23.776 17 24 17.224 24 17.5C24 17.776 23.776 18 23.5 18C23.224 18 23 17.776 23 17.5C23 17.224 23.224 17 23.5 17 z M 6.5 19C6.776 19 7 19.224 7 19.5C7 19.776 6.776 20 6.5 20C6.224 20 6 19.776 6 19.5C6 19.224 6.224 19 6.5 19 z M 8.5 19C8.776 19 9 19.224 9 19.5C9 19.776 8.776 20 8.5 20C8.224 20 8 19.776 8 19.5C8 19.224 8.224 19 8.5 19 z M 10.5 19C10.776 19 11 19.224 11 19.5C11 19.776 10.776 20 10.5 20C10.224 20 10 19.776 10 19.5C10 19.224 10.224 19 10.5 19 z M 12.5 19C12.776 19 13 19.224 13 19.5C13 19.776 12.776 20 12.5 20C12.224 20 12 19.776 12 19.5C12 19.224 12.224 19 12.5 19 z M 14.5 19C14.776 19 15 19.224 15 19.5C15 19.776 14.776 20 14.5 20C14.224 20 14 19.776 14 19.5C14 19.224 14.224 19 14.5 19 z M 16.5 19C16.776 19 17 19.224 17 19.5C17 19.776 16.776 20 16.5 20C16.224 20 16 19.776 16 19.5C16 19.224 16.224 19 16.5 19 z M 18.5 19C18.776 19 19 19.224 19 19.5C19 19.776 18.776 20 18.5 20C18.224 20 18 19.776 18 19.5C18 19.224 18.224 19 18.5 19 z M 20.5 19C20.776 19 21 19.224 21 19.5C21 19.776 20.776 20 20.5 20C20.224 20 20 19.776 20 19.5C20 19.224 20.224 19 20.5 19 z M 22.5 19C22.776 19 23 19.224 23 19.5C23 19.776 22.776 20 22.5 20C22.224 20 22 19.776 22 19.5C22 19.224 22.224 19 22.5 19 z M 7.5 21C7.776 21 8 21.224 8 21.5C8 21.776 7.776 22 7.5 22C7.224 22 7 21.776 7 21.5C7 21.224 7.224 21 7.5 21 z M 9.5 21C9.776 21 10 21.224 10 21.5C10 21.776 9.776 22 9.5 22C9.224 22 9 21.776 9 21.5C9 21.224 9.224 21 9.5 21 z M 11.5 21C11.776 21 12 21.224 12 21.5C12 21.776 11.776 22 11.5 22C11.224 22 11 21.776 11 21.5C11 21.224 11.224 21 11.5 21 z M 13.5 21C13.776 21 14 21.224 14 21.5C14 21.776 13.776 22 13.5 22C13.224 22 13 21.776 13 21.5C13 21.224 13.224 21 13.5 21 z M 15.5 21C15.776 21 16 21.224 16 21.5C16 21.776 15.776 22 15.5 22C15.224 22 15 21.776 15 21.5C15 21.224 15.224 21 15.5 21 z M 17.5 21C17.776 21 18 21.224 18 21.5C18 21.776 17.776 22 17.5 22C17.224 22 17 21.776 17 21.5C17 21.224 17.224 21 17.5 21 z M 19.5 21C19.776 21 20 21.224 20 21.5C20 21.776 19.776 22 19.5 22C19.224 22 19 21.776 19 21.5C19 21.224 19.224 21 19.5 21 z M 21.5 21C21.776 21 22 21.224 22 21.5C22 21.776 21.776 22 21.5 22C21.224 22 21 21.776 21 21.5C21 21.224 21.224 21 21.5 21 z M 23.5 21C23.776 21 24 21.224 24 21.5C24 21.776 23.776 22 23.5 22C23.224 22 23 21.776 23 21.5C23 21.224 23.224 21 23.5 21 z M 6.5 23C6.776 23 7 23.224 7 23.5C7 23.776 6.776 24 6.5 24C6.224 24 6 23.776 6 23.5C6 23.224 6.224 23 6.5 23 z M 8.5 23C8.776 23 9 23.224 9 23.5C9 23.776 8.776 24 8.5 24C8.224 24 8 23.776 8 23.5C8 23.224 8.224 23 8.5 23 z M 10.5 23C10.776 23 11 23.224 11 23.5C11 23.776 10.776 24 10.5 24C10.224 24 10 23.776 10 23.5C10 23.224 10.224 23 10.5 23 z M 12.5 23C12.776 23 13 23.224 13 23.5C13 23.776 12.776 24 12.5 24C12.224 24 12 23.776 12 23.5C12 23.224 12.224 23 12.5 23 z M 14.5 23C14.776 23 15 23.224 15 23.5C15 23.776 14.776 24 14.5 24C14.224 24 14 23.776 14 23.5C14 23.224 14.224 23 14.5 23 z M 16.5 23C16.776 23 17 23.224 17 23.5C17 23.776 16.776 24 16.5 24C16.224 24 16 23.776 16 23.5C16 23.224 16.224 23 16.5 23 z M 18.5 23C18.776 23 19 23.224 19 23.5C19 23.776 18.776 24 18.5 24C18.224 24 18 23.776 18 23.5C18 23.224 18.224 23 18.5 23 z M 20.5 23C20.776 23 21 23.224 21 23.5C21 23.776 20.776 24 20.5 24C20.224 24 20 23.776 20 23.5C20 23.224 20.224 23 20.5 23 z M 22.5 23C22.776 23 23 23.224 23 23.5C23 23.776 22.776 24 22.5 24C22.224 24 22 23.776 22 23.5C22 23.224 22.224 23 22.5 23 z"/></svg>
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M15 2C11.61093 2 9.6052949 4.5851816 9.3027344 5L6 5C4.895 5 4 5.895 4 7L4 24C4 25.105 4.895 26 6 26L7 26 A 1 1 0 0 0 8 27 A 1 1 0 0 0 9 26L21 26 A 1 1 0 0 0 22 27 A 1 1 0 0 0 23 26L24 26C25.105 26 26 25.105 26 24L26 7C26 5.895 25.105 5 24 5L20.693359 5C20.434314 4.6590927 18.32067 2 15 2 z M 15 4C16.034749 4 16.979964 4.4785227 17.71875 5L12.193359 5C12.91133 4.4803556 13.865611 4 15 4 z M 6.5 7L23.5 7C23.776 7 24 7.224 24 7.5L24 10.5C24 10.776 23.776 11 23.5 11L6.5 11C6.224 11 6 10.776 6 10.5L6 7.5C6 7.224 6.224 7 6.5 7 z M 9 8 A 1 1 0 0 0 8 9 A 1 1 0 0 0 9 10 A 1 1 0 0 0 10 9 A 1 1 0 0 0 9 8 z M 13 8 A 1 1 0 0 0 12 9 A 1 1 0 0 0 13 10 A 1 1 0 0 0 14 9 A 1 1 0 0 0 13 8 z M 17 8 A 1 1 0 0 0 16 9 A 1 1 0 0 0 17 10 A 1 1 0 0 0 18 9 A 1 1 0 0 0 17 8 z M 21 8 A 1 1 0 0 0 20 9 A 1 1 0 0 0 21 10 A 1 1 0 0 0 22 9 A 1 1 0 0 0 21 8 z M 7.5 13C7.776 13 8 13.224 8 13.5C8 13.776 7.776 14 7.5 14C7.224 14 7 13.776 7 13.5C7 13.224 7.224 13 7.5 13 z M 9.5 13C9.776 13 10 13.224 10 13.5C10 13.776 9.776 14 9.5 14C9.224 14 9 13.776 9 13.5C9 13.224 9.224 13 9.5 13 z M 11.5 13C11.776 13 12 13.224 12 13.5C12 13.776 11.776 14 11.5 14C11.224 14 11 13.776 11 13.5C11 13.224 11.224 13 11.5 13 z M 13.5 13C13.776 13 14 13.224 14 13.5C14 13.776 13.776 14 13.5 14C13.224 14 13 13.776 13 13.5C13 13.224 13.224 13 13.5 13 z M 15.5 13C15.776 13 16 13.224 16 13.5C16 13.776 15.776 14 15.5 14C15.224 14 15 13.776 15 13.5C15 13.224 15.224 13 15.5 13 z M 17.5 13C17.776 13 18 13.224 18 13.5C18 13.776 17.776 14 17.5 14C17.224 14 17 13.776 17 13.5C17 13.224 17.224 13 17.5 13 z M 19.5 13C19.776 13 20 13.224 20 13.5C20 13.776 19.776 14 19.5 14C19.224 14 19 13.776 19 13.5C19 13.224 19.224 13 19.5 13 z M 21.5 13C21.776 13 22 13.224 22 13.5C22 13.776 21.776 14 21.5 14C21.224 14 21 13.776 21 13.5C21 13.224 21.224 13 21.5 13 z M 23.5 13C23.776 13 24 13.224 24 13.5C24 13.776 23.776 14 23.5 14C23.224 14 23 13.776 23 13.5C23 13.224 23.224 13 23.5 13 z M 6.5 15C6.776 15 7 15.224 7 15.5C7 15.776 6.776 16 6.5 16C6.224 16 6 15.776 6 15.5C6 15.224 6.224 15 6.5 15 z M 8.5 15C8.776 15 9 15.224 9 15.5C9 15.776 8.776 16 8.5 16C8.224 16 8 15.776 8 15.5C8 15.224 8.224 15 8.5 15 z M 10.5 15C10.776 15 11 15.224 11 15.5C11 15.776 10.776 16 10.5 16C10.224 16 10 15.776 10 15.5C10 15.224 10.224 15 10.5 15 z M 12.5 15C12.776 15 13 15.224 13 15.5C13 15.776 12.776 16 12.5 16C12.224 16 12 15.776 12 15.5C12 15.224 12.224 15 12.5 15 z M 14.5 15C14.776 15 15 15.224 15 15.5C15 15.776 14.776 16 14.5 16C14.224 16 14 15.776 14 15.5C14 15.224 14.224 15 14.5 15 z M 16.5 15C16.776 15 17 15.224 17 15.5C17 15.776 16.776 16 16.5 16C16.224 16 16 15.776 16 15.5C16 15.224 16.224 15 16.5 15 z M 18.5 15C18.776 15 19 15.224 19 15.5C19 15.776 18.776 16 18.5 16C18.224 16 18 15.776 18 15.5C18 15.224 18.224 15 18.5 15 z M 20.5 15C20.776 15 21 15.224 21 15.5C21 15.776 20.776 16 20.5 16C20.224 16 20 15.776 20 15.5C20 15.224 20.224 15 20.5 15 z M 22.5 15C22.776 15 23 15.224 23 15.5C23 15.776 22.776 16 22.5 16C22.224 16 22 15.776 22 15.5C22 15.224 22.224 15 22.5 15 z M 7.5 17C7.776 17 8 17.224 8 17.5C8 17.776 7.776 18 7.5 18C7.224 18 7 17.776 7 17.5C7 17.224 7.224 17 7.5 17 z M 9.5 17C9.776 17 10 17.224 10 17.5C10 17.776 9.776 18 9.5 18C9.224 18 9 17.776 9 17.5C9 17.224 9.224 17 9.5 17 z M 11.5 17C11.776 17 12 17.224 12 17.5C12 17.776 11.776 18 11.5 18C11.224 18 11 17.776 11 17.5C11 17.224 11.224 17 11.5 17 z M 13.5 17C13.776 17 14 17.224 14 17.5C14 17.776 13.776 18 13.5 18C13.224 18 13 17.776 13 17.5C13 17.224 13.224 17 13.5 17 z M 15.5 17C15.776 17 16 17.224 16 17.5C16 17.776 15.776 18 15.5 18C15.224 18 15 17.776 15 17.5C15 17.224 15.224 17 15.5 17 z M 17.5 17C17.776 17 18 17.224 18 17.5C18 17.776 17.776 18 17.5 18C17.224 18 17 17.776 17 17.5C17 17.224 17.224 17 17.5 17 z M 19.5 17C19.776 17 20 17.224 20 17.5C20 17.776 19.776 18 19.5 18C19.224 18 19 17.776 19 17.5C19 17.224 19.224 17 19.5 17 z M 21.5 17C21.776 17 22 17.224 22 17.5C22 17.776 21.776 18 21.5 18C21.224 18 21 17.776 21 17.5C21 17.224 21.224 17 21.5 17 z M 23.5 17C23.776 17 24 17.224 24 17.5C24 17.776 23.776 18 23.5 18C23.224 18 23 17.776 23 17.5C23 17.224 23.224 17 23.5 17 z M 6.5 19C6.776 19 7 19.224 7 19.5C7 19.776 6.776 20 6.5 20C6.224 20 6 19.776 6 19.5C6 19.224 6.224 19 6.5 19 z M 8.5 19C8.776 19 9 19.224 9 19.5C9 19.776 8.776 20 8.5 20C8.224 20 8 19.776 8 19.5C8 19.224 8.224 19 8.5 19 z M 10.5 19C10.776 19 11 19.224 11 19.5C11 19.776 10.776 20 10.5 20C10.224 20 10 19.776 10 19.5C10 19.224 10.224 19 10.5 19 z M 12.5 19C12.776 19 13 19.224 13 19.5C13 19.776 12.776 20 12.5 20C12.224 20 12 19.776 12 19.5C12 19.224 12.224 19 12.5 19 z M 14.5 19C14.776 19 15 19.224 15 19.5C15 19.776 14.776 20 14.5 20C14.224 20 14 19.776 14 19.5C14 19.224 14.224 19 14.5 19 z M 16.5 19C16.776 19 17 19.224 17 19.5C17 19.776 16.776 20 16.5 20C16.224 20 16 19.776 16 19.5C16 19.224 16.224 19 16.5 19 z M 18.5 19C18.776 19 19 19.224 19 19.5C19 19.776 18.776 20 18.5 20C18.224 20 18 19.776 18 19.5C18 19.224 18.224 19 18.5 19 z M 20.5 19C20.776 19 21 19.224 21 19.5C21 19.776 20.776 20 20.5 20C20.224 20 20 19.776 20 19.5C20 19.224 20.224 19 20.5 19 z M 22.5 19C22.776 19 23 19.224 23 19.5C23 19.776 22.776 20 22.5 20C22.224 20 22 19.776 22 19.5C22 19.224 22.224 19 22.5 19 z M 7.5 21C7.776 21 8 21.224 8 21.5C8 21.776 7.776 22 7.5 22C7.224 22 7 21.776 7 21.5C7 21.224 7.224 21 7.5 21 z M 9.5 21C9.776 21 10 21.224 10 21.5C10 21.776 9.776 22 9.5 22C9.224 22 9 21.776 9 21.5C9 21.224 9.224 21 9.5 21 z M 11.5 21C11.776 21 12 21.224 12 21.5C12 21.776 11.776 22 11.5 22C11.224 22 11 21.776 11 21.5C11 21.224 11.224 21 11.5 21 z M 13.5 21C13.776 21 14 21.224 14 21.5C14 21.776 13.776 22 13.5 22C13.224 22 13 21.776 13 21.5C13 21.224 13.224 21 13.5 21 z M 15.5 21C15.776 21 16 21.224 16 21.5C16 21.776 15.776 22 15.5 22C15.224 22 15 21.776 15 21.5C15 21.224 15.224 21 15.5 21 z M 17.5 21C17.776 21 18 21.224 18 21.5C18 21.776 17.776 22 17.5 22C17.224 22 17 21.776 17 21.5C17 21.224 17.224 21 17.5 21 z M 19.5 21C19.776 21 20 21.224 20 21.5C20 21.776 19.776 22 19.5 22C19.224 22 19 21.776 19 21.5C19 21.224 19.224 21 19.5 21 z M 21.5 21C21.776 21 22 21.224 22 21.5C22 21.776 21.776 22 21.5 22C21.224 22 21 21.776 21 21.5C21 21.224 21.224 21 21.5 21 z M 23.5 21C23.776 21 24 21.224 24 21.5C24 21.776 23.776 22 23.5 22C23.224 22 23 21.776 23 21.5C23 21.224 23.224 21 23.5 21 z M 6.5 23C6.776 23 7 23.224 7 23.5C7 23.776 6.776 24 6.5 24C6.224 24 6 23.776 6 23.5C6 23.224 6.224 23 6.5 23 z M 8.5 23C8.776 23 9 23.224 9 23.5C9 23.776 8.776 24 8.5 24C8.224 24 8 23.776 8 23.5C8 23.224 8.224 23 8.5 23 z M 10.5 23C10.776 23 11 23.224 11 23.5C11 23.776 10.776 24 10.5 24C10.224 24 10 23.776 10 23.5C10 23.224 10.224 23 10.5 23 z M 12.5 23C12.776 23 13 23.224 13 23.5C13 23.776 12.776 24 12.5 24C12.224 24 12 23.776 12 23.5C12 23.224 12.224 23 12.5 23 z M 14.5 23C14.776 23 15 23.224 15 23.5C15 23.776 14.776 24 14.5 24C14.224 24 14 23.776 14 23.5C14 23.224 14.224 23 14.5 23 z M 16.5 23C16.776 23 17 23.224 17 23.5C17 23.776 16.776 24 16.5 24C16.224 24 16 23.776 16 23.5C16 23.224 16.224 23 16.5 23 z M 18.5 23C18.776 23 19 23.224 19 23.5C19 23.776 18.776 24 18.5 24C18.224 24 18 23.776 18 23.5C18 23.224 18.224 23 18.5 23 z M 20.5 23C20.776 23 21 23.224 21 23.5C21 23.776 20.776 24 20.5 24C20.224 24 20 23.776 20 23.5C20 23.224 20.224 23 20.5 23 z M 22.5 23C22.776 23 23 23.224 23 23.5C23 23.776 22.776 24 22.5 24C22.224 24 22 23.776 22 23.5C22 23.224 22.224 23 22.5 23 z"/></svg>
|
|
@@ -1,7 +1 @@
|
|
|
1
|
-
|
|
2
|
-
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
3
|
-
<path d="M2.38351 13.793C1.93748 10.6294 1.71447 9.04765 2.66232 8.02383C3.61017 7 5.29758 7 8.67239 7H15.3276C18.7024 7 20.3898 7 21.3377 8.02383C22.2855 9.04765 22.0625 10.6294 21.6165 13.793L21.1935 16.793C20.8437 19.2739 20.6689 20.5143 19.7717 21.2572C18.8745 22 17.5512 22 14.9046 22H9.09536C6.44881 22 5.12553 22 4.22834 21.2572C3.33115 20.5143 3.15626 19.2739 2.80648 16.793L2.38351 13.793Z" stroke="#1C274C" stroke-width="1.5"/>
|
|
4
|
-
<path d="M12 17C12 17.8284 11.3284 18.5 10.5 18.5C9.67157 18.5 9 17.8284 9 17C9 16.1716 9.67157 15.5 10.5 15.5C11.3284 15.5 12 16.1716 12 17ZM12 17V10.5C12 12.1569 13.8954 13.5 15 13.5" stroke="#1C274C" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
5
|
-
<path d="M19.5617 7C19.7904 5.69523 18.7863 4.5 17.4617 4.5H6.53788C5.21323 4.5 4.20922 5.69523 4.43784 7" stroke="#1C274C" stroke-width="1.5"/>
|
|
6
|
-
<path d="M17.4999 4.5C17.5283 4.24092 17.5425 4.11135 17.5427 4.00435C17.545 2.98072 16.7739 2.12064 15.7561 2.01142C15.6497 2 15.5194 2 15.2588 2H8.74099C8.48035 2 8.35002 2 8.24362 2.01142C7.22584 2.12064 6.45481 2.98072 6.45704 4.00434C6.45727 4.11135 6.47146 4.2409 6.49983 4.5" stroke="#1C274C" stroke-width="1.5"/>
|
|
7
|
-
</svg>
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="none" d="M2.38351 13.793C1.93748 10.6294 1.71447 9.04765 2.66232 8.02383C3.61017 7 5.29758 7 8.67239 7H15.3276C18.7024 7 20.3898 7 21.3377 8.02383C22.2855 9.04765 22.0625 10.6294 21.6165 13.793L21.1935 16.793C20.8437 19.2739 20.6689 20.5143 19.7717 21.2572C18.8745 22 17.5512 22 14.9046 22H9.09536C6.44881 22 5.12553 22 4.22834 21.2572C3.33115 20.5143 3.15626 19.2739 2.80648 16.793L2.38351 13.793Z" stroke="currentColor" stroke-width="1.5"/><path fill="none" d="M12 17C12 17.8284 11.3284 18.5 10.5 18.5C9.67157 18.5 9 17.8284 9 17C9 16.1716 9.67157 15.5 10.5 15.5C11.3284 15.5 12 16.1716 12 17ZM12 17V10.5C12 12.1569 13.8954 13.5 15 13.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path fill="none" d="M19.5617 7C19.7904 5.69523 18.7863 4.5 17.4617 4.5H6.53788C5.21323 4.5 4.20922 5.69523 4.43784 7" stroke="currentColor" stroke-width="1.5"/><path fill="none" d="M17.4999 4.5C17.5283 4.24092 17.5425 4.11135 17.5427 4.00435C17.545 2.98072 16.7739 2.12064 15.7561 2.01142C15.6497 2 15.5194 2 15.2588 2H8.74099C8.48035 2 8.35002 2 8.24362 2.01142C7.22584 2.12064 6.45481 2.98072 6.45704 4.00434C6.45727 4.11135 6.47146 4.2409 6.49983 4.5" stroke="currentColor" stroke-width="1.5"/></svg>
|
|
@@ -1,4 +1 @@
|
|
|
1
|
-
|
|
2
|
-
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
3
|
-
<path d="M3 14V9C3 5.68629 5.68629 3 9 3H9.23529C12.4191 3 15 5.58095 15 8.76471C15 9.44694 15.5531 10 16.2353 10H18C19.6569 10 21 11.3431 21 13V16.2C21 17.8802 21 18.7202 20.673 19.362C20.3854 19.9265 19.9265 20.3854 19.362 20.673C18.7202 21 17.8802 21 16.2 21H7.8C6.11984 21 5.27976 21 4.63803 20.673C4.07354 20.3854 3.6146 19.9265 3.32698 19.362C3 18.7202 3 17.8802 3 16.2V14ZM3 14H21M7 14V17M10 14V17M13 14V17M17 14V17" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
4
|
-
</svg>
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="none" d="M3 14V9C3 5.68629 5.68629 3 9 3H9.23529C12.4191 3 15 5.58095 15 8.76471C15 9.44694 15.5531 10 16.2353 10H18C19.6569 10 21 11.3431 21 13V16.2C21 17.8802 21 18.7202 20.673 19.362C20.3854 19.9265 19.9265 20.3854 19.362 20.673C18.7202 21 17.8802 21 16.2 21H7.8C6.11984 21 5.27976 21 4.63803 20.673C4.07354 20.3854 3.6146 19.9265 3.32698 19.362C3 18.7202 3 17.8802 3 16.2V14ZM3 14H21M7 14V17M10 14V17M13 14V17M17 14V17" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
<svg fill="#000000" width="800px" height="800px" viewBox="0 0 56 56" xmlns="http://www.w3.org/2000/svg"><path d="M 29.7460 51.8359 C 33.2147 51.8359 38.4647 49.2344 38.4647 42.3437 L 38.4647 20.8984 C 38.4647 19.7265 38.6522 19.5156 39.7069 19.3047 L 50.8868 16.8437 C 51.7072 16.6563 52.2462 16 52.2462 15.1797 L 52.2462 6.3437 C 52.2462 5.0312 51.1912 4.1641 49.9024 4.4453 L 37.4803 7.1406 C 35.8632 7.4922 34.9960 8.3359 34.9960 9.7422 L 35.1366 35.8047 C 35.1366 36.8828 34.6444 37.5859 33.6835 37.7734 L 29.9569 38.5703 C 25.1757 39.5547 22.9491 42.0156 22.9491 45.6015 C 22.9491 49.2578 25.7850 51.8359 29.7460 51.8359 Z M 5.3476 16.3750 L 26.3007 16.3750 C 27.1913 16.3750 27.8944 15.6484 27.8944 14.7812 C 27.8944 13.9141 27.1913 13.2109 26.3007 13.2109 L 5.3476 13.2109 C 4.4803 13.2109 3.7538 13.9141 3.7538 14.7812 C 3.7538 15.6484 4.4803 16.3750 5.3476 16.3750 Z M 5.3476 24.7187 L 26.3007 24.7187 C 27.2147 24.7187 27.8944 23.9922 27.8944 23.1016 C 27.8944 22.2344 27.1913 21.5547 26.3007 21.5547 L 5.3476 21.5547 C 4.4803 21.5547 3.7538 22.2344 3.7538 23.1016 C 3.7538 23.9922 4.4569 24.7187 5.3476 24.7187 Z M 5.3476 33.0625 L 26.3007 33.0625 C 27.2147 33.0625 27.8944 32.3594 27.8944 31.4687 C 27.8944 30.6016 27.1913 29.8984 26.3007 29.8984 L 5.3476 29.8984 C 4.4803 29.8984 3.7538 30.6016 3.7538 31.4687 C 3.7538 32.3594 4.4569 33.0625 5.3476 33.0625 Z"/></svg>
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 56 56"><path d="M 29.7460 51.8359 C 33.2147 51.8359 38.4647 49.2344 38.4647 42.3437 L 38.4647 20.8984 C 38.4647 19.7265 38.6522 19.5156 39.7069 19.3047 L 50.8868 16.8437 C 51.7072 16.6563 52.2462 16 52.2462 15.1797 L 52.2462 6.3437 C 52.2462 5.0312 51.1912 4.1641 49.9024 4.4453 L 37.4803 7.1406 C 35.8632 7.4922 34.9960 8.3359 34.9960 9.7422 L 35.1366 35.8047 C 35.1366 36.8828 34.6444 37.5859 33.6835 37.7734 L 29.9569 38.5703 C 25.1757 39.5547 22.9491 42.0156 22.9491 45.6015 C 22.9491 49.2578 25.7850 51.8359 29.7460 51.8359 Z M 5.3476 16.3750 L 26.3007 16.3750 C 27.1913 16.3750 27.8944 15.6484 27.8944 14.7812 C 27.8944 13.9141 27.1913 13.2109 26.3007 13.2109 L 5.3476 13.2109 C 4.4803 13.2109 3.7538 13.9141 3.7538 14.7812 C 3.7538 15.6484 4.4803 16.3750 5.3476 16.3750 Z M 5.3476 24.7187 L 26.3007 24.7187 C 27.2147 24.7187 27.8944 23.9922 27.8944 23.1016 C 27.8944 22.2344 27.1913 21.5547 26.3007 21.5547 L 5.3476 21.5547 C 4.4803 21.5547 3.7538 22.2344 3.7538 23.1016 C 3.7538 23.9922 4.4569 24.7187 5.3476 24.7187 Z M 5.3476 33.0625 L 26.3007 33.0625 C 27.2147 33.0625 27.8944 32.3594 27.8944 31.4687 C 27.8944 30.6016 27.1913 29.8984 26.3007 29.8984 L 5.3476 29.8984 C 4.4803 29.8984 3.7538 30.6016 3.7538 31.4687 C 3.7538 32.3594 4.4569 33.0625 5.3476 33.0625 Z"/></svg>
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
<svg fill="#000000" width="800px" height="800px" viewBox="0 0 32 32" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;" version="1.1" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:serif="http://www.serif.com/" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M5.991,12.003l-0.001,0c-1.105,0 -2.002,0.897 -2.002,2.002c-0,1.105 0.897,2.002 2.002,2.002c1.104,-0 2.001,-0.897 2.001,-2.002l0,-7.122c0,-0 6.001,-0.75 6.001,-0.75l0.003,3.867c-1.105,0 -2.002,0.897 -2.002,2.002c0,1.105 0.897,2.001 2.002,2.001c1.105,0 2.002,-0.896 2.002,-2.001l-0.006,-7.003c0,-0.286 -0.123,-0.559 -0.338,-0.749c-0.215,-0.19 -0.501,-0.278 -0.786,-0.242l-8,1c-0.5,0.062 -0.876,0.488 -0.876,0.992l0,6.003Z"/><path d="M12.617,20.597c-0.813,0.815 -1.326,1.33 -1.326,1.33c-0.186,0.187 -0.29,0.44 -0.291,0.703l-0.009,4.368c-0.001,0.265 0.104,0.52 0.292,0.708c0.188,0.188 0.442,0.294 0.708,0.294l4.427,0c0.265,-0 0.518,-0.105 0.706,-0.291l1.305,-1.3l-5.812,-5.812Zm1.411,-1.417l5.818,5.818l6.946,-6.914c0.773,-0.774 1.208,-1.823 1.208,-2.916c-0,-1.094 -0.435,-2.143 -1.208,-2.916c-0.003,-0.004 -0.006,-0.007 -0.009,-0.01c-0.774,-0.773 -1.823,-1.208 -2.916,-1.208c-1.094,0 -2.143,0.435 -2.916,1.208c-1.958,1.958 -4.822,4.83 -6.923,6.938Z"/></svg>
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill-rule="evenodd" clip-rule="evenodd"><path d="M5.991,12.003l-0.001,0c-1.105,0 -2.002,0.897 -2.002,2.002c-0,1.105 0.897,2.002 2.002,2.002c1.104,-0 2.001,-0.897 2.001,-2.002l0,-7.122c0,-0 6.001,-0.75 6.001,-0.75l0.003,3.867c-1.105,0 -2.002,0.897 -2.002,2.002c0,1.105 0.897,2.001 2.002,2.001c1.105,0 2.002,-0.896 2.002,-2.001l-0.006,-7.003c0,-0.286 -0.123,-0.559 -0.338,-0.749c-0.215,-0.19 -0.501,-0.278 -0.786,-0.242l-8,1c-0.5,0.062 -0.876,0.488 -0.876,0.992l0,6.003Z"/><path d="M12.617,20.597c-0.813,0.815 -1.326,1.33 -1.326,1.33c-0.186,0.187 -0.29,0.44 -0.291,0.703l-0.009,4.368c-0.001,0.265 0.104,0.52 0.292,0.708c0.188,0.188 0.442,0.294 0.708,0.294l4.427,0c0.265,-0 0.518,-0.105 0.706,-0.291l1.305,-1.3l-5.812,-5.812Zm1.411,-1.417l5.818,5.818l6.946,-6.914c0.773,-0.774 1.208,-1.823 1.208,-2.916c-0,-1.094 -0.435,-2.143 -1.208,-2.916c-0.003,-0.004 -0.006,-0.007 -0.009,-0.01c-0.774,-0.773 -1.823,-1.208 -2.916,-1.208c-1.094,0 -2.143,0.435 -2.916,1.208c-1.958,1.958 -4.822,4.83 -6.923,6.938Z"/></svg>
|
|
@@ -428,12 +428,27 @@
|
|
|
428
428
|
cursor: pointer;
|
|
429
429
|
}
|
|
430
430
|
|
|
431
|
+
.outro-button__content {
|
|
432
|
+
display: inline-flex;
|
|
433
|
+
align-items: center;
|
|
434
|
+
justify-content: center;
|
|
435
|
+
gap: 0.45rem;
|
|
436
|
+
}
|
|
437
|
+
|
|
431
438
|
.outro-button__icon {
|
|
432
439
|
display: block;
|
|
433
440
|
flex: none;
|
|
434
441
|
width: 1.25em;
|
|
435
442
|
height: 1.25em;
|
|
436
|
-
|
|
443
|
+
fill: var(--outro-button-icon-color, currentColor);
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
.outro-button__icon [fill]:not([fill="none"]) {
|
|
447
|
+
fill: var(--outro-button-icon-color, currentColor);
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
.outro-button__icon [stroke]:not([stroke="none"]) {
|
|
451
|
+
stroke: var(--outro-button-icon-color, currentColor);
|
|
437
452
|
}
|
|
438
453
|
|
|
439
454
|
.outro-button:hover {
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OutroRails
|
|
4
|
+
module IconsHelper
|
|
5
|
+
ICON_DIR = "app/assets/images/outro_rails"
|
|
6
|
+
ICON_NAME = /\A[a-z0-9][a-z0-9_-]*\z/i
|
|
7
|
+
SVG_OPEN_TAG = /<svg\b([^>]*)>/i
|
|
8
|
+
SVG_ATTRIBUTE = /([\w:.-]+)\s*=\s*("[^"]*"|'[^']*')/
|
|
9
|
+
|
|
10
|
+
MANAGED = %w[
|
|
11
|
+
class style width height fill role focusable aria-hidden aria-label
|
|
12
|
+
].freeze
|
|
13
|
+
|
|
14
|
+
class << self
|
|
15
|
+
def source(name)
|
|
16
|
+
key = normalize(name)
|
|
17
|
+
|
|
18
|
+
mutex.synchronize do
|
|
19
|
+
cache[key] ||= sanitize(path_for(key).read.strip, key)
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def reset_cache!
|
|
24
|
+
mutex.synchronize { @cache = {} }
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def path_for(name)
|
|
28
|
+
key = normalize(name)
|
|
29
|
+
path = OutroRails::Engine.root.join(ICON_DIR, "#{key}.svg")
|
|
30
|
+
|
|
31
|
+
unless path.file?
|
|
32
|
+
raise ArgumentError, "unknown Outro icon #{name.inspect} " \
|
|
33
|
+
"(expected #{path})"
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
path
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
private
|
|
40
|
+
|
|
41
|
+
def sanitize(markup, key)
|
|
42
|
+
if markup.match?(/<style\b/i)
|
|
43
|
+
raise ArgumentError,
|
|
44
|
+
"Outro icon #{key.inspect} contains a <style> block, which " \
|
|
45
|
+
"would leak into the host page once inlined. Express its " \
|
|
46
|
+
"rules as presentation attributes on the shapes instead."
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
markup.gsub(/\s+id\s*=\s*("[^"]*"|'[^']*')/, "")
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def normalize(name)
|
|
53
|
+
key = name.to_s.strip.sub(/\.svg\z/i, "")
|
|
54
|
+
|
|
55
|
+
unless key.match?(ICON_NAME)
|
|
56
|
+
raise ArgumentError, "invalid Outro icon name #{name.inspect}"
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
key
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def cache
|
|
63
|
+
@cache ||= {}
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def mutex
|
|
67
|
+
@mutex ||= Mutex.new
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def outro_icon(name, title: nil, **options)
|
|
72
|
+
markup = OutroRails::IconsHelper.source(name)
|
|
73
|
+
attributes = { fill: "currentColor", focusable: "false" }
|
|
74
|
+
|
|
75
|
+
if title.present?
|
|
76
|
+
attributes[:role] = "img"
|
|
77
|
+
attributes[:"aria-label"] = title
|
|
78
|
+
else
|
|
79
|
+
attributes[:"aria-hidden"] = "true"
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
attributes.merge!(options)
|
|
83
|
+
|
|
84
|
+
markup.sub(SVG_OPEN_TAG) do
|
|
85
|
+
kept = Regexp.last_match(1).to_s
|
|
86
|
+
.scan(SVG_ATTRIBUTE)
|
|
87
|
+
.reject { |attr, _| MANAGED.include?(attr.downcase) }
|
|
88
|
+
.map { |attr, value| "#{attr}=#{value}" }
|
|
89
|
+
|
|
90
|
+
"<svg #{(kept << tag.attributes(attributes)).join(' ')}>"
|
|
91
|
+
end.html_safe
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
def outro_button_icon(name, **options)
|
|
95
|
+
options[:class] = [ "outro-button__icon", options[:class] ]
|
|
96
|
+
.compact_blank.join(" ")
|
|
97
|
+
outro_icon(name, **options)
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
def outro_button_content(icon = nil, text = nil, icon_options: {}, &block)
|
|
101
|
+
body = block ? capture(&block) : text
|
|
102
|
+
parts = []
|
|
103
|
+
parts << outro_button_icon(icon, **icon_options) if icon.present?
|
|
104
|
+
parts << body if body.present?
|
|
105
|
+
|
|
106
|
+
tag.span(safe_join(parts), class: "outro-button__content")
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
end
|
|
@@ -38,8 +38,7 @@
|
|
|
38
38
|
<%= button_tag type: :submit, name: nil,
|
|
39
39
|
class: outro_button_class,
|
|
40
40
|
"aria-label": "Show Shapes" do %>
|
|
41
|
-
<%=
|
|
42
|
-
Show Shapes
|
|
41
|
+
<%= outro_button_content "shapes", "Show Shapes" %>
|
|
43
42
|
<% end %>
|
|
44
43
|
<% end %>
|
|
45
44
|
|
|
@@ -107,9 +107,8 @@
|
|
|
107
107
|
<% if transposed %>
|
|
108
108
|
<%= link_to url_for(request.query_parameters.except("to_key")),
|
|
109
109
|
class: outro_button_class do %>
|
|
110
|
-
<%=
|
|
111
|
-
|
|
112
|
-
<%= "Reset to #{chord_chart.key}" %>
|
|
110
|
+
<%= outro_button_content "undo",
|
|
111
|
+
"Reset to #{chord_chart.key}" %>
|
|
113
112
|
<% end %>
|
|
114
113
|
<% end %>
|
|
115
114
|
</div>
|
|
@@ -236,9 +235,8 @@
|
|
|
236
235
|
<%= button_to revert_path,
|
|
237
236
|
method: :delete, class: outro_button_class,
|
|
238
237
|
form_class: "outro-inline-form" do %>
|
|
239
|
-
<%=
|
|
240
|
-
|
|
241
|
-
Revert to default
|
|
238
|
+
<%= outro_button_content "undo",
|
|
239
|
+
"Revert to default" %>
|
|
242
240
|
<% end %>
|
|
243
241
|
<% elsif !showing %>
|
|
244
242
|
<%
|
|
@@ -249,11 +247,10 @@
|
|
|
249
247
|
<%= button_to pick_path,
|
|
250
248
|
method: :post,
|
|
251
249
|
params: { chord_voicing_id: candidate.id },
|
|
252
|
-
class:
|
|
250
|
+
class: outro_button_class,
|
|
253
251
|
form_class: "outro-inline-form" do %>
|
|
254
|
-
<%=
|
|
255
|
-
|
|
256
|
-
Select Voicing
|
|
252
|
+
<%= outro_button_content "check",
|
|
253
|
+
"Select Voicing" %>
|
|
257
254
|
<% end %>
|
|
258
255
|
<% elsif is_pick %>
|
|
259
256
|
<%
|
|
@@ -264,9 +261,8 @@
|
|
|
264
261
|
<%= button_to revert_path,
|
|
265
262
|
method: :delete, class: outro_button_class,
|
|
266
263
|
form_class: "outro-inline-form" do %>
|
|
267
|
-
<%=
|
|
268
|
-
|
|
269
|
-
Revert to default
|
|
264
|
+
<%= outro_button_content "undo",
|
|
265
|
+
"Revert to default" %>
|
|
270
266
|
<% end %>
|
|
271
267
|
<% end %>
|
|
272
268
|
</div>
|
|
@@ -9,8 +9,7 @@
|
|
|
9
9
|
<%= button_tag type: :submit, name: nil,
|
|
10
10
|
class: outro_button_class,
|
|
11
11
|
"aria-label": "Search" do %>
|
|
12
|
-
<%=
|
|
13
|
-
Search
|
|
12
|
+
<%= outro_button_content "search", "Search" %>
|
|
14
13
|
<% end %>
|
|
15
14
|
<% end %>
|
|
16
15
|
|
|
@@ -65,16 +64,14 @@
|
|
|
65
64
|
<%= button_tag type: :submit, name: nil,
|
|
66
65
|
class: outro_button_class,
|
|
67
66
|
"aria-label": "Filter" do %>
|
|
68
|
-
<%=
|
|
69
|
-
Filter
|
|
67
|
+
<%= outro_button_content "filter", "Filter" %>
|
|
70
68
|
<% end %>
|
|
71
69
|
|
|
72
70
|
<% if filters_active? %>
|
|
73
71
|
<%= link_to chords_path,
|
|
74
72
|
class: outro_button_class,
|
|
75
73
|
"aria-label": "Clear" do %>
|
|
76
|
-
<%=
|
|
77
|
-
Clear
|
|
74
|
+
<%= outro_button_content "clear", "Clear" %>
|
|
78
75
|
<% end %>
|
|
79
76
|
<% end %>
|
|
80
77
|
<% end %>
|
|
@@ -21,8 +21,7 @@
|
|
|
21
21
|
<%= link_to chords_path,
|
|
22
22
|
class: outro_button_class,
|
|
23
23
|
"aria-label": "Clear Filters" do %>
|
|
24
|
-
<%=
|
|
25
|
-
Clear Filters
|
|
24
|
+
<%= outro_button_content "clear", "Clear Filters" %>
|
|
26
25
|
<% end %>
|
|
27
26
|
</div>
|
|
28
27
|
<% else %>
|
|
@@ -24,8 +24,7 @@
|
|
|
24
24
|
<%= button_tag type: :submit, name: nil,
|
|
25
25
|
class: outro_button_class,
|
|
26
26
|
"aria-label": "Show Tuning" do %>
|
|
27
|
-
<%=
|
|
28
|
-
Show Tuning
|
|
27
|
+
<%= outro_button_content "guitar", "Show Tuning" %>
|
|
29
28
|
<% end %>
|
|
30
29
|
<% end %>
|
|
31
30
|
</div>
|
|
@@ -36,12 +36,14 @@
|
|
|
36
36
|
highlight_frets = guitar_positions(
|
|
37
37
|
Array(local_assigns.fetch(:highlight_frets, [])).select(&complete)
|
|
38
38
|
)
|
|
39
|
-
highlight_color = local_assigns.fetch(:highlight_color,
|
|
39
|
+
highlight_color = local_assigns.fetch(:highlight_color,
|
|
40
|
+
"var(--outro-accent, #2f6bed)")
|
|
40
41
|
root_frets = guitar_positions(
|
|
41
42
|
Array(local_assigns.fetch(:root_frets, [])).select(&complete)
|
|
42
43
|
)
|
|
43
44
|
highlight_frets |= root_frets
|
|
44
|
-
root_color = local_assigns.fetch(:root_color,
|
|
45
|
+
root_color = local_assigns.fetch(:root_color,
|
|
46
|
+
"var(--outro-root, #d1495b)")
|
|
45
47
|
prefer = local_assigns.fetch(:prefer, "sharps").to_sym
|
|
46
48
|
|
|
47
49
|
open_midis = guitar_open_midis(tuning) # { 1 => 64, ..., 6 => 40 }
|
|
@@ -29,9 +29,11 @@
|
|
|
29
29
|
default_tuning = OutroRails::InstrumentsHelper::GUITAR_STANDARD_TUNING
|
|
30
30
|
tuning = local_assigns.fetch(:tuning, default_tuning)
|
|
31
31
|
highlight_frets = guitar_positions(local_assigns.fetch(:highlight_frets, []))
|
|
32
|
-
highlight_color = local_assigns.fetch(:highlight_color,
|
|
32
|
+
highlight_color = local_assigns.fetch(:highlight_color,
|
|
33
|
+
"var(--outro-accent, #2f6bed)")
|
|
33
34
|
root_frets = guitar_positions(local_assigns.fetch(:root_frets, []))
|
|
34
|
-
root_color = local_assigns.fetch(:root_color,
|
|
35
|
+
root_color = local_assigns.fetch(:root_color,
|
|
36
|
+
"var(--outro-root, #d1495b)")
|
|
35
37
|
prefer = local_assigns.fetch(:prefer, 'sharps')
|
|
36
38
|
|
|
37
39
|
start_fret, end_fret = end_fret, start_fret if start_fret > end_fret
|
|
@@ -18,9 +18,11 @@
|
|
|
18
18
|
start_note = local_assigns.fetch(:start_note, nil).presence || "C3"
|
|
19
19
|
end_note = local_assigns.fetch(:end_note, nil).presence || "C5"
|
|
20
20
|
highlight_keys = Array(local_assigns.fetch(:highlight_keys, []))
|
|
21
|
-
highlight_color = local_assigns.fetch(:highlight_color,
|
|
21
|
+
highlight_color = local_assigns.fetch(:highlight_color,
|
|
22
|
+
"var(--outro-accent, #2f6bed)")
|
|
22
23
|
root_keys = Array(local_assigns.fetch(:root_keys, []))
|
|
23
|
-
root_color = local_assigns.fetch(:root_color,
|
|
24
|
+
root_color = local_assigns.fetch(:root_color,
|
|
25
|
+
"var(--outro-root, #d1495b)")
|
|
24
26
|
prefer = local_assigns.fetch(:prefer, "sharps").to_sym
|
|
25
27
|
|
|
26
28
|
keys = piano_keys_between(start_note, end_note, prefer: prefer)
|
|
@@ -29,6 +31,8 @@
|
|
|
29
31
|
|
|
30
32
|
white_w, white_h = 14, 46 # viewBox units
|
|
31
33
|
black_w, black_h = 8.5, 28
|
|
34
|
+
stroke_w = 0.75
|
|
35
|
+
pad = stroke_w / 2.0
|
|
32
36
|
|
|
33
37
|
whites = []
|
|
34
38
|
blacks = []
|
|
@@ -60,23 +64,28 @@
|
|
|
60
64
|
else
|
|
61
65
|
"Piano keyboard from #{start_note} to #{end_note}"
|
|
62
66
|
end
|
|
67
|
+
|
|
68
|
+
width = [white_index, 1].max * white_w
|
|
69
|
+
vb_w = width + (pad * 2)
|
|
70
|
+
vb_h = white_h + (pad * 2)
|
|
63
71
|
%>
|
|
64
72
|
|
|
65
73
|
<svg class="outro-figure__svg outro-figure__svg--piano"
|
|
66
|
-
viewBox="
|
|
67
|
-
width="<%= (
|
|
74
|
+
viewBox="<%= -pad %> <%= -pad %> <%= vb_w %> <%= vb_h %>"
|
|
75
|
+
width="<%= (vb_w * 0.9).round %>"
|
|
76
|
+
height="<%= (vb_h * 0.9).round %>"
|
|
68
77
|
role="img"
|
|
69
78
|
aria-label="<%= label %>">
|
|
70
79
|
<% whites.each do |key| %>
|
|
71
80
|
<rect x="<%= key[:x] %>" y="0"
|
|
72
81
|
width="<%= white_w %>" height="<%= white_h %>"
|
|
73
82
|
rx="1.5" fill="<%= fill_for.call(key) %>"
|
|
74
|
-
stroke="#444444" stroke-width="
|
|
83
|
+
stroke="#444444" stroke-width="<%= stroke_w %>" />
|
|
75
84
|
<% end %>
|
|
76
85
|
<% blacks.each do |key| %>
|
|
77
86
|
<rect x="<%= key[:x] %>" y="0"
|
|
78
87
|
width="<%= black_w %>" height="<%= black_h %>"
|
|
79
88
|
rx="1.5" fill="<%= fill_for.call(key) %>"
|
|
80
|
-
stroke="#111111" stroke-width="
|
|
89
|
+
stroke="#111111" stroke-width="<%= stroke_w %>" />
|
|
81
90
|
<% end %>
|
|
82
91
|
</svg>
|
|
@@ -21,9 +21,11 @@
|
|
|
21
21
|
start_note = local_assigns.fetch(:start_note, "C3")
|
|
22
22
|
end_note = local_assigns.fetch(:end_note, "C5")
|
|
23
23
|
highlight_keys = Array(local_assigns.fetch(:highlight_keys, []))
|
|
24
|
-
highlight_color = local_assigns.fetch(:highlight_color,
|
|
24
|
+
highlight_color = local_assigns.fetch(:highlight_color,
|
|
25
|
+
"var(--outro-accent, #2f6bed)")
|
|
25
26
|
root_keys = Array(local_assigns.fetch(:root_keys, []))
|
|
26
|
-
root_color = local_assigns.fetch(:root_color,
|
|
27
|
+
root_color = local_assigns.fetch(:root_color,
|
|
28
|
+
"var(--outro-root, #d1495b)")
|
|
27
29
|
prefer = local_assigns.fetch(:prefer, 'sharps').to_sym
|
|
28
30
|
|
|
29
31
|
keys = piano_keys_between(start_note, end_note, prefer: prefer)
|
|
@@ -31,7 +31,6 @@
|
|
|
31
31
|
<%= button_tag type: :submit, name: nil,
|
|
32
32
|
class: outro_button_class,
|
|
33
33
|
"aria-label": "Show Scale" do %>
|
|
34
|
-
<%=
|
|
35
|
-
Show Scale
|
|
34
|
+
<%= outro_button_content "scales", "Show Scale" %>
|
|
36
35
|
<% end %>
|
|
37
36
|
<% end %>
|
|
@@ -55,9 +55,7 @@
|
|
|
55
55
|
<%= button_tag type: :submit, name: nil,
|
|
56
56
|
class: outro_button_class,
|
|
57
57
|
"aria-label": "Transpose" do %>
|
|
58
|
-
<%=
|
|
59
|
-
class: 'outro-button__icon' %>
|
|
60
|
-
Transpose
|
|
58
|
+
<%= outro_button_content "transposer", "Transpose" %>
|
|
61
59
|
<% end %>
|
|
62
60
|
<% end %>
|
|
63
61
|
</section>
|
data/lib/outro_rails/version.rb
CHANGED
data/lib/outro_rails.rb
CHANGED
|
@@ -33,6 +33,14 @@ module OutroRails
|
|
|
33
33
|
mattr_accessor :select_class, default: ELEMENT_CLASS_DEFAULTS[:select]
|
|
34
34
|
mattr_accessor :textarea_class, default: ELEMENT_CLASS_DEFAULTS[:textarea]
|
|
35
35
|
|
|
36
|
+
mattr_accessor :button_icon_color, default: nil
|
|
37
|
+
|
|
38
|
+
BUTTON_ICON_COLOR_PROPERTY = "--outro-button-icon-color"
|
|
39
|
+
|
|
40
|
+
def self.button_icon_color?
|
|
41
|
+
button_icon_color.present?
|
|
42
|
+
end
|
|
43
|
+
|
|
36
44
|
def self.configure
|
|
37
45
|
yield self
|
|
38
46
|
self
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: outro_rails
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.9
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- endtoendpaper
|
|
@@ -80,6 +80,7 @@ files:
|
|
|
80
80
|
- app/helpers/outro_rails/chords_helper.rb
|
|
81
81
|
- app/helpers/outro_rails/circle_of_fifths_helper.rb
|
|
82
82
|
- app/helpers/outro_rails/class_names_helper.rb
|
|
83
|
+
- app/helpers/outro_rails/icons_helper.rb
|
|
83
84
|
- app/helpers/outro_rails/instruments_helper.rb
|
|
84
85
|
- app/helpers/outro_rails/scales_helper.rb
|
|
85
86
|
- app/helpers/outro_rails/transposer_helper.rb
|