trestle 0.10.0.pre → 0.10.0.pre2
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/.github/workflows/release.yml +26 -0
 - data/.github/workflows/rspec.yml +6 -2
 - data/Gemfile +14 -5
 - data/app/assets/bundle/trestle/admin.css +4 -4
 - data/app/assets/bundle/trestle/admin.js +2 -2
 - data/app/controllers/concerns/trestle/controller/turbo_stream.rb +12 -0
 - data/app/controllers/concerns/trestle/resource/controller/actions.rb +3 -3
 - data/app/controllers/trestle/application_controller.rb +1 -1
 - data/app/helpers/trestle/modal_helper.rb +0 -5
 - data/app/helpers/trestle/turbo/frame_helper.rb +29 -0
 - data/app/helpers/trestle/turbo/stream_helper.rb +9 -0
 - data/app/helpers/trestle/turbo/tag_builder.rb +21 -0
 - data/app/helpers/trestle/url_helper.rb +1 -1
 - data/app/views/layouts/trestle/admin.html.erb +1 -1
 - data/app/views/layouts/trestle/admin.turbo_stream.erb +2 -9
 - data/app/views/trestle/application/_header.html.erb +12 -10
 - data/app/views/trestle/resource/create.turbo_stream.erb +1 -5
 - data/app/views/trestle/resource/destroy.turbo_stream.erb +1 -1
 - data/app/views/trestle/resource/edit.html.erb +2 -0
 - data/app/views/trestle/resource/index.html.erb +5 -0
 - data/app/views/trestle/resource/new.html.erb +5 -0
 - data/app/views/trestle/resource/show.html.erb +2 -0
 - data/app/views/trestle/resource/update.turbo_stream.erb +1 -5
 - data/app/views/trestle/shared/_sidebar.html.erb +2 -2
 - data/frontend/css/components/_alerts.scss +22 -20
 - data/frontend/css/components/_avatar.scss +12 -12
 - data/frontend/css/components/_background.scss +1 -1
 - data/frontend/css/components/_breadcrumbs.scss +8 -29
 - data/frontend/css/components/_buttons.scss +3 -3
 - data/frontend/css/components/_datepicker.scss +3 -3
 - data/frontend/css/components/_dropdown.scss +18 -26
 - data/frontend/css/components/_forms.scss +4 -4
 - data/frontend/css/components/_grid.scss +29 -0
 - data/frontend/css/components/_media-grid.scss +1 -1
 - data/frontend/css/components/_modal.scss +4 -4
 - data/frontend/css/components/_pagination.scss +4 -8
 - data/frontend/css/components/_popover.scss +1 -1
 - data/frontend/css/components/_scopes.scss +4 -10
 - data/frontend/css/components/_select.scss +8 -9
 - data/frontend/css/components/_sort.scss +1 -1
 - data/frontend/css/components/_table.scss +5 -5
 - data/frontend/css/components/_tabs.scss +11 -18
 - data/frontend/css/components/_tags.scss +16 -6
 - data/frontend/css/components/_toolbars.scss +9 -9
 - data/frontend/css/core/_functions.scss +0 -8
 - data/frontend/css/core/_theme.scss +3 -0
 - data/frontend/css/core/_typography.scss +12 -19
 - data/frontend/css/index.scss +3 -1
 - data/frontend/css/layout/_base.scss +4 -2
 - data/frontend/css/layout/_content-header.scss +71 -0
 - data/frontend/css/layout/_footer.scss +5 -7
 - data/frontend/css/layout/_main-content.scss +107 -0
 - data/frontend/css/layout/_navigation.scss +111 -49
 - data/frontend/css/layout/_sidebar.scss +58 -34
 - data/frontend/css/variables/_bootstrap.scss +30 -21
 - data/frontend/css/variables/_trestle.scss +17 -17
 - data/frontend/js/controllers/batch_action_controller.js +59 -0
 - data/frontend/js/controllers/checkbox_select_controller.js +3 -0
 - data/lib/trestle/engine.rb +18 -16
 - data/lib/trestle/resource/toolbar.rb +18 -8
 - data/lib/trestle/sprockets_compressor.rb +16 -0
 - data/lib/trestle/toolbar/context.rb +7 -4
 - data/lib/trestle/toolbar/menu.rb +8 -5
 - data/lib/trestle/version.rb +1 -1
 - data/package.json +1 -1
 - data/trestle.gemspec +5 -9
 - data/yarn.lock +17 -32
 - metadata +34 -69
 - data/app/controllers/concerns/trestle/controller/turbo.rb +0 -21
 - data/app/helpers/trestle/turbo_frame_helper.rb +0 -34
 - data/frontend/css/layout/_content.scss +0 -173
 
