@burdenoff/microfe-brainyrich 2026.706.2 → 2026.706.4
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.
- package/dist/_virtual/_rolldown/runtime.js +5 -5
- package/dist/brainyrich/components/viz.js +155 -156
- package/dist/brainyrich/components/viz.js.map +1 -1
- package/dist/brainyrich/pages/AccountsPage.js.map +1 -1
- package/dist/brainyrich/pages/AiAssistantPage.js.map +1 -1
- package/dist/brainyrich/pages/AnalyticsPage.js.map +1 -1
- package/dist/brainyrich/pages/DashboardPage.js.map +1 -1
- package/dist/brainyrich/pages/FamilyPage.js.map +1 -1
- package/dist/brainyrich/pages/GoalsPage.js.map +1 -1
- package/dist/brainyrich/pages/InvestmentsPage.js.map +1 -1
- package/dist/brainyrich/pages/PortfoliosPage.js.map +1 -1
- package/dist/brainyrich/pages/ReportsPage.js +2 -1
- package/dist/brainyrich/pages/ReportsPage.js.map +1 -1
- package/dist/brainyrich/pages/RiskPage.js.map +1 -1
- package/dist/brainyrich/pages/_shared.js +76 -68
- package/dist/brainyrich/pages/_shared.js.map +1 -1
- package/package.json +3 -4
- package/dist/_virtual/__vite-optional-peer-dep_@emotion/is-prop-valid_framer-motion.js +0 -10
- package/dist/_virtual/__vite-optional-peer-dep_@emotion/is-prop-valid_framer-motion.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/use-presence.js +0 -22
- package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/use-presence.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/context/LayoutGroupContext.js +0 -8
- package/dist/node_modules/framer-motion/dist/es/context/LayoutGroupContext.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/context/LazyContext.js +0 -8
- package/dist/node_modules/framer-motion/dist/es/context/LazyContext.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/context/MotionConfigContext.js +0 -12
- package/dist/node_modules/framer-motion/dist/es/context/MotionConfigContext.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/context/MotionContext/create.js +0 -19
- package/dist/node_modules/framer-motion/dist/es/context/MotionContext/create.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/context/MotionContext/index.js +0 -8
- package/dist/node_modules/framer-motion/dist/es/context/MotionContext/index.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/context/MotionContext/utils.js +0 -17
- package/dist/node_modules/framer-motion/dist/es/context/MotionContext/utils.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/context/PresenceContext.js +0 -8
- package/dist/node_modules/framer-motion/dist/es/context/PresenceContext.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/context/SwitchLayoutGroupContext.js +0 -8
- package/dist/node_modules/framer-motion/dist/es/context/SwitchLayoutGroupContext.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/events/add-pointer-event.js +0 -10
- package/dist/node_modules/framer-motion/dist/es/events/add-pointer-event.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/events/event-info.js +0 -13
- package/dist/node_modules/framer-motion/dist/es/events/event-info.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.js +0 -259
- package/dist/node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/gestures/drag/index.js +0 -24
- package/dist/node_modules/framer-motion/dist/es/gestures/drag/index.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/gestures/drag/utils/constraints.js +0 -61
- package/dist/node_modules/framer-motion/dist/es/gestures/drag/utils/constraints.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/gestures/focus.js +0 -29
- package/dist/node_modules/framer-motion/dist/es/gestures/focus.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/gestures/hover.js +0 -22
- package/dist/node_modules/framer-motion/dist/es/gestures/hover.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/gestures/pan/PanSession.js +0 -135
- package/dist/node_modules/framer-motion/dist/es/gestures/pan/PanSession.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/gestures/pan/index.js +0 -44
- package/dist/node_modules/framer-motion/dist/es/gestures/pan/index.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/gestures/press.js +0 -28
- package/dist/node_modules/framer-motion/dist/es/gestures/press.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/motion/features/animation/exit.js +0 -41
- package/dist/node_modules/framer-motion/dist/es/motion/features/animation/exit.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/motion/features/animation/index.js +0 -27
- package/dist/node_modules/framer-motion/dist/es/motion/features/animation/index.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/motion/features/animations.js +0 -11
- package/dist/node_modules/framer-motion/dist/es/motion/features/animations.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/motion/features/definitions.js +0 -53
- package/dist/node_modules/framer-motion/dist/es/motion/features/definitions.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/motion/features/drag.js +0 -17
- package/dist/node_modules/framer-motion/dist/es/motion/features/drag.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/motion/features/gestures.js +0 -15
- package/dist/node_modules/framer-motion/dist/es/motion/features/gestures.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/motion/features/layout/MeasureLayout.js +0 -63
- package/dist/node_modules/framer-motion/dist/es/motion/features/layout/MeasureLayout.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/motion/features/layout.js +0 -11
- package/dist/node_modules/framer-motion/dist/es/motion/features/layout.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/motion/features/load-features.js +0 -15
- package/dist/node_modules/framer-motion/dist/es/motion/features/load-features.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/motion/features/viewport/index.js +0 -48
- package/dist/node_modules/framer-motion/dist/es/motion/features/viewport/index.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/motion/features/viewport/observers.js +0 -26
- package/dist/node_modules/framer-motion/dist/es/motion/features/viewport/observers.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/motion/index.js +0 -72
- package/dist/node_modules/framer-motion/dist/es/motion/index.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/motion/utils/symbol.js +0 -6
- package/dist/node_modules/framer-motion/dist/es/motion/utils/symbol.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.js +0 -24
- package/dist/node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/motion/utils/use-visual-element.js +0 -60
- package/dist/node_modules/framer-motion/dist/es/motion/utils/use-visual-element.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/motion/utils/use-visual-state.js +0 -52
- package/dist/node_modules/framer-motion/dist/es/motion/utils/use-visual-state.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/motion/utils/valid-prop.js +0 -9
- package/dist/node_modules/framer-motion/dist/es/motion/utils/valid-prop.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/render/components/create-proxy.js +0 -12
- package/dist/node_modules/framer-motion/dist/es/render/components/create-proxy.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/render/components/motion/feature-bundle.js +0 -15
- package/dist/node_modules/framer-motion/dist/es/render/components/motion/feature-bundle.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/render/components/motion/proxy.js +0 -9
- package/dist/node_modules/framer-motion/dist/es/render/components/motion/proxy.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/render/dom/create-visual-element.js +0 -10
- package/dist/node_modules/framer-motion/dist/es/render/dom/create-visual-element.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/render/dom/use-render.js +0 -23
- package/dist/node_modules/framer-motion/dist/es/render/dom/use-render.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/render/dom/utils/filter-props.js +0 -21
- package/dist/node_modules/framer-motion/dist/es/render/dom/utils/filter-props.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/render/dom/utils/is-svg-component.js +0 -9
- package/dist/node_modules/framer-motion/dist/es/render/dom/utils/is-svg-component.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/render/html/use-html-visual-state.js +0 -13
- package/dist/node_modules/framer-motion/dist/es/render/html/use-html-visual-state.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/render/html/use-props.js +0 -28
- package/dist/node_modules/framer-motion/dist/es/render/html/use-props.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/render/html/utils/create-render-state.js +0 -11
- package/dist/node_modules/framer-motion/dist/es/render/html/utils/create-render-state.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/render/svg/lowercase-elements.js +0 -32
- package/dist/node_modules/framer-motion/dist/es/render/svg/lowercase-elements.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/render/svg/use-props.js +0 -28
- package/dist/node_modules/framer-motion/dist/es/render/svg/use-props.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/render/svg/use-svg-visual-state.js +0 -13
- package/dist/node_modules/framer-motion/dist/es/render/svg/use-svg-visual-state.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.js +0 -10
- package/dist/node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/utils/distance.js +0 -10
- package/dist/node_modules/framer-motion/dist/es/utils/distance.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/utils/get-context-window.js +0 -6
- package/dist/node_modules/framer-motion/dist/es/utils/get-context-window.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/utils/is-browser.js +0 -6
- package/dist/node_modules/framer-motion/dist/es/utils/is-browser.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/utils/is-ref-object.js +0 -8
- package/dist/node_modules/framer-motion/dist/es/utils/is-ref-object.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/utils/reduced-motion/use-reduced-motion.js +0 -15
- package/dist/node_modules/framer-motion/dist/es/utils/reduced-motion/use-reduced-motion.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/utils/use-constant.js +0 -11
- package/dist/node_modules/framer-motion/dist/es/utils/use-constant.js.map +0 -1
- package/dist/node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.js +0 -9
- package/dist/node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.js +0 -109
- package/dist/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/JSAnimation.js +0 -132
- package/dist/node_modules/motion-dom/dist/es/animation/JSAnimation.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/NativeAnimation.js +0 -86
- package/dist/node_modules/motion-dom/dist/es/animation/NativeAnimation.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.js +0 -30
- package/dist/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/animate/single-value.js +0 -12
- package/dist/node_modules/motion-dom/dist/es/animation/animate/single-value.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/drivers/frame.js +0 -15
- package/dist/node_modules/motion-dom/dist/es/animation/drivers/frame.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/generators/inertia.js +0 -34
- package/dist/node_modules/motion-dom/dist/es/animation/generators/inertia.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/generators/keyframes.js +0 -24
- package/dist/node_modules/motion-dom/dist/es/animation/generators/keyframes.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/generators/spring.js +0 -168
- package/dist/node_modules/motion-dom/dist/es/animation/generators/spring.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.js +0 -11
- package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.js +0 -18
- package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.js +0 -8
- package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.js +0 -11
- package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.js +0 -47
- package/dist/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.js +0 -56
- package/dist/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.js +0 -28
- package/dist/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.js +0 -23
- package/dist/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.js +0 -63
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.js +0 -69
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/get-final.js +0 -10
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/get-final.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.js +0 -10
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.js +0 -14
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.js +0 -8
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.js +0 -8
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.js +0 -9
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.js +0 -20
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.js +0 -38
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.js +0 -6
- package/dist/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.js +0 -9
- package/dist/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/utils/WithPromise.js +0 -24
- package/dist/node_modules/motion-dom/dist/es/animation/utils/WithPromise.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.js +0 -9
- package/dist/node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/utils/can-animate.js +0 -20
- package/dist/node_modules/motion-dom/dist/es/animation/utils/can-animate.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.js +0 -27
- package/dist/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/utils/default-transitions.js +0 -29
- package/dist/node_modules/motion-dom/dist/es/animation/utils/default-transitions.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.js +0 -10
- package/dist/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/utils/is-animatable.js +0 -7
- package/dist/node_modules/motion-dom/dist/es/animation/utils/is-animatable.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/utils/is-css-variable.js +0 -9
- package/dist/node_modules/motion-dom/dist/es/animation/utils/is-css-variable.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.js +0 -21
- package/dist/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.js +0 -8
- package/dist/node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.js +0 -18
- package/dist/node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/utils/resolve-transition.js +0 -15
- package/dist/node_modules/motion-dom/dist/es/animation/utils/resolve-transition.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.js +0 -6
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.js +0 -13
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/easing/supported.js +0 -37
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/easing/supported.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.js +0 -27
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.js +0 -26
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.js +0 -11
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.js +0 -10
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/is-browser-color.js +0 -10
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/is-browser-color.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/linear.js +0 -10
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/linear.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.js +0 -19
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/events/add-dom-event.js +0 -8
- package/dist/node_modules/motion-dom/dist/es/events/add-dom-event.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/frameloop/batcher.js +0 -32
- package/dist/node_modules/motion-dom/dist/es/frameloop/batcher.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/frameloop/frame.js +0 -8
- package/dist/node_modules/motion-dom/dist/es/frameloop/frame.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/frameloop/microtask.js +0 -7
- package/dist/node_modules/motion-dom/dist/es/frameloop/microtask.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/frameloop/order.js +0 -15
- package/dist/node_modules/motion-dom/dist/es/frameloop/order.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/frameloop/render-step.js +0 -35
- package/dist/node_modules/motion-dom/dist/es/frameloop/render-step.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/frameloop/sync-time.js +0 -17
- package/dist/node_modules/motion-dom/dist/es/frameloop/sync-time.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.js +0 -12
- package/dist/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.js +0 -13
- package/dist/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/gestures/hover.js +0 -38
- package/dist/node_modules/motion-dom/dist/es/gestures/hover.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/gestures/press/index.js +0 -35
- package/dist/node_modules/motion-dom/dist/es/gestures/press/index.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.js +0 -23
- package/dist/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.js +0 -30
- package/dist/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/gestures/press/utils/state.js +0 -6
- package/dist/node_modules/motion-dom/dist/es/gestures/press/utils/state.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.js +0 -6
- package/dist/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.js +0 -6
- package/dist/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/gestures/utils/setup.js +0 -18
- package/dist/node_modules/motion-dom/dist/es/gestures/utils/setup.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/projection/animation/mix-values.js +0 -31
- package/dist/node_modules/motion-dom/dist/es/projection/animation/mix-values.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/projection/geometry/conversion.js +0 -41
- package/dist/node_modules/motion-dom/dist/es/projection/geometry/conversion.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/projection/geometry/copy.js +0 -14
- package/dist/node_modules/motion-dom/dist/es/projection/geometry/copy.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.js +0 -45
- package/dist/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.js +0 -32
- package/dist/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.js +0 -31
- package/dist/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/projection/geometry/models.js +0 -20
- package/dist/node_modules/motion-dom/dist/es/projection/geometry/models.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/projection/geometry/utils.js +0 -30
- package/dist/node_modules/motion-dom/dist/es/projection/geometry/utils.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.js +0 -15
- package/dist/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.js +0 -24
- package/dist/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/projection/node/create-projection-node.js +0 -590
- package/dist/node_modules/motion-dom/dist/es/projection/node/create-projection-node.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/projection/node/state.js +0 -9
- package/dist/node_modules/motion-dom/dist/es/projection/node/state.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/projection/shared/stack.js +0 -53
- package/dist/node_modules/motion-dom/dist/es/projection/shared/stack.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.js +0 -15
- package/dist/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.js +0 -15
- package/dist/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/projection/styles/scale-correction.js +0 -23
- package/dist/node_modules/motion-dom/dist/es/projection/styles/scale-correction.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/projection/styles/transform.js +0 -14
- package/dist/node_modules/motion-dom/dist/es/projection/styles/transform.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.js +0 -6
- package/dist/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/projection/utils/each-axis.js +0 -8
- package/dist/node_modules/motion-dom/dist/es/projection/utils/each-axis.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/projection/utils/flat-tree.js +0 -21
- package/dist/node_modules/motion-dom/dist/es/projection/utils/flat-tree.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/projection/utils/has-transform.js +0 -20
- package/dist/node_modules/motion-dom/dist/es/projection/utils/has-transform.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/projection/utils/measure.js +0 -14
- package/dist/node_modules/motion-dom/dist/es/projection/utils/measure.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/render/Feature.js +0 -11
- package/dist/node_modules/motion-dom/dist/es/render/Feature.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/render/VisualElement.js +0 -206
- package/dist/node_modules/motion-dom/dist/es/render/VisualElement.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.js +0 -30
- package/dist/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/render/dom/is-css-var.js +0 -6
- package/dist/node_modules/motion-dom/dist/es/render/dom/is-css-var.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/render/dom/parse-transform.js +0 -58
- package/dist/node_modules/motion-dom/dist/es/render/dom/parse-transform.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/render/dom/style-set.js +0 -9
- package/dist/node_modules/motion-dom/dist/es/render/dom/style-set.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.js +0 -8
- package/dist/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.js +0 -37
- package/dist/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/render/html/utils/build-styles.js +0 -30
- package/dist/node_modules/motion-dom/dist/es/render/html/utils/build-styles.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/render/html/utils/build-transform.js +0 -37
- package/dist/node_modules/motion-dom/dist/es/render/html/utils/build-transform.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/render/html/utils/render.js +0 -10
- package/dist/node_modules/motion-dom/dist/es/render/html/utils/render.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.js +0 -13
- package/dist/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/render/store.js +0 -6
- package/dist/node_modules/motion-dom/dist/es/render/store.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.js +0 -42
- package/dist/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.js +0 -24
- package/dist/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.js +0 -30
- package/dist/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.js +0 -6
- package/dist/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/render/svg/utils/path.js +0 -17
- package/dist/node_modules/motion-dom/dist/es/render/svg/utils/path.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/render/svg/utils/render.js +0 -12
- package/dist/node_modules/motion-dom/dist/es/render/svg/utils/render.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.js +0 -16
- package/dist/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/render/utils/animation-state.js +0 -137
- package/dist/node_modules/motion-dom/dist/es/render/utils/animation-state.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/render/utils/get-variant-context.js +0 -21
- package/dist/node_modules/motion-dom/dist/es/render/utils/get-variant-context.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.js +0 -8
- package/dist/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.js +0 -14
- package/dist/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.js +0 -10
- package/dist/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.js +0 -6
- package/dist/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/render/utils/is-variant-label.js +0 -8
- package/dist/node_modules/motion-dom/dist/es/render/utils/is-variant-label.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/render/utils/keys-position.js +0 -15
- package/dist/node_modules/motion-dom/dist/es/render/utils/keys-position.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/render/utils/keys-transform.js +0 -24
- package/dist/node_modules/motion-dom/dist/es/render/utils/keys-transform.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/render/utils/motion-values.js +0 -23
- package/dist/node_modules/motion-dom/dist/es/render/utils/motion-values.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.js +0 -13
- package/dist/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.js +0 -6
- package/dist/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.js +0 -10
- package/dist/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/render/utils/resolve-variants.js +0 -22
- package/dist/node_modules/motion-dom/dist/es/render/utils/resolve-variants.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/render/utils/setters.js +0 -22
- package/dist/node_modules/motion-dom/dist/es/render/utils/setters.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/render/utils/shallow-compare.js +0 -12
- package/dist/node_modules/motion-dom/dist/es/render/utils/shallow-compare.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/render/utils/variant-props.js +0 -14
- package/dist/node_modules/motion-dom/dist/es/render/utils/variant-props.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/resize/handle-element.js +0 -39
- package/dist/node_modules/motion-dom/dist/es/resize/handle-element.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/resize/handle-window.js +0 -24
- package/dist/node_modules/motion-dom/dist/es/resize/handle-window.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/resize/index.js +0 -10
- package/dist/node_modules/motion-dom/dist/es/resize/index.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/stats/animation-count.js +0 -10
- package/dist/node_modules/motion-dom/dist/es/stats/animation-count.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/stats/buffer.js +0 -9
- package/dist/node_modules/motion-dom/dist/es/stats/buffer.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/utils/delay.js +0 -14
- package/dist/node_modules/motion-dom/dist/es/utils/delay.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/utils/interpolate.js +0 -35
- package/dist/node_modules/motion-dom/dist/es/utils/interpolate.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/utils/is-html-element.js +0 -9
- package/dist/node_modules/motion-dom/dist/es/utils/is-html-element.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/utils/is-svg-element.js +0 -9
- package/dist/node_modules/motion-dom/dist/es/utils/is-svg-element.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.js +0 -9
- package/dist/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/utils/mix/color.js +0 -32
- package/dist/node_modules/motion-dom/dist/es/utils/mix/color.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/utils/mix/complex.js +0 -54
- package/dist/node_modules/motion-dom/dist/es/utils/mix/complex.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/utils/mix/immediate.js +0 -8
- package/dist/node_modules/motion-dom/dist/es/utils/mix/immediate.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/utils/mix/index.js +0 -10
- package/dist/node_modules/motion-dom/dist/es/utils/mix/index.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/utils/mix/number.js +0 -6
- package/dist/node_modules/motion-dom/dist/es/utils/mix/number.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/utils/mix/visibility.js +0 -9
- package/dist/node_modules/motion-dom/dist/es/utils/mix/visibility.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/utils/resolve-elements.js +0 -16
- package/dist/node_modules/motion-dom/dist/es/utils/resolve-elements.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/utils/supports/flags.js +0 -6
- package/dist/node_modules/motion-dom/dist/es/utils/supports/flags.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/utils/supports/linear-easing.js +0 -14
- package/dist/node_modules/motion-dom/dist/es/utils/supports/linear-easing.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/utils/supports/memo.js +0 -11
- package/dist/node_modules/motion-dom/dist/es/utils/supports/memo.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.js +0 -7
- package/dist/node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/value/index.js +0 -94
- package/dist/node_modules/motion-dom/dist/es/value/index.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/value/types/auto.js +0 -9
- package/dist/node_modules/motion-dom/dist/es/value/types/auto.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/value/types/color/hex.js +0 -21
- package/dist/node_modules/motion-dom/dist/es/value/types/color/hex.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.js +0 -23
- package/dist/node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/value/types/color/hsla.js +0 -14
- package/dist/node_modules/motion-dom/dist/es/value/types/color/hsla.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/value/types/color/index.js +0 -17
- package/dist/node_modules/motion-dom/dist/es/value/types/color/index.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/value/types/color/rgba.js +0 -17
- package/dist/node_modules/motion-dom/dist/es/value/types/color/rgba.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/value/types/color/utils.js +0 -18
- package/dist/node_modules/motion-dom/dist/es/value/types/color/utils.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/value/types/complex/filter.js +0 -28
- package/dist/node_modules/motion-dom/dist/es/value/types/complex/filter.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/value/types/complex/index.js +0 -54
- package/dist/node_modules/motion-dom/dist/es/value/types/complex/index.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/value/types/complex/mask.js +0 -16
- package/dist/node_modules/motion-dom/dist/es/value/types/complex/mask.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/value/types/dimensions.js +0 -18
- package/dist/node_modules/motion-dom/dist/es/value/types/dimensions.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/value/types/int.js +0 -10
- package/dist/node_modules/motion-dom/dist/es/value/types/int.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/value/types/maps/defaults.js +0 -26
- package/dist/node_modules/motion-dom/dist/es/value/types/maps/defaults.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/value/types/maps/number.js +0 -66
- package/dist/node_modules/motion-dom/dist/es/value/types/maps/number.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/value/types/maps/transform.js +0 -33
- package/dist/node_modules/motion-dom/dist/es/value/types/maps/transform.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/value/types/numbers/index.js +0 -17
- package/dist/node_modules/motion-dom/dist/es/value/types/numbers/index.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/value/types/numbers/units.js +0 -14
- package/dist/node_modules/motion-dom/dist/es/value/types/numbers/units.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/value/types/test.js +0 -6
- package/dist/node_modules/motion-dom/dist/es/value/types/test.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.js +0 -14
- package/dist/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/value/types/utils/color-regex.js +0 -6
- package/dist/node_modules/motion-dom/dist/es/value/types/utils/color-regex.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/value/types/utils/find.js +0 -14
- package/dist/node_modules/motion-dom/dist/es/value/types/utils/find.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/value/types/utils/float-regex.js +0 -6
- package/dist/node_modules/motion-dom/dist/es/value/types/utils/float-regex.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.js +0 -6
- package/dist/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/value/types/utils/is-nullish.js +0 -8
- package/dist/node_modules/motion-dom/dist/es/value/types/utils/is-nullish.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/value/types/utils/sanitize.js +0 -6
- package/dist/node_modules/motion-dom/dist/es/value/types/utils/sanitize.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.js +0 -6
- package/dist/node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/value/utils/is-motion-value.js +0 -6
- package/dist/node_modules/motion-dom/dist/es/value/utils/is-motion-value.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.js +0 -9
- package/dist/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/value/will-change/add-will-change.js +0 -15
- package/dist/node_modules/motion-dom/dist/es/value/will-change/add-will-change.js.map +0 -1
- package/dist/node_modules/motion-dom/dist/es/value/will-change/is.js +0 -9
- package/dist/node_modules/motion-dom/dist/es/value/will-change/is.js.map +0 -1
- package/dist/node_modules/motion-utils/dist/es/array.js +0 -12
- package/dist/node_modules/motion-utils/dist/es/array.js.map +0 -1
- package/dist/node_modules/motion-utils/dist/es/clamp.js +0 -6
- package/dist/node_modules/motion-utils/dist/es/clamp.js.map +0 -1
- package/dist/node_modules/motion-utils/dist/es/easing/anticipate.js +0 -7
- package/dist/node_modules/motion-utils/dist/es/easing/anticipate.js.map +0 -1
- package/dist/node_modules/motion-utils/dist/es/easing/back.js +0 -9
- package/dist/node_modules/motion-utils/dist/es/easing/back.js.map +0 -1
- package/dist/node_modules/motion-utils/dist/es/easing/circ.js +0 -8
- package/dist/node_modules/motion-utils/dist/es/easing/circ.js.map +0 -1
- package/dist/node_modules/motion-utils/dist/es/easing/cubic-bezier.js +0 -19
- package/dist/node_modules/motion-utils/dist/es/easing/cubic-bezier.js.map +0 -1
- package/dist/node_modules/motion-utils/dist/es/easing/ease.js +0 -7
- package/dist/node_modules/motion-utils/dist/es/easing/ease.js.map +0 -1
- package/dist/node_modules/motion-utils/dist/es/easing/modifiers/mirror.js +0 -6
- package/dist/node_modules/motion-utils/dist/es/easing/modifiers/mirror.js.map +0 -1
- package/dist/node_modules/motion-utils/dist/es/easing/modifiers/reverse.js +0 -6
- package/dist/node_modules/motion-utils/dist/es/easing/modifiers/reverse.js.map +0 -1
- package/dist/node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.js +0 -6
- package/dist/node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.js.map +0 -1
- package/dist/node_modules/motion-utils/dist/es/easing/utils/is-easing-array.js +0 -6
- package/dist/node_modules/motion-utils/dist/es/easing/utils/is-easing-array.js.map +0 -1
- package/dist/node_modules/motion-utils/dist/es/easing/utils/map.js +0 -33
- package/dist/node_modules/motion-utils/dist/es/easing/utils/map.js.map +0 -1
- package/dist/node_modules/motion-utils/dist/es/errors.js +0 -12
- package/dist/node_modules/motion-utils/dist/es/errors.js.map +0 -1
- package/dist/node_modules/motion-utils/dist/es/format-error-message.js +0 -8
- package/dist/node_modules/motion-utils/dist/es/format-error-message.js.map +0 -1
- package/dist/node_modules/motion-utils/dist/es/global-config.js +0 -6
- package/dist/node_modules/motion-utils/dist/es/global-config.js.map +0 -1
- package/dist/node_modules/motion-utils/dist/es/is-numerical-string.js +0 -6
- package/dist/node_modules/motion-utils/dist/es/is-numerical-string.js.map +0 -1
- package/dist/node_modules/motion-utils/dist/es/is-object.js +0 -8
- package/dist/node_modules/motion-utils/dist/es/is-object.js.map +0 -1
- package/dist/node_modules/motion-utils/dist/es/is-zero-value-string.js +0 -6
- package/dist/node_modules/motion-utils/dist/es/is-zero-value-string.js.map +0 -1
- package/dist/node_modules/motion-utils/dist/es/memo.js +0 -10
- package/dist/node_modules/motion-utils/dist/es/memo.js.map +0 -1
- package/dist/node_modules/motion-utils/dist/es/noop.js +0 -6
- package/dist/node_modules/motion-utils/dist/es/noop.js.map +0 -1
- package/dist/node_modules/motion-utils/dist/es/pipe.js +0 -6
- package/dist/node_modules/motion-utils/dist/es/pipe.js.map +0 -1
- package/dist/node_modules/motion-utils/dist/es/progress.js +0 -9
- package/dist/node_modules/motion-utils/dist/es/progress.js.map +0 -1
- package/dist/node_modules/motion-utils/dist/es/subscription-manager.js +0 -28
- package/dist/node_modules/motion-utils/dist/es/subscription-manager.js.map +0 -1
- package/dist/node_modules/motion-utils/dist/es/time-conversion.js +0 -6
- package/dist/node_modules/motion-utils/dist/es/time-conversion.js.map +0 -1
- package/dist/node_modules/motion-utils/dist/es/velocity-per-second.js +0 -8
- package/dist/node_modules/motion-utils/dist/es/velocity-per-second.js.map +0 -1
- package/dist/node_modules/motion-utils/dist/es/warn-once.js +0 -10
- package/dist/node_modules/motion-utils/dist/es/warn-once.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_shared.js","names":[],"sources":["../../../src/brainyrich/pages/_shared.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { ArrowDownRight, ArrowUpRight, Inbox, Minus, RefreshCw, TriangleAlert } from 'lucide-react';\nimport { motion, useReducedMotion } from 'framer-motion';\nimport { Badge, Button, Card, CardContent, Skeleton } from '@burdenoff/fe-libs/ui';\n\n// ============================================================================\n// Formatters\n// ============================================================================\n\n/** USD currency, no cents. Pass a currency code to override. */\nexport function formatMoney(value: number, currency = 'USD'): string {\n if (!Number.isFinite(value)) return '—';\n return new Intl.NumberFormat('en-US', {\n style: 'currency',\n currency,\n maximumFractionDigits: 0,\n }).format(value);\n}\n\n/** Compact money/number, e.g. 1.2M, 950K. */\nexport function formatCompact(value: number, currency?: string): string {\n if (!Number.isFinite(value)) return '—';\n return new Intl.NumberFormat('en-US', {\n notation: 'compact',\n maximumFractionDigits: 1,\n ...(currency ? { style: 'currency', currency } : {}),\n }).format(value);\n}\n\n/** Percentage from a whole-number percent (e.g. 12.5 → \"12.5%\"). */\nexport function formatPct(value: number | null | undefined, fractionDigits = 1): string {\n if (value === null || value === undefined || !Number.isFinite(value)) return '—';\n return `${value.toFixed(fractionDigits)}%`;\n}\n\n/**\n * Guarded date formatter. Only wraps a present ISO string in `new Date()` at\n * render time — never calls `.getTime()` on a raw scalar and never `new Date(0)`.\n * Returns an em-dash for absent/invalid values.\n */\nexport function formatDate(iso?: string | null): string {\n if (!iso) return '—';\n const d = new Date(iso);\n if (Number.isNaN(d.getTime())) return '—';\n return new Intl.DateTimeFormat('en-US', {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n }).format(d);\n}\n\n// ============================================================================\n// Status → badge variant (semantic, no raw colors)\n// ============================================================================\n\n/**\n * Map a domain status/severity string to a shadcn Badge variant. Accepts the\n * Bra* enum members (ACTIVE, AT_RISK, HIGH, …) case-insensitively so pages can\n * pass raw enum values.\n */\nexport function statusBadgeVariant(\n status: string\n): 'default' | 'secondary' | 'destructive' | 'outline' {\n const s = status.toUpperCase();\n if (['ACTIVE', 'ACHIEVED', 'ON_TRACK', 'AHEAD', 'RESOLVED', 'EXECUTED', 'APPROVED'].includes(s))\n return 'default';\n if (['AT_RISK', 'HIGH', 'CRITICAL', 'ABANDONED', 'REJECTED', 'CANCELLED', 'CLOSED'].includes(s))\n return 'destructive';\n if (\n ['ONBOARDING', 'PROSPECT', 'ON_HOLD', 'BEHIND', 'DRAFT', 'PROPOSED', 'MEDIUM', 'LOW'].includes(\n s\n )\n )\n return 'secondary';\n return 'outline';\n}\n\n/** Semantic text-color token for a signed delta (color is never the only signal). */\nexport function deltaToneClass(value: number): string {\n if (value > 0) return 'text-status-success-text';\n if (value < 0) return 'text-status-error-text';\n return 'text-text-secondary';\n}\n\n// ============================================================================\n// Section shell + KPIs\n// ============================================================================\n\ninterface SectionShellProps {\n title: string;\n description: string;\n actionLabel?: string;\n onAction?: () => void;\n actions?: ReactNode;\n badges?: string[];\n children: ReactNode;\n}\n\nexport function SectionShell({\n title,\n description,\n actionLabel,\n onAction,\n actions,\n badges = [],\n children,\n}: SectionShellProps) {\n return (\n <div className=\"space-y-6 p-6\">\n <div className=\"flex flex-col gap-4 md:flex-row md:items-start md:justify-between\">\n <div>\n <h1 className=\"text-2xl font-semibold text-text-primary\">{title}</h1>\n <p className=\"text-sm text-text-secondary\">{description}</p>\n </div>\n <div className=\"flex items-center gap-2\">\n {badges.map((badge) => (\n <Badge key={badge} variant=\"secondary\">\n {badge}\n </Badge>\n ))}\n {actions}\n {actionLabel ? (\n <Button size=\"sm\" onClick={onAction}>\n {actionLabel}\n </Button>\n ) : null}\n </div>\n </div>\n {children}\n </div>\n );\n}\n\nexport interface KpiItem {\n label: string;\n value: string;\n /** Optional signed delta rendered as a DeltaBadge (icon + sign + color). */\n delta?: number;\n /** Optional free-text trend line (neutral tone unless deltaTone provided). */\n trend?: string;\n deltaTone?: 'positive' | 'negative' | 'neutral';\n}\n\nexport function KpiGrid({ items }: { items: KpiItem[] }) {\n const reduce = useReducedMotion();\n return (\n <div className=\"grid gap-4 md:grid-cols-2 xl:grid-cols-4\">\n {items.map((item, i) => (\n <motion.div\n key={item.label}\n initial={reduce ? false : { opacity: 0, y: 8 }}\n animate={{ opacity: 1, y: 0 }}\n transition={{ duration: 0.25, ease: 'easeOut', delay: i * 0.04 }}\n >\n <Card className=\"h-full transition-shadow motion-safe:hover:shadow-[var(--shadow-pop-hover,var(--shadow-elevation-2))]\">\n <CardContent className=\"space-y-1.5 p-4\">\n <p className=\"text-xs font-medium uppercase tracking-wide text-text-secondary\">\n {item.label}\n </p>\n <p className=\"text-2xl font-semibold tracking-tight text-text-primary\">\n {item.value}\n </p>\n {item.delta !== undefined ? (\n <DeltaBadge value={item.delta} />\n ) : item.trend ? (\n <p\n className={\n item.deltaTone === 'positive'\n ? 'text-xs text-status-success-text'\n : item.deltaTone === 'negative'\n ? 'text-xs text-status-error-text'\n : 'text-xs text-text-secondary'\n }\n >\n {item.trend}\n </p>\n ) : null}\n </CardContent>\n </Card>\n </motion.div>\n ))}\n </div>\n );\n}\n\n// ============================================================================\n// Delta badge — icon + sign + semantic color (color never the only signal)\n// ============================================================================\n\nexport function DeltaBadge({\n value,\n suffix = '%',\n className = '',\n}: {\n value: number;\n suffix?: string;\n className?: string;\n}) {\n const positive = value > 0;\n const negative = value < 0;\n const Icon = positive ? ArrowUpRight : negative ? ArrowDownRight : Minus;\n const tone = positive\n ? 'text-status-success-text bg-status-success-bg'\n : negative\n ? 'text-status-error-text bg-status-error-bg'\n : 'text-text-secondary bg-bg-sunken';\n const sign = positive ? '+' : '';\n return (\n <span\n className={`inline-flex items-center gap-0.5 rounded-full px-1.5 py-0.5 text-xs font-medium ${tone} ${className}`}\n >\n <Icon className=\"size-3\" aria-hidden=\"true\" />\n {sign}\n {Number.isFinite(value) ? value.toFixed(1) : '—'}\n {suffix}\n </span>\n );\n}\n\n// ============================================================================\n// Allocation bars — tokenized horizontal bar primitive\n// ============================================================================\n\nexport type AllocationTone = 'default' | 'positive' | 'negative' | 'warning' | 'accent';\n\nconst TONE_FILL: Record<AllocationTone, string> = {\n default: 'bg-primary',\n positive: 'bg-status-success-bg',\n negative: 'bg-status-error-bg',\n warning: 'bg-status-warning-bg',\n accent: 'bg-accent-teal',\n};\n\nexport interface AllocationDatum {\n label: string;\n /** Percentage 0–100 for the bar width. */\n value: number;\n tone?: AllocationTone;\n /** Optional right-aligned caption (e.g. formatted money). Defaults to the %. */\n caption?: string;\n}\n\nexport function AllocationBars({ data }: { data: AllocationDatum[] }) {\n const reduce = useReducedMotion();\n const rows = data.filter((d) => Number.isFinite(d.value));\n if (rows.length === 0) {\n return <p className=\"text-sm text-text-secondary\">No allocation data.</p>;\n }\n return (\n <div className=\"space-y-3.5\">\n {rows.map((d) => {\n const width = Math.max(0, Math.min(100, d.value));\n return (\n <div key={d.label} className=\"space-y-1.5\">\n <div className=\"flex items-center justify-between text-xs\">\n <span className=\"font-medium text-text-primary\">{d.label}</span>\n <span className=\"tabular-nums text-text-secondary\">\n {d.caption ?? formatPct(d.value)}\n </span>\n </div>\n <div\n className=\"h-2.5 w-full overflow-hidden rounded-full bg-bg-sunken\"\n role=\"progressbar\"\n aria-valuenow={Math.round(width)}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-label={d.label}\n >\n <motion.div\n className={`h-full rounded-full ${TONE_FILL[d.tone ?? 'default']}`}\n initial={reduce ? false : { width: 0 }}\n animate={{ width: `${width}%` }}\n transition={{ duration: 0.4, ease: 'easeOut' }}\n />\n </div>\n </div>\n );\n })}\n </div>\n );\n}\n\n// ============================================================================\n// Empty / Loading / Error states (designed, shared)\n// ============================================================================\n\nexport function EmptyState({\n icon,\n title,\n description,\n action,\n}: {\n icon?: ReactNode;\n title: string;\n description?: string;\n action?: ReactNode;\n}) {\n return (\n <div className=\"flex flex-col items-center justify-center rounded-lg border border-dashed border-border-subtle bg-bg-surface px-6 py-12 text-center\">\n <div className=\"mb-4 flex size-12 items-center justify-center rounded-full bg-bg-sunken text-text-secondary\">\n {icon ?? <Inbox className=\"size-6\" aria-hidden=\"true\" />}\n </div>\n <h3 className=\"text-base font-semibold text-text-primary\">{title}</h3>\n {description ? (\n <p className=\"mt-1 max-w-md text-sm text-text-secondary\">{description}</p>\n ) : null}\n {action ? <div className=\"mt-4\">{action}</div> : null}\n </div>\n );\n}\n\nexport function LoadingState({ rows = 4 }: { rows?: number }) {\n return (\n <div className=\"space-y-3\" aria-busy=\"true\" aria-live=\"polite\">\n {Array.from({ length: rows }).map((_, i) => (\n <div\n key={i}\n className=\"flex items-center gap-4 rounded-lg border border-border-subtle bg-bg-surface p-4\"\n >\n <Skeleton className=\"size-10 rounded-full\" />\n <div className=\"flex-1 space-y-2\">\n <Skeleton className=\"h-4 w-1/3\" />\n <Skeleton className=\"h-3 w-1/2\" />\n </div>\n <Skeleton className=\"h-4 w-16\" />\n </div>\n ))}\n </div>\n );\n}\n\nexport function ErrorState({\n title = 'Something went wrong',\n description = 'We could not load this data. Please try again.',\n onRetry,\n}: {\n title?: string;\n description?: string;\n onRetry?: () => void;\n}) {\n return (\n <div className=\"flex flex-col items-center justify-center rounded-lg border border-status-error-text/40 bg-status-error-bg px-6 py-12 text-center\">\n <div className=\"mb-4 flex size-12 items-center justify-center rounded-full bg-bg-surface text-status-error-text\">\n <TriangleAlert className=\"size-6\" aria-hidden=\"true\" />\n </div>\n <h3 className=\"text-base font-semibold text-text-primary\">{title}</h3>\n <p className=\"mt-1 max-w-md text-sm text-text-secondary\">{description}</p>\n {onRetry ? (\n <Button variant=\"outline\" size=\"sm\" className=\"mt-4\" onClick={onRetry}>\n <RefreshCw className=\"size-4\" aria-hidden=\"true\" />\n Retry\n </Button>\n ) : null}\n </div>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"_shared.js","names":[],"sources":["../../../src/brainyrich/pages/_shared.tsx"],"sourcesContent":["import { useEffect, useState, type ReactNode } from 'react';\nimport { ArrowDownRight, ArrowUpRight, Inbox, Minus, RefreshCw, TriangleAlert } from 'lucide-react';\nimport { Badge, Button, Card, CardContent, Skeleton } from '@burdenoff/fe-libs/ui';\nimport { FadeIn, useReducedMotion } from '../components/viz';\n\n// ============================================================================\n// Formatters\n// ============================================================================\n\n/** USD currency, no cents. Pass a currency code to override. */\nexport function formatMoney(value: number, currency = 'USD'): string {\n if (!Number.isFinite(value)) return '—';\n return new Intl.NumberFormat('en-US', {\n style: 'currency',\n currency,\n maximumFractionDigits: 0,\n }).format(value);\n}\n\n/** Compact money/number, e.g. 1.2M, 950K. */\nexport function formatCompact(value: number, currency?: string): string {\n if (!Number.isFinite(value)) return '—';\n return new Intl.NumberFormat('en-US', {\n notation: 'compact',\n maximumFractionDigits: 1,\n ...(currency ? { style: 'currency', currency } : {}),\n }).format(value);\n}\n\n/** Percentage from a whole-number percent (e.g. 12.5 → \"12.5%\"). */\nexport function formatPct(value: number | null | undefined, fractionDigits = 1): string {\n if (value === null || value === undefined || !Number.isFinite(value)) return '—';\n return `${value.toFixed(fractionDigits)}%`;\n}\n\n/**\n * Guarded date formatter. Only wraps a present ISO string in `new Date()` at\n * render time — never calls `.getTime()` on a raw scalar and never `new Date(0)`.\n * Returns an em-dash for absent/invalid values.\n */\nexport function formatDate(iso?: string | null): string {\n if (!iso) return '—';\n const d = new Date(iso);\n if (Number.isNaN(d.getTime())) return '—';\n return new Intl.DateTimeFormat('en-US', {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n }).format(d);\n}\n\n// ============================================================================\n// Status → badge variant (semantic, no raw colors)\n// ============================================================================\n\n/**\n * Map a domain status/severity string to a shadcn Badge variant. Accepts the\n * Bra* enum members (ACTIVE, AT_RISK, HIGH, …) case-insensitively so pages can\n * pass raw enum values.\n */\nexport function statusBadgeVariant(\n status: string\n): 'default' | 'secondary' | 'destructive' | 'outline' {\n const s = status.toUpperCase();\n if (['ACTIVE', 'ACHIEVED', 'ON_TRACK', 'AHEAD', 'RESOLVED', 'EXECUTED', 'APPROVED'].includes(s))\n return 'default';\n if (['AT_RISK', 'HIGH', 'CRITICAL', 'ABANDONED', 'REJECTED', 'CANCELLED', 'CLOSED'].includes(s))\n return 'destructive';\n if (\n ['ONBOARDING', 'PROSPECT', 'ON_HOLD', 'BEHIND', 'DRAFT', 'PROPOSED', 'MEDIUM', 'LOW'].includes(\n s\n )\n )\n return 'secondary';\n return 'outline';\n}\n\n/** Semantic text-color token for a signed delta (color is never the only signal). */\nexport function deltaToneClass(value: number): string {\n if (value > 0) return 'text-status-success-text';\n if (value < 0) return 'text-status-error-text';\n return 'text-text-secondary';\n}\n\n// ============================================================================\n// Section shell + KPIs\n// ============================================================================\n\ninterface SectionShellProps {\n title: string;\n description: string;\n actionLabel?: string;\n onAction?: () => void;\n actions?: ReactNode;\n badges?: string[];\n children: ReactNode;\n}\n\nexport function SectionShell({\n title,\n description,\n actionLabel,\n onAction,\n actions,\n badges = [],\n children,\n}: SectionShellProps) {\n return (\n <div className=\"space-y-6 p-6\">\n <div className=\"flex flex-col gap-4 md:flex-row md:items-start md:justify-between\">\n <div>\n <h1 className=\"text-2xl font-semibold text-text-primary\">{title}</h1>\n <p className=\"text-sm text-text-secondary\">{description}</p>\n </div>\n <div className=\"flex items-center gap-2\">\n {badges.map((badge) => (\n <Badge key={badge} variant=\"secondary\">\n {badge}\n </Badge>\n ))}\n {actions}\n {actionLabel ? (\n <Button size=\"sm\" onClick={onAction}>\n {actionLabel}\n </Button>\n ) : null}\n </div>\n </div>\n {children}\n </div>\n );\n}\n\nexport interface KpiItem {\n label: string;\n value: string;\n /** Optional signed delta rendered as a DeltaBadge (icon + sign + color). */\n delta?: number;\n /** Optional free-text trend line (neutral tone unless deltaTone provided). */\n trend?: string;\n deltaTone?: 'positive' | 'negative' | 'neutral';\n}\n\nexport function KpiGrid({ items }: { items: KpiItem[] }) {\n return (\n <div className=\"grid gap-4 md:grid-cols-2 xl:grid-cols-4\">\n {items.map((item, i) => (\n <FadeIn key={item.label} index={i}>\n <Card className=\"h-full transition-shadow motion-safe:hover:shadow-[var(--shadow-pop-hover,var(--shadow-elevation-2))]\">\n <CardContent className=\"space-y-1.5 p-4\">\n <p className=\"text-xs font-medium uppercase tracking-wide text-text-secondary\">\n {item.label}\n </p>\n <p className=\"text-2xl font-semibold tracking-tight text-text-primary\">\n {item.value}\n </p>\n {item.delta !== undefined ? (\n <DeltaBadge value={item.delta} />\n ) : item.trend ? (\n <p\n className={\n item.deltaTone === 'positive'\n ? 'text-xs text-status-success-text'\n : item.deltaTone === 'negative'\n ? 'text-xs text-status-error-text'\n : 'text-xs text-text-secondary'\n }\n >\n {item.trend}\n </p>\n ) : null}\n </CardContent>\n </Card>\n </FadeIn>\n ))}\n </div>\n );\n}\n\n// ============================================================================\n// Delta badge — icon + sign + semantic color (color never the only signal)\n// ============================================================================\n\nexport function DeltaBadge({\n value,\n suffix = '%',\n className = '',\n}: {\n value: number;\n suffix?: string;\n className?: string;\n}) {\n const positive = value > 0;\n const negative = value < 0;\n const Icon = positive ? ArrowUpRight : negative ? ArrowDownRight : Minus;\n const tone = positive\n ? 'text-status-success-text bg-status-success-bg'\n : negative\n ? 'text-status-error-text bg-status-error-bg'\n : 'text-text-secondary bg-bg-sunken';\n const sign = positive ? '+' : '';\n return (\n <span\n className={`inline-flex items-center gap-0.5 rounded-full px-1.5 py-0.5 text-xs font-medium ${tone} ${className}`}\n >\n <Icon className=\"size-3\" aria-hidden=\"true\" />\n {sign}\n {Number.isFinite(value) ? value.toFixed(1) : '—'}\n {suffix}\n </span>\n );\n}\n\n// ============================================================================\n// Allocation bars — tokenized horizontal bar primitive\n// ============================================================================\n\nexport type AllocationTone = 'default' | 'positive' | 'negative' | 'warning' | 'accent';\n\nconst TONE_FILL: Record<AllocationTone, string> = {\n default: 'bg-primary',\n positive: 'bg-status-success-bg',\n negative: 'bg-status-error-bg',\n warning: 'bg-status-warning-bg',\n accent: 'bg-accent-teal',\n};\n\nexport interface AllocationDatum {\n label: string;\n /** Percentage 0–100 for the bar width. */\n value: number;\n tone?: AllocationTone;\n /** Optional right-aligned caption (e.g. formatted money). Defaults to the %. */\n caption?: string;\n}\n\n/**\n * Single allocation bar fill. Starts at 0 width and grows to `width`% after\n * mount via a CSS transition; instant (no transition) under reduced motion.\n */\nfunction AllocationFill({ width, className }: { width: number; className: string }) {\n const reduce = useReducedMotion();\n // Reduced motion starts at the final width (instant); otherwise start at 0 and\n // grow on the next frame via the CSS width transition.\n const [w, setW] = useState(reduce ? width : 0);\n\n useEffect(() => {\n const id = requestAnimationFrame(() => setW(width));\n return () => cancelAnimationFrame(id);\n }, [width]);\n\n return (\n <div\n className={className}\n style={{ width: `${w}%`, transition: reduce ? 'none' : 'width 500ms ease' }}\n />\n );\n}\n\nexport function AllocationBars({ data }: { data: AllocationDatum[] }) {\n const rows = data.filter((d) => Number.isFinite(d.value));\n if (rows.length === 0) {\n return <p className=\"text-sm text-text-secondary\">No allocation data.</p>;\n }\n return (\n <div className=\"space-y-3.5\">\n {rows.map((d) => {\n const width = Math.max(0, Math.min(100, d.value));\n return (\n <div key={d.label} className=\"space-y-1.5\">\n <div className=\"flex items-center justify-between text-xs\">\n <span className=\"font-medium text-text-primary\">{d.label}</span>\n <span className=\"tabular-nums text-text-secondary\">\n {d.caption ?? formatPct(d.value)}\n </span>\n </div>\n <div\n className=\"h-2.5 w-full overflow-hidden rounded-full bg-bg-sunken\"\n role=\"progressbar\"\n aria-valuenow={Math.round(width)}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-label={d.label}\n >\n <AllocationFill\n width={width}\n className={`h-full rounded-full ${TONE_FILL[d.tone ?? 'default']}`}\n />\n </div>\n </div>\n );\n })}\n </div>\n );\n}\n\n// ============================================================================\n// Empty / Loading / Error states (designed, shared)\n// ============================================================================\n\nexport function EmptyState({\n icon,\n title,\n description,\n action,\n}: {\n icon?: ReactNode;\n title: string;\n description?: string;\n action?: ReactNode;\n}) {\n return (\n <div className=\"flex flex-col items-center justify-center rounded-lg border border-dashed border-border-subtle bg-bg-surface px-6 py-12 text-center\">\n <div className=\"mb-4 flex size-12 items-center justify-center rounded-full bg-bg-sunken text-text-secondary\">\n {icon ?? <Inbox className=\"size-6\" aria-hidden=\"true\" />}\n </div>\n <h3 className=\"text-base font-semibold text-text-primary\">{title}</h3>\n {description ? (\n <p className=\"mt-1 max-w-md text-sm text-text-secondary\">{description}</p>\n ) : null}\n {action ? <div className=\"mt-4\">{action}</div> : null}\n </div>\n );\n}\n\nexport function LoadingState({ rows = 4 }: { rows?: number }) {\n return (\n <div className=\"space-y-3\" aria-busy=\"true\" aria-live=\"polite\">\n {Array.from({ length: rows }).map((_, i) => (\n <div\n key={i}\n className=\"flex items-center gap-4 rounded-lg border border-border-subtle bg-bg-surface p-4\"\n >\n <Skeleton className=\"size-10 rounded-full\" />\n <div className=\"flex-1 space-y-2\">\n <Skeleton className=\"h-4 w-1/3\" />\n <Skeleton className=\"h-3 w-1/2\" />\n </div>\n <Skeleton className=\"h-4 w-16\" />\n </div>\n ))}\n </div>\n );\n}\n\nexport function ErrorState({\n title = 'Something went wrong',\n description = 'We could not load this data. Please try again.',\n onRetry,\n}: {\n title?: string;\n description?: string;\n onRetry?: () => void;\n}) {\n return (\n <div className=\"flex flex-col items-center justify-center rounded-lg border border-status-error-text/40 bg-status-error-bg px-6 py-12 text-center\">\n <div className=\"mb-4 flex size-12 items-center justify-center rounded-full bg-bg-surface text-status-error-text\">\n <TriangleAlert className=\"size-6\" aria-hidden=\"true\" />\n </div>\n <h3 className=\"text-base font-semibold text-text-primary\">{title}</h3>\n <p className=\"mt-1 max-w-md text-sm text-text-secondary\">{description}</p>\n {onRetry ? (\n <Button variant=\"outline\" size=\"sm\" className=\"mt-4\" onClick={onRetry}>\n <RefreshCw className=\"size-4\" aria-hidden=\"true\" />\n Retry\n </Button>\n ) : null}\n </div>\n );\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@burdenoff/microfe-brainyrich",
|
|
3
|
-
"version": "2026.706.
|
|
3
|
+
"version": "2026.706.4",
|
|
4
4
|
"description": "Burdenoff BrainyRich Microfrontend",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -47,11 +47,10 @@
|
|
|
47
47
|
"react": "^19.0.0",
|
|
48
48
|
"react-dom": "^19.0.0",
|
|
49
49
|
"react-router-dom": "^7.1.3",
|
|
50
|
+
"recharts": "^2.15.0",
|
|
50
51
|
"sonner": "^2.0.7",
|
|
51
52
|
"tailwind-merge": "^3.4.0",
|
|
52
|
-
"zustand": "^5.0.3"
|
|
53
|
-
"recharts": "^2.15.0",
|
|
54
|
-
"framer-motion": "^12.0.0"
|
|
53
|
+
"zustand": "^5.0.3"
|
|
55
54
|
},
|
|
56
55
|
"devDependencies": {
|
|
57
56
|
"@eslint/js": "^9.39.2",
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { __esmMin as e, __exportAll as t } from "../_rolldown/runtime.js";
|
|
2
|
-
//#region __vite-optional-peer-dep:@emotion/is-prop-valid:framer-motion
|
|
3
|
-
var n = /* @__PURE__ */ t({ default: () => r }), r, i = e((() => {
|
|
4
|
-
throw r = {}, Error("Could not resolve \"@emotion/is-prop-valid\" imported by \"framer-motion\". Is it installed?");
|
|
5
|
-
}));
|
|
6
|
-
//#endregion
|
|
7
|
-
i();
|
|
8
|
-
export { i as init_is_prop_valid_framer_motion, n as is_prop_valid_framer_motion_exports };
|
|
9
|
-
|
|
10
|
-
//# sourceMappingURL=is-prop-valid_framer-motion.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"is-prop-valid_framer-motion.js","names":[],"sources":["../../../__vite-optional-peer-dep:@emotion/is-prop-valid:framer-motion"],"sourcesContent":["export default {};\nthrow new Error(`Could not resolve \"@emotion/is-prop-valid\" imported by \"framer-motion\". Is it installed?`)"],"mappings":";;;AACA,WADe,EAAE,EACP,MAAM,+FAAA"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { PresenceContext as e } from "../../context/PresenceContext.js";
|
|
3
|
-
import { useCallback as t, useContext as n, useEffect as r, useId as i } from "react";
|
|
4
|
-
//#region node_modules/framer-motion/dist/es/components/AnimatePresence/use-presence.mjs
|
|
5
|
-
function a(a = !0) {
|
|
6
|
-
let o = n(e);
|
|
7
|
-
if (o === null) return [!0, null];
|
|
8
|
-
let { isPresent: s, onExitComplete: c, register: l } = o, u = i();
|
|
9
|
-
r(() => {
|
|
10
|
-
if (a) return l(u);
|
|
11
|
-
}, [a]);
|
|
12
|
-
let d = t(() => a && c && c(u), [
|
|
13
|
-
u,
|
|
14
|
-
c,
|
|
15
|
-
a
|
|
16
|
-
]);
|
|
17
|
-
return !s && c ? [!1, d] : [!0];
|
|
18
|
-
}
|
|
19
|
-
//#endregion
|
|
20
|
-
export { a as usePresence };
|
|
21
|
-
|
|
22
|
-
//# sourceMappingURL=use-presence.js.map
|
package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/use-presence.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-presence.js","names":[],"sources":["../../../../../../../node_modules/framer-motion/dist/es/components/AnimatePresence/use-presence.mjs"],"sourcesContent":["\"use client\";\nimport { useContext, useId, useEffect, useCallback } from 'react';\nimport { PresenceContext } from '../../context/PresenceContext.mjs';\n\n/**\n * When a component is the child of `AnimatePresence`, it can use `usePresence`\n * to access information about whether it's still present in the React tree.\n *\n * ```jsx\n * import { usePresence } from \"framer-motion\"\n *\n * export const Component = () => {\n * const [isPresent, safeToRemove] = usePresence()\n *\n * useEffect(() => {\n * !isPresent && setTimeout(safeToRemove, 1000)\n * }, [isPresent])\n *\n * return <div />\n * }\n * ```\n *\n * If `isPresent` is `false`, it means that a component has been removed from the tree,\n * but `AnimatePresence` won't really remove it until `safeToRemove` has been called.\n *\n * @public\n */\nfunction usePresence(subscribe = true) {\n const context = useContext(PresenceContext);\n if (context === null)\n return [true, null];\n const { isPresent, onExitComplete, register } = context;\n // It's safe to call the following hooks conditionally (after an early return) because the context will always\n // either be null or non-null for the lifespan of the component.\n const id = useId();\n useEffect(() => {\n if (subscribe) {\n return register(id);\n }\n }, [subscribe]);\n const safeToRemove = useCallback(() => subscribe && onExitComplete && onExitComplete(id), [id, onExitComplete, subscribe]);\n return !isPresent && onExitComplete ? [false, safeToRemove] : [true];\n}\n/**\n * Similar to `usePresence`, except `useIsPresent` simply returns whether or not the component is present.\n * There is no `safeToRemove` function.\n *\n * ```jsx\n * import { useIsPresent } from \"framer-motion\"\n *\n * export const Component = () => {\n * const isPresent = useIsPresent()\n *\n * useEffect(() => {\n * !isPresent && console.log(\"I've been removed!\")\n * }, [isPresent])\n *\n * return <div />\n * }\n * ```\n *\n * @public\n */\nfunction useIsPresent() {\n return isPresent(useContext(PresenceContext));\n}\nfunction isPresent(context) {\n return context === null ? true : context.isPresent;\n}\n\nexport { isPresent, useIsPresent, usePresence };\n//# sourceMappingURL=use-presence.mjs.map\n"],"x_google_ignoreList":[0],"mappings":";;;;AA2BA,SAAS,EAAY,IAAY,IAAM;CACnC,IAAM,IAAU,EAAW,EAAgB;AAC3C,KAAI,MAAY,KACZ,QAAO,CAAC,IAAM,KAAK;CACvB,IAAM,EAAE,cAAW,mBAAgB,gBAAa,GAG1C,IAAK,GAAO;AAClB,SAAgB;AACZ,MAAI,EACA,QAAO,EAAS,EAAG;IAExB,CAAC,EAAU,CAAC;CACf,IAAM,IAAe,QAAkB,KAAa,KAAkB,EAAe,EAAG,EAAE;EAAC;EAAI;EAAgB;EAAU,CAAC;AAC1H,QAAO,CAAC,KAAa,IAAiB,CAAC,IAAO,EAAa,GAAG,CAAC,GAAK"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LayoutGroupContext.js","names":[],"sources":["../../../../../../node_modules/framer-motion/dist/es/context/LayoutGroupContext.mjs"],"sourcesContent":["\"use client\";\nimport { createContext } from 'react';\n\nconst LayoutGroupContext = createContext({});\n\nexport { LayoutGroupContext };\n//# sourceMappingURL=LayoutGroupContext.mjs.map\n"],"x_google_ignoreList":[0],"mappings":";;;AAGA,IAAM,IAAqB,EAAc,EAAE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LazyContext.js","names":[],"sources":["../../../../../../node_modules/framer-motion/dist/es/context/LazyContext.mjs"],"sourcesContent":["\"use client\";\nimport { createContext } from 'react';\n\nconst LazyContext = createContext({ strict: false });\n\nexport { LazyContext };\n//# sourceMappingURL=LazyContext.mjs.map\n"],"x_google_ignoreList":[0],"mappings":";;;AAGA,IAAM,IAAc,EAAc,EAAE,QAAQ,IAAO,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { createContext as e } from "react";
|
|
3
|
-
//#region node_modules/framer-motion/dist/es/context/MotionConfigContext.mjs
|
|
4
|
-
var t = e({
|
|
5
|
-
transformPagePoint: (e) => e,
|
|
6
|
-
isStatic: !1,
|
|
7
|
-
reducedMotion: "never"
|
|
8
|
-
});
|
|
9
|
-
//#endregion
|
|
10
|
-
export { t as MotionConfigContext };
|
|
11
|
-
|
|
12
|
-
//# sourceMappingURL=MotionConfigContext.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MotionConfigContext.js","names":[],"sources":["../../../../../../node_modules/framer-motion/dist/es/context/MotionConfigContext.mjs"],"sourcesContent":["\"use client\";\nimport { createContext } from 'react';\n\n/**\n * @public\n */\nconst MotionConfigContext = createContext({\n transformPagePoint: (p) => p,\n isStatic: false,\n reducedMotion: \"never\",\n});\n\nexport { MotionConfigContext };\n//# sourceMappingURL=MotionConfigContext.mjs.map\n"],"x_google_ignoreList":[0],"mappings":";;;AAMA,IAAM,IAAsB,EAAc;CACtC,qBAAqB,MAAM;CAC3B,UAAU;CACV,eAAe;CAClB,CAAC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { MotionContext as e } from "./index.js";
|
|
3
|
-
import { getCurrentTreeVariants as t } from "./utils.js";
|
|
4
|
-
import { useContext as n, useMemo as r } from "react";
|
|
5
|
-
//#region node_modules/framer-motion/dist/es/context/MotionContext/create.mjs
|
|
6
|
-
function i(i) {
|
|
7
|
-
let { initial: o, animate: s } = t(i, n(e));
|
|
8
|
-
return r(() => ({
|
|
9
|
-
initial: o,
|
|
10
|
-
animate: s
|
|
11
|
-
}), [a(o), a(s)]);
|
|
12
|
-
}
|
|
13
|
-
function a(e) {
|
|
14
|
-
return Array.isArray(e) ? e.join(" ") : e;
|
|
15
|
-
}
|
|
16
|
-
//#endregion
|
|
17
|
-
export { i as useCreateMotionContext };
|
|
18
|
-
|
|
19
|
-
//# sourceMappingURL=create.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","names":[],"sources":["../../../../../../../node_modules/framer-motion/dist/es/context/MotionContext/create.mjs"],"sourcesContent":["\"use client\";\nimport { useContext, useMemo } from 'react';\nimport { MotionContext } from './index.mjs';\nimport { getCurrentTreeVariants } from './utils.mjs';\n\nfunction useCreateMotionContext(props) {\n const { initial, animate } = getCurrentTreeVariants(props, useContext(MotionContext));\n return useMemo(() => ({ initial, animate }), [variantLabelsAsDependency(initial), variantLabelsAsDependency(animate)]);\n}\nfunction variantLabelsAsDependency(prop) {\n return Array.isArray(prop) ? prop.join(\" \") : prop;\n}\n\nexport { useCreateMotionContext };\n//# sourceMappingURL=create.mjs.map\n"],"x_google_ignoreList":[0],"mappings":";;;;;AAKA,SAAS,EAAuB,GAAO;CACnC,IAAM,EAAE,YAAS,eAAY,EAAuB,GAAO,EAAW,EAAc,CAAC;AACrF,QAAO,SAAe;EAAE;EAAS;EAAS,GAAG,CAAC,EAA0B,EAAQ,EAAE,EAA0B,EAAQ,CAAC,CAAC;;AAE1H,SAAS,EAA0B,GAAM;AACrC,QAAO,MAAM,QAAQ,EAAK,GAAG,EAAK,KAAK,IAAI,GAAG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../../../../../node_modules/framer-motion/dist/es/context/MotionContext/index.mjs"],"sourcesContent":["\"use client\";\nimport { createContext } from 'react';\n\nconst MotionContext = /* @__PURE__ */ createContext({});\n\nexport { MotionContext };\n//# sourceMappingURL=index.mjs.map\n"],"x_google_ignoreList":[0],"mappings":";;;AAGA,IAAM,IAAgC,kBAAc,EAAE,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { isVariantLabel as e } from "../../../../../motion-dom/dist/es/render/utils/is-variant-label.js";
|
|
2
|
-
import { isControllingVariants as t } from "../../../../../motion-dom/dist/es/render/utils/is-controlling-variants.js";
|
|
3
|
-
//#region node_modules/framer-motion/dist/es/context/MotionContext/utils.mjs
|
|
4
|
-
function n(n, r) {
|
|
5
|
-
if (t(n)) {
|
|
6
|
-
let { initial: t, animate: r } = n;
|
|
7
|
-
return {
|
|
8
|
-
initial: t === !1 || e(t) ? t : void 0,
|
|
9
|
-
animate: e(r) ? r : void 0
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
return n.inherit === !1 ? {} : r;
|
|
13
|
-
}
|
|
14
|
-
//#endregion
|
|
15
|
-
export { n as getCurrentTreeVariants };
|
|
16
|
-
|
|
17
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":[],"sources":["../../../../../../../node_modules/framer-motion/dist/es/context/MotionContext/utils.mjs"],"sourcesContent":["import { isControllingVariants, isVariantLabel } from 'motion-dom';\n\nfunction getCurrentTreeVariants(props, context) {\n if (isControllingVariants(props)) {\n const { initial, animate } = props;\n return {\n initial: initial === false || isVariantLabel(initial)\n ? initial\n : undefined,\n animate: isVariantLabel(animate) ? animate : undefined,\n };\n }\n return props.inherit !== false ? context : {};\n}\n\nexport { getCurrentTreeVariants };\n//# sourceMappingURL=utils.mjs.map\n"],"x_google_ignoreList":[0],"mappings":";;;AAEA,SAAS,EAAuB,GAAO,GAAS;AAC5C,KAAI,EAAsB,EAAM,EAAE;EAC9B,IAAM,EAAE,YAAS,eAAY;AAC7B,SAAO;GACH,SAAS,MAAY,MAAS,EAAe,EAAQ,GAC/C,IACA,KAAA;GACN,SAAS,EAAe,EAAQ,GAAG,IAAU,KAAA;GAChD;;AAEL,QAAO,EAAM,YAAY,KAAkB,EAAE,GAAZ"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { createContext as e } from "react";
|
|
3
|
-
//#region node_modules/framer-motion/dist/es/context/PresenceContext.mjs
|
|
4
|
-
var t = /* @__PURE__ */ e(null);
|
|
5
|
-
//#endregion
|
|
6
|
-
export { t as PresenceContext };
|
|
7
|
-
|
|
8
|
-
//# sourceMappingURL=PresenceContext.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PresenceContext.js","names":[],"sources":["../../../../../../node_modules/framer-motion/dist/es/context/PresenceContext.mjs"],"sourcesContent":["\"use client\";\nimport { createContext } from 'react';\n\n/**\n * @public\n */\nconst PresenceContext = \n/* @__PURE__ */ createContext(null);\n\nexport { PresenceContext };\n//# sourceMappingURL=PresenceContext.mjs.map\n"],"x_google_ignoreList":[0],"mappings":";;;AAMA,IAAM,IACU,kBAAc,KAAK"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { createContext as e } from "react";
|
|
3
|
-
//#region node_modules/framer-motion/dist/es/context/SwitchLayoutGroupContext.mjs
|
|
4
|
-
var t = e({});
|
|
5
|
-
//#endregion
|
|
6
|
-
export { t as SwitchLayoutGroupContext };
|
|
7
|
-
|
|
8
|
-
//# sourceMappingURL=SwitchLayoutGroupContext.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SwitchLayoutGroupContext.js","names":[],"sources":["../../../../../../node_modules/framer-motion/dist/es/context/SwitchLayoutGroupContext.mjs"],"sourcesContent":["\"use client\";\nimport { createContext } from 'react';\n\n/**\n * Internal, exported only for usage in Framer\n */\nconst SwitchLayoutGroupContext = createContext({});\n\nexport { SwitchLayoutGroupContext };\n//# sourceMappingURL=SwitchLayoutGroupContext.mjs.map\n"],"x_google_ignoreList":[0],"mappings":";;;AAMA,IAAM,IAA2B,EAAc,EAAE,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { addDomEvent as e } from "../../../../motion-dom/dist/es/events/add-dom-event.js";
|
|
2
|
-
import { addPointerInfo as t } from "./event-info.js";
|
|
3
|
-
//#region node_modules/framer-motion/dist/es/events/add-pointer-event.mjs
|
|
4
|
-
function n(n, r, i, a) {
|
|
5
|
-
return e(n, r, t(i), a);
|
|
6
|
-
}
|
|
7
|
-
//#endregion
|
|
8
|
-
export { n as addPointerEvent };
|
|
9
|
-
|
|
10
|
-
//# sourceMappingURL=add-pointer-event.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"add-pointer-event.js","names":[],"sources":["../../../../../../node_modules/framer-motion/dist/es/events/add-pointer-event.mjs"],"sourcesContent":["import { addDomEvent } from 'motion-dom';\nimport { addPointerInfo } from './event-info.mjs';\n\nfunction addPointerEvent(target, eventName, handler, options) {\n return addDomEvent(target, eventName, addPointerInfo(handler), options);\n}\n\nexport { addPointerEvent };\n//# sourceMappingURL=add-pointer-event.mjs.map\n"],"x_google_ignoreList":[0],"mappings":";;;AAGA,SAAS,EAAgB,GAAQ,GAAW,GAAS,GAAS;AAC1D,QAAO,EAAY,GAAQ,GAAW,EAAe,EAAQ,EAAE,EAAQ"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { isPrimaryPointer as e } from "../../../../motion-dom/dist/es/gestures/utils/is-primary-pointer.js";
|
|
2
|
-
//#region node_modules/framer-motion/dist/es/events/event-info.mjs
|
|
3
|
-
function t(e) {
|
|
4
|
-
return { point: {
|
|
5
|
-
x: e.pageX,
|
|
6
|
-
y: e.pageY
|
|
7
|
-
} };
|
|
8
|
-
}
|
|
9
|
-
var n = (n) => (r) => e(r) && n(r, t(r));
|
|
10
|
-
//#endregion
|
|
11
|
-
export { n as addPointerInfo, t as extractEventInfo };
|
|
12
|
-
|
|
13
|
-
//# sourceMappingURL=event-info.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event-info.js","names":[],"sources":["../../../../../../node_modules/framer-motion/dist/es/events/event-info.mjs"],"sourcesContent":["import { isPrimaryPointer } from 'motion-dom';\n\nfunction extractEventInfo(event) {\n return {\n point: {\n x: event.pageX,\n y: event.pageY,\n },\n };\n}\nconst addPointerInfo = (handler) => (event) => isPrimaryPointer(event) && handler(event, extractEventInfo(event));\n\nexport { addPointerInfo, extractEventInfo };\n//# sourceMappingURL=event-info.mjs.map\n"],"x_google_ignoreList":[0],"mappings":";;AAEA,SAAS,EAAiB,GAAO;AAC7B,QAAO,EACH,OAAO;EACH,GAAG,EAAM;EACT,GAAG,EAAM;EACZ,EACJ;;AAEL,IAAM,KAAkB,OAAa,MAAU,EAAiB,EAAM,IAAI,EAAQ,GAAO,EAAiB,EAAM,CAAC"}
|
|
@@ -1,259 +0,0 @@
|
|
|
1
|
-
import { invariant as e } from "../../../../../motion-utils/dist/es/errors.js";
|
|
2
|
-
import { frame as t } from "../../../../../motion-dom/dist/es/frameloop/frame.js";
|
|
3
|
-
import { percent as n } from "../../../../../motion-dom/dist/es/value/types/numbers/units.js";
|
|
4
|
-
import { mixNumber as r } from "../../../../../motion-dom/dist/es/utils/mix/number.js";
|
|
5
|
-
import { animateMotionValue as i } from "../../../../../motion-dom/dist/es/animation/interfaces/motion-value.js";
|
|
6
|
-
import { addValueToWillChange as a } from "../../../../../motion-dom/dist/es/value/will-change/add-will-change.js";
|
|
7
|
-
import { setDragLock as o } from "../../../../../motion-dom/dist/es/gestures/drag/state/set-active.js";
|
|
8
|
-
import { isElementTextInput as s } from "../../../../../motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.js";
|
|
9
|
-
import { resize as c } from "../../../../../motion-dom/dist/es/resize/index.js";
|
|
10
|
-
import { createBox as l } from "../../../../../motion-dom/dist/es/projection/geometry/models.js";
|
|
11
|
-
import { convertBoundingBoxToBox as u, convertBoxToBoundingBox as d } from "../../../../../motion-dom/dist/es/projection/geometry/conversion.js";
|
|
12
|
-
import { measurePageBox as f } from "../../../../../motion-dom/dist/es/projection/utils/measure.js";
|
|
13
|
-
import { calcLength as p } from "../../../../../motion-dom/dist/es/projection/geometry/delta-calc.js";
|
|
14
|
-
import { eachAxis as m } from "../../../../../motion-dom/dist/es/projection/utils/each-axis.js";
|
|
15
|
-
import { addDomEvent as h } from "../../../../../motion-dom/dist/es/events/add-dom-event.js";
|
|
16
|
-
import { isRefObject as g } from "../../utils/is-ref-object.js";
|
|
17
|
-
import { extractEventInfo as _ } from "../../events/event-info.js";
|
|
18
|
-
import { addPointerEvent as v } from "../../events/add-pointer-event.js";
|
|
19
|
-
import { getContextWindow as y } from "../../utils/get-context-window.js";
|
|
20
|
-
import { PanSession as b } from "../pan/PanSession.js";
|
|
21
|
-
import { applyConstraints as x, calcOrigin as S, calcRelativeConstraints as C, calcViewportConstraints as w, defaultElastic as T, rebaseAxisConstraints as E, resolveDragElastic as D } from "./utils/constraints.js";
|
|
22
|
-
//#region node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.mjs
|
|
23
|
-
var O = /* @__PURE__ */ new WeakMap(), k = class {
|
|
24
|
-
constructor(e) {
|
|
25
|
-
this.openDragLock = null, this.isDragging = !1, this.currentDirection = null, this.originPoint = {
|
|
26
|
-
x: 0,
|
|
27
|
-
y: 0
|
|
28
|
-
}, this.constraints = !1, this.hasMutatedConstraints = !1, this.elastic = l(), this.latestPointerEvent = null, this.latestPanInfo = null, this.visualElement = e;
|
|
29
|
-
}
|
|
30
|
-
start(e, { snapToCursor: r = !1, distanceThreshold: i } = {}) {
|
|
31
|
-
let { presenceContext: s } = this.visualElement;
|
|
32
|
-
if (s && s.isPresent === !1) return;
|
|
33
|
-
let c = (e) => {
|
|
34
|
-
r && this.snapToCursor(_(e).point), this.stopAnimation();
|
|
35
|
-
}, l = (e, r) => {
|
|
36
|
-
let { drag: i, dragPropagation: s, onDragStart: c } = this.getProps();
|
|
37
|
-
if (i && !s && (this.openDragLock && this.openDragLock(), this.openDragLock = o(i), !this.openDragLock)) return;
|
|
38
|
-
this.latestPointerEvent = e, this.latestPanInfo = r, this.isDragging = !0, this.currentDirection = null, this.resolveConstraints(), this.visualElement.projection && (this.visualElement.projection.isAnimationBlocked = !0, this.visualElement.projection.target = void 0), m((e) => {
|
|
39
|
-
let t = this.getAxisMotionValue(e).get() || 0;
|
|
40
|
-
if (n.test(t)) {
|
|
41
|
-
let { projection: n } = this.visualElement;
|
|
42
|
-
if (n && n.layout) {
|
|
43
|
-
let r = n.layout.layoutBox[e];
|
|
44
|
-
r && (t = p(r) * (parseFloat(t) / 100));
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
this.originPoint[e] = t;
|
|
48
|
-
}), c && t.update(() => c(e, r), !1, !0), a(this.visualElement, "transform");
|
|
49
|
-
let { animationState: l } = this.visualElement;
|
|
50
|
-
l && l.setActive("whileDrag", !0);
|
|
51
|
-
}, u = (e, n) => {
|
|
52
|
-
this.latestPointerEvent = e, this.latestPanInfo = n;
|
|
53
|
-
let { dragPropagation: r, dragDirectionLock: i, onDirectionLock: a, onDrag: o } = this.getProps();
|
|
54
|
-
if (!r && !this.openDragLock) return;
|
|
55
|
-
let { offset: s } = n;
|
|
56
|
-
if (i && this.currentDirection === null) {
|
|
57
|
-
this.currentDirection = N(s), this.currentDirection !== null && a && a(this.currentDirection);
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
this.updateAxis("x", n.point, s), this.updateAxis("y", n.point, s), this.visualElement.render(), o && t.update(() => o(e, n), !1, !0);
|
|
61
|
-
}, d = (e, t) => {
|
|
62
|
-
this.latestPointerEvent = e, this.latestPanInfo = t, this.stop(e, t), this.latestPointerEvent = null, this.latestPanInfo = null;
|
|
63
|
-
}, f = () => {
|
|
64
|
-
let { dragSnapToOrigin: e } = this.getProps();
|
|
65
|
-
(e || this.constraints) && this.startAnimation({
|
|
66
|
-
x: 0,
|
|
67
|
-
y: 0
|
|
68
|
-
});
|
|
69
|
-
}, { dragSnapToOrigin: h } = this.getProps();
|
|
70
|
-
this.panSession = new b(e, {
|
|
71
|
-
onSessionStart: c,
|
|
72
|
-
onStart: l,
|
|
73
|
-
onMove: u,
|
|
74
|
-
onSessionEnd: d,
|
|
75
|
-
resumeAnimation: f
|
|
76
|
-
}, {
|
|
77
|
-
transformPagePoint: this.visualElement.getTransformPagePoint(),
|
|
78
|
-
dragSnapToOrigin: h,
|
|
79
|
-
distanceThreshold: i,
|
|
80
|
-
contextWindow: y(this.visualElement),
|
|
81
|
-
element: this.visualElement.current
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
stop(e, n) {
|
|
85
|
-
let r = e || this.latestPointerEvent, i = n || this.latestPanInfo, a = this.isDragging;
|
|
86
|
-
if (this.cancel(), !a || !i || !r) return;
|
|
87
|
-
let { velocity: o } = i;
|
|
88
|
-
this.startAnimation(o);
|
|
89
|
-
let { onDragEnd: s } = this.getProps();
|
|
90
|
-
s && t.postRender(() => s(r, i));
|
|
91
|
-
}
|
|
92
|
-
cancel() {
|
|
93
|
-
this.isDragging = !1;
|
|
94
|
-
let { projection: e, animationState: t } = this.visualElement;
|
|
95
|
-
e && (e.isAnimationBlocked = !1), this.endPanSession();
|
|
96
|
-
let { dragPropagation: n } = this.getProps();
|
|
97
|
-
!n && this.openDragLock && (this.openDragLock(), this.openDragLock = null), t && t.setActive("whileDrag", !1);
|
|
98
|
-
}
|
|
99
|
-
endPanSession() {
|
|
100
|
-
this.panSession && this.panSession.end(), this.panSession = void 0;
|
|
101
|
-
}
|
|
102
|
-
updateAxis(e, t, n) {
|
|
103
|
-
let { drag: r } = this.getProps();
|
|
104
|
-
if (!n || !M(e, r, this.currentDirection)) return;
|
|
105
|
-
let i = this.getAxisMotionValue(e), a = this.originPoint[e] + n[e];
|
|
106
|
-
this.constraints && this.constraints[e] && (a = x(a, this.constraints[e], this.elastic[e])), i.set(a);
|
|
107
|
-
}
|
|
108
|
-
resolveConstraints() {
|
|
109
|
-
let { dragConstraints: e, dragElastic: t } = this.getProps(), n = this.visualElement.projection && !this.visualElement.projection.layout ? this.visualElement.projection.measure(!1) : this.visualElement.projection?.layout, r = this.constraints;
|
|
110
|
-
e && g(e) ? this.constraints ||= this.resolveRefConstraints() : e && n ? this.constraints = C(n.layoutBox, e) : this.constraints = !1, this.elastic = D(t), r !== this.constraints && !g(e) && n && this.constraints && !this.hasMutatedConstraints && m((e) => {
|
|
111
|
-
this.constraints !== !1 && this.getAxisMotionValue(e) && (this.constraints[e] = E(n.layoutBox[e], this.constraints[e]));
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
resolveRefConstraints() {
|
|
115
|
-
let { dragConstraints: t, onMeasureDragConstraints: n } = this.getProps();
|
|
116
|
-
if (!t || !g(t)) return !1;
|
|
117
|
-
let r = t.current;
|
|
118
|
-
e(r !== null, "If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.", "drag-constraints-ref");
|
|
119
|
-
let { projection: i } = this.visualElement;
|
|
120
|
-
if (!i || !i.layout) return !1;
|
|
121
|
-
let a = f(r, i.root, this.visualElement.getTransformPagePoint()), o = w(i.layout.layoutBox, a);
|
|
122
|
-
if (n) {
|
|
123
|
-
let e = n(d(o));
|
|
124
|
-
this.hasMutatedConstraints = !!e, e && (o = u(e));
|
|
125
|
-
}
|
|
126
|
-
return o;
|
|
127
|
-
}
|
|
128
|
-
startAnimation(e) {
|
|
129
|
-
let { drag: t, dragMomentum: n, dragElastic: r, dragTransition: i, dragSnapToOrigin: a, onDragTransitionEnd: o } = this.getProps(), s = this.constraints || {}, c = m((o) => {
|
|
130
|
-
if (!M(o, t, this.currentDirection)) return;
|
|
131
|
-
let c = s && s[o] || {};
|
|
132
|
-
(a === !0 || a === o) && (c = {
|
|
133
|
-
min: 0,
|
|
134
|
-
max: 0
|
|
135
|
-
});
|
|
136
|
-
let l = r ? 200 : 1e6, u = r ? 40 : 1e7, d = {
|
|
137
|
-
type: "inertia",
|
|
138
|
-
velocity: n ? e[o] : 0,
|
|
139
|
-
bounceStiffness: l,
|
|
140
|
-
bounceDamping: u,
|
|
141
|
-
timeConstant: 750,
|
|
142
|
-
restDelta: 1,
|
|
143
|
-
restSpeed: 10,
|
|
144
|
-
...i,
|
|
145
|
-
...c
|
|
146
|
-
};
|
|
147
|
-
return this.startAxisValueAnimation(o, d);
|
|
148
|
-
});
|
|
149
|
-
return Promise.all(c).then(o);
|
|
150
|
-
}
|
|
151
|
-
startAxisValueAnimation(e, t) {
|
|
152
|
-
let n = this.getAxisMotionValue(e);
|
|
153
|
-
return a(this.visualElement, e), n.start(i(e, n, 0, t, this.visualElement, !1));
|
|
154
|
-
}
|
|
155
|
-
stopAnimation() {
|
|
156
|
-
m((e) => this.getAxisMotionValue(e).stop());
|
|
157
|
-
}
|
|
158
|
-
getAxisMotionValue(e) {
|
|
159
|
-
let t = `_drag${e.toUpperCase()}`, n = this.visualElement.getProps();
|
|
160
|
-
return n[t] || this.visualElement.getValue(e, (n.initial ? n.initial[e] : void 0) || 0);
|
|
161
|
-
}
|
|
162
|
-
snapToCursor(e) {
|
|
163
|
-
m((t) => {
|
|
164
|
-
let { drag: n } = this.getProps();
|
|
165
|
-
if (!M(t, n, this.currentDirection)) return;
|
|
166
|
-
let { projection: i } = this.visualElement, a = this.getAxisMotionValue(t);
|
|
167
|
-
if (i && i.layout) {
|
|
168
|
-
let { min: n, max: o } = i.layout.layoutBox[t], s = a.get() || 0;
|
|
169
|
-
a.set(e[t] - r(n, o, .5) + s);
|
|
170
|
-
}
|
|
171
|
-
});
|
|
172
|
-
}
|
|
173
|
-
scalePositionWithinConstraints() {
|
|
174
|
-
if (!this.visualElement.current) return;
|
|
175
|
-
let { drag: e, dragConstraints: t } = this.getProps(), { projection: n } = this.visualElement;
|
|
176
|
-
if (!g(t) || !n || !this.constraints) return;
|
|
177
|
-
this.stopAnimation();
|
|
178
|
-
let i = {
|
|
179
|
-
x: 0,
|
|
180
|
-
y: 0
|
|
181
|
-
};
|
|
182
|
-
m((e) => {
|
|
183
|
-
let t = this.getAxisMotionValue(e);
|
|
184
|
-
if (t && this.constraints !== !1) {
|
|
185
|
-
let n = t.get();
|
|
186
|
-
i[e] = S({
|
|
187
|
-
min: n,
|
|
188
|
-
max: n
|
|
189
|
-
}, this.constraints[e]);
|
|
190
|
-
}
|
|
191
|
-
});
|
|
192
|
-
let { transformTemplate: a } = this.visualElement.getProps();
|
|
193
|
-
this.visualElement.current.style.transform = a ? a({}, "") : "none", n.root && n.root.updateScroll(), n.updateLayout(), this.constraints = !1, this.resolveConstraints(), m((t) => {
|
|
194
|
-
if (!M(t, e, null)) return;
|
|
195
|
-
let n = this.getAxisMotionValue(t), { min: a, max: o } = this.constraints[t];
|
|
196
|
-
n.set(r(a, o, i[t]));
|
|
197
|
-
}), this.visualElement.render();
|
|
198
|
-
}
|
|
199
|
-
addListeners() {
|
|
200
|
-
if (!this.visualElement.current) return;
|
|
201
|
-
O.set(this.visualElement, this);
|
|
202
|
-
let e = this.visualElement.current, n = v(e, "pointerdown", (t) => {
|
|
203
|
-
let { drag: n, dragListener: r = !0 } = this.getProps(), i = t.target, a = i !== e && s(i);
|
|
204
|
-
n && r && !a && this.start(t);
|
|
205
|
-
}), r, i = () => {
|
|
206
|
-
let { dragConstraints: t } = this.getProps();
|
|
207
|
-
g(t) && t.current && (this.constraints = this.resolveRefConstraints(), r ||= j(e, t.current, () => this.scalePositionWithinConstraints()));
|
|
208
|
-
}, { projection: a } = this.visualElement, o = a.addEventListener("measure", i);
|
|
209
|
-
a && !a.layout && (a.root && a.root.updateScroll(), a.updateLayout()), t.read(i);
|
|
210
|
-
let c = h(window, "resize", () => this.scalePositionWithinConstraints()), l = a.addEventListener("didUpdate", (({ delta: e, hasLayoutChanged: t }) => {
|
|
211
|
-
this.isDragging && t && (m((t) => {
|
|
212
|
-
let n = this.getAxisMotionValue(t);
|
|
213
|
-
n && (this.originPoint[t] += e[t].translate, n.set(n.get() + e[t].translate));
|
|
214
|
-
}), this.visualElement.render());
|
|
215
|
-
}));
|
|
216
|
-
return () => {
|
|
217
|
-
c(), n(), o(), l && l(), r && r();
|
|
218
|
-
};
|
|
219
|
-
}
|
|
220
|
-
getProps() {
|
|
221
|
-
let e = this.visualElement.getProps(), { drag: t = !1, dragDirectionLock: n = !1, dragPropagation: r = !1, dragConstraints: i = !1, dragElastic: a = T, dragMomentum: o = !0 } = e;
|
|
222
|
-
return {
|
|
223
|
-
...e,
|
|
224
|
-
drag: t,
|
|
225
|
-
dragDirectionLock: n,
|
|
226
|
-
dragPropagation: r,
|
|
227
|
-
dragConstraints: i,
|
|
228
|
-
dragElastic: a,
|
|
229
|
-
dragMomentum: o
|
|
230
|
-
};
|
|
231
|
-
}
|
|
232
|
-
};
|
|
233
|
-
function A(e) {
|
|
234
|
-
let t = !0;
|
|
235
|
-
return () => {
|
|
236
|
-
if (t) {
|
|
237
|
-
t = !1;
|
|
238
|
-
return;
|
|
239
|
-
}
|
|
240
|
-
e();
|
|
241
|
-
};
|
|
242
|
-
}
|
|
243
|
-
function j(e, t, n) {
|
|
244
|
-
let r = c(e, A(n)), i = c(t, A(n));
|
|
245
|
-
return () => {
|
|
246
|
-
r(), i();
|
|
247
|
-
};
|
|
248
|
-
}
|
|
249
|
-
function M(e, t, n) {
|
|
250
|
-
return (t === !0 || t === e) && (n === null || n === e);
|
|
251
|
-
}
|
|
252
|
-
function N(e, t = 10) {
|
|
253
|
-
let n = null;
|
|
254
|
-
return Math.abs(e.y) > t ? n = "y" : Math.abs(e.x) > t && (n = "x"), n;
|
|
255
|
-
}
|
|
256
|
-
//#endregion
|
|
257
|
-
export { k as VisualElementDragControls };
|
|
258
|
-
|
|
259
|
-
//# sourceMappingURL=VisualElementDragControls.js.map
|