|
@@ -469,104 +469,125 @@ hr {
|
|
|
margin-right: 6px;
|
|
|
}
|
|
|
|
|
|
-/* some variables are not defined on purpose to allow plugin authors to more easily provide overrides */
|
|
|
+.bytm-toggle-input-wrapper {
|
|
|
+ --toggle-height: 20px;
|
|
|
+ --toggle-width: 40px;
|
|
|
+ --toggle-knob-offset: 4px;
|
|
|
+ --toggle-color-on: #3683d4;
|
|
|
+ --toggle-color-off: #666;
|
|
|
+ --toggle-knob-color: #f5f5f5;
|
|
|
|
|
|
-/* use `body` prefix for more specificity: */
|
|
|
-body .bytm-ripple {
|
|
|
- position: relative;
|
|
|
- overflow: hidden;
|
|
|
- width: var(--bytm-ripple-width, auto);
|
|
|
- height: var(--bytm-ripple-height, auto);
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
}
|
|
|
|
|
|
-body .bytm-ripple.fastest {
|
|
|
- --bytm-ripple-anim-duration: 0.15s;
|
|
|
+.bytm-toggle-input-wrapper .bytm-toggle-input-label {
|
|
|
+ cursor: pointer;
|
|
|
+ font-size: 1.5rem;
|
|
|
+ padding: 3px 12px;
|
|
|
}
|
|
|
|
|
|
-body .bytm-ripple.fast {
|
|
|
- --bytm-ripple-anim-duration: 0.35s;
|
|
|
+/* sauce: https://danklammer.com/articles/simple-css-toggle-switch/ */
|
|
|
+
|
|
|
+.bytm-toggle-input {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
}
|
|
|
|
|
|
-body .bytm-ripple.slow {
|
|
|
- --bytm-ripple-anim-duration: 0.75s;
|
|
|
+.bytm-toggle-input input {
|
|
|
+ appearance: none;
|
|
|
+ display: inline-block;
|
|
|
+ width: var(--toggle-width);
|
|
|
+ height: var(--toggle-height);
|
|
|
+ position: relative;
|
|
|
+ border-radius: 50px;
|
|
|
+ overflow: hidden;
|
|
|
+ outline: none;
|
|
|
+ border: none;
|
|
|
+ margin: 0;
|
|
|
+ padding: var(--toggle-knob-offset);
|
|
|
+ cursor: pointer;
|
|
|
+ background-color: var(--toggle-color-off);
|
|
|
+ transition:
|
|
|
+ justify-content 0.2s ease,
|
|
|
+ background-color 0.2s ease;
|
|
|
}
|
|
|
|
|
|
-body .bytm-ripple.slowest {
|
|
|
- --bytm-ripple-anim-duration: 1s;
|
|
|
+.bytm-toggle-input input[data-toggled="true"] {
|
|
|
+ background-color: var(--toggle-color-on);
|
|
|
}
|
|
|
|
|
|
-.bytm-ripple-area {
|
|
|
- --bytm-ripple-min-size: 100px;
|
|
|
- /* --bytm-ripple-cont-width is added at runtime since there's no better way of getting the parent's width */
|
|
|
- --bytm-ripple-expanded-size: calc(
|
|
|
- max(
|
|
|
- var(--bytm-ripple-cont-width, var(--bytm-ripple-min-size)) * 2,
|
|
|
- var(--bytm-ripple-min-size)
|
|
|
- )
|
|
|
+.bytm-toggle-input input .bytm-toggle-input-knob {
|
|
|
+ --toggle-knob-calc-width: calc(
|
|
|
+ var(--toggle-height) - (var(--toggle-knob-offset) * 2)
|
|
|
);
|
|
|
- position: absolute;
|
|
|
- background: var(--bytm-ripple-color, rgba(255, 255, 255, 0.175));
|
|
|
- transform: translate(-50%, -50%);
|
|
|
- pointer-events: none;
|
|
|
+ --toggle-knob-calc-height: calc(
|
|
|
+ var(--toggle-height) - (var(--toggle-knob-offset) * 2)
|
|
|
+ );
|
|
|
+ width: var(--toggle-knob-calc-width);
|
|
|
+ height: var(--toggle-knob-calc-height);
|
|
|
+ background-color: var(--toggle-knob-color);
|
|
|
border-radius: 50%;
|
|
|
- animation: bytm-scale-ripple var(--bytm-ripple-anim-duration, 0.55s)
|
|
|
- cubic-bezier(0.375, 0.33, 0.225, 0.93);
|
|
|
+ position: absolute;
|
|
|
+ top: 50%;
|
|
|
+ transform: translateY(-50%);
|
|
|
+ left: var(--toggle-knob-offset);
|
|
|
+ transition: left 0.2s ease;
|
|
|
}
|
|
|
|
|
|
-@keyframes bytm-scale-ripple {
|
|
|
- 0% {
|
|
|
- width: 0;
|
|
|
- height: 0;
|
|
|
- opacity: 1;
|
|
|
- }
|
|
|
- 100% {
|
|
|
- width: var(--bytm-ripple-expanded-size, 100%);
|
|
|
- height: var(--bytm-ripple-expanded-size, 100%);
|
|
|
- opacity: 0;
|
|
|
- }
|
|
|
+.bytm-toggle-input input[data-toggled="true"] .bytm-toggle-input-knob {
|
|
|
+ left: calc(
|
|
|
+ var(--toggle-width) - var(--toggle-knob-offset) -
|
|
|
+ var(--toggle-knob-calc-width)
|
|
|
+ );
|
|
|
}
|
|
|
|
|
|
-.bytm-exim-dialog-panes-cont {
|
|
|
+#bytm-prompt-dialog-header {
|
|
|
display: flex;
|
|
|
flex-direction: row;
|
|
|
- justify-content: space-between;
|
|
|
- flex-wrap: nowrap;
|
|
|
- height: 100%;
|
|
|
- overflow: hidden;
|
|
|
+ align-items: center;
|
|
|
}
|
|
|
|
|
|
-.bytm-exim-dialog-pane {
|
|
|
- display: flex;
|
|
|
- flex-direction: column;
|
|
|
- gap: 12px;
|
|
|
- width: 48%;
|
|
|
+#bytm-prompt-dialog-header svg {
|
|
|
+ width: 24px;
|
|
|
+ height: 24px;
|
|
|
}
|
|
|
|
|
|
-.bytm-exim-dialog-center-btn-cont {
|
|
|
- display: flex;
|
|
|
- justify-content: center;
|
|
|
+#bytm-prompt-dialog-upper-cont,
|
|
|
+#bytm-prompt-dialog-message {
|
|
|
+ font-size: 1.6rem;
|
|
|
+ white-space: pre-wrap;
|
|
|
}
|
|
|
|
|
|
-.bytm-exim-dialog-pane textarea {
|
|
|
- height: 120px;
|
|
|
- resize: none;
|
|
|
+.bytm-prompt-type-prompt #bytm-prompt-dialog-message {
|
|
|
+ margin-bottom: 15px;
|
|
|
}
|
|
|
|
|
|
-.bytm-hotkey-wrapper {
|
|
|
+#bytm-prompt-dialog-input {
|
|
|
+ font-size: 1.6rem;
|
|
|
+ width: 100%;
|
|
|
+}
|
|
|
+
|
|
|
+#bytm-prompt-dialog-button-wrapper {
|
|
|
display: flex;
|
|
|
flex-direction: row;
|
|
|
- align-items: center;
|
|
|
justify-content: flex-end;
|
|
|
+ align-items: end;
|
|
|
}
|
|
|
|
|
|
-.bytm-hotkey-reset {
|
|
|
- font-size: 0.9em;
|
|
|
- margin-right: 10px;
|
|
|
+#bytm-prompt-dialog-buttons-cont {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: row;
|
|
|
+ gap: 15px;
|
|
|
}
|
|
|
|
|
|
-.bytm-hotkey-info {
|
|
|
- font-size: 0.9em;
|
|
|
- white-space: nowrap;
|
|
|
+#bytm-prompt-dialog-buttons-cont button {
|
|
|
+ cursor: pointer;
|
|
|
+}
|
|
|
+
|
|
|
+.bytm-prompt-dialog-button {
|
|
|
+ padding: 2px 6px;
|
|
|
+ font-size: 1.45rem;
|
|
|
}
|
|
|
|
|
|
:root {
|
|
@@ -660,125 +681,87 @@ body .bytm-ripple.slowest {
|
|
|
font-weight: 400;
|
|
|
}
|
|
|
|
|
|
-.bytm-toggle-input-wrapper {
|
|
|
- --toggle-height: 20px;
|
|
|
- --toggle-width: 40px;
|
|
|
- --toggle-knob-offset: 4px;
|
|
|
- --toggle-color-on: #3683d4;
|
|
|
- --toggle-color-off: #666;
|
|
|
- --toggle-knob-color: #f5f5f5;
|
|
|
+/* some variables are not defined on purpose to allow plugin authors to more easily provide overrides */
|
|
|
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
+/* use `body` prefix for more specificity: */
|
|
|
+body .bytm-ripple {
|
|
|
+ position: relative;
|
|
|
+ overflow: hidden;
|
|
|
+ width: var(--bytm-ripple-width, auto);
|
|
|
+ height: var(--bytm-ripple-height, auto);
|
|
|
}
|
|
|
|
|
|
-.bytm-toggle-input-wrapper .bytm-toggle-input-label {
|
|
|
- cursor: pointer;
|
|
|
- font-size: 1.5rem;
|
|
|
- padding: 3px 12px;
|
|
|
+body .bytm-ripple.fastest {
|
|
|
+ --bytm-ripple-anim-duration: 0.15s;
|
|
|
}
|
|
|
|
|
|
-/* sauce: https://danklammer.com/articles/simple-css-toggle-switch/ */
|
|
|
-
|
|
|
-.bytm-toggle-input {
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
+body .bytm-ripple.fast {
|
|
|
+ --bytm-ripple-anim-duration: 0.35s;
|
|
|
}
|
|
|
|
|
|
-.bytm-toggle-input input {
|
|
|
- appearance: none;
|
|
|
- display: inline-block;
|
|
|
- width: var(--toggle-width);
|
|
|
- height: var(--toggle-height);
|
|
|
- position: relative;
|
|
|
- border-radius: 50px;
|
|
|
- overflow: hidden;
|
|
|
- outline: none;
|
|
|
- border: none;
|
|
|
- margin: 0;
|
|
|
- padding: var(--toggle-knob-offset);
|
|
|
- cursor: pointer;
|
|
|
- background-color: var(--toggle-color-off);
|
|
|
- transition:
|
|
|
- justify-content 0.2s ease,
|
|
|
- background-color 0.2s ease;
|
|
|
+body .bytm-ripple.slow {
|
|
|
+ --bytm-ripple-anim-duration: 0.75s;
|
|
|
}
|
|
|
|
|
|
-.bytm-toggle-input input[data-toggled="true"] {
|
|
|
- background-color: var(--toggle-color-on);
|
|
|
+body .bytm-ripple.slowest {
|
|
|
+ --bytm-ripple-anim-duration: 1s;
|
|
|
}
|
|
|
|
|
|
-.bytm-toggle-input input .bytm-toggle-input-knob {
|
|
|
- --toggle-knob-calc-width: calc(
|
|
|
- var(--toggle-height) - (var(--toggle-knob-offset) * 2)
|
|
|
- );
|
|
|
- --toggle-knob-calc-height: calc(
|
|
|
- var(--toggle-height) - (var(--toggle-knob-offset) * 2)
|
|
|
+.bytm-ripple-area {
|
|
|
+ --bytm-ripple-min-size: 100px;
|
|
|
+ /* --bytm-ripple-cont-width is added at runtime since there's no better way of getting the parent's width */
|
|
|
+ --bytm-ripple-expanded-size: calc(
|
|
|
+ max(
|
|
|
+ var(--bytm-ripple-cont-width, var(--bytm-ripple-min-size)) * 2,
|
|
|
+ var(--bytm-ripple-min-size)
|
|
|
+ )
|
|
|
);
|
|
|
- width: var(--toggle-knob-calc-width);
|
|
|
- height: var(--toggle-knob-calc-height);
|
|
|
- background-color: var(--toggle-knob-color);
|
|
|
- border-radius: 50%;
|
|
|
position: absolute;
|
|
|
- top: 50%;
|
|
|
- transform: translateY(-50%);
|
|
|
- left: var(--toggle-knob-offset);
|
|
|
- transition: left 0.2s ease;
|
|
|
+ background: var(--bytm-ripple-color, rgba(255, 255, 255, 0.175));
|
|
|
+ transform: translate(-50%, -50%);
|
|
|
+ pointer-events: none;
|
|
|
+ border-radius: 50%;
|
|
|
+ animation: bytm-scale-ripple var(--bytm-ripple-anim-duration, 0.55s)
|
|
|
+ cubic-bezier(0.375, 0.33, 0.225, 0.93);
|
|
|
}
|
|
|
|
|
|
-.bytm-toggle-input input[data-toggled="true"] .bytm-toggle-input-knob {
|
|
|
- left: calc(
|
|
|
- var(--toggle-width) - var(--toggle-knob-offset) -
|
|
|
- var(--toggle-knob-calc-width)
|
|
|
- );
|
|
|
+@keyframes bytm-scale-ripple {
|
|
|
+ 0% {
|
|
|
+ width: 0;
|
|
|
+ height: 0;
|
|
|
+ opacity: 1;
|
|
|
+ }
|
|
|
+ 100% {
|
|
|
+ width: var(--bytm-ripple-expanded-size, 100%);
|
|
|
+ height: var(--bytm-ripple-expanded-size, 100%);
|
|
|
+ opacity: 0;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
-#bytm-prompt-dialog-header {
|
|
|
+.bytm-exim-dialog-panes-cont {
|
|
|
display: flex;
|
|
|
flex-direction: row;
|
|
|
- align-items: center;
|
|
|
-}
|
|
|
-
|
|
|
-#bytm-prompt-dialog-header svg {
|
|
|
- width: 24px;
|
|
|
- height: 24px;
|
|
|
-}
|
|
|
-
|
|
|
-#bytm-prompt-dialog-upper-cont,
|
|
|
-#bytm-prompt-dialog-message {
|
|
|
- font-size: 1.6rem;
|
|
|
- white-space: pre-wrap;
|
|
|
-}
|
|
|
-
|
|
|
-.bytm-prompt-type-prompt #bytm-prompt-dialog-message {
|
|
|
- margin-bottom: 15px;
|
|
|
-}
|
|
|
-
|
|
|
-#bytm-prompt-dialog-input {
|
|
|
- font-size: 1.6rem;
|
|
|
- width: 100%;
|
|
|
+ justify-content: space-between;
|
|
|
+ flex-wrap: nowrap;
|
|
|
+ height: 100%;
|
|
|
+ overflow: hidden;
|
|
|
}
|
|
|
|
|
|
-#bytm-prompt-dialog-button-wrapper {
|
|
|
+.bytm-exim-dialog-pane {
|
|
|
display: flex;
|
|
|
- flex-direction: row;
|
|
|
- justify-content: flex-end;
|
|
|
- align-items: end;
|
|
|
+ flex-direction: column;
|
|
|
+ gap: 12px;
|
|
|
+ width: 48%;
|
|
|
}
|
|
|
|
|
|
-#bytm-prompt-dialog-buttons-cont {
|
|
|
+.bytm-exim-dialog-center-btn-cont {
|
|
|
display: flex;
|
|
|
- flex-direction: row;
|
|
|
- gap: 15px;
|
|
|
-}
|
|
|
-
|
|
|
-#bytm-prompt-dialog-buttons-cont button {
|
|
|
- cursor: pointer;
|
|
|
+ justify-content: center;
|
|
|
}
|
|
|
|
|
|
-.bytm-prompt-dialog-button {
|
|
|
- padding: 2px 6px;
|
|
|
- font-size: 1.45rem;
|
|
|
+.bytm-exim-dialog-pane textarea {
|
|
|
+ height: 120px;
|
|
|
+ resize: none;
|
|
|
}
|
|
|
|
|
|
.bytm-auto-like-channels-footer-wrapper {
|
|
@@ -1058,6 +1041,23 @@ body.bytm-dom-ytm
|
|
|
cursor: help;
|
|
|
}
|
|
|
|
|
|
+.bytm-hotkey-wrapper {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: row;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: flex-end;
|
|
|
+}
|
|
|
+
|
|
|
+.bytm-hotkey-reset {
|
|
|
+ font-size: 0.9em;
|
|
|
+ margin-right: 10px;
|
|
|
+}
|
|
|
+
|
|
|
+.bytm-hotkey-info {
|
|
|
+ font-size: 0.9em;
|
|
|
+ white-space: nowrap;
|
|
|
+}
|
|
|
+
|
|
|
:root {
|
|
|
--bytm-menu-bg-highlight: #252525;
|
|
|
}
|