active_admin_prism 0.1.0 → 0.1.1
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/CHANGELOG.md +10 -1
- data/INTEGRATION.md +5 -0
- data/README.md +13 -1
- data/app/assets/javascripts/active_admin_prism/prism.js +1 -1
- data/app/assets/stylesheets/active_admin_prism/prism.css +1 -1
- data/js-src/prism.js +97 -0
- data/lib/active_admin/views/prism_sidebar.rb +26 -0
- data/lib/active_admin_prism/configuration.rb +14 -0
- data/lib/active_admin_prism/version.rb +1 -1
- data/scss-src/_sidebar.scss +96 -2
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 856ce99225e35f41d012115c829406cb1de886ef7d36af3aa5b9e12978afe057
|
|
4
|
+
data.tar.gz: f7698fb938f3ea46bb86496ce3f80cc7cfaa74fd887a9425b8b46b7711f38a13
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: add5ff5ce0bae255af731412b88af58dad8f9572323acf09f58ed8830253b44e13f269418a83ee796a50f0f19411ba7ea692893215e683379abd55acda003b9c
|
|
7
|
+
data.tar.gz: 4f4554adf93c92eb6cc090b7b7116b54bad8fdab489dfa84d59c5aded4f3282a40c2d864b6b01011d78dd786178a2d27042fc260eb73aa68f37917a9c91cc10c
|
data/CHANGELOG.md
CHANGED
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## 0.1.1
|
|
4
4
|
|
|
5
|
+
- A search box renders at the top of the sidebar's "Pages" nav
|
|
6
|
+
(`config.menu_search`, default `true`), filtering menu items as you
|
|
7
|
+
type without a server round trip. Matching works at any nesting depth:
|
|
8
|
+
a submenu item that matches keeps its parent group visible and expanded
|
|
9
|
+
even though the parent's own label doesn't match; a parent whose own
|
|
10
|
+
label matches instead reveals its entire submenu, expanded, so you
|
|
11
|
+
never have to manually open a group to find something buried in a long
|
|
12
|
+
menu. Clearing the box (or the "x" button, or Escape) resets everything
|
|
13
|
+
back to its normal expand/collapse state.
|
|
5
14
|
- **The shipped `prism.css`/`prism.js` are now minified.** `bin/build-css`
|
|
6
15
|
compiles with `style: :compressed` instead of `:expanded`, and a new
|
|
7
16
|
`bin/build-js` (backed by the `terser` dev dependency) minifies the real
|
data/INTEGRATION.md
CHANGED
|
@@ -5,6 +5,11 @@ to — switching off `active_admin_prism` in a Rails app. For a quick
|
|
|
5
5
|
start, see [README.md](README.md); this document goes deeper on every
|
|
6
6
|
option and the reasoning behind it.
|
|
7
7
|
|
|
8
|
+
**Live demo:** [prism-demo.onrender.com/admin](https://prism-demo.onrender.com/admin) —
|
|
9
|
+
`admin@example.com` / `password`. Hosted on Render's free tier, so the
|
|
10
|
+
first request after a period of inactivity can take up to a minute to
|
|
11
|
+
spin up.
|
|
12
|
+
|
|
8
13
|
## Contents
|
|
9
14
|
|
|
10
15
|
- [Requirements](#requirements)
|
data/README.md
CHANGED
|
@@ -9,6 +9,19 @@ no manual asset manifest edits.
|
|
|
9
9
|
(configuration reference, feature-by-feature usage, switching/disabling the
|
|
10
10
|
theme, troubleshooting). This README is a quick start.
|
|
11
11
|
|
|
12
|
+
## Live demo
|
|
13
|
+
|
|
14
|
+
A live demo dashboard is running at
|
|
15
|
+
**[prism-demo.onrender.com/admin](https://prism-demo.onrender.com/admin)**:
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
Username: admin@example.com
|
|
19
|
+
Password: password
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
The demo is hosted on Render's free tier, so the first request after a
|
|
23
|
+
period of inactivity can take up to a minute while the instance spins up.
|
|
24
|
+
|
|
12
25
|
## Requirements
|
|
13
26
|
|
|
14
27
|
- ActiveAdmin `>= 3.0, < 4`
|
|
@@ -16,7 +29,6 @@ theme, troubleshooting). This README is a quick start.
|
|
|
16
29
|
- Ruby `>= 3.1`
|
|
17
30
|
|
|
18
31
|
## Install
|
|
19
|
-
|
|
20
32
|
Add to your Gemfile:
|
|
21
33
|
|
|
22
34
|
```ruby
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(){"use strict";function
|
|
1
|
+
!function(){"use strict";function e(e){return a+e.id}function t(t,n){t.classList.toggle("open",n);try{window.localStorage.setItem(e(t),n?"1":"0")}catch(e){}}function n(t){t.querySelectorAll(".prism-nav-item.has-children").forEach(function(t){var n;try{n=window.localStorage.getItem(e(t))}catch(e){n=null}"1"===n?t.classList.add("open"):"0"===n&&t.classList.remove("open")})}function s(e){var n=e.target.closest("[data-prism-toggle]");if(n){var s=n.closest(".prism-nav-item");s&&t(s,!s.classList.contains("open"))}}function i(e){e.target.closest("[data-prism-toggle-sidebar]")&&document.body.classList.toggle("prism-sidebar-open")}var a="prism_sidebar_";document.addEventListener("DOMContentLoaded",function(){var e=document.getElementById("header");e&&e.classList.contains("prism-sidebar")&&(n(e),e.addEventListener("click",s),e.addEventListener("click",i))})}(),function(){"use strict";function e(e){return(e||"").trim().toLowerCase()}function t(t){var n=t.querySelector(":scope > .prism-nav-link .prism-nav-label, :scope > .prism-nav-group-toggle .prism-nav-label");return n?e(n.textContent):""}function n(e){var t=e.querySelector(":scope > .prism-nav-submenu");return t?Array.prototype.filter.call(t.children,function(e){return e.classList.contains("prism-nav-item")}):[]}function s(e,i,a){var r=!!i&&-1!==t(e).indexOf(i),o=!1;n(e).forEach(function(e){s(e,i,a||r)&&(o=!0)});var c=!i||a||r||o;return e.classList.toggle("prism-nav-hidden",!c),e.classList.toggle("prism-search-open",!!i&&(r||o||a)),r||o}function i(e,t){var n=e.querySelector(".prism-sidebar-scroll > .prism-nav");if(n){var i=!1;Array.prototype.forEach.call(n.children,function(e){e.classList.contains("prism-nav-item")&&s(e,t,!1)&&(i=!0)});var a=e.querySelector(".prism-nav-empty");a&&a.classList.toggle("prism-nav-empty-visible",!!t&&!i);var r=e.querySelector("[data-prism-nav-search-clear]");r&&r.classList.toggle("prism-nav-search-clear-visible",!!t)}}document.addEventListener("DOMContentLoaded",function(){var t=document.getElementById("header");if(t&&t.classList.contains("prism-sidebar")){var n=t.querySelector("[data-prism-nav-search]");if(n){n.addEventListener("input",function(){i(t,e(n.value))}),n.addEventListener("keydown",function(e){"Escape"===e.key&&n.value&&(n.value="",i(t,""))});var s=t.querySelector("[data-prism-nav-search-clear]");s&&s.addEventListener("click",function(){n.value="",i(t,""),n.focus()})}}})}(),function(){"use strict";document.addEventListener("DOMContentLoaded",function(){if(!document.body.classList.contains("prism-styled-confirms-disabled")&&"undefined"!=typeof jQuery&&jQuery.rails&&window.ActiveAdmin&&window.ActiveAdmin.ModalDialog){var e=jQuery,t=e.rails.allowAction;e.rails.allowAction=function(n){var s=n.data("confirm");return s?n.closest(".batch_actions_selector").length?t.call(e.rails,n):n.data("prismConfirmed")?(n.removeData("prismConfirmed"),!0):(new window.ActiveAdmin.ModalDialog(s,{},function(){n.data("prismConfirmed",!0),n[0].click()}),!1):t.call(e.rails,n)}}})}(),function(){"use strict";function e(e,t){e.dataset.prismDismissed||(e.dataset.prismDismissed="true",e.style.transitionDuration=t+"ms",e.classList.add("prism-flash-hide"),setTimeout(function(){e.remove()},t))}var t=320;document.addEventListener("DOMContentLoaded",function(){var n=document.querySelector(".flashes"),s=document.querySelectorAll(".flashes .flash");if(s.length){var i=n&&parseInt(n.dataset.prismTransitionMs,10)||t,a=n&&parseInt(n.dataset.prismAutoDismissMs,10);a&&s.forEach(function(t){setTimeout(function(){e(t,i)},a)}),document.addEventListener("click",function(t){var n=t.target.closest("[data-prism-flash-dismiss]");n&&e(n.closest(".flash"),i)})}})}(),function(){"use strict";document.addEventListener("DOMContentLoaded",function(){function e(){var e=t.classList.toggle("open");n.setAttribute("aria-expanded",e?"true":"false"),document.body.classList.toggle("prism-filters-open",e)}if(!document.body.classList.contains("prism-filters-collapsible-disabled")){var t=document.getElementById("filters_sidebar_section");if(t){var n=t.querySelector(":scope > h3");n&&(n.setAttribute("role","button"),n.setAttribute("tabindex","0"),n.setAttribute("aria-expanded",t.classList.contains("open")?"true":"false"),document.body.classList.toggle("prism-filters-open",t.classList.contains("open")),n.addEventListener("click",e),n.addEventListener("keydown",function(t){"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),e())}))}}})}(),function(){"use strict";function e(e){document.querySelectorAll(".prism-sidebar-lang.open").forEach(function(t){if(t!==e){t.classList.remove("open");var n=t.querySelector(".prism-lang-toggle");n&&n.setAttribute("aria-expanded","false")}})}document.addEventListener("DOMContentLoaded",function(){function t(){var t=s.classList.toggle("open");n.setAttribute("aria-expanded",t?"true":"false"),t&&e(s)}var n=document.querySelector(".prism-lang-toggle");if(n){var s=n.closest(".prism-sidebar-lang");n.setAttribute("role","button"),n.setAttribute("tabindex","0"),n.addEventListener("click",function(e){e.stopPropagation(),t()}),n.addEventListener("keydown",function(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),t())}),document.addEventListener("click",function(){e()})}})}();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
body{background:#f4f5f7;color:#384250;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}#active_admin_content h2,#active_admin_content h3{color:#1a1f36;font-weight:600}a{color:#6d5bd0}a:hover{color:#5949b8}#title_bar{background:transparent;border:none;box-shadow:none;text-shadow:none;padding:10px 10px 8px}#title_bar h2#page_title{color:#1a1f36;font-weight:700;font-size:1.6em;letter-spacing:-0.01em}#footer{color:#6b7280;font-size:0.85em;padding:10px;border-top:1px solid #e6e8ec}#footer a{color:#6b7280;text-decoration:underline}#footer a:hover{color:#6d5bd0}.flashes{padding:10px 10px 0}body.active_admin .flash{position:relative;display:flex;align-items:flex-start;gap:12px;background:#f4f5f7;border:1px solid #e6e8ec;border-left:3px solid #6b7280;border-radius:6px;box-shadow:none;text-shadow:none;color:#1a1f36;font-size:0.9em;font-weight:600;line-height:1.4;padding:10px 16px;margin-bottom:0;opacity:1;transform:translateY(0) scale(1);transition:opacity 320ms cubic-bezier(0.4, 0, 0.2, 1),transform 320ms cubic-bezier(0.4, 0, 0.2, 1)}body.active_admin .flash.prism-flash-hide{opacity:0;transform:translateY(-6px) scale(0.98)}body.active_admin .flash.flash_notice{background:#e8f9ee;border-left-color:#22c55e;color:#136e34}body.active_admin .flash.flash_error,body.active_admin .flash.flash_alert{background:#fdecec;border-left-color:#ef4444;color:#eb1515}.prism-flash-message{flex:1 1 auto}.prism-flash-dismiss{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin:-2px -4px -2px 0;padding:0;border:none;border-radius:6px;background:transparent !important;color:inherit !important;opacity:0.6;cursor:pointer;transition:opacity 120ms ease,background 120ms ease}.prism-flash-dismiss:hover{opacity:1;background:rgba(0,0,0,0.06) !important}.prism-flash-dismiss-icon{display:block;margin:0}.ui-widget-overlay{background:rgba(15,18,26,0.45)}.ui-dialog{background:#fff;border:1px solid #e6e8ec;border-radius:10px;box-shadow:0 4px 6px rgba(16,24,40,0.05),0 10px 24px rgba(16,24,40,0.08);padding:0;overflow:hidden;outline:none}.ui-dialog:focus{outline:none}.ui-dialog .ui-dialog-titlebar{background:#fff;border:none;border-bottom:1px solid #e6e8ec;box-shadow:none;text-shadow:none;color:#1a1f36;font-weight:700;padding:16px 20px}.ui-dialog .ui-dialog-titlebar span{color:inherit}.ui-dialog form{padding:0}.ui-dialog ul{margin:0;padding:0}.ui-dialog ul li{padding:10px 20px;margin:0}.ui-dialog label{color:#384250;font-weight:600}.ui-dialog .ui-dialog-buttonpane{background:#f4f5f7;padding:12px 20px;display:flex;justify-content:flex-end;gap:8px}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{display:flex;gap:8px}.ui-dialog .ui-dialog-buttonpane button,.ui-dialog .ui-dialog-buttonset button{margin:0}.ui-dialog .ui-dialog-buttonpane button:first-child,.ui-dialog .ui-dialog-buttonset button:first-child{background:#6d5bd0 !important;background-image:none !important;border:1px solid #6d5bd0;border-radius:6px;color:#fff !important;text-shadow:none;box-shadow:none;font-weight:600;padding:9px 16px;transition:background 120ms ease,border-color 120ms ease}.ui-dialog .ui-dialog-buttonpane button:first-child:hover,.ui-dialog .ui-dialog-buttonset button:first-child:hover{background:#5949b8 !important;border-color:#5949b8;color:#fff !important}.ui-dialog .ui-dialog-buttonpane button:first-child:active,.ui-dialog .ui-dialog-buttonset button:first-child:active{background:#5949b8 !important;box-shadow:none}.ui-dialog .ui-dialog-buttonpane button:last-child,.ui-dialog .ui-dialog-buttonset button:last-child{background:#fff !important;background-image:none !important;border:1px solid #d6d9e0;border-radius:6px;color:#384250 !important;text-shadow:none;box-shadow:none;font-weight:600;padding:8px 15px;transition:background 120ms ease,border-color 120ms ease}.ui-dialog .ui-dialog-buttonpane button:last-child:hover,.ui-dialog .ui-dialog-buttonset button:last-child:hover{background:#f4f5f7 !important;border-color:#6b7280;color:#1a1f36 !important}.ui-dialog .ui-dialog-buttonpane button:last-child:active,.ui-dialog .ui-dialog-buttonset button:last-child:active{background:#f4f5f7 !important;box-shadow:none}.breadcrumb{font-size:0.85em;font-weight:600;letter-spacing:0.02em;text-transform:uppercase;color:#6b7280;margin-bottom:6px}.breadcrumb a,.breadcrumb a:link,.breadcrumb a:visited,.breadcrumb a:active{color:#6b7280;text-decoration:none}.breadcrumb a:hover,.breadcrumb a:link:hover,.breadcrumb a:visited:hover,.breadcrumb a:active:hover{color:#6d5bd0;text-decoration:none}.breadcrumb .breadcrumb_sep{color:#d6d9e0}body:not(.logged_out) #wrapper,body.index:not(.logged_out) #wrapper{display:grid;grid-template-columns:264px 1fr;grid-template-rows:auto auto auto 1fr auto;min-height:100vh;width:100%}#header.prism-sidebar{grid-column:1;grid-row:1 / -1;display:flex;background:#fff !important;background-image:none !important;border-right:1px solid #e6e8ec;padding:0;height:auto;width:264px;position:sticky;top:0;align-self:stretch;max-height:100vh;overflow:hidden;z-index:100;text-shadow:none !important;box-shadow:none !important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}#title_bar{grid-column:2;grid-row:2}.flashes{grid-column:2;grid-row:3;align-self:start}#active_admin_content{grid-column:2;grid-row:4;min-width:0;padding:10px}body:not(.prism-sidebar-footer-disabled) #footer{display:none}#header.prism-sidebar .prism-sidebar-inner{display:flex;flex-direction:column;width:100%;height:100%;max-height:100vh}#header.prism-sidebar .prism-sidebar-brand{flex:0 0 auto;padding:20px 24px;border-bottom:1px solid #e6e8ec}#header.prism-sidebar .prism-sidebar-brand #site_title{margin:0;padding:0;font-size:1.15em;font-weight:700;color:#1a1f36}#header.prism-sidebar .prism-sidebar-brand #site_title a{color:inherit;text-decoration:none}#header.prism-sidebar .prism-sidebar-lang{position:relative;flex:0 0 auto;padding:10px 12px;border-bottom:1px solid #e6e8ec}#header.prism-sidebar .prism-sidebar-lang.open .prism-chevron{transform:rotate(180deg)}#header.prism-sidebar .prism-sidebar-lang.open .prism-lang-menu{display:block}#header.prism-sidebar .prism-lang-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border-radius:6px;color:#384250;font-size:0.85em;font-weight:600;cursor:pointer;user-select:none;transition:background 120ms ease}#header.prism-sidebar .prism-lang-toggle:hover{background:#f4f5f7}#header.prism-sidebar .prism-lang-toggle .prism-nav-icon{flex:0 0 auto;color:#6b7280}#header.prism-sidebar .prism-lang-toggle .prism-chevron{flex:0 0 auto;margin-left:auto;transition:transform 120ms ease}#header.prism-sidebar .prism-lang-current{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#header.prism-sidebar .prism-lang-menu{display:none;list-style:none;margin:4px 0 0;padding:4px;position:absolute;left:12px;right:12px;z-index:50;background:#fff;border:1px solid #e6e8ec;border-radius:6px;box-shadow:0 4px 6px rgba(16,24,40,0.05),0 10px 24px rgba(16,24,40,0.08)}#header.prism-sidebar .prism-lang-menu li{margin:0}#header.prism-sidebar .prism-lang-option{display:block;padding:8px 10px;border-radius:6px;color:#384250;font-size:0.85em;font-weight:600;text-decoration:none}#header.prism-sidebar .prism-lang-option:hover{background:#f4f5f7}#header.prism-sidebar .prism-lang-option.active{background:#f2ecfd;color:#5949b8}#header.prism-sidebar .prism-sidebar-scroll{flex:1 1 auto;overflow-y:auto;padding:20px 12px}#header.prism-sidebar .prism-sidebar-utility{flex:0 0 auto;padding:12px;border-top:1px solid #e6e8ec}#header.prism-sidebar .prism-sidebar-utility ul.prism-nav-utility{background:#f4f5f7;border-radius:10px;padding:4px}#header.prism-sidebar .prism-sidebar-utility .prism-nav-item{margin:0}#header.prism-sidebar .prism-sidebar-utility #prism_nav_current_user>.prism-nav-link{padding:10px 10px 6px;font-weight:600;color:#1a1f36;font-size:0.88em}#header.prism-sidebar .prism-sidebar-utility #prism_nav_current_user>.prism-nav-link:hover{background:transparent}#header.prism-sidebar .prism-sidebar-utility #prism_nav_current_user>.prism-nav-link .prism-nav-label{white-space:normal;word-break:break-word}#header.prism-sidebar .prism-sidebar-utility #prism_nav_logout>.prism-nav-link{padding:6px 10px 8px;font-size:0.85em;color:#6b7280}#header.prism-sidebar .prism-sidebar-utility #prism_nav_logout>.prism-nav-link:hover{color:#ef4444;background:transparent}#header.prism-sidebar .prism-sidebar-footer{flex:0 0 auto;padding:10px 16px;border-top:1px solid #e6e8ec;color:#6b7280;font-size:0.72em;line-height:1.4;text-align:center}#header.prism-sidebar .prism-sidebar-footer a{color:#6b7280;text-decoration:underline}#header.prism-sidebar .prism-sidebar-footer a:hover{color:#6d5bd0}#header.prism-sidebar .prism-nav-section-label{padding:0 12px 8px;font-size:0.72em;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:#6b7280}#header.prism-sidebar ul.prism-nav{list-style:none;margin:0;padding:0}#header.prism-sidebar .prism-nav-item{margin:2px 0}#header.prism-sidebar .prism-nav-item>.prism-nav-link,#header.prism-sidebar .prism-nav-item>.prism-nav-group-toggle{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:6px;color:#1a1f36;font-size:0.92em;font-weight:600;text-decoration:none;cursor:pointer;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background 120ms ease,color 120ms ease}#header.prism-sidebar .prism-nav-item>.prism-nav-link:hover,#header.prism-sidebar .prism-nav-item>.prism-nav-group-toggle:hover{background:#f4f5f7;color:#1a1f36}#header.prism-sidebar .prism-nav-item.active>.prism-nav-link,#header.prism-sidebar .prism-nav-item.active>.prism-nav-group-toggle{background:#f2ecfd;color:#5949b8;font-weight:700}#header.prism-sidebar .prism-nav-item .prism-nav-icon{flex:0 0 auto;color:inherit}#header.prism-sidebar .prism-nav-item .prism-nav-label{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#header.prism-sidebar .prism-nav-item .prism-chevron{flex:0 0 auto;transition:transform 120ms ease}#header.prism-sidebar .prism-nav-item.open>.prism-nav-group-toggle .prism-chevron{transform:rotate(180deg)}#header.prism-sidebar .prism-nav-item .prism-nav-submenu{list-style:none;margin:2px 0 2px 30px;padding:0;display:none}#header.prism-sidebar .prism-nav-item.open>.prism-nav-submenu{display:block}#header.prism-sidebar .prism-nav-item.has-children>.prism-nav-submenu .prism-nav-item>.prism-nav-link{font-size:0.88em}#header.prism-sidebar .prism-nav-utility .prism-nav-item>.prism-nav-link,#header.prism-sidebar .prism-nav-utility .prism-nav-item>.prism-nav-group-toggle{color:#6b7280}#header.prism-sidebar .nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:auto;border-radius:999px;background:#6d5bd0;color:#fff;font-size:0.72em;font-weight:700;line-height:20px}.prism-sidebar-mobile-toggle{display:none}@media (max-width: 900px){.prism-sidebar-mobile-toggle{display:flex;align-items:center;justify-content:center;position:fixed;top:14px;left:14px;width:38px;height:38px;border-radius:6px;background:#fff;color:#384250;box-shadow:0 1px 2px rgba(16,24,40,0.04), 0 1px 6px rgba(16,24,40,0.04);cursor:pointer;z-index:200}#wrapper,.index #wrapper{grid-template-columns:1fr}#header.prism-sidebar{position:fixed;left:0;top:0;bottom:0;transform:translateX(-100%);transition:transform 120ms ease;box-shadow:0 4px 6px rgba(16,24,40,0.05), 0 10px 24px rgba(16,24,40,0.08)}#title_bar,.flashes,#active_admin_content,#footer{grid-column:1}body.prism-sidebar-open #header.prism-sidebar{transform:translateX(0)}}.panel{background:#fff;border:1px solid #e6e8ec;border-radius:10px;box-shadow:0 1px 2px rgba(16,24,40,0.04),0 1px 6px rgba(16,24,40,0.04);margin-bottom:20px;overflow:hidden}.panel>h3{margin:0;padding:16px 20px;background:transparent;border-bottom:1px solid #e6e8ec;color:#1a1f36;font-size:1em;font-weight:600}.panel .panel_contents{padding:20px}.panel .header_action{float:right}.columns{display:flex;flex-wrap:wrap;gap:20px;margin:0}.columns .column{flex:1 1 260px;min-width:0}#sidebar{box-sizing:border-box;overflow-x:hidden}#sidebar .panel{box-sizing:border-box}#active_admin_content #main_content_wrapper #main_content,#active_admin_content #sidebar{transition:margin-right 280ms cubic-bezier(0.4, 0, 0.2, 1),width 280ms cubic-bezier(0.4, 0, 0.2, 1),margin-left 280ms cubic-bezier(0.4, 0, 0.2, 1)}body:has(.prism-collapsible-panel):not(.prism-filters-open) #active_admin_content:not(.without_sidebar) #main_content_wrapper #main_content{margin-right:72px}body:has(.prism-collapsible-panel):not(.prism-filters-open) #active_admin_content #sidebar{width:72px;margin-left:-72px}.prism-collapsible-panel{background:transparent;border-color:transparent;box-shadow:none;margin-bottom:10px;transition:background 120ms ease,border-color 120ms ease,box-shadow 120ms ease,margin 120ms ease}.prism-collapsible-panel>h3{display:flex;align-items:center;gap:8px;width:40px;height:40px;margin:0 0 0 auto;padding:0;justify-content:center;border:1px solid #e6e8ec;border-radius:6px;background:#fff;box-shadow:0 1px 2px rgba(16,24,40,0.04),0 1px 6px rgba(16,24,40,0.04);color:#1a1f36;cursor:pointer;user-select:none;overflow:hidden;transition:width 120ms ease,padding 120ms ease,justify-content 120ms ease,background 120ms ease,border-color 120ms ease}.prism-collapsible-panel>h3:hover{background:#f2ecfd;color:#5949b8}.prism-collapsible-panel .prism-filter-icon{flex:0 0 auto;order:-1}.prism-collapsible-panel .prism-filter-label{max-width:0;overflow:hidden;opacity:0;white-space:nowrap;transition:max-width 200ms ease, opacity 150ms ease}.prism-collapsible-panel .panel_contents{overflow:hidden;max-height:0;opacity:0;padding-top:0;padding-bottom:0;transition:max-height 280ms cubic-bezier(0.4, 0, 0.2, 1),opacity 200ms ease,padding 200ms ease}.prism-collapsible-panel.open{background:#fff;border-color:#e6e8ec;box-shadow:0 1px 2px rgba(16,24,40,0.04),0 1px 6px rgba(16,24,40,0.04);margin-bottom:20px}.prism-collapsible-panel.open>h3{width:100%;height:auto;margin:0;justify-content:flex-start;padding:16px 20px;border:none;border-bottom:1px solid #e6e8ec;background:transparent;box-shadow:none;color:#1a1f36;border-radius:0}.prism-collapsible-panel.open>h3:hover{background:transparent;color:#1a1f36}.prism-collapsible-panel.open .prism-filter-label{max-width:200px;opacity:1}.prism-collapsible-panel.open .panel_contents{max-height:1200px;opacity:1;padding-top:20px;padding-bottom:20px}body.prism-filters-collapsible-disabled .prism-collapsible-panel{background:#fff;border-color:#e6e8ec;box-shadow:0 1px 2px rgba(16,24,40,0.04),0 1px 6px rgba(16,24,40,0.04);margin-bottom:20px}body.prism-filters-collapsible-disabled .prism-collapsible-panel>h3{width:100%;height:auto;margin:0;justify-content:flex-start;padding:16px 20px;border:none;border-bottom:1px solid #e6e8ec;box-shadow:none;cursor:default}body.prism-filters-collapsible-disabled .prism-collapsible-panel .panel_contents{max-height:none;opacity:1;overflow:visible;padding:20px}.blank_slate_container .blank_slate{background:#fff;border:1px dashed #d6d9e0;border-radius:10px;color:#6b7280;font-weight:600;box-shadow:none}.comments .active_admin_comment_meta{color:#6b7280}.comments .active_admin_comment_meta .active_admin_comment_author{color:#1a1f36}.paginated_collection_contents{overflow-x:auto}table.index_table{background:#fff;border:1px solid #e6e8ec;border-radius:10px;border-spacing:0;border-collapse:separate;overflow:hidden}table.index_table th,table.index_table td{padding:12px 16px}table.index_table th{background:#f4f5f7;color:#6b7280;font-size:0.78em;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;border:none;border-bottom:1px solid #e6e8ec;white-space:nowrap}table.index_table th a{white-space:nowrap}table.index_table th:last-child{border-right:none}table.index_table th.sorted-asc,table.index_table th.sorted-desc{background:#f4f5f7}table.index_table td{border-bottom:1px solid #e6e8ec;color:#384250}table.index_table tr:last-child td{border-bottom:none}table.index_table tr.even td{background:transparent}table.index_table tr.selected td{background:#f2ecfd}table.index_table tbody tr:hover td{background:#f4f5f7}table.index_table td.col-actions{white-space:nowrap}.table_actions{display:flex;align-items:center;gap:4px}.table_actions a{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;transition:background 120ms ease,color 120ms ease}.table_actions a.view_link{color:#3b82f6}.table_actions a.view_link:hover{background:rgba(59,130,246,0.12);color:#0b63f3}.table_actions a.edit_link{color:#6d5bd0}.table_actions a.edit_link:hover{background:#f2ecfd;color:#5949b8}.table_actions a.delete_link{color:#ef4444}.table_actions a.delete_link:hover{background:#fdecec;color:#eb1515}.table_actions .prism-action-icon{margin:0}.status_tag{border-radius:999px;background:#d6d9e0;color:#1a1f36;text-transform:none;letter-spacing:0;font-weight:600;padding:3px 10px}.status_tag.yes{background:#e8f9ee;color:#17843f}.status_tag.no{background:#fdecec;color:#ed2d2d}form fieldset.inputs{background:#fff;border:1px solid #e6e8ec;border-radius:10px;padding:20px}form fieldset legend span{color:#1a1f36;font-weight:700;font-size:1.05em;text-transform:none;letter-spacing:normal}form fieldset ol>li label{color:#384250;font-weight:600;font-size:0.9em}form input[type="text"],form input[type="password"],form input[type="email"],form input[type="number"],form input[type="url"],form input[type="tel"],form input[type="date"],form input[type="time"],form input[type="search"],form select,form textarea{border:1px solid #d6d9e0;border-radius:6px;color:#1a1f36;padding:9px 12px;box-shadow:none;transition:border-color 120ms ease,box-shadow 120ms ease}form input[type="text"]:focus,form input[type="password"]:focus,form input[type="email"]:focus,form input[type="number"]:focus,form input[type="url"]:focus,form input[type="tel"]:focus,form input[type="date"]:focus,form input[type="time"]:focus,form input[type="search"]:focus,form select:focus,form textarea:focus{border-color:#6d5bd0;box-shadow:0 0 0 3px rgba(109,91,208,0.15)}form fieldset>ol>li.error input[type="text"],form fieldset>ol>li.error input[type="password"],form fieldset>ol>li.error input[type="email"],form fieldset>ol>li.error input[type="number"],form fieldset>ol>li.error input[type="url"],form fieldset>ol>li.error input[type="tel"],form fieldset>ol>li.error textarea,form fieldset>ol>li.error select{border-color:#ef4444}form fieldset>ol>li.error input[type="text"]:focus,form fieldset>ol>li.error input[type="password"]:focus,form fieldset>ol>li.error input[type="email"]:focus,form fieldset>ol>li.error input[type="number"]:focus,form fieldset>ol>li.error input[type="url"]:focus,form fieldset>ol>li.error input[type="tel"]:focus,form fieldset>ol>li.error textarea:focus,form fieldset>ol>li.error select:focus{box-shadow:0 0 0 3px rgba(239,68,68,0.15)}form fieldset>ol>li p.inline-errors{color:#ef4444;font-weight:600}form ul.errors{background:#fdecec;color:#ef4444;border-radius:6px}form input[type="checkbox"],form input[type="radio"]{appearance:none;position:relative;width:18px;height:18px;margin:0 8px 0 0;border:1px solid #d6d9e0;background:#fff;vertical-align:middle;cursor:pointer;flex:0 0 auto}form input[type="checkbox"]:checked,form input[type="radio"]:checked{background:#6d5bd0;border-color:#6d5bd0}form input[type="checkbox"]:checked::after,form input[type="radio"]:checked::after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}form input[type="checkbox"]:focus-visible,form input[type="radio"]:focus-visible{box-shadow:0 0 0 3px rgba(109,91,208,0.2)}form input[type="checkbox"]{border-radius:5px}form input[type="radio"]{border-radius:50%}form input[type="radio"]:checked::after{left:5px;top:5px;width:6px;height:6px;border:none;border-radius:50%;background:#fff;transform:none}form fieldset>ol>li.boolean label{display:flex;align-items:center}form label.prism-toggle{display:flex;align-items:center;gap:10px}form label.prism-toggle input.prism-toggle-input{appearance:none;position:relative;width:0;height:0;margin:0;border:none}form label.prism-toggle input.prism-toggle-input:checked~.prism-toggle-track{background:#6d5bd0}form label.prism-toggle input.prism-toggle-input:checked~.prism-toggle-track::after{transform:translateX(16px)}form .buttons input[type="submit"],form .buttons input[type="button"],form .buttons button,form .actions input[type="submit"],form .actions input[type="button"],form .actions button{margin-right:10px}.prism-toggle-track{position:relative;display:inline-block;width:38px;height:22px;border-radius:999px;background:#d6d9e0;transition:background 120ms ease;flex:0 0 auto}.prism-toggle-track::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,0.25);transition:transform 120ms ease}.prism-toggle-tag{display:inline-flex;align-items:center;vertical-align:middle}.prism-toggle-tag.on .prism-toggle-track{background:#6d5bd0}.prism-toggle-tag.on .prism-toggle-track::after{transform:translateX(16px)}.sidebar_section label{color:#6b7280;font-size:0.72em;font-weight:700;letter-spacing:0.06em}.sidebar_section select,.sidebar_section input[type="text"],.sidebar_section input[type="number"]{box-sizing:border-box;width:100%;max-width:100%}form.filter_form .filter_form_field{margin-bottom:14px}form.filter_form .filter_form_field.select_and_search{display:flex;gap:8px}form.filter_form .filter_form_field.select_and_search select,form.filter_form .filter_form_field.select_and_search input[type="text"]{width:auto;min-width:0;flex:1 1 0;margin-left:0}form.filter_form .filter_form_field.filter_date_range{display:flex;gap:8px}form.filter_form .filter_form_field.filter_date_range input[type="text"]{width:auto;min-width:0;flex:1 1 0}form.filter_form .filter_form_field.filter_date_range input[type="text"]+input{margin-left:0}a.button,a.button:link,a.button:visited,input[type="submit"],input[type="button"],button,form input[type="submit"],form input[type="button"],form button{background:#6d5bd0 !important;background-image:none !important;border:1px solid #6d5bd0;border-radius:6px;color:#fff !important;text-shadow:none;box-shadow:none;font-weight:600;padding:9px 16px;transition:background 120ms ease,border-color 120ms ease}a.button:hover,a.button:link:hover,a.button:visited:hover,input[type="submit"]:hover,input[type="button"]:hover,button:hover,form input[type="submit"]:hover,form input[type="button"]:hover,form button:hover{background:#5949b8 !important;border-color:#5949b8;color:#fff !important}a.button:active,a.button:link:active,a.button:visited:active,input[type="submit"]:active,input[type="button"]:active,button:active,form input[type="submit"]:active,form input[type="button"]:active,form button:active{background:#5949b8 !important;box-shadow:none}a.button.danger,input.danger[type="submit"],form input.danger[type="submit"]{background:#ef4444;border-color:#ef4444}a.button.danger:hover,input.danger[type="submit"]:hover,form input.danger[type="submit"]:hover{background:#ec1e1e;border-color:#ec1e1e}#title_bar .action_items span.action_item>a,#title_bar .action_items span.action_item>.dropdown_menu>a{background:#6d5bd0 !important;background-image:none !important;border:1px solid #6d5bd0;border-radius:6px;color:#fff !important;text-shadow:none;box-shadow:none;font-weight:600;padding:9px 16px;transition:background 120ms ease,border-color 120ms ease;padding:9px 16px;margin:0}#title_bar .action_items span.action_item>a:hover,#title_bar .action_items span.action_item>.dropdown_menu>a:hover{background:#5949b8 !important;border-color:#5949b8;color:#fff !important}#title_bar .action_items span.action_item>a:active,#title_bar .action_items span.action_item>.dropdown_menu>a:active{background:#5949b8 !important;box-shadow:none}.dropdown_menu .dropdown_menu_button,form.filter_form a.clear_filters_btn,fieldset.buttons li.cancel a,fieldset.actions li.cancel a,.pagination a,.pagination span.page.current,.pagination_per_page select{background:#fff !important;background-image:none !important;border:1px solid #d6d9e0;border-radius:6px;color:#384250 !important;text-shadow:none;box-shadow:none;font-weight:600;padding:8px 15px;transition:background 120ms ease,border-color 120ms ease}.dropdown_menu .dropdown_menu_button:hover,form.filter_form a.clear_filters_btn:hover,fieldset.buttons li.cancel a:hover,fieldset.actions li.cancel a:hover,.pagination a:hover,.pagination span.page.current:hover,.pagination_per_page select:hover{background:#f4f5f7 !important;border-color:#6b7280;color:#1a1f36 !important}.dropdown_menu .dropdown_menu_button:active,form.filter_form a.clear_filters_btn:active,fieldset.buttons li.cancel a:active,fieldset.actions li.cancel a:active,.pagination a:active,.pagination span.page.current:active,.pagination_per_page select:active{background:#f4f5f7 !important;box-shadow:none}.dropdown_menu .dropdown_menu_button{padding-right:26px !important}.dropdown_menu .dropdown_menu_button::before,.dropdown_menu .dropdown_menu_button::after{border-color:#6b7280 transparent}.dropdown_menu_list_wrapper{border-radius:6px;box-shadow:0 4px 6px rgba(16,24,40,0.05),0 10px 24px rgba(16,24,40,0.08);border:1px solid #e6e8ec;background:#fff;padding:4px}.dropdown_menu_list_wrapper .dropdown_menu_list{background:transparent;border:none;box-shadow:none;border-radius:0}.dropdown_menu_list_wrapper .dropdown_menu_list li{border-bottom:none}.dropdown_menu_list_wrapper .dropdown_menu_list li a{border-radius:6px;color:#384250;font-weight:600;text-align:left;text-shadow:none;padding:8px 12px}.dropdown_menu_list_wrapper .dropdown_menu_list li a:hover,.dropdown_menu_list_wrapper .dropdown_menu_list li a:active{background:#f2ecfd;color:#5949b8;text-shadow:none}.dropdown_menu_list_wrapper .dropdown_menu_list li:first-child a,.dropdown_menu_list_wrapper .dropdown_menu_list li:last-child a{border-radius:6px}.pagination a,.pagination span.page.current{border-radius:6px;margin-right:4px;padding:5px 11px}.pagination span.page.current{background:#f2ecfd;border-color:#f2ecfd;color:#5949b8}.pagination_information{color:#6b7280}.pagination_information b{color:#1a1f36}.prism-icon,.prism-nav-icon,.prism-chevron,.prism-action-icon{display:inline-block;vertical-align:middle;flex-shrink:0}.prism-icon{margin-right:6px}.prism-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}body.logged_out:has(.prism-login-brand){min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f4f5f7;overflow:hidden;position:relative}body.logged_out:has(.prism-login-brand)::before,body.logged_out:has(.prism-login-brand)::after{content:"";position:fixed;z-index:0;border-radius:50%;filter:blur(70px);opacity:0.35;pointer-events:none}body.logged_out:has(.prism-login-brand)::before{width:420px;height:420px;top:-140px;left:-120px;background:radial-gradient(circle at 30% 30%, #6d5bd0, transparent 70%);animation:prism-login-blob-a 16s ease-in-out infinite}body.logged_out:has(.prism-login-brand)::after{width:360px;height:360px;bottom:-120px;right:-100px;background:radial-gradient(circle at 70% 70%, #f2ecfd, transparent 70%);animation:prism-login-blob-b 18s ease-in-out infinite}body.logged_out:has(.prism-login-brand) #wrapper{position:relative;z-index:1;display:block;min-height:0;width:auto}body.logged_out:has(.prism-login-brand) #content_wrapper{display:flex;flex-direction:column;align-items:center;width:400px;max-width:90vw;margin:0 auto}body.logged_out:has(.prism-login-brand) .flashes{width:100%;padding:0 0 10px}body.logged_out:has(.prism-login-brand) #active_admin_content{width:100%;box-sizing:border-box;background:#fff;border:1px solid #e6e8ec;border-radius:10px;box-shadow:0 4px 6px rgba(16,24,40,0.05),0 10px 24px rgba(16,24,40,0.08);padding:40px 36px 32px}body.logged_out:has(.prism-login-brand) #footer{position:relative;z-index:1;border-top:none;text-align:center}body.logged_out:has(.prism-login-brand) #login fieldset.inputs{border:none;border-radius:0}body.logged_out:has(.prism-login-brand) #login fieldset.actions{margin-top:4px;text-align:center}body.logged_out:has(.prism-login-brand) #login fieldset.actions li{float:none}body.logged_out:has(.prism-login-brand) #login fieldset.actions li.input_action{padding:20px 0;margin-left:30px;margin-bottom:15px}body.logged_out:has(.prism-login-brand) #login fieldset.actions input[type="submit"]{display:inline-block;width:auto;min-width:200px;padding:12px 28px;font-size:0.95em}body.logged_out:has(.prism-login-brand) #error_explanation{background:#fdecec;border:1px solid rgba(239,68,68,0.3);border-radius:6px;padding:12px 16px;margin-bottom:20px;color:#eb1515}body.logged_out:has(.prism-login-brand) #error_explanation h2{background:none !important;box-shadow:none !important;text-shadow:none !important;border:none !important;margin:0 0 6px !important;padding:0 !important;color:inherit;font-size:0.95em;font-weight:700}body.logged_out:has(.prism-login-brand) #error_explanation ul{margin:0;padding-left:18px;font-size:0.88em;font-weight:600}@keyframes prism-login-blob-a{0%,100%{transform:translate(0, 0) scale(1)}50%{transform:translate(60px, 40px) scale(1.1)}}@keyframes prism-login-blob-b{0%,100%{transform:translate(0, 0) scale(1)}50%{transform:translate(-50px, -30px) scale(1.08)}}.prism-login-brand{text-align:center;margin-bottom:28px}.prism-login-logo{width:64px;height:64px;margin:0 auto 14px;color:#6d5bd0}.prism-login-mark{display:block;width:100%;height:100%}.prism-login-beam{stroke-dasharray:40;animation:prism-login-beam-flow 2.4s linear infinite}@keyframes prism-login-beam-flow{to{stroke-dashoffset:-80}}.prism-login-tri{transform-origin:center;animation:prism-login-tri-glow 3.2s ease-in-out infinite}@keyframes prism-login-tri-glow{0%,100%{filter:drop-shadow(0 0 0 rgba(0,0,0,0))}50%{filter:drop-shadow(0 0 6px rgba(109,91,208,0.45))}}body.logged_out #login .prism-login-brand h2{background:none !important;box-shadow:none !important;text-shadow:none !important;border:none !important;margin:0 !important;padding:0 !important;color:#1a1f36}.prism-login-title{font-size:1.6em;font-weight:800;letter-spacing:-0.01em}.prism-login-tagline{margin:4px 0 0;color:#6b7280;font-size:0.9em}.prism-login-links{margin-top:24px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;text-align:center}.prism-login-links a{display:inline-flex;align-items:center;padding:7px 14px;border:1px solid #e6e8ec;border-radius:999px;background:#f4f5f7;color:#384250;font-size:0.82em;font-weight:600;text-decoration:none;transition:background 120ms ease,border-color 120ms ease,color 120ms ease}.prism-login-links a:hover{background:#f2ecfd;border-color:#6d5bd0;color:#5949b8}.prism-login-links br{display:none}
|
|
1
|
+
body{background:#f4f5f7;color:#384250;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}#active_admin_content h2,#active_admin_content h3{color:#1a1f36;font-weight:600}a{color:#6d5bd0}a:hover{color:#5949b8}#title_bar{background:transparent;border:none;box-shadow:none;text-shadow:none;padding:10px 10px 8px}#title_bar h2#page_title{color:#1a1f36;font-weight:700;font-size:1.6em;letter-spacing:-0.01em}#footer{color:#6b7280;font-size:0.85em;padding:10px;border-top:1px solid #e6e8ec}#footer a{color:#6b7280;text-decoration:underline}#footer a:hover{color:#6d5bd0}.flashes{padding:10px 10px 0}body.active_admin .flash{position:relative;display:flex;align-items:flex-start;gap:12px;background:#f4f5f7;border:1px solid #e6e8ec;border-left:3px solid #6b7280;border-radius:6px;box-shadow:none;text-shadow:none;color:#1a1f36;font-size:0.9em;font-weight:600;line-height:1.4;padding:10px 16px;margin-bottom:0;opacity:1;transform:translateY(0) scale(1);transition:opacity 320ms cubic-bezier(0.4, 0, 0.2, 1),transform 320ms cubic-bezier(0.4, 0, 0.2, 1)}body.active_admin .flash.prism-flash-hide{opacity:0;transform:translateY(-6px) scale(0.98)}body.active_admin .flash.flash_notice{background:#e8f9ee;border-left-color:#22c55e;color:#136e34}body.active_admin .flash.flash_error,body.active_admin .flash.flash_alert{background:#fdecec;border-left-color:#ef4444;color:#eb1515}.prism-flash-message{flex:1 1 auto}.prism-flash-dismiss{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin:-2px -4px -2px 0;padding:0;border:none;border-radius:6px;background:transparent !important;color:inherit !important;opacity:0.6;cursor:pointer;transition:opacity 120ms ease,background 120ms ease}.prism-flash-dismiss:hover{opacity:1;background:rgba(0,0,0,0.06) !important}.prism-flash-dismiss-icon{display:block;margin:0}.ui-widget-overlay{background:rgba(15,18,26,0.45)}.ui-dialog{background:#fff;border:1px solid #e6e8ec;border-radius:10px;box-shadow:0 4px 6px rgba(16,24,40,0.05),0 10px 24px rgba(16,24,40,0.08);padding:0;overflow:hidden;outline:none}.ui-dialog:focus{outline:none}.ui-dialog .ui-dialog-titlebar{background:#fff;border:none;border-bottom:1px solid #e6e8ec;box-shadow:none;text-shadow:none;color:#1a1f36;font-weight:700;padding:16px 20px}.ui-dialog .ui-dialog-titlebar span{color:inherit}.ui-dialog form{padding:0}.ui-dialog ul{margin:0;padding:0}.ui-dialog ul li{padding:10px 20px;margin:0}.ui-dialog label{color:#384250;font-weight:600}.ui-dialog .ui-dialog-buttonpane{background:#f4f5f7;padding:12px 20px;display:flex;justify-content:flex-end;gap:8px}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{display:flex;gap:8px}.ui-dialog .ui-dialog-buttonpane button,.ui-dialog .ui-dialog-buttonset button{margin:0}.ui-dialog .ui-dialog-buttonpane button:first-child,.ui-dialog .ui-dialog-buttonset button:first-child{background:#6d5bd0 !important;background-image:none !important;border:1px solid #6d5bd0;border-radius:6px;color:#fff !important;text-shadow:none;box-shadow:none;font-weight:600;padding:9px 16px;transition:background 120ms ease,border-color 120ms ease}.ui-dialog .ui-dialog-buttonpane button:first-child:hover,.ui-dialog .ui-dialog-buttonset button:first-child:hover{background:#5949b8 !important;border-color:#5949b8;color:#fff !important}.ui-dialog .ui-dialog-buttonpane button:first-child:active,.ui-dialog .ui-dialog-buttonset button:first-child:active{background:#5949b8 !important;box-shadow:none}.ui-dialog .ui-dialog-buttonpane button:last-child,.ui-dialog .ui-dialog-buttonset button:last-child{background:#fff !important;background-image:none !important;border:1px solid #d6d9e0;border-radius:6px;color:#384250 !important;text-shadow:none;box-shadow:none;font-weight:600;padding:8px 15px;transition:background 120ms ease,border-color 120ms ease}.ui-dialog .ui-dialog-buttonpane button:last-child:hover,.ui-dialog .ui-dialog-buttonset button:last-child:hover{background:#f4f5f7 !important;border-color:#6b7280;color:#1a1f36 !important}.ui-dialog .ui-dialog-buttonpane button:last-child:active,.ui-dialog .ui-dialog-buttonset button:last-child:active{background:#f4f5f7 !important;box-shadow:none}.breadcrumb{font-size:0.85em;font-weight:600;letter-spacing:0.02em;text-transform:uppercase;color:#6b7280;margin-bottom:6px}.breadcrumb a,.breadcrumb a:link,.breadcrumb a:visited,.breadcrumb a:active{color:#6b7280;text-decoration:none}.breadcrumb a:hover,.breadcrumb a:link:hover,.breadcrumb a:visited:hover,.breadcrumb a:active:hover{color:#6d5bd0;text-decoration:none}.breadcrumb .breadcrumb_sep{color:#d6d9e0}body:not(.logged_out) #wrapper,body.index:not(.logged_out) #wrapper{display:grid;grid-template-columns:264px 1fr;grid-template-rows:auto auto auto 1fr auto;min-height:100vh;width:100%}#header.prism-sidebar{grid-column:1;grid-row:1 / -1;display:flex;background:#fff !important;background-image:none !important;border-right:1px solid #e6e8ec;padding:0;height:auto;width:264px;position:sticky;top:0;align-self:stretch;max-height:100vh;overflow:hidden;z-index:100;text-shadow:none !important;box-shadow:none !important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}#title_bar{grid-column:2;grid-row:2}.flashes{grid-column:2;grid-row:3;align-self:start}#active_admin_content{grid-column:2;grid-row:4;min-width:0;padding:10px}body:not(.prism-sidebar-footer-disabled) #footer{display:none}#header.prism-sidebar .prism-sidebar-inner{display:flex;flex-direction:column;width:100%;height:100%;max-height:100vh}#header.prism-sidebar .prism-sidebar-brand{flex:0 0 auto;padding:20px 24px;border-bottom:1px solid #e6e8ec}#header.prism-sidebar .prism-sidebar-brand #site_title{margin:0;padding:0;font-size:1.15em;font-weight:700;color:#1a1f36}#header.prism-sidebar .prism-sidebar-brand #site_title a{color:inherit;text-decoration:none}#header.prism-sidebar .prism-sidebar-lang{position:relative;flex:0 0 auto;padding:10px 12px;border-bottom:1px solid #e6e8ec}#header.prism-sidebar .prism-sidebar-lang.open .prism-chevron{transform:rotate(180deg)}#header.prism-sidebar .prism-sidebar-lang.open .prism-lang-menu{display:block}#header.prism-sidebar .prism-lang-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border-radius:6px;color:#384250;font-size:0.85em;font-weight:600;cursor:pointer;user-select:none;transition:background 120ms ease}#header.prism-sidebar .prism-lang-toggle:hover{background:#f4f5f7}#header.prism-sidebar .prism-lang-toggle .prism-nav-icon{flex:0 0 auto;color:#6b7280}#header.prism-sidebar .prism-lang-toggle .prism-chevron{flex:0 0 auto;margin-left:auto;transition:transform 120ms ease}#header.prism-sidebar .prism-lang-current{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#header.prism-sidebar .prism-lang-menu{display:none;list-style:none;margin:4px 0 0;padding:4px;position:absolute;left:12px;right:12px;z-index:50;background:#fff;border:1px solid #e6e8ec;border-radius:6px;box-shadow:0 4px 6px rgba(16,24,40,0.05),0 10px 24px rgba(16,24,40,0.08)}#header.prism-sidebar .prism-lang-menu li{margin:0}#header.prism-sidebar .prism-lang-option{display:block;padding:8px 10px;border-radius:6px;color:#384250;font-size:0.85em;font-weight:600;text-decoration:none}#header.prism-sidebar .prism-lang-option:hover{background:#f4f5f7}#header.prism-sidebar .prism-lang-option.active{background:#f2ecfd;color:#5949b8}#header.prism-sidebar .prism-sidebar-search{position:relative;flex:0 0 auto;display:flex;align-items:center;gap:8px;margin:12px 12px 4px;padding:8px 10px;border:1px solid #e6e8ec;border-radius:6px;background:#f4f5f7}#header.prism-sidebar .prism-sidebar-search:focus-within{border-color:#6d5bd0}#header.prism-sidebar .prism-sidebar-search .prism-search-icon{flex:0 0 auto;color:#6b7280}#header.prism-sidebar .prism-nav-search-input{flex:1 1 auto;min-width:0;border:0;background:transparent;color:#384250;font-size:0.85em}#header.prism-sidebar .prism-nav-search-input:focus{outline:none}#header.prism-sidebar .prism-nav-search-input::placeholder{color:#6b7280}#header.prism-sidebar .prism-nav-search-input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}#header.prism-sidebar .prism-nav-search-clear{display:none;flex:0 0 auto;align-items:center;justify-content:center;color:#6b7280;cursor:pointer}#header.prism-sidebar .prism-nav-search-clear.prism-nav-search-clear-visible{display:flex}#header.prism-sidebar .prism-nav-search-clear:hover{color:#1a1f36}#header.prism-sidebar .prism-nav-search-clear .prism-nav-icon{width:14px;height:14px}#header.prism-sidebar .prism-sidebar-scroll{flex:1 1 auto;overflow-y:auto;padding:20px 12px}#header.prism-sidebar .prism-nav-empty{display:none;padding:8px 12px;color:#6b7280;font-size:0.85em}#header.prism-sidebar .prism-nav-empty.prism-nav-empty-visible{display:block}#header.prism-sidebar .prism-sidebar-utility{flex:0 0 auto;padding:12px;border-top:1px solid #e6e8ec}#header.prism-sidebar .prism-sidebar-utility ul.prism-nav-utility{background:#f4f5f7;border-radius:10px;padding:4px}#header.prism-sidebar .prism-sidebar-utility .prism-nav-item{margin:0}#header.prism-sidebar .prism-sidebar-utility #prism_nav_current_user>.prism-nav-link{padding:10px 10px 6px;font-weight:600;color:#1a1f36;font-size:0.88em}#header.prism-sidebar .prism-sidebar-utility #prism_nav_current_user>.prism-nav-link:hover{background:transparent}#header.prism-sidebar .prism-sidebar-utility #prism_nav_current_user>.prism-nav-link .prism-nav-label{white-space:normal;word-break:break-word}#header.prism-sidebar .prism-sidebar-utility #prism_nav_logout>.prism-nav-link{padding:6px 10px 8px;font-size:0.85em;color:#6b7280}#header.prism-sidebar .prism-sidebar-utility #prism_nav_logout>.prism-nav-link:hover{color:#ef4444;background:transparent}#header.prism-sidebar .prism-sidebar-footer{flex:0 0 auto;padding:10px 16px;border-top:1px solid #e6e8ec;color:#6b7280;font-size:0.72em;line-height:1.4;text-align:center}#header.prism-sidebar .prism-sidebar-footer a{color:#6b7280;text-decoration:underline}#header.prism-sidebar .prism-sidebar-footer a:hover{color:#6d5bd0}#header.prism-sidebar .prism-nav-section-label{padding:0 12px 8px;font-size:0.72em;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:#6b7280}#header.prism-sidebar ul.prism-nav{list-style:none;margin:0;padding:0}#header.prism-sidebar .prism-nav-item{margin:2px 0}#header.prism-sidebar .prism-nav-item>.prism-nav-link,#header.prism-sidebar .prism-nav-item>.prism-nav-group-toggle{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:6px;color:#1a1f36;font-size:0.92em;font-weight:600;text-decoration:none;cursor:pointer;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background 120ms ease,color 120ms ease}#header.prism-sidebar .prism-nav-item>.prism-nav-link:hover,#header.prism-sidebar .prism-nav-item>.prism-nav-group-toggle:hover{background:#f4f5f7;color:#1a1f36}#header.prism-sidebar .prism-nav-item.active>.prism-nav-link,#header.prism-sidebar .prism-nav-item.active>.prism-nav-group-toggle{background:#f2ecfd;color:#5949b8;font-weight:700}#header.prism-sidebar .prism-nav-item .prism-nav-icon{flex:0 0 auto;color:inherit}#header.prism-sidebar .prism-nav-item .prism-nav-label{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#header.prism-sidebar .prism-nav-item .prism-chevron{flex:0 0 auto;transition:transform 120ms ease}#header.prism-sidebar .prism-nav-item.open>.prism-nav-group-toggle .prism-chevron,#header.prism-sidebar .prism-nav-item.prism-search-open>.prism-nav-group-toggle .prism-chevron{transform:rotate(180deg)}#header.prism-sidebar .prism-nav-item .prism-nav-submenu{list-style:none;margin:2px 0 2px 30px;padding:0;display:none}#header.prism-sidebar .prism-nav-item.open>.prism-nav-submenu,#header.prism-sidebar .prism-nav-item.prism-search-open>.prism-nav-submenu{display:block}#header.prism-sidebar .prism-nav-item.has-children>.prism-nav-submenu .prism-nav-item>.prism-nav-link{font-size:0.88em}#header.prism-sidebar .prism-nav-item.prism-nav-hidden{display:none}#header.prism-sidebar .prism-nav-utility .prism-nav-item>.prism-nav-link,#header.prism-sidebar .prism-nav-utility .prism-nav-item>.prism-nav-group-toggle{color:#6b7280}#header.prism-sidebar .nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:auto;border-radius:999px;background:#6d5bd0;color:#fff;font-size:0.72em;font-weight:700;line-height:20px}.prism-sidebar-mobile-toggle{display:none}@media (max-width: 900px){.prism-sidebar-mobile-toggle{display:flex;align-items:center;justify-content:center;position:fixed;top:14px;left:14px;width:38px;height:38px;border-radius:6px;background:#fff;color:#384250;box-shadow:0 1px 2px rgba(16,24,40,0.04), 0 1px 6px rgba(16,24,40,0.04);cursor:pointer;z-index:200}#wrapper,.index #wrapper{grid-template-columns:1fr}#header.prism-sidebar{position:fixed;left:0;top:0;bottom:0;transform:translateX(-100%);transition:transform 120ms ease;box-shadow:0 4px 6px rgba(16,24,40,0.05), 0 10px 24px rgba(16,24,40,0.08)}#title_bar,.flashes,#active_admin_content,#footer{grid-column:1}body.prism-sidebar-open #header.prism-sidebar{transform:translateX(0)}}.panel{background:#fff;border:1px solid #e6e8ec;border-radius:10px;box-shadow:0 1px 2px rgba(16,24,40,0.04),0 1px 6px rgba(16,24,40,0.04);margin-bottom:20px;overflow:hidden}.panel>h3{margin:0;padding:16px 20px;background:transparent;border-bottom:1px solid #e6e8ec;color:#1a1f36;font-size:1em;font-weight:600}.panel .panel_contents{padding:20px}.panel .header_action{float:right}.columns{display:flex;flex-wrap:wrap;gap:20px;margin:0}.columns .column{flex:1 1 260px;min-width:0}#sidebar{box-sizing:border-box;overflow-x:hidden}#sidebar .panel{box-sizing:border-box}#active_admin_content #main_content_wrapper #main_content,#active_admin_content #sidebar{transition:margin-right 280ms cubic-bezier(0.4, 0, 0.2, 1),width 280ms cubic-bezier(0.4, 0, 0.2, 1),margin-left 280ms cubic-bezier(0.4, 0, 0.2, 1)}body:has(.prism-collapsible-panel):not(.prism-filters-open) #active_admin_content:not(.without_sidebar) #main_content_wrapper #main_content{margin-right:72px}body:has(.prism-collapsible-panel):not(.prism-filters-open) #active_admin_content #sidebar{width:72px;margin-left:-72px}.prism-collapsible-panel{background:transparent;border-color:transparent;box-shadow:none;margin-bottom:10px;transition:background 120ms ease,border-color 120ms ease,box-shadow 120ms ease,margin 120ms ease}.prism-collapsible-panel>h3{display:flex;align-items:center;gap:8px;width:40px;height:40px;margin:0 0 0 auto;padding:0;justify-content:center;border:1px solid #e6e8ec;border-radius:6px;background:#fff;box-shadow:0 1px 2px rgba(16,24,40,0.04),0 1px 6px rgba(16,24,40,0.04);color:#1a1f36;cursor:pointer;user-select:none;overflow:hidden;transition:width 120ms ease,padding 120ms ease,justify-content 120ms ease,background 120ms ease,border-color 120ms ease}.prism-collapsible-panel>h3:hover{background:#f2ecfd;color:#5949b8}.prism-collapsible-panel .prism-filter-icon{flex:0 0 auto;order:-1}.prism-collapsible-panel .prism-filter-label{max-width:0;overflow:hidden;opacity:0;white-space:nowrap;transition:max-width 200ms ease, opacity 150ms ease}.prism-collapsible-panel .panel_contents{overflow:hidden;max-height:0;opacity:0;padding-top:0;padding-bottom:0;transition:max-height 280ms cubic-bezier(0.4, 0, 0.2, 1),opacity 200ms ease,padding 200ms ease}.prism-collapsible-panel.open{background:#fff;border-color:#e6e8ec;box-shadow:0 1px 2px rgba(16,24,40,0.04),0 1px 6px rgba(16,24,40,0.04);margin-bottom:20px}.prism-collapsible-panel.open>h3{width:100%;height:auto;margin:0;justify-content:flex-start;padding:16px 20px;border:none;border-bottom:1px solid #e6e8ec;background:transparent;box-shadow:none;color:#1a1f36;border-radius:0}.prism-collapsible-panel.open>h3:hover{background:transparent;color:#1a1f36}.prism-collapsible-panel.open .prism-filter-label{max-width:200px;opacity:1}.prism-collapsible-panel.open .panel_contents{max-height:1200px;opacity:1;padding-top:20px;padding-bottom:20px}body.prism-filters-collapsible-disabled .prism-collapsible-panel{background:#fff;border-color:#e6e8ec;box-shadow:0 1px 2px rgba(16,24,40,0.04),0 1px 6px rgba(16,24,40,0.04);margin-bottom:20px}body.prism-filters-collapsible-disabled .prism-collapsible-panel>h3{width:100%;height:auto;margin:0;justify-content:flex-start;padding:16px 20px;border:none;border-bottom:1px solid #e6e8ec;box-shadow:none;cursor:default}body.prism-filters-collapsible-disabled .prism-collapsible-panel .panel_contents{max-height:none;opacity:1;overflow:visible;padding:20px}.blank_slate_container .blank_slate{background:#fff;border:1px dashed #d6d9e0;border-radius:10px;color:#6b7280;font-weight:600;box-shadow:none}.comments .active_admin_comment_meta{color:#6b7280}.comments .active_admin_comment_meta .active_admin_comment_author{color:#1a1f36}.paginated_collection_contents{overflow-x:auto}table.index_table{background:#fff;border:1px solid #e6e8ec;border-radius:10px;border-spacing:0;border-collapse:separate;overflow:hidden}table.index_table th,table.index_table td{padding:12px 16px}table.index_table th{background:#f4f5f7;color:#6b7280;font-size:0.78em;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;border:none;border-bottom:1px solid #e6e8ec;white-space:nowrap}table.index_table th a{white-space:nowrap}table.index_table th:last-child{border-right:none}table.index_table th.sorted-asc,table.index_table th.sorted-desc{background:#f4f5f7}table.index_table td{border-bottom:1px solid #e6e8ec;color:#384250}table.index_table tr:last-child td{border-bottom:none}table.index_table tr.even td{background:transparent}table.index_table tr.selected td{background:#f2ecfd}table.index_table tbody tr:hover td{background:#f4f5f7}table.index_table td.col-actions{white-space:nowrap}.table_actions{display:flex;align-items:center;gap:4px}.table_actions a{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;transition:background 120ms ease,color 120ms ease}.table_actions a.view_link{color:#3b82f6}.table_actions a.view_link:hover{background:rgba(59,130,246,0.12);color:#0b63f3}.table_actions a.edit_link{color:#6d5bd0}.table_actions a.edit_link:hover{background:#f2ecfd;color:#5949b8}.table_actions a.delete_link{color:#ef4444}.table_actions a.delete_link:hover{background:#fdecec;color:#eb1515}.table_actions .prism-action-icon{margin:0}.status_tag{border-radius:999px;background:#d6d9e0;color:#1a1f36;text-transform:none;letter-spacing:0;font-weight:600;padding:3px 10px}.status_tag.yes{background:#e8f9ee;color:#17843f}.status_tag.no{background:#fdecec;color:#ed2d2d}form fieldset.inputs{background:#fff;border:1px solid #e6e8ec;border-radius:10px;padding:20px}form fieldset legend span{color:#1a1f36;font-weight:700;font-size:1.05em;text-transform:none;letter-spacing:normal}form fieldset ol>li label{color:#384250;font-weight:600;font-size:0.9em}form input[type="text"],form input[type="password"],form input[type="email"],form input[type="number"],form input[type="url"],form input[type="tel"],form input[type="date"],form input[type="time"],form input[type="search"],form select,form textarea{border:1px solid #d6d9e0;border-radius:6px;color:#1a1f36;padding:9px 12px;box-shadow:none;transition:border-color 120ms ease,box-shadow 120ms ease}form input[type="text"]:focus,form input[type="password"]:focus,form input[type="email"]:focus,form input[type="number"]:focus,form input[type="url"]:focus,form input[type="tel"]:focus,form input[type="date"]:focus,form input[type="time"]:focus,form input[type="search"]:focus,form select:focus,form textarea:focus{border-color:#6d5bd0;box-shadow:0 0 0 3px rgba(109,91,208,0.15)}form fieldset>ol>li.error input[type="text"],form fieldset>ol>li.error input[type="password"],form fieldset>ol>li.error input[type="email"],form fieldset>ol>li.error input[type="number"],form fieldset>ol>li.error input[type="url"],form fieldset>ol>li.error input[type="tel"],form fieldset>ol>li.error textarea,form fieldset>ol>li.error select{border-color:#ef4444}form fieldset>ol>li.error input[type="text"]:focus,form fieldset>ol>li.error input[type="password"]:focus,form fieldset>ol>li.error input[type="email"]:focus,form fieldset>ol>li.error input[type="number"]:focus,form fieldset>ol>li.error input[type="url"]:focus,form fieldset>ol>li.error input[type="tel"]:focus,form fieldset>ol>li.error textarea:focus,form fieldset>ol>li.error select:focus{box-shadow:0 0 0 3px rgba(239,68,68,0.15)}form fieldset>ol>li p.inline-errors{color:#ef4444;font-weight:600}form ul.errors{background:#fdecec;color:#ef4444;border-radius:6px}form input[type="checkbox"],form input[type="radio"]{appearance:none;position:relative;width:18px;height:18px;margin:0 8px 0 0;border:1px solid #d6d9e0;background:#fff;vertical-align:middle;cursor:pointer;flex:0 0 auto}form input[type="checkbox"]:checked,form input[type="radio"]:checked{background:#6d5bd0;border-color:#6d5bd0}form input[type="checkbox"]:checked::after,form input[type="radio"]:checked::after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}form input[type="checkbox"]:focus-visible,form input[type="radio"]:focus-visible{box-shadow:0 0 0 3px rgba(109,91,208,0.2)}form input[type="checkbox"]{border-radius:5px}form input[type="radio"]{border-radius:50%}form input[type="radio"]:checked::after{left:5px;top:5px;width:6px;height:6px;border:none;border-radius:50%;background:#fff;transform:none}form fieldset>ol>li.boolean label{display:flex;align-items:center}form label.prism-toggle{display:flex;align-items:center;gap:10px}form label.prism-toggle input.prism-toggle-input{appearance:none;position:relative;width:0;height:0;margin:0;border:none}form label.prism-toggle input.prism-toggle-input:checked~.prism-toggle-track{background:#6d5bd0}form label.prism-toggle input.prism-toggle-input:checked~.prism-toggle-track::after{transform:translateX(16px)}form .buttons input[type="submit"],form .buttons input[type="button"],form .buttons button,form .actions input[type="submit"],form .actions input[type="button"],form .actions button{margin-right:10px}.prism-toggle-track{position:relative;display:inline-block;width:38px;height:22px;border-radius:999px;background:#d6d9e0;transition:background 120ms ease;flex:0 0 auto}.prism-toggle-track::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,0.25);transition:transform 120ms ease}.prism-toggle-tag{display:inline-flex;align-items:center;vertical-align:middle}.prism-toggle-tag.on .prism-toggle-track{background:#6d5bd0}.prism-toggle-tag.on .prism-toggle-track::after{transform:translateX(16px)}.sidebar_section label{color:#6b7280;font-size:0.72em;font-weight:700;letter-spacing:0.06em}.sidebar_section select,.sidebar_section input[type="text"],.sidebar_section input[type="number"]{box-sizing:border-box;width:100%;max-width:100%}form.filter_form .filter_form_field{margin-bottom:14px}form.filter_form .filter_form_field.select_and_search{display:flex;gap:8px}form.filter_form .filter_form_field.select_and_search select,form.filter_form .filter_form_field.select_and_search input[type="text"]{width:auto;min-width:0;flex:1 1 0;margin-left:0}form.filter_form .filter_form_field.filter_date_range{display:flex;gap:8px}form.filter_form .filter_form_field.filter_date_range input[type="text"]{width:auto;min-width:0;flex:1 1 0}form.filter_form .filter_form_field.filter_date_range input[type="text"]+input{margin-left:0}a.button,a.button:link,a.button:visited,input[type="submit"],input[type="button"],button,form input[type="submit"],form input[type="button"],form button{background:#6d5bd0 !important;background-image:none !important;border:1px solid #6d5bd0;border-radius:6px;color:#fff !important;text-shadow:none;box-shadow:none;font-weight:600;padding:9px 16px;transition:background 120ms ease,border-color 120ms ease}a.button:hover,a.button:link:hover,a.button:visited:hover,input[type="submit"]:hover,input[type="button"]:hover,button:hover,form input[type="submit"]:hover,form input[type="button"]:hover,form button:hover{background:#5949b8 !important;border-color:#5949b8;color:#fff !important}a.button:active,a.button:link:active,a.button:visited:active,input[type="submit"]:active,input[type="button"]:active,button:active,form input[type="submit"]:active,form input[type="button"]:active,form button:active{background:#5949b8 !important;box-shadow:none}a.button.danger,input.danger[type="submit"],form input.danger[type="submit"]{background:#ef4444;border-color:#ef4444}a.button.danger:hover,input.danger[type="submit"]:hover,form input.danger[type="submit"]:hover{background:#ec1e1e;border-color:#ec1e1e}#title_bar .action_items span.action_item>a,#title_bar .action_items span.action_item>.dropdown_menu>a{background:#6d5bd0 !important;background-image:none !important;border:1px solid #6d5bd0;border-radius:6px;color:#fff !important;text-shadow:none;box-shadow:none;font-weight:600;padding:9px 16px;transition:background 120ms ease,border-color 120ms ease;padding:9px 16px;margin:0}#title_bar .action_items span.action_item>a:hover,#title_bar .action_items span.action_item>.dropdown_menu>a:hover{background:#5949b8 !important;border-color:#5949b8;color:#fff !important}#title_bar .action_items span.action_item>a:active,#title_bar .action_items span.action_item>.dropdown_menu>a:active{background:#5949b8 !important;box-shadow:none}.dropdown_menu .dropdown_menu_button,form.filter_form a.clear_filters_btn,fieldset.buttons li.cancel a,fieldset.actions li.cancel a,.pagination a,.pagination span.page.current,.pagination_per_page select{background:#fff !important;background-image:none !important;border:1px solid #d6d9e0;border-radius:6px;color:#384250 !important;text-shadow:none;box-shadow:none;font-weight:600;padding:8px 15px;transition:background 120ms ease,border-color 120ms ease}.dropdown_menu .dropdown_menu_button:hover,form.filter_form a.clear_filters_btn:hover,fieldset.buttons li.cancel a:hover,fieldset.actions li.cancel a:hover,.pagination a:hover,.pagination span.page.current:hover,.pagination_per_page select:hover{background:#f4f5f7 !important;border-color:#6b7280;color:#1a1f36 !important}.dropdown_menu .dropdown_menu_button:active,form.filter_form a.clear_filters_btn:active,fieldset.buttons li.cancel a:active,fieldset.actions li.cancel a:active,.pagination a:active,.pagination span.page.current:active,.pagination_per_page select:active{background:#f4f5f7 !important;box-shadow:none}.dropdown_menu .dropdown_menu_button{padding-right:26px !important}.dropdown_menu .dropdown_menu_button::before,.dropdown_menu .dropdown_menu_button::after{border-color:#6b7280 transparent}.dropdown_menu_list_wrapper{border-radius:6px;box-shadow:0 4px 6px rgba(16,24,40,0.05),0 10px 24px rgba(16,24,40,0.08);border:1px solid #e6e8ec;background:#fff;padding:4px}.dropdown_menu_list_wrapper .dropdown_menu_list{background:transparent;border:none;box-shadow:none;border-radius:0}.dropdown_menu_list_wrapper .dropdown_menu_list li{border-bottom:none}.dropdown_menu_list_wrapper .dropdown_menu_list li a{border-radius:6px;color:#384250;font-weight:600;text-align:left;text-shadow:none;padding:8px 12px}.dropdown_menu_list_wrapper .dropdown_menu_list li a:hover,.dropdown_menu_list_wrapper .dropdown_menu_list li a:active{background:#f2ecfd;color:#5949b8;text-shadow:none}.dropdown_menu_list_wrapper .dropdown_menu_list li:first-child a,.dropdown_menu_list_wrapper .dropdown_menu_list li:last-child a{border-radius:6px}.pagination a,.pagination span.page.current{border-radius:6px;margin-right:4px;padding:5px 11px}.pagination span.page.current{background:#f2ecfd;border-color:#f2ecfd;color:#5949b8}.pagination_information{color:#6b7280}.pagination_information b{color:#1a1f36}.prism-icon,.prism-nav-icon,.prism-chevron,.prism-action-icon{display:inline-block;vertical-align:middle;flex-shrink:0}.prism-icon{margin-right:6px}.prism-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}body.logged_out:has(.prism-login-brand){min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f4f5f7;overflow:hidden;position:relative}body.logged_out:has(.prism-login-brand)::before,body.logged_out:has(.prism-login-brand)::after{content:"";position:fixed;z-index:0;border-radius:50%;filter:blur(70px);opacity:0.35;pointer-events:none}body.logged_out:has(.prism-login-brand)::before{width:420px;height:420px;top:-140px;left:-120px;background:radial-gradient(circle at 30% 30%, #6d5bd0, transparent 70%);animation:prism-login-blob-a 16s ease-in-out infinite}body.logged_out:has(.prism-login-brand)::after{width:360px;height:360px;bottom:-120px;right:-100px;background:radial-gradient(circle at 70% 70%, #f2ecfd, transparent 70%);animation:prism-login-blob-b 18s ease-in-out infinite}body.logged_out:has(.prism-login-brand) #wrapper{position:relative;z-index:1;display:block;min-height:0;width:auto}body.logged_out:has(.prism-login-brand) #content_wrapper{display:flex;flex-direction:column;align-items:center;width:400px;max-width:90vw;margin:0 auto}body.logged_out:has(.prism-login-brand) .flashes{width:100%;padding:0 0 10px}body.logged_out:has(.prism-login-brand) #active_admin_content{width:100%;box-sizing:border-box;background:#fff;border:1px solid #e6e8ec;border-radius:10px;box-shadow:0 4px 6px rgba(16,24,40,0.05),0 10px 24px rgba(16,24,40,0.08);padding:40px 36px 32px}body.logged_out:has(.prism-login-brand) #footer{position:relative;z-index:1;border-top:none;text-align:center}body.logged_out:has(.prism-login-brand) #login fieldset.inputs{border:none;border-radius:0}body.logged_out:has(.prism-login-brand) #login fieldset.actions{margin-top:4px;text-align:center}body.logged_out:has(.prism-login-brand) #login fieldset.actions li{float:none}body.logged_out:has(.prism-login-brand) #login fieldset.actions li.input_action{padding:20px 0;margin-left:30px;margin-bottom:15px}body.logged_out:has(.prism-login-brand) #login fieldset.actions input[type="submit"]{display:inline-block;width:auto;min-width:200px;padding:12px 28px;font-size:0.95em}body.logged_out:has(.prism-login-brand) #error_explanation{background:#fdecec;border:1px solid rgba(239,68,68,0.3);border-radius:6px;padding:12px 16px;margin-bottom:20px;color:#eb1515}body.logged_out:has(.prism-login-brand) #error_explanation h2{background:none !important;box-shadow:none !important;text-shadow:none !important;border:none !important;margin:0 0 6px !important;padding:0 !important;color:inherit;font-size:0.95em;font-weight:700}body.logged_out:has(.prism-login-brand) #error_explanation ul{margin:0;padding-left:18px;font-size:0.88em;font-weight:600}@keyframes prism-login-blob-a{0%,100%{transform:translate(0, 0) scale(1)}50%{transform:translate(60px, 40px) scale(1.1)}}@keyframes prism-login-blob-b{0%,100%{transform:translate(0, 0) scale(1)}50%{transform:translate(-50px, -30px) scale(1.08)}}.prism-login-brand{text-align:center;margin-bottom:28px}.prism-login-logo{width:64px;height:64px;margin:0 auto 14px;color:#6d5bd0}.prism-login-mark{display:block;width:100%;height:100%}.prism-login-beam{stroke-dasharray:40;animation:prism-login-beam-flow 2.4s linear infinite}@keyframes prism-login-beam-flow{to{stroke-dashoffset:-80}}.prism-login-tri{transform-origin:center;animation:prism-login-tri-glow 3.2s ease-in-out infinite}@keyframes prism-login-tri-glow{0%,100%{filter:drop-shadow(0 0 0 rgba(0,0,0,0))}50%{filter:drop-shadow(0 0 6px rgba(109,91,208,0.45))}}body.logged_out #login .prism-login-brand h2{background:none !important;box-shadow:none !important;text-shadow:none !important;border:none !important;margin:0 !important;padding:0 !important;color:#1a1f36}.prism-login-title{font-size:1.6em;font-weight:800;letter-spacing:-0.01em}.prism-login-tagline{margin:4px 0 0;color:#6b7280;font-size:0.9em}.prism-login-links{margin-top:24px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;text-align:center}.prism-login-links a{display:inline-flex;align-items:center;padding:7px 14px;border:1px solid #e6e8ec;border-radius:999px;background:#f4f5f7;color:#384250;font-size:0.82em;font-weight:600;text-decoration:none;transition:background 120ms ease,border-color 120ms ease,color 120ms ease}.prism-login-links a:hover{background:#f2ecfd;border-color:#6d5bd0;color:#5949b8}.prism-login-links br{display:none}
|
data/js-src/prism.js
CHANGED
|
@@ -75,6 +75,103 @@
|
|
|
75
75
|
});
|
|
76
76
|
})();
|
|
77
77
|
|
|
78
|
+
// Sidebar menu search box (lib/active_admin/views/prism_sidebar.rb
|
|
79
|
+
// #render_search_box) — filters the "Pages" nav as the visitor types,
|
|
80
|
+
// matching an item's own label at ANY nesting depth, not just top-level
|
|
81
|
+
// entries. A submenu item that matches keeps every one of its ancestors
|
|
82
|
+
// visible and forced open; a parent whose own label matches instead keeps
|
|
83
|
+
// its *entire* subtree visible and expanded, even children that don't
|
|
84
|
+
// match on their own — either way via ".prism-search-open", distinct from
|
|
85
|
+
// the persisted/manual ".open" class above so clearing the search can't
|
|
86
|
+
// clobber a group the visitor had manually pinned open.
|
|
87
|
+
(function () {
|
|
88
|
+
"use strict";
|
|
89
|
+
|
|
90
|
+
function normalize(text) {
|
|
91
|
+
return (text || "").trim().toLowerCase();
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
function ownLabel(li) {
|
|
95
|
+
var el = li.querySelector(
|
|
96
|
+
":scope > .prism-nav-link .prism-nav-label, :scope > .prism-nav-group-toggle .prism-nav-label"
|
|
97
|
+
);
|
|
98
|
+
return el ? normalize(el.textContent) : "";
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
function directChildItems(li) {
|
|
102
|
+
var submenu = li.querySelector(":scope > .prism-nav-submenu");
|
|
103
|
+
if (!submenu) return [];
|
|
104
|
+
return Array.prototype.filter.call(submenu.children, function (child) {
|
|
105
|
+
return child.classList.contains("prism-nav-item");
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// Recurses depth-first, carrying `ancestorOwnMatch` down (true once any
|
|
110
|
+
// ancestor's own label has matched) so a matched group reveals its whole
|
|
111
|
+
// subtree, not just itself — and returns whether this node's own label
|
|
112
|
+
// or any descendant's matched (ignoring ancestorOwnMatch), so that signal
|
|
113
|
+
// keeps bubbling up to open every group on the path to a deep match
|
|
114
|
+
// regardless of how many submenu levels separate it from the top.
|
|
115
|
+
function matchItem(li, query, ancestorOwnMatch) {
|
|
116
|
+
var ownMatch = !!query && ownLabel(li).indexOf(query) !== -1;
|
|
117
|
+
var childMatch = false;
|
|
118
|
+
|
|
119
|
+
directChildItems(li).forEach(function (child) {
|
|
120
|
+
if (matchItem(child, query, ancestorOwnMatch || ownMatch)) childMatch = true;
|
|
121
|
+
});
|
|
122
|
+
|
|
123
|
+
var visible = !query || ancestorOwnMatch || ownMatch || childMatch;
|
|
124
|
+
li.classList.toggle("prism-nav-hidden", !visible);
|
|
125
|
+
li.classList.toggle("prism-search-open", !!query && (ownMatch || childMatch || ancestorOwnMatch));
|
|
126
|
+
|
|
127
|
+
return ownMatch || childMatch;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
function applySearch(sidebar, query) {
|
|
131
|
+
var nav = sidebar.querySelector(".prism-sidebar-scroll > .prism-nav");
|
|
132
|
+
if (!nav) return;
|
|
133
|
+
|
|
134
|
+
var anyVisible = false;
|
|
135
|
+
Array.prototype.forEach.call(nav.children, function (li) {
|
|
136
|
+
if (!li.classList.contains("prism-nav-item")) return;
|
|
137
|
+
if (matchItem(li, query, false)) anyVisible = true;
|
|
138
|
+
});
|
|
139
|
+
|
|
140
|
+
var empty = sidebar.querySelector(".prism-nav-empty");
|
|
141
|
+
if (empty) empty.classList.toggle("prism-nav-empty-visible", !!query && !anyVisible);
|
|
142
|
+
|
|
143
|
+
var clear = sidebar.querySelector("[data-prism-nav-search-clear]");
|
|
144
|
+
if (clear) clear.classList.toggle("prism-nav-search-clear-visible", !!query);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
document.addEventListener("DOMContentLoaded", function () {
|
|
148
|
+
var sidebar = document.getElementById("header");
|
|
149
|
+
if (!sidebar || !sidebar.classList.contains("prism-sidebar")) return;
|
|
150
|
+
|
|
151
|
+
var input = sidebar.querySelector("[data-prism-nav-search]");
|
|
152
|
+
if (!input) return;
|
|
153
|
+
|
|
154
|
+
input.addEventListener("input", function () {
|
|
155
|
+
applySearch(sidebar, normalize(input.value));
|
|
156
|
+
});
|
|
157
|
+
|
|
158
|
+
input.addEventListener("keydown", function (event) {
|
|
159
|
+
if (event.key !== "Escape" || !input.value) return;
|
|
160
|
+
input.value = "";
|
|
161
|
+
applySearch(sidebar, "");
|
|
162
|
+
});
|
|
163
|
+
|
|
164
|
+
var clearBtn = sidebar.querySelector("[data-prism-nav-search-clear]");
|
|
165
|
+
if (clearBtn) {
|
|
166
|
+
clearBtn.addEventListener("click", function () {
|
|
167
|
+
input.value = "";
|
|
168
|
+
applySearch(sidebar, "");
|
|
169
|
+
input.focus();
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
})();
|
|
174
|
+
|
|
78
175
|
// Routes every plain `data-confirm` link (row-level View/Edit/Delete
|
|
79
176
|
// actions, any other rails-ujs confirm) through ActiveAdmin's own styled
|
|
80
177
|
// jQuery UI dialog — the same one it already uses for Batch Actions —
|
|
@@ -42,9 +42,11 @@ module ActiveAdmin
|
|
|
42
42
|
div class: "prism-sidebar-inner" do
|
|
43
43
|
div(class: "prism-sidebar-brand") { site_title @namespace }
|
|
44
44
|
render_language_switcher if ActiveAdminPrism.configuration.language_switcher
|
|
45
|
+
render_search_box if ActiveAdminPrism.configuration.menu_search
|
|
45
46
|
div(class: "prism-sidebar-scroll") do
|
|
46
47
|
div "Pages", class: "prism-nav-section-label"
|
|
47
48
|
render_menu @menu, class: "prism-nav"
|
|
49
|
+
div("No matching menu items", class: "prism-nav-empty")
|
|
48
50
|
end
|
|
49
51
|
if @utility_menu.items.any?
|
|
50
52
|
div(class: "prism-sidebar-utility") do
|
|
@@ -111,6 +113,30 @@ module ActiveAdmin
|
|
|
111
113
|
end
|
|
112
114
|
end
|
|
113
115
|
|
|
116
|
+
# A text input that filters the "Pages" nav below as the visitor
|
|
117
|
+
# types (see js-src/prism.js) — matching happens purely client-side,
|
|
118
|
+
# against every item's own label regardless of nesting level, so a
|
|
119
|
+
# long menu with several submenus doesn't force a scroll to find one
|
|
120
|
+
# item. The actual show/hide + submenu auto-expand logic lives in JS
|
|
121
|
+
# because the whole menu is already rendered up front here; there's
|
|
122
|
+
# nothing server-side left to decide once the markup exists.
|
|
123
|
+
def render_search_box
|
|
124
|
+
div(class: "prism-sidebar-search") do
|
|
125
|
+
text_node ActiveAdminPrism::Icons.svg(:search, css_class: "prism-nav-icon prism-search-icon").html_safe
|
|
126
|
+
input(
|
|
127
|
+
type: "search",
|
|
128
|
+
class: "prism-nav-search-input",
|
|
129
|
+
placeholder: "Search menu",
|
|
130
|
+
autocomplete: "off",
|
|
131
|
+
"aria-label": "Search menu",
|
|
132
|
+
data: { "prism-nav-search": true }
|
|
133
|
+
)
|
|
134
|
+
span(class: "prism-nav-search-clear", data: { "prism-nav-search-clear": true }, "aria-label": "Clear search") do
|
|
135
|
+
text_node ActiveAdminPrism::Icons.svg(:x, css_class: "prism-nav-icon").html_safe
|
|
136
|
+
end
|
|
137
|
+
end
|
|
138
|
+
end
|
|
139
|
+
|
|
114
140
|
# Each language entry's own :url (String/Proc/Symbol — same
|
|
115
141
|
# nil/String/Proc/Symbol convention as config.login_logo etc.,
|
|
116
142
|
# evaluated the same way item.url is above) wins when given, e.g. to
|
|
@@ -136,6 +136,19 @@ module ActiveAdminPrism
|
|
|
136
136
|
# as it would be if you'd wired up the utility_navigation menu by hand.
|
|
137
137
|
attr_accessor :languages
|
|
138
138
|
|
|
139
|
+
# Whether a search box renders at the top of the sidebar's "Pages" nav,
|
|
140
|
+
# letting a visitor filter menu items by label without scrolling —
|
|
141
|
+
# matching against every item regardless of nesting (a top-level item,
|
|
142
|
+
# or one buried in a submenu). A submenu item that matches keeps its
|
|
143
|
+
# parent visible (and expanded) even though the parent's own label
|
|
144
|
+
# doesn't match; a parent that matches shows all of its children. See
|
|
145
|
+
# lib/active_admin/views/prism_sidebar.rb#render_search_box for the
|
|
146
|
+
# markup and js-src/prism.js for the filtering itself (pure client-side
|
|
147
|
+
# DOM filtering — no server round trip, no change to how menu do |m|
|
|
148
|
+
# ... end is authored in app/admin/*.rb). false renders no search box at
|
|
149
|
+
# all.
|
|
150
|
+
attr_accessor :menu_search
|
|
151
|
+
|
|
139
152
|
def initialize
|
|
140
153
|
@sidebar = true
|
|
141
154
|
@colorize_action_icons = true
|
|
@@ -156,6 +169,7 @@ module ActiveAdminPrism
|
|
|
156
169
|
{ label: "Español", locale: :es },
|
|
157
170
|
{ label: "Français", locale: :fr }
|
|
158
171
|
]
|
|
172
|
+
@menu_search = true
|
|
159
173
|
end
|
|
160
174
|
end
|
|
161
175
|
|
data/scss-src/_sidebar.scss
CHANGED
|
@@ -238,12 +238,98 @@ body:not(.prism-sidebar-footer-disabled) #footer {
|
|
|
238
238
|
}
|
|
239
239
|
}
|
|
240
240
|
|
|
241
|
+
// Sits between the brand/language switcher and .prism-sidebar-scroll —
|
|
242
|
+
// flex: 0 0 auto like those, so it stays pinned above the scrolling nav
|
|
243
|
+
// rather than scrolling away with it (a visitor should never need to
|
|
244
|
+
// scroll up just to reach the search box itself).
|
|
245
|
+
.prism-sidebar-search {
|
|
246
|
+
position: relative;
|
|
247
|
+
flex: 0 0 auto;
|
|
248
|
+
display: flex;
|
|
249
|
+
align-items: center;
|
|
250
|
+
gap: 8px;
|
|
251
|
+
margin: 12px 12px 4px;
|
|
252
|
+
padding: 8px 10px;
|
|
253
|
+
border: 1px solid $prism-border-color;
|
|
254
|
+
border-radius: $prism-radius-sm;
|
|
255
|
+
background: $prism-bg-page;
|
|
256
|
+
|
|
257
|
+
&:focus-within {
|
|
258
|
+
border-color: $prism-color-primary;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
.prism-search-icon {
|
|
262
|
+
flex: 0 0 auto;
|
|
263
|
+
color: $prism-text-muted;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
.prism-nav-search-input {
|
|
268
|
+
flex: 1 1 auto;
|
|
269
|
+
min-width: 0;
|
|
270
|
+
border: 0;
|
|
271
|
+
background: transparent;
|
|
272
|
+
color: $prism-text-body;
|
|
273
|
+
font-size: 0.85em;
|
|
274
|
+
|
|
275
|
+
&:focus {
|
|
276
|
+
outline: none;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
&::placeholder {
|
|
280
|
+
color: $prism-text-muted;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
// Removes Chrome/Edge/Safari's built-in clear ("x") button on
|
|
284
|
+
// type="search" inputs — this component renders its own
|
|
285
|
+
// (.prism-nav-search-clear) so the two don't visually double up.
|
|
286
|
+
&::-webkit-search-cancel-button {
|
|
287
|
+
-webkit-appearance: none;
|
|
288
|
+
appearance: none;
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
.prism-nav-search-clear {
|
|
293
|
+
display: none;
|
|
294
|
+
flex: 0 0 auto;
|
|
295
|
+
align-items: center;
|
|
296
|
+
justify-content: center;
|
|
297
|
+
color: $prism-text-muted;
|
|
298
|
+
cursor: pointer;
|
|
299
|
+
|
|
300
|
+
&.prism-nav-search-clear-visible {
|
|
301
|
+
display: flex;
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
&:hover {
|
|
305
|
+
color: $prism-text-heading;
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
.prism-nav-icon {
|
|
309
|
+
width: 14px;
|
|
310
|
+
height: 14px;
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
|
|
241
314
|
.prism-sidebar-scroll {
|
|
242
315
|
flex: 1 1 auto;
|
|
243
316
|
overflow-y: auto;
|
|
244
317
|
padding: 20px 12px;
|
|
245
318
|
}
|
|
246
319
|
|
|
320
|
+
// Shown by js-src/prism.js only while the search box has a query and it
|
|
321
|
+
// matched nothing anywhere in the "Pages" nav.
|
|
322
|
+
.prism-nav-empty {
|
|
323
|
+
display: none;
|
|
324
|
+
padding: 8px 12px;
|
|
325
|
+
color: $prism-text-muted;
|
|
326
|
+
font-size: 0.85em;
|
|
327
|
+
|
|
328
|
+
&.prism-nav-empty-visible {
|
|
329
|
+
display: block;
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
|
|
247
333
|
.prism-sidebar-utility {
|
|
248
334
|
flex: 0 0 auto;
|
|
249
335
|
padding: 12px;
|
|
@@ -385,7 +471,8 @@ body:not(.prism-sidebar-footer-disabled) #footer {
|
|
|
385
471
|
transition: transform $prism-transition-fast;
|
|
386
472
|
}
|
|
387
473
|
|
|
388
|
-
&.open > .prism-nav-group-toggle .prism-chevron
|
|
474
|
+
&.open > .prism-nav-group-toggle .prism-chevron,
|
|
475
|
+
&.prism-search-open > .prism-nav-group-toggle .prism-chevron {
|
|
389
476
|
transform: rotate(180deg);
|
|
390
477
|
}
|
|
391
478
|
|
|
@@ -396,13 +483,20 @@ body:not(.prism-sidebar-footer-disabled) #footer {
|
|
|
396
483
|
display: none;
|
|
397
484
|
}
|
|
398
485
|
|
|
399
|
-
&.open > .prism-nav-submenu
|
|
486
|
+
&.open > .prism-nav-submenu,
|
|
487
|
+
&.prism-search-open > .prism-nav-submenu {
|
|
400
488
|
display: block;
|
|
401
489
|
}
|
|
402
490
|
|
|
403
491
|
&.has-children > .prism-nav-submenu .prism-nav-item > .prism-nav-link {
|
|
404
492
|
font-size: 0.88em;
|
|
405
493
|
}
|
|
494
|
+
|
|
495
|
+
// Set by js-src/prism.js while the sidebar search box has a query and
|
|
496
|
+
// neither this item's own label nor any descendant's matches it.
|
|
497
|
+
&.prism-nav-hidden {
|
|
498
|
+
display: none;
|
|
499
|
+
}
|
|
406
500
|
}
|
|
407
501
|
|
|
408
502
|
.prism-nav-utility .prism-nav-item > .prism-nav-link,
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: active_admin_prism
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ram Laxman Yadav
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-07-
|
|
11
|
+
date: 2026-07-13 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activeadmin
|