@reevit/vue 0.1.0 → 0.2.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.
@@ -1,3 +1,4 @@
1
+ import { MobileMoneyFormData } from '../../../core/dist/index.d.ts';
1
2
  type __VLS_Props = {
2
3
  initialPhone?: string;
3
4
  loading?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"MobileMoneyForm.vue.d.ts","sourceRoot":"","sources":["../../src/components/MobileMoneyForm.vue"],"names":[],"mappings":"AA+GA,KAAK,WAAW,GAAG;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;;;;;;AA6JF,wBAQG"}
1
+ {"version":3,"file":"MobileMoneyForm.vue.d.ts","sourceRoot":"","sources":["../../src/components/MobileMoneyForm.vue"],"names":[],"mappings":"AA6GA,OAAO,KAAK,EAAsB,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAE5E,KAAK,WAAW,GAAG;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;;;;;;AA6JF,wBAQG"}
@@ -1,4 +1,4 @@
1
- import { ReevitCheckoutConfig, CheckoutState, PaymentMethod, PaymentResult, PaymentError } from '../../../core/dist/index.d.ts';
1
+ import { ReevitCheckoutConfig, CheckoutState, PaymentMethod, PaymentResult, PaymentError, PSPType } from '../../../core/dist/index.d.ts';
2
2
  interface UseReevitOptions {
3
3
  config: ReevitCheckoutConfig;
4
4
  onSuccess?: (result: PaymentResult) => void;
@@ -8,11 +8,83 @@ interface UseReevitOptions {
8
8
  apiBaseUrl?: string;
9
9
  }
10
10
  export declare function useReevit(options: UseReevitOptions): {
11
- status: Readonly<import('vue').Ref<any, any>>;
12
- paymentIntent: Readonly<import('vue').Ref<any, any>>;
13
- selectedMethod: Readonly<import('vue').Ref<any, any>>;
14
- error: Readonly<import('vue').Ref<any, any>>;
15
- result: Readonly<import('vue').Ref<any, any>>;
11
+ status: Readonly<import('vue').Ref<CheckoutState, CheckoutState>>;
12
+ paymentIntent: Readonly<import('vue').Ref<{
13
+ readonly id: string;
14
+ readonly clientSecret: string;
15
+ readonly amount: number;
16
+ readonly currency: string;
17
+ readonly status: "pending" | "processing" | "succeeded" | "failed" | "cancelled";
18
+ readonly recommendedPsp: PSPType;
19
+ readonly availableMethods: readonly PaymentMethod[];
20
+ readonly connectionId?: string | undefined;
21
+ readonly provider?: string | undefined;
22
+ readonly feeAmount?: number | undefined;
23
+ readonly feeCurrency?: string | undefined;
24
+ readonly netAmount?: number | undefined;
25
+ readonly metadata?: {
26
+ readonly [x: string]: Readonly<unknown>;
27
+ } | undefined;
28
+ } | null, {
29
+ readonly id: string;
30
+ readonly clientSecret: string;
31
+ readonly amount: number;
32
+ readonly currency: string;
33
+ readonly status: "pending" | "processing" | "succeeded" | "failed" | "cancelled";
34
+ readonly recommendedPsp: PSPType;
35
+ readonly availableMethods: readonly PaymentMethod[];
36
+ readonly connectionId?: string | undefined;
37
+ readonly provider?: string | undefined;
38
+ readonly feeAmount?: number | undefined;
39
+ readonly feeCurrency?: string | undefined;
40
+ readonly netAmount?: number | undefined;
41
+ readonly metadata?: {
42
+ readonly [x: string]: Readonly<unknown>;
43
+ } | undefined;
44
+ } | null>>;
45
+ selectedMethod: Readonly<import('vue').Ref<PaymentMethod | null, PaymentMethod | null>>;
46
+ error: Readonly<import('vue').Ref<{
47
+ readonly code: string;
48
+ readonly message: string;
49
+ readonly recoverable?: boolean | undefined;
50
+ readonly originalError?: Readonly<unknown> | undefined;
51
+ readonly details?: {
52
+ readonly [x: string]: Readonly<unknown>;
53
+ } | undefined;
54
+ } | null, {
55
+ readonly code: string;
56
+ readonly message: string;
57
+ readonly recoverable?: boolean | undefined;
58
+ readonly originalError?: Readonly<unknown> | undefined;
59
+ readonly details?: {
60
+ readonly [x: string]: Readonly<unknown>;
61
+ } | undefined;
62
+ } | null>>;
63
+ result: Readonly<import('vue').Ref<{
64
+ readonly paymentId: string;
65
+ readonly reference: string;
66
+ readonly amount: number;
67
+ readonly currency: string;
68
+ readonly paymentMethod: PaymentMethod;
69
+ readonly psp: string;
70
+ readonly pspReference: string;
71
+ readonly status: "success" | "pending";
72
+ readonly metadata?: {
73
+ readonly [x: string]: Readonly<unknown>;
74
+ } | undefined;
75
+ } | null, {
76
+ readonly paymentId: string;
77
+ readonly reference: string;
78
+ readonly amount: number;
79
+ readonly currency: string;
80
+ readonly paymentMethod: PaymentMethod;
81
+ readonly psp: string;
82
+ readonly pspReference: string;
83
+ readonly status: "success" | "pending";
84
+ readonly metadata?: {
85
+ readonly [x: string]: Readonly<unknown>;
86
+ } | undefined;
87
+ } | null>>;
16
88
  initialize: (method?: PaymentMethod) => Promise<void>;
17
89
  selectMethod: (method: PaymentMethod) => void;
18
90
  processPayment: (paymentData: Record<string, unknown>) => Promise<void>;
@@ -23,7 +95,7 @@ export declare function useReevit(options: UseReevitOptions): {
23
95
  isLoading: Readonly<import('vue').Ref<boolean, boolean>>;
24
96
  isReady: Readonly<import('vue').Ref<boolean, boolean>>;
25
97
  isComplete: Readonly<import('vue').Ref<boolean, boolean>>;
26
- canRetry: Readonly<import('vue').Ref<any, any>>;
98
+ canRetry: Readonly<import('vue').Ref<boolean, boolean>>;
27
99
  };
28
100
  export {};
29
101
  //# sourceMappingURL=useReevit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useReevit.d.ts","sourceRoot":"","sources":["../../src/composables/useReevit.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAML,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,YAAY,EAMlB,MAAM,cAAc,CAAC;AAEtB,UAAU,gBAAgB;IACxB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;IAC5C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAqCD,wBAAgB,SAAS,CAAC,OAAO,EAAE,gBAAgB;;;;;;0BA0Bd,aAAa;2BA8ClB,aAAa;kCAKA,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gCA6CzB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;4BAKjC,YAAY;;;;;;;EAgE5C"}
1
+ {"version":3,"file":"useReevit.d.ts","sourceRoot":"","sources":["../../src/composables/useReevit.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAML,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,YAAY,EAKjB,KAAK,OAAO,EACb,MAAM,cAAc,CAAC;AAEtB,UAAU,gBAAgB;IACxB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;IAC5C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAqCD,wBAAgB,SAAS,CAAC,OAAO,EAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BA0Bd,aAAa;2BA8ClB,aAAa;kCAKA,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gCA6CzB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;4BAKjC,YAAY;;;;;;;EAgE5C"}
package/dist/styles.css CHANGED
@@ -0,0 +1 @@
1
+ @import"https://fonts.googleapis.com/css2?family=Geist+Mono:wght@400;500;600;700&display=swap";:root{--reevit-primary: oklch(.922 0 0);--reevit-primary-hover: oklch(.85 0 0);--reevit-primary-foreground: oklch(.145 0 0);--reevit-background: oklch(1 0 0);--reevit-surface: oklch(.97 0 0);--reevit-border: oklch(.922 0 0);--reevit-text: oklch(.145 0 0);--reevit-text-secondary: oklch(.556 0 0);--reevit-muted: oklch(.708 0 0);--reevit-success: oklch(.696 .17 162.48);--reevit-error: oklch(.577 .245 27.325);--reevit-warning: oklch(.828 .189 84.429);--reevit-radius: .625rem;--reevit-radius-sm: .5rem;--reevit-radius-lg: .75rem;--reevit-font: "Geist Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--reevit-shadow: 0 25px 50px -12px rgba(0, 0, 0, .15);--reevit-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1)}@media(prefers-color-scheme:dark){:root{--reevit-primary: oklch(.922 0 0);--reevit-primary-hover: oklch(.85 0 0);--reevit-primary-foreground: oklch(.145 0 0);--reevit-background: oklch(.145 0 0);--reevit-surface: oklch(.205 0 0);--reevit-border: oklch(1 0 0 / 10%);--reevit-text: oklch(.985 0 0);--reevit-text-secondary: oklch(.708 0 0);--reevit-muted: oklch(.556 0 0);--reevit-success: oklch(.696 .17 162.48);--reevit-error: oklch(.704 .191 22.216);--reevit-warning: oklch(.828 .189 84.429)}}.reevit-overlay{position:fixed;inset:0;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:16px;animation:reevit-fade-in .2s ease-out}@keyframes reevit-fade-in{0%{opacity:0}to{opacity:1}}.reevit-modal{background:var(--reevit-background);border-radius:var(--reevit-radius-lg);border:1px solid var(--reevit-border);box-shadow:var(--reevit-shadow);width:100%;max-width:400px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;font-family:var(--reevit-font);animation:reevit-slide-up .25s cubic-bezier(.22,1,.36,1)}@keyframes reevit-slide-up{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.reevit-modal--success{border-color:var(--reevit-success)}.reevit-modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--reevit-border)}.reevit-modal__branding{display:flex;align-items:center;gap:8px}.reevit-modal__logo{font-size:14px;font-weight:600;color:var(--reevit-text);letter-spacing:-.02em}.reevit-modal__close{width:28px;height:28px;border-radius:var(--reevit-radius-sm);border:1px solid var(--reevit-border);background:transparent;color:var(--reevit-text-secondary);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.reevit-modal__close:hover{background:var(--reevit-surface);color:var(--reevit-text);border-color:var(--reevit-text-secondary)}.reevit-modal__amount{padding:32px 20px;text-align:center;background:var(--reevit-surface);border-bottom:1px solid var(--reevit-border)}.reevit-modal__amount-label{display:block;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--reevit-text-secondary);margin-bottom:8px}.reevit-modal__amount-value{display:block;font-size:36px;font-weight:700;letter-spacing:-.03em;color:var(--reevit-text)}.reevit-modal__content{flex:1;overflow-y:auto;padding:20px}.reevit-modal__footer{padding:14px 20px;border-top:1px solid var(--reevit-border);text-align:center;background:var(--reevit-surface)}.reevit-modal__secured{font-size:11px;font-weight:500;color:var(--reevit-text-secondary);letter-spacing:.02em}.reevit-method-selector{margin-bottom:20px}.reevit-method-selector__label{font-size:12px;font-weight:500;color:var(--reevit-text);margin-bottom:12px;letter-spacing:.02em}.reevit-method-selector__options{display:flex;flex-direction:column;gap:8px}.reevit-method-option{display:flex;align-items:center;gap:12px;padding:14px 16px;background:transparent;border:1px solid var(--reevit-border);border-radius:var(--reevit-radius);cursor:pointer;transition:all .15s ease;text-align:left;width:100%}.reevit-method-option:hover{border-color:var(--reevit-text-secondary);background:var(--reevit-surface)}.reevit-method-option--selected{border-color:var(--reevit-text);background:var(--reevit-surface)}.reevit-method-option--disabled{opacity:.5;cursor:not-allowed}.reevit-method-option__icon{font-size:20px;flex-shrink:0;opacity:.8}.reevit-method-option__content{flex:1;min-width:0}.reevit-method-option__label{display:block;font-size:13px;font-weight:600;color:var(--reevit-text);letter-spacing:-.01em}.reevit-method-option__description{display:block;font-size:11px;color:var(--reevit-text-secondary);margin-top:2px;letter-spacing:.01em}.reevit-method-option__check{color:var(--reevit-text);flex-shrink:0;font-size:14px}.reevit-momo-form{display:flex;flex-direction:column;gap:16px}.reevit-momo-form__field{display:flex;flex-direction:column;gap:6px}.reevit-momo-form__label{font-size:12px;font-weight:500;color:var(--reevit-text);letter-spacing:.02em}.reevit-momo-form__input{padding:10px 14px;font-size:14px;border:1px solid var(--reevit-border);border-radius:var(--reevit-radius);background:transparent;color:var(--reevit-text);transition:all .15s ease;font-family:var(--reevit-font)}.reevit-momo-form__input:focus{outline:none;border-color:var(--reevit-text-secondary);background:var(--reevit-surface)}.reevit-momo-form__input--error{border-color:var(--reevit-error)}.reevit-momo-form__input--error:focus{border-color:var(--reevit-error)}.reevit-momo-form__formatted{font-size:11px;color:var(--reevit-text-secondary)}.reevit-momo-form__error{font-size:11px;color:var(--reevit-error)}.reevit-momo-form__networks{display:flex;gap:8px}.reevit-network-btn{flex:1;padding:10px 14px;font-size:12px;font-weight:600;border:1px solid var(--reevit-border);border-radius:var(--reevit-radius);background:transparent;color:var(--reevit-text);cursor:pointer;transition:all .15s ease;font-family:var(--reevit-font)}.reevit-network-btn:hover{border-color:var(--reevit-text-secondary);background:var(--reevit-surface)}.reevit-network-btn--selected{border-color:var(--reevit-text);background:var(--reevit-text);color:var(--reevit-background)}.reevit-momo-form__actions{display:flex;gap:10px;margin-top:8px}.reevit-momo-form__hint{font-size:11px;color:var(--reevit-text-secondary);text-align:center;margin-top:4px}.reevit-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;font-size:13px;font-weight:600;border-radius:var(--reevit-radius);cursor:pointer;transition:all .15s ease;font-family:var(--reevit-font);border:none;min-height:42px;letter-spacing:-.01em}.reevit-btn--primary{flex:1;background:var(--reevit-primary);color:var(--reevit-primary-foreground)}.reevit-btn--primary:hover:not(:disabled){background:var(--reevit-primary-hover)}.reevit-btn--primary:disabled{opacity:.5;cursor:not-allowed}.reevit-btn--secondary{background:transparent;color:var(--reevit-text);border:1px solid var(--reevit-border)}.reevit-btn--secondary:hover:not(:disabled){background:var(--reevit-surface);border-color:var(--reevit-text-secondary)}.reevit-trigger-btn{padding:10px 18px;font-size:13px;font-weight:600;background:var(--reevit-primary);color:var(--reevit-primary-foreground);border:none;border-radius:var(--reevit-radius);cursor:pointer;font-family:var(--reevit-font);transition:all .15s ease;letter-spacing:-.01em}.reevit-trigger-btn:hover{background:var(--reevit-primary-hover)}.reevit-loading,.reevit-success,.reevit-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;gap:12px}.reevit-success__icon{width:48px;height:48px;border-radius:50%;background:var(--reevit-success);color:#fff;font-size:24px;display:flex;align-items:center;justify-content:center;animation:reevit-pop .3s ease-out}.reevit-error__icon{width:48px;height:48px;border-radius:50%;background:var(--reevit-error);color:#fff;font-size:24px;display:flex;align-items:center;justify-content:center}@keyframes reevit-pop{0%{transform:scale(0)}50%{transform:scale(1.1)}to{transform:scale(1)}}.reevit-success h3,.reevit-error h3{font-size:14px;font-weight:600;color:var(--reevit-text);margin:0;letter-spacing:-.01em}.reevit-success p,.reevit-error p{font-size:12px;color:var(--reevit-text-secondary);margin:0}.reevit-spinner{width:20px;height:20px;border:2px solid var(--reevit-border);border-top-color:var(--reevit-text);border-radius:50%;animation:reevit-spin .7s linear infinite}@keyframes reevit-spin{to{transform:rotate(360deg)}}.reevit-loading .reevit-spinner{width:32px;height:32px;border-width:2px}.reevit-loading p{font-size:12px;color:var(--reevit-text-secondary);margin:0}.reevit-psp-bridge{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;gap:12px}.reevit-psp-bridge__loading p{font-size:12px;color:var(--reevit-text-secondary);margin:0}.reevit-method-step__actions{margin-top:16px}@media(max-width:480px){.reevit-modal{max-width:100%;max-height:100%;border-radius:var(--reevit-radius-lg) var(--reevit-radius-lg) 0 0;margin-top:auto}.reevit-modal__amount-value{font-size:28px}.reevit-momo-form__networks{flex-direction:column}.reevit-momo-form__actions{flex-direction:column-reverse}.reevit-btn--secondary{flex:none}}
package/dist/vue.css CHANGED
@@ -0,0 +1 @@
1
+ @import"https://fonts.googleapis.com/css2?family=Geist+Mono:wght@400;500;600;700&display=swap";:root{--reevit-primary: oklch(.922 0 0);--reevit-primary-hover: oklch(.85 0 0);--reevit-primary-foreground: oklch(.145 0 0);--reevit-background: oklch(1 0 0);--reevit-surface: oklch(.97 0 0);--reevit-border: oklch(.922 0 0);--reevit-text: oklch(.145 0 0);--reevit-text-secondary: oklch(.556 0 0);--reevit-muted: oklch(.708 0 0);--reevit-success: oklch(.696 .17 162.48);--reevit-error: oklch(.577 .245 27.325);--reevit-warning: oklch(.828 .189 84.429);--reevit-radius: .625rem;--reevit-radius-sm: .5rem;--reevit-radius-lg: .75rem;--reevit-font: "Geist Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--reevit-shadow: 0 25px 50px -12px rgba(0, 0, 0, .15);--reevit-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1)}@media(prefers-color-scheme:dark){:root{--reevit-primary: oklch(.922 0 0);--reevit-primary-hover: oklch(.85 0 0);--reevit-primary-foreground: oklch(.145 0 0);--reevit-background: oklch(.145 0 0);--reevit-surface: oklch(.205 0 0);--reevit-border: oklch(1 0 0 / 10%);--reevit-text: oklch(.985 0 0);--reevit-text-secondary: oklch(.708 0 0);--reevit-muted: oklch(.556 0 0);--reevit-success: oklch(.696 .17 162.48);--reevit-error: oklch(.704 .191 22.216);--reevit-warning: oklch(.828 .189 84.429)}}.reevit-overlay{position:fixed;inset:0;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:16px;animation:reevit-fade-in .2s ease-out}@keyframes reevit-fade-in{0%{opacity:0}to{opacity:1}}.reevit-modal{background:var(--reevit-background);border-radius:var(--reevit-radius-lg);border:1px solid var(--reevit-border);box-shadow:var(--reevit-shadow);width:100%;max-width:400px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;font-family:var(--reevit-font);animation:reevit-slide-up .25s cubic-bezier(.22,1,.36,1)}@keyframes reevit-slide-up{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.reevit-modal--success{border-color:var(--reevit-success)}.reevit-modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--reevit-border)}.reevit-modal__branding{display:flex;align-items:center;gap:8px}.reevit-modal__logo{font-size:14px;font-weight:600;color:var(--reevit-text);letter-spacing:-.02em}.reevit-modal__close{width:28px;height:28px;border-radius:var(--reevit-radius-sm);border:1px solid var(--reevit-border);background:transparent;color:var(--reevit-text-secondary);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.reevit-modal__close:hover{background:var(--reevit-surface);color:var(--reevit-text);border-color:var(--reevit-text-secondary)}.reevit-modal__amount{padding:32px 20px;text-align:center;background:var(--reevit-surface);border-bottom:1px solid var(--reevit-border)}.reevit-modal__amount-label{display:block;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--reevit-text-secondary);margin-bottom:8px}.reevit-modal__amount-value{display:block;font-size:36px;font-weight:700;letter-spacing:-.03em;color:var(--reevit-text)}.reevit-modal__content{flex:1;overflow-y:auto;padding:20px}.reevit-modal__footer{padding:14px 20px;border-top:1px solid var(--reevit-border);text-align:center;background:var(--reevit-surface)}.reevit-modal__secured{font-size:11px;font-weight:500;color:var(--reevit-text-secondary);letter-spacing:.02em}.reevit-method-selector{margin-bottom:20px}.reevit-method-selector__label{font-size:12px;font-weight:500;color:var(--reevit-text);margin-bottom:12px;letter-spacing:.02em}.reevit-method-selector__options{display:flex;flex-direction:column;gap:8px}.reevit-method-option{display:flex;align-items:center;gap:12px;padding:14px 16px;background:transparent;border:1px solid var(--reevit-border);border-radius:var(--reevit-radius);cursor:pointer;transition:all .15s ease;text-align:left;width:100%}.reevit-method-option:hover{border-color:var(--reevit-text-secondary);background:var(--reevit-surface)}.reevit-method-option--selected{border-color:var(--reevit-text);background:var(--reevit-surface)}.reevit-method-option--disabled{opacity:.5;cursor:not-allowed}.reevit-method-option__icon{font-size:20px;flex-shrink:0;opacity:.8}.reevit-method-option__content{flex:1;min-width:0}.reevit-method-option__label{display:block;font-size:13px;font-weight:600;color:var(--reevit-text);letter-spacing:-.01em}.reevit-method-option__description{display:block;font-size:11px;color:var(--reevit-text-secondary);margin-top:2px;letter-spacing:.01em}.reevit-method-option__check{color:var(--reevit-text);flex-shrink:0;font-size:14px}.reevit-momo-form{display:flex;flex-direction:column;gap:16px}.reevit-momo-form__field{display:flex;flex-direction:column;gap:6px}.reevit-momo-form__label{font-size:12px;font-weight:500;color:var(--reevit-text);letter-spacing:.02em}.reevit-momo-form__input{padding:10px 14px;font-size:14px;border:1px solid var(--reevit-border);border-radius:var(--reevit-radius);background:transparent;color:var(--reevit-text);transition:all .15s ease;font-family:var(--reevit-font)}.reevit-momo-form__input:focus{outline:none;border-color:var(--reevit-text-secondary);background:var(--reevit-surface)}.reevit-momo-form__input--error{border-color:var(--reevit-error)}.reevit-momo-form__input--error:focus{border-color:var(--reevit-error)}.reevit-momo-form__formatted{font-size:11px;color:var(--reevit-text-secondary)}.reevit-momo-form__error{font-size:11px;color:var(--reevit-error)}.reevit-momo-form__networks{display:flex;gap:8px}.reevit-network-btn{flex:1;padding:10px 14px;font-size:12px;font-weight:600;border:1px solid var(--reevit-border);border-radius:var(--reevit-radius);background:transparent;color:var(--reevit-text);cursor:pointer;transition:all .15s ease;font-family:var(--reevit-font)}.reevit-network-btn:hover{border-color:var(--reevit-text-secondary);background:var(--reevit-surface)}.reevit-network-btn--selected{border-color:var(--reevit-text);background:var(--reevit-text);color:var(--reevit-background)}.reevit-momo-form__actions{display:flex;gap:10px;margin-top:8px}.reevit-momo-form__hint{font-size:11px;color:var(--reevit-text-secondary);text-align:center;margin-top:4px}.reevit-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;font-size:13px;font-weight:600;border-radius:var(--reevit-radius);cursor:pointer;transition:all .15s ease;font-family:var(--reevit-font);border:none;min-height:42px;letter-spacing:-.01em}.reevit-btn--primary{flex:1;background:var(--reevit-primary);color:var(--reevit-primary-foreground)}.reevit-btn--primary:hover:not(:disabled){background:var(--reevit-primary-hover)}.reevit-btn--primary:disabled{opacity:.5;cursor:not-allowed}.reevit-btn--secondary{background:transparent;color:var(--reevit-text);border:1px solid var(--reevit-border)}.reevit-btn--secondary:hover:not(:disabled){background:var(--reevit-surface);border-color:var(--reevit-text-secondary)}.reevit-trigger-btn{padding:10px 18px;font-size:13px;font-weight:600;background:var(--reevit-primary);color:var(--reevit-primary-foreground);border:none;border-radius:var(--reevit-radius);cursor:pointer;font-family:var(--reevit-font);transition:all .15s ease;letter-spacing:-.01em}.reevit-trigger-btn:hover{background:var(--reevit-primary-hover)}.reevit-loading,.reevit-success,.reevit-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;gap:12px}.reevit-success__icon{width:48px;height:48px;border-radius:50%;background:var(--reevit-success);color:#fff;font-size:24px;display:flex;align-items:center;justify-content:center;animation:reevit-pop .3s ease-out}.reevit-error__icon{width:48px;height:48px;border-radius:50%;background:var(--reevit-error);color:#fff;font-size:24px;display:flex;align-items:center;justify-content:center}@keyframes reevit-pop{0%{transform:scale(0)}50%{transform:scale(1.1)}to{transform:scale(1)}}.reevit-success h3,.reevit-error h3{font-size:14px;font-weight:600;color:var(--reevit-text);margin:0;letter-spacing:-.01em}.reevit-success p,.reevit-error p{font-size:12px;color:var(--reevit-text-secondary);margin:0}.reevit-spinner{width:20px;height:20px;border:2px solid var(--reevit-border);border-top-color:var(--reevit-text);border-radius:50%;animation:reevit-spin .7s linear infinite}@keyframes reevit-spin{to{transform:rotate(360deg)}}.reevit-loading .reevit-spinner{width:32px;height:32px;border-width:2px}.reevit-loading p{font-size:12px;color:var(--reevit-text-secondary);margin:0}.reevit-psp-bridge{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;gap:12px}.reevit-psp-bridge__loading p{font-size:12px;color:var(--reevit-text-secondary);margin:0}.reevit-method-step__actions{margin-top:16px}@media(max-width:480px){.reevit-modal{max-width:100%;max-height:100%;border-radius:var(--reevit-radius-lg) var(--reevit-radius-lg) 0 0;margin-top:auto}.reevit-modal__amount-value{font-size:28px}.reevit-momo-form__networks{flex-direction:column}.reevit-momo-form__actions{flex-direction:column-reverse}.reevit-btn--secondary{flex:none}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reevit/vue",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Unified Payment Widget for Vue 3 Applications",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -44,7 +44,7 @@
44
44
  "vue": "^3.3.0"
45
45
  },
46
46
  "dependencies": {
47
- "@reevit/core": "^0.1.0"
47
+ "@reevit/core": "^0.2.0"
48
48
  },
49
49
  "devDependencies": {
50
50
  "@types/node": "^20.0.0",