@nine-lab/nine-ux 0.1.59 → 0.1.61

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.
@@ -349,32 +349,42 @@ dialog {
349
349
  @keyframes nx-move-left { from { opacity: 0; transform: translateX(100px); } to { opacity: 1; transform: translateX(0); } }
350
350
  @keyframes nx-move-right { from { opacity: 0; transform: translateX(-100px); } to { opacity: 1; transform: translateY(0); } }
351
351
 
352
- /* 4. Shake (에러 시 흔들림) */
353
- :host(.shake) dialog { animation: nx-shake 0.4s linear forwards; opacity: 1; }
354
- @keyframes nx-shake {
355
- 0%, 100% { transform: translateX(0); }
356
- 25% { transform: translateX(-10px); }
357
- 50% { transform: translateX(10px); }
358
- 75% { transform: translateX(-10px); }
352
+ /* 4. Shake (상하좌우 격렬한 진동 - 에러 인지용) */
353
+ :host(.shake) dialog {
354
+ animation: nx-heavy-shake 0.5s cubic-bezier(.36,.07,.19,.97) both;
355
+ opacity: 1;
356
+ }
357
+
358
+ @keyframes nx-heavy-shake {
359
+ 10%, 90% { transform: translate3d(-1px, -2px, 0); }
360
+ 20%, 80% { transform: translate3d(2px, 4px, 0); }
361
+ 30%, 50%, 70% { transform: translate3d(-6px, -6px, 0); }
362
+ 40%, 60% { transform: translate3d(6px, 6px, 0); }
363
+ }
364
+
365
+ /* 5. Road Runner (등장: 왼쪽에서 탄력 있게 / 퇴장: 움츠렸다가 광속 탈출) */
366
+ :host(.roadRunner) dialog {
367
+ animation: roadRunnerIn 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
359
368
  }
360
369
 
361
- /* 5. Road Runner (왼쪽에서 튀어나와 오른쪽으로 도망) */
362
- :host(.roadRunner) dialog { animation: roadRunnerIn 0.5s var(--nx-timing) forwards; }
363
370
  @keyframes roadRunnerIn {
364
371
  0% { transform: translateX(-1500px) skewX(30deg); opacity: 1; }
365
- 70% { transform: translateX(30px) skewX(0deg); opacity: 1; }
366
- 100% { transform: translateX(0); opacity: 1; }
372
+ 70% { transform: translateX(30px) skewX(-10deg); opacity: 1; }
373
+ 100% { transform: translateX(0) skewX(0deg); opacity: 1; }
367
374
  }
368
375
 
369
376
  /* --- Out Animations (닫힐 때) --- */
370
377
  dialog.out { pointer-events: none; }
371
378
 
372
- /* Road Runner 전용 퇴장 (오른쪽으로 광속 탈출) */
373
- :host(.roadRunner) dialog.out { animation: roadRunnerOut 0.5s ease-in forwards; }
379
+ /* Road Runner 퇴장: 움츠렸다가(Anticipation) 쌩~! */
380
+ :host(.roadRunner) dialog.out {
381
+ animation: roadRunnerOut 0.5s cubic-bezier(0.6, -0.28, 0.735, 0.045) forwards;
382
+ }
383
+
374
384
  @keyframes roadRunnerOut {
375
- 0% { transform: translateX(0); opacity: 1; }
376
- 30% { transform: translateX(-30px) skewX(-30deg); opacity: 1; }
377
- 100% { transform: translateX(1500px) skewX(-30deg); opacity: 0; }
385
+ 0% { transform: translateX(0) scale(1) skewX(0deg); opacity: 1; }
386
+ 30% { transform: translateX(50px) scaleX(1.2) scaleY(0.8) skewX(-20deg); opacity: 1; } /* 뒤로 힘 모으기 */
387
+ 100% { transform: translateX(1500px) scaleX(2) scaleY(0.5) skewX(40deg); opacity: 0; } /* 광속 탈출 */
378
388
  }
379
389
 
380
390
  /* 일반 퇴장 (기본) */
@@ -14629,7 +14639,7 @@ Lr = function() {
14629
14639
  const t = Ae.getComponentCssPath("nineEditor.css"), r = t ? `@import "${t}";` : "";
14630
14640
  this.shadowRoot.innerHTML = `
14631
14641
  <style>
14632
- @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-ux@0.1.59/dist/css/nineEditor.css";
14642
+ @import "https://cdn.jsdelivr.net/npm/@nine-lab/nine-ux@0.1.61/dist/css/nineEditor.css";
14633
14643
  ${r}
14634
14644
  </style>
14635
14645