@qredence/fleet 0.6.6 → 0.7.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.
Files changed (87) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/web/client/assets/{action-swap-roll-Dbquwd1Y.js → action-swap-roll-BfVrBOVd.js} +1 -1
  3. package/dist/web/client/assets/{alert-dialog-C6Dkg1x6.js → alert-dialog-FCppNafx.js} +1 -1
  4. package/dist/web/client/assets/{artifacts-panel-8a_tn7Yb.js → artifacts-panel-Qd6JlHzz.js} +1 -1
  5. package/dist/web/client/assets/button-BJyg7l5W.js +1 -0
  6. package/dist/web/client/assets/{chat-command-palette-DhidLnw7.js → chat-command-palette-CPlJp2cO.js} +1 -1
  7. package/dist/web/client/assets/{citations-BYiDBo21.js → citations-BhyqbxcZ.js} +1 -1
  8. package/dist/web/client/assets/{command-Cre9BsOI.js → command-Bo31U-UD.js} +1 -1
  9. package/dist/web/client/assets/create-project-dialog-SDyXTpl-.js +1 -0
  10. package/dist/web/client/assets/{dialog-0KDCsqw0.js → dialog-DLIPvl1s.js} +1 -1
  11. package/dist/web/client/assets/ease-DKi-MOH5.js +1 -0
  12. package/dist/web/client/assets/{fork-picker-dialog-BPSqUjKu.js → fork-picker-dialog-BDleMADF.js} +1 -1
  13. package/dist/web/client/assets/globals-DZbMyHfg.css +2 -0
  14. package/dist/web/client/assets/index-D3HpiAnD.js +12 -0
  15. package/dist/web/client/assets/input-Ce8yLnXY.js +1 -0
  16. package/dist/web/client/assets/{input-group-Fky3fte_.js → input-group-BZLQiZOA.js} +1 -1
  17. package/dist/web/client/assets/is-ref-object-BD8OGh9C.js +1 -0
  18. package/dist/web/client/assets/{layout-constants-CC0ANQOP.js → layout-constants-Bl6XCvhY.js} +1 -1
  19. package/dist/web/client/assets/{message-queue-BUJK6bPQ.js → message-queue-CiptKSb6.js} +1 -1
  20. package/dist/web/client/assets/{model-selector-list-yOj8BeKr.js → model-selector-list-BHQ-Q8b9.js} +1 -1
  21. package/dist/web/client/assets/{notify-GSsGEKtR.js → notify-BC0a76VJ.js} +1 -1
  22. package/dist/web/client/assets/{openui-renderer-xe2-ekvP.js → openui-renderer-CH9K7_8t.js} +3 -3
  23. package/dist/web/client/assets/{prompt-input-BhVQxoyh.js → prompt-input-IwZOepG7.js} +1 -1
  24. package/dist/web/client/assets/{provider-label-BW_awXvw.js → provider-label-DNZOLldn.js} +1 -1
  25. package/dist/web/client/assets/{right-panel-registry-BpfG1iZV.js → right-panel-registry-BJG8ubHt.js} +2 -2
  26. package/dist/web/client/assets/routes-BXFQmjL9.js +16 -0
  27. package/dist/web/client/assets/select-COK0Kaq2.js +1 -0
  28. package/dist/web/client/assets/{session-tool-renderer-CNcxpGsk.js → session-tool-renderer-mOZdkbiU.js} +1 -1
  29. package/dist/web/client/assets/{session-tree-panel-BIEUJ1Zs.js → session-tree-panel-deGRKAhX.js} +1 -1
  30. package/dist/web/client/assets/settings-dialog-BU1Tw0CQ.js +2 -0
  31. package/dist/web/client/assets/{subagent-chat-panel-DA1GvHt8.js → subagent-chat-panel-DQEnhU2t.js} +1 -1
  32. package/dist/web/client/assets/{subagent-transcript-BGctBTbY.js → subagent-transcript-CCpg3uL6.js} +1 -1
  33. package/dist/web/client/assets/{subagent-utils-HbymlalM.js → subagent-utils-DTV2RcFl.js} +2 -2
  34. package/dist/web/client/assets/{subagents-panel-BJIdWRcV.js → subagents-panel-B-X7WPUU.js} +1 -1
  35. package/dist/web/client/assets/surface-context-DWplCCcO.js +1 -0
  36. package/dist/web/client/assets/{switch-DIbInrPR.js → switch-DQETDDJT.js} +1 -1
  37. package/dist/web/client/assets/toast-BFeqSeaR.js +1 -0
  38. package/dist/web/client/assets/{tool-result-PSnAt_3f.js → tool-result-C5Ixe-AJ.js} +1 -1
  39. package/dist/web/client/assets/{use-presence-D2YmRKr3.js → use-presence-rcUnm8Z7.js} +1 -1
  40. package/dist/web/client/assets/use-reduced-motion-BgG7f9xw.js +9 -0
  41. package/dist/web/client/assets/{workspace-panel-D3CMFw8W.js → workspace-panel-DDjQuELx.js} +1 -1
  42. package/dist/web/client/bundle-budget.json +5 -5
  43. package/dist/web/server/{_tanstack-start-manifest_v-MhCuqEzO-S6MEB7L5.js → _tanstack-start-manifest_v-vL58CVrY-7SDCWIHD.js} +23 -23
  44. package/dist/web/server/{artifacts-panel-BVfcZuA2-PB4RCSHV.js → artifacts-panel-CozDO7ak-5T4W7RME.js} +9 -9
  45. package/dist/web/server/{chat-command-palette-DlJDToBH-MVI6V743.js → chat-command-palette-CLE-L0qp-ZZNKVTSS.js} +5 -5
  46. package/dist/web/server/{chunk-MM4HQ5EO.js → chunk-54UEKLGD.js} +7 -7
  47. package/dist/web/server/{chunk-3VMFSSWK.js → chunk-B4EBMF5J.js} +2 -2
  48. package/dist/web/server/{chunk-RQHQK66C.js → chunk-D7GSWBRI.js} +2 -2
  49. package/dist/web/server/{chunk-JT53AAM5.js → chunk-E4YWFQX5.js} +1442 -1063
  50. package/dist/web/server/{chunk-VF3NJAD6.js → chunk-EUWNVEIC.js} +497 -556
  51. package/dist/web/server/{chunk-KUBURZOL.js → chunk-GRGV5FVO.js} +4 -4
  52. package/dist/web/server/{chunk-4QFOBBX5.js → chunk-NHV77NOI.js} +2 -2
  53. package/dist/web/server/{chunk-RWQWBZNI.js → chunk-QCDSLD3L.js} +6 -6
  54. package/dist/web/server/{chunk-MSXGQVHG.js → chunk-RVDWGK6U.js} +5 -5
  55. package/dist/web/server/{chunk-SAIH5YPC.js → chunk-RYU7I34A.js} +4 -4
  56. package/dist/web/server/{chunk-WBPESYPV.js → chunk-SLRV7YNY.js} +3 -3
  57. package/dist/web/server/{chunk-44MTKAFZ.js → chunk-XJHYJLGU.js} +4 -4
  58. package/dist/web/server/{create-project-dialog-UPz5_Ysf-FS6BL74M.js → create-project-dialog-CReZdM5g-2V7C5J67.js} +75 -14
  59. package/dist/web/server/{fork-picker-dialog-CZBpezXS-64KP23PO.js → fork-picker-dialog-CXcLEaor-6SVM5RJO.js} +3 -3
  60. package/dist/web/server/{message-queue-D_Q3coUY-I3EJZXWR.js → message-queue-Q_Q6hbqc-AOV2PSCX.js} +3 -3
  61. package/dist/web/server/{model-selector-list-q6WkkOwQ-OT46QU5P.js → model-selector-list-BOKU5_Z3-III72ZT2.js} +5 -5
  62. package/dist/web/server/{openui-renderer-BqI6m6VI-HXEIYIYZ.js → openui-renderer-VuQOQeAP-XBOR3XGN.js} +5 -5
  63. package/dist/web/server/{resources-panel-BKZ0M0RP-CMATPQQP.js → resources-panel-Cnz-X1bx-TT5KVROR.js} +4 -4
  64. package/dist/web/server/{router-BfuEp_JW-DNQ33L5J.js → router-C437aaqv-72HBLLJI.js} +2 -2
  65. package/dist/web/server/{routes-NdG3DsXJ-QKZT7TKM.js → routes-BkVN3m9i-PYNMNLQ5.js} +36 -34
  66. package/dist/web/server/server.js +2 -2
  67. package/dist/web/server/{session-reasoning-panel-Dc-AnjdD-7KAZLD74.js → session-reasoning-panel-2_TR5nKM-KA5OY7ZV.js} +4 -4
  68. package/dist/web/server/{session-tool-renderer-DaR8U5rb-TXWACWT7.js → session-tool-renderer-BFEWy2Pk-JTSYUPO5.js} +5 -5
  69. package/dist/web/server/{session-tree-panel-V3l8WdmE-YBRDLHWU.js → session-tree-panel-3y9LVA0A-4V4TJX62.js} +5 -5
  70. package/dist/web/server/{settings-dialog-C8U1VX75-6A2V6HSW.js → settings-dialog-DgZ8Z5e4-6T5AS2EB.js} +190 -119
  71. package/dist/web/server/{subagent-chat-panel-B9CtFTP5-6QDZ4RQY.js → subagent-chat-panel-B0pmAxCp-DKXNAOUU.js} +7 -7
  72. package/dist/web/server/{subagents-panel-Dw6yP5X4-BMN45GDD.js → subagents-panel-FUUT0t1i-5ZKJ2QAJ.js} +8 -8
  73. package/dist/web/server/{workspace-panel-C246J-eO-2WGJWVE6.js → workspace-panel-BbI1N4f8-WYOEVH4G.js} +4 -4
  74. package/package.json +1 -1
  75. package/dist/web/client/assets/button-BrwYi6QP.js +0 -1
  76. package/dist/web/client/assets/create-project-dialog-DVOaxTzt.js +0 -1
  77. package/dist/web/client/assets/ease-2UPBQU5v.js +0 -1
  78. package/dist/web/client/assets/globals-CD6JXJJh.css +0 -2
  79. package/dist/web/client/assets/index-BEG-7vN-.js +0 -12
  80. package/dist/web/client/assets/input-tWLSIxES.js +0 -1
  81. package/dist/web/client/assets/is-ref-object-CEXqIz6L.js +0 -1
  82. package/dist/web/client/assets/routes-BIp_deev.js +0 -16
  83. package/dist/web/client/assets/select-Buvrx1fi.js +0 -1
  84. package/dist/web/client/assets/settings-dialog-DAB6RL4u.js +0 -2
  85. package/dist/web/client/assets/surface-context-A-BjVzO_.js +0 -1
  86. package/dist/web/client/assets/toast-CS0pnDlS.js +0 -1
  87. package/dist/web/client/assets/use-reduced-motion-CaQBb3Qc.js +0 -9
@@ -3716,8 +3716,9 @@ function disambiguateSessionLabel(base, sessionId, collidingCount) {
3716
3716
  return `${base} \xB7 ${suffix}`;
3717
3717
  }
3718
3718
 
3719
- // web/app/dist/server/assets/button-CPOs9i8c.js
3720
- import { jsx } from "react/jsx-runtime";
3719
+ // web/app/dist/server/assets/button-Cf0LVXmT.js
3720
+ import { cloneElement as cloneElement2, createContext as createContext2, forwardRef as forwardRef2, isValidElement as isValidElement3, useContext as useContext2 } from "react";
3721
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
3721
3722
 
3722
3723
  // node_modules/.pnpm/@base-ui+react@1.8.0_@date-fns+tz@1.5.0_@types+react@19.3.0_date-fns@4.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/button/Button.mjs
3723
3724
  import * as React10 from "react";
@@ -4687,47 +4688,237 @@ var Button = /* @__PURE__ */ React10.forwardRef(function Button2(componentProps,
4687
4688
  });
4688
4689
  if (process.env.NODE_ENV !== "production") Button.displayName = "Button";
4689
4690
 
4690
- // web/app/dist/server/assets/button-CPOs9i8c.js
4691
- var buttonVariants = cva("group/button inline-flex shrink-0 items-center justify-center rounded-full border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", {
4691
+ // web/app/dist/server/assets/button-Cf0LVXmT.js
4692
+ var shapeMap = {
4693
+ pill: {
4694
+ variant: "pill",
4695
+ item: "rounded-[20px]",
4696
+ bg: "rounded-[20px]",
4697
+ focusRing: "rounded-[22px]",
4698
+ mergedBg: "rounded-2xl",
4699
+ container: "rounded-3xl",
4700
+ button: "rounded-[20px]",
4701
+ input: "rounded-[20px]",
4702
+ bgRadius: 20,
4703
+ mergedRadius: 16
4704
+ },
4705
+ rounded: {
4706
+ variant: "rounded",
4707
+ item: "rounded-lg",
4708
+ bg: "rounded-lg",
4709
+ focusRing: "rounded-[10px]",
4710
+ mergedBg: "rounded-lg",
4711
+ container: "rounded-xl",
4712
+ button: "rounded-lg",
4713
+ input: "rounded-lg",
4714
+ bgRadius: 8,
4715
+ mergedRadius: 8
4716
+ }
4717
+ };
4718
+ var ShapeContext = createContext2(null);
4719
+ function useShape() {
4720
+ const ctx = useContext2(ShapeContext);
4721
+ if (!ctx) return shapeMap.rounded;
4722
+ return ctx.classes;
4723
+ }
4724
+ var SizeContext = createContext2(null);
4725
+ function useSizeVariant(override) {
4726
+ const ctx = useContext2(SizeContext);
4727
+ return override ?? ctx?.size ?? "default";
4728
+ }
4729
+ var buttonVariants = cva([
4730
+ "group relative isolate inline-flex items-center justify-center outline-none cursor-pointer",
4731
+ "transition-colors duration-80",
4732
+ "disabled:opacity-50 disabled:pointer-events-none",
4733
+ "focus-visible:ring-1 focus-visible:ring-[color:var(--focus-ring,#6B97FF)]"
4734
+ ], {
4692
4735
  variants: {
4693
4736
  variant: {
4694
- default: "bg-primary text-primary-foreground [a]:hover:bg-primary/80",
4695
- outline: "border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",
4696
- secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",
4697
- ghost: "hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",
4698
- destructive: "bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",
4737
+ default: "text-background",
4738
+ primary: "text-background",
4739
+ secondary: "text-foreground",
4740
+ tertiary: "text-foreground",
4741
+ outline: "text-foreground",
4742
+ ghost: "text-muted-foreground hover:text-foreground",
4743
+ destructive: "text-destructive",
4699
4744
  link: "text-primary underline-offset-4 hover:underline"
4700
4745
  },
4701
4746
  size: {
4702
- default: "h-8 gap-1.5 rounded-full px-3 has-data-[icon=inline-end]:pr-2.5 has-data-[icon=inline-start]:pl-2.5",
4703
- xs: "h-6 gap-1 rounded-full px-2 text-xs in-data-[slot=button-group]:rounded-full has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",
4704
- sm: "h-7 gap-1 rounded-full px-2.5 text-label in-data-[slot=button-group]:rounded-full has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 [&_svg:not([class*='size-'])]:size-3.5",
4705
- lg: "h-9 gap-1.5 rounded-full px-3.5 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3",
4706
- icon: "size-8 rounded-full",
4707
- "icon-xs": "size-6 rounded-full in-data-[slot=button-group]:rounded-full [&_svg:not([class*='size-'])]:size-3",
4708
- "icon-sm": "size-7 rounded-full in-data-[slot=button-group]:rounded-full",
4709
- "icon-lg": "size-9 rounded-full"
4710
- }
4747
+ default: "h-9 px-4 text-[13px] gap-1.5 [&_svg:not([class*='size-'])]:size-4",
4748
+ compact: "h-7 px-3 text-[12px] gap-1 [&_svg:not([class*='size-'])]:size-3.5",
4749
+ icon: "h-9 w-9 p-0 [&_svg]:h-4 [&_svg]:w-4",
4750
+ "icon-compact": "h-7 w-7 p-0 [&_svg]:h-3.5 [&_svg]:w-3.5"
4751
+ },
4752
+ iconLeft: { true: "" },
4753
+ iconRight: { true: "" }
4711
4754
  },
4755
+ compoundVariants: [
4756
+ {
4757
+ size: "compact",
4758
+ iconLeft: true,
4759
+ className: "pl-2"
4760
+ },
4761
+ {
4762
+ size: "default",
4763
+ iconLeft: true,
4764
+ className: "pl-3"
4765
+ },
4766
+ {
4767
+ size: "compact",
4768
+ iconRight: true,
4769
+ className: "pr-2"
4770
+ },
4771
+ {
4772
+ size: "default",
4773
+ iconRight: true,
4774
+ className: "pr-3"
4775
+ }
4776
+ ],
4712
4777
  defaultVariants: {
4713
- variant: "default",
4778
+ variant: "primary",
4714
4779
  size: "default"
4715
4780
  }
4716
4781
  });
4717
- function Button$1({ className, variant = "default", size: size4 = "default", ...props }) {
4782
+ var legacySizeAliases = {
4783
+ xs: "compact",
4784
+ sm: "compact",
4785
+ md: "default",
4786
+ lg: "default",
4787
+ "icon-xs": "icon-compact",
4788
+ "icon-sm": "icon-compact",
4789
+ "icon-lg": "icon"
4790
+ };
4791
+ var bgVariants = {
4792
+ default: "[--btn-bg:var(--foreground)] group-hover:[--btn-bg:color-mix(in_oklab,var(--foreground)_90%,var(--background))] group-active:[--btn-bg:color-mix(in_oklab,var(--foreground)_80%,var(--background))] bg-[var(--btn-bg)] shadow-[0_0_0_1px_var(--btn-bg)] group-active:shadow-[0_0_0_0px_var(--btn-bg)]",
4793
+ primary: "[--btn-bg:var(--foreground)] group-hover:[--btn-bg:color-mix(in_oklab,var(--foreground)_90%,var(--background))] group-active:[--btn-bg:color-mix(in_oklab,var(--foreground)_80%,var(--background))] bg-[var(--btn-bg)] shadow-[0_0_0_1px_var(--btn-bg)] group-active:shadow-[0_0_0_0px_var(--btn-bg)]",
4794
+ secondary: "[--btn-bg:var(--accent)] group-hover:[--btn-bg:color-mix(in_oklab,var(--accent)_80%,var(--background))] group-active:[--btn-bg:var(--accent)] bg-[var(--btn-bg)] shadow-[0_0_0_1px_var(--btn-bg)] group-active:shadow-[0_0_0_0px_var(--btn-bg)]",
4795
+ tertiary: "bg-transparent shadow-[0_0_0_1px_var(--border),inset_0_0_0_0px_var(--border)] group-hover:bg-hover group-active:bg-active group-active:shadow-[0_0_0_0px_var(--border),inset_0_0_0_1px_var(--border)]",
4796
+ outline: "bg-transparent shadow-[0_0_0_1px_var(--border),inset_0_0_0_0px_var(--border)] group-hover:bg-hover group-active:bg-active group-active:shadow-[0_0_0_0px_var(--border),inset_0_0_0_1px_var(--border)]",
4797
+ ghost: "bg-transparent shadow-[0_0_0_1px_transparent] group-hover:bg-hover group-hover:shadow-[0_0_0_1px_var(--hover)] group-active:bg-active group-active:shadow-[0_0_0_0px_var(--active)]",
4798
+ destructive: "[--btn-bg:var(--destructive-light,#450A0A)] group-hover:[--btn-bg:color-mix(in_oklab,var(--destructive-light,#450A0A)_80%,var(--background))] group-active:[--btn-bg:var(--destructive-light,#450A0A)] bg-[var(--btn-bg)] shadow-[0_0_0_1px_var(--border)]",
4799
+ link: "bg-transparent shadow-none"
4800
+ };
4801
+ var activeBgVariants = {
4802
+ default: "[--btn-bg:color-mix(in_oklab,var(--foreground)_80%,var(--background))] bg-[var(--btn-bg)] shadow-[0_0_0_1px_var(--btn-bg)] group-active:shadow-[0_0_0_0px_var(--btn-bg)]",
4803
+ primary: "[--btn-bg:color-mix(in_oklab,var(--foreground)_80%,var(--background))] bg-[var(--btn-bg)] shadow-[0_0_0_1px_var(--btn-bg)] group-active:shadow-[0_0_0_0px_var(--btn-bg)]",
4804
+ secondary: "[--btn-bg:var(--accent)] bg-[var(--btn-bg)] shadow-[0_0_0_1px_var(--btn-bg)] group-active:shadow-[0_0_0_0px_var(--btn-bg)]",
4805
+ tertiary: "bg-active shadow-[0_0_0_1px_var(--border),inset_0_0_0_0px_var(--border)] group-active:shadow-[0_0_0_0px_var(--border),inset_0_0_0_1px_var(--border)]",
4806
+ outline: "bg-active shadow-[0_0_0_1px_var(--border),inset_0_0_0_0px_var(--border)] group-active:shadow-[0_0_0_0px_var(--border),inset_0_0_0_1px_var(--border)]",
4807
+ ghost: "bg-active shadow-[0_0_0_1px_var(--active)] group-active:shadow-[0_0_0_0px_var(--active)]",
4808
+ destructive: "bg-active shadow-[0_0_0_1px_var(--border)]",
4809
+ link: "bg-transparent shadow-none"
4810
+ };
4811
+ var Button$1 = forwardRef2(({ className, variant, size: size4, asChild = false, loading = false, leadingIcon: LeadingIcon, trailingIcon: TrailingIcon, active = false, disabled: disabled2, children, style, ...props }, ref) => {
4812
+ const asChildElement = asChild && isValidElement3(children) ? children : null;
4813
+ const label = asChildElement ? asChildElement.props.children : children;
4814
+ const contextSize = useSizeVariant();
4815
+ const resolvedSize = size4 ? legacySizeAliases[size4] ?? size4 : contextSize === "compact" ? "compact" : "default";
4816
+ const isIconOnly = resolvedSize === "icon" || resolvedSize === "icon-compact";
4817
+ const isCompact = resolvedSize === "compact" || resolvedSize === "icon-compact";
4818
+ const iconSize = isCompact ? 14 : 16;
4819
+ const spinnerSizeClass = isCompact ? "h-7 w-7" : "h-9 w-9";
4820
+ const shape = useShape();
4821
+ const bgClass = active ? activeBgVariants[variant ?? "primary"] : bgVariants[variant ?? "primary"];
4822
+ const internals = /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx("span", {
4823
+ "aria-hidden": true,
4824
+ className: cn("absolute inset-px rounded-[inherit] transition-[box-shadow,background-color] [transition-duration:180ms,80ms] [transition-timing-function:cubic-bezier(0.23,1,0.32,1),ease] group-active:[transition-duration:80ms,80ms]", bgClass)
4825
+ }), /* @__PURE__ */ jsx("span", {
4826
+ className: "relative inline-flex items-center justify-center gap-[inherit]",
4827
+ children: loading ? /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsxs("span", {
4828
+ className: "flex items-center justify-center gap-[inherit] opacity-0",
4829
+ children: [
4830
+ LeadingIcon && !isIconOnly && /* @__PURE__ */ jsx(LeadingIcon, {
4831
+ size: iconSize,
4832
+ strokeWidth: 2
4833
+ }),
4834
+ label,
4835
+ TrailingIcon && !isIconOnly && /* @__PURE__ */ jsx(TrailingIcon, {
4836
+ size: iconSize,
4837
+ strokeWidth: 2
4838
+ })
4839
+ ]
4840
+ }), /* @__PURE__ */ jsx("span", {
4841
+ className: "absolute inset-0 flex items-center justify-center",
4842
+ children: /* @__PURE__ */ jsx("svg", {
4843
+ className: spinnerSizeClass,
4844
+ viewBox: "0 0 24 24",
4845
+ fill: "none",
4846
+ children: /* @__PURE__ */ jsx("path", {
4847
+ d: "M 12 12 C 14 8.5 19 8.5 19 12 C 19 15.5 14 15.5 12 12 C 10 8.5 5 8.5 5 12 C 5 15.5 10 15.5 12 12 Z",
4848
+ stroke: "currentColor",
4849
+ strokeWidth: "1.125",
4850
+ strokeLinecap: "round",
4851
+ pathLength: "100",
4852
+ style: {
4853
+ strokeDasharray: "15 85",
4854
+ animation: "spinner-move 2s linear infinite, spinner-dash 4s ease-in-out infinite"
4855
+ }
4856
+ })
4857
+ })
4858
+ })] }) : isIconOnly ? /* @__PURE__ */ jsx("span", {
4859
+ className: "[&_svg]:stroke-[1.5] [&_svg]:transition-[stroke-width] [&_svg]:duration-80 group-hover:[&_svg]:stroke-[2]",
4860
+ children: label
4861
+ }) : /* @__PURE__ */ jsxs(Fragment$1, { children: [
4862
+ LeadingIcon && /* @__PURE__ */ jsx(LeadingIcon, {
4863
+ size: iconSize,
4864
+ strokeWidth: 1.5,
4865
+ className: "transition-[stroke-width] duration-80 group-hover:stroke-[2]"
4866
+ }),
4867
+ /* @__PURE__ */ jsx("span", {
4868
+ className: "inline-flex items-center gap-[inherit] [text-box:trim-both_cap_alphabetic] [&_svg]:shrink-0",
4869
+ children: label
4870
+ }),
4871
+ TrailingIcon && /* @__PURE__ */ jsx(TrailingIcon, {
4872
+ size: iconSize,
4873
+ strokeWidth: 1.5,
4874
+ className: "transition-[stroke-width] duration-80 group-hover:stroke-[2]"
4875
+ })
4876
+ ] })
4877
+ })] });
4878
+ const rootClassName = cn(buttonVariants({
4879
+ variant,
4880
+ size: resolvedSize,
4881
+ iconLeft: !isIconOnly && !!LeadingIcon,
4882
+ iconRight: !isIconOnly && !!TrailingIcon
4883
+ }), shape.button, className);
4884
+ if (asChildElement) {
4885
+ const childProps = asChildElement.props;
4886
+ const composedProps = { ...props };
4887
+ for (const key of Object.keys(props)) {
4888
+ if (!/^on[A-Z]/.test(key)) continue;
4889
+ const parentHandler = props[key];
4890
+ const childHandler = childProps[key];
4891
+ if (typeof parentHandler !== "function" || typeof childHandler !== "function") continue;
4892
+ composedProps[key] = (event) => {
4893
+ childHandler(event);
4894
+ if (!event.defaultPrevented) parentHandler(event);
4895
+ };
4896
+ }
4897
+ return cloneElement2(asChildElement, {
4898
+ ...composedProps,
4899
+ ref,
4900
+ "data-slot": "button",
4901
+ className: cn(rootClassName, childProps.className),
4902
+ style: {
4903
+ ...style,
4904
+ ...childProps.style
4905
+ }
4906
+ }, internals);
4907
+ }
4718
4908
  return /* @__PURE__ */ jsx(Button, {
4909
+ ref,
4719
4910
  "data-slot": "button",
4720
- className: cn(buttonVariants({
4721
- variant,
4722
- size: size4,
4723
- className
4724
- })),
4725
- ...props
4911
+ className: rootClassName,
4912
+ disabled: disabled2 || loading,
4913
+ style,
4914
+ ...props,
4915
+ children: internals
4726
4916
  });
4727
- }
4917
+ });
4918
+ Button$1.displayName = "Button";
4728
4919
 
4729
- // web/app/dist/server/assets/toast-Biu6bnEf.js
4730
- import { jsx as jsx2, jsxs } from "react/jsx-runtime";
4920
+ // web/app/dist/server/assets/toast-CsrCQ6is.js
4921
+ import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
4731
4922
 
4732
4923
  // node_modules/.pnpm/@base-ui+react@1.8.0_@date-fns+tz@1.5.0_@types+react@19.3.0_date-fns@4.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/toast/index.parts.mjs
4733
4924
  var index_parts_exports = {};
@@ -13439,7 +13630,7 @@ function createToastManager() {
13439
13630
  };
13440
13631
  }
13441
13632
 
13442
- // web/app/dist/server/assets/toast-Biu6bnEf.js
13633
+ // web/app/dist/server/assets/toast-CsrCQ6is.js
13443
13634
  var toast = index_parts_exports.createToastManager();
