@svp-chain-sdk/ui 0.1.9 → 0.1.10

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,4 @@
1
+ export declare const SUPPORTED_LOCALES: readonly ["en", "ja", "ko", "zh-CN", "zh-TW"];
2
+ export type Locale = (typeof SUPPORTED_LOCALES)[number];
3
+ export declare function resolveLocale(language?: string): Locale;
4
+ export declare function useResolvedLocale(locale?: Locale): Locale;
package/dist/styles.css CHANGED
@@ -221,12 +221,85 @@
221
221
  }
222
222
 
223
223
  /* Feedback */
224
- .svp-contact-fab {
224
+ .svp-feedback-widget {
225
225
  position: fixed;
226
226
  right: 1.25rem;
227
227
  top: 50%;
228
- transform: translateY(-50%);
229
228
  z-index: 1500;
229
+ }
230
+
231
+ .svp-feedback-popover {
232
+ position: absolute;
233
+ right: calc(100% + 12px);
234
+ top: 0;
235
+ width: min(280px, calc(100vw - 40px));
236
+ padding: 18px;
237
+ border: 1px solid rgba(37, 99, 235, 0.14);
238
+ border-radius: 14px;
239
+ background: #fff;
240
+ box-shadow: 0 16px 42px rgba(15, 30, 61, 0.2);
241
+ color: #0f1e3d;
242
+ transform: translateY(-50%);
243
+ }
244
+
245
+ .svp-feedback-popover::after {
246
+ position: absolute;
247
+ top: 50%;
248
+ right: -7px;
249
+ width: 12px;
250
+ height: 12px;
251
+ border-top: 1px solid rgba(37, 99, 235, 0.14);
252
+ border-right: 1px solid rgba(37, 99, 235, 0.14);
253
+ background: #fff;
254
+ content: "";
255
+ transform: translateY(-50%) rotate(45deg);
256
+ }
257
+
258
+ .svp-feedback-popover-kicker {
259
+ margin: 0 0 6px;
260
+ color: #2563eb;
261
+ font-size: 10px;
262
+ font-weight: 800;
263
+ letter-spacing: .14em;
264
+ }
265
+
266
+ .svp-feedback-popover h2 {
267
+ margin: 0;
268
+ font-size: 19px;
269
+ line-height: 1.3;
270
+ }
271
+
272
+ .svp-feedback-popover > p:not(.svp-feedback-popover-kicker) {
273
+ margin: 10px 0 16px;
274
+ color: rgba(15, 30, 61, 0.64);
275
+ font-size: 14px;
276
+ line-height: 1.65;
277
+ }
278
+
279
+ .svp-feedback-popover-action {
280
+ display: inline-flex;
281
+ min-height: 40px;
282
+ align-items: center;
283
+ justify-content: center;
284
+ width: 100%;
285
+ border-radius: 10px;
286
+ background: linear-gradient(90deg, #2563eb, #38bdf8);
287
+ color: #fff;
288
+ font-size: 14px;
289
+ font-weight: 700;
290
+ text-decoration: none;
291
+ }
292
+
293
+ .svp-feedback-popover-action:hover { opacity: .92; }
294
+ .svp-feedback-popover-action:focus-visible {
295
+ outline: 2px solid #2563eb;
296
+ outline-offset: 3px;
297
+ }
298
+
299
+ .svp-contact-fab {
300
+ position: relative;
301
+ transform: translateY(-50%);
302
+ z-index: 1;
230
303
  width: 54px;
231
304
  height: 54px;
232
305
  border-radius: 16px;
@@ -260,10 +333,16 @@
260
333
  }
261
334
 
262
335
  @media (max-width: 560px) {
336
+ .svp-feedback-widget { right: 0.85rem; }
337
+ .svp-feedback-popover {
338
+ right: calc(100% + 10px);
339
+ width: min(260px, calc(100vw - 82px));
340
+ padding: 16px;
341
+ }
342
+
263
343
  .svp-contact-fab {
264
344
  width: 48px;
265
345
  height: 48px;
266
- right: 0.85rem;
267
346
  border-radius: 14px;
268
347
  }
269
348
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@svp-chain-sdk/ui",
3
- "version": "0.1.9",
3
+ "version": "0.1.10",
4
4
  "description": "Accessible UI primitives for SVP Chain SDK applications.",
5
5
  "type": "module",
6
6
  "files": [