| 
         @@ -1,173 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            .content-header {
         
     | 
| 
       2 
     | 
    
         
            -
              display: flex;
         
     | 
| 
       3 
     | 
    
         
            -
              justify-content: space-between;
         
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
              background: $content-header-bg;
         
     | 
| 
       6 
     | 
    
         
            -
              padding: 20px;
         
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
              h1 {
         
     | 
| 
       9 
     | 
    
         
            -
                font-size: 2.5rem;
         
     | 
| 
       10 
     | 
    
         
            -
                font-weight: 200;
         
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
       12 
     | 
    
         
            -
                margin-top: 0;
         
     | 
| 
       13 
     | 
    
         
            -
                margin-bottom: 0.5rem;
         
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
                @include media-breakpoint-down(md) {
         
     | 
| 
       16 
     | 
    
         
            -
                  font-size: 2.25rem;
         
     | 
| 
       17 
     | 
    
         
            -
                }
         
     | 
| 
       18 
     | 
    
         
            -
              }
         
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
              .breadcrumb {
         
     | 
| 
       21 
     | 
    
         
            -
                margin-bottom: 0;
         
     | 
| 
       22 
     | 
    
         
            -
              }
         
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
              .content-header-title {
         
     | 
| 
       25 
     | 
    
         
            -
                margin: 5px 0;
         
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
                @include media-breakpoint-down(md) {
         
     | 
| 
       28 
     | 
    
         
            -
                  margin: 2px 0;
         
     | 
| 
       29 
     | 
    
         
            -
                }
         
     | 
| 
       30 
     | 
    
         
            -
              }
         
     | 
| 
       31 
     | 
    
         
            -
             
     | 
| 
       32 
     | 
    
         
            -
              .btn {
         
     | 
| 
       33 
     | 
    
         
            -
                white-space: nowrap;
         
     | 
| 
       34 
     | 
    
         
            -
              }
         
     | 
| 
       35 
     | 
    
         
            -
             
     | 
| 
       36 
     | 
    
         
            -
              .btn-toolbar {
         
     | 
| 
       37 
     | 
    
         
            -
                flex-direction: row-reverse;
         
     | 
| 
       38 
     | 
    
         
            -
              }
         
     | 
| 
       39 
     | 
    
         
            -
             
     | 
| 
       40 
     | 
    
         
            -
              .secondary-toolbar {
         
     | 
| 
       41 
     | 
    
         
            -
                margin-top: 8px;
         
     | 
| 
       42 
     | 
    
         
            -
              }
         
     | 
| 
       43 
     | 
    
         
            -
            }
         
     | 
| 
       44 
     | 
    
         
            -
             
     | 
| 
       45 
     | 
    
         
            -
            .main-content-area {
         
     | 
| 
       46 
     | 
    
         
            -
              margin: 20px;
         
     | 
| 
       47 
     | 
    
         
            -
              scroll-margin: 20px;
         
     | 
| 
       48 
     | 
    
         
            -
            }
         
     | 
| 
       49 
     | 
    
         
            -
             
     | 
| 
       50 
     | 
    
         
            -
            .main-content-container {
         
     | 
| 
       51 
     | 
    
         
            -
              background: white;
         
     | 
| 
       52 
     | 
    
         
            -
              display: flex;
         
     | 
| 
       53 
     | 
    
         
            -
              margin-bottom: 20px;
         
     | 
| 
       54 
     | 
    
         
            -
            }
         
     | 
| 
       55 
     | 
    
         
            -
             
     | 
| 
       56 
     | 
    
         
            -
            .main-content,
         
     | 
| 
       57 
     | 
    
         
            -
            .main-content-sidebar {
         
     | 
| 
       58 
     | 
    
         
            -
              padding: 20px;
         
     | 
| 
       59 
     | 
    
         
            -
            }
         
     | 
| 
       60 
     | 
    
         
            -
             
     | 