13444
13635
  function ToastProvider3({ ...props }) {
13445
13636
  return /* @__PURE__ */ jsx2(index_parts_exports.Provider, { ...props });
@@ -13487,7 +13678,7 @@ function ToastDescription3({ className, ...props }) {
13487
13678
  }
13488
13679
  function ToastAction3({ className, render = /* @__PURE__ */ jsx2(Button$1, {
13489
13680
  variant: "outline",
13490
- size: "sm"
13681
+ size: "compact"
13491
13682
  }), ...props }) {
13492
13683
  return /* @__PURE__ */ jsx2(index_parts_exports.Action, {
13493
13684
  "data-slot": "toast-action",
@@ -13498,7 +13689,7 @@ function ToastAction3({ className, render = /* @__PURE__ */ jsx2(Button$1, {
13498
13689
  }
13499
13690
  function ToastClose3({ className, children, render = /* @__PURE__ */ jsx2(Button$1, {
13500
13691
  variant: "ghost",
13501
- size: "icon-sm"
13692
+ size: "icon-compact"
13502
13693
  }), ...props }) {
13503
13694
  return /* @__PURE__ */ jsx2(index_parts_exports.Close, {
13504
13695
  "data-slot": "toast-close",
@@ -13533,9 +13724,9 @@ function ToastList() {
13533
13724
  const { toasts } = index_parts_exports.useToastManager();
13534
13725
  return toasts.map((toastItem) => /* @__PURE__ */ jsx2(Toast$1, {
13535
13726
  toast: toastItem,
13536
- children: /* @__PURE__ */ jsxs(ToastContent3, { children: [
13727
+ children: /* @__PURE__ */ jsxs2(ToastContent3, { children: [
13537
13728
  /* @__PURE__ */ jsx2(ToastIcon, { type: toastItem.type }),
13538
- /* @__PURE__ */ jsxs("div", {
13729
+ /* @__PURE__ */ jsxs2("div", {
13539
13730
  className: "flex min-w-0 flex-1 flex-col gap-1",
13540
13731
  children: [/* @__PURE__ */ jsx2(ToastTitle3, {}), /* @__PURE__ */ jsx2(ToastDescription3, {})]
13541
13732
  }),
@@ -13545,7 +13736,7 @@ function ToastList() {
13545
13736
  }, toastItem.id));
13546
13737
  }
13547
13738
  function Toaster({ children, toastManager = toast, ...props }) {
13548
- return /* @__PURE__ */ jsxs(ToastProvider3, {
13739
+ return /* @__PURE__ */ jsxs2(ToastProvider3, {
13549
13740
  toastManager,
13550
13741
  ...props,
13551
13742
  children: [children, /* @__PURE__ */ jsx2(ToastPortal3, { children: /* @__PURE__ */ jsx2(ToastViewport3, { children: /* @__PURE__ */ jsx2(ToastList, {}) }) })]
@@ -13651,15 +13842,15 @@ function useUiPreferences() {
13651
13842
  return useSyncExternalStore2(subscribeUiPreferences, readUiPreferences, () => DEFAULT_UI_PREFERENCES);
13652
13843
  }
13653
13844
 
13654
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/components/AnimatePresence/index.mjs
13845
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/components/AnimatePresence/index.mjs
13655
13846
  import { jsx as jsx5, Fragment as Fragment5 } from "react/jsx-runtime";
13656
- import { useMemo as useMemo16, useRef as useRef22, useState as useState11, useContext as useContext10 } from "react";
13847
+ import { useMemo as useMemo16, useRef as useRef22, useState as useState11, useContext as useContext11 } from "react";
13657
13848
 
13658
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/context/LayoutGroupContext.mjs
13659
- import { createContext as createContext8 } from "react";
13660
- var LayoutGroupContext = createContext8({});
13849
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/context/LayoutGroupContext.mjs
13850
+ import { createContext as createContext9 } from "react";
13851
+ var LayoutGroupContext = createContext9({});
13661
13852
 
13662
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/utils/use-constant.mjs
13853
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/utils/use-constant.mjs
13663
13854
  import { useRef as useRef19 } from "react";
13664
13855
  function useConstant(init) {
13665
13856
  const ref = useRef19(null);
@@ -13669,28 +13860,28 @@ function useConstant(init) {
13669
13860
  return ref.current;
13670
13861
  }
13671
13862
 
13672
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.mjs
13863
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.mjs
13673
13864
  import { useLayoutEffect as useLayoutEffect3, useEffect as useEffect14 } from "react";
13674
13865
 
13675
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/utils/is-browser.mjs
13866
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/utils/is-browser.mjs
13676
13867
  var isBrowser = typeof window !== "undefined";
13677
13868
 
13678
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.mjs
13869
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.mjs
13679
13870
  var useIsomorphicLayoutEffect = isBrowser ? useLayoutEffect3 : useEffect14;
13680
13871
 
13681
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/components/AnimatePresence/PresenceChild.mjs
13872
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/components/AnimatePresence/PresenceChild.mjs
13682
13873
  import { jsx as jsx4 } from "react/jsx-runtime";
13683
13874
  import * as React52 from "react";
13684
13875
  import { useId as useId3, useRef as useRef21, useMemo as useMemo15 } from "react";
13685
13876
 
13686
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/context/PresenceContext.mjs
13687
- import { createContext as createContext9 } from "react";
13688
- var PresenceContext = /* @__PURE__ */ createContext9(null);
13877
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/context/PresenceContext.mjs
13878
+ import { createContext as createContext10 } from "react";
13879
+ var PresenceContext = /* @__PURE__ */ createContext10(null);
13689
13880
 
13690
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/components/AnimatePresence/PopChild.mjs
13881
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/components/AnimatePresence/PopChild.mjs
13691
13882
  import { jsx as jsx3 } from "react/jsx-runtime";
13692
13883
 
13693
- // node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/array.mjs
13884
+ // node_modules/.pnpm/motion-utils@13.3.0/node_modules/motion-utils/dist/es/array.mjs
13694
13885
  function addUniqueItem(arr, item) {
13695
13886
  if (arr.indexOf(item) === -1)
13696
13887
  arr.push(item);
@@ -13701,7 +13892,7 @@ function removeItem(arr, item) {
13701
13892
  arr.splice(index3, 1);
13702
13893
  }
13703
13894
 
13704
- // node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/clamp.mjs
13895
+ // node_modules/.pnpm/motion-utils@13.3.0/node_modules/motion-utils/dist/es/clamp.mjs
13705
13896
  var clamp3 = (min2, max2, v) => {
13706
13897
  if (v > max2)
13707
13898
  return max2;
@@ -13710,12 +13901,12 @@ var clamp3 = (min2, max2, v) => {
13710
13901
  return v;
13711
13902
  };
13712
13903
 
13713
- // node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/format-error-message.mjs
13904
+ // node_modules/.pnpm/motion-utils@13.3.0/node_modules/motion-utils/dist/es/format-error-message.mjs
13714
13905
  function formatErrorMessage2(message, errorCode) {
13715
13906
  return errorCode ? `${message}. For more information and steps for solving, visit https://motion.dev/troubleshooting/${errorCode}` : message;
13716
13907
  }
13717
13908
 
13718
- // node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/errors.mjs
13909
+ // node_modules/.pnpm/motion-utils@13.3.0/node_modules/motion-utils/dist/es/errors.mjs
13719
13910
  var warning = () => {
13720
13911
  };
13721
13912
  var invariant = () => {
@@ -13733,19 +13924,19 @@ if (typeof process !== "undefined" && process.env?.NODE_ENV !== "production") {
13733
13924
  };
13734
13925
  }
13735
13926
 
13736
- // node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/global-config.mjs
13927
+ // node_modules/.pnpm/motion-utils@13.3.0/node_modules/motion-utils/dist/es/global-config.mjs
13737
13928
  var MotionGlobalConfig = {};
13738
13929
 
13739
- // node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/is-numerical-string.mjs
13930
+ // node_modules/.pnpm/motion-utils@13.3.0/node_modules/motion-utils/dist/es/is-numerical-string.mjs
13740
13931
  var isNumericalString = (v) => /^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(v);
13741
13932
 
13742
- // node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/is-object.mjs
13933
+ // node_modules/.pnpm/motion-utils@13.3.0/node_modules/motion-utils/dist/es/is-object.mjs
13743
13934
  var isObject = (value) => typeof value === "object" && value !== null;
13744
13935
 
13745
- // node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/is-zero-value-string.mjs
13936
+ // node_modules/.pnpm/motion-utils@13.3.0/node_modules/motion-utils/dist/es/is-zero-value-string.mjs
13746
13937
  var isZeroValueString = (v) => /^0[^.\s]+$/u.test(v);
13747
13938
 
13748
- // node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/memo.mjs
13939
+ // node_modules/.pnpm/motion-utils@13.3.0/node_modules/motion-utils/dist/es/memo.mjs
13749
13940
  // @__NO_SIDE_EFFECTS__
13750
13941
  function memo(callback) {
13751
13942
  let result;
@@ -13756,26 +13947,29 @@ function memo(callback) {
13756
13947
  };
13757
13948
  }
13758
13949
 
13759
- // node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/noop.mjs
13950
+ // node_modules/.pnpm/motion-utils@13.3.0/node_modules/motion-utils/dist/es/noop.mjs
13760
13951
  var noop4 = /* @__NO_SIDE_EFFECTS__ */ (any2) => any2;
13761
13952
 
13762
- // node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/pipe.mjs
13953
+ // node_modules/.pnpm/motion-utils@13.3.0/node_modules/motion-utils/dist/es/pipe.mjs
13763
13954
  var pipe2 = (...transformers) => transformers.reduce((a, b) => (v) => b(a(v)));
13764
13955
 
13765
- // node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/progress.mjs
13956
+ // node_modules/.pnpm/motion-utils@13.3.0/node_modules/motion-utils/dist/es/progress.mjs
13766
13957
  var progress = /* @__NO_SIDE_EFFECTS__ */ (from, to, value) => {
13767
13958
  const range = to - from;
13768
13959
  return range ? (value - from) / range : 1;
13769
13960
  };
13770
13961
 
13771
- // node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/subscription-manager.mjs
13962
+ // node_modules/.pnpm/motion-utils@13.3.0/node_modules/motion-utils/dist/es/subscription-manager.mjs
13772
13963
  var SubscriptionManager = class {
13773
13964
  constructor() {
13774
13965
  this.subscriptions = [];
13775
13966
  }
13776
13967
  add(handler) {
13777
13968
  addUniqueItem(this.subscriptions, handler);
13778
- return () => removeItem(this.subscriptions, handler);
13969
+ return () => this.remove(handler);
13970
+ }
13971
+ remove(handler) {
13972
+ removeItem(this.subscriptions, handler);
13779
13973
  }
13780
13974
  notify(a, b, c) {
13781
13975
  const numSubscriptions = this.subscriptions.length;
@@ -13798,14 +13992,14 @@ var SubscriptionManager = class {
13798
13992
  }
13799
13993
  };
13800
13994
 
13801
- // node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/time-conversion.mjs
13995
+ // node_modules/.pnpm/motion-utils@13.3.0/node_modules/motion-utils/dist/es/time-conversion.mjs
13802
13996
  var secondsToMilliseconds = /* @__NO_SIDE_EFFECTS__ */ (seconds) => seconds * 1e3;
13803
13997
  var millisecondsToSeconds = /* @__NO_SIDE_EFFECTS__ */ (milliseconds) => milliseconds / 1e3;
13804
13998
 
13805
- // node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/velocity-per-second.mjs
13999
+ // node_modules/.pnpm/motion-utils@13.3.0/node_modules/motion-utils/dist/es/velocity-per-second.mjs
13806
14000
  var velocityPerSecond = /* @__NO_SIDE_EFFECTS__ */ (velocity, frameDuration) => frameDuration ? velocity * (1e3 / frameDuration) : 0;
13807
14001
 
13808
- // node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/warn-once.mjs
14002
+ // node_modules/.pnpm/motion-utils@13.3.0/node_modules/motion-utils/dist/es/warn-once.mjs
13809
14003
  var warned = /* @__PURE__ */ new Set();
13810
14004
  function warnOnce(condition, message, errorCode) {
13811
14005
  if (condition || warned.has(message))
@@ -13814,7 +14008,7 @@ function warnOnce(condition, message, errorCode) {
13814
14008
  warned.add(message);
13815
14009
  }
13816
14010
 
13817
- // node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/cubic-bezier.mjs
14011
+ // node_modules/.pnpm/motion-utils@13.3.0/node_modules/motion-utils/dist/es/easing/cubic-bezier.mjs
13818
14012
  var calcBezier = (t, a1, a2) => (((1 - 3 * a2 + 3 * a1) * t + (3 * a2 - 6 * a1)) * t + 3 * a1) * t;
13819
14013
  var subdivisionPrecision = 1e-7;
13820
14014
  var subdivisionMaxIterations = 12;
@@ -13841,39 +14035,39 @@ function cubicBezier(mX1, mY1, mX2, mY2) {
13841
14035
  return (t) => t === 0 || t === 1 ? t : calcBezier(getTForX(t), mY1, mY2);
13842
14036
  }
13843
14037
 
13844
- // node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/modifiers/mirror.mjs
14038
+ // node_modules/.pnpm/motion-utils@13.3.0/node_modules/motion-utils/dist/es/easing/modifiers/mirror.mjs
13845
14039
  var mirrorEasing = /* @__NO_SIDE_EFFECTS__ */ (easing) => (p) => p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2;
13846
14040
 
13847
- // node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/modifiers/reverse.mjs
14041
+ // node_modules/.pnpm/motion-utils@13.3.0/node_modules/motion-utils/dist/es/easing/modifiers/reverse.mjs
13848
14042
  var reverseEasing = /* @__NO_SIDE_EFFECTS__ */ (easing) => (p) => 1 - easing(1 - p);
13849
14043
 
13850
- // node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/back.mjs
14044
+ // node_modules/.pnpm/motion-utils@13.3.0/node_modules/motion-utils/dist/es/easing/back.mjs
13851
14045
  var backOut = /* @__PURE__ */ cubicBezier(0.33, 1.53, 0.69, 0.99);
13852
14046
  var backIn = /* @__PURE__ */ reverseEasing(backOut);
13853
14047
  var backInOut = /* @__PURE__ */ mirrorEasing(backIn);
13854
14048
 
13855
- // node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/anticipate.mjs
14049
+ // node_modules/.pnpm/motion-utils@13.3.0/node_modules/motion-utils/dist/es/easing/anticipate.mjs
13856
14050
  var anticipate = (p) => p >= 1 ? 1 : (p *= 2) < 1 ? 0.5 * backIn(p) : 0.5 * (2 - Math.pow(2, -10 * (p - 1)));
13857
14051
 
13858
- // node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/circ.mjs
14052
+ // node_modules/.pnpm/motion-utils@13.3.0/node_modules/motion-utils/dist/es/easing/circ.mjs
13859
14053
  var circIn = (p) => 1 - Math.sin(Math.acos(p));
13860
14054
  var circOut = reverseEasing(circIn);
13861
14055
  var circInOut = mirrorEasing(circIn);
13862
14056
 
13863
- // node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/ease.mjs
14057
+ // node_modules/.pnpm/motion-utils@13.3.0/node_modules/motion-utils/dist/es/easing/ease.mjs
13864
14058
  var easeIn = /* @__PURE__ */ cubicBezier(0.42, 0, 1, 1);
13865
14059
  var easeOut = /* @__PURE__ */ cubicBezier(0, 0, 0.58, 1);
13866
14060
  var easeInOut = /* @__PURE__ */ cubicBezier(0.42, 0, 0.58, 1);
13867
14061
 
13868
- // node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/utils/is-easing-array.mjs
14062
+ // node_modules/.pnpm/motion-utils@13.3.0/node_modules/motion-utils/dist/es/easing/utils/is-easing-array.mjs
13869
14063
  var isEasingArray = /* @__NO_SIDE_EFFECTS__ */ (ease2) => {
13870
14064
  return Array.isArray(ease2) && typeof ease2[0] !== "number";
13871
14065
  };
13872
14066
 
13873
- // node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.mjs
14067
+ // node_modules/.pnpm/motion-utils@13.3.0/node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.mjs
13874
14068
  var isBezierDefinition = /* @__NO_SIDE_EFFECTS__ */ (easing) => Array.isArray(easing) && typeof easing[0] === "number";
13875
14069
 
13876
- // node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/utils/map.mjs
14070
+ // node_modules/.pnpm/motion-utils@13.3.0/node_modules/motion-utils/dist/es/easing/utils/map.mjs
13877
14071
  var easingLookup = {
13878
14072
  linear: noop4,
13879
14073
  easeIn,
@@ -13902,7 +14096,7 @@ var easingDefinitionToFunction = (definition) => {
13902
14096
  return definition;
13903
14097
  };
13904
14098
 
13905
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/frameloop/order.mjs
14099
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/frameloop/order.mjs
13906
14100
  var stepsOrder = [
13907
14101
  "setup",
13908
14102
  // Compute
@@ -13922,13 +14116,13 @@ var stepsOrder = [
13922
14116
  // Compute
13923
14117
  ];
13924
14118
 
13925
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/frameloop/render-step.mjs
14119
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/frameloop/render-step.mjs
13926
14120
  function createRenderStep(runNextFrame) {
13927
14121
  let thisFrame = /* @__PURE__ */ new Set();
13928
14122
  let nextFrame = /* @__PURE__ */ new Set();
13929
14123
  let isProcessing = false;
13930
14124
  let flushNextFrame = false;
13931
- const toKeepAlive = /* @__PURE__ */ new WeakSet();
14125
+ const toKeepAlive = /* @__PURE__ */ new Set();
13932
14126
  let latestFrameData = {
13933
14127
  delta: 0,
13934
14128
  timestamp: 0,
@@ -13936,7 +14130,7 @@ function createRenderStep(runNextFrame) {
13936
14130
  };
13937
14131
  function triggerCallback(callback) {
13938
14132
  if (toKeepAlive.has(callback)) {
13939
- step.schedule(callback);
14133
+ nextFrame.add(callback);
13940
14134
  runNextFrame();
13941
14135
  }
13942
14136
  callback(latestFrameData);
@@ -13985,7 +14179,7 @@ function createRenderStep(runNextFrame) {
13985
14179
  return step;
13986
14180
  }
13987
14181
 
13988
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/frameloop/batcher.mjs
14182
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/frameloop/batcher.mjs
13989
14183
  var maxElapsed = 40;
13990
14184
  function createRenderBatcher(scheduleNextBatch, allowKeepAlive) {
13991
14185
  let runNextFrame = false;
@@ -14048,10 +14242,10 @@ function createRenderBatcher(scheduleNextBatch, allowKeepAlive) {
14048
14242
  return { schedule, cancel, state, steps };
14049
14243
  }
14050
14244
 
14051
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/frameloop/frame.mjs
14245
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/frameloop/frame.mjs
14052
14246
  var { schedule: frame, cancel: cancelFrame, state: frameData, steps: frameSteps } = /* @__PURE__ */ createRenderBatcher(typeof requestAnimationFrame !== "undefined" ? requestAnimationFrame : noop4, true);
14053
14247
 
14054
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/frameloop/sync-time.mjs
14248
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/frameloop/sync-time.mjs
14055
14249
  var now;
14056
14250
  function clearTime() {
14057
14251
  now = void 0;
@@ -14069,7 +14263,10 @@ var time2 = {
14069
14263
  }
14070
14264
  };
14071
14265
 
14072
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/utils/is-css-variable.mjs
14266
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/value/types/utils/sanitize.mjs
14267
+ var sanitize = (v) => Math.round(v * 1e5) / 1e5;
14268
+
14269
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/utils/is-css-variable.mjs
14073
14270
  var checkStringStartsWith = (token) => (key) => typeof key === "string" && key.startsWith(token);
14074
14271
  var isCSSVariableName = /* @__PURE__ */ checkStringStartsWith("--");
14075
14272
  var startsAsVariableToken = /* @__PURE__ */ checkStringStartsWith("var(--");
@@ -14086,7 +14283,7 @@ function containsCSSVariable(value) {
14086
14283
  return value.split("/*")[0].includes("var(--");
14087
14284
  }
14088
14285
 
14089
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/value/types/numbers/index.mjs
14286
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/value/types/numbers/index.mjs
14090
14287
  var number3 = {
14091
14288
  test: (v) => typeof v === "number",
14092
14289
  parse: parseFloat,
@@ -14101,21 +14298,18 @@ var scale = {
14101
14298
  default: 1
14102
14299
  };
14103
14300
 
14104
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/value/types/utils/sanitize.mjs
14105
- var sanitize = (v) => Math.round(v * 1e5) / 1e5;
14106
-
14107
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/value/types/utils/float-regex.mjs
14301
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/value/types/utils/float-regex.mjs
14108
14302
  var floatRegex = /-?(?:\d+(?:\.\d+)?|\.\d+)/gu;
14109
14303
 
14110
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/value/types/utils/is-nullish.mjs
14304
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/value/types/utils/is-nullish.mjs
14111
14305
  function isNullish(v) {
14112
14306
  return v == null;
14113
14307
  }
14114
14308
 
14115
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.mjs
14309
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.mjs
14116
14310
  var singleColorRegex = /^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu;
14117
14311
 
14118
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/value/types/color/utils.mjs
14312
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/value/types/color/utils.mjs
14119
14313
  var isColorString = (type, testProp) => (v) => {
14120
14314
  return Boolean(typeof v === "string" && singleColorRegex.test(v) && v.startsWith(type) || testProp && !isNullish(v) && Object.prototype.hasOwnProperty.call(v, testProp));
14121
14315
  };
@@ -14131,7 +14325,7 @@ var splitColor = (aName, bName, cName) => (v) => {
14131
14325
  };
14132
14326
  };
14133
14327
 
14134
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/value/types/color/rgba.mjs
14328
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/value/types/color/rgba.mjs
14135
14329
  var clampRgbUnit = (v) => clamp3(0, 255, v);
14136
14330
  var rgbUnit = {
14137
14331
  ...number3,
@@ -14143,7 +14337,7 @@ var rgba = {
14143
14337
  transform: ({ red, green, blue, alpha: alpha$1 = 1 }) => "rgba(" + rgbUnit.transform(red) + ", " + rgbUnit.transform(green) + ", " + rgbUnit.transform(blue) + ", " + sanitize(alpha.transform(alpha$1)) + ")"
14144
14338
  };
14145
14339
 
14146
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/value/types/color/hex.mjs
14340
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/value/types/color/hex.mjs
14147
14341
  function parseHex(v) {
14148
14342
  let r = "";
14149
14343
  let g = "";
@@ -14177,7 +14371,7 @@ var hex2 = {
14177
14371
  transform: rgba.transform
14178
14372
  };
14179
14373
 
14180
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/value/types/numbers/units.mjs
14374
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/value/types/numbers/units.mjs
14181
14375
  var createUnitType = /* @__NO_SIDE_EFFECTS__ */ (unit) => ({
14182
14376
  test: (v) => typeof v === "string" && v.endsWith(unit) && v.split(" ").length === 1,
14183
14377
  parse: parseFloat,
@@ -14194,7 +14388,7 @@ var progressPercentage = /* @__PURE__ */ (() => ({
14194
14388
  transform: (v) => percent.transform(v * 100)
14195
14389
  }))();
14196
14390
 
14197
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/value/types/color/hsla.mjs
14391
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/value/types/color/hsla.mjs
14198
14392
  var hsla = {
14199
14393
  test: /* @__PURE__ */ isColorString("hsl", "hue"),
14200
14394
  parse: /* @__PURE__ */ splitColor("hue", "saturation", "lightness"),
@@ -14203,7 +14397,7 @@ var hsla = {
14203
14397
  }
14204
14398
  };
14205
14399
 
14206
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/value/types/color/index.mjs
14400
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/value/types/color/index.mjs
14207
14401
  var color = {
14208
14402
  test: (v) => rgba.test(v) || hex2.test(v) || hsla.test(v),
14209
14403
  parse: (v) => {
@@ -14225,12 +14419,14 @@ var color = {
14225
14419
  }
14226
14420
  };
14227
14421
 
14228
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/value/types/utils/color-regex.mjs
14422
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/value/types/utils/color-regex.mjs
14229
14423
  var colorRegex = /(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;
14230
14424
 
14231
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/value/types/complex/index.mjs
14425
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/value/types/complex/index.mjs
14426
+ var hasFloat = /* @__PURE__ */ new RegExp(floatRegex.source);
14427
+ var hasColor = /* @__PURE__ */ new RegExp(colorRegex.source, "i");
14232
14428
  function test(v) {
14233
- return isNaN(v) && typeof v === "string" && (v.match(floatRegex)?.length || 0) + (v.match(colorRegex)?.length || 0) > 0;
14429
+ return isNaN(v) && typeof v === "string" && (hasFloat.test(v) || hasColor.test(v));
14234
14430
  }
14235
14431
  var NUMBER_TOKEN = "number";
14236
14432
  var COLOR_TOKEN = "color";
@@ -14238,6 +14434,10 @@ var VAR_TOKEN = "var";
14238
14434
  var VAR_FUNCTION_TOKEN = "var(";
14239
14435
  var SPLIT_TOKEN = "${}";
14240
14436
  var complexRegex = /var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;
14437
+ function hasComplexValues(value) {
14438
+ const asString = value.toString();
14439
+ return hasFloat.test(asString) || hasColor.test(asString);
14440
+ }
14241
14441
  function analyseComplexValue(value) {
14242
14442
  const originalValue = value.toString();
14243
14443
  const values = [];
@@ -14313,7 +14513,7 @@ var complex = {
14313
14513
  getAnimatableNone
14314
14514
  };
14315
14515
 
14316
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.mjs
14516
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.mjs
14317
14517
  function hueToRgb(p, q, t) {
14318
14518
  if (t < 0)
14319
14519
  t += 1;
@@ -14351,17 +14551,17 @@ function hslaToRgba({ hue, saturation, lightness, alpha: alpha2 }) {
14351
14551
  };
14352
14552
  }
14353
14553
 
14354
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/utils/mix/immediate.mjs
14554
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/utils/mix/immediate.mjs
14355
14555
  function mixImmediate(a, b) {
14356
14556
  return (p) => p > 0 ? b : a;
14357
14557
  }
14358
14558
 
14359
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/utils/mix/number.mjs
14559
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/utils/mix/number.mjs
14360
14560
  var mixNumber = (from, to, progress2) => {
14361
14561
  return from + (to - from) * progress2;
14362
14562
  };
14363
14563
 
14364
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/utils/mix/color.mjs
14564
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/utils/mix/color.mjs
14365
14565
  var mixLinearColor = (from, to, v) => {
14366
14566
  const fromExpo = from * from;
14367
14567
  const expo = v * (to * to - fromExpo) + fromExpo;
@@ -14371,9 +14571,10 @@ var colorTypes = [hex2, rgba, hsla];
14371
14571
  var getColorType = (v) => colorTypes.find((type) => type.test(v));
14372
14572
  function asRGBA(color2) {
14373
14573
  const type = getColorType(color2);
14374
- warning(Boolean(type), `'${color2}' is not an animatable color. Use the equivalent color code instead.`, "color-not-animatable");
14375
- if (!Boolean(type))
14574
+ if (!type) {
14575
+ warning(false, `'${color2}' is not an animatable color. Use the equivalent color code instead.`, "color-not-animatable");
14376
14576
  return false;
14577
+ }
14377
14578
  let model = type.parse(color2);
14378
14579
  if (type === hsla) {
14379
14580
  model = hslaToRgba(model);
@@ -14396,7 +14597,7 @@ var mixColor = (from, to) => {
14396
14597
  };
14397
14598
  };
14398
14599
 
14399
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/utils/mix/visibility.mjs
14600
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/utils/mix/visibility.mjs
14400
14601
  var invisibleValues = /* @__PURE__ */ new Set(["none", "hidden"]);
14401
14602
  function mixVisibility(origin, target) {
14402
14603
  if (invisibleValues.has(origin)) {
@@ -14406,7 +14607,7 @@ function mixVisibility(origin, target) {
14406
14607
  }
14407
14608
  }
14408
14609
 
14409
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/utils/mix/complex.mjs
14610
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/utils/mix/complex.mjs
14410
14611
  function mixNumber2(a, b) {
14411
14612
  return (p) => mixNumber(a, b, p);
14412
14613
  }
@@ -14476,16 +14677,34 @@ var mixComplex = (origin, target) => {
14476
14677
  }
14477
14678
  };
14478
14679
 
14479
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/utils/mix/index.mjs
14680
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/utils/mix/index.mjs
14681
+ var unitValue = /^(-?(?:\d+(?:\.\d*)?|\.\d+))([a-z%]*)$/iu;
14682
+ function mixUnit(from, to) {
14683
+ const a = unitValue.exec(from);
14684
+ if (!a)
14685
+ return;
14686
+ const b = unitValue.exec(to);
14687
+ if (!b || a[2] !== b[2])
14688
+ return;
14689
+ const unit = a[2];
14690
+ const origin = parseFloat(a[1]);
14691
+ const target = parseFloat(b[1]);
14692
+ return (p) => sanitize(mixNumber(origin, target, p)) + unit;
14693
+ }
14480
14694
  function mix(from, to, p) {
14481
14695
  if (typeof from === "number" && typeof to === "number" && typeof p === "number") {
14482
14696
  return mixNumber(from, to, p);
14483
14697
  }
14698
+ if (typeof from === "string" && typeof to === "string") {
14699
+ const mixer2 = mixUnit(from, to);
14700
+ if (mixer2)
14701
+ return mixer2;
14702
+ }
14484
14703
  const mixer = getMixer(from);
14485
14704
  return mixer(from, to);
14486
14705
  }
14487
14706
 
14488
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/drivers/frame.mjs
14707
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/drivers/frame.mjs
14489
14708
  var frameloopDriver = (update2) => {
14490
14709
  const passTimestamp = ({ timestamp }) => update2(timestamp);
14491
14710
  return {
@@ -14499,7 +14718,7 @@ var frameloopDriver = (update2) => {
14499
14718
  };
14500
14719
  };
14501
14720
 
14502
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/waapi/utils/linear.mjs
14721
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/waapi/utils/linear.mjs
14503
14722
  var generateLinearEasing = (easing, duration2, resolution = 10) => {
14504
14723
  let points = "";
14505
14724
  const numPoints = Math.max(Math.round(duration2 / resolution), 2);
@@ -14509,7 +14728,7 @@ var generateLinearEasing = (easing, duration2, resolution = 10) => {
14509
14728
  return `linear(${points.substring(0, points.length - 2)})`;
14510
14729
  };
14511
14730
 
14512
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.mjs
14731
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.mjs
14513
14732
  var maxGeneratorDuration = 2e4;
14514
14733
  function calcGeneratorDuration(generator, timeStep = 50, maxDuration = maxGeneratorDuration, keyframes2) {
14515
14734
  let duration2 = 0;
@@ -14523,7 +14742,7 @@ function calcGeneratorDuration(generator, timeStep = 50, maxDuration = maxGenera
14523
14742
  return duration2 >= maxDuration ? Infinity : duration2;
14524
14743
  }
14525
14744
 
14526
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs
14745
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs
14527
14746
  function createGeneratorEasing(options, scale2 = 100, createGenerator) {
14528
14747
  const generator = createGenerator({ ...options, keyframes: [0, scale2] });
14529
14748
  const duration2 = Math.min(calcGeneratorDuration(generator), maxGeneratorDuration);
@@ -14536,7 +14755,7 @@ function createGeneratorEasing(options, scale2 = 100, createGenerator) {
14536
14755
  };
14537
14756
  }
14538
14757
 
14539
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/generators/spring.mjs
14758
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/generators/spring.mjs
14540
14759
  var springDefaults = {
14541
14760
  // Default spring physics
14542
14761
  stiffness: 100,
@@ -14679,7 +14898,6 @@ function spring(optionsOrVisualDuration = springDefaults.visualDuration, bounce
14679
14898
  keyframes: [0, 1],
14680
14899
  bounce
14681
14900
  } : optionsOrVisualDuration;
14682
- let { restSpeed, restDelta } = options;
14683
14901
  const origin = options.keyframes[0];
14684
14902
  const target = options.keyframes[options.keyframes.length - 1];
14685
14903
  const state = { done: false, value: origin };
@@ -14687,80 +14905,110 @@ function spring(optionsOrVisualDuration = springDefaults.visualDuration, bounce
14687
14905
  ...options,
14688
14906
  velocity: -millisecondsToSeconds(options.velocity || 0)
14689
14907
  });
14690
- const initialVelocity = velocity || 0;
14691
14908
  const dampingRatio = damping / (2 * Math.sqrt(stiffness * mass));
14692
- const initialDelta = target - origin;
14693
14909
  const undampedAngularFreq = millisecondsToSeconds(Math.sqrt(stiffness / mass));
14694
14910
  const decay = dampingRatio * undampedAngularFreq;
14695
- const isGranularScale = Math.abs(initialDelta) < 5;
14696
- restSpeed || (restSpeed = isGranularScale ? springDefaults.restSpeed.granular : springDefaults.restSpeed.default);
14697
- restDelta || (restDelta = isGranularScale ? springDefaults.restDelta.granular : springDefaults.restDelta.default);
14911
+ const s = {
14912
+ target,
14913
+ delta: target - origin,
14914
+ velocity: velocity || 0,
14915
+ restSpeed: 0,
14916
+ restDelta: 0
14917
+ };
14918
+ const setRestThresholds = () => {
14919
+ const isGranularScale = Math.abs(s.delta) < 5;
14920
+ s.restSpeed = options.restSpeed || (isGranularScale ? springDefaults.restSpeed.granular : springDefaults.restSpeed.default);
14921
+ s.restDelta = options.restDelta || (isGranularScale ? springDefaults.restDelta.granular : springDefaults.restDelta.default);
14922
+ };
14923
+ setRestThresholds();
14698
14924
  let resolveSpring;
14699
14925
  let resolveVelocity;
14926
+ let update2;
14700
14927
  if (dampingRatio < 1) {
14701
14928
  const angularFreq = calcAngularFreq(undampedAngularFreq, dampingRatio);
14702
- const A = (initialVelocity + decay * initialDelta) / angularFreq;
14703
- const sinCoeff = decay * A + initialDelta * angularFreq;
14704
- const cosCoeff = decay * initialDelta - A * angularFreq;
14705
- let sampledT = -1;
14706
- let position = 0;
14707
- let velocityAtT = 0;
14929
+ const c = { A: 0, sinC: 0, cosC: 0, t: -1, env: 0, sin: 0, cos: 0 };
14930
+ update2 = () => {
14931
+ c.A = (s.velocity + decay * s.delta) / angularFreq;
14932
+ c.sinC = decay * c.A + s.delta * angularFreq;
14933
+ c.cosC = decay * s.delta - c.A * angularFreq;
14934
+ };
14708
14935
  const sample = (t) => {
14709
- if (t !== sampledT) {
14710
- sampledT = t;
14711
- const envelope = Math.exp(-decay * t);
14712
- const sin = Math.sin(angularFreq * t);
14713
- const cos = Math.cos(angularFreq * t);
14714
- position = target - envelope * (A * sin + initialDelta * cos);
14715
- velocityAtT = envelope * (sinCoeff * sin + cosCoeff * cos);
14936
+ if (t !== c.t) {
14937
+ c.t = t;
14938
+ c.env = Math.exp(-decay * t);
14939
+ c.sin = Math.sin(angularFreq * t);
14940
+ c.cos = Math.cos(angularFreq * t);
14716
14941
  }
14717
14942
  };
14718
14943
  resolveSpring = (t) => {
14719
14944
  sample(t);
14720
- return position;
14945
+ return s.target - c.env * (c.A * c.sin + s.delta * c.cos);
14721
14946
  };
14722
14947
  resolveVelocity = (t) => {
14723
14948
  sample(t);
14724
- return velocityAtT;
14949
+ return c.env * (c.sinC * c.sin + c.cosC * c.cos);
14725
14950
  };
14726
14951
  } else if (dampingRatio === 1) {
14727
- resolveSpring = (t) => target - Math.exp(-undampedAngularFreq * t) * (initialDelta + (initialVelocity + undampedAngularFreq * initialDelta) * t);
14728
- const C = initialVelocity + undampedAngularFreq * initialDelta;
14729
- resolveVelocity = (t) => Math.exp(-undampedAngularFreq * t) * (undampedAngularFreq * C * t - initialVelocity);
14952
+ resolveSpring = (t) => s.target - Math.exp(-undampedAngularFreq * t) * (s.delta + (s.velocity + undampedAngularFreq * s.delta) * t);
14953
+ const c = { C: 0 };
14954
+ update2 = () => {
14955
+ c.C = s.velocity + undampedAngularFreq * s.delta;
14956
+ };
14957
+ resolveVelocity = (t) => Math.exp(-undampedAngularFreq * t) * (undampedAngularFreq * c.C * t - s.velocity);
14730
14958
  } else {
14731
14959
  const dampedAngularFreq = undampedAngularFreq * Math.sqrt(dampingRatio * dampingRatio - 1);
14732
14960
  resolveSpring = (t) => {
14733
14961
  const envelope = Math.exp(-decay * t);
14734
14962
  const freqForT = Math.min(dampedAngularFreq * t, 300);
14735
- return target - envelope * ((initialVelocity + decay * initialDelta) * Math.sinh(freqForT) + dampedAngularFreq * initialDelta * Math.cosh(freqForT)) / dampedAngularFreq;
14963
+ return s.target - envelope * ((s.velocity + decay * s.delta) * Math.sinh(freqForT) + dampedAngularFreq * s.delta * Math.cosh(freqForT)) / dampedAngularFreq;
14964
+ };
14965
+ const c = { P: 0, sinh: 0, cosh: 0 };
14966
+ update2 = () => {
14967
+ c.P = (s.velocity + decay * s.delta) / dampedAngularFreq;
14968
+ c.sinh = decay * c.P - s.delta * dampedAngularFreq;
14969
+ c.cosh = decay * s.delta - c.P * dampedAngularFreq;
14736
14970
  };
14737
- const P = (initialVelocity + decay * initialDelta) / dampedAngularFreq;
14738
- const sinhCoeff = decay * P - initialDelta * dampedAngularFreq;
14739
- const coshCoeff = decay * initialDelta - P * dampedAngularFreq;
14740
14971
  resolveVelocity = (t) => {
14741
14972
  const envelope = Math.exp(-decay * t);
14742
14973
  const freqForT = Math.min(dampedAngularFreq * t, 300);
14743
- return envelope * (sinhCoeff * Math.sinh(freqForT) + coshCoeff * Math.cosh(freqForT));
14974
+ return envelope * (c.sinh * Math.sinh(freqForT) + c.cosh * Math.cosh(freqForT));
14744
14975
  };
14745
14976
  }
14977
+ update2();
14978
+ const ignoreVelocity = !isSpringType(options, physicsKeys) && isSpringType(options, durationKeys);
14979
+ const calculatedDuration = isResolvedFromDuration ? duration2 || null : null;
14746
14980
  const generator = {
14747
- calculatedDuration: isResolvedFromDuration ? duration2 || null : null,
14981
+ calculatedDuration,
14982
+ /**
14983
+ * Aim the spring at a new target from its current position and
14984
+ * velocity, reusing the resolved physics and closures.
14985
+ */
14986
+ retarget: (keyframes2, newVelocity) => {
14987
+ s.target = keyframes2[keyframes2.length - 1];
14988
+ s.delta = s.target - keyframes2[0];
14989
+ s.velocity = ignoreVelocity ? 0 : -millisecondsToSeconds(newVelocity);
14990
+ if (!(options.restSpeed && options.restDelta))
14991
+ setRestThresholds();
14992
+ generator.calculatedDuration = calculatedDuration;
14993
+ state.done = false;
14994
+ update2();
14995
+ },
14748
14996
  velocity: (t) => secondsToMilliseconds(resolveVelocity(t)),
14749
14997
  next: (t) => {
14750
14998
  const current = resolveSpring(t);
14751
14999
  if (!isResolvedFromDuration) {
14752
15000
  const currentVelocity = secondsToMilliseconds(resolveVelocity(t));
14753
- state.done = Math.abs(currentVelocity) <= restSpeed && Math.abs(target - current) <= restDelta;
15001
+ state.done = Math.abs(currentVelocity) <= s.restSpeed && Math.abs(s.target - current) <= s.restDelta;
14754
15002
  } else {
14755
15003
  state.done = t >= duration2;
14756
15004
  }
14757
- state.value = state.done ? target : current;
15005
+ state.value = state.done ? s.target : current;
14758
15006
  return state;
14759
15007
  },
14760
15008
  toString: () => {
14761
- const calculatedDuration = Math.min(calcGeneratorDuration(generator), maxGeneratorDuration);
14762
- const easing = generateLinearEasing((progress2) => generator.next(calculatedDuration * progress2).value, calculatedDuration, 30);
14763
- return calculatedDuration + "ms " + easing;
15009
+ const easingDuration = Math.min(calcGeneratorDuration(generator), maxGeneratorDuration);
15010
+ const easing = generateLinearEasing((progress2) => generator.next(easingDuration * progress2).value, easingDuration, 30);
15011
+ return easingDuration + "ms " + easing;
14764
15012
  },
14765
15013
  toTransition: () => {
14766
15014
  }
@@ -14775,7 +15023,7 @@ spring.applyToOptions = (options) => {
14775
15023
  return options;
14776
15024
  };
14777
15025
 
14778
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/generators/inertia.mjs
15026
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/generators/inertia.mjs
14779
15027
  function inertia({ keyframes: keyframes2, velocity = 0, power = 0.8, timeConstant = 325, bounceDamping = 10, bounceStiffness = 500, modifyTarget, min: min2, max: max2, restDelta = 0.5, restSpeed }) {
14780
15028
  const origin = keyframes2[0];
14781
15029
  const state = {
@@ -14841,7 +15089,7 @@ function inertia({ keyframes: keyframes2, velocity = 0, power = 0.8, timeConstan
14841
15089
  };
14842
15090
  }
14843
15091
 
14844
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/utils/interpolate.mjs
15092
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/utils/interpolate.mjs
14845
15093
  function createMixers(output2, ease2, customMixer) {
14846
15094
  const mixers = [];
14847
15095
  const mixerFactory = customMixer || MotionGlobalConfig.mix || mix;
@@ -14886,7 +15134,7 @@ function interpolate(input2, output2, { clamp: isClamp = true, ease: ease2, mixe
14886
15134
  return isClamp ? (v) => interpolator(clamp3(input2[0], input2[inputLength - 1], v)) : interpolator;
14887
15135
  }
14888
15136
 
14889
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.mjs
15137
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.mjs
14890
15138
  function fillOffset(offset4, remaining) {
14891
15139
  const min2 = offset4[offset4.length - 1];
14892
15140
  for (let i = 1; i <= remaining; i++) {
@@ -14895,19 +15143,19 @@ function fillOffset(offset4, remaining) {
14895
15143
  }
14896
15144
  }
14897
15145
 
14898
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.mjs
15146
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.mjs
14899
15147
  function defaultOffset(arr) {
14900
15148
  const offset4 = [0];
14901
15149
  fillOffset(offset4, arr.length - 1);
14902
15150
  return offset4;
14903
15151
  }
14904
15152
 
14905
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.mjs
15153
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.mjs
14906
15154
  function convertOffsetToTimes(offset4, duration2) {
14907
15155
  return offset4.map((o) => o * duration2);
14908
15156
  }
14909
15157
 
14910
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/generators/keyframes.mjs
15158
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/generators/keyframes.mjs
14911
15159
  function defaultEasing(values, easing) {
14912
15160
  return values.map(() => easing || easeInOut).splice(0, values.length - 1);
14913
15161
  }
@@ -14917,6 +15165,18 @@ function keyframes({ duration: duration2 = 300, keyframes: keyframeValues, times
14917
15165
  done: false,
14918
15166
  value: keyframeValues[0]
14919
15167
  };
15168
+ if (keyframeValues.length === 2 && !Array.isArray(easingFunctions) && (!times || times.length !== 2 || times[0] === 0 && times[1] === 1)) {
15169
+ const [origin, target] = keyframeValues;
15170
+ const mixer = origin === target ? void 0 : (MotionGlobalConfig.mix || mix)(origin, target);
15171
+ return {
15172
+ calculatedDuration: duration2,
15173
+ next: (t) => {
15174
+ state.value = mixer ? mixer(easingFunctions(duration2 > 0 ? clamp3(0, 1, t / duration2) : 1)) : target;
15175
+ state.done = t >= duration2;
15176
+ return state;
15177
+ }
15178
+ };
15179
+ }
14920
15180
  const absoluteTimes = convertOffsetToTimes(
14921
15181
  // Only use the provided offsets if they're the correct length
14922
15182
  // TODO Maybe we should warn here if there's a length mismatch
@@ -14936,14 +15196,19 @@ function keyframes({ duration: duration2 = 300, keyframes: keyframeValues, times
14936
15196
  };
14937
15197
  }
14938
15198
 
14939
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.mjs
15199
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.mjs
14940
15200
  var velocitySampleDuration = 5;
14941
15201
  function getGeneratorVelocity(resolveValue2, t, current) {
14942
15202
  const prevT = Math.max(t - velocitySampleDuration, 0);
14943
15203
  return velocityPerSecond(current - resolveValue2(prevT), t - prevT);
14944
15204
  }
15205
+ function calcGeneratorVelocity(generator, t, initialVelocity = 0) {
15206
+ if (t <= 0)
15207
+ return initialVelocity;
15208
+ return generator.velocity ? generator.velocity(t) : getGeneratorVelocity((s) => generator.next(s).value, t, generator.next(t).value);
15209
+ }
14945
15210
 
14946
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs
15211
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs
14947
15212
  var isNotNull = (value) => value !== null;
14948
15213
  function getFinalKeyframe(keyframes2, { repeat, repeatType = "loop" }, finalKeyframe, speed = 1) {
14949
15214
  const resolvedKeyframes = keyframes2.filter(isNotNull);
@@ -14952,7 +15217,7 @@ function getFinalKeyframe(keyframes2, { repeat, repeatType = "loop" }, finalKeyf
14952
15217
  return !index3 || finalKeyframe === void 0 ? resolvedKeyframes[index3] : finalKeyframe;
14953
15218
  }
14954
15219
 
14955
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.mjs
15220
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.mjs
14956
15221
  var transitionTypeMap = {
14957
15222
  decay: inertia,
14958
15223
  inertia,
@@ -14966,21 +15231,61 @@ function replaceTransitionType(transition) {
14966
15231
  }
14967
15232
  }
14968
15233
 
14969
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs
15234
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/utils/notify-inspector.mjs
15235
+ function baseRecord(kind, animation) {
15236
+ return {
15237
+ kind,
15238
+ animation,
15239
+ timestamp: time2.now(),
15240
+ frameTimestamp: frameData.timestamp,
15241
+ frameIsProcessing: frameData.isProcessing
15242
+ };
15243
+ }
15244
+ function notifyAnimationStart(animation, options, transition) {
15245
+ const notify2 = globalThis.__MOTION_INSPECT__;
15246
+ if (!notify2)
15247
+ return;
15248
+ try {
15249
+ notify2({
15250
+ ...baseRecord("animation-start", animation),
15251
+ options: transition ? { ...options, ...transition } : options
15252
+ });
15253
+ } catch {
15254
+ }
15255
+ }
15256
+ function notifyLayoutAnimationStart(animation, node) {
15257
+ const notify2 = globalThis.__MOTION_INSPECT__;
15258
+ if (!notify2)
15259
+ return;
15260
+ try {
15261
+ notify2({
15262
+ ...baseRecord("layout-animation-start", animation),
15263
+ node
15264
+ });
15265
+ } catch {
15266
+ }
15267
+ }
15268
+
15269
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs
14970
15270
  var WithPromise = class {
14971
15271
  constructor() {
14972
- this.updateFinished();
15272
+ this.isResolved = false;
14973
15273
  }
14974
15274
  get finished() {
15275
+ if (!this._finished) {
15276
+ this._finished = this.isResolved ? Promise.resolve() : new Promise((resolve) => {
15277
+ this._resolve = resolve;
15278
+ });
15279
+ }
14975
15280
  return this._finished;
14976
15281
  }
14977
15282
  updateFinished() {
14978
- this._finished = new Promise((resolve) => {
14979
- this.resolve = resolve;
14980
- });
15283
+ this._finished = this._resolve = void 0;
15284
+ this.isResolved = false;
14981
15285
  }
14982
15286
  notifyFinished() {
14983
- this.resolve();
15287
+ this.isResolved = true;
15288
+ this._resolve?.();
14984
15289
  }
14985
15290
  /**
14986
15291
  * Allows the animation to be awaited.
@@ -14992,7 +15297,7 @@ var WithPromise = class {
14992
15297
  }
14993
15298
  };
14994
15299
 
14995
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/JSAnimation.mjs
15300
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/JSAnimation.mjs
14996
15301
  var percentToProgress = (percent2) => percent2 / 100;
14997
15302
  var JSAnimation = class extends WithPromise {
14998
15303
  constructor(options) {
@@ -15023,6 +15328,7 @@ var JSAnimation = class extends WithPromise {
15023
15328
  this.play();
15024
15329
  if (options.autoplay === false)
15025
15330
  this.pause();
15331
+ notifyAnimationStart(this, this.options);
15026
15332
  }
15027
15333
  initAnimation() {
15028
15334
  const { options } = this;
@@ -15037,7 +15343,7 @@ var JSAnimation = class extends WithPromise {
15037
15343
  this.mixKeyframes = pipe2(percentToProgress, mix(keyframes$1[0], keyframes$1[1]));
15038
15344
  keyframes$1 = [0, 100];
15039
15345
  }
15040
- const generator = generatorFactory({ ...options, keyframes: keyframes$1 });
15346
+ const generator = generatorFactory(keyframes$1 === options.keyframes ? options : { ...options, keyframes: keyframes$1 });
15041
15347
  if (repeatType === "mirror") {
15042
15348
  this.mirroredGenerator = generatorFactory({
15043
15349
  ...options,
@@ -15174,14 +15480,7 @@ var JSAnimation = class extends WithPromise {
15174
15480
  * the MotionValue's frame-dependent velocity estimation.
15175
15481
  */
15176
15482
  getGeneratorVelocity() {
15177
- const t = this.currentTime;
15178
- if (t <= 0)
15179
- return this.options.velocity || 0;
15180
- if (this.generator.velocity) {
15181
- return this.generator.velocity(t);
15182
- }
15183
- const current = this.generator.next(t).value;
15184
- return getGeneratorVelocity((s) => this.generator.next(s).value, t, current);
15483
+ return calcGeneratorVelocity(this.generator, this.currentTime, this.options.velocity);
15185
15484
  }
15186
15485
  get speed() {
15187
15486
  return this.playbackSpeed;
@@ -15271,14 +15570,184 @@ var JSAnimation = class extends WithPromise {
15271
15570
  }
15272
15571
  };
15273
15572
 
15274
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.mjs
15573
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/value/types/complex/filter.mjs
15574
+ var maxDefaults = /* @__PURE__ */ new Set(["brightness", "contrast", "saturate", "opacity"]);
15575
+ function applyDefaultFilter(v) {
15576
+ const [name, value] = v.slice(0, -1).split("(");
15577
+ if (name === "drop-shadow")
15578
+ return v;
15579
+ const [number4] = value.match(floatRegex) || [];
15580
+ if (!number4)
15581
+ return v;
15582
+ const unit = value.replace(number4, "");
15583
+ let defaultValue = maxDefaults.has(name) ? 1 : 0;
15584
+ if (number4 !== value)
15585
+ defaultValue *= 100;
15586
+ return name + "(" + defaultValue + unit + ")";
15587
+ }
15588
+ var functionRegex = /\b([a-z-]*)\(.*?\)/gu;
15589
+ var filter = {
15590
+ ...complex,
15591
+ getAnimatableNone: (v) => {
15592
+ const functions = v.match(functionRegex);
15593
+ return functions ? functions.map(applyDefaultFilter).join(" ") : v;
15594
+ }
15595
+ };
15596
+
15597
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/value/types/complex/mask.mjs
15598
+ var mask = {
15599
+ ...complex,
15600
+ getAnimatableNone: (v) => {
15601
+ const parsed = complex.parse(v);
15602
+ const transformer = complex.createTransformer(v);
15603
+ return transformer(parsed.map((v2) => typeof v2 === "number" ? 0 : typeof v2 === "object" ? { ...v2, alpha: 1 } : v2));
15604
+ }
15605
+ };
15606
+
15607
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/value/types/int.mjs
15608
+ var int2 = {
15609
+ ...number3,
15610
+ transform: Math.round
15611
+ };
15612
+
15613
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/value/types/maps/transform.mjs
15614
+ var transformValueTypes = {
15615
+ rotate: degrees,
15616
+ /**
15617
+ * Internal channel for `transition.path` orientToPath. Composed onto
15618
+ * `rotate` at the transform-build sites so the user's `rotate` is
15619
+ * never read or overwritten. Not part of `transformPropOrder`.
15620
+ */
15621
+ pathRotation: degrees,
15622
+ rotateX: degrees,
15623
+ rotateY: degrees,
15624
+ rotateZ: degrees,
15625
+ scale,
15626
+ scaleX: scale,
15627
+ scaleY: scale,
15628
+ scaleZ: scale,
15629
+ skew: degrees,
15630
+ skewX: degrees,
15631
+ skewY: degrees,
15632
+ distance: px,
15633
+ translateX: px,
15634
+ translateY: px,
15635
+ translateZ: px,
15636
+ x: px,
15637
+ y: px,
15638
+ z: px,
15639
+ perspective: px,
15640
+ transformPerspective: px,
15641
+ opacity: alpha,
15642
+ originX: progressPercentage,
15643
+ originY: progressPercentage,
15644
+ originZ: px
15645
+ };
15646
+
15647
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/value/types/maps/number.mjs
15648
+ var numberValueTypes = {
15649
+ // Border props
15650
+ borderWidth: px,
15651
+ borderTopWidth: px,
15652
+ borderRightWidth: px,
15653
+ borderBottomWidth: px,
15654
+ borderLeftWidth: px,
15655
+ borderRadius: px,
15656
+ borderTopLeftRadius: px,
15657
+ borderTopRightRadius: px,
15658
+ borderBottomRightRadius: px,
15659
+ borderBottomLeftRadius: px,
15660
+ // Positioning props
15661
+ width: px,
15662
+ maxWidth: px,
15663
+ height: px,
15664
+ maxHeight: px,
15665
+ top: px,
15666
+ right: px,
15667
+ bottom: px,
15668
+ left: px,
15669
+ inset: px,
15670
+ insetBlock: px,
15671
+ insetBlockStart: px,
15672
+ insetBlockEnd: px,
15673
+ insetInline: px,
15674
+ insetInlineStart: px,
15675
+ insetInlineEnd: px,
15676
+ // Spacing props
15677
+ padding: px,
15678
+ paddingTop: px,
15679
+ paddingRight: px,
15680
+ paddingBottom: px,
15681
+ paddingLeft: px,
15682
+ paddingBlock: px,
15683
+ paddingBlockStart: px,
15684
+ paddingBlockEnd: px,
15685
+ paddingInline: px,
15686
+ paddingInlineStart: px,
15687
+ paddingInlineEnd: px,
15688
+ margin: px,
15689
+ marginTop: px,
15690
+ marginRight: px,
15691
+ marginBottom: px,
15692
+ marginLeft: px,
15693
+ marginBlock: px,
15694
+ marginBlockStart: px,
15695
+ marginBlockEnd: px,
15696
+ marginInline: px,
15697
+ marginInlineStart: px,
15698
+ marginInlineEnd: px,
15699
+ // Typography
15700
+ fontSize: px,
15701
+ // Misc
15702
+ backgroundPositionX: px,
15703
+ backgroundPositionY: px,
15704
+ ...transformValueTypes,
15705
+ zIndex: int2,
15706
+ // SVG
15707
+ fillOpacity: alpha,
15708
+ strokeOpacity: alpha,
15709
+ numOctaves: int2
15710
+ };
15711
+
15712
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/value/types/maps/defaults.mjs
15713
+ var defaultValueTypes = {
15714
+ ...numberValueTypes,
15715
+ // Color props
15716
+ color,
15717
+ backgroundColor: color,
15718
+ outlineColor: color,
15719
+ fill: color,
15720
+ stroke: color,
15721
+ // Border props
15722
+ borderColor: color,
15723
+ borderTopColor: color,
15724
+ borderRightColor: color,
15725
+ borderBottomColor: color,
15726
+ borderLeftColor: color,
15727
+ filter,
15728
+ WebkitFilter: filter,
15729
+ mask,
15730
+ WebkitMask: mask
15731
+ };
15732
+ var getDefaultValueType = (key) => defaultValueTypes[key];
15733
+
15734
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs
15735
+ var customTypes = /* @__PURE__ */ new Set([filter, mask]);
15736
+ function getAnimatableNone2(key, value) {
15737
+ let defaultValueType = getDefaultValueType(key);
15738
+ if (!customTypes.has(defaultValueType))
15739
+ defaultValueType = complex;
15740
+ return defaultValueType.getAnimatableNone ? defaultValueType.getAnimatableNone(value) : void 0;
15741
+ }
15742
+
15743
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.mjs
15275
15744
  function fillWildcards(keyframes2) {
15276
15745
  for (let i = 1; i < keyframes2.length; i++) {
15277
15746
  keyframes2[i] ?? (keyframes2[i] = keyframes2[i - 1]);
15278
15747
  }
15279
15748
  }
15280
15749
 
15281
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/render/dom/parse-transform.mjs
15750
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/render/dom/parse-transform.mjs
15282
15751
  var radToDeg = (rad) => rad * 180 / Math.PI;
15283
15752
  var rotate = (v) => {
15284
15753
  const angle = radToDeg(Math.atan2(v[1], v[0]));
@@ -15358,7 +15827,7 @@ function convertTransformToNumber(value) {
15358
15827
  return parseFloat(value.trim());
15359
15828
  }
15360
15829
 
15361
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/render/utils/keys-transform.mjs
15830
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/render/utils/keys-transform.mjs
15362
15831
  var transformPropOrder = [
15363
15832
  "transformPerspective",
15364
15833
  "x",
@@ -15380,7 +15849,7 @@ var transformPropOrder = [
15380
15849
  ];
15381
15850
  var transformProps = /* @__PURE__ */ (() => /* @__PURE__ */ new Set([...transformPropOrder, "pathRotation"]))();
15382
15851
 
15383
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs
15852
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs
15384
15853
  var isNumOrPxType = (v) => v === number3 || v === px;
15385
15854
  var transformKeys = /* @__PURE__ */ new Set(["x", "y", "z"]);
15386
15855
  var nonTranslationalTransformKeys = transformPropOrder.filter((key) => !transformKeys.has(key));
@@ -15389,44 +15858,67 @@ function removeNonTranslationalTransform(visualElement) {
15389
15858
  nonTranslationalTransformKeys.forEach((key) => {
15390
15859
  const value = visualElement.getValue(key);
15391
15860
  if (value !== void 0) {
15392
- removedTransforms.push([key, value.get()]);
15393
- value.set(key.startsWith("scale") ? 1 : 0);
15861
+ const current = value.get();
15862
+ const reset = key.startsWith("scale") ? 1 : 0;
15863
+ if (current === reset)
15864
+ return;
15865
+ removedTransforms.push([key, current]);
15866
+ value.set(reset);
15394
15867
  }
15395
15868
  });
15396
15869
  return removedTransforms;
15397
15870
  }
15871
+ var boxDependentValues = /* @__PURE__ */ new Set(["bottom", "right"]);
15872
+ function measureDimension(computed, measureBox, axis, paddingStart, paddingEnd, boxSizing) {
15873
+ const px2 = parseFloat(computed);
15874
+ if (!isNaN(px2))
15875
+ return px2;
15876
+ const { min: min2, max: max2 } = measureBox()[axis];
15877
+ const size4 = max2 - min2;
15878
+ return boxSizing === "border-box" ? size4 : size4 - parseFloat(paddingStart) - parseFloat(paddingEnd);
15879
+ }
15398
15880
  var positionalValues = {
15399
15881
  // Dimensions
15400
- width: ({ x }, { paddingLeft = "0", paddingRight = "0", boxSizing }) => {
15401
- const width = x.max - x.min;
15402
- return boxSizing === "border-box" ? width : width - parseFloat(paddingLeft) - parseFloat(paddingRight);
15882
+ width: ({ width, paddingLeft = "0", paddingRight = "0", boxSizing }, measureBox) => measureDimension(width, measureBox, "x", paddingLeft, paddingRight, boxSizing),
15883
+ height: ({ height: height2, paddingTop = "0", paddingBottom = "0", boxSizing }, measureBox) => measureDimension(height2, measureBox, "y", paddingTop, paddingBottom, boxSizing),
15884
+ top: ({ top }) => parseFloat(top),
15885
+ left: ({ left }) => parseFloat(left),
15886
+ bottom: ({ top }, measureBox) => {
15887
+ const { y } = measureBox();
15888
+ return parseFloat(top) + (y.max - y.min);
15403
15889
  },
15404
- height: ({ y }, { paddingTop = "0", paddingBottom = "0", boxSizing }) => {
15405
- const height2 = y.max - y.min;
15406
- return boxSizing === "border-box" ? height2 : height2 - parseFloat(paddingTop) - parseFloat(paddingBottom);
15890
+ right: ({ left }, measureBox) => {
15891
+ const { x } = measureBox();
15892
+ return parseFloat(left) + (x.max - x.min);
15407
15893
  },
15408
- top: (_bbox, { top }) => parseFloat(top),
15409
- left: (_bbox, { left }) => parseFloat(left),
15410
- bottom: ({ y }, { top }) => parseFloat(top) + (y.max - y.min),
15411
- right: ({ x }, { left }) => parseFloat(left) + (x.max - x.min),
15412
15894
  // Transform
15413
- x: (_bbox, { transform: transform2 }) => parseValueFromTransform(transform2, "x"),
15414
- y: (_bbox, { transform: transform2 }) => parseValueFromTransform(transform2, "y")
15895
+ x: ({ transform: transform2 }) => parseValueFromTransform(transform2, "x"),
15896
+ y: ({ transform: transform2 }) => parseValueFromTransform(transform2, "y")
15415
15897
  };
15416
15898
  positionalValues.translateX = positionalValues.x;
15417
15899
  positionalValues.translateY = positionalValues.y;
15418
15900
 
15419
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs
15901
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs
15420
15902
  var toResolve = /* @__PURE__ */ new Set();
15421
15903
  var isScheduled = false;
15422
15904
  var anyNeedsMeasurement = false;
15423
15905
  var isForced = false;
15424
15906
  function measureAllKeyframes() {
15425
15907
  if (anyNeedsMeasurement) {
15426
- const resolversToMeasure = Array.from(toResolve).filter((resolver) => resolver.needsMeasurement);
15427
- const elementsToMeasure = new Set(resolversToMeasure.map((resolver) => resolver.element));
15908
+ const resolversToMeasure = [];
15909
+ const elementsToMeasure = /* @__PURE__ */ new Set();
15910
+ const elementsToUntransform = /* @__PURE__ */ new Set();
15911
+ toResolve.forEach((resolver) => {
15912
+ if (!resolver.needsMeasurement)
15913
+ return;
15914
+ resolversToMeasure.push(resolver);
15915
+ elementsToMeasure.add(resolver.element);
15916
+ if (boxDependentValues.has(resolver.name)) {
15917
+ elementsToUntransform.add(resolver.element);
15918
+ }
15919
+ });
15428
15920
  const transformsToRestore = /* @__PURE__ */ new Map();
15429
- elementsToMeasure.forEach((element) => {
15921
+ elementsToUntransform.forEach((element) => {
15430
15922
  const removedTransforms = removeNonTranslationalTransform(element);
15431
15923
  if (!removedTransforms.length)
15432
15924
  return;
@@ -15469,6 +15961,16 @@ function flushKeyframeResolvers() {
15469
15961
  measureAllKeyframes();
15470
15962
  isForced = false;
15471
15963
  }
15964
+ function readOrigin(value, name, target) {
15965
+ if (typeof value === "string") {
15966
+ if (isNumericalString(value) || isZeroValueString(value)) {
15967
+ return parseFloat(value);
15968
+ } else if (!complex.test(value) && complex.test(target)) {
15969
+ return getAnimatableNone2(name, target);
15970
+ }
15971
+ }
15972
+ return value ?? void 0;
15973
+ }
15472
15974
  var KeyframeResolver = class {
15473
15975
  constructor(unresolvedKeyframes, onComplete, name, motionValue2, element, isAsync = false) {
15474
15976
  this.state = "pending";
@@ -15503,8 +16005,8 @@ var KeyframeResolver = class {
15503
16005
  if (currentValue !== void 0) {
15504
16006
  unresolvedKeyframes[0] = currentValue;
15505
16007
  } else if (element && name) {
15506
- const valueAsRead = element.readValue(name, finalKeyframe);
15507
- if (valueAsRead !== void 0 && valueAsRead !== null) {
16008
+ const valueAsRead = readOrigin(element.readValue(name, finalKeyframe), name, finalKeyframe);
16009
+ if (valueAsRead !== void 0) {
15508
16010
  unresolvedKeyframes[0] = valueAsRead;
15509
16011
  }
15510
16012
  }
@@ -15542,27 +16044,27 @@ var KeyframeResolver = class {
15542
16044
  }
15543
16045
  };
15544
16046
 
15545
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/render/dom/is-css-var.mjs
16047
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/render/dom/is-css-var.mjs
15546
16048
  var isCSSVar = (name) => name.startsWith("--");
15547
16049
 
15548
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/render/dom/style-set.mjs
16050
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/render/dom/style-set.mjs
15549
16051
  function setStyle(element, name, value) {
15550
16052
  isCSSVar(name) ? element.style.setProperty(name, value) : element.style[name] = value;
15551
16053
  }
15552
16054
 
15553
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/utils/supports/flags.mjs
16055
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/utils/supports/flags.mjs
15554
16056
  var supportsFlags = {};
15555
16057
 
15556
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/utils/supports/memo.mjs
16058
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/utils/supports/memo.mjs
15557
16059
  function memoSupports(callback, supportsFlag) {
15558
16060
  const memoized = memo(callback);
15559
16061
  return () => supportsFlags[supportsFlag] ?? memoized();
15560
16062
  }
15561
16063
 
15562
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.mjs
16064
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.mjs
15563
16065
  var supportsScrollTimeline = /* @__PURE__ */ memoSupports(() => window.ScrollTimeline !== void 0, "scrollTimeline");
15564
16066
 
15565
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/utils/supports/linear-easing.mjs
16067
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/utils/supports/linear-easing.mjs
15566
16068
  var supportsLinearEasing = /* @__PURE__ */ memoSupports(() => {
15567
16069
  try {
15568
16070
  document.createElement("div").animate({ opacity: 0 }, { easing: "linear(0, 1)" });
@@ -15572,10 +16074,10 @@ var supportsLinearEasing = /* @__PURE__ */ memoSupports(() => {
15572
16074
  return true;
15573
16075
  }, "linearEasing");
15574
16076
 
15575
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.mjs
16077
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.mjs
15576
16078
  var cubicBezierAsString = ([a, b, c, d]) => `cubic-bezier(${a}, ${b}, ${c}, ${d})`;
15577
16079
 
15578
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/waapi/easing/supported.mjs
16080
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/waapi/easing/supported.mjs
15579
16081
  var supportedWaapiEasing = {
15580
16082
  linear: "linear",
15581
16083
  ease: "ease",
@@ -15588,7 +16090,7 @@ var supportedWaapiEasing = {
15588
16090
  backOut: /* @__PURE__ */ cubicBezierAsString([0.33, 1.53, 0.69, 0.99])
15589
16091
  };
15590
16092
 
15591
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.mjs
16093
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.mjs
15592
16094
  function mapEasingToNativeEasing(easing, duration2) {
15593
16095
  if (!easing) {
15594
16096
  return void 0;
@@ -15603,7 +16105,7 @@ function mapEasingToNativeEasing(easing, duration2) {
15603
16105
  }
15604
16106
  }
15605
16107
 
15606
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.mjs
16108
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.mjs
15607
16109
  function startWaapiAnimation(element, valueName, keyframes2, { delay: delay2 = 0, duration: duration2 = 300, repeat = 0, repeatType = "loop", ease: ease2 = "easeOut", times } = {}, pseudoElement = void 0) {
15608
16110
  const keyframeOptions = {
15609
16111
  [valueName]: keyframes2
@@ -15626,12 +16128,12 @@ function startWaapiAnimation(element, valueName, keyframes2, { delay: delay2 = 0
15626
16128
  return element.animate(keyframeOptions, options);
15627
16129
  }
15628
16130
 
15629
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.mjs
16131
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.mjs
15630
16132
  function isGenerator(type) {
15631
16133
  return typeof type === "function" && "applyToOptions" in type;
15632
16134
  }
15633
16135
 
15634
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.mjs
16136
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.mjs
15635
16137
  function applyGeneratorOptions({ type, ...options }) {
15636
16138
  if (isGenerator(type) && supportsLinearEasing()) {
15637
16139
  return type.applyToOptions(options);
@@ -15642,7 +16144,7 @@ function applyGeneratorOptions({ type, ...options }) {
15642
16144
  return options;
15643
16145
  }
15644
16146
 
15645
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/NativeAnimation.mjs
16147
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/NativeAnimation.mjs
15646
16148
  var NativeAnimation = class extends WithPromise {
15647
16149
  constructor(options) {
15648
16150
  super();
@@ -15674,6 +16176,7 @@ var NativeAnimation = class extends WithPromise {
15674
16176
  onComplete?.();
15675
16177
  this.notifyFinished();
15676
16178
  };
16179
+ notifyAnimationStart(this, options, transition);
15677
16180
  }
15678
16181
  play() {
15679
16182
  if (this.isStopped)
@@ -15792,7 +16295,7 @@ var NativeAnimation = class extends WithPromise {
15792
16295
  }
15793
16296
  };
15794
16297
 
15795
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.mjs
16298
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.mjs
15796
16299
  var unsupportedEasingFunctions = {
15797
16300
  anticipate,
15798
16301
  backInOut,
@@ -15807,7 +16310,7 @@ function replaceStringEasing(transition) {
15807
16310
  }
15808
16311
  }
15809
16312
 
15810
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.mjs
16313
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.mjs
15811
16314
  var sampleDelta = 10;
15812
16315
  var NativeAnimationExtended = class extends NativeAnimation {
15813
16316
  constructor(options) {
@@ -15850,7 +16353,7 @@ var NativeAnimationExtended = class extends NativeAnimation {
15850
16353
  }
15851
16354
  };
15852
16355
 
15853
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/utils/is-animatable.mjs
16356
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/utils/is-animatable.mjs
15854
16357
  var isAnimatable = (value, name) => {
15855
16358
  if (name === "zIndex")
15856
16359
  return false;
@@ -15864,7 +16367,7 @@ var isAnimatable = (value, name) => {
15864
16367
  return false;
15865
16368
  };
15866
16369
 
15867
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs
16370
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs
15868
16371
  function hasKeyframesChanged(keyframes2) {
15869
16372
  const current = keyframes2[0];
15870
16373
  if (keyframes2.length === 1)
@@ -15884,20 +16387,20 @@ function canAnimate(keyframes2, name, type, velocity) {
15884
16387
  const targetKeyframe = keyframes2[keyframes2.length - 1];
15885
16388
  const isOriginAnimatable = isAnimatable(originKeyframe, name);
15886
16389
  const isTargetAnimatable = isAnimatable(targetKeyframe, name);
15887
- warning(isOriginAnimatable === isTargetAnimatable, `You are trying to animate ${name} from "${originKeyframe}" to "${targetKeyframe}". "${isOriginAnimatable ? targetKeyframe : originKeyframe}" is not an animatable value.`, "value-not-animatable");
15888
16390
  if (!isOriginAnimatable || !isTargetAnimatable) {
16391
+ isOriginAnimatable !== isTargetAnimatable && warning(false, `You are trying to animate ${name} from "${originKeyframe}" to "${targetKeyframe}". "${isOriginAnimatable ? targetKeyframe : originKeyframe}" is not an animatable value.`, "value-not-animatable");
15889
16392
  return false;
15890
16393
  }
15891
16394
  return hasKeyframesChanged(keyframes2) || (type === "spring" || isGenerator(type)) && velocity;
15892
16395
  }
15893
16396
 
15894
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.mjs
16397
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.mjs
15895
16398
  function makeAnimationInstant(options) {
15896
16399
  options.duration = 0;
15897
16400
  options.type = "keyframes";
15898
16401
  }
15899
16402
 
15900
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs
16403
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs
15901
16404
  var acceleratedValues = /* @__PURE__ */ new Set([
15902
16405
  "opacity",
15903
16406
  "clipPath",
@@ -15906,7 +16409,7 @@ var acceleratedValues = /* @__PURE__ */ new Set([
15906
16409
  "backgroundColor"
15907
16410
  ]);
15908
16411
 
15909
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/waapi/utils/is-browser-color.mjs
16412
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/waapi/utils/is-browser-color.mjs
15910
16413
  var browserColorFunctions = /^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/;
15911
16414
  function hasBrowserOnlyColors(keyframes2) {
15912
16415
  for (let i = 0; i < keyframes2.length; i++) {
@@ -15917,7 +16420,7 @@ function hasBrowserOnlyColors(keyframes2) {
15917
16420
  return false;
15918
16421
  }
15919
16422
 
15920
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs
16423
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs
15921
16424
  var colorProperties = /* @__PURE__ */ new Set([
15922
16425
  "color",
15923
16426
  "backgroundColor",
@@ -15933,12 +16436,15 @@ var colorProperties = /* @__PURE__ */ new Set([
15933
16436
  var supportsWaapi = /* @__PURE__ */ memo(() => Object.hasOwnProperty.call(Element.prototype, "animate"));
15934
16437
  function supportsBrowserAnimation(options) {
15935
16438
  const { motionValue: motionValue2, name, repeatDelay, repeatType, damping, type, keyframes: keyframes2 } = options;
16439
+ if (!name || !(acceleratedValues.has(name) || colorProperties.has(name))) {
16440
+ return false;
16441
+ }
15936
16442
  const subject = motionValue2?.owner?.current;
15937
16443
  if (!(subject instanceof HTMLElement) && !(subject instanceof SVGElement)) {
15938
16444
  return false;
15939
16445
  }
15940
16446
  const { onUpdate, transformTemplate } = motionValue2.owner.getProps();
15941
- return supportsWaapi() && name && /**
16447
+ return supportsWaapi() && /**
15942
16448
  * Force WAAPI for color properties with browser-only color formats
15943
16449
  * (oklch, oklab, lab, lch, etc.) that the JS animation path can't parse.
15944
16450
  */
@@ -15949,10 +16455,10 @@ function supportsBrowserAnimation(options) {
15949
16455
  !onUpdate && !repeatDelay && repeatType !== "mirror" && damping !== 0 && type !== "inertia";
15950
16456
  }
15951
16457
 
15952
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs
16458
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs
15953
16459
  var MAX_RESOLVE_DELAY = 40;
15954
16460
  var AsyncMotionValueAnimation = class extends WithPromise {
15955
- constructor({ autoplay = true, delay: delay2 = 0, type = "keyframes", repeat = 0, repeatDelay = 0, repeatType = "loop", keyframes: keyframes2, name, motionValue: motionValue2, element, ...options }) {
16461
+ constructor(options) {
15956
16462
  super();
15957
16463
  this.stop = () => {
15958
16464
  if (this._animation) {
@@ -15962,18 +16468,14 @@ var AsyncMotionValueAnimation = class extends WithPromise {
15962
16468
  this.keyframeResolver?.cancel();
15963
16469
  };
15964
16470
  this.createdAt = time2.now();
15965
- const optionsWithDefaults = {
15966
- autoplay,
15967
- delay: delay2,
15968
- type,
15969
- repeat,
15970
- repeatDelay,
15971
- repeatType,
15972
- name,
15973
- motionValue: motionValue2,
15974
- element,
15975
- ...options
15976
- };
16471
+ const { keyframes: keyframes2, name, motionValue: motionValue2, element } = options;
16472
+ const optionsWithDefaults = options;
16473
+ optionsWithDefaults.autoplay ?? (optionsWithDefaults.autoplay = true);
16474
+ optionsWithDefaults.delay ?? (optionsWithDefaults.delay = 0);
16475
+ optionsWithDefaults.type ?? (optionsWithDefaults.type = "keyframes");
16476
+ optionsWithDefaults.repeat ?? (optionsWithDefaults.repeat = 0);
16477
+ optionsWithDefaults.repeatDelay ?? (optionsWithDefaults.repeatDelay = 0);
16478
+ optionsWithDefaults.repeatType ?? (optionsWithDefaults.repeatType = "loop");
15977
16479
  const KeyframeResolver$1 = element?.KeyframeResolver || KeyframeResolver;
15978
16480
  this.keyframeResolver = new KeyframeResolver$1(keyframes2, (resolvedKeyframes, finalKeyframe, forced) => this.onKeyframesResolved(resolvedKeyframes, finalKeyframe, optionsWithDefaults, !forced), name, motionValue2, element);
15979
16481
  this.keyframeResolver?.scheduleResolve();
@@ -15993,30 +16495,26 @@ var AsyncMotionValueAnimation = class extends WithPromise {
15993
16495
  options.repeat = 0;
15994
16496
  }
15995
16497
  const startTime = sync ? !this.resolvedAt ? this.createdAt : this.resolvedAt - this.createdAt > MAX_RESOLVE_DELAY ? this.resolvedAt : this.createdAt : void 0;
15996
- const resolvedOptions = {
15997
- startTime,
15998
- finalKeyframe,
15999
- ...options,
16000
- keyframes: keyframes2
16498
+ const { onComplete } = options;
16499
+ options.startTime ?? (options.startTime = startTime);
16500
+ options.finalKeyframe = finalKeyframe;
16501
+ options.keyframes = keyframes2;
16502
+ options.onComplete = () => {
16503
+ onComplete?.();
16504
+ this.notifyFinished();
16001
16505
  };
16002
- const useWaapi = canAnimateValue && !isHandoff && supportsBrowserAnimation(resolvedOptions);
16003
- const element = resolvedOptions.motionValue?.owner?.current;
16506
+ const useWaapi = canAnimateValue && !isHandoff && supportsBrowserAnimation(options);
16004
16507
  let animation;
16005
16508
  if (useWaapi) {
16509
+ options.element = options.motionValue?.owner?.current;
16006
16510
  try {
16007
- animation = new NativeAnimationExtended({
16008
- ...resolvedOptions,
16009
- element
16010
- });
16511
+ animation = new NativeAnimationExtended(options);
16011
16512
  } catch {
16012
- animation = new JSAnimation(resolvedOptions);
16513
+ animation = new JSAnimation(options);
16013
16514
  }
16014
16515
  } else {
16015
- animation = new JSAnimation(resolvedOptions);
16516
+ animation = new JSAnimation(options);
16016
16517
  }
16017
- animation.finished.then(() => {
16018
- this.notifyFinished();
16019
- }).catch(noop4);
16020
16518
  if (this.pendingTimeline) {
16021
16519
  this.stopTimeline = animation.attachTimeline(this.pendingTimeline);
16022
16520
  this.pendingTimeline = void 0;
@@ -16024,11 +16522,7 @@ var AsyncMotionValueAnimation = class extends WithPromise {
16024
16522
  this._animation = animation;
16025
16523
  }
16026
16524
  get finished() {
16027
- if (!this._animation) {
16028
- return this._finished;
16029
- } else {
16030
- return this.animation.finished;
16031
- }
16525
+ return this._animation ? this._animation.finished : super.finished;
16032
16526
  }
16033
16527
  then(onResolve, _onReject) {
16034
16528
  return this.finished.finally(onResolve).then(() => {
@@ -16090,7 +16584,7 @@ var AsyncMotionValueAnimation = class extends WithPromise {
16090
16584
  }
16091
16585
  };
16092
16586
 
16093
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.mjs
16587
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.mjs
16094
16588
  function calcChildStagger(children, child, delayChildren, staggerChildren = 0, staggerDirection = 1) {
16095
16589
  const index3 = Array.from(children).sort((a, b) => a.sortNodePosition(b)).indexOf(child);
16096
16590
  const numChildren = children.size;
@@ -16099,7 +16593,7 @@ function calcChildStagger(children, child, delayChildren, staggerChildren = 0, s
16099
16593
  return delayIsFunction ? delayChildren(index3, numChildren) : staggerDirection === 1 ? index3 * staggerChildren : maxStaggerDuration - index3 * staggerChildren;
16100
16594
  }
16101
16595
 
16102
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/value/index.mjs
16596
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/value/index.mjs
16103
16597
  var MAX_VELOCITY_DELTA = 30;
16104
16598
  var isFloat = (value) => {
16105
16599
  return !isNaN(parseFloat(value));
@@ -16125,7 +16619,7 @@ var MotionValue = class {
16125
16619
  this.prev = this.current;
16126
16620
  this.setCurrent(v);
16127
16621
  if (this.current !== this.prev) {
16128
- this.events.change?.notify(this.current);
16622
+ this.notifyChange();
16129
16623
  if (this.dependents) {
16130
16624
  for (const dependent of this.dependents) {
16131
16625
  dependent.dirty();
@@ -16195,23 +16689,45 @@ var MotionValue = class {
16195
16689
  return this.on("change", subscription);
16196
16690
  }
16197
16691
  on(eventName, callback) {
16198
- if (!this.events[eventName]) {
16199
- this.events[eventName] = new SubscriptionManager();
16200
- }
16201
- const unsubscribe = this.events[eventName].add(callback);
16202
- if (eventName === "change") {
16203
- return () => {
16204
- unsubscribe();
16205
- frame.read(() => {
16206
- if (!this.events.change.getSize()) {
16207
- this.stop();
16208
- }
16209
- });
16210
- };
16692
+ var _a;
16693
+ if (eventName === "change")
16694
+ return this.onChangeSubscribe(callback);
16695
+ return ((_a = this.events)[eventName] || (_a[eventName] = new SubscriptionManager())).add(callback);
16696
+ }
16697
+ onChangeSubscribe(callback) {
16698
+ const { events } = this;
16699
+ if (!events.change && !this.changeSubscriber) {
16700
+ this.changeSubscriber = callback;
16701
+ } else {
16702
+ if (!events.change) {
16703
+ events.change = new SubscriptionManager();
16704
+ events.change.add(this.changeSubscriber);
16705
+ this.changeSubscriber = void 0;
16706
+ }
16707
+ events.change.add(callback);
16211
16708
  }
16212
- return unsubscribe;
16709
+ return () => {
16710
+ if (this.changeSubscriber === callback) {
16711
+ this.changeSubscriber = void 0;
16712
+ } else {
16713
+ events.change?.remove(callback);
16714
+ }
16715
+ this.stopIfUnobserved();
16716
+ };
16717
+ }
16718
+ /**
16719
+ * If we have no more change listeners by the start
16720
+ * of the next frame, stop active animations.
16721
+ */
16722
+ stopIfUnobserved() {
16723
+ frame.read(() => {
16724
+ if (!this.changeSubscriber && !this.events.change?.getSize()) {
16725
+ this.stop();
16726
+ }
16727
+ });
16213
16728
  }
16214
16729
  clearListeners() {
16730
+ this.changeSubscriber = void 0;
16215
16731
  for (const eventManagers in this.events) {
16216
16732
  this.events[eventManagers].clear();
16217
16733
  }
@@ -16264,7 +16780,15 @@ var MotionValue = class {
16264
16780
  this.stopPassiveEffect();
16265
16781
  }
16266
16782
  dirty() {
16267
- this.events.change?.notify(this.current);
16783
+ this.notifyChange();
16784
+ }
16785
+ notifyChange() {
16786
+ const { current, changeSubscriber } = this;
16787
+ if (changeSubscriber) {
16788
+ changeSubscriber(current);
16789
+ } else {
16790
+ this.events.change?.notify(current);
16791
+ }
16268
16792
  }
16269
16793
  addDependent(dependent) {
16270
16794
  if (!this.dependents) {
@@ -16325,15 +16849,18 @@ var MotionValue = class {
16325
16849
  this.stop();
16326
16850
  return new Promise((resolve) => {
16327
16851
  this.hasAnimated = true;
16328
- this.animation = startAnimation(resolve);
16329
- if (this.events.animationStart) {
16330
- this.events.animationStart.notify();
16331
- }
16332
- }).then(() => {
16333
- if (this.events.animationComplete) {
16334
- this.events.animationComplete.notify();
16335
- }
16336
- this.clearAnimation();
16852
+ let isComplete = false;
16853
+ let animation;
16854
+ animation = startAnimation(() => {
16855
+ isComplete = true;
16856
+ this.events.animationComplete?.notify();
16857
+ if (this.animation === animation)
16858
+ this.clearAnimation();
16859
+ resolve();
16860
+ });
16861
+ if (!isComplete)
16862
+ this.animation = animation;
16863
+ this.events.animationStart?.notify();
16337
16864
  });
16338
16865
  }
16339
16866
  /**
@@ -16359,7 +16886,7 @@ var MotionValue = class {
16359
16886
  return !!this.animation;
16360
16887
  }
16361
16888
  clearAnimation() {
16362
- delete this.animation;
16889
+ this.animation = void 0;
16363
16890
  }
16364
16891
  /**
16365
16892
  * Destroy and clean up subscribers to this `MotionValue`.
@@ -16384,7 +16911,7 @@ function motionValue(init, options) {
16384
16911
  return new MotionValue(init, options);
16385
16912
  }
16386
16913
 
16387
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/utils/resolve-transition.mjs
16914
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/utils/resolve-transition.mjs
16388
16915
  function resolveTransition(transition, parentTransition) {
16389
16916
  if (transition?.inherit && parentTransition) {
16390
16917
  const { inherit: _, ...rest } = transition;
@@ -16393,7 +16920,7 @@ function resolveTransition(transition, parentTransition) {
16393
16920
  return transition;
16394
16921
  }
16395
16922
 
16396
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.mjs
16923
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.mjs
16397
16924
  function getValueTransition(transition, key) {
16398
16925
  const valueTransition = transition?.[key] ?? transition?.["default"] ?? transition;
16399
16926
  if (valueTransition !== transition) {
@@ -16402,7 +16929,7 @@ function getValueTransition(transition, key) {
16402
16929
  return valueTransition;
16403
16930
  }
16404
16931
 
16405
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/utils/default-transitions.mjs
16932
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/utils/default-transitions.mjs
16406
16933
  var underDampedSpring = {
16407
16934
  type: "spring",
16408
16935
  stiffness: 500,
@@ -16433,7 +16960,7 @@ var getDefaultTransition = (valueKey, { keyframes: keyframes2 }) => {
16433
16960
  return ease;
16434
16961
  };
16435
16962
 
16436
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.mjs
16963
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.mjs
16437
16964
  var orchestrationKeys = /* @__PURE__ */ new Set([
16438
16965
  "when",
16439
16966
  "delay",
@@ -16454,7 +16981,7 @@ function isTransitionDefined(transition) {
16454
16981
  return false;
16455
16982
  }
16456
16983
 
16457
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.mjs
16984
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.mjs
16458
16985
  var animateMotionValue = (name, value, target, transition = {}, element, isHandoff) => (onComplete) => {
16459
16986
  const valueTransition = getValueTransition(transition, name) || {};
16460
16987
  const delay2 = valueTransition.delay || transition.delay || 0;
@@ -16512,7 +17039,7 @@ var animateMotionValue = (name, value, target, transition = {}, element, isHando
16512
17039
  return valueTransition.isSync ? new JSAnimation(options) : new AsyncMotionValueAnimation(options);
16513
17040
  };
16514
17041
 
16515
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs
17042
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs
16516
17043
  var splitCSSVariableRegex = (
16517
17044
  // eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive, as it can match a lot of words
16518
17045
  /^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u
@@ -16538,7 +17065,7 @@ function getVariableValue(current, element, depth = 1) {
16538
17065
  return isCSSVariableToken(fallback) ? getVariableValue(fallback, element, depth + 1) : fallback;
16539
17066
  }
16540
17067
 
16541
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/render/utils/resolve-variants.mjs
17068
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/render/utils/resolve-variants.mjs
16542
17069
  function getValueState(visualElement) {
16543
17070
  const state = [{}, {}];
16544
17071
  visualElement?.values.forEach((value, key) => {
@@ -16562,13 +17089,13 @@ function resolveVariantFromProps(props, definition, custom2, visualElement) {
16562
17089
  return definition;
16563
17090
  }
16564
17091
 
16565
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.mjs
17092
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.mjs
16566
17093
  function resolveVariant(visualElement, definition, custom2) {
16567
17094
  const props = visualElement.getProps();
16568
17095
  return resolveVariantFromProps(props, definition, custom2 !== void 0 ? custom2 : props.custom, visualElement);
16569
17096
  }
16570
17097
 
16571
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/render/utils/keys-position.mjs
17098
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/render/utils/keys-position.mjs
16572
17099
  var positionalKeys = /* @__PURE__ */ new Set([
16573
17100
  "width",
16574
17101
  "height",
@@ -16579,12 +17106,12 @@ var positionalKeys = /* @__PURE__ */ new Set([
16579
17106
  ...transformPropOrder
16580
17107
  ]);
16581
17108
 
16582
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.mjs
17109
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.mjs
16583
17110
  var isKeyframesTarget = (v) => {
16584
17111
  return Array.isArray(v);
16585
17112
  };
16586
17113
 
16587
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/render/utils/setters.mjs
17114
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/render/utils/setters.mjs
16588
17115
  function setMotionValue(visualElement, key, value) {
16589
17116
  if (visualElement.hasValue(key)) {
16590
17117
  visualElement.getValue(key).set(value);
@@ -16605,15 +17132,15 @@ function setTarget(visualElement, definition) {
16605
17132
  }
16606
17133
  }
16607
17134
 
16608
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/value/utils/is-motion-value.mjs
17135
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/value/utils/is-motion-value.mjs
16609
17136
  var isMotionValue = (value) => Boolean(value && value.getVelocity);
16610
17137
 
16611
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/value/will-change/is.mjs
17138
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/value/will-change/is.mjs
16612
17139
  function isWillChangeMotionValue(value) {
16613
17140
  return Boolean(isMotionValue(value) && value.add);
16614
17141
  }
16615
17142
 
16616
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/value/will-change/add-will-change.mjs
17143
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/value/will-change/add-will-change.mjs
16617
17144
  function addValueToWillChange(visualElement, key) {
16618
17145
  const willChange = visualElement.getValue("willChange");
16619
17146
  if (isWillChangeMotionValue(willChange)) {
@@ -16625,21 +17152,21 @@ function addValueToWillChange(visualElement, key) {
16625
17152
  }
16626
17153
  }
16627
17154
 
16628
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.mjs
17155
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.mjs
16629
17156
  function camelToDash(str) {
16630
17157
  return str.replace(/([A-Z])/g, (match) => `-${match.toLowerCase()}`);
16631
17158
  }
16632
17159
 
16633
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs
17160
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs
16634
17161
  var optimizedAppearDataId = "framerAppearId";
16635
17162
  var optimizedAppearDataAttribute = "data-" + camelToDash(optimizedAppearDataId);
16636
17163
 
16637
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.mjs
17164
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.mjs
16638
17165
  function getOptimisedAppearId(visualElement) {
16639
17166
  return visualElement.props[optimizedAppearDataAttribute];
16640
17167
  }
16641
17168
 
16642
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.mjs
17169
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.mjs
16643
17170
  var isBrowser2 = typeof window !== "undefined";
16644
17171
  function shouldBlockAnimation({ protectedKeys, needsAnimating }, key) {
16645
17172
  const shouldBlock = protectedKeys.hasOwnProperty(key) && needsAnimating[key] !== true;
@@ -16709,7 +17236,7 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
16709
17236
  return animations2;
16710
17237
  }
16711
17238
 
16712
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.mjs
17239
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.mjs
16713
17240
  function animateVariant(visualElement, variant, options = {}) {
16714
17241
  const resolved = resolveVariant(visualElement, variant, options.type === "exit" ? visualElement.presenceContext?.custom : void 0);
16715
17242
  let { transition = visualElement.getDefaultTransition() || {} } = resolved || {};
@@ -16741,7 +17268,7 @@ function animateChildren(visualElement, variant, delay2 = 0, delayChildren = 0,
16741
17268
  return Promise.all(animations2);
16742
17269
  }
16743
17270
 
16744
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.mjs
17271
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.mjs
16745
17272
  function animateVisualElement(visualElement, definition, options = {}) {
16746
17273
  visualElement.notify("AnimationStart", definition);
16747
17274
  let animation;
@@ -16759,20 +17286,20 @@ function animateVisualElement(visualElement, definition, options = {}) {
16759
17286
  });
16760
17287
  }
16761
17288
 
16762
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/value/types/auto.mjs
17289
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/value/types/auto.mjs
16763
17290
  var auto = {
16764
17291
  test: (v) => v === "auto",
16765
17292
  parse: (v) => v
16766
17293
  };
16767
17294
 
16768
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/value/types/test.mjs
17295
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/value/types/test.mjs
16769
17296
  var testValueType = (v) => (type) => type.test(v);
16770
17297
 
16771
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/value/types/dimensions.mjs
17298
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/value/types/dimensions.mjs
16772
17299
  var dimensionValueTypes = [number3, px, percent, degrees, vw, vh, auto];
16773
17300
  var findDimensionValueType = (v) => dimensionValueTypes.find(testValueType(v));
16774
17301
 
16775
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs
17302
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs
16776
17303
  function isNone(value) {
16777
17304
  if (typeof value === "number") {
16778
17305
  return value === 0;
@@ -16783,196 +17310,28 @@ function isNone(value) {
16783
17310
  }
16784
17311
  }
16785
17312
 
16786
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/value/types/complex/filter.mjs
16787
- var maxDefaults = /* @__PURE__ */ new Set(["brightness", "contrast", "saturate", "opacity"]);
16788
- function applyDefaultFilter(v) {
16789
- const [name, value] = v.slice(0, -1).split("(");
16790
- if (name === "drop-shadow")
16791
- return v;
16792
- const [number4] = value.match(floatRegex) || [];
16793
- if (!number4)
16794
- return v;
16795
- const unit = value.replace(number4, "");
16796
- let defaultValue = maxDefaults.has(name) ? 1 : 0;
16797
- if (number4 !== value)
16798
- defaultValue *= 100;
16799
- return name + "(" + defaultValue + unit + ")";
16800
- }
16801
- var functionRegex = /\b([a-z-]*)\(.*?\)/gu;
16802
- var filter = {
16803
- ...complex,
16804
- getAnimatableNone: (v) => {
16805
- const functions = v.match(functionRegex);
16806
- return functions ? functions.map(applyDefaultFilter).join(" ") : v;
16807
- }
16808
- };
16809
-
16810
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/value/types/complex/mask.mjs
16811
- var mask = {
16812
- ...complex,
16813
- getAnimatableNone: (v) => {
16814
- const parsed = complex.parse(v);
16815
- const transformer = complex.createTransformer(v);
16816
- return transformer(parsed.map((v2) => typeof v2 === "number" ? 0 : typeof v2 === "object" ? { ...v2, alpha: 1 } : v2));
16817
- }
16818
- };
16819
-
16820
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/value/types/int.mjs
16821
- var int2 = {
16822
- ...number3,
16823
- transform: Math.round
16824
- };
16825
-
16826
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/value/types/maps/transform.mjs
16827
- var transformValueTypes = {
16828
- rotate: degrees,
16829
- /**
16830
- * Internal channel for `transition.path` orientToPath. Composed onto
16831
- * `rotate` at the transform-build sites so the user's `rotate` is
16832
- * never read or overwritten. Not part of `transformPropOrder`.
16833
- */
16834
- pathRotation: degrees,
16835
- rotateX: degrees,
16836
- rotateY: degrees,
16837
- rotateZ: degrees,
16838
- scale,
16839
- scaleX: scale,
16840
- scaleY: scale,
16841
- scaleZ: scale,
16842
- skew: degrees,
16843
- skewX: degrees,
16844
- skewY: degrees,
16845
- distance: px,
16846
- translateX: px,
16847
- translateY: px,
16848
- translateZ: px,
16849
- x: px,
16850
- y: px,
16851
- z: px,
16852
- perspective: px,
16853
- transformPerspective: px,
16854
- opacity: alpha,
16855
- originX: progressPercentage,
16856
- originY: progressPercentage,
16857
- originZ: px
16858
- };
16859
-
16860
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/value/types/maps/number.mjs
16861
- var numberValueTypes = {
16862
- // Border props
16863
- borderWidth: px,
16864
- borderTopWidth: px,
16865
- borderRightWidth: px,
16866
- borderBottomWidth: px,
16867
- borderLeftWidth: px,
16868
- borderRadius: px,
16869
- borderTopLeftRadius: px,
16870
- borderTopRightRadius: px,
16871
- borderBottomRightRadius: px,
16872
- borderBottomLeftRadius: px,
16873
- // Positioning props
16874
- width: px,
16875
- maxWidth: px,
16876
- height: px,
16877
- maxHeight: px,
16878
- top: px,
16879
- right: px,
16880
- bottom: px,
16881
- left: px,
16882
- inset: px,
16883
- insetBlock: px,
16884
- insetBlockStart: px,
16885
- insetBlockEnd: px,
16886
- insetInline: px,
16887
- insetInlineStart: px,
16888
- insetInlineEnd: px,
16889
- // Spacing props
16890
- padding: px,
16891
- paddingTop: px,
16892
- paddingRight: px,
16893
- paddingBottom: px,
16894
- paddingLeft: px,
16895
- paddingBlock: px,
16896
- paddingBlockStart: px,
16897
- paddingBlockEnd: px,
16898
- paddingInline: px,
16899
- paddingInlineStart: px,
16900
- paddingInlineEnd: px,
16901
- margin: px,
16902
- marginTop: px,
16903
- marginRight: px,
16904
- marginBottom: px,
16905
- marginLeft: px,
16906
- marginBlock: px,
16907
- marginBlockStart: px,
16908
- marginBlockEnd: px,
16909
- marginInline: px,
16910
- marginInlineStart: px,
16911
- marginInlineEnd: px,
16912
- // Typography
16913
- fontSize: px,
16914
- // Misc
16915
- backgroundPositionX: px,
16916
- backgroundPositionY: px,
16917
- ...transformValueTypes,
16918
- zIndex: int2,
16919
- // SVG
16920
- fillOpacity: alpha,
16921
- strokeOpacity: alpha,
16922
- numOctaves: int2
16923
- };
16924
-
16925
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/value/types/maps/defaults.mjs
16926
- var defaultValueTypes = {
16927
- ...numberValueTypes,
16928
- // Color props
16929
- color,
16930
- backgroundColor: color,
16931
- outlineColor: color,
16932
- fill: color,
16933
- stroke: color,
16934
- // Border props
16935
- borderColor: color,
16936
- borderTopColor: color,
16937
- borderRightColor: color,
16938
- borderBottomColor: color,
16939
- borderLeftColor: color,
16940
- filter,
16941
- WebkitFilter: filter,
16942
- mask,
16943
- WebkitMask: mask
16944
- };
16945
- var getDefaultValueType = (key) => defaultValueTypes[key];
16946
-
16947
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs
16948
- var customTypes = /* @__PURE__ */ new Set([filter, mask]);
16949
- function getAnimatableNone2(key, value) {
16950
- let defaultValueType = getDefaultValueType(key);
16951
- if (!customTypes.has(defaultValueType))
16952
- defaultValueType = complex;
16953
- return defaultValueType.getAnimatableNone ? defaultValueType.getAnimatableNone(value) : void 0;
16954
- }
16955
-
16956
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs
17313
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs
16957
17314
  var invalidTemplates = /* @__PURE__ */ new Set(["auto", "none", "0"]);
16958
17315
  function makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, name) {
16959
17316
  let i = 0;
16960
17317
  let animatableTemplate = void 0;
16961
17318
  while (i < unresolvedKeyframes.length && !animatableTemplate) {
16962
17319
  const keyframe = unresolvedKeyframes[i];
16963
- if (typeof keyframe === "string" && !invalidTemplates.has(keyframe) && analyseComplexValue(keyframe).values.length) {
17320
+ if (typeof keyframe === "string" && !invalidTemplates.has(keyframe) && hasComplexValues(keyframe)) {
16964
17321
  animatableTemplate = unresolvedKeyframes[i];
16965
17322
  }
16966
17323
  i++;
16967
17324
  }
16968
17325
  if (animatableTemplate && name) {
16969
17326
  for (const noneIndex of noneKeyframeIndexes) {
17327
+ if (unresolvedKeyframes[noneIndex] === animatableTemplate)
17328
+ continue;
16970
17329
  unresolvedKeyframes[noneIndex] = getAnimatableNone2(name, animatableTemplate);
16971
17330
  }
16972
17331
  }
16973
17332
  }
16974
17333
 
16975
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs
17334
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs
16976
17335
  var DOMKeyframesResolver = class extends KeyframeResolver {
16977
17336
  constructor(unresolvedKeyframes, onComplete, name, motionValue2, element) {
16978
17337
  super(unresolvedKeyframes, onComplete, name, motionValue2, element, true);
@@ -17002,6 +17361,8 @@ var DOMKeyframesResolver = class extends KeyframeResolver {
17002
17361
  return;
17003
17362
  }
17004
17363
  const [origin, target] = unresolvedKeyframes;
17364
+ if (typeof origin === "number" && typeof target === "number")
17365
+ return;
17005
17366
  const originType = findDimensionValueType(origin);
17006
17367
  const targetType = findDimensionValueType(target);
17007
17368
  const originHasVar = containsCSSVariable(origin);
@@ -17035,6 +17396,10 @@ var DOMKeyframesResolver = class extends KeyframeResolver {
17035
17396
  makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, name);
17036
17397
  }
17037
17398
  }
17399
+ measure() {
17400
+ const { element, name } = this;
17401
+ return positionalValues[name](window.getComputedStyle(element.current), () => element.measureViewportBox());
17402
+ }
17038
17403
  measureInitialState() {
17039
17404
  const { element, unresolvedKeyframes, name } = this;
17040
17405
  if (!element || !element.current)
@@ -17042,22 +17407,21 @@ var DOMKeyframesResolver = class extends KeyframeResolver {
17042
17407
  if (name === "height") {
17043
17408
  this.suspendedScrollY = window.pageYOffset;
17044
17409
  }
17045
- this.measuredOrigin = positionalValues[name](element.measureViewportBox(), window.getComputedStyle(element.current));
17410
+ this.measuredOrigin = this.measure();
17046
17411
  unresolvedKeyframes[0] = this.measuredOrigin;
17047
17412
  const measureKeyframe = unresolvedKeyframes[unresolvedKeyframes.length - 1];
17048
17413
  if (measureKeyframe !== void 0) {
17049
- element.getValue(name, measureKeyframe).jump(measureKeyframe, false);
17414
+ this.motionValue?.jump(measureKeyframe, false);
17050
17415
  }
17051
17416
  }
17052
17417
  measureEndState() {
17053
- const { element, name, unresolvedKeyframes } = this;
17418
+ const { element, unresolvedKeyframes } = this;
17054
17419
  if (!element || !element.current)
17055
17420
  return;
17056
- const value = element.getValue(name);
17057
- value && value.jump(this.measuredOrigin, false);
17421
+ this.motionValue?.jump(this.measuredOrigin, false);
17058
17422
  const finalKeyframeIndex = unresolvedKeyframes.length - 1;
17059
17423
  const finalKeyframe = unresolvedKeyframes[finalKeyframeIndex];
17060
- unresolvedKeyframes[finalKeyframeIndex] = positionalValues[name](element.measureViewportBox(), window.getComputedStyle(element.current));
17424
+ unresolvedKeyframes[finalKeyframeIndex] = this.measure();
17061
17425
  if (finalKeyframe !== null && this.finalKeyframe === void 0) {
17062
17426
  this.finalKeyframe = finalKeyframe;
17063
17427
  }
@@ -17070,7 +17434,7 @@ var DOMKeyframesResolver = class extends KeyframeResolver {
17070
17434
  }
17071
17435
  };
17072
17436
 
17073
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/utils/border-radius.mjs
17437
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/utils/border-radius.mjs
17074
17438
  var cornerRadiusProps = [
17075
17439
  "borderTopLeftRadius",
17076
17440
  "borderTopRightRadius",
@@ -17078,7 +17442,22 @@ var cornerRadiusProps = [
17078
17442
  "borderBottomLeftRadius"
17079
17443
  ];
17080
17444
 
17081
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/utils/resolve-elements.mjs
17445
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/utils/is-html-element.mjs
17446
+ function isHTMLElement2(element) {
17447
+ return isObject(element) && "offsetHeight" in element && !("ownerSVGElement" in element);
17448
+ }
17449
+
17450
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/utils/is-svg-element.mjs
17451
+ function isSVGElement(element) {
17452
+ return isObject(element) && "ownerSVGElement" in element;
17453
+ }
17454
+
17455
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs
17456
+ var getValueAsType = (value, type) => {
17457
+ return type && typeof value === "number" ? type.transform(value) : value;
17458
+ };
17459
+
17460
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/utils/resolve-elements.mjs
17082
17461
  function resolveElements(elementOrSelector, scope, selectorCache) {
17083
17462
  if (elementOrSelector == null) {
17084
17463
  return [];
@@ -17096,42 +17475,317 @@ function resolveElements(elementOrSelector, scope, selectorCache) {
17096
17475
  return Array.from(elementOrSelector).filter((element) => element != null);
17097
17476
  }
17098
17477
 
17099
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs
17100
- var getValueAsType = (value, type) => {
17101
- return type && typeof value === "number" ? type.transform(value) : value;
17102
- };
17103
-
17104
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/utils/is-html-element.mjs
17105
- function isHTMLElement2(element) {
17106
- return isObject(element) && "offsetHeight" in element && !("ownerSVGElement" in element);
17107
- }
17108
-
17109
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/frameloop/microtask.mjs
17110
- var { schedule: microtask, cancel: cancelMicrotask } = /* @__PURE__ */ createRenderBatcher(queueMicrotask, false);
17111
-
17112
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs
17113
- var isDragging = {
17114
- x: false,
17115
- y: false
17478
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/render/html/utils/build-transform.mjs
17479
+ var translateAlias = {
17480
+ x: "translateX",
17481
+ y: "translateY",
17482
+ z: "translateZ",
17483
+ transformPerspective: "perspective"
17116
17484
  };
17117
- function isDragActive() {
17118
- return isDragging.x || isDragging.y;
17119
- }
17120
-
17121
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs
17122
- function setDragLock(axis) {
17123
- if (axis === "x" || axis === "y") {
17124
- if (isDragging[axis]) {
17125
- return null;
17126
- } else {
17127
- isDragging[axis] = true;
17128
- return () => {
17129
- isDragging[axis] = false;
17130
- };
17131
- }
17132
- } else {
17133
- if (isDragging.x || isDragging.y) {
17134
- return null;
17485
+ var numTransforms = transformPropOrder.length;
17486
+ function buildTransform(latestValues, transform2, transformTemplate) {
17487
+ let transformString = "";
17488
+ let transformIsDefault = true;
17489
+ for (let i = 0; i < numTransforms; i++) {
17490
+ const key = transformPropOrder[i];
17491
+ const value = latestValues[key];
17492
+ if (value === void 0)
17493
+ continue;
17494
+ let valueIsDefault = true;
17495
+ if (typeof value === "number") {
17496
+ valueIsDefault = value === (key.startsWith("scale") ? 1 : 0);
17497
+ } else {
17498
+ const parsed = parseFloat(value);
17499
+ valueIsDefault = key.startsWith("scale") ? parsed === 1 : parsed === 0;
17500
+ }
17501
+ if (!valueIsDefault || transformTemplate) {
17502
+ const valueAsType = getValueAsType(value, numberValueTypes[key]);
17503
+ if (!valueIsDefault) {
17504
+ transformIsDefault = false;
17505
+ const transformName = translateAlias[key] || key;
17506
+ transformString += `${transformName}(${valueAsType}) `;
17507
+ }
17508
+ if (transformTemplate) {
17509
+ transform2[key] = valueAsType;
17510
+ }
17511
+ }
17512
+ }
17513
+ const pathRotation = latestValues.pathRotation;
17514
+ if (pathRotation) {
17515
+ transformIsDefault = false;
17516
+ transformString += `rotate(${getValueAsType(pathRotation, numberValueTypes.pathRotation)}) `;
17517
+ }
17518
+ transformString = transformString.trim();
17519
+ if (transformTemplate) {
17520
+ transformString = transformTemplate(transform2, transformIsDefault ? "" : transformString);
17521
+ } else if (transformIsDefault) {
17522
+ transformString = "none";
17523
+ }
17524
+ return transformString;
17525
+ }
17526
+
17527
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/render/html/utils/build-styles.mjs
17528
+ function buildHTMLStyles(state, latestValues, transformTemplate) {
17529
+ const { style, vars, transformOrigin: transformOrigin2 } = state;
17530
+ let hasTransform2 = false;
17531
+ let hasTransformOrigin = false;
17532
+ for (const key in latestValues) {
17533
+ const value = latestValues[key];
17534
+ if (transformProps.has(key)) {
17535
+ hasTransform2 = true;
17536
+ continue;
17537
+ } else if (isCSSVariableName(key)) {
17538
+ vars[key] = value;
17539
+ continue;
17540
+ } else {
17541
+ const valueAsType = getValueAsType(value, numberValueTypes[key]);
17542
+ if (key.startsWith("origin")) {
17543
+ hasTransformOrigin = true;
17544
+ transformOrigin2[key] = valueAsType;
17545
+ } else {
17546
+ style[key] = valueAsType;
17547
+ }
17548
+ }
17549
+ }
17550
+ if (!latestValues.transform) {
17551
+ if (hasTransform2 || transformTemplate) {
17552
+ style.transform = buildTransform(latestValues, state.transform, transformTemplate);
17553
+ } else if (style.transform) {
17554
+ style.transform = "none";
17555
+ }
17556
+ }
17557
+ if (hasTransformOrigin) {
17558
+ const { originX = "50%", originY = "50%", originZ = 0 } = transformOrigin2;
17559
+ style.transformOrigin = `${originX} ${originY} ${originZ}`;
17560
+ }
17561
+ }
17562
+
17563
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/render/svg/utils/path.mjs
17564
+ var dashKeys = {
17565
+ offset: "stroke-dashoffset",
17566
+ array: "stroke-dasharray"
17567
+ };
17568
+ var camelKeys = {
17569
+ offset: "strokeDashoffset",
17570
+ array: "strokeDasharray"
17571
+ };
17572
+ function buildSVGPath(attrs, length, spacing = 1, offset4 = 0, useDashCase = true) {
17573
+ attrs.pathLength = 1;
17574
+ const keys = useDashCase ? dashKeys : camelKeys;
17575
+ attrs[keys.offset] = `${-offset4}`;
17576
+ attrs[keys.array] = `${length} ${spacing}`;
17577
+ }
17578
+
17579
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.mjs
17580
+ var cssStyleProperties = [
17581
+ "transform",
17582
+ "opacity",
17583
+ "offsetDistance",
17584
+ "offsetPath",
17585
+ "offsetRotate",
17586
+ "offsetAnchor"
17587
+ ];
17588
+ function buildSVGAttrs(state, {
17589
+ attrX,
17590
+ attrY,
17591
+ attrScale,
17592
+ pathLength,
17593
+ pathSpacing = 1,
17594
+ pathOffset = 0,
17595
+ // This is object creation, which we try to avoid per-frame.
17596
+ ...latest
17597
+ }, isSVGTag2, transformTemplate, styleProp) {
17598
+ buildHTMLStyles(state, latest, transformTemplate);
17599
+ if (isSVGTag2) {
17600
+ if (state.style.viewBox) {
17601
+ state.attrs.viewBox = state.style.viewBox;
17602
+ }
17603
+ return;
17604
+ }
17605
+ state.attrs = state.style;
17606
+ state.style = {};
17607
+ const { attrs, style } = state;
17608
+ for (const key of cssStyleProperties) {
17609
+ if (attrs[key] !== void 0) {
17610
+ style[key] = attrs[key];
17611
+ delete attrs[key];
17612
+ }
17613
+ }
17614
+ if (style.transform || attrs.transformOrigin) {
17615
+ style.transformOrigin = attrs.transformOrigin ?? "50% 50%";
17616
+ delete attrs.transformOrigin;
17617
+ }
17618
+ if (style.transform) {
17619
+ style.transformBox = styleProp?.transformBox ?? "fill-box";
17620
+ delete attrs.transformBox;
17621
+ }
17622
+ if (attrX !== void 0)
17623
+ attrs.x = attrX;
17624
+ if (attrY !== void 0)
17625
+ attrs.y = attrY;
17626
+ if (attrScale !== void 0)
17627
+ attrs.scale = attrScale;
17628
+ if (pathLength !== void 0) {
17629
+ buildSVGPath(attrs, pathLength, pathSpacing, pathOffset, false);
17630
+ }
17631
+ }
17632
+
17633
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/projection/geometry/conversion.mjs
17634
+ function convertBoundingBoxToBox({ top, left, right, bottom }) {
17635
+ return {
17636
+ x: { min: left, max: right },
17637
+ y: { min: top, max: bottom }
17638
+ };
17639
+ }
17640
+ function convertBoxToBoundingBox({ x, y }) {
17641
+ return { top: y.min, right: x.max, bottom: y.max, left: x.min };
17642
+ }
17643
+ function transformBoxPoints(point, transformPoint2) {
17644
+ if (!transformPoint2)
17645
+ return point;
17646
+ const topLeft = transformPoint2({ x: point.left, y: point.top });
17647
+ const bottomRight = transformPoint2({ x: point.right, y: point.bottom });
17648
+ return {
17649
+ top: topLeft.y,
17650
+ left: topLeft.x,
17651
+ bottom: bottomRight.y,
17652
+ right: bottomRight.x
17653
+ };
17654
+ }
17655
+
17656
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/projection/utils/has-transform.mjs
17657
+ function isIdentityScale(scale2) {
17658
+ return scale2 === void 0 || scale2 === 1;
17659
+ }
17660
+ function hasScale({ scale: scale2, scaleX: scaleX2, scaleY: scaleY2 }) {
17661
+ return !isIdentityScale(scale2) || !isIdentityScale(scaleX2) || !isIdentityScale(scaleY2);
17662
+ }
17663
+ function hasTransform(values) {
17664
+ return hasScale(values) || has2DTranslate(values) || values.z || values.rotate || values.rotateX || values.rotateY || values.skewX || values.skewY;
17665
+ }
17666
+ function has2DTranslate(values) {
17667
+ return is2DTranslate(values.x) || is2DTranslate(values.y);
17668
+ }
17669
+ function is2DTranslate(value) {
17670
+ return value && value !== "0%";
17671
+ }
17672
+
17673
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.mjs
17674
+ function scalePoint(point, scale2, originPoint) {
17675
+ const distanceFromOrigin = point - originPoint;
17676
+ const scaled = scale2 * distanceFromOrigin;
17677
+ return originPoint + scaled;
17678
+ }
17679
+ function applyPointDelta(point, translate, scale2, originPoint, boxScale) {
17680
+ if (boxScale !== void 0) {
17681
+ point = scalePoint(point, boxScale, originPoint);
17682
+ }
17683
+ return scalePoint(point, scale2, originPoint) + translate;
17684
+ }
17685
+ function applyAxisDelta(axis, translate = 0, scale2 = 1, originPoint, boxScale) {
17686
+ axis.min = applyPointDelta(axis.min, translate, scale2, originPoint, boxScale);
17687
+ axis.max = applyPointDelta(axis.max, translate, scale2, originPoint, boxScale);
17688
+ }
17689
+ function applyBoxDelta(box, { x, y }) {
17690
+ applyAxisDelta(box.x, x.translate, x.scale, x.originPoint);
17691
+ applyAxisDelta(box.y, y.translate, y.scale, y.originPoint);
17692
+ }
17693
+ var TREE_SCALE_SNAP_MIN = 0.999999999999;
17694
+ var TREE_SCALE_SNAP_MAX = 1.0000000000001;
17695
+ function applyTreeDeltas(box, treeScale, treePath, isSharedTransition = false) {
17696
+ const treeLength = treePath.length;
17697
+ if (!treeLength)
17698
+ return;
17699
+ treeScale.x = treeScale.y = 1;
17700
+ let node;
17701
+ let delta;
17702
+ for (let i = 0; i < treeLength; i++) {
17703
+ node = treePath[i];
17704
+ delta = node.projectionDelta;
17705
+ const { visualElement } = node.options;
17706
+ if (visualElement && visualElement.props.style && visualElement.props.style.display === "contents") {
17707
+ continue;
17708
+ }
17709
+ if (isSharedTransition && node.options.layoutScroll && node.scroll && node !== node.root) {
17710
+ translateAxis(box.x, -node.scroll.offset.x);
17711
+ translateAxis(box.y, -node.scroll.offset.y);
17712
+ }
17713
+ if (delta) {
17714
+ treeScale.x *= delta.x.scale;
17715
+ treeScale.y *= delta.y.scale;
17716
+ applyBoxDelta(box, delta);
17717
+ }
17718
+ if (isSharedTransition && hasTransform(node.latestValues)) {
17719
+ transformBox(box, node.latestValues, node.layout?.layoutBox);
17720
+ }
17721
+ }
17722
+ if (treeScale.x < TREE_SCALE_SNAP_MAX && treeScale.x > TREE_SCALE_SNAP_MIN) {
17723
+ treeScale.x = 1;
17724
+ }
17725
+ if (treeScale.y < TREE_SCALE_SNAP_MAX && treeScale.y > TREE_SCALE_SNAP_MIN) {
17726
+ treeScale.y = 1;
17727
+ }
17728
+ }
17729
+ function translateAxis(axis, distance2) {
17730
+ axis.min += distance2;
17731
+ axis.max += distance2;
17732
+ }
17733
+ function transformAxis(axis, axisTranslate, axisScale, boxScale, axisOrigin = 0.5) {
17734
+ const originPoint = mixNumber(axis.min, axis.max, axisOrigin);
17735
+ applyAxisDelta(axis, axisTranslate, axisScale, originPoint, boxScale);
17736
+ }
17737
+ function resolveAxisTranslate(value, axis) {
17738
+ if (typeof value === "string") {
17739
+ return parseFloat(value) / 100 * (axis.max - axis.min);
17740
+ }
17741
+ return value;
17742
+ }
17743
+ function transformBox(box, transform2, sourceBox) {
17744
+ const resolveBox = sourceBox ?? box;
17745
+ transformAxis(box.x, resolveAxisTranslate(transform2.x, resolveBox.x), transform2.scaleX, transform2.scale, transform2.originX);
17746
+ transformAxis(box.y, resolveAxisTranslate(transform2.y, resolveBox.y), transform2.scaleY, transform2.scale, transform2.originY);
17747
+ }
17748
+
17749
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/projection/utils/measure.mjs
17750
+ function measureViewportBox(instance, transformPoint2) {
17751
+ return convertBoundingBoxToBox(transformBoxPoints(instance.getBoundingClientRect(), transformPoint2));
17752
+ }
17753
+ function measurePageBox(element, rootProjectionNode2, transformPagePoint) {
17754
+ const viewportBox = measureViewportBox(element, transformPagePoint);
17755
+ const { scroll } = rootProjectionNode2;
17756
+ if (scroll) {
17757
+ translateAxis(viewportBox.x, scroll.offset.x);
17758
+ translateAxis(viewportBox.y, scroll.offset.y);
17759
+ }
17760
+ return viewportBox;
17761
+ }
17762
+
17763
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/frameloop/microtask.mjs
17764
+ var { schedule: microtask, cancel: cancelMicrotask } = /* @__PURE__ */ createRenderBatcher(queueMicrotask, false);
17765
+
17766
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs
17767
+ var isDragging = {
17768
+ x: false,
17769
+ y: false
17770
+ };
17771
+ function isDragActive() {
17772
+ return isDragging.x || isDragging.y;
17773
+ }
17774
+
17775
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs
17776
+ function setDragLock(axis) {
17777
+ if (axis === "x" || axis === "y") {
17778
+ if (isDragging[axis]) {
17779
+ return null;
17780
+ } else {
17781
+ isDragging[axis] = true;
17782
+ return () => {
17783
+ isDragging[axis] = false;
17784
+ };
17785
+ }
17786
+ } else {
17787
+ if (isDragging.x || isDragging.y) {
17788
+ return null;
17135
17789
  } else {
17136
17790
  isDragging.x = isDragging.y = true;
17137
17791
  return () => {
@@ -17141,7 +17795,7 @@ function setDragLock(axis) {
17141
17795
  }
17142
17796
  }
17143
17797
 
17144
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/gestures/utils/setup.mjs
17798
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/gestures/utils/setup.mjs
17145
17799
  function setupGesture(elementOrSelector, options) {
17146
17800
  const elements = resolveElements(elementOrSelector);
17147
17801
  const gestureAbortController = new AbortController();
@@ -17154,7 +17808,7 @@ function setupGesture(elementOrSelector, options) {
17154
17808
  return [elements, eventOptions, cancel];
17155
17809
  }
17156
17810
 
17157
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/gestures/hover.mjs
17811
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/gestures/hover.mjs
17158
17812
  function isValidHover(event) {
17159
17813
  return !(event.pointerType === "touch" || isDragActive());
17160
17814
  }
@@ -17213,7 +17867,7 @@ function hover(elementOrSelector, onHoverStart, options = {}) {
17213
17867
  return cancel;
17214
17868
  }
17215
17869
 
17216
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs
17870
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs
17217
17871
  var isNodeOrChild = (parent, child) => {
17218
17872
  if (!child) {
17219
17873
  return false;
@@ -17224,7 +17878,7 @@ var isNodeOrChild = (parent, child) => {
17224
17878
  }
17225
17879
  };
17226
17880
 
17227
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs
17881
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs
17228
17882
  var isPrimaryPointer = (event) => {
17229
17883
  if (event.pointerType === "mouse") {
17230
17884
  return typeof event.button !== "number" || event.button <= 0;
@@ -17233,7 +17887,7 @@ var isPrimaryPointer = (event) => {
17233
17887
  }
17234
17888
  };
17235
17889
 
17236
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs
17890
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs
17237
17891
  var keyboardAccessibleElements = /* @__PURE__ */ new Set([
17238
17892
  "BUTTON",
17239
17893
  "INPUT",
@@ -17249,10 +17903,10 @@ function isElementTextInput(element) {
17249
17903
  return textInputElements.has(element.tagName) || element.isContentEditable === true;
17250
17904
  }
17251
17905
 
17252
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs
17906
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs
17253
17907
  var isPressing = /* @__PURE__ */ new WeakSet();
17254
17908
 
17255
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs
17909
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs
17256
17910
  function filterEvents(callback) {
17257
17911
  return (event) => {
17258
17912
  if (event.key !== "Enter")
@@ -17282,7 +17936,7 @@ var enableKeyboardPress = (focusEvent, eventOptions) => {
17282
17936
  element.addEventListener("blur", () => element.removeEventListener("keydown", handleKeydown), eventOptions);
17283
17937
  };
17284
17938
 
17285
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/gestures/press/index.mjs
17939
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/gestures/press/index.mjs
17286
17940
  function isValidPressEvent(event) {
17287
17941
  return isPrimaryPointer(event) && !isDragActive();
17288
17942
  }
@@ -17336,12 +17990,7 @@ function press(targetOrSelector, onPressStart, options = {}) {
17336
17990
  return cancelEvents;
17337
17991
  }
17338
17992
 
17339
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/utils/is-svg-element.mjs
17340
- function isSVGElement(element) {
17341
- return isObject(element) && "ownerSVGElement" in element;
17342
- }
17343
-
17344
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/resize/handle-element.mjs
17993
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/resize/handle-element.mjs
17345
17994
  var resizeHandlers = /* @__PURE__ */ new WeakMap();
17346
17995
  var observer;
17347
17996
  var getSize = (borderBoxAxis, svgAxis, htmlAxis) => (target, borderBoxSize) => {
@@ -17399,7 +18048,7 @@ function resizeElement(target, handler) {
17399
18048
  };
17400
18049
  }
17401
18050
 
17402
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/resize/handle-window.mjs
18051
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/resize/handle-window.mjs
17403
18052
  var windowCallbacks = /* @__PURE__ */ new Set();
17404
18053
  var windowResizeHandler;
17405
18054
  function createWindowResizeHandler() {
@@ -17429,27 +18078,23 @@ function resizeWindow(callback) {
17429
18078
  };
17430
18079
  }
17431
18080
 
17432
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/resize/index.mjs
18081
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/resize/index.mjs
17433
18082
  function resize(a, b) {
17434
18083
  return typeof a === "function" ? resizeWindow(a) : resizeElement(a, b);
17435
18084
  }
17436
18085
 
17437
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/stats/buffer.mjs
18086
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/stats/buffer.mjs
17438
18087
  var statsBuffer = {
17439
18088
  value: null,
17440
18089
  addProjectionMetrics: null
17441
18090
  };
17442
18091
 
17443
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.mjs
18092
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.mjs
17444
18093
  function isSVGSVGElement(element) {
17445
18094
  return isSVGElement(element) && element.tagName === "svg";
17446
18095
  }
17447
18096
 
17448
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/value/types/utils/find.mjs
17449
- var valueTypes = [...dimensionValueTypes, color, complex];
17450
- var findValueType = (v) => valueTypes.find(testValueType(v));
17451
-
17452
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/projection/geometry/models.mjs
18097
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/projection/geometry/models.mjs
17453
18098
  var createAxisDelta = () => ({
17454
18099
  translate: 0,
17455
18100
  scale: 1,
@@ -17466,20 +18111,20 @@ var createBox = () => ({
17466
18111
  y: createAxis()
17467
18112
  });
17468
18113
 
17469
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/render/store.mjs
18114
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/render/store.mjs
17470
18115
  var visualElementStore = /* @__PURE__ */ new WeakMap();
17471
18116
 
17472
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.mjs
18117
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.mjs
17473
18118
  function isAnimationControls(v) {
17474
18119
  return v !== null && typeof v === "object" && typeof v.start === "function";
17475
18120
  }
17476
18121
 
17477
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/render/utils/is-variant-label.mjs
18122
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/render/utils/is-variant-label.mjs
17478
18123
  function isVariantLabel(v) {
17479
18124
  return typeof v === "string" || Array.isArray(v);
17480
18125
  }
17481
18126
 
17482
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/render/utils/variant-props.mjs
18127
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/render/utils/variant-props.mjs
17483
18128
  var variantPriorityOrder = [
17484
18129
  "animate",
17485
18130
  "whileInView",
@@ -17491,15 +18136,22 @@ var variantPriorityOrder = [
17491
18136
  ];
17492
18137
  var variantProps = ["initial", ...variantPriorityOrder];
17493
18138
 
17494
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.mjs
18139
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.mjs
17495
18140
  function isControllingVariants(props) {
17496
- return isAnimationControls(props.animate) || variantProps.some((name) => isVariantLabel(props[name]));
18141
+ if (isAnimationControls(props.animate))
18142
+ return true;
18143
+ for (let i = 0; i < variantProps.length; i++) {
18144
+ if (isVariantLabel(props[variantProps[i]])) {
18145
+ return true;
18146
+ }
18147
+ }
18148
+ return false;
17497
18149
  }
17498
18150
  function isVariantNode(props) {
17499
18151
  return Boolean(isControllingVariants(props) || props.variants);
17500
18152
  }
17501
18153
 
17502
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/render/utils/motion-values.mjs
18154
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/render/utils/motion-values.mjs
17503
18155
  function updateMotionValuesFromProps(element, next, prev) {
17504
18156
  for (const key in next) {
17505
18157
  const nextValue = next[key];
@@ -17529,11 +18181,11 @@ function updateMotionValuesFromProps(element, next, prev) {
17529
18181
  return next;
17530
18182
  }
17531
18183
 
17532
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.mjs
18184
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.mjs
17533
18185
  var prefersReducedMotion = { current: null };
17534
18186
  var hasReducedMotionListener = { current: false };
17535
18187
 
17536
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.mjs
18188
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.mjs
17537
18189
  var isBrowser3 = typeof window !== "undefined";
17538
18190
  function initPrefersReducedMotion() {
17539
18191
  hasReducedMotionListener.current = true;
@@ -17549,7 +18201,7 @@ function initPrefersReducedMotion() {
17549
18201
  }
17550
18202
  }
17551
18203
 
17552
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/render/VisualElement.mjs
18204
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/render/VisualElement.mjs
17553
18205
  var propEventHandlers = [
17554
18206
  "AnimationStart",
17555
18207
  "AnimationComplete",
@@ -17897,7 +18549,16 @@ var VisualElement = class {
17897
18549
  if (value !== void 0 && value !== null) {
17898
18550
  if (typeof value === "string" && (isNumericalString(value) || isZeroValueString(value))) {
17899
18551
  value = parseFloat(value);
17900
- } else if (!findValueType(value) && complex.test(target)) {
18552
+ } else if (
18553
+ /**
18554
+ * If the value as read isn't animatable (e.g. "none") but
18555
+ * the target is, derive an animatable none from the target.
18556
+ * A value is animatable if it's a number or contains a
18557
+ * number or color, which is cheaper to check than trying
18558
+ * every value type in turn.
18559
+ */
18560
+ typeof value !== "number" && !complex.test(value) && complex.test(target)
18561
+ ) {
17901
18562
  value = getAnimatableNone2(key, target);
17902
18563
  }
17903
18564
  this.setBaseTarget(key, isMotionValue(value) ? value.get() : value);
@@ -17908,305 +18569,90 @@ var VisualElement = class {
17908
18569
  * Set the base target to later animate back to. This is currently
17909
18570
  * only hydrated on creation and when we first read a value.
17910
18571
  */
17911
- setBaseTarget(key, value) {
17912
- this.baseTarget[key] = value;
17913
- }
17914
- /**
17915
- * Find the base target for a value thats been removed from all animation
17916
- * props.
17917
- */
17918
- getBaseTarget(key) {
17919
- const { initial: initial2 } = this.props;
17920
- let valueFromInitial;
17921
- if (typeof initial2 === "string" || typeof initial2 === "object") {
17922
- const variant = resolveVariantFromProps(this.props, initial2, this.presenceContext?.custom);
17923
- if (variant) {
17924
- valueFromInitial = variant[key];
17925
- }
17926
- }
17927
- if (initial2 && valueFromInitial !== void 0) {
17928
- return valueFromInitial;
17929
- }
17930
- const target = this.getBaseTargetFromProps(this.props, key);
17931
- if (target !== void 0 && !isMotionValue(target))
17932
- return target;
17933
- return this.initialValues[key] !== void 0 && valueFromInitial === void 0 ? void 0 : this.baseTarget[key];
17934
- }
17935
- on(eventName, callback) {
17936
- if (!this.events[eventName]) {
17937
- this.events[eventName] = new SubscriptionManager();
17938
- }
17939
- return this.events[eventName].add(callback);
17940
- }
17941
- notify(eventName, ...args) {
17942
- if (this.events[eventName]) {
17943
- this.events[eventName].notify(...args);
17944
- }
17945
- }
17946
- scheduleRenderMicrotask() {
17947
- microtask.render(this.render);
17948
- }
17949
- };
17950
-
17951
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.mjs
17952
- var DOMVisualElement = class extends VisualElement {
17953
- constructor() {
17954
- super(...arguments);
17955
- this.KeyframeResolver = DOMKeyframesResolver;
17956
- }
17957
- sortInstanceNodePosition(a, b) {
17958
- return a.compareDocumentPosition(b) & 2 ? 1 : -1;
17959
- }
17960
- getBaseTargetFromProps(props, key) {
17961
- const style = props.style;
17962
- return style ? style[key] : void 0;
17963
- }
17964
- removeValueFromRenderState(key, { vars, style }) {
17965
- delete vars[key];
17966
- delete style[key];
17967
- }
17968
- handleChildMotionValue() {
17969
- if (this.childSubscription) {
17970
- this.childSubscription();
17971
- delete this.childSubscription;
17972
- }
17973
- const { children } = this.props;
17974
- if (isMotionValue(children)) {
17975
- this.childSubscription = children.on("change", (latest) => {
17976
- if (this.current) {
17977
- this.current.textContent = `${latest}`;
17978
- }
17979
- });
17980
- }
17981
- }
17982
- };
17983
-
17984
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/render/Feature.mjs
17985
- var Feature = class {
17986
- constructor(node) {
17987
- this.isMounted = false;
17988
- this.node = node;
17989
- }
17990
- update() {
17991
- }
17992
- };
17993
-
17994
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/projection/geometry/conversion.mjs
17995
- function convertBoundingBoxToBox({ top, left, right, bottom }) {
17996
- return {
17997
- x: { min: left, max: right },
17998
- y: { min: top, max: bottom }
17999
- };
18000
- }
18001
- function convertBoxToBoundingBox({ x, y }) {
18002
- return { top: y.min, right: x.max, bottom: y.max, left: x.min };
18003
- }
18004
- function transformBoxPoints(point, transformPoint2) {
18005
- if (!transformPoint2)
18006
- return point;
18007
- const topLeft = transformPoint2({ x: point.left, y: point.top });
18008
- const bottomRight = transformPoint2({ x: point.right, y: point.bottom });
18009
- return {
18010
- top: topLeft.y,
18011
- left: topLeft.x,
18012
- bottom: bottomRight.y,
18013
- right: bottomRight.x
18014
- };
18015
- }
18016
-
18017
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/projection/utils/has-transform.mjs
18018
- function isIdentityScale(scale2) {
18019
- return scale2 === void 0 || scale2 === 1;
18020
- }
18021
- function hasScale({ scale: scale2, scaleX: scaleX2, scaleY: scaleY2 }) {
18022
- return !isIdentityScale(scale2) || !isIdentityScale(scaleX2) || !isIdentityScale(scaleY2);
18023
- }
18024
- function hasTransform(values) {
18025
- return hasScale(values) || has2DTranslate(values) || values.z || values.rotate || values.rotateX || values.rotateY || values.skewX || values.skewY;
18026
- }
18027
- function has2DTranslate(values) {
18028
- return is2DTranslate(values.x) || is2DTranslate(values.y);
18029
- }
18030
- function is2DTranslate(value) {
18031
- return value && value !== "0%";
18032
- }
18033
-
18034
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.mjs
18035
- function scalePoint(point, scale2, originPoint) {
18036
- const distanceFromOrigin = point - originPoint;
18037
- const scaled = scale2 * distanceFromOrigin;
18038
- return originPoint + scaled;
18039
- }
18040
- function applyPointDelta(point, translate, scale2, originPoint, boxScale) {
18041
- if (boxScale !== void 0) {
18042
- point = scalePoint(point, boxScale, originPoint);
18043
- }
18044
- return scalePoint(point, scale2, originPoint) + translate;
18045
- }
18046
- function applyAxisDelta(axis, translate = 0, scale2 = 1, originPoint, boxScale) {
18047
- axis.min = applyPointDelta(axis.min, translate, scale2, originPoint, boxScale);
18048
- axis.max = applyPointDelta(axis.max, translate, scale2, originPoint, boxScale);
18049
- }
18050
- function applyBoxDelta(box, { x, y }) {
18051
- applyAxisDelta(box.x, x.translate, x.scale, x.originPoint);
18052
- applyAxisDelta(box.y, y.translate, y.scale, y.originPoint);
18053
- }
18054
- var TREE_SCALE_SNAP_MIN = 0.999999999999;
18055
- var TREE_SCALE_SNAP_MAX = 1.0000000000001;
18056
- function applyTreeDeltas(box, treeScale, treePath, isSharedTransition = false) {
18057
- const treeLength = treePath.length;
18058
- if (!treeLength)
18059
- return;
18060
- treeScale.x = treeScale.y = 1;
18061
- let node;
18062
- let delta;
18063
- for (let i = 0; i < treeLength; i++) {
18064
- node = treePath[i];
18065
- delta = node.projectionDelta;
18066
- const { visualElement } = node.options;
18067
- if (visualElement && visualElement.props.style && visualElement.props.style.display === "contents") {
18068
- continue;
18069
- }
18070
- if (isSharedTransition && node.options.layoutScroll && node.scroll && node !== node.root) {
18071
- translateAxis(box.x, -node.scroll.offset.x);
18072
- translateAxis(box.y, -node.scroll.offset.y);
18073
- }
18074
- if (delta) {
18075
- treeScale.x *= delta.x.scale;
18076
- treeScale.y *= delta.y.scale;
18077
- applyBoxDelta(box, delta);
18572
+ setBaseTarget(key, value) {
18573
+ this.baseTarget[key] = value;
18574
+ }
18575
+ /**
18576
+ * Find the base target for a value thats been removed from all animation
18577
+ * props.
18578
+ */
18579
+ getBaseTarget(key) {
18580
+ const { initial: initial2 } = this.props;
18581
+ let valueFromInitial;
18582
+ if (typeof initial2 === "string" || typeof initial2 === "object") {
18583
+ const variant = resolveVariantFromProps(this.props, initial2, this.presenceContext?.custom);
18584
+ if (variant) {
18585
+ valueFromInitial = variant[key];
18586
+ }
18078
18587
  }
18079
- if (isSharedTransition && hasTransform(node.latestValues)) {
18080
- transformBox(box, node.latestValues, node.layout?.layoutBox);
18588
+ if (initial2 && valueFromInitial !== void 0) {
18589
+ return valueFromInitial;
18081
18590
  }
18591
+ const target = this.getBaseTargetFromProps(this.props, key);
18592
+ if (target !== void 0 && !isMotionValue(target))
18593
+ return target;
18594
+ return this.initialValues[key] !== void 0 && valueFromInitial === void 0 ? void 0 : this.baseTarget[key];
18082
18595
  }
18083
- if (treeScale.x < TREE_SCALE_SNAP_MAX && treeScale.x > TREE_SCALE_SNAP_MIN) {
18084
- treeScale.x = 1;
18596
+ on(eventName, callback) {
18597
+ if (!this.events[eventName]) {
18598
+ this.events[eventName] = new SubscriptionManager();
18599
+ }
18600
+ return this.events[eventName].add(callback);
18085
18601
  }
18086
- if (treeScale.y < TREE_SCALE_SNAP_MAX && treeScale.y > TREE_SCALE_SNAP_MIN) {
18087
- treeScale.y = 1;
18602
+ notify(eventName, ...args) {
18603
+ if (this.events[eventName]) {
18604
+ this.events[eventName].notify(...args);
18605
+ }
18088
18606
  }
18089
- }
18090
- function translateAxis(axis, distance2) {
18091
- axis.min += distance2;
18092
- axis.max += distance2;
18093
- }
18094
- function transformAxis(axis, axisTranslate, axisScale, boxScale, axisOrigin = 0.5) {
18095
- const originPoint = mixNumber(axis.min, axis.max, axisOrigin);
18096
- applyAxisDelta(axis, axisTranslate, axisScale, originPoint, boxScale);
18097
- }
18098
- function resolveAxisTranslate(value, axis) {
18099
- if (typeof value === "string") {
18100
- return parseFloat(value) / 100 * (axis.max - axis.min);
18607
+ scheduleRenderMicrotask() {
18608
+ microtask.render(this.render);
18101
18609
  }
18102
- return value;
18103
- }
18104
- function transformBox(box, transform2, sourceBox) {
18105
- const resolveBox = sourceBox ?? box;
18106
- transformAxis(box.x, resolveAxisTranslate(transform2.x, resolveBox.x), transform2.scaleX, transform2.scale, transform2.originX);
18107
- transformAxis(box.y, resolveAxisTranslate(transform2.y, resolveBox.y), transform2.scaleY, transform2.scale, transform2.originY);
18108
- }
18610
+ };
18109
18611
 
18110
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/projection/utils/measure.mjs
18111
- function measureViewportBox(instance, transformPoint2) {
18112
- return convertBoundingBoxToBox(transformBoxPoints(instance.getBoundingClientRect(), transformPoint2));
18113
- }
18114
- function measurePageBox(element, rootProjectionNode2, transformPagePoint) {
18115
- const viewportBox = measureViewportBox(element, transformPagePoint);
18116
- const { scroll } = rootProjectionNode2;
18117
- if (scroll) {
18118
- translateAxis(viewportBox.x, scroll.offset.x);
18119
- translateAxis(viewportBox.y, scroll.offset.y);
18612
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.mjs
18613
+ var DOMVisualElement = class extends VisualElement {
18614
+ constructor() {
18615
+ super(...arguments);
18616
+ this.KeyframeResolver = DOMKeyframesResolver;
18120
18617
  }
18121
- return viewportBox;
18122
- }
18123
-
18124
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/render/html/utils/build-transform.mjs
18125
- var translateAlias = {
18126
- x: "translateX",
18127
- y: "translateY",
18128
- z: "translateZ",
18129
- transformPerspective: "perspective"
18130
- };
18131
- var numTransforms = transformPropOrder.length;
18132
- function buildTransform(latestValues, transform2, transformTemplate) {
18133
- let transformString = "";
18134
- let transformIsDefault = true;
18135
- for (let i = 0; i < numTransforms; i++) {
18136
- const key = transformPropOrder[i];
18137
- const value = latestValues[key];
18138
- if (value === void 0)
18139
- continue;
18140
- let valueIsDefault = true;
18141
- if (typeof value === "number") {
18142
- valueIsDefault = value === (key.startsWith("scale") ? 1 : 0);
18143
- } else {
18144
- const parsed = parseFloat(value);
18145
- valueIsDefault = key.startsWith("scale") ? parsed === 1 : parsed === 0;
18146
- }
18147
- if (!valueIsDefault || transformTemplate) {
18148
- const valueAsType = getValueAsType(value, numberValueTypes[key]);
18149
- if (!valueIsDefault) {
18150
- transformIsDefault = false;
18151
- const transformName = translateAlias[key] || key;
18152
- transformString += `${transformName}(${valueAsType}) `;
18153
- }
18154
- if (transformTemplate) {
18155
- transform2[key] = valueAsType;
18156
- }
18157
- }
18618
+ sortInstanceNodePosition(a, b) {
18619
+ return a.compareDocumentPosition(b) & 2 ? 1 : -1;
18158
18620
  }
18159
- const pathRotation = latestValues.pathRotation;
18160
- if (pathRotation) {
18161
- transformIsDefault = false;
18162
- transformString += `rotate(${getValueAsType(pathRotation, numberValueTypes.pathRotation)}) `;
18621
+ getBaseTargetFromProps(props, key) {
18622
+ const style = props.style;
18623
+ return style ? style[key] : void 0;
18163
18624
  }
18164
- transformString = transformString.trim();
18165
- if (transformTemplate) {
18166
- transformString = transformTemplate(transform2, transformIsDefault ? "" : transformString);
18167
- } else if (transformIsDefault) {
18168
- transformString = "none";
18625
+ removeValueFromRenderState(key, { vars, style }) {
18626
+ delete vars[key];
18627
+ delete style[key];
18169
18628
  }
18170
- return transformString;
18171
- }
18172
-
18173
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/render/html/utils/build-styles.mjs
18174
- function buildHTMLStyles(state, latestValues, transformTemplate) {
18175
- const { style, vars, transformOrigin: transformOrigin2 } = state;
18176
- let hasTransform2 = false;
18177
- let hasTransformOrigin = false;
18178
- for (const key in latestValues) {
18179
- const value = latestValues[key];
18180
- if (transformProps.has(key)) {
18181
- hasTransform2 = true;
18182
- continue;
18183
- } else if (isCSSVariableName(key)) {
18184
- vars[key] = value;
18185
- continue;
18186
- } else {
18187
- const valueAsType = getValueAsType(value, numberValueTypes[key]);
18188
- if (key.startsWith("origin")) {
18189
- hasTransformOrigin = true;
18190
- transformOrigin2[key] = valueAsType;
18191
- } else {
18192
- style[key] = valueAsType;
18193
- }
18629
+ handleChildMotionValue() {
18630
+ if (this.childSubscription) {
18631
+ this.childSubscription();
18632
+ delete this.childSubscription;
18194
18633
  }
18195
- }
18196
- if (!latestValues.transform) {
18197
- if (hasTransform2 || transformTemplate) {
18198
- style.transform = buildTransform(latestValues, state.transform, transformTemplate);
18199
- } else if (style.transform) {
18200
- style.transform = "none";
18634
+ const { children } = this.props;
18635
+ if (isMotionValue(children)) {
18636
+ this.childSubscription = children.on("change", (latest) => {
18637
+ if (this.current) {
18638
+ this.current.textContent = `${latest}`;
18639
+ }
18640
+ });
18201
18641
  }
18202
18642
  }
18203
- if (hasTransformOrigin) {
18204
- const { originX = "50%", originY = "50%", originZ = 0 } = transformOrigin2;
18205
- style.transformOrigin = `${originX} ${originY} ${originZ}`;
18643
+ };
18644
+
18645
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/render/Feature.mjs
18646
+ var Feature = class {
18647
+ constructor(node) {
18648
+ this.isMounted = false;
18649
+ this.node = node;
18206
18650
  }
18207
- }
18651
+ update() {
18652
+ }
18653
+ };
18208
18654
 
18209
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/render/html/utils/render.mjs
18655
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/render/html/utils/render.mjs
18210
18656
  function renderHTML(element, { style, vars }, styleProp, projection) {
18211
18657
  const elementStyle = element.style;
18212
18658
  let key;
@@ -18219,7 +18665,7 @@ function renderHTML(element, { style, vars }, styleProp, projection) {
18219
18665
  }
18220
18666
  }
18221
18667
 
18222
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.mjs
18668
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.mjs
18223
18669
  function pixelsToPercent(pixels, axis) {
18224
18670
  if (axis.max === axis.min)
18225
18671
  return 0;
@@ -18242,7 +18688,7 @@ var correctBorderRadius = {
18242
18688
  }
18243
18689
  };
18244
18690
 
18245
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.mjs
18691
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.mjs
18246
18692
  var correctBoxShadow = {
18247
18693
  correct: (latest, { treeScale, projectionDelta }) => {
18248
18694
  const original = latest;
@@ -18264,7 +18710,7 @@ var correctBoxShadow = {
18264
18710
  }
18265
18711
  };
18266
18712
 
18267
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/projection/styles/scale-correction.mjs
18713
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/projection/styles/scale-correction.mjs
18268
18714
  var scaleCorrectors = {
18269
18715
  borderRadius: {
18270
18716
  ...correctBorderRadius,
@@ -18277,12 +18723,12 @@ var scaleCorrectors = {
18277
18723
  boxShadow: correctBoxShadow
18278
18724
  };
18279
18725
 
18280
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.mjs
18726
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.mjs
18281
18727
  function isForcedMotionValue(key, { layout: layout2, layoutId }) {
18282
18728
  return transformProps.has(key) || key.startsWith("origin") || (layout2 || layoutId !== void 0) && (!!scaleCorrectors[key] || key === "opacity");
18283
18729
  }
18284
18730
 
18285
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.mjs
18731
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.mjs
18286
18732
  function scrapeMotionValuesFromProps(props, prevProps, visualElement) {
18287
18733
  const style = props.style;
18288
18734
  const prevStyle = prevProps?.style;
@@ -18297,7 +18743,7 @@ function scrapeMotionValuesFromProps(props, prevProps, visualElement) {
18297
18743
  return newValues;
18298
18744
  }
18299
18745
 
18300
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs
18746
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs
18301
18747
  function getComputedStyle3(element) {
18302
18748
  return window.getComputedStyle(element);
18303
18749
  }
@@ -18331,77 +18777,7 @@ var HTMLVisualElement = class extends DOMVisualElement {
18331
18777
  }
18332
18778
  };
18333
18779
 
18334
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/render/svg/utils/path.mjs
18335
- var dashKeys = {
18336
- offset: "stroke-dashoffset",
18337
- array: "stroke-dasharray"
18338
- };
18339
- var camelKeys = {
18340
- offset: "strokeDashoffset",
18341
- array: "strokeDasharray"
18342
- };
18343
- function buildSVGPath(attrs, length, spacing = 1, offset4 = 0, useDashCase = true) {
18344
- attrs.pathLength = 1;
18345
- const keys = useDashCase ? dashKeys : camelKeys;
18346
- attrs[keys.offset] = `${-offset4}`;
18347
- attrs[keys.array] = `${length} ${spacing}`;
18348
- }
18349
-
18350
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.mjs
18351
- var cssStyleProperties = [
18352
- "transform",
18353
- "opacity",
18354
- "offsetDistance",
18355
- "offsetPath",
18356
- "offsetRotate",
18357
- "offsetAnchor"
18358
- ];
18359
- function buildSVGAttrs(state, {
18360
- attrX,
18361
- attrY,
18362
- attrScale,
18363
- pathLength,
18364
- pathSpacing = 1,
18365
- pathOffset = 0,
18366
- // This is object creation, which we try to avoid per-frame.
18367
- ...latest
18368
- }, isSVGTag2, transformTemplate, styleProp) {
18369
- buildHTMLStyles(state, latest, transformTemplate);
18370
- if (isSVGTag2) {
18371
- if (state.style.viewBox) {
18372
- state.attrs.viewBox = state.style.viewBox;
18373
- }
18374
- return;
18375
- }
18376
- state.attrs = state.style;
18377
- state.style = {};
18378
- const { attrs, style } = state;
18379
- for (const key of cssStyleProperties) {
18380
- if (attrs[key] !== void 0) {
18381
- style[key] = attrs[key];
18382
- delete attrs[key];
18383
- }
18384
- }
18385
- if (style.transform || attrs.transformOrigin) {
18386
- style.transformOrigin = attrs.transformOrigin ?? "50% 50%";
18387
- delete attrs.transformOrigin;
18388
- }
18389
- if (style.transform) {
18390
- style.transformBox = styleProp?.transformBox ?? "fill-box";
18391
- delete attrs.transformBox;
18392
- }
18393
- if (attrX !== void 0)
18394
- attrs.x = attrX;
18395
- if (attrY !== void 0)
18396
- attrs.y = attrY;
18397
- if (attrScale !== void 0)
18398
- attrs.scale = attrScale;
18399
- if (pathLength !== void 0) {
18400
- buildSVGPath(attrs, pathLength, pathSpacing, pathOffset, false);
18401
- }
18402
- }
18403
-
18404
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.mjs
18780
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.mjs
18405
18781
  var camelCaseAttributes = /* @__PURE__ */ new Set([
18406
18782
  "baseFrequency",
18407
18783
  "diffuseConstant",
@@ -18428,10 +18804,10 @@ var camelCaseAttributes = /* @__PURE__ */ new Set([
18428
18804
  "lengthAdjust"
18429
18805
  ]);
18430
18806
 
18431
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.mjs
18807
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.mjs
18432
18808
  var isSVGTag = (tag) => typeof tag === "string" && tag.toLowerCase() === "svg";
18433
18809
 
18434
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/render/svg/utils/render.mjs
18810
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/render/svg/utils/render.mjs
18435
18811
  function renderSVG(element, renderState, _styleProp, projection) {
18436
18812
  renderHTML(element, renderState, void 0, projection);
18437
18813
  for (const key in renderState.attrs) {
@@ -18439,7 +18815,7 @@ function renderSVG(element, renderState, _styleProp, projection) {
18439
18815
  }
18440
18816
  }
18441
18817
 
18442
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.mjs
18818
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.mjs
18443
18819
  function scrapeMotionValuesFromProps2(props, prevProps, visualElement) {
18444
18820
  const newValues = scrapeMotionValuesFromProps(props, prevProps, visualElement);
18445
18821
  for (const key in props) {
@@ -18451,7 +18827,7 @@ function scrapeMotionValuesFromProps2(props, prevProps, visualElement) {
18451
18827
  return newValues;
18452
18828
  }
18453
18829
 
18454
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.mjs
18830
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.mjs
18455
18831
  var SVGVisualElement = class extends DOMVisualElement {
18456
18832
  constructor() {
18457
18833
  super(...arguments);
@@ -18491,7 +18867,7 @@ var SVGVisualElement = class extends DOMVisualElement {
18491
18867
  }
18492
18868
  };
18493
18869
 
18494
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs
18870
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs
18495
18871
  var numVariantProps = variantProps.length;
18496
18872
  function getVariantContext(visualElement) {
18497
18873
  if (!visualElement)
@@ -18514,7 +18890,7 @@ function getVariantContext(visualElement) {
18514
18890
  return context;
18515
18891
  }
18516
18892
 
18517
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/render/utils/shallow-compare.mjs
18893
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/render/utils/shallow-compare.mjs
18518
18894
  function shallowCompare(next, prev) {
18519
18895
  if (!Array.isArray(prev))
18520
18896
  return false;
@@ -18528,7 +18904,7 @@ function shallowCompare(next, prev) {
18528
18904
  return true;
18529
18905
  }
18530
18906
 
18531
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/render/utils/animation-state.mjs
18907
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/render/utils/animation-state.mjs
18532
18908
  var reversePriorityOrder = [...variantPriorityOrder].reverse();
18533
18909
  var numAnimationTypes = variantPriorityOrder.length;
18534
18910
  function createAnimateFunction(visualElement) {
@@ -18740,7 +19116,7 @@ function createState() {
18740
19116
  };
18741
19117
  }
18742
19118
 
18743
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/projection/geometry/copy.mjs
19119
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/projection/geometry/copy.mjs
18744
19120
  function copyAxisInto(axis, originAxis) {
18745
19121
  axis.min = originAxis.min;
18746
19122
  axis.max = originAxis.max;
@@ -18756,7 +19132,7 @@ function copyAxisDeltaInto(delta, originDelta) {
18756
19132
  delta.origin = originDelta.origin;
18757
19133
  }
18758
19134
 
18759
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.mjs
19135
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.mjs
18760
19136
  var SCALE_PRECISION = 1e-4;
18761
19137
  var SCALE_MIN = 1 - SCALE_PRECISION;
18762
19138
  var SCALE_MAX = 1 + SCALE_PRECISION;
@@ -18804,7 +19180,7 @@ function calcRelativePosition(target, layout2, parent, anchor) {
18804
19180
  calcRelativeAxisPosition(target.y, layout2.y, parent.y, anchor?.y);
18805
19181
  }
18806
19182
 
18807
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.mjs
19183
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.mjs
18808
19184
  function removePointDelta(point, translate, scale2, originPoint, boxScale) {
18809
19185
  point -= translate;
18810
19186
  point = scalePoint(point, 1 / scale2, originPoint);
@@ -18837,7 +19213,7 @@ function removeBoxTransforms(box, transforms, originBox, sourceBox) {
18837
19213
  removeAxisTransforms(box.y, transforms, yKeys, originBox ? originBox.y : void 0, sourceBox ? sourceBox.y : void 0);
18838
19214
  }
18839
19215
 
18840
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/projection/geometry/utils.mjs
19216
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/projection/geometry/utils.mjs
18841
19217
  function isAxisDeltaZero(delta) {
18842
19218
  return delta.translate === 0 && delta.scale === 1;
18843
19219
  }
@@ -18863,12 +19239,12 @@ function axisDeltaEquals(a, b) {
18863
19239
  return a.translate === b.translate && a.scale === b.scale && a.originPoint === b.originPoint;
18864
19240
  }
18865
19241
 
18866
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/projection/utils/each-axis.mjs
19242
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/projection/utils/each-axis.mjs
18867
19243
  function eachAxis(callback) {
18868
19244
  return [callback("x"), callback("y")];
18869
19245
  }
18870
19246
 
18871
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/projection/styles/transform.mjs
19247
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/projection/styles/transform.mjs
18872
19248
  function buildProjectionTransform(delta, treeScale, latestTransform) {
18873
19249
  let transform2 = "";
18874
19250
  const xTranslate = delta.x.translate / treeScale.x;
@@ -18905,7 +19281,7 @@ function buildProjectionTransform(delta, treeScale, latestTransform) {
18905
19281
  return transform2 || "none";
18906
19282
  }
18907
19283
 
18908
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/projection/animation/mix-values.mjs
19284
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/projection/animation/mix-values.mjs
18909
19285
  var numBorders = cornerRadiusProps.length;
18910
19286
  var asNumber = (value) => typeof value === "string" ? parseFloat(value) : value;
18911
19287
  var isPx = (value) => typeof value === "number" || px.test(value);
@@ -18953,23 +19329,23 @@ function compress(min2, max2, easing) {
18953
19329
  };
18954
19330
  }
18955
19331
 
18956
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/animation/animate/single-value.mjs
19332
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/animation/animate/single-value.mjs
18957
19333
  function animateSingleValue(value, keyframes2, options) {
18958
19334
  const motionValue$1 = isMotionValue(value) ? value : motionValue(value);
18959
19335
  motionValue$1.start(animateMotionValue("", motionValue$1, keyframes2, options));
18960
19336
  return motionValue$1.animation;
18961
19337
  }
18962
19338
 
18963
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/events/add-dom-event.mjs
19339
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/events/add-dom-event.mjs
18964
19340
  function addDomEvent(target, eventName, handler, options = { passive: true }) {
18965
19341
  target.addEventListener(eventName, handler, options);
18966
19342
  return () => target.removeEventListener(eventName, handler, options);
18967
19343
  }
18968
19344
 
18969
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.mjs
19345
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.mjs
18970
19346
  var compareByDepth = (a, b) => a.depth - b.depth;
18971
19347
 
18972
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/projection/utils/flat-tree.mjs
19348
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/projection/utils/flat-tree.mjs
18973
19349
  var FlatTree = class {
18974
19350
  constructor() {
18975
19351
  this.children = [];
@@ -18990,7 +19366,7 @@ var FlatTree = class {
18990
19366
  }
18991
19367
  };
18992
19368
 
18993
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/utils/delay.mjs
19369
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/utils/delay.mjs
18994
19370
  function delay(callback, timeout) {
18995
19371
  const start = time2.now();
18996
19372
  const checkElapsed = ({ timestamp }) => {
@@ -19004,12 +19380,12 @@ function delay(callback, timeout) {
19004
19380
  return () => cancelFrame(checkElapsed);
19005
19381
  }
19006
19382
 
19007
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.mjs
19383
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.mjs
19008
19384
  function resolveMotionValue(value) {
19009
19385
  return isMotionValue(value) ? value.get() : value;
19010
19386
  }
19011
19387
 
19012
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/projection/shared/stack.mjs
19388
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/projection/shared/stack.mjs
19013
19389
  var NodeStack = class {
19014
19390
  constructor() {
19015
19391
  this.members = [];
@@ -19090,7 +19466,7 @@ var NodeStack = class {
19090
19466
  }
19091
19467
  };
19092
19468
 
19093
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/projection/node/state.mjs
19469
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/projection/node/state.mjs
19094
19470
  var globalProjectionState = {
19095
19471
  /**
19096
19472
  * Global flag as to whether the tree has animated since the last time
@@ -19104,7 +19480,7 @@ var globalProjectionState = {
19104
19480
  hasEverUpdated: false
19105
19481
  };
19106
19482
 
19107
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/projection/node/create-projection-node.mjs
19483
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/projection/node/create-projection-node.mjs
19108
19484
  var metrics = {
19109
19485
  nodes: 0,
19110
19486
  calculatedTargetDeltas: 0,
@@ -19848,6 +20224,7 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
19848
20224
  this.completeAnimation();
19849
20225
  }
19850
20226
  });
20227
+ notifyLayoutAnimationStart(this.currentAnimation, this);
19851
20228
  if (this.resumingFrom) {
19852
20229
  this.resumingFrom.currentAnimation = this.currentAnimation;
19853
20230
  }
@@ -19873,7 +20250,8 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
19873
20250
  }
19874
20251
  applyTransformsToTarget() {
19875
20252
  const lead = this.getLead();
19876
- let { targetWithTransforms, target, layout: layout2, latestValues } = lead;
20253
+ const { targetWithTransforms, layout: layout2, latestValues } = lead;
20254
+ let { target } = lead;
19877
20255
  if (!targetWithTransforms || !target || !layout2)
19878
20256
  return;
19879
20257
  if (this !== lead && this.layout && layout2 && shouldAnimatePositionOnly(this.options.animationType, this.layout.layoutBox, layout2.layoutBox)) {
@@ -20212,7 +20590,7 @@ function checkNodeWasScrollRoot(node) {
20212
20590
  return node !== node.root && node.scroll?.wasRoot;
20213
20591
  }
20214
20592
 
20215
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.mjs
20593
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.mjs
20216
20594
  var DocumentProjectionNode = createProjectionNode({
20217
20595
  attachResizeListener: (ref, notify2) => addDomEvent(ref, "resize", notify2),
20218
20596
  measureScroll: () => ({
@@ -20222,7 +20600,7 @@ var DocumentProjectionNode = createProjectionNode({
20222
20600
  checkIsScrollRoot: () => true
20223
20601
  });
20224
20602
 
20225
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/projection/node/group.mjs
20603
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/projection/node/group.mjs
20226
20604
  var notify = (node) => !node.isLayoutDirty && node.willUpdate(false);
20227
20605
  function nodeGroup() {
20228
20606
  const nodes = /* @__PURE__ */ new Set();
@@ -20246,7 +20624,7 @@ function nodeGroup() {
20246
20624
  };
20247
20625
  }
20248
20626
 
20249
- // node_modules/.pnpm/motion-dom@13.2.0/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.mjs
20627
+ // node_modules/.pnpm/motion-dom@13.3.0/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.mjs
20250
20628
  var rootProjectionNode = {
20251
20629
  current: void 0
20252
20630
  };
@@ -20270,19 +20648,19 @@ var HTMLProjectionNode = createProjectionNode({
20270
20648
  checkIsScrollRoot: (instance) => Boolean(window.getComputedStyle(instance).position === "fixed")
20271
20649
  });
20272
20650
 
20273
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/components/AnimatePresence/PopChild.mjs
20651
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/components/AnimatePresence/PopChild.mjs
20274
20652
  import * as React51 from "react";
20275
- import { useId as useId2, useRef as useRef20, useContext as useContext8, useInsertionEffect as useInsertionEffect2 } from "react";
20653
+ import { useId as useId2, useRef as useRef20, useContext as useContext9, useInsertionEffect as useInsertionEffect2 } from "react";
20276
20654
 
20277
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/context/MotionConfigContext.mjs
20278
- import { createContext as createContext10 } from "react";
20279
- var MotionConfigContext = createContext10({
20655
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/context/MotionConfigContext.mjs
20656
+ import { createContext as createContext11 } from "react";
20657
+ var MotionConfigContext = createContext11({
20280
20658
  transformPagePoint: (p) => p,
20281
20659
  isStatic: false,
20282
20660
  reducedMotion: "never"
20283
20661
  });
20284
20662
 
20285
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/utils/use-composed-ref.mjs
20663
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/utils/use-composed-ref.mjs
20286
20664
  import * as React50 from "react";
20287
20665
  function setRef(ref, value) {
20288
20666
  if (typeof ref === "function") {
@@ -20319,7 +20697,7 @@ function useComposedRefs(...refs) {
20319
20697
  return React50.useCallback(composeRefs(...refs), refs);
20320
20698
  }
20321
20699
 
20322
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/components/AnimatePresence/PopChild.mjs
20700
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/components/AnimatePresence/PopChild.mjs
20323
20701
  var PopChildMeasure = class extends React51.Component {
20324
20702
  getSnapshotBeforeUpdate(prevProps) {
20325
20703
  const element = this.props.childRef.current;
@@ -20360,7 +20738,7 @@ function PopChild({ children, isPresent, anchorX, anchorY, root, pop }) {
20360
20738
  bottom: 0,
20361
20739
  direction: "ltr"
20362
20740
  });
20363
- const { nonce } = useContext8(MotionConfigContext);
20741
+ const { nonce } = useContext9(MotionConfigContext);
20364
20742
  const childRef = pop !== false ? children.props?.ref ?? children?.ref : void 0;
20365
20743
  const composedRef = useComposedRefs(ref, childRef);
20366
20744
  useInsertionEffect2(() => {
@@ -20397,7 +20775,7 @@ function PopChild({ children, isPresent, anchorX, anchorY, root, pop }) {
20397
20775
  return jsx3(PopChildMeasure, { isPresent, childRef: ref, sizeRef: size4, pop, children: pop === false ? children : React51.cloneElement(children, { ref: composedRef }) });
20398
20776
  }
20399
20777
 
20400
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/components/AnimatePresence/PresenceChild.mjs
20778
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/components/AnimatePresence/PresenceChild.mjs
20401
20779
  var PresenceChild = ({ children, initial: initial2, isPresent, onExitComplete, custom: custom2, presenceAffectsLayout, mode, anchorX, anchorY, root }) => {
20402
20780
  const presenceChildren = useConstant(newChildrenMap);
20403
20781
  const id3 = useId3();
@@ -20448,10 +20826,10 @@ function newChildrenMap() {
20448
20826
  return /* @__PURE__ */ new Map();
20449
20827
  }
20450
20828
 
20451
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/components/AnimatePresence/use-presence.mjs
20452
- import { useContext as useContext9, useId as useId4, useEffect as useEffect16, useCallback as useCallback7 } from "react";
20829
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/components/AnimatePresence/use-presence.mjs
20830
+ import { useContext as useContext10, useId as useId4, useEffect as useEffect16, useCallback as useCallback7 } from "react";
20453
20831
  function usePresence(subscribe = true) {
20454
- const context = useContext9(PresenceContext);
20832
+ const context = useContext10(PresenceContext);
20455
20833
  if (context === null)
20456
20834
  return [true, null];
20457
20835
  const { isPresent, onExitComplete, register: register2 } = context;
@@ -20465,19 +20843,19 @@ function usePresence(subscribe = true) {
20465
20843
  return !isPresent && onExitComplete ? [false, safeToRemove] : [true];
20466
20844
  }
20467
20845
 
20468
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/components/AnimatePresence/utils.mjs
20469
- import { Children as Children2, isValidElement as isValidElement5 } from "react";
20846
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/components/AnimatePresence/utils.mjs
20847
+ import { Children as Children2, isValidElement as isValidElement6 } from "react";
20470
20848
  var getChildKey = (child) => child.key || "";
20471
20849
  function onlyElements(children) {
20472
20850
  const filtered = [];
20473
20851
  Children2.forEach(children, (child) => {
20474
- if (isValidElement5(child))
20852
+ if (isValidElement6(child))
20475
20853
  filtered.push(child);
20476
20854
  });
20477
20855
  return filtered;
20478
20856
  }
20479
20857
 
20480
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/components/AnimatePresence/index.mjs
20858
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/components/AnimatePresence/index.mjs
20481
20859
  var AnimatePresence = ({ children, custom: custom2, initial: initial2 = true, onExitComplete, presenceAffectsLayout = true, mode = "sync", propagate = false, anchorX = "left", anchorY = "top", root }) => {
20482
20860
  const [isParentPresent, safeToRemove] = usePresence(propagate);
20483
20861
  const presentChildren = useMemo16(() => onlyElements(children), [children]);
@@ -20531,7 +20909,7 @@ var AnimatePresence = ({ children, custom: custom2, initial: initial2 = true, on
20531
20909
  if (process.env.NODE_ENV !== "production" && mode === "wait" && renderedChildren.length > 1) {
20532
20910
  console.warn(`You're attempting to animate multiple children within AnimatePresence, but its mode is set to "wait". This will lead to odd visual behaviour.`);
20533
20911
  }
20534
- const { forceRender } = useContext10(LayoutGroupContext);
20912
+ const { forceRender } = useContext11(LayoutGroupContext);
20535
20913
  return jsx5(Fragment5, { children: renderedChildren.map((child) => {
20536
20914
  const key = getChildKey(child);
20537
20915
  const isPresent = propagate && !isParentPresent ? false : presentChildren === renderedChildren || presentKeys.includes(key);
@@ -20561,18 +20939,18 @@ var AnimatePresence = ({ children, custom: custom2, initial: initial2 = true, on
20561
20939
  }) });
20562
20940
  };
20563
20941
 
20564
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/components/LayoutGroup/index.mjs
20942
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/components/LayoutGroup/index.mjs
20565
20943
  import { jsx as jsx6 } from "react/jsx-runtime";
20566
- import { useContext as useContext11, useRef as useRef24, useMemo as useMemo17 } from "react";
20944
+ import { useContext as useContext12, useRef as useRef24, useMemo as useMemo17 } from "react";
20567
20945
 
20568
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/context/DeprecatedLayoutGroupContext.mjs
20569
- import { createContext as createContext11 } from "react";
20570
- var DeprecatedLayoutGroupContext = createContext11(null);
20946
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/context/DeprecatedLayoutGroupContext.mjs
20947
+ import { createContext as createContext12 } from "react";
20948
+ var DeprecatedLayoutGroupContext = createContext12(null);
20571
20949
 
20572
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/utils/use-force-update.mjs
20950
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/utils/use-force-update.mjs
20573
20951
  import { useState as useState12, useCallback as useCallback8 } from "react";
20574
20952
 
20575
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/utils/use-is-mounted.mjs
20953
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/utils/use-is-mounted.mjs
20576
20954
  import { useRef as useRef23 } from "react";
20577
20955
  function useIsMounted() {
20578
20956
  const isMounted = useRef23(false);
@@ -20585,7 +20963,7 @@ function useIsMounted() {
20585
20963
  return isMounted;
20586
20964
  }
20587
20965
 
20588
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/utils/use-force-update.mjs
20966
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/utils/use-force-update.mjs
20589
20967
  function useForceUpdate() {
20590
20968
  const isMounted = useIsMounted();
20591
20969
  const [forcedRenderCount, setForcedRenderCount] = useState12(0);
@@ -20596,12 +20974,12 @@ function useForceUpdate() {
20596
20974
  return [deferredForceRender, forcedRenderCount];
20597
20975
  }
20598
20976
 
20599
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/components/LayoutGroup/index.mjs
20977
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/components/LayoutGroup/index.mjs
20600
20978
  var shouldInheritGroup = (inherit) => inherit === true;
20601
20979
  var shouldInheritId = (inherit) => shouldInheritGroup(inherit === true) || inherit === "id";
20602
20980
  var LayoutGroup = ({ children, id: id3, inherit = true }) => {
20603
- const layoutGroupContext = useContext11(LayoutGroupContext);
20604
- const deprecatedLayoutGroupContext = useContext11(DeprecatedLayoutGroupContext);
20981
+ const layoutGroupContext = useContext12(LayoutGroupContext);
20982
+ const deprecatedLayoutGroupContext = useContext12(DeprecatedLayoutGroupContext);
20605
20983
  const [forceRender, key] = useForceUpdate();
20606
20984
  const context = useRef24(null);
20607
20985
  const upstreamId = layoutGroupContext.id || deprecatedLayoutGroupContext;
@@ -20618,15 +20996,15 @@ var LayoutGroup = ({ children, id: id3, inherit = true }) => {
20618
20996
  return jsx6(LayoutGroupContext.Provider, { value: memoizedContext, children });
20619
20997
  };
20620
20998
 
20621
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/components/LazyMotion/index.mjs
20999
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/components/LazyMotion/index.mjs
20622
21000
  import { jsx as jsx7 } from "react/jsx-runtime";
20623
21001
  import { useState as useState13, useRef as useRef25, useEffect as useEffect17 } from "react";
20624
21002
 
20625
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/context/LazyContext.mjs
20626
- import { createContext as createContext12 } from "react";
20627
- var LazyContext = createContext12({ strict: false });
21003
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/context/LazyContext.mjs
21004
+ import { createContext as createContext13 } from "react";
21005
+ var LazyContext = createContext13({ strict: false });
20628
21006
 
20629
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/motion/features/definitions.mjs
21007
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/motion/features/definitions.mjs
20630
21008
  var featureProps = {
20631
21009
  animation: [
20632
21010
  "animate",
@@ -20665,7 +21043,7 @@ function getInitializedFeatureDefinitions() {
20665
21043
  return getFeatureDefinitions();
20666
21044
  }
20667
21045
 
20668
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/motion/features/load-features.mjs
21046
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/motion/features/load-features.mjs
20669
21047
  function loadFeatures(features) {
20670
21048
  const featureDefinitions2 = getInitializedFeatureDefinitions();
20671
21049
  for (const key in features) {
@@ -20677,7 +21055,7 @@ function loadFeatures(features) {
20677
21055
  setFeatureDefinitions(featureDefinitions2);
20678
21056
  }
20679
21057
 
20680
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/components/LazyMotion/index.mjs
21058
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/components/LazyMotion/index.mjs
20681
21059
  function LazyMotion({ children, features, strict = false }) {
20682
21060
  const [, setIsLoaded] = useState13(!isLazyBundle(features));
20683
21061
  const loadedRenderer = useRef25(void 0);
@@ -20701,11 +21079,11 @@ function isLazyBundle(features) {
20701
21079
  return typeof features === "function";
20702
21080
  }
20703
21081
 
20704
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/components/MotionConfig/index.mjs
21082
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/components/MotionConfig/index.mjs
20705
21083
  import { jsx as jsx8 } from "react/jsx-runtime";
20706
- import { useContext as useContext12, useMemo as useMemo18 } from "react";
21084
+ import { useContext as useContext13, useMemo as useMemo18 } from "react";
20707
21085
  function MotionConfig({ children, ...config2 }) {
20708
- const parentConfig = useContext12(MotionConfigContext);
21086
+ const parentConfig = useContext13(MotionConfigContext);
20709
21087
  config2 = { ...parentConfig, ...config2 };
20710
21088
  config2.transition = resolveTransition(config2.transition, parentConfig.transition);
20711
21089
  config2.isStatic = useConstant(() => config2.isStatic);
@@ -20719,7 +21097,7 @@ function MotionConfig({ children, ...config2 }) {
20719
21097
  return jsx8(MotionConfigContext.Provider, { value: context, children });
20720
21098
  }
20721
21099
 
20722
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/events/event-info.mjs
21100
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/events/event-info.mjs
20723
21101
  function extractEventInfo(event) {
20724
21102
  return {
20725
21103
  point: {
@@ -20730,22 +21108,22 @@ function extractEventInfo(event) {
20730
21108
  }
20731
21109
  var addPointerInfo = (handler) => (event) => isPrimaryPointer(event) && handler(event, extractEventInfo(event));
20732
21110
 
20733
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/events/add-pointer-event.mjs
21111
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/events/add-pointer-event.mjs
20734
21112
  function addPointerEvent(target, eventName, handler, options) {
20735
21113
  return addDomEvent(target, eventName, addPointerInfo(handler), options);
20736
21114
  }
20737
21115
 
20738
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/utils/get-context-window.mjs
21116
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/utils/get-context-window.mjs
20739
21117
  var getContextWindow = ({ current }) => {
20740
21118
  return current ? current.ownerDocument.defaultView : null;
20741
21119
  };
20742
21120
 
20743
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/utils/is-ref-object.mjs
21121
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/utils/is-ref-object.mjs
20744
21122
  function isRefObject(ref) {
20745
21123
  return ref && typeof ref === "object" && Object.prototype.hasOwnProperty.call(ref, "current");
20746
21124
  }
20747
21125
 
20748
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/utils/distance.mjs
21126
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/utils/distance.mjs
20749
21127
  var distance = (a, b) => Math.abs(a - b);
20750
21128
  function distance2D(a, b) {
20751
21129
  const xDelta = distance(a.x, b.x);
@@ -20753,7 +21131,7 @@ function distance2D(a, b) {
20753
21131
  return Math.sqrt(xDelta ** 2 + yDelta ** 2);
20754
21132
  }
20755
21133
 
20756
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/gestures/pan/PanSession.mjs
21134
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/gestures/pan/PanSession.mjs
20757
21135
  var overflowStyles = /* @__PURE__ */ new Set(["auto", "scroll"]);
20758
21136
  var PanSession = class {
20759
21137
  constructor(event, handlers, { transformPagePoint, contextWindow = window, dragSnapToOrigin = false, distanceThreshold = 3, element } = {}) {
@@ -20961,7 +21339,7 @@ function getVelocity(history, timeDelta) {
20961
21339
  return currentVelocity;
20962
21340
  }
20963
21341
 
20964
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/gestures/drag/utils/constraints.mjs
21342
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/gestures/drag/utils/constraints.mjs
20965
21343
  function applyConstraints(point, { min: min2, max: max2 }, elastic) {
20966
21344
  if (min2 !== void 0 && point < min2) {
20967
21345
  point = elastic ? mixNumber(min2, point, elastic.min) : Math.max(point, min2);
@@ -21039,7 +21417,7 @@ function resolvePointElastic(dragElastic, label) {
21039
21417
  return typeof dragElastic === "number" ? dragElastic : dragElastic[label] || 0;
21040
21418
  }
21041
21419
 
21042
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.mjs
21420
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.mjs
21043
21421
  var elementDragControls = /* @__PURE__ */ new WeakMap();
21044
21422
  var VisualElementDragControls = class {
21045
21423
  constructor(visualElement) {
@@ -21448,7 +21826,7 @@ function getCurrentDirection(offset4, lockThreshold = 10) {
21448
21826
  return direction;
21449
21827
  }
21450
21828
 
21451
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/gestures/drag/index.mjs
21829
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/gestures/drag/index.mjs
21452
21830
  var DragGesture = class extends Feature {
21453
21831
  constructor(node) {
21454
21832
  super(node);
@@ -21482,7 +21860,7 @@ var DragGesture = class extends Feature {
21482
21860
  }
21483
21861
  };
21484
21862
 
21485
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/gestures/pan/index.mjs
21863
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/gestures/pan/index.mjs
21486
21864
  var asyncHandler = (handler) => (event, info) => {
21487
21865
  if (handler) {
21488
21866
  frame.update(() => handler(event, info), false, true);
@@ -21525,15 +21903,15 @@ var PanGesture = class extends Feature {
21525
21903
  }
21526
21904
  };
21527
21905
 
21528
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/motion/features/layout/MeasureLayout.mjs
21906
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/motion/features/layout/MeasureLayout.mjs
21529
21907
  import { jsx as jsx9 } from "react/jsx-runtime";
21530
- import { useContext as useContext13, Component as Component2 } from "react";
21908
+ import { useContext as useContext14, Component as Component2 } from "react";
21531
21909
 
21532
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/context/SwitchLayoutGroupContext.mjs
21533
- import { createContext as createContext13 } from "react";
21534
- var SwitchLayoutGroupContext = createContext13({});
21910
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/context/SwitchLayoutGroupContext.mjs
21911
+ import { createContext as createContext14 } from "react";
21912
+ var SwitchLayoutGroupContext = createContext14({});
21535
21913
 
21536
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/motion/features/layout/MeasureLayout.mjs
21914
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/motion/features/layout/MeasureLayout.mjs
21537
21915
  var hasTakenAnySnapshot = false;
21538
21916
  var MeasureLayoutWithContext = class extends Component2 {
21539
21917
  /**
@@ -21631,11 +22009,11 @@ var MeasureLayoutWithContext = class extends Component2 {
21631
22009
  };
21632
22010
  function MeasureLayout(props) {
21633
22011
  const [isPresent, safeToRemove] = usePresence();
21634
- const layoutGroup = useContext13(LayoutGroupContext);
21635
- return jsx9(MeasureLayoutWithContext, { ...props, layoutGroup, switchLayoutGroup: useContext13(SwitchLayoutGroupContext), isPresent, safeToRemove });
22012
+ const layoutGroup = useContext14(LayoutGroupContext);
22013
+ return jsx9(MeasureLayoutWithContext, { ...props, layoutGroup, switchLayoutGroup: useContext14(SwitchLayoutGroupContext), isPresent, safeToRemove });
21636
22014
  }
21637
22015
 
21638
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/motion/features/drag.mjs
22016
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/motion/features/drag.mjs
21639
22017
  var drag2 = {
21640
22018
  pan: {
21641
22019
  Feature: PanGesture
@@ -21647,7 +22025,7 @@ var drag2 = {
21647
22025
  }
21648
22026
  };
21649
22027
 
21650
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/motion/features/layout.mjs
22028
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/motion/features/layout.mjs
21651
22029
  var layout = {
21652
22030
  layout: {
21653
22031
  ProjectionNode: HTMLProjectionNode,
@@ -21655,7 +22033,7 @@ var layout = {
21655
22033
  }
21656
22034
  };
21657
22035
 
21658
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/motion/features/animation/index.mjs
22036
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/motion/features/animation/index.mjs
21659
22037
  var AnimationFeature = class extends Feature {
21660
22038
  /**
21661
22039
  * We dynamically generate the AnimationState manager as it contains a reference
@@ -21691,7 +22069,7 @@ var AnimationFeature = class extends Feature {
21691
22069
  }
21692
22070
  };
21693
22071
 
21694
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/motion/features/animation/exit.mjs
22072
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/motion/features/animation/exit.mjs
21695
22073
  var id2 = 0;
21696
22074
  var ExitAnimationFeature = class extends Feature {
21697
22075
  constructor() {
@@ -21748,7 +22126,7 @@ var ExitAnimationFeature = class extends Feature {
21748
22126
  }
21749
22127
  };
21750
22128
 
21751
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/motion/features/animations.mjs
22129
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/motion/features/animations.mjs
21752
22130
  var animations = {
21753
22131
  animation: {
21754
22132
  Feature: AnimationFeature
@@ -21758,7 +22136,7 @@ var animations = {
21758
22136
  }
21759
22137
  };
21760
22138
 
21761
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/gestures/hover.mjs
22139
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/gestures/hover.mjs
21762
22140
  function handleHoverEvent(node, event, lifecycle) {
21763
22141
  const { props } = node;
21764
22142
  if (node.animationState && props.whileHover) {
@@ -21784,7 +22162,7 @@ var HoverGesture = class extends Feature {
21784
22162
  }
21785
22163
  };
21786
22164
 
21787
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/gestures/focus.mjs
22165
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/gestures/focus.mjs
21788
22166
  var FocusGesture = class extends Feature {
21789
22167
  constructor() {
21790
22168
  super(...arguments);
@@ -21815,7 +22193,7 @@ var FocusGesture = class extends Feature {
21815
22193
  }
21816
22194
  };
21817
22195
 
21818
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/gestures/press.mjs
22196
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/gestures/press.mjs
21819
22197
  function handlePressEvent(node, event, lifecycle) {
21820
22198
  const { props } = node;
21821
22199
  if (node.current instanceof HTMLButtonElement && node.current.disabled) {
@@ -21848,7 +22226,7 @@ var PressGesture = class extends Feature {
21848
22226
  }
21849
22227
  };
21850
22228
 
21851
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/motion/features/viewport/observers.mjs
22229
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/motion/features/viewport/observers.mjs
21852
22230
  var observerCallbacks = /* @__PURE__ */ new WeakMap();
21853
22231
  var observers = /* @__PURE__ */ new WeakMap();
21854
22232
  var fireObserverCallback = (entry) => {
@@ -21880,7 +22258,7 @@ function observeIntersection(element, options, callback) {
21880
22258
  };
21881
22259
  }
21882
22260
 
21883
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/motion/features/viewport/index.mjs
22261
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/motion/features/viewport/index.mjs
21884
22262
  var thresholdNames = {
21885
22263
  some: 0,
21886
22264
  all: 1
@@ -21941,7 +22319,7 @@ function hasViewportOptionChanged({ viewport = {} }, { viewport: prevViewport =
21941
22319
  return (name) => viewport[name] !== prevViewport[name];
21942
22320
  }
21943
22321
 
21944
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/motion/features/gestures.mjs
22322
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/motion/features/gestures.mjs
21945
22323
  var gestureAnimations = {
21946
22324
  inView: {
21947
22325
  Feature: InViewFeature
@@ -21957,10 +22335,10 @@ var gestureAnimations = {
21957
22335
  }
21958
22336
  };
21959
22337
 
21960
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/render/dom/create-visual-element.mjs
22338
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/render/dom/create-visual-element.mjs
21961
22339
  import { Fragment as Fragment6 } from "react";
21962
22340
 
21963
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/render/svg/lowercase-elements.mjs
22341
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/render/svg/lowercase-elements.mjs
21964
22342
  var lowercaseSVGElements = [
21965
22343
  "animate",
21966
22344
  "circle",
@@ -21989,7 +22367,7 @@ var lowercaseSVGElements = [
21989
22367
  "view"
21990
22368
  ];
21991
22369
 
21992
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/render/dom/utils/is-svg-component.mjs
22370
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/render/dom/utils/is-svg-component.mjs
21993
22371
  function isSVGComponent(Component3) {
21994
22372
  if (
21995
22373
  /**
@@ -22016,7 +22394,7 @@ function isSVGComponent(Component3) {
22016
22394
  return false;
22017
22395
  }
22018
22396
 
22019
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/render/dom/create-visual-element.mjs
22397
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/render/dom/create-visual-element.mjs
22020
22398
  var createDomVisualElement = (Component3, options) => {
22021
22399
  const isSVG = options.isSVG ?? isSVGComponent(Component3);
22022
22400
  return isSVG ? new SVGVisualElement(options) : new HTMLVisualElement(options, {
@@ -22024,21 +22402,21 @@ var createDomVisualElement = (Component3, options) => {
22024
22402
  });
22025
22403
  };
22026
22404
 
22027
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/render/dom/features-animation.mjs
22405
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/render/dom/features-animation.mjs
22028
22406
  var domAnimation = {
22029
22407
  renderer: createDomVisualElement,
22030
22408
  ...animations,
22031
22409
  ...gestureAnimations
22032
22410
  };
22033
22411
 
22034
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/render/dom/features-max.mjs
22412
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/render/dom/features-max.mjs
22035
22413
  var domMax = {
22036
22414
  ...domAnimation,
22037
22415
  ...drag2,
22038
22416
  ...layout
22039
22417
  };
22040
22418
 
22041
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/utils/reduced-motion/use-reduced-motion.mjs
22419
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/utils/reduced-motion/use-reduced-motion.mjs
22042
22420
  import { useState as useState14 } from "react";
22043
22421
  function useReducedMotion() {
22044
22422
  !hasReducedMotionListener.current && initPrefersReducedMotion();
@@ -22049,18 +22427,18 @@ function useReducedMotion() {
22049
22427
  return shouldReduceMotion;
22050
22428
  }
22051
22429
 
22052
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/motion/index.mjs
22053
- import { jsxs as jsxs2, jsx as jsx10 } from "react/jsx-runtime";
22054
- import { forwardRef as forwardRef16, useContext as useContext17 } from "react";
22430
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/motion/index.mjs
22431
+ import { jsxs as jsxs3, jsx as jsx10 } from "react/jsx-runtime";
22432
+ import { forwardRef as forwardRef17, useContext as useContext18 } from "react";
22055
22433
 
22056
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/context/MotionContext/index.mjs
22057
- import { createContext as createContext14 } from "react";
22058
- var MotionContext = /* @__PURE__ */ createContext14({});
22434
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/context/MotionContext/index.mjs
22435
+ import { createContext as createContext15 } from "react";
22436
+ var MotionContext = /* @__PURE__ */ createContext15({});
22059
22437
 
22060
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/context/MotionContext/create.mjs
22061
- import { useContext as useContext14, useMemo as useMemo19 } from "react";
22438
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/context/MotionContext/create.mjs
22439
+ import { useContext as useContext15, useMemo as useMemo19 } from "react";
22062
22440
 
22063
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/context/MotionContext/utils.mjs
22441
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/context/MotionContext/utils.mjs
22064
22442
  function getCurrentTreeVariants(props, context) {
22065
22443
  if (isControllingVariants(props)) {
22066
22444
  const { initial: initial2, animate } = props;
@@ -22072,22 +22450,22 @@ function getCurrentTreeVariants(props, context) {
22072
22450
  return props.inherit !== false ? context : {};
22073
22451
  }
22074
22452
 
22075
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/context/MotionContext/create.mjs
22453
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/context/MotionContext/create.mjs
22076
22454
  function useCreateMotionContext(props) {
22077
- const { initial: initial2, animate } = getCurrentTreeVariants(props, useContext14(MotionContext));
22455
+ const { initial: initial2, animate } = getCurrentTreeVariants(props, useContext15(MotionContext));
22078
22456
  return useMemo19(() => ({ initial: initial2, animate }), [variantLabelsAsDependency(initial2), variantLabelsAsDependency(animate)]);
22079
22457
  }
22080
22458
  function variantLabelsAsDependency(prop) {
22081
22459
  return Array.isArray(prop) ? prop.join(" ") : prop;
22082
22460
  }
22083
22461
 
22084
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/render/dom/use-render.mjs
22462
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/render/dom/use-render.mjs
22085
22463
  import { Fragment as Fragment7, useMemo as useMemo22, createElement as createElement2 } from "react";
22086
22464
 
22087
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/render/html/use-props.mjs
22465
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/render/html/use-props.mjs
22088
22466
  import { useMemo as useMemo20 } from "react";
22089
22467
 
22090
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/render/html/utils/create-render-state.mjs
22468
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/render/html/utils/create-render-state.mjs
22091
22469
  var createHtmlRenderState = () => ({
22092
22470
  style: {},
22093
22471
  transform: {},
@@ -22095,7 +22473,7 @@ var createHtmlRenderState = () => ({
22095
22473
  vars: {}
22096
22474
  });
22097
22475
 
22098
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/render/html/use-props.mjs
22476
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/render/html/use-props.mjs
22099
22477
  function copyRawValuesOnly(target, source, props) {
22100
22478
  for (const key in source) {
22101
22479
  if (!isMotionValue(source[key]) && !isForcedMotionValue(key, props)) {
@@ -22132,16 +22510,16 @@ function useHTMLProps(props, visualState) {
22132
22510
  return htmlProps;
22133
22511
  }
22134
22512
 
22135
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/render/svg/use-props.mjs
22513
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/render/svg/use-props.mjs
22136
22514
  import { useMemo as useMemo21 } from "react";
22137
22515
 
22138
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.mjs
22516
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.mjs
22139
22517
  var createSvgRenderState = () => ({
22140
22518
  ...createHtmlRenderState(),
22141
22519
  attrs: {}
22142
22520
  });
22143
22521
 
22144
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/render/svg/use-props.mjs
22522
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/render/svg/use-props.mjs
22145
22523
  function useSVGProps(props, visualState, _isStatic, Component3) {
22146
22524
  const visualProps = useMemo21(() => {
22147
22525
  const state = createSvgRenderState();
@@ -22159,7 +22537,7 @@ function useSVGProps(props, visualState, _isStatic, Component3) {
22159
22537
  return visualProps;
22160
22538
  }
22161
22539
 
22162
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/motion/utils/valid-prop.mjs
22540
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/motion/utils/valid-prop.mjs
22163
22541
  var validMotionProps = /* @__PURE__ */ new Set([
22164
22542
  "animate",
22165
22543
  "exit",
@@ -22197,7 +22575,7 @@ function isValidMotionProp(key) {
22197
22575
  return key.startsWith("while") || key.startsWith("drag") && key !== "draggable" || key.startsWith("layout") || key.startsWith("onTap") || key.startsWith("onPan") || key.startsWith("onLayout") || validMotionProps.has(key);
22198
22576
  }
22199
22577
 
22200
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/render/dom/utils/filter-props.mjs
22578
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/render/dom/utils/filter-props.mjs
22201
22579
  function shouldForward(key, isValidProp) {
22202
22580
  return key.startsWith("on") ? !isValidMotionProp(key) : isValidProp?.(key) ?? !isValidMotionProp(key);
22203
22581
  }
@@ -22216,7 +22594,7 @@ function filterProps(props, isDom, forwardMotionProps, isValidProp) {
22216
22594
  return filteredProps;
22217
22595
  }
22218
22596
 
22219
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/render/dom/use-render.mjs
22597
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/render/dom/use-render.mjs
22220
22598
  function useRender(Component3, props, ref, { latestValues }, isStatic, forwardMotionProps = false, isSVG, isValidProp) {
22221
22599
  const useVisualProps = isSVG ?? isSVGComponent(Component3) ? useSVGProps : useHTMLProps;
22222
22600
  const visualProps = useVisualProps(props, latestValues, isStatic, Component3);
@@ -22230,8 +22608,8 @@ function useRender(Component3, props, ref, { latestValues }, isStatic, forwardMo
22230
22608
  });
22231
22609
  }
22232
22610
 
22233
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/motion/utils/use-visual-state.mjs
22234
- import { useContext as useContext15 } from "react";
22611
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/motion/utils/use-visual-state.mjs
22612
+ import { useContext as useContext16 } from "react";
22235
22613
  function makeState({ scrapeMotionValuesFromProps: scrapeMotionValuesFromProps3, createRenderState }, props, context, presenceContext) {
22236
22614
  const state = {
22237
22615
  latestValues: makeLatestValues(props, context, presenceContext, scrapeMotionValuesFromProps3),
@@ -22282,28 +22660,28 @@ function makeLatestValues(props, context, presenceContext, scrapeMotionValues) {
22282
22660
  return values;
22283
22661
  }
22284
22662
  var makeUseVisualState = (config2) => (props, isStatic) => {
22285
- const context = useContext15(MotionContext);
22286
- const presenceContext = useContext15(PresenceContext);
22663
+ const context = useContext16(MotionContext);
22664
+ const presenceContext = useContext16(PresenceContext);
22287
22665
  const make = () => makeState(config2, props, context, presenceContext);
22288
22666
  return isStatic ? make() : useConstant(make);
22289
22667
  };
22290
22668
 
22291
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/render/html/use-html-visual-state.mjs
22669
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/render/html/use-html-visual-state.mjs
22292
22670
  var useHTMLVisualState = /* @__PURE__ */ makeUseVisualState({
22293
22671
  scrapeMotionValuesFromProps,
22294
22672
  createRenderState: createHtmlRenderState
22295
22673
  });
22296
22674
 
22297
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/render/svg/use-svg-visual-state.mjs
22675
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/render/svg/use-svg-visual-state.mjs
22298
22676
  var useSVGVisualState = /* @__PURE__ */ makeUseVisualState({
22299
22677
  scrapeMotionValuesFromProps: scrapeMotionValuesFromProps2,
22300
22678
  createRenderState: createSvgRenderState
22301
22679
  });
22302
22680
 
22303
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/motion/utils/symbol.mjs
22681
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/motion/utils/symbol.mjs
22304
22682
  var motionComponentSymbol = /* @__PURE__ */ Symbol.for("motionComponentSymbol");
22305
22683
 
22306
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.mjs
22684
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.mjs
22307
22685
  import { useRef as useRef26, useInsertionEffect as useInsertionEffect3, useCallback as useCallback9 } from "react";
22308
22686
  function useMotionRef(visualState, visualElement, externalRef) {
22309
22687
  const externalRefContainer = useRef26(externalRef);
@@ -22337,13 +22715,13 @@ function useMotionRef(visualState, visualElement, externalRef) {
22337
22715
  }, [visualElement]);
22338
22716
  }
22339
22717
 
22340
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/motion/utils/use-visual-element.mjs
22341
- import { useContext as useContext16, useRef as useRef27, useInsertionEffect as useInsertionEffect4, useEffect as useEffect18 } from "react";
22718
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/motion/utils/use-visual-element.mjs
22719
+ import { useContext as useContext17, useRef as useRef27, useInsertionEffect as useInsertionEffect4, useEffect as useEffect18 } from "react";
22342
22720
  function useVisualElement(Component3, visualState, props, createVisualElement, ProjectionNodeConstructor, isSVG) {
22343
- const { visualElement: parent } = useContext16(MotionContext);
22344
- const lazyContext = useContext16(LazyContext);
22345
- const presenceContext = useContext16(PresenceContext);
22346
- const motionConfig = useContext16(MotionConfigContext);
22721
+ const { visualElement: parent } = useContext17(MotionContext);
22722
+ const lazyContext = useContext17(LazyContext);
22723
+ const presenceContext = useContext17(PresenceContext);
22724
+ const motionConfig = useContext17(MotionConfigContext);
22347
22725
  const reducedMotionConfig = motionConfig.reducedMotion;
22348
22726
  const skipAnimations = motionConfig.skipAnimations;
22349
22727
  const visualElementRef = useRef27(null);
@@ -22365,7 +22743,7 @@ function useVisualElement(Component3, visualState, props, createVisualElement, P
22365
22743
  }
22366
22744
  }
22367
22745
  const visualElement = visualElementRef.current;
22368
- const initialLayoutGroupConfig = useContext16(SwitchLayoutGroupContext);
22746
+ const initialLayoutGroupConfig = useContext17(SwitchLayoutGroupContext);
22369
22747
  if (visualElement && !visualElement.projection && ProjectionNodeConstructor && (visualElement.type === "html" || visualElement.type === "svg")) {
22370
22748
  createProjectionNode2(visualElementRef.current, props, ProjectionNodeConstructor, initialLayoutGroupConfig);
22371
22749
  }
@@ -22434,7 +22812,7 @@ function getClosestProjectingNode(visualElement) {
22434
22812
  return visualElement.options.allowProjection !== false ? visualElement.projection : getClosestProjectingNode(visualElement.parent);
22435
22813
  }
22436
22814
 
22437
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/motion/index.mjs
22815
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/motion/index.mjs
22438
22816
  function createMotionComponent(Component3, { forwardMotionProps = false, type } = {}, preloadedFeatures, createVisualElement) {
22439
22817
  preloadedFeatures && loadFeatures(preloadedFeatures);
22440
22818
  const isSVG = type ? type === "svg" : isSVGComponent(Component3);
@@ -22442,7 +22820,7 @@ function createMotionComponent(Component3, { forwardMotionProps = false, type }
22442
22820
  function MotionDOMComponent(props, externalRef) {
22443
22821
  let MeasureLayout2;
22444
22822
  const configAndProps = {
22445
- ...useContext17(MotionConfigContext),
22823
+ ...useContext18(MotionConfigContext),
22446
22824
  ...props,
22447
22825
  layoutId: useLayoutId(props)
22448
22826
  };
@@ -22455,19 +22833,19 @@ function createMotionComponent(Component3, { forwardMotionProps = false, type }
22455
22833
  MeasureLayout2 = layoutProjection.MeasureLayout;
22456
22834
  context.visualElement = useVisualElement(Component3, visualState, configAndProps, createVisualElement, layoutProjection.ProjectionNode, isSVG);
22457
22835
  }
22458
- return jsxs2(MotionContext.Provider, { value: context, children: [MeasureLayout2 && context.visualElement ? jsx10(MeasureLayout2, { visualElement: context.visualElement, ...configAndProps }) : null, useRender(Component3, props, useMotionRef(visualState, context.visualElement, externalRef), visualState, isStatic, forwardMotionProps, isSVG, isValidProp)] });
22836
+ return jsxs3(MotionContext.Provider, { value: context, children: [MeasureLayout2 && context.visualElement ? jsx10(MeasureLayout2, { visualElement: context.visualElement, ...configAndProps }) : null, useRender(Component3, props, useMotionRef(visualState, context.visualElement, externalRef), visualState, isStatic, forwardMotionProps, isSVG, isValidProp)] });
22459
22837
  }
22460
22838
  MotionDOMComponent.displayName = `motion.${typeof Component3 === "string" ? Component3 : `create(${Component3.displayName ?? Component3.name ?? ""})`}`;
22461
- const ForwardRefMotionComponent = forwardRef16(MotionDOMComponent);
22839
+ const ForwardRefMotionComponent = forwardRef17(MotionDOMComponent);
22462
22840
  ForwardRefMotionComponent[motionComponentSymbol] = Component3;
22463
22841
  return ForwardRefMotionComponent;
22464
22842
  }
22465
22843
  function useLayoutId({ layoutId }) {
22466
- const layoutGroupId = useContext17(LayoutGroupContext).id;
22844
+ const layoutGroupId = useContext18(LayoutGroupContext).id;
22467
22845
  return layoutGroupId && layoutId !== void 0 ? layoutGroupId + "-" + layoutId : layoutId;
22468
22846
  }
22469
22847
  function useStrictMode(configAndProps, preloadedFeatures) {
22470
- const isStrict = useContext17(LazyContext).strict;
22848
+ const isStrict = useContext18(LazyContext).strict;
22471
22849
  if (process.env.NODE_ENV !== "production" && preloadedFeatures && isStrict) {
22472
22850
  const strictMessage = "You have rendered a `motion` component within a `LazyMotion` component. This will break tree shaking. Import and render a `m` component instead.";
22473
22851
  configAndProps.ignoreStrict ? warning(false, strictMessage, "lazy-strict-mode") : invariant(false, strictMessage, "lazy-strict-mode");
@@ -22485,7 +22863,7 @@ function getProjectionFunctionality(props) {
22485
22863
  };
22486
22864
  }
22487
22865
 
22488
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/render/components/create-proxy.mjs
22866
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/render/components/create-proxy.mjs
22489
22867
  function createMotionProxy(preloadedFeatures, createVisualElement) {
22490
22868
  if (typeof Proxy === "undefined") {
22491
22869
  return createMotionComponent;
@@ -22517,7 +22895,7 @@ function createMotionProxy(preloadedFeatures, createVisualElement) {
22517
22895
  });
22518
22896
  }
22519
22897
 
22520
- // node_modules/.pnpm/framer-motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/render/components/m/proxy.mjs
22898
+ // node_modules/.pnpm/framer-motion@13.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/framer-motion/dist/es/render/components/m/proxy.mjs
22521
22899
  var m = /* @__PURE__ */ createMotionProxy();
22522
22900
 
22523
22901
  // node_modules/.pnpm/motion@13.2.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/motion/dist/es/react.mjs
@@ -24935,6 +25313,7 @@ export {
24935
25313
  EMPTY_OBJECT,
24936
25314
  resolveStyle,
24937
25315
  useRenderElement,
25316
+ useShape,
24938
25317
  Button$1,
24939
25318
  fastComponent,
24940
25319
  fastComponentRef,