Mercurial > libervia-templates
view sat_templates/templates/bulma/static/styles.css @ 411:f7a434581872 default tip
chat: Add forward, rich editing and extra recipients:
- There is a new "forward" menu in message. For now, a simple prompt ask for recipient JID.
- A new "extra" menu is available next to input field. Inside there are 2 items for now:
add extra recipient, and toggle rich edit mode.
- Extra recipient option add a field to add an email-like "to", "cc" or "bcc" recipients.
- Rich edit let use rich styling such as bold, italic, underline, etc.
rel 461
author | Goffi <goffi@goffi.org> |
---|---|
date | Fri, 04 Jul 2025 17:33:22 +0200 |
parents | a5588ea3bcd6 |
children |
line wrap: on
line source
:root { --selected-item-bg: deepskyblue; /* Reaction colors */ --reaction-background: #ffffff; --reaction-hover-background: #f5f5f5; --reaction-border: #dbdbdb; /* User reaction colors */ --reaction-user-background: #eef6fc; --reaction-user-hover-background: #e3f1fc; --reaction-user-border: #3273dc; /* Spacing */ --reaction-padding: 0.25rem 0.5rem; --reaction-gap: 0.5rem; --reaction-margin-top: 0.5rem; /* Typography */ --reaction-font-size: 0.875rem; --reaction-counter-font-size: 0.75rem; } [data-theme="dark"] { --reaction-background: #2c2c2c; --reaction-hover-background: #404040; --reaction-border: #4a4a4a; --reaction-user-background: #1a3b5c; --reaction-user-hover-background: #234875; --reaction-user-border: #3273dc; } html, body { height: 100vh; overflow: hidden; } body { display: flex; flex-direction: column; } #body { display: flex; flex-direction: column; overflow: auto; } .is-full-height { height: 100%; } .is-full-width { width: 100%; } .navbar-item { gap: 0; } .menu-item { padding-top: 0.225em; } .avatar { width: 40px; height: 40px; border-radius: 50%; background-color: #3273dc; color: #fff; } .avatar.image { background-color: #ccc; padding: 3px; } div.jid-search-dialog { min-height: 80%; } div.search-item.is-selected { background-color: var(--selected-item-bg); } .collapsible-content { overflow: hidden; max-height: 0; opacity: 1; transition: max-height 0.3s ease-out, opacity 0.2s linear; } .collapsible-header.collapsed .collapsible-icon { transform: rotate(-90deg); } /* Animation */ .collapsible-header.collapsed + .collapsible-content { opacity: 0; } .collapsible-icon { transition: transform 0.2s ease-out; } /* Panels */ .modal-panel-header { border-bottom: 1px solid #dbdbdb; padding: 0.5rem 1rem; } #left_panel li:hover { background-color: #444; } /* dialogs */ .modal-dialog { transform: scaleY(0); } div.state_appended .modal-dialog, div.main_notification.state_appended { transform: scaleY(1); transition: transform 0.15s ease-in; } .main_notification { position: fixed; top: 2rem; left: 0; right: 0; z-index: 10000; transform: scaleY(0); transition: transform 0.15s ease-in; } div.main_notification>div.column { display: flex; max-width: 95%; } div.main_notification>div.column>div.notification { max-width: 80rem; } /* Sidebar toggle transitions */ .left-sidebar, .right-sidebar { transition: transform 0.3s ease, max-width 0.3s ease, opacity 0.3s ease; overflow-x: hidden; } .left-sidebar.is-collapsed { transform: translateX(-100%); max-width: 0; padding: 0; margin: 0; opacity: 0; } .right-sidebar.is-collapsed { transform: translateX(100%); max-width: 0; padding: 0; margin: 0; opacity: 0; } .main-panel.is-expanded-left { margin-left: 0; } .main-panel.is-expanded-right { margin-right: 0; } /* Common components */ /* Reactions */ .reactions-container { gap: var(--reaction-gap); margin-top: var(--reaction-margin-top); } .reaction { padding: var(--reaction-padding); border-radius: 1rem; background-color: var(--reaction-background); font-size: var(--reaction-font-size); cursor: pointer; transition: all 0.2s ease; border: 1px solid var(--reaction-border); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); } .reaction:hover { background-color: var(--reaction-hover-background); } .reaction .counter { margin-left: 0.25rem; font-size: var(--reaction-counter-font-size); color: var(--color-text); } .reaction.own-reaction { background-color: var(--reaction-user-background); border-color: var(--reaction-user-border); } .reaction.own-reaction:hover { background-color: var(--reaction-user-hover-background); } /* Side Panels */ .modal-panel { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 100; display: flex; pointer-events: none; } .modal-panel-background { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: hsla(221,14%,4%,0.86); opacity: 0; transition: opacity 0.3s ease; pointer-events: all; } .modal-panel-container { position: absolute; background: white; box-shadow: -2px 0 10px rgba(0,0,0,0.1); overflow-y: auto; transition: transform 0.3s ease-out; will-change: transform; pointer-events: all; } /* Position classes */ .modal-panel-container.is-right { top: 0; right: 0; height: 100vh; transform: translateX(100%); border-left: 1px solid #eee; } .modal-panel-container.is-left { top: 0; left: 0; height: 100vh; transform: translateX(-100%); border-right: 1px solid #eee; } .modal-panel-container.is-top { top: 0; left: 0; right: 0; transform: translateY(-100%); border-bottom: 1px solid #eee; } .modal-panel-container.is-bottom { bottom: 0; left: 0; right: 0; transform: translateY(100%); border-top: 1px solid #eee; } /* Active state */ .modal-panel.is-active .modal-panel-background { opacity: 1; } .modal-panel.is-active .modal-panel-container { transform: none !important; } /* Closing animation */ .modal-panel.closing .modal-panel-background { opacity: 0; } .modal-panel.closing .modal-panel-container.is-right { transform: translateX(100%) !important; } .modal-panel.closing .modal-panel-container.is-left { transform: translateX(-100%) !important; } .modal-panel.closing .modal-panel-container.is-top { transform: translateY(-100%) !important; } .modal-panel.closing .modal-panel-container.is-bottom { transform: translateY(100%) !important; } /* Responsive */ @media screen and (max-width: 768px) { .modal-panel-container { width: 90% !important; } } @media screen and (min-width: 769px) { .modal-panel-container.is-right, .modal-panel-container.is-left { width: 50rem; } .modal-panel-container.is-top, .modal-panel-container.is-bottom { height: 80vh; } }