@mhosaic/feedback 0.12.0 → 0.12.2

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.
@@ -2041,7 +2041,7 @@ function Annotator({ imageBlob, strings, onSave, onCancel }) {
2041
2041
  img.src = url;
2042
2042
  return () => URL.revokeObjectURL(url);
2043
2043
  }, [imageBlob]);
2044
- useEffect4(() => {
2044
+ useLayoutEffect(() => {
2045
2045
  if (!imageLoaded || !canvasRef.current || !imageRef.current || !containerRef.current) {
2046
2046
  return;
2047
2047
  }
@@ -3005,6 +3005,17 @@ var WIDGET_STYLES = `
3005
3005
  after the modal becomes visible get stable coordinates. 220ms
3006
3006
  ease-out is snappy enough that human users barely register it. */
3007
3007
  animation: mfb-modal-in 220ms ease-out;
3008
+ /* Transition lives on the BASE rule with a SHORTER duration so the
3009
+ "back" trip (Board \u2192 other tab, where .is-expanded is removed)
3010
+ feels snappy. The grow direction overrides this with a slower
3011
+ curve in .modal.is-expanded below \u2014 the asymmetry is intentional:
3012
+ a slow grow reads as a transport, a slow shrink reads as
3013
+ hesitation. */
3014
+ transition:
3015
+ width 200ms cubic-bezier(0.4, 0, 0.2, 1),
3016
+ height 200ms cubic-bezier(0.4, 0, 0.2, 1),
3017
+ max-height 200ms cubic-bezier(0.4, 0, 0.2, 1),
3018
+ padding 200ms cubic-bezier(0.4, 0, 0.2, 1);
3008
3019
  }
3009
3020
 
3010
3021
  @keyframes mfb-modal-in {
@@ -3048,6 +3059,14 @@ var WIDGET_STYLES = `
3048
3059
  display: flex;
3049
3060
  flex-direction: column;
3050
3061
  gap: var(--mfb-space-5);
3062
+ /* Match the entrance motion the Board/MineList/Changelog containers
3063
+ * use so switching tabs (especially Board \u2192 Send, where the modal
3064
+ * is mid-shrink) doesn't show a content snap behind the transition.
3065
+ * 40ms delay lets the modal's shrink finish first. */
3066
+ animation: mfb-board-in 220ms ease-out 40ms both;
3067
+ }
3068
+ @media (prefers-reduced-motion: reduce) {
3069
+ .modal form { animation: none; }
3051
3070
  }
3052
3071
 
3053
3072
  .modal-close {
@@ -4713,8 +4732,8 @@ function createFeedback(config) {
4713
4732
  capture_method: captureMethod,
4714
4733
  technical_context
4715
4734
  };
4716
- if ("0.12.0") {
4717
- payload.widget_version = "0.12.0";
4735
+ if ("0.12.2") {
4736
+ payload.widget_version = "0.12.2";
4718
4737
  }
4719
4738
  if (manualScreenshot) payload.screenshot = manualScreenshot;
4720
4739
  if (values.synthetic) payload.synthetic = true;
@@ -4800,4 +4819,4 @@ function createFeedback(config) {
4800
4819
  export {
4801
4820
  createFeedback
4802
4821
  };
4803
- //# sourceMappingURL=chunk-XSYC5TDL.mjs.map
4822
+ //# sourceMappingURL=chunk-TBT2OODO.mjs.map