@1sat/permission-module-ui 0.0.45 → 0.0.46
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/dist/OneSatPermissionPrompt.d.ts +5 -14
- package/dist/OneSatPermissionPrompt.d.ts.map +1 -1
- package/dist/index.js +576 -727
- package/dist/styles.d.ts +1 -1
- package/dist/styles.d.ts.map +1 -1
- package/package.json +40 -40
package/dist/styles.d.ts
CHANGED
|
@@ -4,5 +4,5 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Colors match `docs/plans/mockups/p1sat-permissions.pen`.
|
|
6
6
|
*/
|
|
7
|
-
export declare const promptStyles = "\n.opp-root {\n --opp-bg: #ffffff;\n --opp-fg: #111827;\n --opp-muted: #6b7280;\n --opp-card-bg: #f7f8fa;\n --opp-card-border: #eceef2;\n --opp-accent: #E5A920;\n --opp-approve-bg: #E5A920;\n --opp-approve-fg: #ffffff;\n --opp-reject-bg: #ffffff;\n --opp-reject-fg: #111827;\n --opp-reject-border: #d1d5db;\n --opp-status-bg: #FFFBE6;\n --opp-status-fg: #E5A920;\n --opp-trust-ok-bg: #ECFDF5;\n --opp-trust-ok-fg: #059669;\n --opp-trust-warn-bg: #FFFBEB;\n --opp-trust-warn-fg: #D97706;\n --opp-trust-bad-bg: #FEF2F2;\n --opp-trust-bad-fg: #DC2626;\n\n font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n background: var(--opp-bg);\n color: var(--opp-fg);\n border-radius: 16px;\n display: flex;\n flex-direction: column;\n width: 100%;\n max-width: 480px;\n min-height: 100%;\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.opp-bottom {\n margin-top: auto;\n display: flex;\n flex-direction: column;\n}\n\n.opp-root.opp-dark {\n --opp-bg: #0F1117;\n --opp-fg: #F9FAFB;\n --opp-muted: #9ca3af;\n --opp-card-bg: #1A1D27;\n --opp-card-border: #232636;\n --opp-reject-bg: #0F1117;\n --opp-reject-fg: #F9FAFB;\n --opp-reject-border: #2D3142;\n --opp-status-bg: #2A2408;\n --opp-status-fg: #E5A920;\n --opp-trust-ok-bg: #0A2E1F;\n --opp-trust-ok-fg: #34D399;\n --opp-trust-warn-bg: #2A2008;\n --opp-trust-warn-fg: #FBBF24;\n --opp-trust-bad-bg: #2A1215;\n --opp-trust-bad-fg: #F87171;\n}\n\n.opp-body {\n padding: 24px 20px 16px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n align-items: center;\n}\n\n.opp-coin {\n width: 48px;\n height: 48px;\n flex-shrink: 0;\n}\n\n.opp-title {\n font-size: 16px;\n font-weight: 700;\n margin: 0;\n text-align: center;\n}\n\n.opp-subtitle {\n font-size: 12px;\n color: var(--opp-muted);\n margin: 0;\n text-align: center;\n line-height: 1.4;\n}\n\n.opp-status {\n background: var(--opp-status-bg);\n color: var(--opp-status-fg);\n padding: 4px 12px;\n border-radius: 999px;\n font-size: 11px;\n font-weight: 600;\n margin-top: 4px;\n border: 1px solid var(--opp-card-border);\n}\n\n.opp-card {\n background: var(--opp-card-bg);\n border: 1px solid var(--opp-card-border);\n border-radius: 10px;\n margin: 0 20px;\n padding: 16px;\n font-size: 13px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.opp-featured {\n display: flex;\n align-items: center;\n gap: 12px;\n background: var(--opp-card-bg);\n border: 1px solid var(--opp-card-border);\n border-radius: 10px;\n margin: 0 20px 8px;\n padding: 16px;\n}\n\n.opp-featured-image {\n width: 80px;\n height: 80px;\n border-radius: 8px;\n object-fit: cover;\n background: rgba(0, 0, 0, 0.08);\n flex-shrink: 0;\n}\n\n.opp-featured-image-token {\n width: 48px;\n height: 48px;\n border-radius: 999px;\n}\n\n.opp-featured-placeholder {\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--opp-muted);\n font-size: 18px;\n}\n\n.opp-featured-meta {\n display: flex;\n flex-direction: column;\n gap: 4px;\n min-width: 0;\n flex: 1;\n}\n\n.opp-featured-title {\n font-size: 14px;\n font-weight: 600;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.opp-featured-subtitle {\n font-size: 12px;\n color: var(--opp-muted);\n display: flex;\n align-items: center;\n gap: 6px;\n min-width: 0;\n}\n\n.opp-featured-subtitle-text {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n min-width: 0;\n font-family: 'Roboto Mono', ui-monospace, SFMono-Regular, monospace;\n}\n\n.opp-trust-wrap {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin: 0 20px 8px;\n}\n\n.opp-trust {\n display: inline-flex;\n align-self: flex-start;\n padding: 3px 8px;\n border-radius: 999px;\n font-size: 10px;\n font-weight: 600;\n}\n\n.opp-trust-verified {\n background: var(--opp-trust-ok-bg);\n color: var(--opp-trust-ok-fg);\n}\n\n.opp-trust-unverified {\n background: var(--opp-trust-warn-bg);\n color: var(--opp-trust-warn-fg);\n}\n\n.opp-trust-mismatch {\n background: var(--opp-trust-bad-bg);\n color: var(--opp-trust-bad-fg);\n}\n\n.opp-trust-note {\n padding: 10px;\n border-radius: 8px;\n font-size: 11px;\n line-height: 1.35;\n}\n\n.opp-trust-note-verified {\n background: var(--opp-trust-ok-bg);\n color: var(--opp-trust-ok-fg);\n}\n\n.opp-trust-note-unverified {\n background: var(--opp-trust-warn-bg);\n color: var(--opp-trust-warn-fg);\n}\n\n.opp-trust-note-mismatch {\n background: var(--opp-trust-bad-bg);\n color: var(--opp-trust-bad-fg);\n}\n\n.opp-row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 12px;\n}\n\n.opp-row-key {\n color: var(--opp-muted);\n flex-shrink: 0;\n}\n\n.opp-row-value-wrap {\n display: flex;\n align-items: center;\n gap: 6px;\n min-width: 0;\n max-width: 70%;\n justify-content: flex-end;\n}\n\n.opp-row-value {\n font-family: 'Roboto Mono', ui-monospace, SFMono-Regular, monospace;\n font-size: 12px;\n font-weight: 500;\n text-align: right;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n min-width: 0;\n}\n\n.opp-copy {\n flex-shrink: 0;\n width: 22px;\n height: 22px;\n padding: 0;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n border: 1px solid var(--opp-reject-border);\n background: var(--opp-bg);\n color: var(--opp-fg);\n cursor: pointer;\n}\n\n.opp-copy:hover {\n border-color: var(--opp-accent);\n color: var(--opp-accent);\n}\n\n.opp-fee-note {\n font-size: 11px;\n color: var(--opp-muted);\n line-height: 1.3;\n margin-top: -4px;\n}\n\n.opp-actions {\n display: flex;\n gap: 12px;\n padding: 20px 20px 12px;\n}\n\n.opp-button {\n flex: 1;\n padding: 0 16px;\n height: 48px;\n border-radius: 10px;\n font-size: 15px;\n font-weight: 600;\n cursor: pointer;\n border: 1px solid transparent;\n transition: opacity 120ms ease;\n}\n\n.opp-button:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.opp-button-reject {\n background: var(--opp-reject-bg);\n color: var(--opp-reject-fg);\n border-color: var(--opp-reject-border);\n}\n\n.opp-button-approve {\n background: var(--opp-approve-bg);\n color: var(--opp-approve-fg);\n}\n\n.opp-footer {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n padding: 8px 20px 16px;\n font-size: 11px;\n font-weight: 500;\n color: var(--opp-muted);\n}\n";
|
|
7
|
+
export declare const promptStyles = "\n.opp-root {\n --opp-bg: #ffffff;\n --opp-fg: #111827;\n --opp-muted: #6b7280;\n --opp-card-bg: #f7f8fa;\n --opp-card-border: #eceef2;\n --opp-accent: #E5A920;\n --opp-approve-bg: #E5A920;\n --opp-approve-fg: #ffffff;\n --opp-reject-bg: #ffffff;\n --opp-reject-fg: #111827;\n --opp-reject-border: #d1d5db;\n --opp-status-bg: #FFFBE6;\n --opp-status-fg: #E5A920;\n --opp-trust-ok-bg: #ECFDF5;\n --opp-trust-ok-fg: #059669;\n --opp-trust-warn-bg: #FFFBEB;\n --opp-trust-warn-fg: #D97706;\n --opp-trust-bad-bg: #FEF2F2;\n --opp-trust-bad-fg: #DC2626;\n\n font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n background: var(--opp-bg);\n color: var(--opp-fg);\n border-radius: 16px;\n display: flex;\n flex-direction: column;\n width: 100%;\n max-width: 480px;\n min-height: 100%;\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.opp-bottom {\n margin-top: auto;\n display: flex;\n flex-direction: column;\n}\n\n.opp-root.opp-dark {\n --opp-bg: #0F1117;\n --opp-fg: #F9FAFB;\n --opp-muted: #9ca3af;\n --opp-card-bg: #1A1D27;\n --opp-card-border: #232636;\n --opp-reject-bg: #0F1117;\n --opp-reject-fg: #F9FAFB;\n --opp-reject-border: #2D3142;\n --opp-status-bg: #2A2408;\n --opp-status-fg: #E5A920;\n --opp-trust-ok-bg: #0A2E1F;\n --opp-trust-ok-fg: #34D399;\n --opp-trust-warn-bg: #2A2008;\n --opp-trust-warn-fg: #FBBF24;\n --opp-trust-bad-bg: #2A1215;\n --opp-trust-bad-fg: #F87171;\n}\n\n.opp-body {\n padding: 24px 20px 16px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n align-items: center;\n}\n\n.opp-coin {\n width: 48px;\n height: 48px;\n flex-shrink: 0;\n}\n\n.opp-title {\n font-size: 16px;\n font-weight: 700;\n margin: 0;\n text-align: center;\n}\n\n.opp-subtitle {\n font-size: 12px;\n color: var(--opp-muted);\n margin: 0;\n text-align: center;\n line-height: 1.4;\n}\n\n.opp-status {\n background: var(--opp-status-bg);\n color: var(--opp-status-fg);\n padding: 4px 12px;\n border-radius: 999px;\n font-size: 11px;\n font-weight: 600;\n margin-top: 4px;\n border: 1px solid var(--opp-card-border);\n}\n\n.opp-card {\n background: var(--opp-card-bg);\n border: 1px solid var(--opp-card-border);\n border-radius: 10px;\n margin: 0 20px;\n padding: 16px;\n font-size: 13px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.opp-featured {\n display: flex;\n align-items: center;\n gap: 12px;\n background: var(--opp-card-bg);\n border: 1px solid var(--opp-card-border);\n border-radius: 10px;\n margin: 0 20px 8px;\n padding: 16px;\n}\n\n/* Subtle danger chrome for burn / destructive token ops */\n.opp-featured-danger {\n border-color: rgba(220, 38, 38, 0.45);\n background: color-mix(in srgb, var(--opp-card-bg) 88%, #7f1d1d 12%);\n}\n\n.opp-featured-danger .opp-featured-title {\n color: #f87171;\n}\n\n.opp-featured-danger .opp-featured-image,\n.opp-featured-danger .opp-featured-placeholder {\n border: 1px solid rgba(220, 38, 38, 0.35);\n background: rgba(127, 29, 29, 0.25);\n color: #fca5a5;\n}\n\n.opp-dark .opp-featured-danger {\n border-color: rgba(248, 113, 113, 0.4);\n background: color-mix(in srgb, var(--opp-card-bg) 85%, #450a0a 15%);\n}\n\n.opp-featured-image {\n width: 80px;\n height: 80px;\n border-radius: 8px;\n object-fit: cover;\n background: rgba(0, 0, 0, 0.08);\n flex-shrink: 0;\n}\n\n.opp-featured-image-token {\n width: 48px;\n height: 48px;\n border-radius: 999px;\n}\n\n.opp-featured-placeholder {\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--opp-muted);\n font-size: 18px;\n}\n\n.opp-preview-opns {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 4px;\n padding: 6px;\n box-sizing: border-box;\n overflow: hidden;\n}\n\n.opp-preview-opns-avatar {\n width: 36px;\n height: 36px;\n border-radius: 999px;\n object-fit: cover;\n background: rgba(0, 0, 0, 0.08);\n flex-shrink: 0;\n}\n\n.opp-preview-opns-name {\n font-size: 11px;\n font-weight: 600;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n text-align: center;\n color: var(--opp-fg, inherit);\n}\n\n.opp-preview-text {\n margin: 0;\n padding: 6px;\n box-sizing: border-box;\n overflow: hidden;\n font-size: 9px;\n line-height: 1.25;\n white-space: pre-wrap;\n word-break: break-word;\n font-family: 'Roboto Mono', ui-monospace, SFMono-Regular, monospace;\n color: var(--opp-muted);\n}\n\n.opp-preview-json {\n white-space: pre;\n overflow: auto;\n}\n\n.opp-preview-frame {\n border: 0;\n padding: 0;\n overflow: hidden;\n background: #fff;\n pointer-events: none;\n}\n\n.opp-preview-value {\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n background: rgba(229, 169, 32, 0.12);\n border: 1px solid rgba(229, 169, 32, 0.35);\n color: var(--opp-fg, inherit);\n}\n\n.opp-preview-value-icon {\n width: 32px;\n height: 32px;\n color: #E5A920;\n}\n\n/* Amount subtitles must never ellipsis \u2014 full sat counts are the point. */\n.opp-featured-subtitle-text.opp-amount {\n font-family: 'Roboto Mono', ui-monospace, SFMono-Regular, monospace;\n font-variant-numeric: tabular-nums;\n white-space: normal;\n overflow: visible;\n text-overflow: unset;\n word-break: keep-all;\n}\n\n.opp-featured-meta {\n display: flex;\n flex-direction: column;\n gap: 4px;\n min-width: 0;\n flex: 1;\n}\n\n.opp-featured-title {\n font-size: 14px;\n font-weight: 600;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.opp-featured-subtitle {\n font-size: 12px;\n color: var(--opp-muted);\n display: flex;\n align-items: center;\n gap: 6px;\n min-width: 0;\n}\n\n.opp-featured-subtitle-text {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n min-width: 0;\n font-family: 'Roboto Mono', ui-monospace, SFMono-Regular, monospace;\n}\n\n.opp-featured-meta-line {\n display: flex;\n align-items: center;\n gap: 6px;\n min-width: 0;\n font-size: 12px;\n color: var(--opp-muted);\n}\n\n.opp-featured-meta-line-bare {\n align-items: center;\n}\n\n.opp-featured-meta-key {\n flex-shrink: 0;\n opacity: 0.75;\n min-width: 2.5em;\n}\n\n.opp-featured-meta-value {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n min-width: 0;\n flex: 1;\n}\n\n.opp-featured-meta-value-mono {\n font-family: 'Roboto Mono', ui-monospace, SFMono-Regular, monospace;\n font-size: 11px;\n}\n\n.opp-trust-wrap {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin: 0 20px 8px;\n}\n\n.opp-trust {\n display: inline-flex;\n align-self: flex-start;\n padding: 3px 8px;\n border-radius: 999px;\n font-size: 10px;\n font-weight: 600;\n}\n\n.opp-trust-verified {\n background: var(--opp-trust-ok-bg);\n color: var(--opp-trust-ok-fg);\n}\n\n.opp-trust-unverified {\n background: var(--opp-trust-warn-bg);\n color: var(--opp-trust-warn-fg);\n}\n\n.opp-trust-mismatch {\n background: var(--opp-trust-bad-bg);\n color: var(--opp-trust-bad-fg);\n}\n\n.opp-trust-note {\n padding: 10px;\n border-radius: 8px;\n font-size: 11px;\n line-height: 1.35;\n}\n\n.opp-trust-note-verified {\n background: var(--opp-trust-ok-bg);\n color: var(--opp-trust-ok-fg);\n}\n\n.opp-trust-note-unverified {\n background: var(--opp-trust-warn-bg);\n color: var(--opp-trust-warn-fg);\n}\n\n.opp-trust-note-mismatch {\n background: var(--opp-trust-bad-bg);\n color: var(--opp-trust-bad-fg);\n}\n\n.opp-row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 12px;\n}\n\n.opp-row-key {\n color: var(--opp-muted);\n flex-shrink: 0;\n}\n\n.opp-row-value-wrap {\n display: flex;\n align-items: center;\n gap: 6px;\n min-width: 0;\n max-width: 70%;\n justify-content: flex-end;\n}\n\n.opp-row-value {\n font-family: 'Roboto Mono', ui-monospace, SFMono-Regular, monospace;\n font-size: 12px;\n font-weight: 500;\n text-align: right;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n min-width: 0;\n}\n\n.opp-copy {\n flex-shrink: 0;\n width: 22px;\n height: 22px;\n padding: 0;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n border: 1px solid var(--opp-reject-border);\n background: var(--opp-bg);\n color: var(--opp-fg);\n cursor: pointer;\n}\n\n.opp-copy:hover {\n border-color: var(--opp-accent);\n color: var(--opp-accent);\n}\n\n.opp-fee-note {\n font-size: 11px;\n color: var(--opp-muted);\n line-height: 1.3;\n margin-top: -4px;\n}\n\n.opp-actions {\n display: flex;\n gap: 12px;\n padding: 20px 20px 12px;\n}\n\n.opp-button {\n flex: 1;\n padding: 0 16px;\n height: 48px;\n border-radius: 10px;\n font-size: 15px;\n font-weight: 600;\n cursor: pointer;\n border: 1px solid transparent;\n transition: opacity 120ms ease;\n}\n\n.opp-button:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.opp-button-reject {\n background: var(--opp-reject-bg);\n color: var(--opp-reject-fg);\n border-color: var(--opp-reject-border);\n}\n\n.opp-button-approve {\n background: var(--opp-approve-bg);\n color: var(--opp-approve-fg);\n}\n\n.opp-footer {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n padding: 8px 20px 16px;\n font-size: 11px;\n font-weight: 500;\n color: var(--opp-muted);\n}\n";
|
|
8
8
|
//# sourceMappingURL=styles.d.ts.map
|
package/dist/styles.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,YAAY,6uSAwdxB,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,42 +1,42 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
2
|
+
"name": "@1sat/permission-module-ui",
|
|
3
|
+
"version": "0.0.46",
|
|
4
|
+
"description": "React component for the 1Sat permission module's prompt UX",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.js"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"dist"
|
|
16
|
+
],
|
|
17
|
+
"scripts": {
|
|
18
|
+
"build": "bun run build.ts && tsc --emitDeclarationOnly",
|
|
19
|
+
"dev": "tsc --watch",
|
|
20
|
+
"clean": "rm -rf dist"
|
|
21
|
+
},
|
|
22
|
+
"keywords": [
|
|
23
|
+
"1sat",
|
|
24
|
+
"bsv",
|
|
25
|
+
"wallet",
|
|
26
|
+
"permissions",
|
|
27
|
+
"react"
|
|
28
|
+
],
|
|
29
|
+
"license": "MIT",
|
|
30
|
+
"dependencies": {
|
|
31
|
+
"@1sat/permission-module": "0.0.51",
|
|
32
|
+
"@1sat/types": "0.0.40"
|
|
33
|
+
},
|
|
34
|
+
"peerDependencies": {
|
|
35
|
+
"react": "^18.0.0 || ^19.0.0"
|
|
36
|
+
},
|
|
37
|
+
"devDependencies": {
|
|
38
|
+
"@types/react": "^19.0.0",
|
|
39
|
+
"react": "^19.0.0",
|
|
40
|
+
"typescript": "^5.9.3"
|
|
41
|
+
}
|
|
42
42
|
}
|