Repository: cprodhomme/arctic_admin
Branch: main
Commit: 98c7f8fdf8bf
Files: 62
Total size: 52.1 KB
Directory structure:
gitextract_8s76iiy1/
├── .github/
│ ├── FUNDING.yml
│ ├── ISSUE_TEMPLATE/
│ │ ├── bug_report.md
│ │ └── feature_request.md
│ └── workflows/
│ ├── gem-push.yml
│ └── npm-publish.yml
├── .gitignore
├── .tool-versions
├── Gemfile
├── LICENCE.txt
├── README.md
├── app/
│ └── assets/
│ ├── images/
│ │ └── .keep
│ ├── javascripts/
│ │ └── arctic_admin/
│ │ ├── base.js
│ │ └── main.js
│ └── stylesheets/
│ └── arctic_admin/
│ ├── _base.scss
│ ├── _buttons.scss
│ ├── _common.scss
│ ├── _fonts.scss
│ ├── _grid.scss
│ ├── _main.scss
│ ├── _reset.scss
│ ├── components/
│ │ ├── _columns.scss
│ │ ├── _comments.scss
│ │ ├── _date_picker.scss
│ │ ├── _dialogs.scss
│ │ ├── _flash.scss
│ │ ├── _form.scss
│ │ ├── _inputs.scss
│ │ ├── _pagination.scss
│ │ ├── _panel_contents.scss
│ │ ├── _select2.scss
│ │ ├── _status_tag.scss
│ │ ├── _tables.scss
│ │ ├── _tabs.scss
│ │ └── _toggle.scss
│ ├── layouts/
│ │ ├── _filter.scss
│ │ ├── _footer.scss
│ │ ├── _header.scss
│ │ ├── _main_content.scss
│ │ ├── _sidebar.scss
│ │ └── _wrapper.scss
│ ├── mixins/
│ │ ├── _buttons_mixins.scss
│ │ ├── _forms.scss
│ │ ├── _mixins.scss
│ │ ├── _prefix_mixins.scss
│ │ └── _sidebar_mixins.scss
│ ├── pages/
│ │ ├── _form.scss
│ │ ├── _index.scss
│ │ ├── _login.scss
│ │ └── _show.scss
│ └── variables/
│ ├── _borders.scss
│ ├── _box_shadows.scss
│ ├── _colors.scss
│ ├── _fonts.scss
│ ├── _icons.scss
│ ├── _media_queries.scss
│ ├── _size.scss
│ ├── _spaces.scss
│ └── _variables.scss
├── arctic_admin.gemspec
├── lib/
│ ├── arctic_admin/
│ │ └── version.rb
│ └── arctic_admin.rb
└── package.json
================================================
FILE CONTENTS
================================================
================================================
FILE: .github/FUNDING.yml
================================================
# These are supported funding model platforms
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
polar: # Replace with a single Polar username
buy_me_a_coffee: cprodhomme
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
================================================
FILE: .github/ISSUE_TEMPLATE/bug_report.md
================================================
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: bug
assignees: ''
---
:warning: ArcticAdmin is a simple gem, if you found a bug, you can easily fix it and make a pull-request. :pray: Thanks !
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]
**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]
**Gemfile**
Place here your gemfile.lock of your project
**Additional context**
Add any other context about the problem here.
================================================
FILE: .github/ISSUE_TEMPLATE/feature_request.md
================================================
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: enhancement
assignees: ''
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.
================================================
FILE: .github/workflows/gem-push.yml
================================================
name: Ruby Gem
on:
push:
tags:
- '*'
jobs:
build:
name: Build + Publish
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.3'
bundler-cache: true
- name: Publish to RubyGems
run: |
mkdir -p $HOME/.gem
touch $HOME/.gem/credentials
chmod 0600 $HOME/.gem/credentials
printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
gem build *.gemspec
gem push *.gem
env:
GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}"
- name: Publish to GPR
run: |
mkdir -p $HOME/.gem
touch $HOME/.gem/credentials
chmod 0600 $HOME/.gem/credentials
printf -- "---\n:github: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
gem build *.gemspec
gem push --KEY github --host https://rubygems.pkg.github.com/${OWNER} *.gem
env:
GEM_HOST_API_KEY: "Bearer ${{secrets.GITHUB_TOKEN}}"
OWNER: ${{ github.repository_owner }}
================================================
FILE: .github/workflows/npm-publish.yml
================================================
name: Node.js Package
on:
push:
tags:
- '**'
jobs:
publish-npm:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
registry-url: https://registry.npmjs.org/
- run: npm publish
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
================================================
FILE: .gitignore
================================================
*.gem
.DS_Store
.bundle
Gemfile.lock
gemfiles/*.lock
pkg/*
vendor/ruby
gemfiles/vendor/ruby
.rbenv-version
.sass-cache
/node_modules
/src
.idea
vendor/bundle/
================================================
FILE: .tool-versions
================================================
nodejs 18.15.0
================================================
FILE: Gemfile
================================================
source 'https://rubygems.org'
================================================
FILE: LICENCE.txt
================================================
Copyright (c) 2017 Clément Prod'homme
MIT License
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
================================================
FILE: README.md
================================================
# ArcticAdmin
[](https://rubygems.org/gems/arctic_admin)
[](https://rubygems.org/gems/arctic_admin)
[](https://www.npmjs.com/package/arctic_admin)
[](https://www.npmjs.com/package/arctic_admin)
Simple theme for ActiveAdmin :ok_hand:
>**Complete demo here : https://arcticadmin.osc-fr1.scalingo.io**
>
>*admin user : admin@example.com / password*

## Installation
### For Sprockets users
- Add this to your Gemfile:
```ruby
gem 'arctic_admin'
```
- Run `bundle install`.
- Add this line to the file `config/initializers/active_admin.rb`
```ruby
meta_tags_options = { viewport: 'width=device-width, initial-scale=1' }
config.meta_tags = meta_tags_options
config.meta_tags_for_logged_out_pages = meta_tags_options
```
### For webpacker / jsbundling-rails or other JS-based asset solutions
Install the needed assets with npm or yarn:
```bash
yarn add arctic_admin @fortawesome/fontawesome-free
```
## Use with Sprockets
### 1a - CSS
In your `active_admin.css`, include the css file:
```css
/*
*= require arctic_admin/base
*/
```
**Remove the line `*= require active_admin/base`**
Then restart your webserver if it was previously running.
### 1b - Sass Support
:exclamation: **Remove the line `@import "active_admin/base"`**
If you prefer [SCSS](http://sass-lang.com/documentation/file.SASS_REFERENCE.html), add this to your
`active_admin.scss` file:
```scss
@import "arctic_admin/base";
```
If you use the
[Sass indented syntax](http://sass-lang.com/docs/yardoc/file.INDENTED_SYNTAX.html),
add this to your `active_admin.sass` file:
```sass
@import arctic_admin/base
```
### 2 - JS
In your `active_admin.js`, include the js file:
```js
//= require arctic_admin/base
```
:exclamation: **Remove the line `//= require active_admin/base`**
## Use with webpacker
### 1 - CSS
In your `app/javascript/stylesheets/active_admin.scss`, add the line:
```scss
@import '~arctic_admin/src/scss/main';
```
Remove:
```scss
@import "~@activeadmin/activeadmin/src/scss/mixins";
@import "~@activeadmin/activeadmin/src/scss/base";
```
### 2 - JS
Search for `app/javascript/packs/active_admin.js` in your rails project and add the following lines:
```js
import "@fortawesome/fontawesome-free/css/all.css";
import 'arctic_admin'
```
### Customization
For this, you need to use SASS to customize the theming.
Right now you can change the primary color of the theme by placing the following variable in your `active_admin.scss` file:
```scss
$primary-color: #2dbb43;
@import "~arctic_admin/src/scss/main";
```
If you use the
[Sass indented syntax](http://sass-lang.com/docs/yardoc/file.INDENTED_SYNTAX.html),
add this to your `active_admin.sass` file:
```sass
$primary-color: #2dbb43
@import ~arctic_admin/src/scss/main
```
Then restart your webserver if it was previously running.
## Contributing
1. Fork it ( https://github.com/cprodhomme/arctic_admin/fork )
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request
================================================
FILE: app/assets/images/.keep
================================================
================================================
FILE: app/assets/javascripts/arctic_admin/base.js
================================================
//= require active_admin/base
//= require ./main
================================================
FILE: app/assets/javascripts/arctic_admin/main.js
================================================
// right filter sidebar toggle
function sidebar() {
return document.querySelector('#sidebar')
}
function sidebarToggle(event) {
const insideSection = document.querySelector('#filters_sidebar_section')
if (!(event.target === insideSection || insideSection.contains(event.target)) && event.target.className != "select2-selection__choice__remove") {
sidebar().classList.toggle('sidebar_open')
}
}
// left menu sidebar toggle with menu button
function menuButton() {
return document.querySelector('#utility_nav')
}
function menu() {
return document.querySelector('#tabs')
}
function menuToggle(event) {
const currentUser = document.querySelector('#current_user')
const logout = document.querySelector('#logout')
const forbiddenLinks = event.target === logout ||
logout.contains(event.target) ||
event.target === currentUser ||
(currentUser && currentUser.contains(event.target))
if (!forbiddenLinks) {
menu().classList.toggle('tabs_open')
}
}
// left menu sidebar close on any click outside
function menuClose(event) {
const forbiddenLinks = event.target === menu ||
menu().contains(event.target) ||
event.target === menuButton() ||
menuButton().contains(event.target)
if (menu().classList.contains('tabs_open') && !forbiddenLinks) {
menu().classList.remove('tabs_open')
}
}
// nested menu items toggle
function nestedMenuItems() {
return document.querySelectorAll('#tabs .has_nested')
}
// add event listeners
function addListeners() {
// right filter sidebar toggle
if (sidebar()) {
sidebar().addEventListener('click', sidebarToggle)
}
// left menu sidebar toggle with menu button
if (menuButton()) {
menuButton().addEventListener('click', menuToggle)
}
// left menu sidebar close on any click outside
document.body.addEventListener('click', menuClose)
// nested menu items toggle
nestedMenuItems().forEach(
(nestedMenuItem) => {
nestedMenuItem.addEventListener('click', (e) => {
e.stopPropagation()
nestedMenuItem.classList.toggle('open')
})
}
)
}
// remove all previous eventListeners
function removeListeners() {
// right filter sidebar toggle
if (sidebar()) {
sidebar().removeEventListener('click', sidebarToggle)
}
// left menu sidebar toggle with menu button
menuButton().removeEventListener('click', menuToggle)
// left menu sidebar close on any click outside
document.body.removeEventListener('click', menuClose)
// nested menu items toggle
nestedMenuItems().forEach(
(nestedMenuItem) => {
nestedMenuItem.removeEventListener('click', (e) => {
e.stopPropagation()
nestedMenuItem.classList.toggle('open')
})
}
)
}
document.addEventListener('DOMContentLoaded', addListeners)
document.addEventListener('turbolinks:load', () => {
removeListeners()
addListeners()
})
================================================
FILE: app/assets/stylesheets/arctic_admin/_base.scss
================================================
@import "font-awesome";
@import "reset";
@import "fonts";
@import "variables/variables";
@import "mixins/mixins";
@import "common";
@import "buttons";
@import "grid";
@import "components/*";
@import "layouts/*";
@import "pages/*";
body {
font-family: $font-family-body;
background-color: $body-background;
color: $text-color;
}
h1, h2, h3, h4, h5, h6 {
margin-top: 0;
}
a {
color: $link-primary-color;
text-decoration: none;
}
================================================
FILE: app/assets/stylesheets/arctic_admin/_buttons.scss
================================================
.button {
@include primary-button($primary-color, #fff);
padding: 5px 8px;
font-size: 16px;
&.small {
padding: 2px 9px;
font-size: 12px;
}
&.large {
padding: 10px;
font-size: 18px;
}
&.action {
margin-right: 4px;
}
}
================================================
FILE: app/assets/stylesheets/arctic_admin/_common.scss
================================================
code {
display: block;
background-color: #272822;
padding: 5px;
color: white;
}
hr {
border: 1px solid $border-color;
color: $primary-color;
margin: 10px auto 25px auto;
}
================================================
FILE: app/assets/stylesheets/arctic_admin/_fonts.scss
================================================
/* Webfont: Lato-Bold */@font-face {
font-family: 'LatoWeb';
src: font-url('Lato-Bold.eot'); /* IE9 Compat Modes */
src: font-url('Lato-Bold.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
font-url('Lato-Bold.woff2') format('woff2'), /* Modern Browsers */
font-url('Lato-Bold.woff') format('woff'), /* Modern Browsers */
font-url('Lato-Bold.ttf') format('truetype');
font-style: normal;
font-weight: bold;
text-rendering: optimizeLegibility;
}
/* Webfont: Lato-BoldItalic */@font-face {
font-family: 'LatoWeb';
src: font-url('Lato-BoldItalic.eot'); /* IE9 Compat Modes */
src: font-url('Lato-BoldItalic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
font-url('Lato-BoldItalic.woff2') format('woff2'), /* Modern Browsers */
font-url('Lato-BoldItalic.woff') format('woff'), /* Modern Browsers */
font-url('Lato-BoldItalic.ttf') format('truetype');
font-style: italic;
font-weight: bold;
text-rendering: optimizeLegibility;
}
/* Webfont: Lato-Italic */@font-face {
font-family: 'LatoWeb';
src: font-url('Lato-Italic.eot'); /* IE9 Compat Modes */
src: font-url('Lato-Italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
font-url('Lato-Italic.woff2') format('woff2'), /* Modern Browsers */
font-url('Lato-Italic.woff') format('woff'), /* Modern Browsers */
font-url('Lato-Italic.ttf') format('truetype');
font-style: italic;
font-weight: normal;
text-rendering: optimizeLegibility;
}
/* Webfont: Lato-Regular */@font-face {
font-family: 'LatoWeb';
src: font-url('Lato-Regular.eot'); /* IE9 Compat Modes */
src: font-url('Lato-Regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
font-url('Lato-Regular.woff2') format('woff2'), /* Modern Browsers */
font-url('Lato-Regular.woff') format('woff'), /* Modern Browsers */
font-url('Lato-Regular.ttf') format('truetype');
font-style: normal;
font-weight: normal;
text-rendering: optimizeLegibility;
}
================================================
FILE: app/assets/stylesheets/arctic_admin/_grid.scss
================================================
.columns {
display: flex;
flex-wrap:wrap;
}
================================================
FILE: app/assets/stylesheets/arctic_admin/_main.scss
================================================
@import 'reset';
@import './variables/variables';
@import './mixins/mixins';
@import 'common';
@import 'buttons';
@import 'grid';
@import './components/columns';
@import './components/comments';
@import './components/date_picker';
@import './components/dialogs';
@import './components/flash';
@import './components/form';
@import './components/inputs';
@import './components/pagination';
@import './components/panel_contents';
@import './components/select2';
@import './components/status_tag';
@import './components/tables';
@import './components/tabs';
@import './layouts/filter';
@import './layouts/footer';
@import './layouts/header';
@import './layouts/main_content';
@import './layouts/sidebar';
@import './layouts/wrapper';
@import './pages/form';
@import './pages/index';
@import './pages/login';
@import './pages/show';
body {
font-family: $font-family-body;
background-color: $body-background;
color: $text-color;
}
h1,
h2,
h3,
h4,
h5,
h6 {
margin-top: 0;
}
a {
color: $link-primary-color;
text-decoration: none;
}
================================================
FILE: app/assets/stylesheets/arctic_admin/_reset.scss
================================================
*, *:after, *:before {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
html {
-webkit-tap-highlight-color: rgba(0,0,0,0);
}
html, body {
padding: 0;
margin: 0;
min-height: 100vh;
}
fieldset {
border: none;
margin: 0;
padding: 0;
}
legend {
padding: 0;
}
ol, ul {
margin: 0;
padding: 0;
list-style: none;
}
th {
font-weight: normal;
}
abbr[title] {
border-bottom: none;
cursor: inherit;
text-decoration: none;
}
================================================
FILE: app/assets/stylesheets/arctic_admin/components/_columns.scss
================================================
.columns {
display: flex;
flex-wrap: wrap;
}
================================================
FILE: app/assets/stylesheets/arctic_admin/components/_comments.scss
================================================
.comments {
margin-top: 20px;
@include clear-fix();
h3 {
margin: 0 0 10px 0;
}
.panel_contents .empty {
margin-bottom: 10px;
display: inline-block;
}
.active_admin_comment:not(#new_active_admin_comment) {
margin-bottom: 20px;
border: 1px solid $border-color;
.active_admin_comment_meta {
background-color: $sidebar-background;
padding: 8px 10px;
.active_admin_comment_author {
margin: 0;
display: inline-block;
}
span { // date
font-size: 14px;
font-style: italic;
line-height: 21px;
}
a[data-method="delete"] {
@include primary-button($primary-color, white);
padding: 2px 9px;
font-size: 12px;
float: right;
}
}
.active_admin_comment_body {
padding: 0 10px;
}
}
.pagination_information {
margin-bottom: 20px;
}
}
================================================
FILE: app/assets/stylesheets/arctic_admin/components/_date_picker.scss
================================================
#ui-datepicker-div {
background-color: #fff;
padding: 5px;
border-radius: $border-radius;
@include box-shadow($box-shadow);
z-index: 3!important;
padding: 8px 10px;
.ui-datepicker-header {
@include clear-fix();
margin-bottom: 10px;
.ui-datepicker-prev, .ui-datepicker-next {
@include primary-button($button-primary-color, #fff);
padding: 2px 5px;
font-size: 14px;
}
.ui-datepicker-prev {
float: left;
}
.ui-datepicker-next {
float: right;
}
.ui-datepicker-title {
text-align: center;
}
}
.ui-datepicker-calendar {
td {
border: none;
text-align: center;
}
}
}
================================================
FILE: app/assets/stylesheets/arctic_admin/components/_dialogs.scss
================================================
.ui-dialog {
background-color: #fff;
@include box-shadow($box-shadow);
border-radius: $border-radius;
padding: 15px 10px;
z-index: 1;
&:focus, &:active {
-webkit-tap-highlight-color: rgba(0,0,0,0);
outline: 0;
}
.ui-button {
@include primary-button($primary-color, #fff);
border: 0;
margin-right: 5px;
padding: 5px 10px;
}
.ui-dialog-titlebar-close {
display: none;
}
}
================================================
FILE: app/assets/stylesheets/arctic_admin/components/_flash.scss
================================================
.flash {
width: 100%;
padding: 10px;
text-align: center;
background-color: $flash-background-color;
color: $flash-text-color;
}
.flash_alert, .flash_error {
background-color: $error;
color: $flash-text-color;
}
.flash_warning {
background-color: $warning;
color: $flash-text-color;
}
.flash_notice {
background-color: $success;
color: $flash-text-color;
}
.flash_info {
background-color: $info;
color: $flash-text-color;
}
================================================
FILE: app/assets/stylesheets/arctic_admin/components/_form.scss
================================================
.label {
display: inline-block;
margin-bottom: 5px;
}
.input {
margin-bottom: 20px;
&.hidden {
margin: 0;
}
}
#active_admin_content {
form {
li {
list-style: none;
}
legend:not(.label) {
margin-bottom: 28px;
font-size: 18px;
display: block;
width: 100%;
padding-bottom: 12px;
border-bottom: 1px solid $body-background;
}
.error {
input, select, textarea {
@include input-invalid();
}
}
input:not([disabled]):not([type="submit"]), select, textarea {
&.error {
@include input-invalid();
}
}
.inline-hints {
margin: 5px 0 20px $form-margin-left;
font-size: $font-size;
font-style: italic;
}
.inline-errors, label.error {
color: $error;
margin-top: 5px;
margin-bottom: 20px;
font-size: $font-size;
}
label.error {
display: block;
margin-left: $form-margin-left;
}
.button.has_many_remove {
@include tertiary-button($red);
}
.button.has_many_add {
@include secondary-button($primary-color);
}
}
.actions {
.action {
display: inline-block;
margin-right: 10px;
input[type="submit"] {
line-height: 43px;
}
}
.cancel {
display: inline-block;
}
}
}
================================================
FILE: app/assets/stylesheets/arctic_admin/components/_inputs.scss
================================================
input[type="text"], input[type="email"], input[type="password"],
input[type="tel"], input[type="date"], input[type="datetime-local"],
input[type="month"], input[type="range"], input[type="search"],
input[type="time"], input[type="url"], input[type="week"],
input[type="number"], textarea {
@include appearance();
@include box-shadow(none);
display: block;
width: 100%;
height: $input-height;
padding: 6px 12px;
font-size: $font-size;
line-height: 1.57142857;
color: $text-color;
background-color: #fff;
background-image: none;
border: 1px solid $border-color;
outline: 0;
border-radius: $border-radius;
@include transition(border-color ease-in-out .15s);
&:focus {
border-color: $primary-color;
@include appearance();
@include transition(border .25s linear,color .25s linear,background-color .25s linear);
}
&:disabled {
opacity: 0.6;
}
&:-webkit-autofill, &:-webkit-autofill:hover, &:-webkit-autofill:focus {
-webkit-box-shadow: 0 0 0px 1000px white inset;
-webkit-text-fill-color: $text-color;
}
}
input[type="submit"] {
@include appearance();
@include primary-button($button-primary-color, white);
width: 100%;
padding: 0 12px;
font-size: 15px;
font-weight: 500;
@include box-shadow(0 1px 0 rgba(0,0,0,.05));
border: none;
cursor: pointer;
}
input[type="checkbox"] {
height: 15px;
width: 15px;
-webkit-appearance: none!important;
background-color: #fff;
border: 1px solid #e6e6e6;
border-radius: $border-radius;
box-sizing: border-box;
@include outline();
@include transition-button();
cursor: pointer;
&:checked {
border-color: $primary-color;
background-color: $primary-color !important;
}
}
input[type="radio"] {
@include appearance();
border: 2px solid $primary-color;
width: 15px;
height: 15px;
border-radius: 50%;
margin: 1px 5px 1px 1px;
display: inline-flex;
@include outline();
@include transition-button();
&:checked {
background-color: $primary-color;
}
}
select {
background-color: #fff;
background-image: none;
border: 1px solid $border-color;
outline: 0;
border-radius: $border-radius;
font-size: $font-size;
color: #5a5a5a;
@include transition(border-color ease-in-out .15s);
&:focus {
border-color: $primary-color;
@include box-shadow(none);
@include transition(border .25s linear,color .25s linear,background-color .25s linear);
}
&:-webkit-autofill {
-webkit-box-shadow: 0 0 0px 1000px white inset;
}
}
textarea {
min-height: 80px;
height: auto;
padding: 5px 10px;
}
================================================
FILE: app/assets/stylesheets/arctic_admin/components/_pagination.scss
================================================
.pagination {
font-size: 13px;
margin-bottom: 10px;
.page {
text-align: center;
}
.page a, .next a, .last a, .first a, .prev a {
padding: .3rem .4rem;
color: $text-color;
@include transition-button();
&:hover {
color: $link-primary-color;
}
}
.page.current {
background-color: $link-primary-color;
color: #fff;
border-radius: $border-radius;
padding: .3rem .4rem;
cursor: normal;
}
}
================================================
FILE: app/assets/stylesheets/arctic_admin/components/_panel_contents.scss
================================================
.panel_contents {
.paginated_collection {
#index_footer {
margin: 10px;
text-align: right;
font-size: 12px;
}
}
th {
text-align: left;
padding: 8px;
}
}
================================================
FILE: app/assets/stylesheets/arctic_admin/components/_select2.scss
================================================
.select2-container--default .select2-selection--single .select2-selection__rendered{
line-height: $input-height;
color: $text-color;
font-size: $font-size;
}
.select2-container .select2-selection--single{
height: $input-height;
outline: 0;
}
.select2-container--default .select2-selection--single .select2-selection__arrow{
height: $input-height;
}
.select2-container--default .select2-selection--single {
border-color: $border-color;
}
.select2-container .select2-selection--single .select2-selection__rendered{
padding-left: 12px;
}
.select2-dropdown{
border-color: $border-color;
}
.select2-container--default .select2-results__option--highlighted[aria-selected]{
background-color: $primary_color;
}
.select2-container--default .select2-search--dropdown .select2-search__field{
border-color: $border-color;
}
.select2-container--default .select2-results__option[aria-selected=true]{
background-color: $body-background;
}
.select2-search--dropdown .select2-search__field{
padding-left: 12px;
}
.select2-results{
font-size: $font-size;
}
.select2-results__option{
padding-left: 12px;
}
================================================
FILE: app/assets/stylesheets/arctic_admin/components/_status_tag.scss
================================================
.status_tag {
background: $status-tag-background-color;
color: $status-tag-text-color;
text-transform: uppercase;
letter-spacing: 0.15em;
padding: 3px 5px 2px 5px;
font-size: 0.8em;
border-radius: $border-radius;
&.ok, &.published, &.complete, &.completed, &.green, &.yes {
background-color: $status-tag-background-valid-color;
}
&.cancel, &.red, &.no {
background-color: $status-tag-background-error-color;
}
}
================================================
FILE: app/assets/stylesheets/arctic_admin/components/_tables.scss
================================================
table {
width: 100%;
border-collapse: collapse;
&:not(.index_table) {
border-radius: $border-radius;
margin-bottom: 10px;
}
}
thead tr {
border: 1px solid $border-color;
background-color: $border-color;
}
thead th {
font-size: 12px;
text-align: left;
a {
color: $text-color-important;
font-weight: normal;
width: 100%;
display: inline-block;
padding: 4px 20px 4px 4px;
@media screen and (min-width: $md-width) {
padding: 8px 20px 8px 8px;
}
}
&.col-selectable {
padding-left: 4px;
@media screen and (min-width: $md-width) {
padding-left: 8px;
}
}
}
tbody tr {
th {
font-size: $font-size;
}
td {
padding: 4px;
vertical-align: middle;
color: $text-color;
font-size: 12px;
&.col-actions {
padding: 6px 8px;
}
@media screen and (min-width: $md-width) {
padding: 8px;
}
}
}
// style only for table
.index_as_table {
tbody tr {
border: 1px solid $border-color;
&:hover {
background-color: rgba(228, 234, 236, 0.3);
}
}
}
================================================
FILE: app/assets/stylesheets/arctic_admin/components/_tabs.scss
================================================
.tabs.ui-tabs {
border: 1px solid $border-color;
.nav {
border-bottom: 1px solid $border-color;
li {
display: inline-block;
text-align: center;
@include outline();
a {
color: $text-color;
display: inline-block;
padding: 15px 25px;
@include outline();
@include transition-button();
}
&.ui-tabs-active {
border-bottom: 2px solid $link-primary-color;
a {
color: $link-primary-color;
}
}
}
}
.tab-content {
padding: 10px 20px;
}
}
================================================
FILE: app/assets/stylesheets/arctic_admin/components/_toggle.scss
================================================
$toggle-width: 40px !default;
$toggle-height: 20px !default;
$toggle-offset: 3px !default;
$toggle-outer-default: #ddd !default;
$toggle-outer-active: $link-primary-color !default;
$toggle-inner-default: #fff !default;
$toggle-inner-active: #fff !default;
$toggle-transition: 200ms ease-out !default;
.toggle-bool-switches-container {
display: flex;
text-align: left;
span {
line-height: 0;
}
.toggle-bool-switch {
// reset style
background-image: none;
box-shadow: none;
//
cursor: pointer;
position: relative;
display: inline-flex;
align-items: center;
width: $toggle-width;
height: $toggle-height;
background-color: $toggle-outer-default;
border-radius: 100vw;
cursor: pointer;
transition: $toggle-transition;
&::before {
// reset style
height: auto;
width: auto;
background-image: none;
//
content: "";
position: absolute;
top: $toggle-offset;
left: $toggle-offset;
bottom: $toggle-offset;
aspect-ratio: 1 / 1;
background-color: $toggle-inner-default;
border-radius: 50%;
box-shadow: 0 0 10px 5px rgba(0, 0, 0, 0.05);
transition: $toggle-transition;
}
&.on {
// reset style
background-image: none;
//
background: $link-primary-color;
&::before {
// reset style
left: $toggle-offset;
//
background-color: $toggle-inner-active;
$toggle-translate-x: calc(( #{$toggle-width} - #{$toggle-height} ));
transform: translateX($toggle-translate-x);
}
}
}
}
================================================
FILE: app/assets/stylesheets/arctic_admin/layouts/_filter.scss
================================================
#sidebar {
width: $filter-width;
background-color: #fff;
border-radius: $border-radius;
@include box-shadow(0 0 4px 0 rgba(0,0,0,.04));
margin-bottom: 30px;
@media screen and (min-width: $x-lg-width) {
width: $lg-filter-width;
}
.sidebar_section {
padding: 15px 20px;
overflow-y: scroll;
max-height: 80vh;
h3 {
margin: 0 0 10px 0;
}
.label {
display: block;
text-align: left;
}
.input {
margin-bottom: 10px;
input, select {
height: 36px;
padding: 3px 5px;
font-size: 14px;
}
}
.select_and_search {
input, select {
width: 50%;
display: inline-block;
}
input {
float: right;
}
}
.filter_select select {
width: 100%;
}
.filter_date_range input {
width: 50%;
display: inline-block;
// consistent look of all filters
&:nth-child(2) {
float: left;
}
}
input[type="submit"] {
width: auto;
line-height: 31px;
margin-right: 10px;
}
&.panel {
position: relative;
}
}
#search-status-_sidebar_section {
font-size: 14px;
}
// 'Filter' and 'Clear Filters' buttons
.buttons {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1rem;
}
}
// fix pour search select filter de ActiveAdmin_Addons
.search_select_filter, .filter_boolean {
.select2.select2-container {
width: 100% !important;
}
}
================================================
FILE: app/assets/stylesheets/arctic_admin/layouts/_footer.scss
================================================
.footer {
display: inline-block;
padding: 0 15px;
}
================================================
FILE: app/assets/stylesheets/arctic_admin/layouts/_header.scss
================================================
body.active_admin.logged_in {
padding-top: 50px;
@media screen and (min-width: $sm-width) {
padding-top: 60px;
}
@media screen and (min-width: $lg-width) {
padding-left: $header-width;
}
@media screen and (min-width: $x-lg-width) {
padding-left: $lg-header-width;
}
#active_admin_content {
padding: 20px 0;
@include clear-fix();
@media screen and (min-width: $lg-width) {
padding: 20px 25px;
}
}
}
.header {
.site_title {
width: 160px;
height: 50px;
font-size: 16px;
line-height: 50px;
position: fixed;
top: 0;
left: 0;
background-color: $header-background;
border-bottom: 1px solid $header-border-color;
text-align: center;
margin: 0;
@media screen and (min-width: $sm-width) {
width: $header-width;
height: 60px;
font-size: 20px;
line-height: 60px;
}
@media screen and (min-width: $x-lg-width) {
width: $lg-header-width;
}
#site_title_image {
height: 100%;
padding: 6px 0;
}
}
#utility_nav {
display: flex;
align-items: center;
justify-content: flex-end;
height: 50px;
width: calc(100% - 160px);
position: fixed;
top: 0;
right: 0;
z-index: 3;
text-align: right;
background-color: $header-background;
border-bottom: 1px solid $header-border-color;
&:before {
@include icon($icon-menu);
display: inline;
visibility: visible;
cursor: pointer;
position: absolute;
top: 0;
left: 0;
color: $text-color;
padding: 15px 0;
text-align: center;
width: 40px;
font-size: 20px;
}
@media screen and (min-width: $sm-width) {
height: 60px;
width: $screen-header-width;
&:before {
padding: 20px 0;
}
}
@media screen and (min-width: $lg-width) {
&:before {
display: none;
}
}
@media screen and (min-width: $x-lg-width) {
width: $lg-screen-header-width;
}
li {
display: inline-block;
@include transition-button();
&:hover {
background-color: $header-nav-action-hover-background;
}
&:active {
background-color: $header-nav-action-active-background;
}
}
#current_user {
a {
color: transparent;
position: relative;
width: 50px;
height: 49px;
display: inline-block;
&:before {
@include icon($icon-user);
display: inline;
visibility: visible;
cursor: pointer;
position: absolute;
top: 0;
right: 0;
color: $text-color;
padding: 15px 0;
text-align: center;
width: 50px;
font-size: 20px;
}
@media screen and (min-width: $sm-width) {
width: 60px;
height: 59px;
&:before {
padding: 20px 0;
width: 60px;
}
}
}
}
#logout {
min-width: 50px;
min-height: 49px;
float: right;
a {
color: transparent;
position: relative;
width: 50px;
display: block;
&:before {
@include icon($icon-logout);
display: inline;
visibility: visible;
cursor: pointer;
position: absolute;
top: 0;
right: 0;
color: $text-color;
padding: 15px 0;
text-align: center;
width: 50px;
font-size: 20px;
}
}
@media screen and (min-width: $sm-width) {
min-width: 60px;
min-height: 59px;
a {
width: 60px;
height: 59px;
&:before {
padding: 20px 0;
width: 60px;
}
}
}
}
}
}
#title_bar {
background-color: #fff;
@include box-shadow($box-shadow);
margin: 15px 0 0 0;
padding: 8px 10px;
@include clear-fix();
@media screen and (min-width: $lg-width) {
padding: 8px 20px;
border-radius: $border-radius;
margin: 15px 25px 0 25px;
}
#titlebar_left {
display: inline-block;
float: left;
line-height: 29px;
h2 {
display: inline-block;
font-size: 16px;
}
}
#titlebar_right {
display: inline-block;
float: right;
.action_item a {
@include primary-button($button-primary-color, #fff);
padding: 5px 8px;
}
}
#page_title {
font-weight: normal;
margin: 0;
}
}
================================================
FILE: app/assets/stylesheets/arctic_admin/layouts/_main_content.scss
================================================
#main_content_wrapper {
float: left;
width: 100%;
@include clear-fix();
}
#active_admin_content.with_sidebar #main_content_wrapper {
width: 100%;
@media screen and (min-width: $sm-width) {
#main_content {
border-top-right-radius: $border-radius;
border-bottom-right-radius: $border-radius;
}
}
@media screen and (min-width: $lg-width) {
#main_content {
margin-right: 20px;
}
}
@media screen and (min-width: $lg-width) {
#main_content {
margin-right: 20px;
}
}
}
#main_content {
background-color: #fff;
@include box-shadow(0 0 4px 0 rgba(0,0,0,.04));
padding: 15px 10px;
@media screen and (max-width: 576px) {
overflow-x: scroll;
}
@media screen and (min-width: $lg-width) {
padding: 20px;
border-radius: $border-radius;
}
}
================================================
FILE: app/assets/stylesheets/arctic_admin/layouts/_sidebar.scss
================================================
.header #tabs {
width: $header-width;
height: calc(100% - 60px);
position: fixed;
top: 50px;
background-color: $sidebar-background;
border-right: 1px solid $sidebar-border-color;
z-index: 1;
overflow: auto;
left: - $header-width;
transition: .5s;
transition-timing-function: ease-in-out;
&.tabs_open {
left: 0;
}
@media screen and (min-width: $sm-width) {
top: 60px;
}
@media screen and (min-width: $lg-width) {
left: 0px !important;
}
@media screen and (min-width: $x-lg-width) {
width: $lg-header-width;
}
li {
width: 100%;
font-size: $font-size;
line-height: 38px;
cursor: pointer;
a {
width: 100%;
height: 100%;
display: inline-block;
color: $text-color;
padding: 0 20px;
&:hover {
background-color: $sidebar-item-hover-background;
}
}
&.current {
a {
color: $link-primary-color;
}
}
&.has_nested {
& > a:nth-child(1) {
position: relative;
&:after {
@include icon($icon-down);
display: inline;
position: absolute;
top: 50%;
right: 20px;
@include transform(translateY(-50%));
color: $text-color;
}
}
ul {
border-top: 1px solid $sidebar-border-color;
border-bottom: 1px solid $sidebar-border-color;
background-color: $body-background;
padding: 10px 0;
cursor: auto;
display: none;
a {
padding: 0px 15px 0px 35px;
color: $text-color;
&:hover {
background-color: $sidebar-nested-item-hover-background;
}
@media screen and (min-width: $x-lg-width) {
padding: 0px 15px 0px 40px;
}
}
.current a {
color: $link-primary-color;
}
}
&.open, &.current {
& > a:nth-child(1) {
position: relative;
&:after {
@include icon($icon-up);
}
}
& > ul {
display: block;
}
}
}
}
}
================================================
FILE: app/assets/stylesheets/arctic_admin/layouts/_wrapper.scss
================================================
#wrapper {
display: flex;
flex-direction: column;
.flashes {
order: -1;
}
}
================================================
FILE: app/assets/stylesheets/arctic_admin/mixins/_buttons_mixins.scss
================================================
$bg-tertiary-button: transparent;
$bg-tertiary-button-hover: rgba($border-color, .3);;
@mixin button() {
border-radius: $border-radius;
display: inline-block;
@include transition-button();
cursor: pointer;
&:active, &:focus {
outline: 0;
}
&.disabled, &:disabled {
opacity: 0.6;
cursor: no-drop;
}
}
@mixin primary-button($background-color, $color) {
background-color: $background-color;
color: $color;
border: none;
@include button();
&:hover {
background-color: lighten($background-color, 10%);
}
&:active, &:focus {
background-color: darken($background-color, 10%);
}
&:disabled {
background-color: $background-color;
}
}
@mixin secondary-button($color) {
background-color: #fff;
color: $color;
border: 1px solid $color;
padding: 4px 8px;
@include button();
&:hover {
color: #fff;
background-color: $color;
}
&:active, &:focus {
background-color: darken($color, 10%);
color: #fff;
}
}
@mixin tertiary-button($color) {
background-color: $bg-tertiary-button;
color: $color;
border: 1px solid $bg-tertiary-button;
padding: 4px 8px;
@include button();
&:hover {
color: $color;
background-color: $bg-tertiary-button-hover;
}
&:active, &:focus {
background-color: $bg-tertiary-button-hover;
color: $color;
}
}
@mixin secondary-dropdown($color) {
@include secondary-button($color);
padding: 6px 25px 6px 10px;
position: relative;
&:after {
@include icon($icon-sort-down);
position: absolute;
right: 8px;
}
&:active, &:focus {
background-color: darken($color, 10%);
color: #fff;
}
&.disabled, &:disabled {
color: $grey;
background-color: #f3f7f9;
border-color: #f3f7f9;
@include box-shadow(none);
opacity: .65;
}
}
@mixin group-button($color) {
a {
display: inline-block;
color: $color;
border-top: 1px solid $color;
border-bottom: 1px solid $color;
float: left;
padding: 6px 10px;
border-right: 1px solid $color;
@include transition-button();
}
&:first-child a {
border-left: 1px solid $color;
border-top-left-radius: $border-radius;
border-bottom-left-radius: $border-radius;
}
&:last-child a {
border-top-right-radius: $border-radius;
border-bottom-right-radius: $border-radius;
}
&:hover {
a {
background-color: lighten($color, 10%);
border-color: lighten($color, 10%);
color: #fff;
}
}
&:active, &:focus, &.selected {
a {
background-color: darken($color, 10%);
border-color: darken($color, 10%);
color: #fff;
}
}
}
@mixin little-button() {
padding: 6px 12px;
}
================================================
FILE: app/assets/stylesheets/arctic_admin/mixins/_forms.scss
================================================
@mixin input-valid() {
border-color: $success;
background-color: rgba($success, .1);
}
@mixin input-invalid() {
border-color: $error;
background-color: rgba($error, .1);
}
================================================
FILE: app/assets/stylesheets/arctic_admin/mixins/_mixins.scss
================================================
@import "prefix_mixins";
@import "buttons_mixins";
@import "sidebar_mixins";
@import "forms";
================================================
FILE: app/assets/stylesheets/arctic_admin/mixins/_prefix_mixins.scss
================================================
@mixin transform($var) {
-webkit-transform: $var;
-moz-transform: $var;
-ms-transform: $var;
-o-transform: $var;
transform: $var;
}
@mixin appearance($effect:none) {
-webkit-appearance: $effect;
-moz-appearance: $effect;
-ms-appearance: $effect;
-o-appearance: $effect;
appearance: $effect;
}
@mixin transition($args...) {
-webkit-transition: $args;
-o-transition: $args;
transition: $args;
}
@mixin transition-button() {
@include transition(border .15s linear,color .15s linear,width .15s linear,background-color .15s linear);
}
@mixin box-shadow($args...) {
-webkit-box-shadow: $args;
-moz-box-shadow: $args;
box-shadow: $args;
}
@mixin disable-user-select() {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
@mixin clear-fix() {
&:after {
content: '';
display: block;
clear: both;
}
}
@mixin outline() {
&:focus {
outline: 0;
}
}
@mixin icon($code-icon) {
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font: 900 normal normal 14px/1 $font-icon;
content: $code-icon;
}
================================================
FILE: app/assets/stylesheets/arctic_admin/mixins/_sidebar_mixins.scss
================================================
@mixin sidebar-container() {
#active_admin_content.with_sidebar {
#main_content_wrapper {
width: $screen-filter-width;
@media screen and (min-width: $sm-width) {
padding-right: 10px;
}
@media screen and (min-width: $lg-width) {
padding-right: 0;
width: $lg-screen-filter-width;
}
}
#sidebar {
display: inline-block;
tr:hover {
background: rgba(243, 247, 249, 0.3);
}
}
}
}
================================================
FILE: app/assets/stylesheets/arctic_admin/pages/_form.scss
================================================
@mixin arctic-admin-form() {
@include sidebar-container();
form legend {
font-weight: normal;
}
fieldset.inputs {
margin-bottom: 20px;
}
.input {
.label {
padding-bottom: 5px;
text-align: left;
margin: auto 0;
padding-top: 8px;
text-align: right;
font-size: $font-size;
@media screen and (min-width: $sm-width) {
padding-bottom: 0;
height: 25px;
width: $form-margin-left;
float: left;
padding-right: 20px;
}
}
input, textarea {
@media screen and (min-width: $sm-width) {
width: $form-input-width;
}
&[type='radio'] {
width: 15px;
float: left;
margin-top: 3px;
}
&[type='checkbox'] {
width: 15px;
margin: 0 5px -2px 0;
}
}
.select2-container {
@media screen and (min-width: $sm-width) {
width: $form-input-width !important;
}
a {
height: 30px;
line-height: 30px;
}
}
select {
min-width: $form-input-width;
height: 30px;
}
select[multiple] {
height: 100px;
}
.fragment {
margin-right: 10px;
label {
padding-right: 5px;
}
select {
min-width: auto;
}
}
&.boolean {
margin-left: $form-margin-left;
@include disable-user-select();
input {
width: auto;
}
label {
font-size: $font-size;
cursor: pointer;
padding: 5px 5px 5px 0;
}
input[type='checkbox'] {
width: 15px;
margin: 0 5px -2px 0;
}
}
li.fragment {
display: inline;
}
li.choice {
margin-left: $form-margin-left;
.field_with_errors {
float: left;
}
}
.inline-errors {
padding-left: $form-margin-left;
}
}
.actions {
padding-left: $form-margin-left;
}
}
body.logged_in {
&.new, &.edit, &.create, &.update {
@include arctic-admin-form();
}
}
================================================
FILE: app/assets/stylesheets/arctic_admin/pages/_index.scss
================================================
@use "sass:math";
body.index {
.resource_selection_toggle_cell, .resource_selection_cell {
display: flex;
}
.table_tools {
margin-bottom: 20px;
font-size: $font-size;
&:after {
content: '';
display: block;
clear: both;
}
input[type='checkbox'] {
display: flex;
}
.collection_selection_toggle_all {
display: flex !important;
}
.batch_actions_selector {
display: inline-block;
}
.dropdown_menu_button{
@include secondary-dropdown($button-primary-color);
}
.dropdown_menu_list {
background-color: #fff;
padding: 10px 15px;
border-radius: $border-radius;
@include box-shadow($box-shadow);
display: inline-block;
position: absolute;
z-index: 1;
}
.indexes.table_tools_segmented_control {
display: flex;
justify-content: right;
a {
@include secondary-button($button-primary-color);
}
.index {
margin-right: 4px;
&:last-child {
margin-right: 0;
}
}
}
}
.paginated_collection_contents {
margin-bottom: 20px;
overflow-x: auto;
}
#index_footer {
font-size: $font-size;
}
.sortable {
position: relative;
&:after {
@include icon($icon-sort);
font-size: 12px;
position: absolute;
top: 50%;
right: 5px;
@include transform(translateY(-50%));
@media screen and (min-width: $md-width) {
// font-size: math.div($font-size, 1px);
}
}
&.sorted-desc:after {
content: "\f0dd";
}
&.sorted-asc:after {
content: "\f0de";
}
}
.table_actions {
margin-bottom: -4px;
.member_link {
@include primary-button($button-primary-color, white);
padding: 4px 8px;
margin-right: 4px;
margin-bottom: 4px;
}
}
.scopes {
.scope {
@include group-button($button-primary-color);
a {
margin-right: .25rem;
}
}
}
#sidebar {
position: fixed;
transition: .5s;
transition-timing-function: ease-in-out;
right: - $filter-width;
&.sidebar_open {
right: 0;
}
@media screen and (min-width: $x-lg-width) {
right: - $lg-filter-width;
}
&:before {
cursor: pointer;
position: absolute;
top: 30px;
left: -40px;
width: 40px;
height: 50px;
background-color: #fff;
@include box-shadow(-1px 0 4px 0 rgba(0,0,0,.04));
border-top-left-radius: $border-radius;
border-bottom-left-radius: $border-radius;
@include icon($icon-filter);
font-size: 20px;
padding: 15px 10px;
}
}
}
================================================
FILE: app/assets/stylesheets/arctic_admin/pages/_login.scss
================================================
body.logged_out {
.flash {
position: fixed;
}
#active_admin_content {
height: 100vh;
width: 100%;
display: flex;
align-items: center;
}
}
#login {
width: 100%;
margin: auto;
background-color: white;
border-top: $border-radius solid $primary-color;
@include box-shadow($box-shadow);
color: $text-color;
padding: 20px;
@media screen and (min-width: 400px) {
border-radius: $border-radius;
width: 400px;
padding: 30px;
}
h2 {
text-align: center;
}
.label {
display: inline-block;
max-width: 100%;
margin-bottom: 5px;
}
.input.boolean {
@include disable-user-select();
label {
font-size: 15px;
cursor: pointer;
padding: 5px 5px 5px 0;
}
input[type='checkbox'] {
width: 15px;
margin: 0 5px -2px 0;
}
}
a {
margin-top: 10px;
display: inline-block;
}
.input_action {
min-width: 50%;
}
input[type="submit"] {
line-height: 43px;
}
}
================================================
FILE: app/assets/stylesheets/arctic_admin/pages/_show.scss
================================================
body.show {
@include sidebar-container();
}
================================================
FILE: app/assets/stylesheets/arctic_admin/variables/_borders.scss
================================================
$border-radius: 3px !default;
================================================
FILE: app/assets/stylesheets/arctic_admin/variables/_box_shadows.scss
================================================
$box-shadow: 0 0 4px 0 rgba(0,0,0,0.1) !default;
================================================
FILE: app/assets/stylesheets/arctic_admin/variables/_colors.scss
================================================
// BASIC COLOR
$red: #B02B2C;
$green: #00897B;
$blue: #4bacfe;
$black: #36393D;
$grey: #76838f;
// flash
$error: #dc4747 !default;
$warning: #f2a654 !default;
$success: #46be8a !default;
$info: #57c7d4 !default;
$flash-text-color: #fff !default;
$flash-background-color: $grey !default;
// status_tag
$status-tag-text-color: #fff !default;
$status-tag-background-color: #cacaca !default;
$status-tag-background-valid-color: $success !default;
$status-tag-background-error-color: $error !default;
$border-color: #e4eaec !default;
// body
$body-background: #eee !default;
// header
$header-border-color: #e6e6e6 !default;
$header-background: #fff !default;
// nav action
$header-nav-action-hover-background: #f5f5f5 !default;
$header-nav-action-active-background: #f0f0f0 !default;
//sidebar
$sidebar-border-color: $header-border-color !default;
$sidebar-background: #f5f5f5 !default;
$sidebar-item-hover-background: #f0f0f0 !default;
$sidebar-nested-item-hover-background: #e7e7e7 !default;
// text
$text-color: #5a5a5a !default;
$text-color-important: #526069 !default;
$primary-color: $blue !default;
$link-primary-color: $primary-color !default;
$button-primary-color: $primary-color !default;
================================================
FILE: app/assets/stylesheets/arctic_admin/variables/_fonts.scss
================================================
$font-family-fallback: Arial, sans-serif !default;
$font-family-body: "LatoWeb", $font-family-fallback !default;
$font-size: 14px !default;
================================================
FILE: app/assets/stylesheets/arctic_admin/variables/_icons.scss
================================================
// you can customise any icons
// you need to use unicode of the icon font
// the unicode of fontawesome can be found here : https://fontawesome.com/
$font-icon: 'Font Awesome 6 Free', 'Font Awesome 6 Pro' !default;
$icon-user: "\f007" !default;
$icon-logout: "\f2f5" !default;
$icon-menu: "\f0c9" !default;
$icon-down: "\f0d7" !default;
$icon-up: "\f0d8" !default;
$icon-sort: "\f0dc" !default;
$icon-sort-down: "\f0dd" !default;
$icon-filter: "\f0b0" !default;
================================================
FILE: app/assets/stylesheets/arctic_admin/variables/_media_queries.scss
================================================
$sm-width: 576px !default;
$md-width: 768px !default;
$lg-width: 992px !default;
$x-lg-width: 1400px !default;
// <576px Extra small
// ≥576px Small
// ≥768px Medium
// ≥992px Large
// ≥1400px Extra large
================================================
FILE: app/assets/stylesheets/arctic_admin/variables/_size.scss
================================================
$header-width: 200px !default;
$screen-header-width: calc(100% - 200px) !default;
$lg-header-width: 250px !default;
$lg-screen-header-width: calc(100% - 250px) !default;
$filter-width: 230px !default;
$screen-filter-width: calc(100% - 230px) !default;
$lg-filter-width: 270px !default;
$lg-screen-filter-width: calc(100% - 270px) !default;
$input-height: 36px !default;
// Forms
$form-margin-left: 25%;
$form-input-width: 50%;
================================================
FILE: app/assets/stylesheets/arctic_admin/variables/_spaces.scss
================================================
$space-0: 0;
$space-0-1: 0.125rem; /* 2px */
$space-1: 0.25rem; /* 4px */
$space-2: 0.5rem; /* 8px */
$space-3: 0.75rem; /* 12px */
$space-4: 1rem; /* 16px */
$space-5: 1.25rem; /* 20px */
$space-6: 1.5rem; /* 24px */
$space-7: 1.75rem; /* 28px */
$space-8: 2rem; /* 32px */
$space-9: 2.25rem; /* 36px */
$space-10: 2.5rem; /* 40px */
$space-11: 2.75rem; /* 44px */
$space-12: 3rem; /* 48px */
$space-14: 3.5rem; /* 56px */
$space-16: 4rem; /* 64px */
$space-20: 5rem; /* 80px */
$space-24: 6rem; /* 96px */
$space-28: 7rem; /* 112px */
$space-32: 8rem; /* 128px */
$space-36: 9rem; /* 144px */
$space-40: 10rem; /* 160px */
$space-44: 11rem; /* 176px */
$space-48: 12rem; /* 192px */
$space-52: 13rem; /* 208px */
$space-56: 14rem; /* 224px */
$space-60: 15rem; /* 240px */
$space-64: 16rem; /* 256px */
$space-72: 18rem; /* 288px */
$space-80: 20rem; /* 320px */
$space-96: 24rem; /* 384px */
================================================
FILE: app/assets/stylesheets/arctic_admin/variables/_variables.scss
================================================
@import "colors";
@import "size";
@import "icons";
@import "media_queries";
@import "fonts";
@import "spaces";
@import "borders";
================================================
FILE: arctic_admin.gemspec
================================================
# coding: utf-8
lib = File.expand_path('../lib', __FILE__)
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
require 'arctic_admin/version'
Gem::Specification.new do |s|
s.name = 'arctic_admin'
s.version = ArcticAdmin::VERSION
s.summary = "Arctic Admin theme for ActiveAdmin"
s.description = "A responsive theme for Active Admin"
s.authors = ["Clément Prod'homme"]
s.files = Dir["{app,lib}/**/*"] + ["README.md", 'LICENCE.txt']
s.homepage = 'https://github.com/cprodhomme/arctic_admin'
s.metadata = {
"source_code_uri" => "https://github.com/cprodhomme/arctic_admin",
"changelog_uri" => "https://github.com/cprodhomme/arctic_admin/releases",
}
s.license = 'MIT'
s.require_paths = ["lib"]
s.add_development_dependency "bundler", "~> 1.5"
s.add_development_dependency "rake"
s.add_dependency 'activeadmin', ['>= 1.1.0', '< 4.0']
s.add_dependency 'font-awesome-sass', '~> 6.0'
end
================================================
FILE: lib/arctic_admin/version.rb
================================================
module ArcticAdmin
VERSION = "4.3.3"
end
================================================
FILE: lib/arctic_admin.rb
================================================
require "arctic_admin/version"
require 'font-awesome-sass'
module ArcticAdmin
module Rails
class Engine < ::Rails::Engine
end
end
end
================================================
FILE: package.json
================================================
{
"name": "arctic_admin",
"version": "4.3.3",
"description": "Responsive Theme for ActiveAdmin",
"main": "app/assets/javascripts/arctic_admin/main.js",
"files": [
"app/assets/javascripts/arctic_admin/*.js",
"src/**/*"
],
"scripts": {
"prepublishOnly": "rm -rf src && cp -R app/assets/javascripts/arctic_admin src && cp -R app/assets/stylesheets/arctic_admin src/scss && cp -R app/assets/fonts src/fonts",
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "git+https://github.com/cprodhomme/arctic_admin.git"
},
"keywords": [
"activeadmin",
"theme",
"arctic_admin"
],
"author": "Clément Prod'homme",
"license": "MIT",
"bugs": {
"url": "https://github.com/cprodhomme/arctic_admin/issues"
},
"homepage": "https://github.com/cprodhomme/arctic_admin#readme"
}
gitextract_8s76iiy1/ ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ └── feature_request.md │ └── workflows/ │ ├── gem-push.yml │ └── npm-publish.yml ├── .gitignore ├── .tool-versions ├── Gemfile ├── LICENCE.txt ├── README.md ├── app/ │ └── assets/ │ ├── images/ │ │ └── .keep │ ├── javascripts/ │ │ └── arctic_admin/ │ │ ├── base.js │ │ └── main.js │ └── stylesheets/ │ └── arctic_admin/ │ ├── _base.scss │ ├── _buttons.scss │ ├── _common.scss │ ├── _fonts.scss │ ├── _grid.scss │ ├── _main.scss │ ├── _reset.scss │ ├── components/ │ │ ├── _columns.scss │ │ ├── _comments.scss │ │ ├── _date_picker.scss │ │ ├── _dialogs.scss │ │ ├── _flash.scss │ │ ├── _form.scss │ │ ├── _inputs.scss │ │ ├── _pagination.scss │ │ ├── _panel_contents.scss │ │ ├── _select2.scss │ │ ├── _status_tag.scss │ │ ├── _tables.scss │ │ ├── _tabs.scss │ │ └── _toggle.scss │ ├── layouts/ │ │ ├── _filter.scss │ │ ├── _footer.scss │ │ ├── _header.scss │ │ ├── _main_content.scss │ │ ├── _sidebar.scss │ │ └── _wrapper.scss │ ├── mixins/ │ │ ├── _buttons_mixins.scss │ │ ├── _forms.scss │ │ ├── _mixins.scss │ │ ├── _prefix_mixins.scss │ │ └── _sidebar_mixins.scss │ ├── pages/ │ │ ├── _form.scss │ │ ├── _index.scss │ │ ├── _login.scss │ │ └── _show.scss │ └── variables/ │ ├── _borders.scss │ ├── _box_shadows.scss │ ├── _colors.scss │ ├── _fonts.scss │ ├── _icons.scss │ ├── _media_queries.scss │ ├── _size.scss │ ├── _spaces.scss │ └── _variables.scss ├── arctic_admin.gemspec ├── lib/ │ ├── arctic_admin/ │ │ └── version.rb │ └── arctic_admin.rb └── package.json
SYMBOL INDEX (13 symbols across 3 files)
FILE: app/assets/javascripts/arctic_admin/main.js
function sidebar (line 2) | function sidebar() {
function sidebarToggle (line 5) | function sidebarToggle(event) {
function menuButton (line 14) | function menuButton() {
function menu (line 17) | function menu() {
function menuToggle (line 20) | function menuToggle(event) {
function menuClose (line 33) | function menuClose(event) {
function nestedMenuItems (line 44) | function nestedMenuItems() {
function addListeners (line 49) | function addListeners() {
function removeListeners (line 76) | function removeListeners() {
FILE: lib/arctic_admin.rb
type ArcticAdmin (line 4) | module ArcticAdmin
type Rails (line 5) | module Rails
class Engine (line 6) | class Engine < ::Rails::Engine
FILE: lib/arctic_admin/version.rb
type ArcticAdmin (line 1) | module ArcticAdmin
Condensed preview — 62 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (61K chars).
[
{
"path": ".github/FUNDING.yml",
"chars": 827,
"preview": "# These are supported funding model platforms\n\ngithub: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [u"
},
{
"path": ".github/ISSUE_TEMPLATE/bug_report.md",
"chars": 1016,
"preview": "---\nname: Bug report\nabout: Create a report to help us improve\ntitle: ''\nlabels: bug\nassignees: ''\n\n---\n\n:warning: Arcti"
},
{
"path": ".github/ISSUE_TEMPLATE/feature_request.md",
"chars": 604,
"preview": "---\nname: Feature request\nabout: Suggest an idea for this project\ntitle: ''\nlabels: enhancement\nassignees: ''\n\n---\n\n**Is"
},
{
"path": ".github/workflows/gem-push.yml",
"chars": 1116,
"preview": "name: Ruby Gem\n\non:\n push:\n tags:\n - '*'\n\njobs:\n build:\n name: Build + Publish\n runs-on: ubuntu-latest\n "
},
{
"path": ".github/workflows/npm-publish.yml",
"chars": 369,
"preview": "name: Node.js Package\n\non:\n push:\n tags:\n - '**'\n\njobs:\n publish-npm:\n runs-on: ubuntu-latest\n steps:\n "
},
{
"path": ".gitignore",
"chars": 173,
"preview": "*.gem\r\n.DS_Store\r\n.bundle\r\nGemfile.lock\r\ngemfiles/*.lock\r\npkg/*\r\nvendor/ruby\r\ngemfiles/vendor/ruby\r\n.rbenv-version\r\n.sas"
},
{
"path": ".tool-versions",
"chars": 15,
"preview": "nodejs 18.15.0\n"
},
{
"path": "Gemfile",
"chars": 30,
"preview": "source 'https://rubygems.org'\n"
},
{
"path": "LICENCE.txt",
"chars": 1074,
"preview": "Copyright (c) 2017 Clément Prod'homme\n\nMIT License\n\nPermission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "README.md",
"chars": 3376,
"preview": "# ArcticAdmin\n[](https://rubygems.org/gems/arctic_admin)\n[!"
},
{
"path": "app/assets/images/.keep",
"chars": 0,
"preview": ""
},
{
"path": "app/assets/javascripts/arctic_admin/base.js",
"chars": 49,
"preview": "//= require active_admin/base\n//= require ./main\n"
},
{
"path": "app/assets/javascripts/arctic_admin/main.js",
"chars": 2879,
"preview": "// right filter sidebar toggle\nfunction sidebar() {\n return document.querySelector('#sidebar')\n}\nfunction sidebarToggle"
},
{
"path": "app/assets/stylesheets/arctic_admin/_base.scss",
"chars": 446,
"preview": "@import \"font-awesome\";\n\n@import \"reset\";\n@import \"fonts\";\n@import \"variables/variables\";\n\n@import \"mixins/mixins\";\n\n@im"
},
{
"path": "app/assets/stylesheets/arctic_admin/_buttons.scss",
"chars": 258,
"preview": ".button {\n @include primary-button($primary-color, #fff);\n padding: 5px 8px;\n font-size: 16px;\n\n &.small {\n paddi"
},
{
"path": "app/assets/stylesheets/arctic_admin/_common.scss",
"chars": 186,
"preview": "code {\n display: block;\n background-color: #272822;\n padding: 5px;\n color: white;\n}\n\nhr {\n border: 1px solid $borde"
},
{
"path": "app/assets/stylesheets/arctic_admin/_fonts.scss",
"chars": 2013,
"preview": "/* Webfont: Lato-Bold */@font-face {\n font-family: 'LatoWeb';\n src: font-url('Lato-Bold.eot'); /* IE9 Compat Modes */\n"
},
{
"path": "app/assets/stylesheets/arctic_admin/_grid.scss",
"chars": 48,
"preview": ".columns {\n display: flex;\n flex-wrap:wrap;\n}\n"
},
{
"path": "app/assets/stylesheets/arctic_admin/_main.scss",
"chars": 1044,
"preview": "@import 'reset';\n\n@import './variables/variables';\n\n@import './mixins/mixins';\n\n@import 'common';\n@import 'buttons';\n@im"
},
{
"path": "app/assets/stylesheets/arctic_admin/_reset.scss",
"chars": 493,
"preview": "*, *:after, *:before {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n\nhtm"
},
{
"path": "app/assets/stylesheets/arctic_admin/components/_columns.scss",
"chars": 49,
"preview": ".columns {\n display: flex;\n flex-wrap: wrap;\n}\n"
},
{
"path": "app/assets/stylesheets/arctic_admin/components/_comments.scss",
"chars": 911,
"preview": ".comments {\n margin-top: 20px;\n @include clear-fix();\n\n h3 {\n margin: 0 0 10px 0;\n }\n \n .panel_contents .empty "
},
{
"path": "app/assets/stylesheets/arctic_admin/components/_date_picker.scss",
"chars": 681,
"preview": "#ui-datepicker-div {\n background-color: #fff;\n padding: 5px;\n border-radius: $border-radius;\n @include box-shadow($b"
},
{
"path": "app/assets/stylesheets/arctic_admin/components/_dialogs.scss",
"chars": 422,
"preview": ".ui-dialog {\n background-color: #fff;\n @include box-shadow($box-shadow);\n border-radius: $border-radius;\n padding: 1"
},
{
"path": "app/assets/stylesheets/arctic_admin/components/_flash.scss",
"chars": 452,
"preview": ".flash {\n width: 100%;\n padding: 10px;\n text-align: center;\n background-color: $flash-background-color;\n color: $fl"
},
{
"path": "app/assets/stylesheets/arctic_admin/components/_form.scss",
"chars": 1365,
"preview": ".label {\n display: inline-block;\n margin-bottom: 5px;\n}\n\n.input {\n margin-bottom: 20px;\n\n &.hidden {\n margin: 0;\n"
},
{
"path": "app/assets/stylesheets/arctic_admin/components/_inputs.scss",
"chars": 2589,
"preview": "input[type=\"text\"], input[type=\"email\"], input[type=\"password\"],\ninput[type=\"tel\"], input[type=\"date\"], input[type=\"date"
},
{
"path": "app/assets/stylesheets/arctic_admin/components/_pagination.scss",
"chars": 452,
"preview": ".pagination {\n font-size: 13px;\n margin-bottom: 10px;\n\n .page {\n text-align: center;\n }\n\n .page a, .next a, .las"
},
{
"path": "app/assets/stylesheets/arctic_admin/components/_panel_contents.scss",
"chars": 196,
"preview": ".panel_contents {\n .paginated_collection {\n #index_footer {\n margin: 10px;\n text-align: right;\n font-"
},
{
"path": "app/assets/stylesheets/arctic_admin/components/_select2.scss",
"chars": 1135,
"preview": ".select2-container--default .select2-selection--single .select2-selection__rendered{\n line-height: $input-height; \n co"
},
{
"path": "app/assets/stylesheets/arctic_admin/components/_status_tag.scss",
"chars": 444,
"preview": ".status_tag {\n background: $status-tag-background-color;\n color: $status-tag-text-color;\n text-transform: uppercase;\n"
},
{
"path": "app/assets/stylesheets/arctic_admin/components/_tables.scss",
"chars": 1090,
"preview": "table {\n width: 100%;\n border-collapse: collapse;\n\n &:not(.index_table) {\n border-radius: $border-radius;\n marg"
},
{
"path": "app/assets/stylesheets/arctic_admin/components/_tabs.scss",
"chars": 584,
"preview": ".tabs.ui-tabs {\n border: 1px solid $border-color;\n\n .nav {\n border-bottom: 1px solid $border-color;\n \n li {\n "
},
{
"path": "app/assets/stylesheets/arctic_admin/components/_toggle.scss",
"chars": 1640,
"preview": "$toggle-width: 40px !default;\n$toggle-height: 20px !default;\n$toggle-offset: 3px !default;\n\n$toggle-outer-default: #ddd "
},
{
"path": "app/assets/stylesheets/arctic_admin/layouts/_filter.scss",
"chars": 1534,
"preview": "#sidebar {\n width: $filter-width;\n background-color: #fff;\n border-radius: $border-radius;\n @include box-shadow(0 0 "
},
{
"path": "app/assets/stylesheets/arctic_admin/layouts/_footer.scss",
"chars": 55,
"preview": ".footer {\n display: inline-block;\n padding: 0 15px;\n}"
},
{
"path": "app/assets/stylesheets/arctic_admin/layouts/_header.scss",
"chars": 4558,
"preview": "body.active_admin.logged_in {\n padding-top: 50px;\n\n @media screen and (min-width: $sm-width) {\n padding-top: 60px;\n"
},
{
"path": "app/assets/stylesheets/arctic_admin/layouts/_main_content.scss",
"chars": 825,
"preview": "#main_content_wrapper {\n float: left;\n width: 100%;\n\n @include clear-fix();\n}\n\n#active_admin_content.with_sidebar #ma"
},
{
"path": "app/assets/stylesheets/arctic_admin/layouts/_sidebar.scss",
"chars": 2135,
"preview": ".header #tabs {\n width: $header-width;\n height: calc(100% - 60px);\n position: fixed;\n top: 50px;\n background-color:"
},
{
"path": "app/assets/stylesheets/arctic_admin/layouts/_wrapper.scss",
"chars": 88,
"preview": "#wrapper {\n display: flex;\n flex-direction: column;\n\n .flashes {\n order: -1;\n }\n}"
},
{
"path": "app/assets/stylesheets/arctic_admin/mixins/_buttons_mixins.scss",
"chars": 2699,
"preview": "$bg-tertiary-button: transparent;\n$bg-tertiary-button-hover: rgba($border-color, .3);;\n\n@mixin button() {\n border-radiu"
},
{
"path": "app/assets/stylesheets/arctic_admin/mixins/_forms.scss",
"chars": 180,
"preview": "@mixin input-valid() {\n border-color: $success;\n background-color: rgba($success, .1);\n}\n\n@mixin input-invalid() {\n b"
},
{
"path": "app/assets/stylesheets/arctic_admin/mixins/_mixins.scss",
"chars": 93,
"preview": "@import \"prefix_mixins\";\n@import \"buttons_mixins\";\n@import \"sidebar_mixins\";\n@import \"forms\";"
},
{
"path": "app/assets/stylesheets/arctic_admin/mixins/_prefix_mixins.scss",
"chars": 1272,
"preview": "@mixin transform($var) {\n -webkit-transform: $var;\n -moz-transform: $var;\n -ms-transform: $var;\n -o-tran"
},
{
"path": "app/assets/stylesheets/arctic_admin/mixins/_sidebar_mixins.scss",
"chars": 477,
"preview": "@mixin sidebar-container() {\n #active_admin_content.with_sidebar {\n #main_content_wrapper {\n width: $screen-fil"
},
{
"path": "app/assets/stylesheets/arctic_admin/pages/_form.scss",
"chars": 2097,
"preview": "@mixin arctic-admin-form() {\n @include sidebar-container();\n \n form legend {\n font-weight: normal;\n }\n \n fields"
},
{
"path": "app/assets/stylesheets/arctic_admin/pages/_index.scss",
"chars": 2705,
"preview": "@use \"sass:math\";\n\nbody.index {\n\n .resource_selection_toggle_cell, .resource_selection_cell {\n display: flex;\n }\n\n "
},
{
"path": "app/assets/stylesheets/arctic_admin/pages/_login.scss",
"chars": 997,
"preview": "body.logged_out {\n .flash {\n position: fixed;\n }\n\n #active_admin_content {\n height: 100vh;\n width: 100%;\n "
},
{
"path": "app/assets/stylesheets/arctic_admin/pages/_show.scss",
"chars": 45,
"preview": "body.show {\n @include sidebar-container();\n}"
},
{
"path": "app/assets/stylesheets/arctic_admin/variables/_borders.scss",
"chars": 30,
"preview": "$border-radius: 3px !default;\n"
},
{
"path": "app/assets/stylesheets/arctic_admin/variables/_box_shadows.scss",
"chars": 49,
"preview": "$box-shadow: 0 0 4px 0 rgba(0,0,0,0.1) !default;\n"
},
{
"path": "app/assets/stylesheets/arctic_admin/variables/_colors.scss",
"chars": 1206,
"preview": "// BASIC COLOR\n$red: #B02B2C;\n$green: #00897B;\n$blue: #4bacfe;\n$black: #36393D;\n$grey: #76838f;\n\n// flash\n$error: #dc474"
},
{
"path": "app/assets/stylesheets/arctic_admin/variables/_fonts.scss",
"chars": 141,
"preview": "$font-family-fallback: Arial, sans-serif !default;\n$font-family-body: \"LatoWeb\", $font-family-fallback !default;\n\n$font-"
},
{
"path": "app/assets/stylesheets/arctic_admin/variables/_icons.scss",
"chars": 468,
"preview": "// you can customise any icons\n// you need to use unicode of the icon font\n// the unicode of fontawesome can be found he"
},
{
"path": "app/assets/stylesheets/arctic_admin/variables/_media_queries.scss",
"chars": 210,
"preview": "$sm-width: 576px !default;\n$md-width: 768px !default;\n$lg-width: 992px !default;\n$x-lg-width: 1400px !default;\n\n// <576p"
},
{
"path": "app/assets/stylesheets/arctic_admin/variables/_size.scss",
"chars": 430,
"preview": "$header-width: 200px !default;\n$screen-header-width: calc(100% - 200px) !default;\n$lg-header-width: 250px !default;\n$lg-"
},
{
"path": "app/assets/stylesheets/arctic_admin/variables/_spaces.scss",
"chars": 895,
"preview": "$space-0: 0;\n$space-0-1: 0.125rem; /* 2px */\n$space-1: 0.25rem; /* 4px */\n$space-2: 0.5rem; /* 8px */\n$space-3: 0.75rem;"
},
{
"path": "app/assets/stylesheets/arctic_admin/variables/_variables.scss",
"chars": 130,
"preview": "@import \"colors\";\n@import \"size\";\n@import \"icons\";\n@import \"media_queries\";\n@import \"fonts\";\n@import \"spaces\";\n@import \""
},
{
"path": "arctic_admin.gemspec",
"chars": 961,
"preview": "# coding: utf-8\nlib = File.expand_path('../lib', __FILE__)\n$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)\nrequi"
},
{
"path": "lib/arctic_admin/version.rb",
"chars": 43,
"preview": "module ArcticAdmin\n VERSION = \"4.3.3\"\nend\n"
},
{
"path": "lib/arctic_admin.rb",
"chars": 147,
"preview": "require \"arctic_admin/version\"\nrequire 'font-awesome-sass'\n\nmodule ArcticAdmin\n module Rails\n class Engine < ::Rails"
},
{
"path": "package.json",
"chars": 874,
"preview": "{\n \"name\": \"arctic_admin\",\n \"version\": \"4.3.3\",\n \"description\": \"Responsive Theme for ActiveAdmin\",\n \"main\": \"app/as"
}
]
About this extraction
This page contains the full source code of the cprodhomme/arctic_admin GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 62 files (52.1 KB), approximately 16.9k tokens, and a symbol index with 13 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.