@jjlmoya/utils-tabletop 1.12.0 → 1.14.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jjlmoya/utils-tabletop",
3
- "version": "1.12.0",
3
+ "version": "1.14.0",
4
4
  "type": "module",
5
5
  "main": "./src/index.ts",
6
6
  "types": "./src/index.ts",
@@ -180,11 +180,6 @@ class ScatterSelectorApp {
180
180
  const sp = this.root.querySelector('#sds-scatter-pointer') as HTMLElement;
181
181
  sp.style.display = 'none';
182
182
 
183
- const st = this.root.querySelector('#sds-sigil-target') as HTMLElement;
184
- const sw = this.root.querySelector('#sds-sigil-warning') as HTMLElement;
185
- st.style.display = 'none';
186
- sw.style.display = 'none';
187
-
188
183
  this.scatterAngle = this.settings.getMode() ? this.currentAngle : result.angle;
189
184
  const angleRad = (this.scatterAngle - 90) * (Math.PI / 180);
190
185
  const maxDist = this.getMaxDistance();
@@ -226,6 +221,8 @@ class ScatterSelectorApp {
226
221
  this.displayNums.textContent = `${result.distance}"`;
227
222
  core.classList.add('sds-warning-result');
228
223
  this.sound.play(180, 'sawtooth', 0.35);
224
+ const distLabel = this.root.querySelector('#sds-warning-dist');
225
+ if (distLabel) distLabel.textContent = `${result.distance}"`;
229
226
 
230
227
  sp.style.display = 'block';
231
228
  sp.style.transition = 'transform 0.3s ease-out';
@@ -33,7 +33,7 @@ const { ui } = Astro.props;
33
33
  <div class="sds-compass-wrapper">
34
34
  <div id="sds-compass" class="sds-compass">
35
35
  <div class="sds-compass-ring"></div>
36
- <svg class="sds-compass-svg" viewBox="0 0 200 200">
36
+ <svg class="sds-compass-svg" viewBox="0 0 200 200" preserveAspectRatio="xMidYMid meet">
37
37
  <defs>
38
38
  <radialGradient id="compass-glow" cx="50%" cy="50%" r="50%">
39
39
  <stop offset="0%" stop-color="var(--sds-glow-inner)" stop-opacity="0.15"></stop>
@@ -55,7 +55,7 @@ const { ui } = Astro.props;
55
55
  </svg>
56
56
  </div>
57
57
  <div class="sds-center-core">
58
- <div id="sds-sigil-target" class="sds-sigil" style="display: none;">
58
+ <div id="sds-sigil-target" class="sds-sigil">
59
59
  <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">
60
60
  <circle cx="12" cy="12" r="10"></circle>
61
61
  <circle cx="12" cy="12" r="6"></circle>
@@ -64,11 +64,10 @@ const { ui } = Astro.props;
64
64
  <line x1="1" y1="12" x2="23" y2="12"></line>
65
65
  </svg>
66
66
  </div>
67
- <div id="sds-sigil-warning" class="sds-sigil" style="display: none;">
68
- <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">
69
- <path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path>
70
- <line x1="12" y1="9" x2="12" y2="13"></line>
71
- <line x1="12" y1="17" x2="12.01" y2="17"></line>
67
+ <div id="sds-sigil-warning" class="sds-sigil">
68
+ <svg viewBox="0 0 24 24" fill="none">
69
+ <circle cx="12" cy="12" r="10.5" stroke="currentColor" stroke-width="0.5" opacity="0.25"></circle>
70
+ <text id="sds-warning-dist" x="12" y="13" text-anchor="middle" dominant-baseline="central" font-size="10" font-weight="900" stroke="none" fill="currentColor">2"</text>
72
71
  </svg>
73
72
  </div>
74
73
  <div id="sds-digital-display" class="sds-digital-display">
@@ -3,6 +3,7 @@
3
3
  --sds-accent-rgb: 3, 105, 161;
4
4
  --sds-glow-inner: #0284c7;
5
5
  --sds-glow-outer: #0ea5e9;
6
+ --sds-border: #475569;
6
7
  --sds-border-glow: rgba(3, 105, 161, 0.2);
7
8
  --sds-success: #059669;
8
9
  --sds-success-rgb: 5, 150, 105;
@@ -20,6 +21,7 @@
20
21
  --sds-accent-rgb: 56, 189, 248;
21
22
  --sds-glow-inner: #7dd3fc;
22
23
  --sds-glow-outer: #38bdf8;
24
+ --sds-border: #64748b;
23
25
  --sds-border-glow: rgba(56, 189, 248, 0.25);
24
26
  --sds-success: #34d399;
25
27
  --sds-success-rgb: 52, 211, 153;
@@ -135,6 +137,8 @@
135
137
  position: relative;
136
138
  width: 300px;
137
139
  height: 300px;
140
+ max-width: 100%;
141
+ aspect-ratio: 1;
138
142
  margin: 0 auto;
139
143
  }
140
144
 
@@ -175,6 +179,7 @@
175
179
  width: 100%;
176
180
  height: 100%;
177
181
  pointer-events: none;
182
+ overflow: visible;
178
183
  }
179
184
 
180
185
  .sds-pointer {
@@ -388,36 +393,51 @@
388
393
  background: var(--bg-surface);
389
394
  border: 1px solid var(--border-color);
390
395
  color: var(--text-base);
391
- font-size: 0.9rem;
392
- padding: 0.65rem 1rem;
393
- border-radius: 8px;
396
+ font-size: 0.85rem;
397
+ font-weight: 600;
398
+ padding: 0.7rem 2.5rem 0.7rem 1rem;
399
+ border-radius: 10px;
394
400
  outline: none;
395
401
  cursor: pointer;
396
402
  appearance: none;
397
- transition: border-color 0.2s, box-shadow 0.2s;
403
+ letter-spacing: 0.3px;
404
+ box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.08);
405
+ transition: border-color 0.2s, box-shadow 0.25s, background 0.2s;
398
406
  }
399
407
 
400
408
  .sds-select:hover {
401
409
  border-color: var(--sds-accent);
410
+ background: var(--bg-page);
402
411
  }
403
412
 
404
413
  .sds-select:focus {
405
414
  border-color: var(--sds-accent);
406
- box-shadow: 0 0 10px rgba(var(--sds-accent-rgb), 0.15);
415
+ box-shadow: 0 0 0 3px rgba(var(--sds-accent-rgb), 0.12), inset 0 1px 3px rgba(0, 0, 0, 0.08);
416
+ }
417
+
418
+ .sds-select option {
419
+ background: var(--bg-surface);
420
+ color: var(--text-base);
421
+ font-weight: 500;
422
+ padding: 0.5rem;
407
423
  }
408
424
 
409
425
  .sds-select-wrapper::after {
410
- content: '';
426
+ content: '\25BC';
411
427
  position: absolute;
412
- right: 1rem;
428
+ right: 0.85rem;
413
429
  top: 50%;
414
430
  transform: translateY(-50%);
415
- width: 0;
416
- height: 0;
417
- border-left: 5px solid transparent;
418
- border-right: 5px solid transparent;
419
- border-top: 5px solid var(--text-muted);
431
+ font-size: 0.55rem;
432
+ color: var(--sds-accent);
420
433
  pointer-events: none;
434
+ opacity: 0.7;
435
+ transition: opacity 0.2s, transform 0.2s;
436
+ }
437
+
438
+ .sds-select-wrapper:hover::after {
439
+ opacity: 1;
440
+ transform: translateY(-50%) scale(1.1);
421
441
  }
422
442
 
423
443
  .sds-input {