@proappstore/sdk 1.16.29 → 1.16.30

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.
@@ -0,0 +1,71 @@
1
+ /**
2
+ * @proappstore/sdk/ui — general-purpose UI primitives.
3
+ *
4
+ * Plain styled React components (Button, Card, Input, Modal, Spinner, Tabs,
5
+ * Toast, EmptyState) so agent builds compose the basics instead of re-authoring
6
+ * them every time — fewer tool-loop turns, consistent look across apps.
7
+ *
8
+ * Convention (matches the existing Pro components): inline `style` with CSS-var
9
+ * fallbacks — NO Tailwind dependency, works in any app. Theme by overriding the
10
+ * vars: --accent, --accent-soft, --ink, --muted, --surface, --border, --radius.
11
+ */
12
+ import { type ReactNode, type CSSProperties, type ButtonHTMLAttributes, type InputHTMLAttributes } from 'react';
13
+ export type ButtonVariant = 'primary' | 'secondary' | 'ghost' | 'danger';
14
+ export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
15
+ variant?: ButtonVariant;
16
+ size?: 'sm' | 'md';
17
+ loading?: boolean;
18
+ }
19
+ export declare const Button: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
20
+ export interface CardProps {
21
+ children: ReactNode;
22
+ padding?: string | number;
23
+ style?: CSSProperties;
24
+ onClick?: () => void;
25
+ }
26
+ export declare function Card({ children, padding, style, onClick }: CardProps): import("react/jsx-runtime").JSX.Element;
27
+ export interface InputProps extends InputHTMLAttributes<HTMLInputElement> {
28
+ label?: string;
29
+ error?: string | null;
30
+ }
31
+ export declare const Input: import("react").ForwardRefExoticComponent<InputProps & import("react").RefAttributes<HTMLInputElement>>;
32
+ export interface SpinnerProps {
33
+ size?: number;
34
+ color?: string;
35
+ }
36
+ export declare function Spinner({ size, color }: SpinnerProps): import("react/jsx-runtime").JSX.Element;
37
+ export interface ModalProps {
38
+ open: boolean;
39
+ onClose: () => void;
40
+ title?: string;
41
+ children: ReactNode;
42
+ width?: string | number;
43
+ }
44
+ export declare function Modal({ open, onClose, title, children, width }: ModalProps): import("react/jsx-runtime").JSX.Element | null;
45
+ export interface EmptyStateProps {
46
+ title: string;
47
+ description?: string;
48
+ icon?: ReactNode;
49
+ action?: ReactNode;
50
+ }
51
+ export declare function EmptyState({ title, description, icon, action }: EmptyStateProps): import("react/jsx-runtime").JSX.Element;
52
+ export interface TabItem {
53
+ key: string;
54
+ label: string;
55
+ content: ReactNode;
56
+ }
57
+ export interface TabsProps {
58
+ tabs: TabItem[];
59
+ defaultTab?: string;
60
+ }
61
+ export declare function Tabs({ tabs, defaultTab }: TabsProps): import("react/jsx-runtime").JSX.Element;
62
+ export type ToastVariant = 'info' | 'success' | 'error';
63
+ export interface ToastProps {
64
+ open: boolean;
65
+ message: string;
66
+ variant?: ToastVariant;
67
+ onClose: () => void;
68
+ duration?: number;
69
+ }
70
+ export declare function Toast({ open, message, variant, onClose, duration }: ToastProps): import("react/jsx-runtime").JSX.Element | null;
71
+ //# sourceMappingURL=ui-base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-base.d.ts","sourceRoot":"","sources":["../src/ui-base.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,107 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * @proappstore/sdk/ui — general-purpose UI primitives.
4
+ *
5
+ * Plain styled React components (Button, Card, Input, Modal, Spinner, Tabs,
6
+ * Toast, EmptyState) so agent builds compose the basics instead of re-authoring
7
+ * them every time — fewer tool-loop turns, consistent look across apps.
8
+ *
9
+ * Convention (matches the existing Pro components): inline `style` with CSS-var
10
+ * fallbacks — NO Tailwind dependency, works in any app. Theme by overriding the
11
+ * vars: --accent, --accent-soft, --ink, --muted, --surface, --border, --radius.
12
+ */
13
+ import { useEffect, useState, forwardRef } from 'react';
14
+ const T = {
15
+ accent: 'var(--accent, #7c3aed)',
16
+ accentSoft: 'var(--accent-soft, #f5f3ff)',
17
+ ink: 'var(--ink, #0f172a)',
18
+ muted: 'var(--muted, #64748b)',
19
+ surface: 'var(--surface, #ffffff)',
20
+ border: 'var(--border, #e2e8f0)',
21
+ radius: 'var(--radius, 0.75rem)',
22
+ danger: 'var(--danger, #dc2626)',
23
+ };
24
+ export const Button = forwardRef(function Button({ variant = 'primary', size = 'md', loading = false, disabled, children, style, ...rest }, ref) {
25
+ const base = {
26
+ display: 'inline-flex', alignItems: 'center', justifyContent: 'center', gap: '0.5rem',
27
+ padding: size === 'sm' ? '0.35rem 0.75rem' : '0.6rem 1.25rem',
28
+ fontSize: size === 'sm' ? '0.8125rem' : '0.875rem',
29
+ fontWeight: 600, borderRadius: T.radius, lineHeight: 1.2,
30
+ cursor: loading || disabled ? 'not-allowed' : 'pointer',
31
+ opacity: disabled ? 0.5 : 1, transition: 'opacity 0.15s, background 0.15s',
32
+ };
33
+ const variants = {
34
+ primary: { ...base, background: T.accent, color: '#fff', border: 'none' },
35
+ secondary: { ...base, background: 'transparent', color: T.ink, border: `1px solid ${T.border}` },
36
+ ghost: { ...base, background: 'none', color: T.accent, border: 'none' },
37
+ danger: { ...base, background: T.danger, color: '#fff', border: 'none' },
38
+ };
39
+ return (_jsxs("button", { ref: ref, disabled: loading || disabled, style: { ...variants[variant], ...style }, ...rest, children: [loading && _jsx(Spinner, { size: size === 'sm' ? 13 : 15, color: "currentColor" }), children] }));
40
+ });
41
+ export function Card({ children, padding = '1.25rem', style, onClick }) {
42
+ return (_jsx("div", { onClick: onClick, style: {
43
+ background: T.surface, border: `1px solid ${T.border}`, borderRadius: T.radius,
44
+ padding, ...(onClick ? { cursor: 'pointer' } : {}), ...style,
45
+ }, children: children }));
46
+ }
47
+ export const Input = forwardRef(function Input({ label, error, id, style, ...rest }, ref) {
48
+ const inputId = id ?? (label ? `in-${label.replace(/\s+/g, '-').toLowerCase()}` : undefined);
49
+ return (_jsxs("div", { style: { display: 'flex', flexDirection: 'column', gap: '0.35rem' }, children: [label && _jsx("label", { htmlFor: inputId, style: { fontSize: '0.8125rem', fontWeight: 600, color: T.ink }, children: label }), _jsx("input", { ref: ref, id: inputId, "aria-invalid": error ? true : undefined, style: {
50
+ padding: '0.55rem 0.75rem', fontSize: '0.875rem', color: T.ink,
51
+ background: T.surface, borderRadius: T.radius,
52
+ border: `1px solid ${error ? T.danger : T.border}`, outline: 'none', width: '100%', boxSizing: 'border-box',
53
+ ...style,
54
+ }, ...rest }), error && _jsx("span", { style: { fontSize: '0.75rem', color: T.danger }, children: error })] }));
55
+ });
56
+ export function Spinner({ size = 20, color = T.accent }) {
57
+ return (_jsx("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", "aria-label": "Loading", role: "status", style: { flexShrink: 0 }, children: _jsx("circle", { cx: "12", cy: "12", r: "9", stroke: color, strokeWidth: "2.5", strokeLinecap: "round", strokeDasharray: "44", strokeDashoffset: "14", opacity: "0.9", children: _jsx("animateTransform", { attributeName: "transform", type: "rotate", from: "0 12 12", to: "360 12 12", dur: "0.8s", repeatCount: "indefinite" }) }) }));
58
+ }
59
+ export function Modal({ open, onClose, title, children, width = 440 }) {
60
+ useEffect(() => {
61
+ if (!open)
62
+ return;
63
+ const onKey = (e) => { if (e.key === 'Escape')
64
+ onClose(); };
65
+ document.addEventListener('keydown', onKey);
66
+ return () => document.removeEventListener('keydown', onKey);
67
+ }, [open, onClose]);
68
+ if (!open)
69
+ return null;
70
+ return (_jsx("div", { role: "dialog", "aria-modal": "true", "aria-label": title, onClick: onClose, style: { position: 'fixed', inset: 0, zIndex: 1000, display: 'flex', alignItems: 'center', justifyContent: 'center', padding: '1rem', background: 'rgba(0,0,0,0.45)' }, children: _jsxs("div", { onClick: (e) => e.stopPropagation(), style: {
71
+ background: T.surface, borderRadius: T.radius, border: `1px solid ${T.border}`,
72
+ width, maxWidth: '100%', maxHeight: '85vh', overflowY: 'auto', boxShadow: '0 12px 40px rgba(0,0,0,0.25)',
73
+ }, children: [title && (_jsxs("div", { style: { display: 'flex', alignItems: 'center', justifyContent: 'space-between', padding: '1rem 1.25rem', borderBottom: `1px solid ${T.border}` }, children: [_jsx("h3", { style: { margin: 0, fontSize: '1rem', fontWeight: 700, color: T.ink }, children: title }), _jsx("button", { onClick: onClose, "aria-label": "Close", style: { background: 'none', border: 'none', cursor: 'pointer', color: T.muted, fontSize: '1.25rem', lineHeight: 1 }, children: "\u00D7" })] })), _jsx("div", { style: { padding: '1.25rem' }, children: children })] }) }));
74
+ }
75
+ export function EmptyState({ title, description, icon, action }) {
76
+ return (_jsxs("div", { style: { display: 'flex', flexDirection: 'column', alignItems: 'center', textAlign: 'center', gap: '0.5rem', padding: '2.5rem 1.5rem', color: T.muted }, children: [icon && _jsx("div", { style: { opacity: 0.7, marginBottom: '0.25rem' }, children: icon }), _jsx("p", { style: { margin: 0, fontSize: '0.95rem', fontWeight: 600, color: T.ink }, children: title }), description && _jsx("p", { style: { margin: 0, fontSize: '0.85rem', maxWidth: '32ch' }, children: description }), action && _jsx("div", { style: { marginTop: '0.75rem' }, children: action })] }));
77
+ }
78
+ export function Tabs({ tabs, defaultTab }) {
79
+ const [active, setActive] = useState(defaultTab ?? tabs[0]?.key);
80
+ const current = tabs.find((t) => t.key === active) ?? tabs[0];
81
+ return (_jsxs("div", { children: [_jsx("div", { role: "tablist", style: { display: 'flex', gap: '0.25rem', borderBottom: `1px solid ${T.border}`, marginBottom: '1rem' }, children: tabs.map((t) => {
82
+ const on = t.key === current?.key;
83
+ return (_jsx("button", { role: "tab", "aria-selected": on, onClick: () => setActive(t.key), style: {
84
+ padding: '0.5rem 0.85rem', fontSize: '0.85rem', fontWeight: 600, cursor: 'pointer',
85
+ background: 'none', border: 'none', color: on ? T.accent : T.muted,
86
+ borderBottom: `2px solid ${on ? T.accent : 'transparent'}`, marginBottom: '-1px',
87
+ }, children: t.label }, t.key));
88
+ }) }), _jsx("div", { role: "tabpanel", children: current?.content })] }));
89
+ }
90
+ export function Toast({ open, message, variant = 'info', onClose, duration = 4000 }) {
91
+ useEffect(() => {
92
+ if (!open || duration <= 0)
93
+ return;
94
+ const t = setTimeout(onClose, duration);
95
+ return () => clearTimeout(t);
96
+ }, [open, duration, onClose]);
97
+ if (!open)
98
+ return null;
99
+ const accentByVariant = { info: T.accent, success: 'var(--success, #16a34a)', error: T.danger };
100
+ return (_jsxs("div", { role: "status", "aria-live": "polite", style: {
101
+ position: 'fixed', bottom: '1.25rem', left: '50%', transform: 'translateX(-50%)', zIndex: 1100,
102
+ display: 'flex', alignItems: 'center', gap: '0.75rem', maxWidth: 'calc(100vw - 2rem)',
103
+ padding: '0.7rem 1rem', background: T.ink, color: '#fff', borderRadius: T.radius,
104
+ boxShadow: '0 8px 24px rgba(0,0,0,0.3)', borderLeft: `3px solid ${accentByVariant[variant]}`,
105
+ }, children: [_jsx("span", { style: { fontSize: '0.875rem' }, children: message }), _jsx("button", { onClick: onClose, "aria-label": "Dismiss", style: { background: 'none', border: 'none', color: 'rgba(255,255,255,0.7)', cursor: 'pointer', fontSize: '1.1rem', lineHeight: 1 }, children: "\u00D7" })] }));
106
+ }
107
+ //# sourceMappingURL=ui-base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-base.js","sourceRoot":"","sources":["../src/ui-base.tsx"],"names":[],"mappings":"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"}
package/dist/ui.d.ts CHANGED
@@ -15,4 +15,6 @@ export { ProProfilePage } from './ui-profile-page.js';
15
15
  export type { ProProfilePageProps } from './ui-profile-page.js';
