@ash-qw/dsh-theme-prts 2.5.5 → 2.6.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.
- package/CHANGELOG.md +26 -0
- package/README.en.md +41 -3
- package/README.md +40 -3
- package/THIRD_PARTY_NOTICES.md +6 -0
- package/THIRD_PARTY_NOTICES.zh-CN.md +6 -0
- package/lib/client.js +536 -316
- package/package.json +5 -3
- package/src/client/avatar-crop.js +16 -3
- package/src/client/background-region-editor.js +2 -1
- package/src/client/conversation-control-adapter.js +131 -20
- package/src/client/cursor-adapter.js +44 -12
- package/src/client/cursor-follower.js +271 -0
- package/src/client/cursor-semantics.js +74 -0
- package/src/client/index.js +5 -1
- package/src/client/native-preferences.js +8 -4
- package/src/client/page-controls.js +185 -0
- package/src/client/preferences.js +25 -5
- package/src/client/theme-controller-v2.js +6 -5
- package/src/client/theme-controller.js +3 -2
- package/src/client/theme-settings-workbench.js +133 -19
- package/src/client/theme-transfer.js +5 -4
- package/src/index.js +27 -5
- package/src/server/avatar-tools.js +1 -1
- package/src/server/background-preview.js +100 -0
- package/src/server/background-tools.js +109 -0
- package/src/server/backgrounds.js +15 -9
- package/src/server/theme-tool-status.js +13 -0
- package/src/server/tools.js +11 -6
- package/src/server/transfer-tools.js +166 -0
- package/src/styles/cursor.css +26 -2
- package/src/styles/refinement.css +1 -1
- package/src/styles/theme-settings-workbench.css +190 -8
- package/src/vendor/mouse-follower/LICENSE +20 -0
|
@@ -321,9 +321,13 @@ padding-block: 9px;
|
|
|
321
321
|
}
|
|
322
322
|
html[data-dsh-prts] [data-prts-settings-common] [data-prts-session-flow-color-workbench] {
|
|
323
323
|
display: grid;
|
|
324
|
-
grid-template-columns:
|
|
324
|
+
grid-template-columns: minmax(0, 1fr);
|
|
325
325
|
align-items: center;
|
|
326
|
-
gap:
|
|
326
|
+
gap: 12px;
|
|
327
|
+
padding: 12px;
|
|
328
|
+
border: 1px solid var(--prts-line);
|
|
329
|
+
border-radius: 6px;
|
|
330
|
+
background: color-mix(in srgb, var(--prts-panel) 45%, var(--prts-canvas));
|
|
327
331
|
}
|
|
328
332
|
html[data-dsh-prts] [data-prts-session-flow-preview] {
|
|
329
333
|
--prts-lifeline-pink: #f7ddeb;
|
|
@@ -357,7 +361,7 @@ display: grid;
|
|
|
357
361
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
358
362
|
gap: 5px;
|
|
359
363
|
}
|
|
360
|
-
html[data-dsh-prts] [data-prts-session-flow-color-inputs] label { min-width: 0; display: grid; grid-template-columns: 34px minmax(34px, 1fr); gap: 4px; align-items: center; color: var(--prts-muted); font: 700 8px/1 var(--prts-mono); }
|
|
364
|
+
html[data-dsh-prts] [data-prts-session-flow-color-inputs] :is(label,[data-prts-page-control-row]) { min-width: 0; display: grid; grid-template-columns: 34px minmax(34px, 1fr); gap: 4px; align-items: center; color: var(--prts-muted); font: 700 8px/1 var(--prts-mono); }
|
|
361
365
|
html[data-dsh-prts] [data-prts-session-flow-color-inputs] input[type="color"] { width: 100%; height: 28px; padding: 2px; border: 1px solid var(--prts-line); border-radius: 0; background: var(--prts-panel-raised); cursor: pointer; }
|
|
362
366
|
html[data-dsh-prts] [data-prts-session-flow-color-inputs] output { grid-column: 1 / -1; color: var(--prts-ink); font: 700 8px/1 var(--prts-mono); text-align: center; text-transform: uppercase; }
|
|
363
367
|
html[data-dsh-prts] [data-prts-theme-settings] button[data-prts-setting-key],
|
|
@@ -820,7 +824,7 @@ margin-bottom: 20px;
|
|
|
820
824
|
}
|
|
821
825
|
& [data-prts-custom-emblem] header { display: grid; gap: 6px; }
|
|
822
826
|
& [data-prts-custom-emblem] :is(small, p) { font: 400 12px/1.6 var(--prts-body); color: var(--prts-muted); margin: 0; }
|
|
823
|
-
& [data-prts-custom-emblem] label { display: grid; grid-template-columns: 110px minmax(0, 1fr); align-items: center; gap: 12px; font-size: 13px; }
|
|
827
|
+
& [data-prts-custom-emblem] :is(label,[data-prts-page-control-row]) { display: grid; grid-template-columns: 110px minmax(0, 1fr); align-items: center; gap: 12px; font-size: 13px; }
|
|
824
828
|
& [data-prts-emblem-editor]{display:grid;gap:14px;}& [data-prts-custom-emblem] :is(input,select){min-width:0;max-width:100%;}& [data-prts-custom-emblem] select{padding:8px;background:var(--prts-panel-raised);color:var(--prts-ink);border:1px solid var(--prts-line);}& [data-prts-emblem-preview]{touch-action:none;cursor:grab;width:min(100%,280px);height:auto;justify-self:center;border:1px solid var(--prts-line);border-radius:4px;}& [data-prts-emblem-actions]{display:flex;flex-wrap:wrap;gap:10px;}& [data-prts-emblem-actions] button{padding:10px 14px;border:1px solid var(--prts-line);border-radius:4px;color:var(--prts-ink);background:var(--prts-panel-raised);}& [data-prts-emblem-actions] button:disabled{opacity:.45;}& [data-prts-custom-emblem] h4{margin:8px 0 12px;font:600 14px/1.5 var(--prts-body);}& [data-prts-emblem-list]{display:grid;gap:10px;list-style:none;padding:0;margin:14px 0;}& :is([data-prts-emblem-list] > li,[data-prts-emblem-hero-row]){display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px;border:1px solid var(--prts-line);border-radius:4px;}& :is([data-prts-emblem-list],[data-prts-emblem-hero-row]) canvas{width:48px;height:48px;flex:none;border-radius:3px;}& :is([data-prts-emblem-list] > li,[data-prts-emblem-hero-row]) > span{flex:1;min-width:100px;overflow-wrap:anywhere;font-size:13px;}& [data-emblem-action]{padding:7px 10px;border:1px solid var(--prts-line);border-radius:4px;background:var(--prts-panel-raised);color:var(--prts-ink);}& [data-emblem-action]:disabled{opacity:.4;}& [data-prts-emblem-reorder]{padding:0;border:0;background:transparent;cursor:grab;}& [data-emblem-key]{touch-action:none;cursor:grab;user-select:none;-webkit-touch-callout:none}& [data-prts-emblem-reorder]:focus-visible{outline:2px solid var(--prts-ink);outline-offset:3px;}& [data-prts-emblem-sorting]{user-select:none;}& [data-prts-emblem-dragging]{opacity:.35;border-style:dashed !important;}& [data-prts-emblem-drag-ghost]{background:var(--prts-panel-raised);box-shadow:0 8px 28px #0005;opacity:.95;}& :is([data-prts-emblem-reset-confirm],[data-prts-emblem-workspace],[data-prts-emblem-discard]){position:fixed;inset:0;margin:auto;width:min(460px,calc(100vw - 32px));max-height:80dvh;box-sizing:border-box;overflow:auto;padding:24px;border:1px solid var(--prts-line);border-radius:8px;background:var(--prts-panel-raised);color:var(--prts-ink);box-shadow:0 16px 64px #0008;font:13px/1.7 var(--prts-body);}& :is([data-prts-emblem-reset-confirm],[data-prts-emblem-workspace],[data-prts-emblem-discard])::backdrop{background:#0008;}& [data-prts-emblem-reset-confirm]{& > strong{display:block;font-size:16px;}& > p{margin:12px 0 18px;}& > [data-prts-emblem-actions]{justify-content:flex-end;padding-top:16px;border-top:1px solid var(--prts-line);}& [data-prts-emblem-reset-cancel]{border:0;background:transparent;}& [data-emblem-action]{display:flex;gap:6px;padding:5px 10px;font-size:12px;background:transparent;}& [data-prts-emblem-reset-status]:empty{display:none;}}& [data-prts-emblem-reset-exports]{display:grid;gap:8px;margin:18px 0;}& [data-prts-emblem-reset-asset]{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--prts-line);border-radius:4px;}& [data-prts-emblem-reset-asset] > span{overflow-wrap:anywhere;line-height:1.5;}& [data-prts-emblem-reset-asset] canvas{width:36px;height:36px;border-radius:3px;}& [data-prts-emblem-workspace]{width:min(820px,calc(100vw - 24px));padding:0;max-height:90dvh;}
|
|
825
829
|
& [data-prts-emblem-edit-header],& [data-prts-emblem-edit-bar]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;}
|
|
826
830
|
& [data-prts-emblem-edit-header]{border-bottom:1px solid var(--prts-line);}
|
|
@@ -899,8 +903,8 @@ html[data-dsh-prts] [data-prts-preview-settings] {
|
|
|
899
903
|
& [data-prts-setting-row] strong { font:600 12px/1.5 var(--prts-body); }
|
|
900
904
|
& [data-prts-setting-row="previewReplyLimit"] { padding:0 0 14px;gap:12px; }
|
|
901
905
|
& [data-prts-setting-row="previewReplyLimit"] strong { color:var(--prts-muted);font-size:11px; }
|
|
902
|
-
& [data-prts-preview-reply-limit] { min-width:112px;padding:7px 10px;border:1px solid var(--prts-line);border-radius:5px;background:var(--prts-panel-raised);color:var(--prts-ink);font:400 11px/1.5 var(--prts-body); }
|
|
903
|
-
& [data-prts-preview-reply-limit]:focus-visible { outline:2px solid var(--prts-ink);outline-offset:2px; }
|
|
906
|
+
& :is([data-prts-preview-reply-limit],[data-prts-cursor-mode]) { min-width:112px;padding:7px 10px;border:1px solid var(--prts-line);border-radius:5px;background:var(--prts-panel-raised);color:var(--prts-ink);font:400 11px/1.5 var(--prts-body); }
|
|
907
|
+
& :is([data-prts-preview-reply-limit],[data-prts-cursor-mode]):focus-visible { outline:2px solid var(--prts-ink);outline-offset:2px; }
|
|
904
908
|
& [data-prts-preview-details] { padding:0 12px;margin:0 -12px 8px 0;border-radius:5px;background:color-mix(in srgb,var(--prts-ink) 3%,transparent); }
|
|
905
909
|
& [data-prts-preview-details] [data-prts-setting-row] { padding:10px 0; }
|
|
906
910
|
& [data-prts-preview-details] [data-prts-setting-row] strong { font-size:11px; }
|
|
@@ -1043,5 +1047,183 @@ html[data-dsh-prts] [data-prts-corner-presets] { display:flex;flex-wrap:wrap;gap
|
|
|
1043
1047
|
& > button[aria-pressed="true"]::after { content:"";position:absolute;width:8px;height:4px;border-left:2px solid #172025;border-bottom:2px solid #172025;transform:translateY(-1px) rotate(-45deg); }
|
|
1044
1048
|
& > button:focus-visible { outline:2px solid var(--prts-ink);outline-offset:2px; }
|
|
1045
1049
|
}
|
|
1046
|
-
html[data-dsh-prts] [data-prts-corner-presets]
|
|
1047
|
-
html[data-dsh-prts] [data-prts-corner-presets]
|
|
1050
|
+
html[data-dsh-prts] [data-prts-corner-presets] [data-prts-corner-custom] { display:flex;align-items:center;gap:8px;width:auto;height:32px;margin-left:8px;padding:5px 10px;border:1px solid var(--prts-line-strong);border-radius:4px;background:var(--prts-panel-raised);color:var(--prts-ink);font:12px/1 var(--prts-body);white-space:nowrap; }
|
|
1051
|
+
html[data-dsh-prts] [data-prts-corner-presets] [data-prts-corner-custom]:is(:hover,:focus-visible) { border-color:var(--prts-ink);background:color-mix(in srgb,var(--prts-ink) 8%,var(--prts-panel-raised)); }
|
|
1052
|
+
|
|
1053
|
+
|
|
1054
|
+
/* Resolve palette in CSS so app scheme changes never require pointer work. */
|
|
1055
|
+
html[data-dsh-prts] { --prts-corner-color: var(--prts-corner-color-dark, #f0c800); }
|
|
1056
|
+
html[data-dsh-prts][data-prts-scheme="light"] { --prts-corner-color: var(--prts-corner-color-light, #f0c800); }
|
|
1057
|
+
[data-prts-corner-heading] { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
|
|
1058
|
+
[data-prts-corner-modes] { display: inline-flex; padding: 2px; gap: 2px; border: 1px solid var(--prts-line-strong); border-radius: 6px; }
|
|
1059
|
+
[data-prts-corner-modes] button { padding: 4px 7px; border: 0; border-radius: 3px; background: transparent; color: inherit; font-size: 11px; opacity: .6; cursor: pointer; }
|
|
1060
|
+
[data-prts-corner-modes] button[aria-pressed="true"] { background: color-mix(in srgb, currentColor 12%, transparent); opacity: 1; }
|
|
1061
|
+
[data-prts-corner-picker] { position: relative; display: inline-flex; }
|
|
1062
|
+
[data-prts-corner-picker] input[type="color"] { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; pointer-events: none; }
|
|
1063
|
+
html[data-dsh-prts] [data-prts-setting-row="cornerColor"] > span { flex-basis: 100%; }
|
|
1064
|
+
html[data-dsh-prts] [data-prts-theme-settings] [data-prts-corner-heading] { display: flex; align-items: center; gap: 12px; }
|
|
1065
|
+
html[data-dsh-prts] [data-prts-corner-heading] strong { font: 550 var(--prts-settings-text)/1.5 var(--prts-body); }
|
|
1066
|
+
html[data-dsh-prts] [data-prts-theme-settings] [data-prts-corner-modes] { display: inline-flex; }
|
|
1067
|
+
html[data-dsh-prts] [data-prts-theme-settings] [data-prts-corner-modes] button { font: 11px/1.4 var(--prts-body); }
|
|
1068
|
+
|
|
1069
|
+
html[data-dsh-prts] [data-prts-theme-settings] [data-prts-corner-sync] { margin-left: auto; padding: 4px 7px; border: 0; border-radius: 4px; background: transparent; color: var(--prts-muted); font: 11px/1.4 var(--prts-body); cursor: pointer; }
|
|
1070
|
+
html[data-dsh-prts] [data-prts-theme-settings] [data-prts-corner-sync]:hover { color: var(--prts-ink); background: var(--prts-panel-raised); }
|
|
1071
|
+
html[data-dsh-prts] [data-prts-theme-settings] [data-prts-color-editor] { position: absolute; z-index: 10; right: 0; bottom: calc(100% + 10px); width: 252px; padding: 16px; display: grid; gap: 12px; border: 1px solid var(--prts-line-strong); border-radius: 10px; background: var(--prts-panel-raised); color: var(--prts-ink); box-shadow: 0 12px 36px #0005; cursor: auto; }
|
|
1072
|
+
html[data-dsh-prts] [data-prts-theme-settings] [data-prts-color-editor][hidden] { display: none; }
|
|
1073
|
+
html[data-dsh-prts] [data-prts-theme-settings] [data-prts-color-editor-title] { font: 550 12px/1.4 var(--prts-body); }
|
|
1074
|
+
html[data-dsh-prts] [data-prts-theme-settings] [data-prts-color-sample] { display: block; height: 44px; border-radius: 6px; box-shadow: inset 0 0 0 1px #8884; }
|
|
1075
|
+
html[data-dsh-prts] [data-prts-theme-settings] [data-prts-color-hex-label] { display: flex; align-items: center; gap: 12px; font: 11px/1.5 var(--prts-mono); color: var(--prts-muted); }
|
|
1076
|
+
html[data-dsh-prts] [data-prts-theme-settings] [data-prts-color-hex] { min-width: 0; width: 100%; padding: 6px 8px; border: 1px solid var(--prts-line-strong); border-radius: 4px; background: var(--prts-canvas); color: var(--prts-ink); font: 12px/1.4 var(--prts-mono); }
|
|
1077
|
+
html[data-dsh-prts] [data-prts-theme-settings] [data-prts-color-hex][aria-invalid="true"] { border-color: var(--prts-red); }
|
|
1078
|
+
html[data-dsh-prts] [data-prts-theme-settings] [data-prts-color-channel] { display: grid; grid-template-columns: 12px 1fr 25px; gap: 10px; align-items: center; font: 11px/1.5 var(--prts-mono); color: var(--prts-muted); }
|
|
1079
|
+
html[data-dsh-prts] [data-prts-theme-settings] [data-prts-color-channel-index] { appearance: none; width: 100%; min-width: 0; height: 8px; margin: 0; padding: 0; border: 0; border-radius: 8px; cursor: pointer; }
|
|
1080
|
+
html[data-dsh-prts] [data-prts-color-channel-index]::-webkit-slider-thumb { appearance: none; width: 14px; height: 14px; border: 2px solid white; border-radius: 50%; background: #283036; box-shadow: 0 1px 4px #0008; }
|
|
1081
|
+
html[data-dsh-prts] [data-prts-theme-settings] [data-prts-color-actions] { display: flex; justify-content: flex-end; gap: 8px; padding-top: 3px; }
|
|
1082
|
+
html[data-dsh-prts] [data-prts-color-actions] button { padding: 6px 10px; border: 1px solid var(--prts-line-strong); border-radius: 4px; color: var(--prts-ink); background: transparent; font: 12px/1.4 var(--prts-body); cursor: pointer; }
|
|
1083
|
+
html[data-dsh-prts] [data-prts-color-actions] button:hover { background: color-mix(in srgb,var(--prts-ink) 10%,transparent); }
|
|
1084
|
+
html[data-dsh-prts] [data-prts-color-actions] [data-prts-color-apply] { background: var(--prts-ink); color: var(--prts-canvas); }
|
|
1085
|
+
html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-common] [data-prts-setting-row="cornerColor"] { display: flex; flex-direction: column; align-items: stretch; gap: 12px; }
|
|
1086
|
+
html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-common] [data-prts-setting-row="cornerColor"] > span { width: 100%; }
|
|
1087
|
+
html[data-dsh-prts] [data-prts-theme-settings] [data-prts-corner-presets] { justify-content: flex-start; }
|
|
1088
|
+
html[data-dsh-prts] [data-prts-theme-settings] [data-prts-color-editor] { max-width: calc(100vw - 72px); max-height: 310px; overflow-y: auto; }
|
|
1089
|
+
html[data-dsh-prts] [data-prts-theme-settings] [data-prts-color-editor][data-open-below] { bottom: auto; top: calc(100% + 10px); }
|
|
1090
|
+
html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-common] [data-prts-setting-row="cornerColor"] { flex-wrap: nowrap; }
|
|
1091
|
+
html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-common] [data-prts-setting-row="cornerColor"] > span { flex: none; width: auto; }
|
|
1092
|
+
html[data-dsh-prts] [data-prts-theme-settings] [data-prts-corner-modes][hidden] { display: none; }
|
|
1093
|
+
html[data-dsh-prts] [data-prts-theme-settings] [data-prts-corner-sync] { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
|
|
1094
|
+
html[data-dsh-prts] [data-prts-theme-settings] [data-prts-corner-sync] i { display: block; position: relative; width: 28px; height: 16px; border-radius: 10px; background: var(--prts-line-strong); }
|
|
1095
|
+
html[data-dsh-prts] [data-prts-theme-settings] [data-prts-corner-sync] i::after { content: ""; position: absolute; left: 3px; top: 3px; width: 10px; height: 10px; border-radius: 50%; background: var(--prts-ink); }
|
|
1096
|
+
html[data-dsh-prts] [data-prts-theme-settings] [data-prts-corner-sync][aria-checked="true"] i { background: var(--prts-yellow); }
|
|
1097
|
+
html[data-dsh-prts] [data-prts-theme-settings] [data-prts-corner-sync][aria-checked="true"] i::after { transform: translateX(12px); background: var(--prts-canvas); }
|
|
1098
|
+
html[data-dsh-prts] [data-prts-corner-presets] [data-prts-corner-custom][aria-pressed="true"] { border-color: var(--prts-ink); background: color-mix(in srgb,var(--prts-ink) 10%,var(--prts-panel-raised)); }
|
|
1099
|
+
|
|
1100
|
+
html[data-dsh-prts] [data-prts-corner-custom] [data-prts-corner-preview] { position: relative; }
|
|
1101
|
+
html[data-dsh-prts] [data-prts-corner-custom][aria-pressed="true"] [data-prts-corner-preview]::after { content: ""; position: absolute; left: 4px; top: 5px; width: 8px; height: 4px; border-left: 2px solid #172025; border-bottom: 2px solid #172025; transform: rotate(-45deg); }
|
|
1102
|
+
|
|
1103
|
+
|
|
1104
|
+
html[data-dsh-prts] [data-prts-theme-settings] [data-prts-settings-common] [data-prts-setting-row="cursor"] {
|
|
1105
|
+
grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;
|
|
1106
|
+
}
|
|
1107
|
+
html[data-dsh-prts] [data-prts-theme-settings] [data-prts-setting-row="cursor"] > span { display:contents; }
|
|
1108
|
+
html[data-dsh-prts] [data-prts-setting-row="cursor"] strong { grid-column:1;grid-row:1; }
|
|
1109
|
+
html[data-dsh-prts] [data-prts-cursor-description] { grid-column:1 / -1;grid-row:2;max-width:58ch; }
|
|
1110
|
+
html[data-dsh-prts] [data-prts-cursor-mode] {
|
|
1111
|
+
grid-column:2;grid-row:1;appearance:none;box-sizing:border-box;
|
|
1112
|
+
width:166px;max-width:100%;height:30px;margin:0;padding:0 28px 0 10px;
|
|
1113
|
+
border:1px solid color-mix(in srgb,var(--prts-line) 65%,transparent);border-radius:4px;
|
|
1114
|
+
background-color:color-mix(in srgb,var(--prts-ink) 3%,var(--prts-panel));
|
|
1115
|
+
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='m1 1 4 4 4-4' fill='none' stroke='%23869298' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
|
|
1116
|
+
background-repeat:no-repeat;background-position:right 10px center;
|
|
1117
|
+
color:var(--prts-ink);font-family:var(--prts-body)!important;font-size:12px!important;font-weight:400;line-height:1.4;
|
|
1118
|
+
transition:border-color .15s,background-color .15s;
|
|
1119
|
+
}
|
|
1120
|
+
html[data-dsh-prts] [data-prts-cursor-mode]:hover {
|
|
1121
|
+
border-color:color-mix(in srgb,var(--prts-ink) 35%,var(--prts-line));
|
|
1122
|
+
background-color:color-mix(in srgb,var(--prts-ink) 6%,var(--prts-panel));
|
|
1123
|
+
}
|
|
1124
|
+
html[data-dsh-prts] [data-prts-cursor-mode]:focus-visible { outline:1px solid var(--prts-ink);outline-offset:2px; }
|
|
1125
|
+
html[data-dsh-prts] [data-prts-cursor-mode] option { background:var(--prts-panel);color:var(--prts-ink); }
|
|
1126
|
+
|
|
1127
|
+
/* Page-rendered form popups keep the experimental cursor inside the document. */
|
|
1128
|
+
html[data-dsh-prts] [data-prts-native-model] { display: none !important; }
|
|
1129
|
+
html[data-dsh-prts] .prts-page-control {
|
|
1130
|
+
display: inline-flex; align-items: center; justify-content: space-between; gap: 14px;
|
|
1131
|
+
box-sizing: border-box; min-width: 0; max-width: 100%; height: 30px; padding: 0 10px;
|
|
1132
|
+
border: 1px solid var(--prts-line); border-radius: 5px;
|
|
1133
|
+
background: var(--prts-panel-raised); color: var(--prts-ink);
|
|
1134
|
+
font: 400 12px/1.4 var(--prts-body) !important; cursor: pointer;
|
|
1135
|
+
}
|
|
1136
|
+
html[data-dsh-prts] .prts-page-control[role="combobox"]::after { content: ''; width: 5px; height: 5px; flex: 0 0 5px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg) translateY(-2px); opacity: .65; }
|
|
1137
|
+
html[data-dsh-prts] .prts-page-control:hover,
|
|
1138
|
+
html[data-dsh-prts] .prts-page-control[aria-expanded="true"] { border-color: var(--prts-muted); background: var(--prts-panel); }
|
|
1139
|
+
html[data-dsh-prts] .prts-page-control:focus-visible,
|
|
1140
|
+
html[data-dsh-prts] .prts-page-popup button:focus-visible { outline: 1px solid var(--prts-yellow); outline-offset: 2px; }
|
|
1141
|
+
html[data-dsh-prts] .prts-page-control:disabled { opacity: .45; cursor: not-allowed; }
|
|
1142
|
+
html[data-dsh-prts] .prts-page-color { min-width: 0; width: 100%; justify-content: flex-start; gap: 8px; }
|
|
1143
|
+
html[data-dsh-prts] .prts-page-color::before { content: ''; width: 100%; height: 16px; border-radius: 3px; background: var(--sample); border: 1px solid #ffffff40; }
|
|
1144
|
+
html[data-dsh-prts] .prts-page-popup {
|
|
1145
|
+
position: fixed; inset: auto; margin: 0; box-sizing: border-box;
|
|
1146
|
+
max-width: calc(100vw - 16px); max-height: min(360px, calc(100vh - 16px)); overflow: auto;
|
|
1147
|
+
padding: 5px; border: 1px solid var(--prts-line); border-radius: 7px;
|
|
1148
|
+
color: var(--prts-ink); background: var(--prts-panel-raised);
|
|
1149
|
+
box-shadow: 0 10px 32px #0005; font: 12px/1.5 var(--prts-font, sans-serif);
|
|
1150
|
+
}
|
|
1151
|
+
html[data-dsh-prts] .prts-page-popup [role="option"] {
|
|
1152
|
+
display: flex; justify-content: space-between; align-items: center; gap: 18px;
|
|
1153
|
+
width: 100%; min-height: 30px; padding: 6px 9px; border: 0; border-radius: 4px;
|
|
1154
|
+
background: transparent; color: inherit; font: 400 12px/1.5 var(--prts-body) !important; box-sizing: border-box; text-align: left; cursor: pointer;
|
|
1155
|
+
}
|
|
1156
|
+
html[data-dsh-prts] .prts-page-popup [role="option"]:is(:hover,:focus-visible) { background: color-mix(in srgb, var(--prts-ink) 9%, transparent); }
|
|
1157
|
+
html[data-dsh-prts] .prts-page-popup [aria-selected="true"]::after { content: '✓'; color: var(--prts-yellow); }
|
|
1158
|
+
html[data-dsh-prts] .prts-page-color-editor { width: 250px; padding: 14px; }
|
|
1159
|
+
html[data-dsh-prts] .prts-page-color-editor label { display: flex; align-items: center; gap: 9px; margin-top: 12px; }
|
|
1160
|
+
html[data-dsh-prts] .prts-page-color-editor input { min-width: 0; flex: 1; width: 100%; }
|
|
1161
|
+
html[data-dsh-prts] .prts-page-color-editor input:not([type]) { padding: 5px 8px; border: 1px solid var(--prts-line); background: var(--prts-panel); color: inherit; }
|
|
1162
|
+
html[data-dsh-prts] .prts-page-color-editor output { min-width: 24px; text-align: right; }
|
|
1163
|
+
html[data-dsh-prts] .prts-page-sample { display: block; height: 32px; margin-top: 10px; border-radius: 4px; }
|
|
1164
|
+
html[data-dsh-prts] .prts-page-confirm { box-sizing: border-box; max-height: calc(100dvh - 32px); overflow: auto; width: min(340px, calc(100vw - 40px)); padding: 22px; border: 1px solid var(--prts-line); border-radius: 8px; color: var(--prts-ink); background: var(--prts-panel-raised); }
|
|
1165
|
+
html[data-dsh-prts] .prts-page-confirm::backdrop { background: #0006; }
|
|
1166
|
+
html[data-dsh-prts] .prts-page-confirm p { margin: 12px 0 20px; font-size: 13px; color: var(--prts-muted); }
|
|
1167
|
+
html[data-dsh-prts] :is(.prts-page-confirm,.prts-page-color-editor) footer { display: flex; justify-content: flex-end; gap: 8px; margin-top: 16px; }
|
|
1168
|
+
html[data-dsh-prts] :is(.prts-page-confirm,.prts-page-color-editor) footer button { padding: 6px 12px; border: 1px solid var(--prts-line); border-radius: 4px; background: var(--prts-panel); color: var(--prts-ink); font: inherit; cursor: pointer; }
|
|
1169
|
+
html[data-dsh-prts] :is(.prts-page-confirm,.prts-page-color-editor) footer button:hover { border-color: var(--prts-muted); }
|
|
1170
|
+
html[data-dsh-prts] .prts-page-confirm [data-confirm] { color: #ee9292; }
|
|
1171
|
+
|
|
1172
|
+
|
|
1173
|
+
html[data-dsh-prts][data-prts-cursor="prts"] [data-prts-page-control-row] {
|
|
1174
|
+
cursor: var(--prts-hand-cursor), default;
|
|
1175
|
+
}
|
|
1176
|
+
html[data-dsh-prts] [data-prts-setting-row="cursor"] > .prts-page-control {
|
|
1177
|
+
grid-column: 2; grid-row: 1; width: 208px; justify-self: end;
|
|
1178
|
+
}
|
|
1179
|
+
|
|
1180
|
+
html[data-dsh-prts] .prts-page-caption { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
1181
|
+
html[data-dsh-prts] .prts-page-color .prts-page-caption { display: none; }
|
|
1182
|
+
html[data-dsh-prts] .prts-page-color-editor :is(input,button,output) { font: 400 12px/1.5 var(--prts-body) !important; }
|
|
1183
|
+
html[data-dsh-prts] .prts-page-color-editor input[aria-invalid="true"] { border-color: var(--prts-red); }
|
|
1184
|
+
html[data-dsh-prts] .prts-page-color-editor button:disabled { opacity: .45; cursor: not-allowed; }
|
|
1185
|
+
|
|
1186
|
+
|
|
1187
|
+
/* Three equal color cards: one hit area for the swatch, layer and value. */
|
|
1188
|
+
html[data-dsh-prts] [data-prts-session-flow-color-inputs] { gap: 8px; }
|
|
1189
|
+
html[data-dsh-prts] [data-prts-session-flow-color-inputs] [data-prts-page-control-row] { display: block; min-width: 0; }
|
|
1190
|
+
html[data-dsh-prts] [data-prts-session-flow-color-inputs] .prts-page-color {
|
|
1191
|
+
display: flex; align-items: center; gap: 9px; height: 56px; padding: 8px;
|
|
1192
|
+
background: color-mix(in srgb, var(--prts-panel-raised) 55%, var(--prts-canvas));
|
|
1193
|
+
border: 1px solid var(--prts-line); border-radius: 5px;
|
|
1194
|
+
transition: background-color .15s, border-color .15s;
|
|
1195
|
+
}
|
|
1196
|
+
html[data-dsh-prts] [data-prts-session-flow-color-inputs] .prts-page-color::before {
|
|
1197
|
+
flex: 0 0 18px; width: 18px; height: 32px; border: 0; border-radius: 3px;
|
|
1198
|
+
box-shadow: inset 0 0 0 1px #ffffff20;
|
|
1199
|
+
}
|
|
1200
|
+
html[data-dsh-prts] [data-prts-session-flow-color-inputs] .prts-page-color-meta {
|
|
1201
|
+
display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: 5px;
|
|
1202
|
+
}
|
|
1203
|
+
html[data-dsh-prts] [data-prts-session-flow-color-inputs] .prts-page-color-meta > span {
|
|
1204
|
+
color: var(--prts-muted); font: 400 11px/1 var(--prts-body);
|
|
1205
|
+
}
|
|
1206
|
+
html[data-dsh-prts] [data-prts-session-flow-color-inputs] .prts-page-color-meta > output {
|
|
1207
|
+
color: var(--prts-ink); font: 500 9px/1 var(--prts-mono); text-align: left; white-space: nowrap;
|
|
1208
|
+
}
|
|
1209
|
+
html[data-dsh-prts] [data-prts-session-flow-color-inputs] .prts-page-color:is(:hover,[aria-expanded="true"]) {
|
|
1210
|
+
border-color: color-mix(in srgb, var(--sample) 55%, var(--prts-line));
|
|
1211
|
+
background: color-mix(in srgb, var(--sample) 7%, var(--prts-panel));
|
|
1212
|
+
}
|
|
1213
|
+
|
|
1214
|
+
html[data-dsh-prts] [data-prts-session-flow-color-workbench] > [data-prts-session-flow-preview] {
|
|
1215
|
+
box-sizing: border-box; height: 42px; width: 100%; border: 0; background: transparent;
|
|
1216
|
+
}
|
|
1217
|
+
|
|
1218
|
+
html[data-dsh-prts] [data-prts-settings-common] [data-prts-session-flow-color-workbench] { gap: 8px; }
|
|
1219
|
+
|
|
1220
|
+
html[data-dsh-prts] [data-prts-settings-common] [data-prts-session-flow-color-workbench] { box-sizing: border-box; width: 100%; max-width: 520px; justify-self: start; }
|
|
1221
|
+
|
|
1222
|
+
html[data-dsh-prts] .prts-page-tooltip {
|
|
1223
|
+
position: fixed; inset: auto; margin: 0; box-sizing: border-box;
|
|
1224
|
+
width: 280px; max-width: calc(100vw - 16px); padding: 11px 13px;
|
|
1225
|
+
border: 1px solid var(--prts-line-strong); border-radius: 5px;
|
|
1226
|
+
color: var(--prts-ink); background: var(--prts-panel-raised);
|
|
1227
|
+
box-shadow: 0 8px 24px #0005; font: 400 12px/1.7 var(--prts-body);
|
|
1228
|
+
pointer-events: none;
|
|
1229
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) Cuberto, Ltd.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
6
|
+
this software and associated documentation files (the "Software"), to deal in
|
|
7
|
+
the Software without restriction, including without limitation the rights to
|
|
8
|
+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
|
9
|
+
the Software, and to permit persons to whom the Software is furnished to do so,
|
|
10
|
+
subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
|
17
|
+
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
18
|
+
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
19
|
+
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
20
|
+
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|