sillytavern 1.13.4 → 1.13.5
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.
- package/CONTRIBUTING.md +14 -3
- package/Dockerfile +1 -1
- package/config.yaml +20 -8
- package/default/config.yaml +20 -8
- package/default/content/presets/openai/Default.json +6 -3
- package/default/content/settings.json +1 -1
- package/package.json +1 -1
- package/public/css/backgrounds.css +142 -69
- package/public/css/mobile-styles.css +31 -44
- package/public/css/world-info.css +4 -0
- package/public/img/apple-icon-192x192.png +0 -0
- package/public/img/apple-icon-512x512.png +0 -0
- package/public/index.html +149 -180
- package/public/lib/pagination.js +69 -3
- package/public/locales/ar-sa.json +1 -1
- package/public/locales/de-de.json +1 -1
- package/public/locales/es-es.json +1 -1
- package/public/locales/fr-fr.json +2 -2
- package/public/locales/is-is.json +1 -1
- package/public/locales/it-it.json +1 -1
- package/public/locales/ja-jp.json +1 -1
- package/public/locales/ko-kr.json +1 -1
- package/public/locales/nl-nl.json +1 -1
- package/public/locales/pt-pt.json +1 -1
- package/public/locales/ru-ru.json +121 -29
- package/public/locales/uk-ua.json +1 -1
- package/public/locales/vi-vn.json +1 -1
- package/public/locales/zh-cn.json +19 -7
- package/public/locales/zh-tw.json +2 -2
- package/public/manifest.json +10 -0
- package/public/script.js +389 -276
- package/public/scripts/RossAscends-mods.js +38 -35
- package/public/scripts/backgrounds.js +237 -167
- package/public/scripts/chats.js +2 -3
- package/public/scripts/constants.js +1 -0
- package/public/scripts/custom-request.js +3 -1
- package/public/scripts/dom-handlers.js +66 -0
- package/public/scripts/events.js +4 -0
- package/public/scripts/extensions/assets/index.js +37 -3
- package/public/scripts/extensions/assets/style.css +27 -2
- package/public/scripts/extensions/caption/index.js +9 -1
- package/public/scripts/extensions/caption/settings.html +24 -45
- package/public/scripts/extensions/connection-manager/index.js +22 -2
- package/public/scripts/extensions/memory/index.js +1 -1
- package/public/scripts/extensions/regex/debugger.html +5 -1
- package/public/scripts/extensions/regex/dropdown.html +35 -3
- package/public/scripts/extensions/regex/engine.js +227 -27
- package/public/scripts/extensions/regex/importTarget.html +6 -0
- package/public/scripts/extensions/regex/index.js +526 -168
- package/public/scripts/extensions/regex/presetEmbeddedScripts.html +5 -0
- package/public/scripts/extensions/regex/scriptTemplate.html +20 -11
- package/public/scripts/extensions/regex/style.css +35 -26
- package/public/scripts/extensions/shared.js +1 -0
- package/public/scripts/extensions/stable-diffusion/dropdown.html +1 -1
- package/public/scripts/extensions/stable-diffusion/index.js +1 -1
- package/public/scripts/extensions/stable-diffusion/settings.html +6 -6
- package/public/scripts/extensions/tts/css/minimax-tts.css +5 -0
- package/public/scripts/extensions/tts/electronhub.js +455 -0
- package/public/scripts/extensions/tts/gpt-sovits-v2.js +4 -5
- package/public/scripts/extensions/tts/index.js +2 -0
- package/public/scripts/extensions/tts/minimax.js +44 -16
- package/public/scripts/extensions/tts/settings.html +2 -2
- package/public/scripts/extensions/tts/system.js +5 -4
- package/public/scripts/extensions/vectors/index.js +1 -1
- package/public/scripts/extensions/vectors/settings.html +1 -0
- package/public/scripts/extensions.js +3 -0
- package/public/scripts/group-chats.js +56 -39
- package/public/scripts/loader.js +1 -1
- package/public/scripts/macros.js +31 -1
- package/public/scripts/openai.js +223 -126
- package/public/scripts/personas.js +39 -22
- package/public/scripts/popup.js +18 -4
- package/public/scripts/power-user.js +10 -1
- package/public/scripts/preset-manager.js +14 -10
- package/public/scripts/reasoning.js +9 -1
- package/public/scripts/secrets.js +26 -8
- package/public/scripts/slash-commands.js +8 -0
- package/public/scripts/st-context.js +2 -0
- package/public/scripts/tags.js +5 -0
- package/public/scripts/templates/macros.html +2 -0
- package/public/scripts/tokenizers.js +51 -0
- package/public/scripts/tool-calling.js +3 -2
- package/public/scripts/util/stream-fadein.js +69 -0
- package/public/scripts/utils.js +132 -4
- package/public/scripts/world-info.js +324 -64
- package/public/style.css +27 -3
- package/src/config-init.js +10 -0
- package/src/endpoints/backends/chat-completions.js +73 -26
- package/src/endpoints/characters.js +2 -0
- package/src/endpoints/chats.js +5 -2
- package/src/endpoints/openai.js +98 -0
- package/src/endpoints/secrets.js +3 -2
- package/src/endpoints/vectors.js +1 -1
- package/src/middleware/webpack-serve.js +2 -1
- package/src/users.js +30 -3
- package/tests/package-lock.json +3 -3
package/CONTRIBUTING.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
## Getting the code ready
|
|
10
10
|
|
|
11
11
|
1. Register a GitHub account.
|
|
12
|
-
2. Fork this repository under your account.
|
|
12
|
+
2. Fork this repository under your account.
|
|
13
13
|
3. Clone the fork onto your machine.
|
|
14
14
|
4. Open the cloned repository in the code editor.
|
|
15
15
|
5. Create a git branch (recommended).
|
|
@@ -29,11 +29,22 @@
|
|
|
29
29
|
- Updating GitHub Actions.
|
|
30
30
|
- Hotfixing a critical bug.
|
|
31
31
|
4. Project maintainers will test and can change your code before merging.
|
|
32
|
-
5.
|
|
32
|
+
5. To make sure that your contribution remains testable and reviewable, try not to exceed a soft limit of **200 lines of code** (both additions and deletions) per pull request. If you have more to contribute, split it into multiple pull requests. We can also consider creating a separate feature branch for more substantial changes, but please discuss it with the maintainers first.
|
|
33
|
+
6. Write at least somewhat meaningful PR descriptions and commit messages. There's no "right" way to do it, but the following may help with outlining a general structure:
|
|
33
34
|
- What is the reason for a change?
|
|
34
35
|
- What did you do to achieve this?
|
|
35
36
|
- How would a reviewer test the change?
|
|
36
|
-
|
|
37
|
+
7. English is the primary language of communication in this project. Please use only English when writing commit messages, PR descriptions, comments and other text. This does not apply to contributions to localization files.
|
|
38
|
+
8. Mind the license. Your contributions will be licensed under the GNU Affero General Public License. If you don't know what that implies, consult your lawyer.
|
|
39
|
+
|
|
40
|
+
## Use of AI coding assistance tools ("Vibe Coding")
|
|
41
|
+
|
|
42
|
+
We do not prohibit nor encourage the use of AI tools for coding assistance to help you write code, documentation, etc. This includes specialized IDEs, plugins and add-ons, chat interfaces, etc. However, please keep in mind the following:
|
|
43
|
+
|
|
44
|
+
- No matter who (or what) wrote the code, you are responsible for it. Make sure to carefully review and test everything before committing, and be ready to discuss and fix any issues that may arise during the review.
|
|
45
|
+
- Maintainers can reject reviewing and accepting PRs of very low quality, i.e. if the time to fix the issues exceeds the time to write the code from scratch.
|
|
46
|
+
- Avoid common mistakes attributed to AI tools, such as: adding/removing unrelated comments, excessive logging, unawareness of the project context and conventions, etc.
|
|
47
|
+
- You are allowed, but not required, to trigger AI tools that are added to the project by maintainers (Gemini, Copilot, Codex). Keep in mind that any feedback (comments, suggestions) that these tools generate is not a call to action; make sure to properly assess it before applying.
|
|
37
48
|
|
|
38
49
|
## Further reading
|
|
39
50
|
|
package/Dockerfile
CHANGED
package/config.yaml
CHANGED
|
@@ -82,18 +82,30 @@ requestProxy:
|
|
|
82
82
|
enableUserAccounts: false
|
|
83
83
|
# Enable discreet login mode: hides user list on the login screen
|
|
84
84
|
enableDiscreetLogin: false
|
|
85
|
-
# Enable's authlia based auto login. Only enable this if you
|
|
86
|
-
# have setup and installed Authelia as a middle-ware on your
|
|
87
|
-
# reverse proxy
|
|
88
|
-
# https://www.authelia.com/
|
|
89
|
-
# This will use auto login to an account with the same username
|
|
90
|
-
# as that used for authlia. (Ensure the username in authlia
|
|
91
|
-
# is an exact match in lowercase with that in sillytavern)
|
|
92
|
-
autheliaAuth: false
|
|
93
85
|
# If `basicAuthMode` and this are enabled then
|
|
94
86
|
# the username and passwords for basic auth are the same as those
|
|
95
87
|
# for the individual accounts
|
|
96
88
|
perUserBasicAuth: false
|
|
89
|
+
|
|
90
|
+
# -- SSO LOGIN CONFIGURATION --
|
|
91
|
+
sso:
|
|
92
|
+
# Enable's authlia based auto login. Only enable this if you
|
|
93
|
+
# have setup and installed Authelia as a middle-ware on your
|
|
94
|
+
# reverse proxy
|
|
95
|
+
# https://www.authelia.com/
|
|
96
|
+
# This will use auto login to an account with the same username
|
|
97
|
+
# as that used for authlia. (Ensure the username in authlia
|
|
98
|
+
# is an exact match in lowercase with that in sillytavern)
|
|
99
|
+
autheliaAuth: false
|
|
100
|
+
# Enable's authentik based auto login. Only enable this if you
|
|
101
|
+
# have setup and installed Authentik as a middle-ware on your
|
|
102
|
+
# reverse proxy.
|
|
103
|
+
# https://goauthentik.io/
|
|
104
|
+
# This will use auto login to an account with the same username
|
|
105
|
+
# as that used for authentik. (Ensure the username in authentik
|
|
106
|
+
# is an exact match in lowercase with that in sillytavern).
|
|
107
|
+
authentikAuth: false
|
|
108
|
+
|
|
97
109
|
# Host whitelist configuration. Recommended if you're using a listen mode
|
|
98
110
|
hostWhitelist:
|
|
99
111
|
# Enable or disable host whitelisting
|
package/default/config.yaml
CHANGED
|
@@ -82,18 +82,30 @@ requestProxy:
|
|
|
82
82
|
enableUserAccounts: false
|
|
83
83
|
# Enable discreet login mode: hides user list on the login screen
|
|
84
84
|
enableDiscreetLogin: false
|
|
85
|
-
# Enable's authlia based auto login. Only enable this if you
|
|
86
|
-
# have setup and installed Authelia as a middle-ware on your
|
|
87
|
-
# reverse proxy
|
|
88
|
-
# https://www.authelia.com/
|
|
89
|
-
# This will use auto login to an account with the same username
|
|
90
|
-
# as that used for authlia. (Ensure the username in authlia
|
|
91
|
-
# is an exact match in lowercase with that in sillytavern)
|
|
92
|
-
autheliaAuth: false
|
|
93
85
|
# If `basicAuthMode` and this are enabled then
|
|
94
86
|
# the username and passwords for basic auth are the same as those
|
|
95
87
|
# for the individual accounts
|
|
96
88
|
perUserBasicAuth: false
|
|
89
|
+
|
|
90
|
+
# -- SSO LOGIN CONFIGURATION --
|
|
91
|
+
sso:
|
|
92
|
+
# Enable's authlia based auto login. Only enable this if you
|
|
93
|
+
# have setup and installed Authelia as a middle-ware on your
|
|
94
|
+
# reverse proxy
|
|
95
|
+
# https://www.authelia.com/
|
|
96
|
+
# This will use auto login to an account with the same username
|
|
97
|
+
# as that used for authlia. (Ensure the username in authlia
|
|
98
|
+
# is an exact match in lowercase with that in sillytavern)
|
|
99
|
+
autheliaAuth: false
|
|
100
|
+
# Enable's authentik based auto login. Only enable this if you
|
|
101
|
+
# have setup and installed Authentik as a middle-ware on your
|
|
102
|
+
# reverse proxy.
|
|
103
|
+
# https://goauthentik.io/
|
|
104
|
+
# This will use auto login to an account with the same username
|
|
105
|
+
# as that used for authentik. (Ensure the username in authentik
|
|
106
|
+
# is an exact match in lowercase with that in sillytavern).
|
|
107
|
+
authentikAuth: false
|
|
108
|
+
|
|
97
109
|
# Host whitelist configuration. Recommended if you're using a listen mode
|
|
98
110
|
hostWhitelist:
|
|
99
111
|
# Enable or disable host whitelisting
|
|
@@ -1,20 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"chat_completion_source": "openai",
|
|
3
3
|
"openai_model": "gpt-4-turbo",
|
|
4
|
-
"claude_model": "claude-
|
|
4
|
+
"claude_model": "claude-sonnet-4-5",
|
|
5
5
|
"openrouter_model": "OR_Website",
|
|
6
6
|
"openrouter_use_fallback": false,
|
|
7
7
|
"openrouter_group_models": false,
|
|
8
8
|
"openrouter_sort_models": "alphabetically",
|
|
9
9
|
"ai21_model": "jamba-large",
|
|
10
10
|
"mistralai_model": "mistral-large-latest",
|
|
11
|
+
"electronhub_model": "gpt-4o-mini",
|
|
12
|
+
"electronhub_sort_models": "alphabetically",
|
|
13
|
+
"electronhub_group_models": false,
|
|
11
14
|
"custom_model": "",
|
|
12
15
|
"custom_url": "",
|
|
13
16
|
"custom_include_body": "",
|
|
14
17
|
"custom_exclude_body": "",
|
|
15
18
|
"custom_include_headers": "",
|
|
16
|
-
"google_model": "gemini-pro",
|
|
17
|
-
"vertexai_model": "gemini-2.
|
|
19
|
+
"google_model": "gemini-2.5-pro",
|
|
20
|
+
"vertexai_model": "gemini-2.5-pro",
|
|
18
21
|
"temperature": 1,
|
|
19
22
|
"frequency_penalty": 0,
|
|
20
23
|
"presence_penalty": 0,
|
|
@@ -620,7 +620,7 @@
|
|
|
620
620
|
},
|
|
621
621
|
"wi_format": "{0}",
|
|
622
622
|
"openai_model": "gpt-4-turbo",
|
|
623
|
-
"claude_model": "claude-
|
|
623
|
+
"claude_model": "claude-sonnet-4-5",
|
|
624
624
|
"ai21_model": "jamba-large",
|
|
625
625
|
"openrouter_model": "OR_Website",
|
|
626
626
|
"reverse_proxy": "",
|
package/package.json
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/* Main Page Backgrounds */
|
|
2
|
-
#bg1
|
|
3
|
-
#bg_custom {
|
|
2
|
+
#bg1 {
|
|
4
3
|
background-repeat: no-repeat;
|
|
5
4
|
background-attachment: fixed;
|
|
6
5
|
background-size: cover;
|
|
@@ -8,72 +7,46 @@
|
|
|
8
7
|
width: 100%;
|
|
9
8
|
height: 100%;
|
|
10
9
|
transition: background-image var(--animation-duration-3x) ease-in-out;
|
|
10
|
+
z-index: -1;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
/* Fitting options */
|
|
14
14
|
#background_fitting {
|
|
15
|
-
max-width:
|
|
15
|
+
max-width: 8em;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
/* Fill/Cover - scales to fill width while maintaining aspect ratio */
|
|
19
|
-
#bg1.cover
|
|
20
|
-
#bg_custom.cover {
|
|
19
|
+
#bg1.cover {
|
|
21
20
|
background-size: cover;
|
|
22
21
|
background-position: center;
|
|
23
22
|
}
|
|
24
23
|
|
|
25
24
|
/* Fit/Contain - shows entire image maintaining aspect ratio */
|
|
26
|
-
#bg1.contain
|
|
27
|
-
#bg_custom.contain {
|
|
25
|
+
#bg1.contain {
|
|
28
26
|
background-size: contain;
|
|
29
27
|
background-position: center;
|
|
30
28
|
background-repeat: no-repeat;
|
|
31
29
|
}
|
|
32
30
|
|
|
33
31
|
/* Stretch - stretches to fill entire space */
|
|
34
|
-
#bg1.stretch
|
|
35
|
-
#bg_custom.stretch {
|
|
32
|
+
#bg1.stretch {
|
|
36
33
|
background-size: 100% 100%;
|
|
37
34
|
}
|
|
38
35
|
|
|
39
36
|
/* Center - centers without scaling */
|
|
40
|
-
#bg1.center
|
|
41
|
-
#bg_custom.center {
|
|
37
|
+
#bg1.center {
|
|
42
38
|
background-size: auto;
|
|
43
39
|
background-position: center;
|
|
44
40
|
background-repeat: no-repeat;
|
|
45
41
|
}
|
|
46
42
|
|
|
47
|
-
body.reduced-motion #bg1,
|
|
48
|
-
body.reduced-motion #bg_custom {
|
|
49
|
-
transition: none;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
#bg1 {
|
|
53
|
-
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=');
|
|
54
|
-
z-index: -3;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
#bg_custom {
|
|
58
|
-
background-image: none;
|
|
59
|
-
z-index: -2;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
.bg_example.flex-container.locked:not(:focus-visible) {
|
|
63
|
-
outline-color: var(--golden);
|
|
64
|
-
}
|
|
65
|
-
|
|
66
43
|
/* This is the main flex container for the entire drawer */
|
|
67
|
-
|
|
44
|
+
.drawer-content.openDrawer.bg-drawer-layout {
|
|
68
45
|
display: flex;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.bg-drawer-layout {
|
|
69
49
|
flex-direction: column;
|
|
70
|
-
height: calc(100vh - var(--topBarBlockSize));
|
|
71
|
-
max-height: calc(100vh - var(--topBarBlockSize));
|
|
72
|
-
height: calc(100dvh - var(--topBarBlockSize));
|
|
73
|
-
max-height: calc(100dvh - var(--topBarBlockSize));
|
|
74
|
-
overflow: hidden;
|
|
75
|
-
width: var(--sheldWidth);
|
|
76
|
-
max-width: var(--sheldWidth);
|
|
77
50
|
padding: 0;
|
|
78
51
|
}
|
|
79
52
|
|
|
@@ -82,11 +55,31 @@ body.reduced-motion #bg_custom {
|
|
|
82
55
|
padding: 5px;
|
|
83
56
|
background-color: var(--SmartThemeBlurTintColor);
|
|
84
57
|
border-bottom: 1px solid var(--SmartThemeBorderColor);
|
|
58
|
+
width: 100%;
|
|
85
59
|
}
|
|
86
60
|
|
|
87
|
-
|
|
61
|
+
.bg-header-row-1,
|
|
62
|
+
.bg-header-row-2 {
|
|
63
|
+
display: flex;
|
|
64
|
+
gap: 5px;
|
|
65
|
+
width: 100%;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/* Control buttons in header */
|
|
69
|
+
.heading-container-with-controls {
|
|
70
|
+
position: relative;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.heading-container-with-controls .heading-text {
|
|
74
|
+
margin: 10px 0;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.heading-container-with-controls .heading-controls {
|
|
78
|
+
position: absolute;
|
|
79
|
+
right: 5px;
|
|
80
|
+
top: 50%;
|
|
81
|
+
transform: translateY(-50%);
|
|
88
82
|
display: flex;
|
|
89
|
-
align-items: center;
|
|
90
83
|
gap: 5px;
|
|
91
84
|
}
|
|
92
85
|
|
|
@@ -94,49 +87,92 @@ body.reduced-motion #bg_custom {
|
|
|
94
87
|
flex-grow: 1;
|
|
95
88
|
overflow-y: auto;
|
|
96
89
|
overflow-x: hidden;
|
|
97
|
-
padding: 0 5px
|
|
90
|
+
padding: 0 5px 15px;
|
|
91
|
+
position: relative;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
#bg_menu_content,
|
|
95
|
+
#bg_custom_content {
|
|
96
|
+
display: grid;
|
|
97
|
+
gap: 5px;
|
|
98
|
+
width: 100%;
|
|
99
|
+
grid-template-columns: repeat(var(--bg-thumb-columns, 5), 1fr);
|
|
98
100
|
}
|
|
99
101
|
|
|
100
102
|
#bg-filter {
|
|
101
103
|
font-size: calc(var(--mainFontSize) * 0.95);
|
|
102
104
|
}
|
|
103
105
|
|
|
104
|
-
/*
|
|
106
|
+
/* Thumbnails */
|
|
107
|
+
.bg_example:hover .BGSampleTitle {
|
|
108
|
+
opacity: 1;
|
|
109
|
+
}
|
|
110
|
+
|
|
105
111
|
.bg_example .mobile-only-menu-toggle {
|
|
106
112
|
display: none;
|
|
107
113
|
}
|
|
108
114
|
|
|
109
|
-
.bg_example
|
|
110
|
-
width: 30%;
|
|
111
|
-
max-width: 200px;
|
|
112
|
-
margin: 5px;
|
|
113
|
-
aspect-ratio: 16/9;
|
|
115
|
+
.bg_example {
|
|
114
116
|
cursor: pointer;
|
|
115
117
|
box-shadow: 0 0 7px var(--black50a);
|
|
116
|
-
|
|
117
118
|
position: relative;
|
|
118
119
|
overflow: hidden;
|
|
119
120
|
border-radius: 8px;
|
|
120
121
|
border: 0px solid transparent;
|
|
121
122
|
outline: 2px solid var(--SmartThemeBorderColor);
|
|
122
123
|
outline-offset: -1px;
|
|
124
|
+
|
|
125
|
+
height: auto;
|
|
126
|
+
aspect-ratio: 16 / 9;
|
|
123
127
|
}
|
|
124
128
|
|
|
125
|
-
.bg_example
|
|
129
|
+
.bg_example:focus-visible {
|
|
126
130
|
outline-offset: inherit;
|
|
131
|
+
outline-color: var(--interactable-outline-color);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.bg_example.locked-background {
|
|
135
|
+
outline: 2px solid var(--golden);
|
|
136
|
+
outline-offset: 0;
|
|
127
137
|
}
|
|
128
138
|
|
|
129
|
-
.
|
|
139
|
+
.bg_example.locked-background::after {
|
|
140
|
+
content: '\f023';
|
|
141
|
+
font-family: 'Font Awesome 6 Free';
|
|
142
|
+
font-weight: 900;
|
|
143
|
+
|
|
130
144
|
position: absolute;
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
145
|
+
bottom: 5px;
|
|
146
|
+
right: 5px;
|
|
147
|
+
z-index: 4;
|
|
148
|
+
color: var(--golden);
|
|
149
|
+
filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.8));
|
|
150
|
+
font-size: calc(var(--mainFontSize) * 0.8);
|
|
151
|
+
pointer-events: none;
|
|
152
|
+
}
|
|
135
153
|
|
|
136
|
-
|
|
154
|
+
.bg_example:not(.locked-background) .jg-unlock,
|
|
155
|
+
.bg_example.locked-background .jg-lock {
|
|
156
|
+
display: none;
|
|
157
|
+
}
|
|
137
158
|
|
|
138
|
-
|
|
139
|
-
|
|
159
|
+
.bg_example.selected-background {
|
|
160
|
+
outline: 2px solid white;
|
|
161
|
+
outline-offset: 0;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.bg_example.selected-background::before {
|
|
165
|
+
content: '\f00c';
|
|
166
|
+
font-family: 'Font Awesome 6 Free';
|
|
167
|
+
font-weight: 900;
|
|
168
|
+
position: absolute;
|
|
169
|
+
top: 5px;
|
|
170
|
+
left: 5px;
|
|
171
|
+
z-index: 4;
|
|
172
|
+
color: var(--white100);
|
|
173
|
+
filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.8));
|
|
174
|
+
font-size: calc(var(--mainFontSize) * 0.9);
|
|
175
|
+
pointer-events: none;
|
|
140
176
|
}
|
|
141
177
|
|
|
142
178
|
.bg_example .jg-menu {
|
|
@@ -145,9 +181,8 @@ body.reduced-motion #bg_custom {
|
|
|
145
181
|
top: 2px;
|
|
146
182
|
right: 2px;
|
|
147
183
|
background-color: rgba(0, 0, 0, 0.5);
|
|
148
|
-
border-radius:
|
|
149
|
-
|
|
150
|
-
padding: 3px 5px;
|
|
184
|
+
border-radius: 5px;
|
|
185
|
+
padding: 3px 3px;
|
|
151
186
|
z-index: 3;
|
|
152
187
|
backdrop-filter: blur(4px);
|
|
153
188
|
border: 1px solid var(--SmartThemeBorderColor);
|
|
@@ -170,14 +205,14 @@ body.reduced-motion #bg_custom {
|
|
|
170
205
|
|
|
171
206
|
.bg_example .jg-button {
|
|
172
207
|
display: flex;
|
|
173
|
-
width:
|
|
174
|
-
height:
|
|
208
|
+
width: 24px;
|
|
209
|
+
height: 24px;
|
|
175
210
|
align-items: center;
|
|
176
211
|
justify-content: center;
|
|
177
212
|
color: white;
|
|
178
213
|
padding: 5px;
|
|
179
214
|
font-size: 1.1em;
|
|
180
|
-
border-radius:
|
|
215
|
+
border-radius: 5px;
|
|
181
216
|
transition: background-color var(--animation-duration) ease;
|
|
182
217
|
}
|
|
183
218
|
|
|
@@ -185,16 +220,54 @@ body.reduced-motion #bg_custom {
|
|
|
185
220
|
background-color: rgba(255, 255, 255, 0.2);
|
|
186
221
|
}
|
|
187
222
|
|
|
188
|
-
|
|
189
|
-
|
|
223
|
+
/* Scroll-to-Top Button */
|
|
224
|
+
#bg-scroll-top {
|
|
225
|
+
position: absolute;
|
|
226
|
+
bottom: 20px;
|
|
227
|
+
right: 20px;
|
|
228
|
+
width: 42px;
|
|
229
|
+
height: 42px;
|
|
230
|
+
background: var(--SmartThemeBlurTintColor);
|
|
231
|
+
color: var(--SmartThemeBodyColor);
|
|
232
|
+
border: 1px solid var(--SmartThemeBorderColor);
|
|
233
|
+
border-radius: 50%;
|
|
234
|
+
cursor: pointer;
|
|
235
|
+
z-index: 10;
|
|
236
|
+
font-size: 18px;
|
|
237
|
+
display: inline-flex;
|
|
238
|
+
align-items: center;
|
|
239
|
+
justify-content: center;
|
|
240
|
+
opacity: 0;
|
|
241
|
+
transition: opacity var(--animation-duration) ease;
|
|
242
|
+
pointer-events: none;
|
|
190
243
|
}
|
|
191
244
|
|
|
192
|
-
.
|
|
193
|
-
|
|
245
|
+
#bg-scroll-top.visible {
|
|
246
|
+
opacity: 1;
|
|
247
|
+
pointer-events: auto;
|
|
194
248
|
}
|
|
195
249
|
|
|
196
|
-
|
|
197
|
-
|
|
250
|
+
#bg-scroll-top:hover {
|
|
251
|
+
filter: brightness(150%);
|
|
252
|
+
outline: 1px solid var(--interactable-outline-color);
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
#bg-scroll-top .fa-solid {
|
|
256
|
+
margin: 0;
|
|
257
|
+
padding: 0;
|
|
258
|
+
line-height: 1;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
.thumbnail-clipper {
|
|
262
|
+
position: absolute;
|
|
263
|
+
top: -2px;
|
|
264
|
+
left: -2px;
|
|
265
|
+
right: -2px;
|
|
266
|
+
bottom: -2px;
|
|
267
|
+
overflow: hidden;
|
|
268
|
+
border-radius: inherit;
|
|
269
|
+
background-size: cover;
|
|
270
|
+
background-position: center;
|
|
198
271
|
}
|
|
199
272
|
|
|
200
273
|
.bg_example:not([custom="true"]) .jg-copy,
|
|
@@ -10,6 +10,18 @@
|
|
|
10
10
|
flex-basis: 100%;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
+
#rm_button_panel_pin_div,
|
|
14
|
+
#lm_button_panel_pin_div {
|
|
15
|
+
display: none;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
#rm_button_characters {
|
|
19
|
+
font-size: var(--topBarIconSize);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
#CharListButtonAndHotSwaps {
|
|
23
|
+
align-items: center;
|
|
24
|
+
}
|
|
13
25
|
|
|
14
26
|
#send_form.compact #leftSendForm,
|
|
15
27
|
#send_form.compact #rightSendForm {
|
|
@@ -21,6 +33,15 @@
|
|
|
21
33
|
display: none;
|
|
22
34
|
}
|
|
23
35
|
|
|
36
|
+
#bg_menu_content,
|
|
37
|
+
#bg_custom_content {
|
|
38
|
+
grid-template-columns: repeat(var(--bg-thumb-columns, 3), 1fr);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.bg_list {
|
|
42
|
+
width: unset;
|
|
43
|
+
}
|
|
44
|
+
|
|
24
45
|
.bg_button {
|
|
25
46
|
font-size: 15px;
|
|
26
47
|
}
|
|
@@ -40,6 +61,11 @@
|
|
|
40
61
|
z-index: 4;
|
|
41
62
|
}
|
|
42
63
|
|
|
64
|
+
.bg_example.mobile-menu-open .mobile-only-menu-toggle {
|
|
65
|
+
opacity: 0;
|
|
66
|
+
pointer-events: none;
|
|
67
|
+
}
|
|
68
|
+
|
|
43
69
|
.bg_example .mobile-only-menu-toggle {
|
|
44
70
|
display: flex;
|
|
45
71
|
align-items: center;
|
|
@@ -57,48 +83,13 @@
|
|
|
57
83
|
backdrop-filter: blur(2px);
|
|
58
84
|
}
|
|
59
85
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
#bg-header-fixed>.flex-container {
|
|
66
|
-
flex-wrap: wrap;
|
|
67
|
-
row-gap: 0px;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
#Backgrounds:not(.selection-mode-active) #bg-header-fixed>.flex-container::after {
|
|
71
|
-
content: '';
|
|
72
|
-
order: 1;
|
|
73
|
-
flex-basis: 100%;
|
|
74
|
-
height: 0;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
/* --- Row 1 Item --- */
|
|
78
|
-
#bg-header-fixed #bg-header-title {
|
|
79
|
-
order: 1;
|
|
80
|
-
flex-grow: 1;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
#bg-header-fixed #background_fitting,
|
|
84
|
-
#bg-header-fixed #auto_background {
|
|
85
|
-
order: 1;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
/* --- Row 2 Item --- */
|
|
89
|
-
#bg-header-fixed #bg-filter {
|
|
90
|
-
order: 2;
|
|
91
|
-
flex-grow: 1;
|
|
92
|
-
min-width: 0;
|
|
86
|
+
.bg_example .jg-button {
|
|
87
|
+
width: 30px;
|
|
88
|
+
height: 30px;
|
|
93
89
|
}
|
|
94
90
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
order: 3;
|
|
98
|
-
width: 100%;
|
|
99
|
-
text-align: center;
|
|
100
|
-
padding-top: 0.5em;
|
|
101
|
-
padding-bottom: 0.5em;
|
|
91
|
+
#background_fitting {
|
|
92
|
+
max-width: 6em;
|
|
102
93
|
}
|
|
103
94
|
|
|
104
95
|
#Backgrounds.drawer-content.openDrawer.bg-drawer-layout {
|
|
@@ -429,10 +420,6 @@
|
|
|
429
420
|
.horde_multiple_hint {
|
|
430
421
|
display: none;
|
|
431
422
|
}
|
|
432
|
-
|
|
433
|
-
.bg_list {
|
|
434
|
-
width: unset;
|
|
435
|
-
}
|
|
436
423
|
}
|
|
437
424
|
|
|
438
425
|
/*landscape mode phones and ipads*/
|
|
@@ -301,6 +301,10 @@ select.keyselect+span.select2-container .select2-selection--multiple {
|
|
|
301
301
|
display: none;
|
|
302
302
|
}
|
|
303
303
|
|
|
304
|
+
.world_entry:not(:has(select[name="position"] option[value="7"]:checked)) .world_entry_form_control:has(input[name="outletName"]) {
|
|
305
|
+
display: none;
|
|
306
|
+
}
|
|
307
|
+
|
|
304
308
|
.world_entry label[for="__invisible"] {
|
|
305
309
|
visibility: hidden;
|
|
306
310
|
pointer-events: none;
|
|
Binary file
|
|
Binary file
|