16
16
  export { GateScreen } from './ui-gate.js';
17
17
  export type { GateScreenProps } from './ui-gate.js';
18
+ export { Button, Card, Input, Spinner, Modal, EmptyState, Tabs, Toast } from './ui-base.js';
19
+ export type { ButtonProps, ButtonVariant, CardProps, InputProps, SpinnerProps, ModalProps, EmptyStateProps, TabItem, TabsProps, ToastProps, ToastVariant, } from './ui-base.js';
18
20
  //# sourceMappingURL=ui.d.ts.map
package/dist/ui.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAChH,YAAY,EACV,iBAAiB,EACjB,aAAa,EACb,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAG7D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAGhE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAChH,YAAY,EACV,iBAAiB,EACjB,aAAa,EACb,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAG7D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAGhE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGpD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC5F,YAAY,EACV,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAC3E,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,GAC9D,MAAM,cAAc,CAAC"}
package/dist/ui.js CHANGED
@@ -15,4 +15,6 @@ export { ProfileMenu } from './ui-profile-menu.js';
15
15
  export { ProProfilePage } from './ui-profile-page.js';
16
16
  // GateScreen
17
17
  export { GateScreen } from './ui-gate.js';
18
+ // General-purpose primitives (Button, Card, Input, Modal, Spinner, Tabs, Toast, EmptyState)
19
+ export { Button, Card, Input, Spinner, Modal, EmptyState, Tabs, Toast } from './ui-base.js';
18
20
  //# sourceMappingURL=ui.js.map
package/dist/ui.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,4BAA4B;AAC5B,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzE,mDAAmD;AACnD,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAShH,6BAA6B;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD,iBAAiB;AACjB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,aAAa;AACb,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,4BAA4B;AAC5B,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzE,mDAAmD;AACnD,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAShH,6BAA6B;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD,iBAAiB;AACjB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,aAAa;AACb,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,4FAA4F;AAC5F,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@proappstore/sdk",
3
- "version": "1.16.29",
3
+ "version": "1.16.30",
4
4
  "description": "Browser SDK for paid apps on proappstore.online — subscriptions, license keys, premium modules.",
5
5
  "license": "MIT",
6
6
  "type": "module",