@7365admin1/layer-common 3.2.2-staging.142 → 3.2.2-staging.144

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.
@@ -915,3 +915,62 @@
915
915
  .screen-menu__item--danger:hover {
916
916
  background: var(--err-bg);
917
917
  }
918
+
919
+ /* ------------------------------------------------------------------ */
920
+ /* SIGNATURE PAD - `SignaturePad.vue`. */
921
+ /* */
922
+ /* DESIGN GAP, STATED: the handoff draws no signature pad and contains */
923
+ /* no dashed border anywhere, so everything below is the established */
924
+ /* primitives and tokens, not a handoff literal. The one value taken */
925
+ /* from the handoff is the caption pair at line 659 - 12.5px / 600. */
926
+ /* */
927
+ /* THE PAD IS PAPER AND STAYS LIGHT IN BOTH THEMES, DELIBERATELY. */
928
+ /* The canvas ink is `#111` and `stop()` exports the drawing as a PNG */
929
+ /* that callers render back on light surfaces and print. A `--card` */
930
+ /* pad would be dark in the dark theme, so the signature would be */
931
+ /* black-on-black on the pad AND the exported PNG would be a black */
932
+ /* scrawl on transparency. The three literals here are the LIGHT theme */
933
+ /* values of `--card`, `--border` and `--muted`, named so nobody has */
934
+ /* to guess where they came from. */
935
+ /* ------------------------------------------------------------------ */
936
+ .screen-signpad {
937
+ position: relative;
938
+ overflow: hidden;
939
+ /* Light `--muted` at 55% - NOT `--border`. A drop zone's dashed edge is an
940
+ affordance and has to be seen; `--border` (rgb 232,232,225) on a white pad
941
+ is all but invisible, which the first render showed. This lands on the same
942
+ weight as the `#bbb` it replaces, from a token value rather than a hex. */
943
+ border: 1.5px dashed rgba(139, 143, 152, 0.55);
944
+ border-radius: var(--r-inner);
945
+ background: rgb(255, 255, 255); /* light `--card` */
946
+ }
947
+
948
+ .screen-signpad__canvas {
949
+ display: block;
950
+ width: 100%;
951
+ height: 130px;
952
+ cursor: crosshair;
953
+ touch-action: none;
954
+ }
955
+
956
+ .screen-signpad__hint {
957
+ position: absolute;
958
+ inset: 0;
959
+ display: flex;
960
+ align-items: center;
961
+ justify-content: center;
962
+ pointer-events: none;
963
+ font-family: var(--font-sans);
964
+ font-size: 12.5px;
965
+ font-weight: 600;
966
+ letter-spacing: 0;
967
+ color: rgb(139, 143, 152); /* light `--muted` - the pad is paper */
968
+ }
969
+
970
+ .screen-signpad__label {
971
+ font-family: var(--font-sans);
972
+ font-size: 12.5px;
973
+ font-weight: 600;
974
+ letter-spacing: 0;
975
+ color: var(--muted);
976
+ }
@@ -1,25 +1,11 @@
1
1
  <template>
2
2
  <div>
3
- <div
4
- style="
5
- position: relative;
6
- border: 1.5px dashed #bbb;
7
- border-radius: 6px;
8
- background: #fafafa;
9
- overflow: hidden;
10
- "
11
- >
3
+ <div class="screen-signpad">
12
4
  <canvas
13
5
  ref="canvasRef"
14
6
  :width="W"
15
7
  :height="H"
16
- style="
17
- display: block;
18
- width: 100%;
19
- height: 130px;
20
- cursor: crosshair;
21
- touch-action: none;
22
- "
8
+ class="screen-signpad__canvas"
23
9
  @mousedown="startMouse"
24
10
  @mousemove="moveMouse"
25
11
  @mouseup="stop"
@@ -28,23 +14,13 @@
28
14
  @touchmove.prevent="moveTouch"
29
15
  @touchend="stop"
30
16
  />
31
- <div
32
- v-if="isEmpty"
33
- style="
34
- position: absolute;
35
- inset: 0;
36
- display: flex;
37
- align-items: center;
38
- justify-content: center;
39
- pointer-events: none;
40
- "
41
- >
42
- <span class="text-caption text-disabled">Draw your signature here</span>
17
+ <div v-if="isEmpty" class="screen-signpad__hint">
18
+ Draw your signature here
43
19
  </div>
44
20
  </div>
45
21
 
46
22
  <v-row no-gutters align="center" class="mt-1" style="min-height: 28px">
47
- <span class="text-caption text-medium-emphasis">{{ label }}</span>
23
+ <span class="screen-signpad__label">{{ label }}</span>
48
24
  <v-spacer />
49
25
  <v-btn
50
26
  v-if="!isEmpty"
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@7365admin1/layer-common",
3
3
  "license": "MIT",
4
4
  "type": "module",
5
- "version": "3.2.2-staging.142",
5
+ "version": "3.2.2-staging.144",
6
6
  "author": "7365admin1",
7
7
  "main": "./nuxt.config.ts",
8
8
  "//files": "What a consumer extending this layer actually loads. Without this npm ships the whole working tree - the changesets, the CI workflows, the render harness in tools/ and any scratch directory that happened to exist at publish time. Nuxt resolves a layer by directory, so every runtime directory below has to stay listed; adding a new top-level runtime directory means adding it here too.",