| 
       61 
     | 
    
         
            -
            .main-content {
         
     | 
| 
       62 
     | 
    
         
            -
              // Allow nesting of tab panes directly within
         
     | 
| 
       63 
     | 
    
         
            -
              @extend .tab-content;
         
     | 
| 
       64 
     | 
    
         
            -
             
     | 
| 
       65 
     | 
    
         
            -
              flex: 1;
         
     | 
| 
       66 
     | 
    
         
            -
              min-width: 0;
         
     | 
| 
       67 
     | 
    
         
            -
            }
         
     | 
| 
       68 
     | 
    
         
            -
             
     | 
| 
       69 
     | 
    
         
            -
            .main-content-header,
         
     | 
| 
       70 
     | 
    
         
            -
            .main-content-footer {
         
     | 
| 
       71 
     | 
    
         
            -
              display: flex;
         
     | 
| 
       72 
     | 
    
         
            -
              justify-content: space-between;
         
     | 
| 
       73 
     | 
    
         
            -
            }
         
     | 
| 
       74 
     | 
    
         
            -
             
     | 
| 
       75 
     | 
    
         
            -
            .main-content-header {
         
     | 
| 
       76 
     | 
    
         
            -
              margin: -20px -20px 20px !important;
         
     | 
| 
       77 
     | 
    
         
            -
              padding: $main-content-header-padding;
         
     | 
| 
       78 
     | 
    
         
            -
              background: $main-content-header-bg;
         
     | 
| 
       79 
     | 
    
         
            -
              border-bottom: $main-content-header-border;
         
     | 
| 
       80 
     | 
    
         
            -
            }
         
     | 
| 
       81 
     | 
    
         
            -
             
     | 
| 
       82 
     | 
    
         
            -
            .main-content-footer {
         
     | 
| 
       83 
     | 
    
         
            -
              margin: 20px -20px -20px !important;
         
     | 
| 
       84 
     | 
    
         
            -
              padding: $main-content-footer-padding;
         
     | 
| 
       85 
     | 
    
         
            -
              background: $main-content-footer-bg;
         
     | 
| 
       86 
     | 
    
         
            -
              border-top: $main-content-footer-border;
         
     | 
| 
       87 
     | 
    
         
            -
            }
         
     | 
| 
       88 
     | 
    
         
            -
             
     | 
| 
       89 
     | 
    
         
            -
            .main-content,
         
     | 
| 
       90 
     | 
    
         
            -
            .main-content-sidebar,
         
     | 
| 
       91 
     | 
    
         
            -
            .tab-pane {
         
     | 
| 
       92 
     | 
    
         
            -
              > *:first-child {
         
     | 
| 
       93 
     | 
    
         
            -
                margin-top: 0;
         
     | 
| 
       94 
     | 
    
         
            -
              }
         
     | 
| 
       95 
     | 
    
         
            -
             
     | 
| 
       96 
     | 
    
         
            -
              > *:last-child {
         
     | 
| 
       97 
     | 
    
         
            -
                margin-bottom: 0;
         
     | 
| 
       98 
     | 
    
         
            -
              }
         
     | 
| 
       99 
     | 
    
         
            -
            }
         
     | 
| 
       100 
     | 
    
         
            -
             
     | 
| 
       101 
     | 
    
         
            -
            .main-content-sidebar {
         
     | 
| 
       102 
     | 
    
         
            -
              background: $content-sidebar-bg;
         
     | 
| 
       103 
     | 
    
         
            -
              flex: 0 0 $content-sidebar-width;
         
     | 
| 
       104 
     | 
    
         
            -
              max-width: $content-sidebar-width;
         
     | 
| 
       105 
     | 
    
         
            -
            }
         
     | 
| 
       106 
     | 
    
         
            -
             
     | 
| 
       107 
     | 
    
         
            -
            .utilities {
         
     | 
| 
       108 
     | 
    
         
            -
              display: flex;
         
     | 
| 
       109 
     | 
    
         
            -
              justify-content: flex-start;
         
     | 
| 
       110 
     | 
    
         
            -
              margin-bottom: 10px;
         
     | 
| 
       111 
     | 
    
         
            -
            }
         
     | 
| 
       112 
     | 
    
         
            -
             
     | 
| 
       113 
     | 
    
         
            -
            .error-iframe {
         
     | 
| 
       114 
     | 
    
         
            -
              display: block;
         
     | 
| 
       115 
     | 
    
         
            -
              width: 100%;
         
     | 
| 
       116 
     | 
    
         
            -
              border: 0;
         
     | 
| 
       117 
     | 
    
         
            -
              flex: 1;
         
     | 
| 
       118 
     | 
    
         
            -
              min-height: 60vh;
         
     | 
| 
       119 
     | 
    
         
            -
              max-height: 75vh;
         
     | 
| 
       120 
     | 
    
         
            -
            }
         
     | 
