epages-essence 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE +20 -0
- data/README.md +73 -0
- data/Rakefile +10 -0
- data/app/assets/config/essence_manifest.js +5 -0
- data/app/assets/images/essence/icon_component/arrow_up_right_from_square.svg +1 -0
- data/app/assets/images/essence/icon_component/circle_check.svg +1 -0
- data/app/assets/images/essence/icon_component/circle_exclamation.svg +1 -0
- data/app/assets/images/essence/icon_component/circle_info.svg +1 -0
- data/app/assets/images/essence/icon_component/circle_quote.svg +1 -0
- data/app/assets/images/essence/icon_component/circle_xmark.svg +1 -0
- data/app/assets/images/essence/icon_component/copy.svg +1 -0
- data/app/assets/images/essence/icon_component/download.svg +1 -0
- data/app/assets/images/essence/icon_component/eye.svg +1 -0
- data/app/assets/images/essence/icon_component/filter.svg +1 -0
- data/app/assets/images/essence/icon_component/greater_than.svg +1 -0
- data/app/assets/images/essence/icon_component/grid_2.svg +1 -0
- data/app/assets/images/essence/icon_component/home.svg +1 -0
- data/app/assets/images/essence/icon_component/link_slash.svg +1 -0
- data/app/assets/images/essence/icon_component/pencil.svg +1 -0
- data/app/assets/images/essence/icon_component/plus.svg +1 -0
- data/app/assets/images/essence/icon_component/sort.svg +1 -0
- data/app/assets/images/essence/icon_component/sort_down.svg +1 -0
- data/app/assets/images/essence/icon_component/sort_up.svg +1 -0
- data/app/assets/images/essence/icon_component/trash.svg +1 -0
- data/app/assets/images/essence/icon_component/upload.svg +1 -0
- data/app/assets/images/essence/icon_component/wand_magic_sparkles.svg +1 -0
- data/app/assets/stylesheets/essence/beyond/_base.scss +52 -0
- data/app/assets/stylesheets/essence/beyond/components/_index.scss +17 -0
- data/app/assets/stylesheets/essence/beyond/layout/_content.scss +9 -0
- data/app/assets/stylesheets/essence/beyond/layout/_index.scss +1 -0
- data/app/assets/stylesheets/essence/beyond/simple_form/_control.scss +172 -0
- data/app/assets/stylesheets/essence/beyond/simple_form/_error.scss +27 -0
- data/app/assets/stylesheets/essence/beyond/simple_form/_fieldset.scss +34 -0
- data/app/assets/stylesheets/essence/beyond/simple_form/_group.scss +6 -0
- data/app/assets/stylesheets/essence/beyond/simple_form/_hint.scss +8 -0
- data/app/assets/stylesheets/essence/beyond/simple_form/_index.scss +43 -0
- data/app/assets/stylesheets/essence/beyond/simple_form/_label.scss +26 -0
- data/app/assets/stylesheets/essence/beyond/simple_form/_wrapper.scss +5 -0
- data/app/assets/stylesheets/essence/beyond.scss +4 -0
- data/app/components/essence/action_bar_component/action_bar_component.html.erb +16 -0
- data/app/components/essence/action_bar_component/action_bar_component.scss +29 -0
- data/app/components/essence/action_bar_component.rb +27 -0
- data/app/components/essence/app_info_component/app_info_component.html.erb +19 -0
- data/app/components/essence/app_info_component/app_info_component.scss +45 -0
- data/app/components/essence/app_info_component.rb +33 -0
- data/app/components/essence/application_component.rb +36 -0
- data/app/components/essence/breadcrumb_component/breadcrumb_component.html.erb +17 -0
- data/app/components/essence/breadcrumb_component/breadcrumb_component.scss +39 -0
- data/app/components/essence/breadcrumb_component.rb +17 -0
- data/app/components/essence/button_component/button_component.html.erb +13 -0
- data/app/components/essence/button_component/button_component.scss +105 -0
- data/app/components/essence/button_component.rb +51 -0
- data/app/components/essence/card_component/card_component.html.erb +8 -0
- data/app/components/essence/card_component/card_component.scss +21 -0
- data/app/components/essence/card_component.rb +29 -0
- data/app/components/essence/clipboard_copy_component/clipboard_copy_component.html.erb +18 -0
- data/app/components/essence/clipboard_copy_component/clipboard_copy_component.scss +13 -0
- data/app/components/essence/clipboard_copy_component/clipboard_copy_component.yml +4 -0
- data/app/components/essence/clipboard_copy_component/clipboard_copy_component_controller.js +25 -0
- data/app/components/essence/clipboard_copy_component.rb +36 -0
- data/app/components/essence/empty_state_component/empty_state_component.html.erb +10 -0
- data/app/components/essence/empty_state_component/empty_state_component.scss +50 -0
- data/app/components/essence/empty_state_component.rb +33 -0
- data/app/components/essence/icon_component/icon_component.html.erb +1 -0
- data/app/components/essence/icon_component.rb +25 -0
- data/app/components/essence/link_component/link_component.html.erb +5 -0
- data/app/components/essence/link_component/link_component.scss +58 -0
- data/app/components/essence/link_component.rb +50 -0
- data/app/components/essence/notification_component/notification_component.html.erb +8 -0
- data/app/components/essence/notification_component/notification_component.scss +63 -0
- data/app/components/essence/notification_component.rb +45 -0
- data/app/components/essence/paragraph_component/paragraph_component.html.erb +3 -0
- data/app/components/essence/paragraph_component/paragraph_component.scss +59 -0
- data/app/components/essence/paragraph_component/paragraph_component_controller.js +19 -0
- data/app/components/essence/paragraph_component.rb +27 -0
- data/app/components/essence/scroll_shadow_component/scroll_shadow_component.html.erb +5 -0
- data/app/components/essence/scroll_shadow_component/scroll_shadow_component.scss +5 -0
- data/app/components/essence/scroll_shadow_component.rb +17 -0
- data/app/components/essence/spinner_component/spinner_component.html.erb +1 -0
- data/app/components/essence/spinner_component/spinner_component.scss +34 -0
- data/app/components/essence/spinner_component.rb +17 -0
- data/app/components/essence/status_component/status_component.html.erb +6 -0
- data/app/components/essence/status_component/status_component.scss +80 -0
- data/app/components/essence/status_component.rb +58 -0
- data/app/components/essence/step_list_component/item_component.html.erb +9 -0
- data/app/components/essence/step_list_component/step_list_component.html.erb +8 -0
- data/app/components/essence/step_list_component/step_list_component.scss +79 -0
- data/app/components/essence/step_list_component.rb +34 -0
- data/app/components/essence/table_component/table_component.html.erb +20 -0
- data/app/components/essence/table_component/table_component.scss +41 -0
- data/app/components/essence/table_component.rb +33 -0
- data/app/components/essence/title_component/title_component.html.erb +3 -0
- data/app/components/essence/title_component/title_component.scss +11 -0
- data/app/components/essence/title_component.rb +22 -0
- data/app/components/essence/tooltip_component/tooltip_component.html.erb +7 -0
- data/app/components/essence/tooltip_component/tooltip_component.scss +63 -0
- data/app/components/essence/tooltip_component/tooltip_component_controller.js +60 -0
- data/app/components/essence/tooltip_component.rb +23 -0
- data/app/helpers/essence/fetch_or_fallback_helper.rb +38 -0
- data/app/inputs/essence/toggle_input.rb +12 -0
- data/app/javascript/essence/application.js +4 -0
- data/app/javascript/essence/controllers/application.js +9 -0
- data/app/javascript/essence/controllers/index.js +12 -0
- data/app/views/essence/beyond/body.html.erb +8 -0
- data/config/importmap.rb +11 -0
- data/config/initializers/essence/simple_form.rb +117 -0
- data/config/locales/essence.en.yml +8 -0
- data/lib/epages/essence.rb +3 -0
- data/lib/essence/engine.rb +41 -0
- data/lib/essence/utils.rb +13 -0
- data/lib/essence/version.rb +5 -0
- data/lib/essence.rb +8 -0
- data/lib/tasks/essence_tasks.rake +6 -0
- data/vendor/javascript/@floating-ui--core.js +2 -0
- data/vendor/javascript/@floating-ui--dom.js +10 -0
- data/vendor/javascript/@floating-ui--utils--dom.js +2 -0
- data/vendor/javascript/@floating-ui--utils.js +2 -0
- data/vendor/javascript/scroll-shadow-element.js +2 -0
- metadata +300 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 6ed6897e7890245d4b2608a117871b5f3e9001bebc2e67c7931f0899dcba589e
|
4
|
+
data.tar.gz: 1c68b54c6545f6aa20ca25635e2f59de8946a51326427a7064751f94629efab6
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 112822c3aa89a967852dedd8de1881bbfa95333324236a9f8a73386d905ae52276b036988c5ff32dbf271f2c6361fd0d94217c317239403b5d3eca5c3bdb210b
|
7
|
+
data.tar.gz: 0be07019b5e9d2f50b5bd8b5874cc7e293bc701bfe4d1b4999e382881aec30f7d1b16fced4fed0dbc2907b312826605976967d34774172a815c26a783c458044
|
data/LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2024 ePages GmbH
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,73 @@
|
|
1
|
+
# Essence
|
2
|
+
|
3
|
+
![Gem Version](https://img.shields.io/gem/v/epages-essence)
|
4
|
+
![License](https://img.shields.io/github/license/ePages-de/essence)
|
5
|
+
|
6
|
+
## Installation
|
7
|
+
|
8
|
+
1. Add this line to your application's Gemfile:
|
9
|
+
|
10
|
+
```ruby
|
11
|
+
gem 'epages-essence'
|
12
|
+
```
|
13
|
+
|
14
|
+
1. Execute the following command:
|
15
|
+
|
16
|
+
```bash
|
17
|
+
bundle install
|
18
|
+
```
|
19
|
+
|
20
|
+
1. Add the following lines to the `<head>` and `<body>` of the layout you are going to use (e.g. `app/views/layouts/application.html.erb`):
|
21
|
+
|
22
|
+
```erb
|
23
|
+
<!DOCTYPE html>
|
24
|
+
<html>
|
25
|
+
<head>
|
26
|
+
<%= stylesheet_link_tag 'essence/beyond', 'data-turbo-track': 'reload' %>
|
27
|
+
<%= javascript_importmap_tags 'essence/application' %>
|
28
|
+
<%= yield :head %>
|
29
|
+
</head>
|
30
|
+
|
31
|
+
<body>
|
32
|
+
<%= render template: 'essence/beyond/body' %>
|
33
|
+
</body>
|
34
|
+
</html>
|
35
|
+
```
|
36
|
+
|
37
|
+
> Any `javascript_import_module_tag` must come after the `javascript_importmap_tags` declaration, that's why `<%= yield :head %>` is placed after this declaration. See [`importmap-rails` gem](https://github.com/rails/importmap-rails?tab=readme-ov-file#selectively-importing-modules).
|
38
|
+
|
39
|
+
## Component preview
|
40
|
+
|
41
|
+
Essence includes a Rails application that uses [Lookbook](https://lookbook.build/). By running this app, you can preview the components and explore the possibilities that Essence offers.
|
42
|
+
|
43
|
+
> Currently, the Lookbook app is in an early stage and is still under development. It does not have a preview of all the components but of most of them.
|
44
|
+
|
45
|
+
To run the Lookbook app, follow these steps:
|
46
|
+
|
47
|
+
1. Change directory to `site`, which is the Lookbook project's folder:
|
48
|
+
|
49
|
+
```bash
|
50
|
+
cd site
|
51
|
+
```
|
52
|
+
|
53
|
+
2. Start the web server:
|
54
|
+
|
55
|
+
```bash
|
56
|
+
bin/rails server
|
57
|
+
```
|
58
|
+
|
59
|
+
## Contributing
|
60
|
+
|
61
|
+
Please see [CONTRIBUTING](https://github.com/ePages-de/essence/blob/main/CONTRIBUTING.md).
|
62
|
+
|
63
|
+
## License
|
64
|
+
|
65
|
+
Essence is Copyright © 2024 ePages GmbH. It is free software, and may be redistributed under the terms specified in the [LICENSE](https://github.com/ePages-de/essence/blob/main/LICENSE) file.
|
66
|
+
|
67
|
+
## About ePages
|
68
|
+
|
69
|
+
As the largest independent provider of online shop software in Europe, ePages specialises in high-performance ecommerce solutions for small and medium-sized businesses.
|
70
|
+
Today, 100,000 companies in 70 countries operate professional online shops with ePages software in the cloud.
|
71
|
+
|
72
|
+
And we love open source software!
|
73
|
+
Check out our [other projects](https://github.com/ePages-de), or [become part of our team](https://developer.epages.com/devjobs/) and develop great ecommerce software with us!
|
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M21 13v10H0V4h12v2H2v15h17v-8h2zm3-12H13.012l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07L24 12V1z"></path></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm-1.959 17l-4.5-4.319 1.395-1.435 3.08 2.937 7.021-7.183 1.422 1.409-8.418 8.591z"></path></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm-1 6h2v8h-2v-8zm1 12.25c-.69 0-1.25-.56-1.25-1.25s.56-1.25 1.25-1.25 1.25.56 1.25 1.25-.56 1.25-1.25 1.25z"></path></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M13.25 7c0 .69-.56 1.25-1.25 1.25s-1.25-.56-1.25-1.25.56-1.25 1.25-1.25 1.25.56 1.25 1.25zm10.75 5c0 6.627-5.373 12-12 12s-12-5.373-12-12 5.373-12 12-12 12 5.373 12 12zm-2 0c0-5.514-4.486-10-10-10s-10 4.486-10 10 4.486 10 10 10 10-4.486 10-10zm-13-2v2h2v6h2v-8h-4z"/></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg data-token-category="icons" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M13 14.725C13 9.584 16.892 4.206 23 3l.984 2.126c-2.215.835-4.163 3.742-4.38 5.746A5.213 5.213 0 0124 16.021C24 19.203 21.416 21 18.801 21 15.786 21 13 18.695 13 14.725zm-13 0C0 9.584 3.892 4.206 10 3l.984 2.126c-2.215.835-4.163 3.742-4.38 5.746A5.213 5.213 0 0111 16.021C11 19.203 8.416 21 5.801 21 2.786 21 0 18.695 0 14.725z"></path></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm6 16.538l-4.592-4.548 4.546-4.587-1.416-1.403-4.545 4.589-4.588-4.543-1.405 1.405 4.593 4.552-4.547 4.592 1.405 1.405 4.555-4.596 4.591 4.55 1.403-1.416z"></path></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M18 6v-6h-18v18h6v6h18v-18h-6zm-12 10h-4v-14h14v4h-10v10zm16 6h-14v-14h14v14zm-3-8h-3v-3h-2v3h-3v2h3v3h2v-3h3v-2z"></path></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M12 21l-8-9h6V0h4v12h6l-8 9zm9-1v2H3v-2H1v4h22v-4h-2z"></path></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M12 3.8C3.4 3.8 0 12 0 12s3.4 8.1 12 8.1c8.5 0 12-8.1 12-8.1s-3.4-8.2-12-8.2zm-.1 2.5v1.5c-1.2 0-2.2 1-2.2 2.2H8.2c0-2.1 1.6-3.7 3.7-3.7zm.1 11.8c-5.6 0-8.6-4.4-9.7-6.1.7-1.2 2.3-3.7 5-5.1-.6.9-1 2-1 3.2 0 3.2 2.6 5.7 5.7 5.7s5.7-2.6 5.7-5.7c0-1.2-.4-2.3-1-3.2 2.7 1.4 4.2 3.9 4.9 5.1-1 1.7-4 6.1-9.6 6.1z"></path></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M1 0l9 15.094V21l4 3v-8.906L23 0H1zm18.479 2l-2.981 5H7.502L4.521 2h14.958z"></path></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M5 3l3.057-3L20 12 8.057 24 5 21l9-9z"></path></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M8.7 15.3H2.2v6.5h6.5v-6.5zm13.1 0h-6.5v6.5h6.5v-6.5zm-10.9-2.2V24H0V13.1h10.9zm13.1 0V24H13.1V13.1H24zM21.8 2.2h-6.5v6.5h6.5V2.2zM10.9 0v10.9H0V0h10.9zM24 0v10.9H13.1V0H24z"></path></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M12 9.185l7 6.514V22h-3v-5H8v5H5v-6.301l7-6.514zm0-2.732l-9 8.375V24h7v-5h4v5h7v-9.172l-9-8.375zm12 5.695L12 1 0 12.133l1.361 1.465L12 3.73l10.639 9.883L24 12.148z"></path></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24px" height="24px" viewBox="0 0 24 24"><path d="M21.9206803,2.07973917 C24.6916599,4.85172473 24.6916599,9.3487013 21.9206803,12.1216869 L18.0807087,15.9606669 L15.9597243,13.8386779 L19.798696,9.99869792 C21.3976842,8.40070624 21.3976842,5.79971979 19.797696,4.20172811 C18.1997078,2.60273644 15.598727,2.60273644 14.0007387,4.20072812 L10.1607671,8.03970812 L8.03978272,5.91871917 L11.8797544,2.07973917 C14.650734,-0.693246389 19.1467008,-0.693246389 21.9206803,2.07973917 Z M13.8387399,15.9586669 L9.99876827,19.7976469 C8.40078005,21.3976385 5.79979924,21.3966385 4.19981104,19.7976469 C2.60182283,18.1996552 2.60182283,15.5976688 4.19981104,14.0006771 L8.03978272,10.1606971 L5.91879836,8.03970812 L2.07882668,11.8796881 C-0.692152876,14.6516737 -0.693152869,19.1476503 2.07882668,21.9206358 C4.85180623,24.6926214 9.34877306,24.6936214 12.1197526,21.9206358 L15.9597243,18.0806558 L13.8387399,15.9586669 Z"></path></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M14.078 7.061l2.861 2.862-10.799 10.798-3.584.723.724-3.585 10.798-10.798zm0-2.829l-12.64 12.64-1.438 7.128 7.127-1.438 12.642-12.64-5.691-5.69zm7.105 4.277l2.817-2.82-5.691-5.689-2.816 2.817 5.69 5.692z"></path></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M24 10h-10v-10h-4v10h-10v4h10v10h4v-10h10z"></path></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M12 3.202L15.839 8H8.161L12 3.202zM12 0L4 10h16L12 0zm3.839 16L12 20.798 8.161 16h7.678zM20 14H4l8 10 8-10z"></path></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M12 3.202L15.839 8H8.161L12 3.202zM12 0L4 10h16L12 0zm8 14H4l8 10 8-10z"></path></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M12 0L4 10h16L12 0zm3.839 16L12 20.798 8.161 16h7.678zM20 14H4l8 10 8-10z"></path></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M9 19a1 1 0 01-2 0V9a1 1 0 012 0v10zm4 0a1 1 0 01-2 0V9a1 1 0 012 0v10zm4 0a1 1 0 01-2 0V9a1 1 0 012 0v10zm5-17v2H2V2h5.711c.9 0 1.631-1.099 1.631-2h5.315c0 .901.73 2 1.631 2H22zm-3 4v16H5V6H3v18h18V6h-2z"></path></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M10 9H4l8-9 8 9h-6v11h-4V9zm11 11v2H3v-2H1v4h22v-4h-2z"></path></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M8 4.5L4.5 8l16 16 3.5-3.5-16-16zm2.4 7.7L6.3 8 8 6.3l4.2 4.2-1.8 1.7zM15 7c.2-.2.5-1.3.8-2.7 1.3-.3 2.5-.6 2.7-.8-.2-.2-1.3-.5-2.7-.8-.3-1.4-.6-2.5-.8-2.7-.2.2-.5 1.3-.8 2.7-1.3.3-2.5.6-2.7.8.2.2 1.3.5 2.7.8.3 1.4.6 2.5.8 2.7zM4 13c-.2.2-.5 1.3-.8 2.7-1.3.3-2.5.6-2.7.8.2.2 1.3.5 2.7.8.3 1.4.6 2.5.8 2.7.2-.2.5-1.3.8-2.7 1.3-.3 2.5-.6 2.7-.8-.2-.2-1.3-.5-2.7-.8-.3-1.3-.6-2.5-.8-2.7zm-.5-7c.2-.2.5-1.2.7-2.3 1.1-.2 2.1-.5 2.3-.7-.2-.2-1.2-.5-2.3-.7C4 1.2 3.7.2 3.5 0c-.2.2-.5 1.2-.7 2.3-1.1.2-2.1.5-2.3.7.2.2 1.2.5 2.3.7.2 1.1.5 2.1.7 2.3zM2 11c.1-.1.2-.6.4-1.1.6-.1 1.1-.3 1.1-.4-.1-.1-.6-.2-1.1-.4-.2-.5-.3-1-.4-1.1-.1.1-.2.6-.4 1.1-.5.2-1 .3-1.1.4.1.1.6.2 1.1.4.2.5.3 1 .4 1.1z"></path></svg>
|
@@ -0,0 +1,52 @@
|
|
1
|
+
:root {
|
2
|
+
--workspace-text: #3e3e3e;
|
3
|
+
--workspace-background: #e6e6e6;
|
4
|
+
}
|
5
|
+
|
6
|
+
body {
|
7
|
+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;
|
8
|
+
-webkit-font-smoothing: antialiased;
|
9
|
+
-moz-osx-font-smoothing: grayscale;
|
10
|
+
font-size: 14px;
|
11
|
+
color: var(--workspace-text);
|
12
|
+
line-height: 1.5;
|
13
|
+
}
|
14
|
+
|
15
|
+
html,
|
16
|
+
body {
|
17
|
+
background-color: var(--workspace-background);
|
18
|
+
padding: 0;
|
19
|
+
margin: 0;
|
20
|
+
}
|
21
|
+
|
22
|
+
body * {
|
23
|
+
font-family: inherit;
|
24
|
+
-webkit-font-smoothing: inherit;
|
25
|
+
-moz-osx-font-smoothing: inherit;
|
26
|
+
font-size: inherit;
|
27
|
+
color: inherit;
|
28
|
+
}
|
29
|
+
|
30
|
+
*,
|
31
|
+
*::before,
|
32
|
+
*::after {
|
33
|
+
box-sizing: border-box;
|
34
|
+
}
|
35
|
+
|
36
|
+
h1,
|
37
|
+
h2,
|
38
|
+
h3 {
|
39
|
+
margin: 0;
|
40
|
+
}
|
41
|
+
|
42
|
+
h1 {
|
43
|
+
font-size: 160%;
|
44
|
+
}
|
45
|
+
|
46
|
+
h2 {
|
47
|
+
font-size: 140%;
|
48
|
+
}
|
49
|
+
|
50
|
+
h3 {
|
51
|
+
font-size: 120%;
|
52
|
+
}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
@import '../../../../../components/essence/action_bar_component/action_bar_component';
|
2
|
+
@import '../../../../../components/essence/app_info_component/app_info_component';
|
3
|
+
@import '../../../../../components/essence/breadcrumb_component/breadcrumb_component';
|
4
|
+
@import '../../../../../components/essence/button_component/button_component';
|
5
|
+
@import '../../../../../components/essence/card_component/card_component';
|
6
|
+
@import '../../../../../components/essence/clipboard_copy_component/clipboard_copy_component';
|
7
|
+
@import '../../../../../components/essence/empty_state_component/empty_state_component';
|
8
|
+
@import '../../../../../components/essence/link_component/link_component';
|
9
|
+
@import '../../../../../components/essence/notification_component/notification_component';
|
10
|
+
@import '../../../../../components/essence/paragraph_component/paragraph_component';
|
11
|
+
@import '../../../../../components/essence/scroll_shadow_component/scroll_shadow_component';
|
12
|
+
@import '../../../../../components/essence/spinner_component/spinner_component';
|
13
|
+
@import '../../../../../components/essence/status_component/status_component';
|
14
|
+
@import '../../../../../components/essence/step_list_component/step_list_component';
|
15
|
+
@import '../../../../../components/essence/table_component/table_component';
|
16
|
+
@import '../../../../../components/essence/title_component/title_component';
|
17
|
+
@import '../../../../../components/essence/tooltip_component/tooltip_component';
|
@@ -0,0 +1 @@
|
|
1
|
+
@import 'content';
|
@@ -0,0 +1,172 @@
|
|
1
|
+
.form {
|
2
|
+
&-control {
|
3
|
+
&.country,
|
4
|
+
&.numeric,
|
5
|
+
&.password,
|
6
|
+
&.select,
|
7
|
+
&.string {
|
8
|
+
background-color: var(--inputField-background);
|
9
|
+
border: 1px solid var(--inputField-border);
|
10
|
+
border-radius: var(--inputField-borderRadius);
|
11
|
+
color: var(--inputField-text);
|
12
|
+
display: block;
|
13
|
+
font-size: 14px;
|
14
|
+
outline: none;
|
15
|
+
padding: 6px 8px;
|
16
|
+
transition: border-color 0.125s ease-in, box-shadow 0.125s ease-in;
|
17
|
+
width: 100%;
|
18
|
+
|
19
|
+
&::placeholder {
|
20
|
+
color: var(--inputField-placeholder-text);
|
21
|
+
}
|
22
|
+
|
23
|
+
&:focus {
|
24
|
+
border-color: var(--inputField-border-focus);
|
25
|
+
}
|
26
|
+
|
27
|
+
&:disabled {
|
28
|
+
background-color: var(--inputField-background-disabled);
|
29
|
+
color: var(--inputField-text-disabled);
|
30
|
+
}
|
31
|
+
|
32
|
+
&.invalid {
|
33
|
+
box-shadow: inset 2px 0 0 0 var(--formGroup-validation-error);
|
34
|
+
}
|
35
|
+
}
|
36
|
+
|
37
|
+
&.numeric,
|
38
|
+
&.password,
|
39
|
+
&.string {
|
40
|
+
&:read-only {
|
41
|
+
background-color: var(--inputField-background-disabled);
|
42
|
+
color: var(--inputField-text-disabled);
|
43
|
+
border-color: var(--inputField-border);
|
44
|
+
}
|
45
|
+
}
|
46
|
+
|
47
|
+
&.select {
|
48
|
+
-webkit-appearance: none;
|
49
|
+
appearance: none;
|
50
|
+
background-image: url('data:image/svg+xml;charset=utf-8,%3Csvg data-token-category=%27icons%27 xmlns=%27http://www.w3.org/2000/svg%27 width=%2724%27 height=%2724%27 viewBox=%270 0 24 24%27 fill=%27%237a764c%27%3E %3Cpath d=%27M24,7L12,19L0,7H24z%27/%3E %3C/svg%3E');
|
51
|
+
background-position: right 10px top 50%;
|
52
|
+
background-repeat: no-repeat;
|
53
|
+
background-size: 10px auto;
|
54
|
+
padding-right: 30px;
|
55
|
+
}
|
56
|
+
|
57
|
+
&.boolean,
|
58
|
+
&.check_boxes {
|
59
|
+
appearance: none;
|
60
|
+
border: 2px solid var(--uncheck-color);
|
61
|
+
border-radius: 0;
|
62
|
+
cursor: pointer;
|
63
|
+
flex-shrink: 0;
|
64
|
+
height: 16px;
|
65
|
+
margin: 0;
|
66
|
+
width: 16px;
|
67
|
+
|
68
|
+
&:checked {
|
69
|
+
background-color: var(--check-color);
|
70
|
+
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolygon fill='%23ffffff' points='9.6,18.4 3.8,12.8 5.8,10.7 9.5,14.3 18,5.6 20.1,7.7'/%3E%3C/svg%3E%0A");
|
71
|
+
background-size: contain;
|
72
|
+
border: none;
|
73
|
+
}
|
74
|
+
|
75
|
+
~ .form-label {
|
76
|
+
cursor: pointer;
|
77
|
+
}
|
78
|
+
|
79
|
+
&:disabled {
|
80
|
+
border-color: var(--check-disabled-icon);
|
81
|
+
|
82
|
+
&:checked {
|
83
|
+
background-color: var(--check-disabled-text);
|
84
|
+
}
|
85
|
+
|
86
|
+
~ .form-label {
|
87
|
+
color: var(--check-disabled-text);
|
88
|
+
}
|
89
|
+
}
|
90
|
+
}
|
91
|
+
|
92
|
+
&.toggle {
|
93
|
+
border: 1px solid var(--flipSwitch-border);
|
94
|
+
border-radius: 11px;
|
95
|
+
cursor: pointer;
|
96
|
+
display: block;
|
97
|
+
height: 22px;
|
98
|
+
position: relative;
|
99
|
+
width: 42px;
|
100
|
+
|
101
|
+
&::before {
|
102
|
+
background-color: var(--flipSwitch-unchecked-background);
|
103
|
+
border-radius: 100%;
|
104
|
+
content: '';
|
105
|
+
height: 18px;
|
106
|
+
left: 1px;
|
107
|
+
position: absolute;
|
108
|
+
top: 1px;
|
109
|
+
transition: .3s;
|
110
|
+
width: 18px;
|
111
|
+
background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20.5" height="20.5" viewBox="0 0 20.5 20.5"><path fill="%23ffffff" d="M15.2,13.7l-3.5-3.4,3.4-3.5-1.5-1.5-3.4,3.5-3.5-3.4-1.5,1.5,3.5,3.4-3.4,3.5,1.5,1.5,3.4-3.5,3.5,3.4,1.5-1.5Z"/></svg>');
|
112
|
+
background-size: contain;
|
113
|
+
}
|
114
|
+
|
115
|
+
&:has(~ input[type="checkbox"]:checked) {
|
116
|
+
&::before {
|
117
|
+
background-color: var(--flipSwitch-checked-background);
|
118
|
+
left: calc(100% - 19px);
|
119
|
+
background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20.5" height="20.5" viewBox="0 0 20.5 20.5"><path fill="%23ffffff" d="M8.6,15.3l-5-4.8,1.6-1.6,3.4,3.3,6.8-7,1.6,1.6-8.4,8.5Z"/></svg>');
|
120
|
+
}
|
121
|
+
}
|
122
|
+
|
123
|
+
~ input[type="checkbox"] {
|
124
|
+
opacity: 0;
|
125
|
+
width: 0;
|
126
|
+
height: 0;
|
127
|
+
margin: 0;
|
128
|
+
}
|
129
|
+
|
130
|
+
~ .form-label {
|
131
|
+
cursor: pointer;
|
132
|
+
}
|
133
|
+
}
|
134
|
+
|
135
|
+
&.radio_buttons {
|
136
|
+
appearance: none;
|
137
|
+
border: 2px solid var(--uncheck-color);
|
138
|
+
border-radius: 100%;
|
139
|
+
cursor: pointer;
|
140
|
+
flex-shrink: 0;
|
141
|
+
height: 16px;
|
142
|
+
margin: 0;
|
143
|
+
width: 16px;
|
144
|
+
|
145
|
+
&:checked {
|
146
|
+
background-color: var(--check-color);
|
147
|
+
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='%23ffffff' %3E%3Cpath d='M12,2.4c-5.3,0-9.6,4.3-9.6,9.6s4.3,9.6,9.6,9.6s9.6-4.3,9.6-9.6S17.3,2.4,12,2.4z M12,18.2c-3.5,0-6.3-2.7-6.3-6.2 S8.6,5.7,12,5.7s6.2,2.9,6.2,6.3S15.5,18.2,12,18.2z' /%3E%3C/svg%3E");
|
148
|
+
background-size: contain;
|
149
|
+
border: none;
|
150
|
+
cursor: default;
|
151
|
+
}
|
152
|
+
|
153
|
+
&:not(:checked) {
|
154
|
+
~ .form-label {
|
155
|
+
cursor: pointer;
|
156
|
+
}
|
157
|
+
}
|
158
|
+
|
159
|
+
&:disabled {
|
160
|
+
border-color: var(--check-disabled-icon);
|
161
|
+
|
162
|
+
&:checked {
|
163
|
+
background-color: var(--check-disabled-text);
|
164
|
+
}
|
165
|
+
|
166
|
+
~ .form-label {
|
167
|
+
color: var(--check-disabled-text);
|
168
|
+
}
|
169
|
+
}
|
170
|
+
}
|
171
|
+
}
|
172
|
+
}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
.form {
|
2
|
+
&-error {
|
3
|
+
background-color: var(--formGroup-validation-error);
|
4
|
+
border-radius: var(--formGroup-validation-borderRadius);
|
5
|
+
color: var(--formGroup-validation-text);
|
6
|
+
font-size: 13px;
|
7
|
+
font-weight: normal;
|
8
|
+
margin: 0;
|
9
|
+
padding: 5px 7px;
|
10
|
+
position: absolute;
|
11
|
+
top: calc(100% + 8px);
|
12
|
+
z-index: 1;
|
13
|
+
|
14
|
+
&::before {
|
15
|
+
border: solid transparent;
|
16
|
+
border-bottom-color: var(--formGroup-validation-error);
|
17
|
+
border-width: 6px;
|
18
|
+
bottom: 100%;
|
19
|
+
content: '';
|
20
|
+
height: 0;
|
21
|
+
left: 8px;
|
22
|
+
pointer-events: none;
|
23
|
+
position: absolute;
|
24
|
+
width: 0;
|
25
|
+
}
|
26
|
+
}
|
27
|
+
}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
.form {
|
2
|
+
&-fieldset {
|
3
|
+
border: none;
|
4
|
+
margin: 0;
|
5
|
+
padding: 0;
|
6
|
+
|
7
|
+
&.check_boxes,
|
8
|
+
&.radio_buttons {
|
9
|
+
.form-wrapper {
|
10
|
+
display: flex;
|
11
|
+
flex-direction: column;
|
12
|
+
gap: 7px;
|
13
|
+
}
|
14
|
+
}
|
15
|
+
|
16
|
+
&.check_boxes {
|
17
|
+
.form-legend {
|
18
|
+
color: #3e3e3e;
|
19
|
+
margin-bottom: 15px;
|
20
|
+
font-size: 20px;
|
21
|
+
font-weight: normal;
|
22
|
+
}
|
23
|
+
}
|
24
|
+
|
25
|
+
&.radio_buttons {
|
26
|
+
.form-legend {
|
27
|
+
color: var(--formGroup-label);
|
28
|
+
font-size: 13px;
|
29
|
+
font-weight: bold;
|
30
|
+
margin-bottom: 8px;
|
31
|
+
}
|
32
|
+
}
|
33
|
+
}
|
34
|
+
}
|
@@ -0,0 +1,43 @@
|
|
1
|
+
:root {
|
2
|
+
--formGroup-label: gray;
|
3
|
+
--formGroup-validation-error: #da3c3c;
|
4
|
+
--formGroup-validation-text: white;
|
5
|
+
--formGroup-validation-borderRadius: 3px;
|
6
|
+
|
7
|
+
--inputField-borderRadius: 3px;
|
8
|
+
--inputField-border: #d2d2d2;
|
9
|
+
--inputField-border-focus: orange;
|
10
|
+
--inputField-text: #3e3e3e;
|
11
|
+
--inputField-background: white;
|
12
|
+
--inputField-background-focus: white;
|
13
|
+
--inputField-background-disabled: #f5f5f5;
|
14
|
+
--inputField-text-disabled: #9a9a9a;
|
15
|
+
--inputField-placeholder-text: #a4a4a4;
|
16
|
+
--inputField-hint-text: gray;
|
17
|
+
|
18
|
+
--smartInputField-suggestion-active: #b3ecff;
|
19
|
+
--smartInputField-value-background: #d9d9d9;
|
20
|
+
--smartInputField-value-text: #666666;
|
21
|
+
--smartInputField-value-icon: currentColor;
|
22
|
+
--smartInputField-value-icon-hover: #4d4d4d;
|
23
|
+
--smartInputField-value-borderRadius: 3px;
|
24
|
+
|
25
|
+
--check-color: #97c344;
|
26
|
+
--uncheck-color: #b3b3b3;
|
27
|
+
--check-disabled-text: #c5c5c5;
|
28
|
+
--check-disabled-icon: #d9d9d9;
|
29
|
+
|
30
|
+
--flipSwitch-unchecked-background: #b3b3b3;
|
31
|
+
--flipSwitch-checked-background: #97c344;
|
32
|
+
--flipSwitch-border: #c0c0c0;
|
33
|
+
--flipSwitch-label: gray;
|
34
|
+
--flipSwitch-text: silver;
|
35
|
+
}
|
36
|
+
|
37
|
+
@import 'control';
|
38
|
+
@import 'error';
|
39
|
+
@import 'fieldset';
|
40
|
+
@import 'group';
|
41
|
+
@import 'hint';
|
42
|
+
@import 'label';
|
43
|
+
@import 'wrapper';
|
@@ -0,0 +1,26 @@
|
|
1
|
+
.form {
|
2
|
+
&-label {
|
3
|
+
&.collection_radio_buttons {
|
4
|
+
color: #808080;
|
5
|
+
font-size: 13px;
|
6
|
+
}
|
7
|
+
|
8
|
+
&:not(.collection_radio_buttons) {
|
9
|
+
color: var(--formGroup-label);
|
10
|
+
font-size: 13px;
|
11
|
+
font-weight: bold;
|
12
|
+
}
|
13
|
+
|
14
|
+
&.boolean,
|
15
|
+
&.collection_check_boxes,
|
16
|
+
&.collection_radio_buttons {
|
17
|
+
line-height: 16px;
|
18
|
+
padding-left: 7px;
|
19
|
+
}
|
20
|
+
|
21
|
+
&.toggle {
|
22
|
+
line-height: 16px;
|
23
|
+
padding-left: 10px;
|
24
|
+
}
|
25
|
+
}
|
26
|
+
}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<% content_for :action_bar do %>
|
2
|
+
<div <%= tag.attributes **html_options %>>
|
3
|
+
<div class="action-bar-wrapper">
|
4
|
+
<div class="action-bar-left-content">
|
5
|
+
<% left_components.each do |component| %>
|
6
|
+
<%= component %>
|
7
|
+
<% end %>
|
8
|
+
</div>
|
9
|
+
<div class="action-bar-right-content">
|
10
|
+
<% right_components.each do |component| %>
|
11
|
+
<%= component %>
|
12
|
+
<% end %>
|
13
|
+
</div>
|
14
|
+
</div>
|
15
|
+
</div>
|
16
|
+
<% end %>
|