| 
       121 
     | 
    
         
            -
             
     | 
| 
       122 
     | 
    
         
            -
            @include media-breakpoint-down(lg) {
         
     | 
| 
       123 
     | 
    
         
            -
              .main-content-container {
         
     | 
| 
       124 
     | 
    
         
            -
                flex-direction: column;
         
     | 
| 
       125 
     | 
    
         
            -
              }
         
     | 
| 
       126 
     | 
    
         
            -
             
     | 
| 
       127 
     | 
    
         
            -
              .main-content-sidebar {
         
     | 
| 
       128 
     | 
    
         
            -
                flex-basis: 0;
         
     | 
| 
       129 
     | 
    
         
            -
                max-width: none;
         
     | 
| 
       130 
     | 
    
         
            -
              }
         
     | 
| 
       131 
     | 
    
         
            -
            }
         
     | 
| 
       132 
     | 
    
         
            -
             
     | 
| 
       133 
     | 
    
         
            -
            @include media-breakpoint-down(md) {
         
     | 
| 
       134 
     | 
    
         
            -
              .content-header {
         
     | 
| 
       135 
     | 
    
         
            -
                padding: 10px;
         
     | 
| 
       136 
     | 
    
         
            -
              }
         
     | 
| 
       137 
     | 
    
         
            -
             
     | 
| 
       138 
     | 
    
         
            -
              .main-content-area {
         
     | 
| 
       139 
     | 
    
         
            -
                margin: 10px;
         
     | 
| 
       140 
     | 
    
         
            -
                scroll-margin: 10px;
         
     | 
| 
       141 
     | 
    
         
            -
              }
         
     | 
| 
       142 
     | 
    
         
            -
             
     | 
| 
       143 
     | 
    
         
            -
              .main-content-container {
         
     | 
| 
       144 
     | 
    
         
            -
                margin-bottom: 10px;
         
     | 
| 
       145 
     | 
    
         
            -
              }
         
     | 
| 
       146 
     | 
    
         
            -
             
     | 
| 
       147 
     | 
    
         
            -
              .main-content,
         
     | 
| 
       148 
     | 
    
         
            -
              .main-content-sidebar {
         
     | 
| 
       149 
     | 
    
         
            -
                padding: 15px;
         
     | 
| 
       150 
     | 
    
         
            -
              }
         
     | 
| 
       151 
     | 
    
         
            -
             
     | 
| 
       152 
     | 
    
         
            -
              .utilities {
         
     | 
| 
       153 
     | 
    
         
            -
                margin-bottom: 10px;
         
     | 
| 
       154 
     | 
    
         
            -
              }
         
     | 
| 
       155 
     | 
    
         
            -
             
     | 
| 
       156 
     | 
    
         
            -
              .main-content-header,
         
     | 
| 
       157 
     | 
    
         
            -
              .main-content-footer {
         
     | 
| 
       158 
     | 
    
         
            -
                flex-direction: column;
         
     | 
| 
       159 
     | 
    
         
            -
                align-items: center;
         
     | 
| 
       160 
     | 
    
         
            -
              }
         
     | 
| 
       161 
     | 
    
         
            -
             
     | 
| 
       162 
     | 
    
         
            -
              .main-content-header {
         
     | 
| 
       163 
     | 
    
         
            -
                margin: -15px -15px 15px !important;
         
     | 
| 
       164 
     | 
    
         
            -
                padding-left: 15px;
         
     | 
| 
       165 
     | 
    
         
            -
                padding-right: 15px;
         
     | 
| 
       166 
     | 
    
         
            -
              }
         
     | 
| 
       167 
     | 
    
         
            -
             
     | 
| 
       168 
     | 
    
         
            -
              .main-content-footer {
         
     | 
| 
       169 
     | 
    
         
            -
                margin: 15px -15px -15px !important;
         
     | 
| 
       170 
     | 
    
         
            -
                padding-left: 15px;
         
     | 
| 
       171 
     | 
    
         
            -
                padding-right: 15px;
         
     | 
| 
       172 
     | 
    
         
            -
              }
         
     | 
| 
       173 
     | 
    
         
            -
            }
         
     |