@burdenoff/microfe-brainyrich 2026.706.1 → 2026.706.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/__vite-optional-peer-dep_@emotion/is-prop-valid_framer-motion.js +10 -0
- package/dist/_virtual/__vite-optional-peer-dep_@emotion/is-prop-valid_framer-motion.js.map +1 -0
- package/dist/_virtual/_rolldown/runtime.js +20 -0
- package/dist/brainyrich/components/LoadMore.js.map +1 -1
- package/dist/brainyrich/components/index.js +1 -0
- package/dist/brainyrich/components/pickers.js.map +1 -1
- package/dist/brainyrich/components/reuse/CommentThread.js.map +1 -1
- package/dist/brainyrich/components/reuse/DocumentsPanel.js.map +1 -1
- package/dist/brainyrich/components/reuse/TagField.js.map +1 -1
- package/dist/brainyrich/components/viz.js +628 -0
- package/dist/brainyrich/components/viz.js.map +1 -0
- package/dist/brainyrich/hooks/useBrainyRichApi.js.map +1 -1
- package/dist/brainyrich/pages/AccountsPage.js +732 -530
- package/dist/brainyrich/pages/AccountsPage.js.map +1 -1
- package/dist/brainyrich/pages/AiAssistantPage.js +475 -343
- package/dist/brainyrich/pages/AiAssistantPage.js.map +1 -1
- package/dist/brainyrich/pages/AnalyticsPage.js +555 -392
- package/dist/brainyrich/pages/AnalyticsPage.js.map +1 -1
- package/dist/brainyrich/pages/DashboardPage.js +318 -194
- package/dist/brainyrich/pages/DashboardPage.js.map +1 -1
- package/dist/brainyrich/pages/FamilyPage.js +723 -355
- package/dist/brainyrich/pages/FamilyPage.js.map +1 -1
- package/dist/brainyrich/pages/GoalsPage.js +573 -419
- package/dist/brainyrich/pages/GoalsPage.js.map +1 -1
- package/dist/brainyrich/pages/InvestmentsPage.js +357 -213
- package/dist/brainyrich/pages/InvestmentsPage.js.map +1 -1
- package/dist/brainyrich/pages/PortfoliosPage.js +525 -399
- package/dist/brainyrich/pages/PortfoliosPage.js.map +1 -1
- package/dist/brainyrich/pages/ReportsPage.js +844 -258
- package/dist/brainyrich/pages/ReportsPage.js.map +1 -1
- package/dist/brainyrich/pages/RiskPage.js +667 -346
- package/dist/brainyrich/pages/RiskPage.js.map +1 -1
- package/dist/brainyrich/pages/TaxPage.js +687 -347
- package/dist/brainyrich/pages/TaxPage.js.map +1 -1
- package/dist/brainyrich/pages/_shared.js +81 -101
- package/dist/brainyrich/pages/_shared.js.map +1 -1
- package/dist/node_modules/clsx/dist/clsx.js +18 -0
- package/dist/node_modules/clsx/dist/clsx.js.map +1 -0
- package/dist/node_modules/d3-array/src/ascending.js +8 -0
- package/dist/node_modules/d3-array/src/ascending.js.map +1 -0
- package/dist/node_modules/d3-array/src/bisect.js +10 -0
- package/dist/node_modules/d3-array/src/bisect.js.map +1 -0
- package/dist/node_modules/d3-array/src/bisector.js +43 -0
- package/dist/node_modules/d3-array/src/bisector.js.map +1 -0
- package/dist/node_modules/d3-array/src/descending.js +8 -0
- package/dist/node_modules/d3-array/src/descending.js.map +1 -0
- package/dist/node_modules/d3-array/src/max.js +14 -0
- package/dist/node_modules/d3-array/src/max.js.map +1 -0
- package/dist/node_modules/d3-array/src/min.js +14 -0
- package/dist/node_modules/d3-array/src/min.js.map +1 -0
- package/dist/node_modules/d3-array/src/number.js +15 -0
- package/dist/node_modules/d3-array/src/number.js.map +1 -0
- package/dist/node_modules/d3-array/src/quantile.js +25 -0
- package/dist/node_modules/d3-array/src/quantile.js.map +1 -0
- package/dist/node_modules/d3-array/src/quickselect.js +26 -0
- package/dist/node_modules/d3-array/src/quickselect.js.map +1 -0
- package/dist/node_modules/d3-array/src/range.js +10 -0
- package/dist/node_modules/d3-array/src/range.js.map +1 -0
- package/dist/node_modules/d3-array/src/sort.js +17 -0
- package/dist/node_modules/d3-array/src/sort.js.map +1 -0
- package/dist/node_modules/d3-array/src/ticks.js +34 -0
- package/dist/node_modules/d3-array/src/ticks.js.map +1 -0
- package/dist/node_modules/d3-color/src/color.js +291 -0
- package/dist/node_modules/d3-color/src/color.js.map +1 -0
- package/dist/node_modules/d3-color/src/define.js +13 -0
- package/dist/node_modules/d3-color/src/define.js.map +1 -0
- package/dist/node_modules/d3-format/src/defaultLocale.js +15 -0
- package/dist/node_modules/d3-format/src/defaultLocale.js.map +1 -0
- package/dist/node_modules/d3-format/src/exponent.js +9 -0
- package/dist/node_modules/d3-format/src/exponent.js.map +1 -0
- package/dist/node_modules/d3-format/src/formatDecimal.js +13 -0
- package/dist/node_modules/d3-format/src/formatDecimal.js.map +1 -0
- package/dist/node_modules/d3-format/src/formatGroup.js +11 -0
- package/dist/node_modules/d3-format/src/formatGroup.js.map +1 -0
- package/dist/node_modules/d3-format/src/formatNumerals.js +12 -0
- package/dist/node_modules/d3-format/src/formatNumerals.js.map +1 -0
- package/dist/node_modules/d3-format/src/formatPrefixAuto.js +13 -0
- package/dist/node_modules/d3-format/src/formatPrefixAuto.js.map +1 -0
- package/dist/node_modules/d3-format/src/formatRounded.js +12 -0
- package/dist/node_modules/d3-format/src/formatRounded.js.map +1 -0
- package/dist/node_modules/d3-format/src/formatSpecifier.js +29 -0
- package/dist/node_modules/d3-format/src/formatSpecifier.js.map +1 -0
- package/dist/node_modules/d3-format/src/formatTrim.js +20 -0
- package/dist/node_modules/d3-format/src/formatTrim.js.map +1 -0
- package/dist/node_modules/d3-format/src/formatTypes.js +23 -0
- package/dist/node_modules/d3-format/src/formatTypes.js.map +1 -0
- package/dist/node_modules/d3-format/src/identity.js +8 -0
- package/dist/node_modules/d3-format/src/identity.js.map +1 -0
- package/dist/node_modules/d3-format/src/locale.js +86 -0
- package/dist/node_modules/d3-format/src/locale.js.map +1 -0
- package/dist/node_modules/d3-format/src/precisionFixed.js +9 -0
- package/dist/node_modules/d3-format/src/precisionFixed.js.map +1 -0
- package/dist/node_modules/d3-format/src/precisionPrefix.js +9 -0
- package/dist/node_modules/d3-format/src/precisionPrefix.js.map +1 -0
- package/dist/node_modules/d3-format/src/precisionRound.js +9 -0
- package/dist/node_modules/d3-format/src/precisionRound.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/array.js +15 -0
- package/dist/node_modules/d3-interpolate/src/array.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/basis.js +16 -0
- package/dist/node_modules/d3-interpolate/src/basis.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/basisClosed.js +13 -0
- package/dist/node_modules/d3-interpolate/src/basisClosed.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/color.js +25 -0
- package/dist/node_modules/d3-interpolate/src/color.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/constant.js +6 -0
- package/dist/node_modules/d3-interpolate/src/constant.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/date.js +11 -0
- package/dist/node_modules/d3-interpolate/src/date.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/number.js +10 -0
- package/dist/node_modules/d3-interpolate/src/number.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/numberArray.js +16 -0
- package/dist/node_modules/d3-interpolate/src/numberArray.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/object.js +14 -0
- package/dist/node_modules/d3-interpolate/src/object.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/piecewise.js +14 -0
- package/dist/node_modules/d3-interpolate/src/piecewise.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/rgb.js +19 -0
- package/dist/node_modules/d3-interpolate/src/rgb.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/round.js +10 -0
- package/dist/node_modules/d3-interpolate/src/round.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/string.js +28 -0
- package/dist/node_modules/d3-interpolate/src/string.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/value.js +18 -0
- package/dist/node_modules/d3-interpolate/src/value.js.map +1 -0
- package/dist/node_modules/d3-path/src/path.js +65 -0
- package/dist/node_modules/d3-path/src/path.js.map +1 -0
- package/dist/node_modules/d3-scale/src/band.js +52 -0
- package/dist/node_modules/d3-scale/src/band.js.map +1 -0
- package/dist/node_modules/d3-scale/src/constant.js +10 -0
- package/dist/node_modules/d3-scale/src/constant.js.map +1 -0
- package/dist/node_modules/d3-scale/src/continuous.js +73 -0
- package/dist/node_modules/d3-scale/src/continuous.js.map +1 -0
- package/dist/node_modules/d3-scale/src/diverging.js +82 -0
- package/dist/node_modules/d3-scale/src/diverging.js.map +1 -0
- package/dist/node_modules/d3-scale/src/identity.js +20 -0
- package/dist/node_modules/d3-scale/src/identity.js.map +1 -0
- package/dist/node_modules/d3-scale/src/init.js +29 -0
- package/dist/node_modules/d3-scale/src/init.js.map +1 -0
- package/dist/node_modules/d3-scale/src/linear.js +36 -0
- package/dist/node_modules/d3-scale/src/linear.js.map +1 -0
- package/dist/node_modules/d3-scale/src/log.js +77 -0
- package/dist/node_modules/d3-scale/src/log.js.map +1 -0
- package/dist/node_modules/d3-scale/src/nice.js +10 -0
- package/dist/node_modules/d3-scale/src/nice.js.map +1 -0
- package/dist/node_modules/d3-scale/src/number.js +8 -0
- package/dist/node_modules/d3-scale/src/number.js.map +1 -0
- package/dist/node_modules/d3-scale/src/ordinal.js +31 -0
- package/dist/node_modules/d3-scale/src/ordinal.js.map +1 -0
- package/dist/node_modules/d3-scale/src/pow.js +37 -0
- package/dist/node_modules/d3-scale/src/pow.js.map +1 -0
- package/dist/node_modules/d3-scale/src/quantile.js +37 -0
- package/dist/node_modules/d3-scale/src/quantile.js.map +1 -0
- package/dist/node_modules/d3-scale/src/quantize.js +33 -0
- package/dist/node_modules/d3-scale/src/quantize.js.map +1 -0
- package/dist/node_modules/d3-scale/src/radial.js +39 -0
- package/dist/node_modules/d3-scale/src/radial.js.map +1 -0
- package/dist/node_modules/d3-scale/src/sequential.js +67 -0
- package/dist/node_modules/d3-scale/src/sequential.js.map +1 -0
- package/dist/node_modules/d3-scale/src/sequentialQuantile.js +30 -0
- package/dist/node_modules/d3-scale/src/sequentialQuantile.js.map +1 -0
- package/dist/node_modules/d3-scale/src/symlog.js +30 -0
- package/dist/node_modules/d3-scale/src/symlog.js.map +1 -0
- package/dist/node_modules/d3-scale/src/threshold.js +25 -0
- package/dist/node_modules/d3-scale/src/threshold.js.map +1 -0
- package/dist/node_modules/d3-scale/src/tickFormat.js +31 -0
- package/dist/node_modules/d3-scale/src/tickFormat.js.map +1 -0
- package/dist/node_modules/d3-scale/src/time.js +47 -0
- package/dist/node_modules/d3-scale/src/time.js.map +1 -0
- package/dist/node_modules/d3-scale/src/utcTime.js +19 -0
- package/dist/node_modules/d3-scale/src/utcTime.js.map +1 -0
- package/dist/node_modules/d3-shape/src/area.js +55 -0
- package/dist/node_modules/d3-shape/src/area.js.map +1 -0
- package/dist/node_modules/d3-shape/src/array.js +8 -0
- package/dist/node_modules/d3-shape/src/array.js.map +1 -0
- package/dist/node_modules/d3-shape/src/constant.js +10 -0
- package/dist/node_modules/d3-shape/src/constant.js.map +1 -0
- package/dist/node_modules/d3-shape/src/curve/basis.js +49 -0
- package/dist/node_modules/d3-shape/src/curve/basis.js.map +1 -0
- package/dist/node_modules/d3-shape/src/curve/basisClosed.js +50 -0
- package/dist/node_modules/d3-shape/src/curve/basisClosed.js.map +1 -0
- package/dist/node_modules/d3-shape/src/curve/basisOpen.js +46 -0
- package/dist/node_modules/d3-shape/src/curve/basisOpen.js.map +1 -0
- package/dist/node_modules/d3-shape/src/curve/bump.js +40 -0
- package/dist/node_modules/d3-shape/src/curve/bump.js.map +1 -0
- package/dist/node_modules/d3-shape/src/curve/linear.js +36 -0
- package/dist/node_modules/d3-shape/src/curve/linear.js.map +1 -0
- package/dist/node_modules/d3-shape/src/curve/linearClosed.js +25 -0
- package/dist/node_modules/d3-shape/src/curve/linearClosed.js.map +1 -0
- package/dist/node_modules/d3-shape/src/curve/monotone.js +94 -0
- package/dist/node_modules/d3-shape/src/curve/monotone.js.map +1 -0
- package/dist/node_modules/d3-shape/src/curve/natural.js +39 -0
- package/dist/node_modules/d3-shape/src/curve/natural.js.map +1 -0
- package/dist/node_modules/d3-shape/src/curve/step.js +47 -0
- package/dist/node_modules/d3-shape/src/curve/step.js.map +1 -0
- package/dist/node_modules/d3-shape/src/line.js +30 -0
- package/dist/node_modules/d3-shape/src/line.js.map +1 -0
- package/dist/node_modules/d3-shape/src/math.js +8 -0
- package/dist/node_modules/d3-shape/src/math.js.map +1 -0
- package/dist/node_modules/d3-shape/src/noop.js +6 -0
- package/dist/node_modules/d3-shape/src/noop.js.map +1 -0
- package/dist/node_modules/d3-shape/src/offset/expand.js +15 -0
- package/dist/node_modules/d3-shape/src/offset/expand.js.map +1 -0
- package/dist/node_modules/d3-shape/src/offset/none.js +8 -0
- package/dist/node_modules/d3-shape/src/offset/none.js.map +1 -0
- package/dist/node_modules/d3-shape/src/offset/silhouette.js +15 -0
- package/dist/node_modules/d3-shape/src/offset/silhouette.js.map +1 -0
- package/dist/node_modules/d3-shape/src/offset/wiggle.js +21 -0
- package/dist/node_modules/d3-shape/src/offset/wiggle.js.map +1 -0
- package/dist/node_modules/d3-shape/src/order/none.js +9 -0
- package/dist/node_modules/d3-shape/src/order/none.js.map +1 -0
- package/dist/node_modules/d3-shape/src/path.js +19 -0
- package/dist/node_modules/d3-shape/src/path.js.map +1 -0
- package/dist/node_modules/d3-shape/src/point.js +11 -0
- package/dist/node_modules/d3-shape/src/point.js.map +1 -0
- package/dist/node_modules/d3-shape/src/stack.js +34 -0
- package/dist/node_modules/d3-shape/src/stack.js.map +1 -0
- package/dist/node_modules/d3-shape/src/symbol/circle.js +10 -0
- package/dist/node_modules/d3-shape/src/symbol/circle.js.map +1 -0
- package/dist/node_modules/d3-shape/src/symbol/cross.js +10 -0
- package/dist/node_modules/d3-shape/src/symbol/cross.js.map +1 -0
- package/dist/node_modules/d3-shape/src/symbol/diamond.js +10 -0
- package/dist/node_modules/d3-shape/src/symbol/diamond.js.map +1 -0
- package/dist/node_modules/d3-shape/src/symbol/square.js +10 -0
- package/dist/node_modules/d3-shape/src/symbol/square.js.map +1 -0
- package/dist/node_modules/d3-shape/src/symbol/star.js +15 -0
- package/dist/node_modules/d3-shape/src/symbol/star.js.map +1 -0
- package/dist/node_modules/d3-shape/src/symbol/triangle.js +10 -0
- package/dist/node_modules/d3-shape/src/symbol/triangle.js.map +1 -0
- package/dist/node_modules/d3-shape/src/symbol/wye.js +10 -0
- package/dist/node_modules/d3-shape/src/symbol/wye.js.map +1 -0
- package/dist/node_modules/d3-shape/src/symbol.js +23 -0
- package/dist/node_modules/d3-shape/src/symbol.js.map +1 -0
- package/dist/node_modules/d3-time/src/day.js +21 -0
- package/dist/node_modules/d3-time/src/day.js.map +1 -0
- package/dist/node_modules/d3-time/src/duration.js +6 -0
- package/dist/node_modules/d3-time/src/duration.js.map +1 -0
- package/dist/node_modules/d3-time/src/hour.js +19 -0
- package/dist/node_modules/d3-time/src/hour.js.map +1 -0
- package/dist/node_modules/d3-time/src/interval.js +28 -0
- package/dist/node_modules/d3-time/src/interval.js.map +1 -0
- package/dist/node_modules/d3-time/src/millisecond.js +14 -0
- package/dist/node_modules/d3-time/src/millisecond.js.map +1 -0
- package/dist/node_modules/d3-time/src/minute.js +19 -0
- package/dist/node_modules/d3-time/src/minute.js.map +1 -0
- package/dist/node_modules/d3-time/src/month.js +18 -0
- package/dist/node_modules/d3-time/src/month.js.map +1 -0
- package/dist/node_modules/d3-time/src/second.js +13 -0
- package/dist/node_modules/d3-time/src/second.js.map +1 -0
- package/dist/node_modules/d3-time/src/ticks.js +125 -0
- package/dist/node_modules/d3-time/src/ticks.js.map +1 -0
- package/dist/node_modules/d3-time/src/week.js +25 -0
- package/dist/node_modules/d3-time/src/week.js.map +1 -0
- package/dist/node_modules/d3-time/src/year.js +26 -0
- package/dist/node_modules/d3-time/src/year.js.map +1 -0
- package/dist/node_modules/d3-time-format/src/defaultLocale.js +62 -0
- package/dist/node_modules/d3-time-format/src/defaultLocale.js.map +1 -0
- package/dist/node_modules/d3-time-format/src/locale.js +490 -0
- package/dist/node_modules/d3-time-format/src/locale.js.map +1 -0
- package/dist/node_modules/decimal.js-light/decimal.js +378 -0
- package/dist/node_modules/decimal.js-light/decimal.js.map +1 -0
- package/dist/node_modules/eventemitter3/index.js +95 -0
- package/dist/node_modules/eventemitter3/index.js.map +1 -0
- package/dist/node_modules/fast-equals/dist/es/index.js +267 -0
- package/dist/node_modules/fast-equals/dist/es/index.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/use-presence.js +22 -0
- package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/use-presence.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/context/LayoutGroupContext.js +8 -0
- package/dist/node_modules/framer-motion/dist/es/context/LayoutGroupContext.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/context/LazyContext.js +8 -0
- package/dist/node_modules/framer-motion/dist/es/context/LazyContext.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/context/MotionConfigContext.js +12 -0
- package/dist/node_modules/framer-motion/dist/es/context/MotionConfigContext.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/context/MotionContext/create.js +19 -0
- package/dist/node_modules/framer-motion/dist/es/context/MotionContext/create.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/context/MotionContext/index.js +8 -0
- package/dist/node_modules/framer-motion/dist/es/context/MotionContext/index.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/context/MotionContext/utils.js +17 -0
- package/dist/node_modules/framer-motion/dist/es/context/MotionContext/utils.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/context/PresenceContext.js +8 -0
- package/dist/node_modules/framer-motion/dist/es/context/PresenceContext.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/context/SwitchLayoutGroupContext.js +8 -0
- package/dist/node_modules/framer-motion/dist/es/context/SwitchLayoutGroupContext.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/events/add-pointer-event.js +10 -0
- package/dist/node_modules/framer-motion/dist/es/events/add-pointer-event.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/events/event-info.js +13 -0
- package/dist/node_modules/framer-motion/dist/es/events/event-info.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.js +259 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/drag/index.js +24 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/drag/index.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/drag/utils/constraints.js +61 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/drag/utils/constraints.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/focus.js +29 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/focus.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/hover.js +22 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/hover.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/pan/PanSession.js +135 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/pan/PanSession.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/pan/index.js +44 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/pan/index.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/press.js +28 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/press.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/animation/exit.js +41 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/animation/exit.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/animation/index.js +27 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/animation/index.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/animations.js +11 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/animations.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/definitions.js +53 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/definitions.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/drag.js +17 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/drag.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/gestures.js +15 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/gestures.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/layout/MeasureLayout.js +63 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/layout/MeasureLayout.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/layout.js +11 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/layout.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/load-features.js +15 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/load-features.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/viewport/index.js +48 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/viewport/index.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/viewport/observers.js +26 -0
- package/dist/node_modules/framer-motion/dist/es/motion/features/viewport/observers.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/motion/index.js +72 -0
- package/dist/node_modules/framer-motion/dist/es/motion/index.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/motion/utils/symbol.js +6 -0
- package/dist/node_modules/framer-motion/dist/es/motion/utils/symbol.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.js +24 -0
- package/dist/node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/motion/utils/use-visual-element.js +60 -0
- package/dist/node_modules/framer-motion/dist/es/motion/utils/use-visual-element.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/motion/utils/use-visual-state.js +52 -0
- package/dist/node_modules/framer-motion/dist/es/motion/utils/use-visual-state.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/motion/utils/valid-prop.js +9 -0
- package/dist/node_modules/framer-motion/dist/es/motion/utils/valid-prop.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/components/create-proxy.js +12 -0
- package/dist/node_modules/framer-motion/dist/es/render/components/create-proxy.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/components/motion/feature-bundle.js +15 -0
- package/dist/node_modules/framer-motion/dist/es/render/components/motion/feature-bundle.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/components/motion/proxy.js +9 -0
- package/dist/node_modules/framer-motion/dist/es/render/components/motion/proxy.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/create-visual-element.js +10 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/create-visual-element.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/use-render.js +23 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/use-render.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/utils/filter-props.js +21 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/utils/filter-props.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/utils/is-svg-component.js +9 -0
- package/dist/node_modules/framer-motion/dist/es/render/dom/utils/is-svg-component.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/html/use-html-visual-state.js +13 -0
- package/dist/node_modules/framer-motion/dist/es/render/html/use-html-visual-state.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/html/use-props.js +28 -0
- package/dist/node_modules/framer-motion/dist/es/render/html/use-props.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/html/utils/create-render-state.js +11 -0
- package/dist/node_modules/framer-motion/dist/es/render/html/utils/create-render-state.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/svg/lowercase-elements.js +32 -0
- package/dist/node_modules/framer-motion/dist/es/render/svg/lowercase-elements.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/svg/use-props.js +28 -0
- package/dist/node_modules/framer-motion/dist/es/render/svg/use-props.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/svg/use-svg-visual-state.js +13 -0
- package/dist/node_modules/framer-motion/dist/es/render/svg/use-svg-visual-state.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.js +10 -0
- package/dist/node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/utils/distance.js +10 -0
- package/dist/node_modules/framer-motion/dist/es/utils/distance.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/utils/get-context-window.js +6 -0
- package/dist/node_modules/framer-motion/dist/es/utils/get-context-window.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/utils/is-browser.js +6 -0
- package/dist/node_modules/framer-motion/dist/es/utils/is-browser.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/utils/is-ref-object.js +8 -0
- package/dist/node_modules/framer-motion/dist/es/utils/is-ref-object.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/utils/reduced-motion/use-reduced-motion.js +15 -0
- package/dist/node_modules/framer-motion/dist/es/utils/reduced-motion/use-reduced-motion.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/utils/use-constant.js +11 -0
- package/dist/node_modules/framer-motion/dist/es/utils/use-constant.js.map +1 -0
- package/dist/node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.js +9 -0
- package/dist/node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.js.map +1 -0
- package/dist/node_modules/internmap/src/index.js +40 -0
- package/dist/node_modules/internmap/src/index.js.map +1 -0
- package/dist/node_modules/lodash/_DataView.js +12 -0
- package/dist/node_modules/lodash/_DataView.js.map +1 -0
- package/dist/node_modules/lodash/_Hash.js +23 -0
- package/dist/node_modules/lodash/_Hash.js.map +1 -0
- package/dist/node_modules/lodash/_ListCache.js +23 -0
- package/dist/node_modules/lodash/_ListCache.js.map +1 -0
- package/dist/node_modules/lodash/_Map.js +12 -0
- package/dist/node_modules/lodash/_Map.js.map +1 -0
- package/dist/node_modules/lodash/_MapCache.js +23 -0
- package/dist/node_modules/lodash/_MapCache.js.map +1 -0
- package/dist/node_modules/lodash/_Promise.js +12 -0
- package/dist/node_modules/lodash/_Promise.js.map +1 -0
- package/dist/node_modules/lodash/_Set.js +12 -0
- package/dist/node_modules/lodash/_Set.js.map +1 -0
- package/dist/node_modules/lodash/_SetCache.js +18 -0
- package/dist/node_modules/lodash/_SetCache.js.map +1 -0
- package/dist/node_modules/lodash/_Stack.js +20 -0
- package/dist/node_modules/lodash/_Stack.js.map +1 -0
- package/dist/node_modules/lodash/_Symbol.js +11 -0
- package/dist/node_modules/lodash/_Symbol.js.map +1 -0
- package/dist/node_modules/lodash/_Uint8Array.js +11 -0
- package/dist/node_modules/lodash/_Uint8Array.js.map +1 -0
- package/dist/node_modules/lodash/_WeakMap.js +12 -0
- package/dist/node_modules/lodash/_WeakMap.js.map +1 -0
- package/dist/node_modules/lodash/_apply.js +19 -0
- package/dist/node_modules/lodash/_apply.js.map +1 -0
- package/dist/node_modules/lodash/_arrayEvery.js +14 -0
- package/dist/node_modules/lodash/_arrayEvery.js.map +1 -0
- package/dist/node_modules/lodash/_arrayFilter.js +17 -0
- package/dist/node_modules/lodash/_arrayFilter.js.map +1 -0
- package/dist/node_modules/lodash/_arrayIncludes.js +15 -0
- package/dist/node_modules/lodash/_arrayIncludes.js.map +1 -0
- package/dist/node_modules/lodash/_arrayIncludesWith.js +14 -0
- package/dist/node_modules/lodash/_arrayIncludesWith.js.map +1 -0
- package/dist/node_modules/lodash/_arrayLikeKeys.js +22 -0
- package/dist/node_modules/lodash/_arrayLikeKeys.js.map +1 -0
- package/dist/node_modules/lodash/_arrayMap.js +14 -0
- package/dist/node_modules/lodash/_arrayMap.js.map +1 -0
- package/dist/node_modules/lodash/_arrayPush.js +14 -0
- package/dist/node_modules/lodash/_arrayPush.js.map +1 -0
- package/dist/node_modules/lodash/_arraySome.js +14 -0
- package/dist/node_modules/lodash/_arraySome.js.map +1 -0
- package/dist/node_modules/lodash/_asciiToArray.js +13 -0
- package/dist/node_modules/lodash/_asciiToArray.js.map +1 -0
- package/dist/node_modules/lodash/_assocIndexOf.js +16 -0
- package/dist/node_modules/lodash/_assocIndexOf.js.map +1 -0
- package/dist/node_modules/lodash/_baseAssignValue.js +20 -0
- package/dist/node_modules/lodash/_baseAssignValue.js.map +1 -0
- package/dist/node_modules/lodash/_baseEach.js +13 -0
- package/dist/node_modules/lodash/_baseEach.js.map +1 -0
- package/dist/node_modules/lodash/_baseEvery.js +18 -0
- package/dist/node_modules/lodash/_baseEvery.js.map +1 -0
- package/dist/node_modules/lodash/_baseExtremum.js +19 -0
- package/dist/node_modules/lodash/_baseExtremum.js.map +1 -0
- package/dist/node_modules/lodash/_baseFindIndex.js +14 -0
- package/dist/node_modules/lodash/_baseFindIndex.js.map +1 -0
- package/dist/node_modules/lodash/_baseFlatten.js +21 -0
- package/dist/node_modules/lodash/_baseFlatten.js.map +1 -0
- package/dist/node_modules/lodash/_baseFor.js +11 -0
- package/dist/node_modules/lodash/_baseFor.js.map +1 -0
- package/dist/node_modules/lodash/_baseForOwn.js +16 -0
- package/dist/node_modules/lodash/_baseForOwn.js.map +1 -0
- package/dist/node_modules/lodash/_baseGet.js +18 -0
- package/dist/node_modules/lodash/_baseGet.js.map +1 -0
- package/dist/node_modules/lodash/_baseGetAllKeys.js +17 -0
- package/dist/node_modules/lodash/_baseGetAllKeys.js.map +1 -0
- package/dist/node_modules/lodash/_baseGetTag.js +17 -0
- package/dist/node_modules/lodash/_baseGetTag.js.map +1 -0
- package/dist/node_modules/lodash/_baseGt.js +13 -0
- package/dist/node_modules/lodash/_baseGt.js.map +1 -0
- package/dist/node_modules/lodash/_baseHasIn.js +13 -0
- package/dist/node_modules/lodash/_baseHasIn.js.map +1 -0
- package/dist/node_modules/lodash/_baseIndexOf.js +17 -0
- package/dist/node_modules/lodash/_baseIndexOf.js.map +1 -0
- package/dist/node_modules/lodash/_baseIsArguments.js +16 -0
- package/dist/node_modules/lodash/_baseIsArguments.js.map +1 -0
- package/dist/node_modules/lodash/_baseIsEqual.js +16 -0
- package/dist/node_modules/lodash/_baseIsEqual.js.map +1 -0
- package/dist/node_modules/lodash/_baseIsEqualDeep.js +37 -0
- package/dist/node_modules/lodash/_baseIsEqualDeep.js.map +1 -0
- package/dist/node_modules/lodash/_baseIsMatch.js +33 -0
- package/dist/node_modules/lodash/_baseIsMatch.js.map +1 -0
- package/dist/node_modules/lodash/_baseIsNaN.js +13 -0
- package/dist/node_modules/lodash/_baseIsNaN.js.map +1 -0
- package/dist/node_modules/lodash/_baseIsNative.js +18 -0
- package/dist/node_modules/lodash/_baseIsNative.js.map +1 -0
- package/dist/node_modules/lodash/_baseIsTypedArray.js +18 -0
- package/dist/node_modules/lodash/_baseIsTypedArray.js.map +1 -0
- package/dist/node_modules/lodash/_baseIteratee.js +19 -0
- package/dist/node_modules/lodash/_baseIteratee.js.map +1 -0
- package/dist/node_modules/lodash/_baseKeys.js +19 -0
- package/dist/node_modules/lodash/_baseKeys.js.map +1 -0
- package/dist/node_modules/lodash/_baseLt.js +13 -0
- package/dist/node_modules/lodash/_baseLt.js.map +1 -0
- package/dist/node_modules/lodash/_baseMap.js +19 -0
- package/dist/node_modules/lodash/_baseMap.js.map +1 -0
- package/dist/node_modules/lodash/_baseMatches.js +20 -0
- package/dist/node_modules/lodash/_baseMatches.js.map +1 -0
- package/dist/node_modules/lodash/_baseMatchesProperty.js +24 -0
- package/dist/node_modules/lodash/_baseMatchesProperty.js.map +1 -0
- package/dist/node_modules/lodash/_baseOrderBy.js +39 -0
- package/dist/node_modules/lodash/_baseOrderBy.js.map +1 -0
- package/dist/node_modules/lodash/_baseProperty.js +15 -0
- package/dist/node_modules/lodash/_baseProperty.js.map +1 -0
- package/dist/node_modules/lodash/_basePropertyDeep.js +17 -0
- package/dist/node_modules/lodash/_basePropertyDeep.js.map +1 -0
- package/dist/node_modules/lodash/_baseRange.js +15 -0
- package/dist/node_modules/lodash/_baseRange.js.map +1 -0
- package/dist/node_modules/lodash/_baseRest.js +17 -0
- package/dist/node_modules/lodash/_baseRest.js.map +1 -0
- package/dist/node_modules/lodash/_baseSetToString.js +21 -0
- package/dist/node_modules/lodash/_baseSetToString.js.map +1 -0
- package/dist/node_modules/lodash/_baseSlice.js +16 -0
- package/dist/node_modules/lodash/_baseSlice.js.map +1 -0
- package/dist/node_modules/lodash/_baseSome.js +18 -0
- package/dist/node_modules/lodash/_baseSome.js.map +1 -0
- package/dist/node_modules/lodash/_baseSortBy.js +15 -0
- package/dist/node_modules/lodash/_baseSortBy.js.map +1 -0
- package/dist/node_modules/lodash/_baseTimes.js +14 -0
- package/dist/node_modules/lodash/_baseTimes.js.map +1 -0
- package/dist/node_modules/lodash/_baseToString.js +22 -0
- package/dist/node_modules/lodash/_baseToString.js.map +1 -0
- package/dist/node_modules/lodash/_baseTrim.js +15 -0
- package/dist/node_modules/lodash/_baseTrim.js.map +1 -0
- package/dist/node_modules/lodash/_baseUnary.js +15 -0
- package/dist/node_modules/lodash/_baseUnary.js.map +1 -0
- package/dist/node_modules/lodash/_baseUniq.js +34 -0
- package/dist/node_modules/lodash/_baseUniq.js.map +1 -0
- package/dist/node_modules/lodash/_cacheHas.js +13 -0
- package/dist/node_modules/lodash/_cacheHas.js.map +1 -0
- package/dist/node_modules/lodash/_castPath.js +18 -0
- package/dist/node_modules/lodash/_castPath.js.map +1 -0
- package/dist/node_modules/lodash/_castSlice.js +16 -0
- package/dist/node_modules/lodash/_castSlice.js.map +1 -0
- package/dist/node_modules/lodash/_compareAscending.js +20 -0
- package/dist/node_modules/lodash/_compareAscending.js.map +1 -0
- package/dist/node_modules/lodash/_compareMultiple.js +19 -0
- package/dist/node_modules/lodash/_compareMultiple.js.map +1 -0
- package/dist/node_modules/lodash/_coreJsData.js +11 -0
- package/dist/node_modules/lodash/_coreJsData.js.map +1 -0
- package/dist/node_modules/lodash/_createBaseEach.js +20 -0
- package/dist/node_modules/lodash/_createBaseEach.js.map +1 -0
- package/dist/node_modules/lodash/_createBaseFor.js +19 -0
- package/dist/node_modules/lodash/_createBaseFor.js.map +1 -0
- package/dist/node_modules/lodash/_createCaseFirst.js +22 -0
- package/dist/node_modules/lodash/_createCaseFirst.js.map +1 -0
- package/dist/node_modules/lodash/_createFind.js +27 -0
- package/dist/node_modules/lodash/_createFind.js.map +1 -0
- package/dist/node_modules/lodash/_createRange.js +19 -0
- package/dist/node_modules/lodash/_createRange.js.map +1 -0
- package/dist/node_modules/lodash/_createSet.js +16 -0
- package/dist/node_modules/lodash/_createSet.js.map +1 -0
- package/dist/node_modules/lodash/_defineProperty.js +17 -0
- package/dist/node_modules/lodash/_defineProperty.js.map +1 -0
- package/dist/node_modules/lodash/_equalArrays.js +42 -0
- package/dist/node_modules/lodash/_equalArrays.js.map +1 -0
- package/dist/node_modules/lodash/_equalByTag.js +42 -0
- package/dist/node_modules/lodash/_equalByTag.js.map +1 -0
- package/dist/node_modules/lodash/_equalObjects.js +39 -0
- package/dist/node_modules/lodash/_equalObjects.js.map +1 -0
- package/dist/node_modules/lodash/_freeGlobal.js +10 -0
- package/dist/node_modules/lodash/_freeGlobal.js.map +1 -0
- package/dist/node_modules/lodash/_getAllKeys.js +17 -0
- package/dist/node_modules/lodash/_getAllKeys.js.map +1 -0
- package/dist/node_modules/lodash/_getMapData.js +16 -0
- package/dist/node_modules/lodash/_getMapData.js.map +1 -0
- package/dist/node_modules/lodash/_getMatchData.js +24 -0
- package/dist/node_modules/lodash/_getMatchData.js.map +1 -0
- package/dist/node_modules/lodash/_getNative.js +17 -0
- package/dist/node_modules/lodash/_getNative.js.map +1 -0
- package/dist/node_modules/lodash/_getPrototype.js +11 -0
- package/dist/node_modules/lodash/_getPrototype.js.map +1 -0
- package/dist/node_modules/lodash/_getRawTag.js +21 -0
- package/dist/node_modules/lodash/_getRawTag.js.map +1 -0
- package/dist/node_modules/lodash/_getSymbols.js +17 -0
- package/dist/node_modules/lodash/_getSymbols.js.map +1 -0
- package/dist/node_modules/lodash/_getTag.js +28 -0
- package/dist/node_modules/lodash/_getTag.js.map +1 -0
- package/dist/node_modules/lodash/_getValue.js +13 -0
- package/dist/node_modules/lodash/_getValue.js.map +1 -0
- package/dist/node_modules/lodash/_hasPath.js +26 -0
- package/dist/node_modules/lodash/_hasPath.js.map +1 -0
- package/dist/node_modules/lodash/_hasUnicode.js +14 -0
- package/dist/node_modules/lodash/_hasUnicode.js.map +1 -0
- package/dist/node_modules/lodash/_hashClear.js +15 -0
- package/dist/node_modules/lodash/_hashClear.js.map +1 -0
- package/dist/node_modules/lodash/_hashDelete.js +14 -0
- package/dist/node_modules/lodash/_hashDelete.js.map +1 -0
- package/dist/node_modules/lodash/_hashGet.js +20 -0
- package/dist/node_modules/lodash/_hashGet.js.map +1 -0
- package/dist/node_modules/lodash/_hashHas.js +16 -0
- package/dist/node_modules/lodash/_hashHas.js.map +1 -0
- package/dist/node_modules/lodash/_hashSet.js +16 -0
- package/dist/node_modules/lodash/_hashSet.js.map +1 -0
- package/dist/node_modules/lodash/_isFlattenable.js +17 -0
- package/dist/node_modules/lodash/_isFlattenable.js.map +1 -0
- package/dist/node_modules/lodash/_isIndex.js +15 -0
- package/dist/node_modules/lodash/_isIndex.js.map +1 -0
- package/dist/node_modules/lodash/_isIterateeCall.js +20 -0
- package/dist/node_modules/lodash/_isIterateeCall.js.map +1 -0
- package/dist/node_modules/lodash/_isKey.js +18 -0
- package/dist/node_modules/lodash/_isKey.js.map +1 -0
- package/dist/node_modules/lodash/_isKeyable.js +14 -0
- package/dist/node_modules/lodash/_isKeyable.js.map +1 -0
- package/dist/node_modules/lodash/_isMasked.js +18 -0
- package/dist/node_modules/lodash/_isMasked.js.map +1 -0
- package/dist/node_modules/lodash/_isPrototype.js +15 -0
- package/dist/node_modules/lodash/_isPrototype.js.map +1 -0
- package/dist/node_modules/lodash/_isStrictComparable.js +15 -0
- package/dist/node_modules/lodash/_isStrictComparable.js.map +1 -0
- package/dist/node_modules/lodash/_listCacheClear.js +13 -0
- package/dist/node_modules/lodash/_listCacheClear.js.map +1 -0
- package/dist/node_modules/lodash/_listCacheDelete.js +16 -0
- package/dist/node_modules/lodash/_listCacheDelete.js.map +1 -0
- package/dist/node_modules/lodash/_listCacheGet.js +16 -0
- package/dist/node_modules/lodash/_listCacheGet.js.map +1 -0
- package/dist/node_modules/lodash/_listCacheHas.js +15 -0
- package/dist/node_modules/lodash/_listCacheHas.js.map +1 -0
- package/dist/node_modules/lodash/_listCacheSet.js +16 -0
- package/dist/node_modules/lodash/_listCacheSet.js.map +1 -0
- package/dist/node_modules/lodash/_mapCacheClear.js +21 -0
- package/dist/node_modules/lodash/_mapCacheClear.js.map +1 -0
- package/dist/node_modules/lodash/_mapCacheDelete.js +16 -0
- package/dist/node_modules/lodash/_mapCacheDelete.js.map +1 -0
- package/dist/node_modules/lodash/_mapCacheGet.js +15 -0
- package/dist/node_modules/lodash/_mapCacheGet.js.map +1 -0
- package/dist/node_modules/lodash/_mapCacheHas.js +15 -0
- package/dist/node_modules/lodash/_mapCacheHas.js.map +1 -0
- package/dist/node_modules/lodash/_mapCacheSet.js +16 -0
- package/dist/node_modules/lodash/_mapCacheSet.js.map +1 -0
- package/dist/node_modules/lodash/_mapToArray.js +16 -0
- package/dist/node_modules/lodash/_mapToArray.js.map +1 -0
- package/dist/node_modules/lodash/_matchesStrictComparable.js +15 -0
- package/dist/node_modules/lodash/_matchesStrictComparable.js.map +1 -0
- package/dist/node_modules/lodash/_memoizeCapped.js +18 -0
- package/dist/node_modules/lodash/_memoizeCapped.js.map +1 -0
- package/dist/node_modules/lodash/_nativeCreate.js +11 -0
- package/dist/node_modules/lodash/_nativeCreate.js.map +1 -0
- package/dist/node_modules/lodash/_nativeKeys.js +11 -0
- package/dist/node_modules/lodash/_nativeKeys.js.map +1 -0
- package/dist/node_modules/lodash/_nodeUtil.js +16 -0
- package/dist/node_modules/lodash/_nodeUtil.js.map +1 -0
- package/dist/node_modules/lodash/_objectToString.js +14 -0
- package/dist/node_modules/lodash/_objectToString.js.map +1 -0
- package/dist/node_modules/lodash/_overArg.js +15 -0
- package/dist/node_modules/lodash/_overArg.js.map +1 -0
- package/dist/node_modules/lodash/_overRest.js +20 -0
- package/dist/node_modules/lodash/_overRest.js.map +1 -0
- package/dist/node_modules/lodash/_root.js +12 -0
- package/dist/node_modules/lodash/_root.js.map +1 -0
- package/dist/node_modules/lodash/_setCacheAdd.js +14 -0
- package/dist/node_modules/lodash/_setCacheAdd.js.map +1 -0
- package/dist/node_modules/lodash/_setCacheHas.js +13 -0
- package/dist/node_modules/lodash/_setCacheHas.js.map +1 -0
- package/dist/node_modules/lodash/_setToArray.js +16 -0
- package/dist/node_modules/lodash/_setToArray.js.map +1 -0
- package/dist/node_modules/lodash/_setToString.js +13 -0
- package/dist/node_modules/lodash/_setToString.js.map +1 -0
- package/dist/node_modules/lodash/_shortOut.js +21 -0
- package/dist/node_modules/lodash/_shortOut.js.map +1 -0
- package/dist/node_modules/lodash/_stackClear.js +15 -0
- package/dist/node_modules/lodash/_stackClear.js.map +1 -0
- package/dist/node_modules/lodash/_stackDelete.js +14 -0
- package/dist/node_modules/lodash/_stackDelete.js.map +1 -0
- package/dist/node_modules/lodash/_stackGet.js +13 -0
- package/dist/node_modules/lodash/_stackGet.js.map +1 -0
- package/dist/node_modules/lodash/_stackHas.js +13 -0
- package/dist/node_modules/lodash/_stackHas.js.map +1 -0
- package/dist/node_modules/lodash/_stackSet.js +23 -0
- package/dist/node_modules/lodash/_stackSet.js.map +1 -0
- package/dist/node_modules/lodash/_strictIndexOf.js +14 -0
- package/dist/node_modules/lodash/_strictIndexOf.js.map +1 -0
- package/dist/node_modules/lodash/_stringToArray.js +17 -0
- package/dist/node_modules/lodash/_stringToArray.js.map +1 -0
- package/dist/node_modules/lodash/_stringToPath.js +17 -0
- package/dist/node_modules/lodash/_stringToPath.js.map +1 -0
- package/dist/node_modules/lodash/_toKey.js +17 -0
- package/dist/node_modules/lodash/_toKey.js.map +1 -0
- package/dist/node_modules/lodash/_toSource.js +22 -0
- package/dist/node_modules/lodash/_toSource.js.map +1 -0
- package/dist/node_modules/lodash/_trimmedEndIndex.js +15 -0
- package/dist/node_modules/lodash/_trimmedEndIndex.js.map +1 -0
- package/dist/node_modules/lodash/_unicodeToArray.js +24 -0
- package/dist/node_modules/lodash/_unicodeToArray.js.map +1 -0
- package/dist/node_modules/lodash/constant.js +15 -0
- package/dist/node_modules/lodash/constant.js.map +1 -0
- package/dist/node_modules/lodash/debounce.js +57 -0
- package/dist/node_modules/lodash/debounce.js.map +1 -0
- package/dist/node_modules/lodash/eq.js +13 -0
- package/dist/node_modules/lodash/eq.js.map +1 -0
- package/dist/node_modules/lodash/every.js +20 -0
- package/dist/node_modules/lodash/every.js.map +1 -0
- package/dist/node_modules/lodash/find.js +12 -0
- package/dist/node_modules/lodash/find.js.map +1 -0
- package/dist/node_modules/lodash/findIndex.js +20 -0
- package/dist/node_modules/lodash/findIndex.js.map +1 -0
- package/dist/node_modules/lodash/flatMap.js +16 -0
- package/dist/node_modules/lodash/flatMap.js.map +1 -0
- package/dist/node_modules/lodash/get.js +16 -0
- package/dist/node_modules/lodash/get.js.map +1 -0
- package/dist/node_modules/lodash/hasIn.js +16 -0
- package/dist/node_modules/lodash/hasIn.js.map +1 -0
- package/dist/node_modules/lodash/identity.js +13 -0
- package/dist/node_modules/lodash/identity.js.map +1 -0
- package/dist/node_modules/lodash/isArguments.js +17 -0
- package/dist/node_modules/lodash/isArguments.js.map +1 -0
- package/dist/node_modules/lodash/isArray.js +10 -0
- package/dist/node_modules/lodash/isArray.js.map +1 -0
- package/dist/node_modules/lodash/isArrayLike.js +16 -0
- package/dist/node_modules/lodash/isArrayLike.js.map +1 -0
- package/dist/node_modules/lodash/isBoolean.js +16 -0
- package/dist/node_modules/lodash/isBoolean.js.map +1 -0
- package/dist/node_modules/lodash/isBuffer.js +13 -0
- package/dist/node_modules/lodash/isBuffer.js.map +1 -0
- package/dist/node_modules/lodash/isEqual.js +15 -0
- package/dist/node_modules/lodash/isEqual.js.map +1 -0
- package/dist/node_modules/lodash/isFunction.js +18 -0
- package/dist/node_modules/lodash/isFunction.js.map +1 -0
- package/dist/node_modules/lodash/isLength.js +14 -0
- package/dist/node_modules/lodash/isLength.js.map +1 -0
- package/dist/node_modules/lodash/isNaN.js +15 -0
- package/dist/node_modules/lodash/isNaN.js.map +1 -0
- package/dist/node_modules/lodash/isNil.js +13 -0
- package/dist/node_modules/lodash/isNil.js.map +1 -0
- package/dist/node_modules/lodash/isNumber.js +16 -0
- package/dist/node_modules/lodash/isNumber.js.map +1 -0
- package/dist/node_modules/lodash/isObject.js +14 -0
- package/dist/node_modules/lodash/isObject.js.map +1 -0
- package/dist/node_modules/lodash/isObjectLike.js +13 -0
- package/dist/node_modules/lodash/isObjectLike.js.map +1 -0
- package/dist/node_modules/lodash/isPlainObject.js +21 -0
- package/dist/node_modules/lodash/isPlainObject.js.map +1 -0
- package/dist/node_modules/lodash/isString.js +17 -0
- package/dist/node_modules/lodash/isString.js.map +1 -0
- package/dist/node_modules/lodash/isSymbol.js +16 -0
- package/dist/node_modules/lodash/isSymbol.js.map +1 -0
- package/dist/node_modules/lodash/isTypedArray.js +14 -0
- package/dist/node_modules/lodash/isTypedArray.js.map +1 -0
- package/dist/node_modules/lodash/keys.js +17 -0
- package/dist/node_modules/lodash/keys.js.map +1 -0
- package/dist/node_modules/lodash/last.js +14 -0
- package/dist/node_modules/lodash/last.js.map +1 -0
- package/dist/node_modules/lodash/map.js +18 -0
- package/dist/node_modules/lodash/map.js.map +1 -0
- package/dist/node_modules/lodash/mapValues.js +20 -0
- package/dist/node_modules/lodash/mapValues.js.map +1 -0
- package/dist/node_modules/lodash/max.js +17 -0
- package/dist/node_modules/lodash/max.js.map +1 -0
- package/dist/node_modules/lodash/maxBy.js +17 -0
- package/dist/node_modules/lodash/maxBy.js.map +1 -0
- package/dist/node_modules/lodash/memoize.js +22 -0
- package/dist/node_modules/lodash/memoize.js.map +1 -0
- package/dist/node_modules/lodash/min.js +17 -0
- package/dist/node_modules/lodash/min.js.map +1 -0
- package/dist/node_modules/lodash/minBy.js +17 -0
- package/dist/node_modules/lodash/minBy.js.map +1 -0
- package/dist/node_modules/lodash/noop.js +11 -0
- package/dist/node_modules/lodash/noop.js.map +1 -0
- package/dist/node_modules/lodash/now.js +14 -0
- package/dist/node_modules/lodash/now.js.map +1 -0
- package/dist/node_modules/lodash/property.js +18 -0
- package/dist/node_modules/lodash/property.js.map +1 -0
- package/dist/node_modules/lodash/range.js +11 -0
- package/dist/node_modules/lodash/range.js.map +1 -0
- package/dist/node_modules/lodash/some.js +20 -0
- package/dist/node_modules/lodash/some.js.map +1 -0
- package/dist/node_modules/lodash/sortBy.js +19 -0
- package/dist/node_modules/lodash/sortBy.js.map +1 -0
- package/dist/node_modules/lodash/stubArray.js +13 -0
- package/dist/node_modules/lodash/stubArray.js.map +1 -0
- package/dist/node_modules/lodash/stubFalse.js +13 -0
- package/dist/node_modules/lodash/stubFalse.js.map +1 -0
- package/dist/node_modules/lodash/throttle.js +22 -0
- package/dist/node_modules/lodash/throttle.js.map +1 -0
- package/dist/node_modules/lodash/toFinite.js +15 -0
- package/dist/node_modules/lodash/toFinite.js.map +1 -0
- package/dist/node_modules/lodash/toInteger.js +16 -0
- package/dist/node_modules/lodash/toInteger.js.map +1 -0
- package/dist/node_modules/lodash/toNumber.js +26 -0
- package/dist/node_modules/lodash/toNumber.js.map +1 -0
- package/dist/node_modules/lodash/toString.js +15 -0
- package/dist/node_modules/lodash/toString.js.map +1 -0
- package/dist/node_modules/lodash/uniqBy.js +16 -0
- package/dist/node_modules/lodash/uniqBy.js.map +1 -0
- package/dist/node_modules/lodash/upperFirst.js +11 -0
- package/dist/node_modules/lodash/upperFirst.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.js +109 -0
- package/dist/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/JSAnimation.js +132 -0
- package/dist/node_modules/motion-dom/dist/es/animation/JSAnimation.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/NativeAnimation.js +86 -0
- package/dist/node_modules/motion-dom/dist/es/animation/NativeAnimation.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.js +30 -0
- package/dist/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/animate/single-value.js +12 -0
- package/dist/node_modules/motion-dom/dist/es/animation/animate/single-value.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/drivers/frame.js +15 -0
- package/dist/node_modules/motion-dom/dist/es/animation/drivers/frame.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/generators/inertia.js +34 -0
- package/dist/node_modules/motion-dom/dist/es/animation/generators/inertia.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/generators/keyframes.js +24 -0
- package/dist/node_modules/motion-dom/dist/es/animation/generators/keyframes.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/generators/spring.js +168 -0
- package/dist/node_modules/motion-dom/dist/es/animation/generators/spring.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.js +11 -0
- package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.js +18 -0
- package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.js +8 -0
- package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.js +11 -0
- package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.js +47 -0
- package/dist/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.js +56 -0
- package/dist/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.js +28 -0
- package/dist/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.js +23 -0
- package/dist/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.js +63 -0
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.js +69 -0
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/get-final.js +10 -0
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/get-final.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.js +10 -0
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.js +14 -0
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.js +8 -0
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.js +8 -0
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.js +9 -0
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.js +20 -0
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.js +38 -0
- package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.js +6 -0
- package/dist/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.js +9 -0
- package/dist/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/utils/WithPromise.js +24 -0
- package/dist/node_modules/motion-dom/dist/es/animation/utils/WithPromise.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.js +9 -0
- package/dist/node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/utils/can-animate.js +20 -0
- package/dist/node_modules/motion-dom/dist/es/animation/utils/can-animate.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.js +27 -0
- package/dist/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/utils/default-transitions.js +29 -0
- package/dist/node_modules/motion-dom/dist/es/animation/utils/default-transitions.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.js +10 -0
- package/dist/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/utils/is-animatable.js +7 -0
- package/dist/node_modules/motion-dom/dist/es/animation/utils/is-animatable.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/utils/is-css-variable.js +9 -0
- package/dist/node_modules/motion-dom/dist/es/animation/utils/is-css-variable.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.js +21 -0
- package/dist/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.js +8 -0
- package/dist/node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.js +18 -0
- package/dist/node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/utils/resolve-transition.js +15 -0
- package/dist/node_modules/motion-dom/dist/es/animation/utils/resolve-transition.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.js +6 -0
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.js +13 -0
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/easing/supported.js +37 -0
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/easing/supported.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.js +27 -0
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.js +26 -0
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.js +11 -0
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.js +10 -0
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/is-browser-color.js +10 -0
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/is-browser-color.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/linear.js +10 -0
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/linear.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.js +19 -0
- package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/events/add-dom-event.js +8 -0
- package/dist/node_modules/motion-dom/dist/es/events/add-dom-event.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/frameloop/batcher.js +32 -0
- package/dist/node_modules/motion-dom/dist/es/frameloop/batcher.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/frameloop/frame.js +8 -0
- package/dist/node_modules/motion-dom/dist/es/frameloop/frame.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/frameloop/microtask.js +7 -0
- package/dist/node_modules/motion-dom/dist/es/frameloop/microtask.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/frameloop/order.js +15 -0
- package/dist/node_modules/motion-dom/dist/es/frameloop/order.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/frameloop/render-step.js +35 -0
- package/dist/node_modules/motion-dom/dist/es/frameloop/render-step.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/frameloop/sync-time.js +17 -0
- package/dist/node_modules/motion-dom/dist/es/frameloop/sync-time.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.js +12 -0
- package/dist/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.js +13 -0
- package/dist/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/gestures/hover.js +38 -0
- package/dist/node_modules/motion-dom/dist/es/gestures/hover.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/gestures/press/index.js +35 -0
- package/dist/node_modules/motion-dom/dist/es/gestures/press/index.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.js +23 -0
- package/dist/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.js +30 -0
- package/dist/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/gestures/press/utils/state.js +6 -0
- package/dist/node_modules/motion-dom/dist/es/gestures/press/utils/state.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.js +6 -0
- package/dist/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.js +6 -0
- package/dist/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/gestures/utils/setup.js +18 -0
- package/dist/node_modules/motion-dom/dist/es/gestures/utils/setup.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/projection/animation/mix-values.js +31 -0
- package/dist/node_modules/motion-dom/dist/es/projection/animation/mix-values.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/projection/geometry/conversion.js +41 -0
- package/dist/node_modules/motion-dom/dist/es/projection/geometry/conversion.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/projection/geometry/copy.js +14 -0
- package/dist/node_modules/motion-dom/dist/es/projection/geometry/copy.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.js +45 -0
- package/dist/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.js +32 -0
- package/dist/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.js +31 -0
- package/dist/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/projection/geometry/models.js +20 -0
- package/dist/node_modules/motion-dom/dist/es/projection/geometry/models.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/projection/geometry/utils.js +30 -0
- package/dist/node_modules/motion-dom/dist/es/projection/geometry/utils.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.js +15 -0
- package/dist/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.js +24 -0
- package/dist/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/projection/node/create-projection-node.js +590 -0
- package/dist/node_modules/motion-dom/dist/es/projection/node/create-projection-node.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/projection/node/state.js +9 -0
- package/dist/node_modules/motion-dom/dist/es/projection/node/state.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/projection/shared/stack.js +53 -0
- package/dist/node_modules/motion-dom/dist/es/projection/shared/stack.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.js +15 -0
- package/dist/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.js +15 -0
- package/dist/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/projection/styles/scale-correction.js +23 -0
- package/dist/node_modules/motion-dom/dist/es/projection/styles/scale-correction.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/projection/styles/transform.js +14 -0
- package/dist/node_modules/motion-dom/dist/es/projection/styles/transform.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.js +6 -0
- package/dist/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/projection/utils/each-axis.js +8 -0
- package/dist/node_modules/motion-dom/dist/es/projection/utils/each-axis.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/projection/utils/flat-tree.js +21 -0
- package/dist/node_modules/motion-dom/dist/es/projection/utils/flat-tree.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/projection/utils/has-transform.js +20 -0
- package/dist/node_modules/motion-dom/dist/es/projection/utils/has-transform.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/projection/utils/measure.js +14 -0
- package/dist/node_modules/motion-dom/dist/es/projection/utils/measure.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/render/Feature.js +11 -0
- package/dist/node_modules/motion-dom/dist/es/render/Feature.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/render/VisualElement.js +206 -0
- package/dist/node_modules/motion-dom/dist/es/render/VisualElement.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.js +30 -0
- package/dist/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/render/dom/is-css-var.js +6 -0
- package/dist/node_modules/motion-dom/dist/es/render/dom/is-css-var.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/render/dom/parse-transform.js +58 -0
- package/dist/node_modules/motion-dom/dist/es/render/dom/parse-transform.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/render/dom/style-set.js +9 -0
- package/dist/node_modules/motion-dom/dist/es/render/dom/style-set.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.js +8 -0
- package/dist/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.js +37 -0
- package/dist/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/render/html/utils/build-styles.js +30 -0
- package/dist/node_modules/motion-dom/dist/es/render/html/utils/build-styles.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/render/html/utils/build-transform.js +37 -0
- package/dist/node_modules/motion-dom/dist/es/render/html/utils/build-transform.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/render/html/utils/render.js +10 -0
- package/dist/node_modules/motion-dom/dist/es/render/html/utils/render.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.js +13 -0
- package/dist/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/render/store.js +6 -0
- package/dist/node_modules/motion-dom/dist/es/render/store.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.js +42 -0
- package/dist/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.js +24 -0
- package/dist/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.js +30 -0
- package/dist/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.js +6 -0
- package/dist/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/render/svg/utils/path.js +17 -0
- package/dist/node_modules/motion-dom/dist/es/render/svg/utils/path.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/render/svg/utils/render.js +12 -0
- package/dist/node_modules/motion-dom/dist/es/render/svg/utils/render.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.js +16 -0
- package/dist/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/render/utils/animation-state.js +137 -0
- package/dist/node_modules/motion-dom/dist/es/render/utils/animation-state.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/render/utils/get-variant-context.js +21 -0
- package/dist/node_modules/motion-dom/dist/es/render/utils/get-variant-context.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.js +8 -0
- package/dist/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.js +14 -0
- package/dist/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.js +10 -0
- package/dist/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.js +6 -0
- package/dist/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/render/utils/is-variant-label.js +8 -0
- package/dist/node_modules/motion-dom/dist/es/render/utils/is-variant-label.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/render/utils/keys-position.js +15 -0
- package/dist/node_modules/motion-dom/dist/es/render/utils/keys-position.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/render/utils/keys-transform.js +24 -0
- package/dist/node_modules/motion-dom/dist/es/render/utils/keys-transform.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/render/utils/motion-values.js +23 -0
- package/dist/node_modules/motion-dom/dist/es/render/utils/motion-values.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.js +13 -0
- package/dist/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.js +6 -0
- package/dist/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.js +10 -0
- package/dist/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/render/utils/resolve-variants.js +22 -0
- package/dist/node_modules/motion-dom/dist/es/render/utils/resolve-variants.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/render/utils/setters.js +22 -0
- package/dist/node_modules/motion-dom/dist/es/render/utils/setters.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/render/utils/shallow-compare.js +12 -0
- package/dist/node_modules/motion-dom/dist/es/render/utils/shallow-compare.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/render/utils/variant-props.js +14 -0
- package/dist/node_modules/motion-dom/dist/es/render/utils/variant-props.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/resize/handle-element.js +39 -0
- package/dist/node_modules/motion-dom/dist/es/resize/handle-element.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/resize/handle-window.js +24 -0
- package/dist/node_modules/motion-dom/dist/es/resize/handle-window.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/resize/index.js +10 -0
- package/dist/node_modules/motion-dom/dist/es/resize/index.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/stats/animation-count.js +10 -0
- package/dist/node_modules/motion-dom/dist/es/stats/animation-count.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/stats/buffer.js +9 -0
- package/dist/node_modules/motion-dom/dist/es/stats/buffer.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/utils/delay.js +14 -0
- package/dist/node_modules/motion-dom/dist/es/utils/delay.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/utils/interpolate.js +35 -0
- package/dist/node_modules/motion-dom/dist/es/utils/interpolate.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/utils/is-html-element.js +9 -0
- package/dist/node_modules/motion-dom/dist/es/utils/is-html-element.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/utils/is-svg-element.js +9 -0
- package/dist/node_modules/motion-dom/dist/es/utils/is-svg-element.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.js +9 -0
- package/dist/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/utils/mix/color.js +32 -0
- package/dist/node_modules/motion-dom/dist/es/utils/mix/color.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/utils/mix/complex.js +54 -0
- package/dist/node_modules/motion-dom/dist/es/utils/mix/complex.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/utils/mix/immediate.js +8 -0
- package/dist/node_modules/motion-dom/dist/es/utils/mix/immediate.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/utils/mix/index.js +10 -0
- package/dist/node_modules/motion-dom/dist/es/utils/mix/index.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/utils/mix/number.js +6 -0
- package/dist/node_modules/motion-dom/dist/es/utils/mix/number.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/utils/mix/visibility.js +9 -0
- package/dist/node_modules/motion-dom/dist/es/utils/mix/visibility.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/utils/resolve-elements.js +16 -0
- package/dist/node_modules/motion-dom/dist/es/utils/resolve-elements.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/utils/supports/flags.js +6 -0
- package/dist/node_modules/motion-dom/dist/es/utils/supports/flags.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/utils/supports/linear-easing.js +14 -0
- package/dist/node_modules/motion-dom/dist/es/utils/supports/linear-easing.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/utils/supports/memo.js +11 -0
- package/dist/node_modules/motion-dom/dist/es/utils/supports/memo.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.js +7 -0
- package/dist/node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/value/index.js +94 -0
- package/dist/node_modules/motion-dom/dist/es/value/index.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/auto.js +9 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/auto.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/color/hex.js +21 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/color/hex.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.js +23 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/color/hsla.js +14 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/color/hsla.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/color/index.js +17 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/color/index.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/color/rgba.js +17 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/color/rgba.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/color/utils.js +18 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/color/utils.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/complex/filter.js +28 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/complex/filter.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/complex/index.js +54 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/complex/index.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/complex/mask.js +16 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/complex/mask.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/dimensions.js +18 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/dimensions.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/int.js +10 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/int.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/maps/defaults.js +26 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/maps/defaults.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/maps/number.js +66 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/maps/number.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/maps/transform.js +33 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/maps/transform.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/numbers/index.js +17 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/numbers/index.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/numbers/units.js +14 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/numbers/units.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/test.js +6 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/test.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.js +14 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/utils/color-regex.js +6 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/utils/color-regex.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/utils/find.js +14 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/utils/find.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/utils/float-regex.js +6 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/utils/float-regex.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.js +6 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/utils/is-nullish.js +8 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/utils/is-nullish.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/utils/sanitize.js +6 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/utils/sanitize.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.js +6 -0
- package/dist/node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/value/utils/is-motion-value.js +6 -0
- package/dist/node_modules/motion-dom/dist/es/value/utils/is-motion-value.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.js +9 -0
- package/dist/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/value/will-change/add-will-change.js +15 -0
- package/dist/node_modules/motion-dom/dist/es/value/will-change/add-will-change.js.map +1 -0
- package/dist/node_modules/motion-dom/dist/es/value/will-change/is.js +9 -0
- package/dist/node_modules/motion-dom/dist/es/value/will-change/is.js.map +1 -0
- package/dist/node_modules/motion-utils/dist/es/array.js +12 -0
- package/dist/node_modules/motion-utils/dist/es/array.js.map +1 -0
- package/dist/node_modules/motion-utils/dist/es/clamp.js +6 -0
- package/dist/node_modules/motion-utils/dist/es/clamp.js.map +1 -0
- package/dist/node_modules/motion-utils/dist/es/easing/anticipate.js +7 -0
- package/dist/node_modules/motion-utils/dist/es/easing/anticipate.js.map +1 -0
- package/dist/node_modules/motion-utils/dist/es/easing/back.js +9 -0
- package/dist/node_modules/motion-utils/dist/es/easing/back.js.map +1 -0
- package/dist/node_modules/motion-utils/dist/es/easing/circ.js +8 -0
- package/dist/node_modules/motion-utils/dist/es/easing/circ.js.map +1 -0
- package/dist/node_modules/motion-utils/dist/es/easing/cubic-bezier.js +19 -0
- package/dist/node_modules/motion-utils/dist/es/easing/cubic-bezier.js.map +1 -0
- package/dist/node_modules/motion-utils/dist/es/easing/ease.js +7 -0
- package/dist/node_modules/motion-utils/dist/es/easing/ease.js.map +1 -0
- package/dist/node_modules/motion-utils/dist/es/easing/modifiers/mirror.js +6 -0
- package/dist/node_modules/motion-utils/dist/es/easing/modifiers/mirror.js.map +1 -0
- package/dist/node_modules/motion-utils/dist/es/easing/modifiers/reverse.js +6 -0
- package/dist/node_modules/motion-utils/dist/es/easing/modifiers/reverse.js.map +1 -0
- package/dist/node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.js +6 -0
- package/dist/node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.js.map +1 -0
- package/dist/node_modules/motion-utils/dist/es/easing/utils/is-easing-array.js +6 -0
- package/dist/node_modules/motion-utils/dist/es/easing/utils/is-easing-array.js.map +1 -0
- package/dist/node_modules/motion-utils/dist/es/easing/utils/map.js +33 -0
- package/dist/node_modules/motion-utils/dist/es/easing/utils/map.js.map +1 -0
- package/dist/node_modules/motion-utils/dist/es/errors.js +12 -0
- package/dist/node_modules/motion-utils/dist/es/errors.js.map +1 -0
- package/dist/node_modules/motion-utils/dist/es/format-error-message.js +8 -0
- package/dist/node_modules/motion-utils/dist/es/format-error-message.js.map +1 -0
- package/dist/node_modules/motion-utils/dist/es/global-config.js +6 -0
- package/dist/node_modules/motion-utils/dist/es/global-config.js.map +1 -0
- package/dist/node_modules/motion-utils/dist/es/is-numerical-string.js +6 -0
- package/dist/node_modules/motion-utils/dist/es/is-numerical-string.js.map +1 -0
- package/dist/node_modules/motion-utils/dist/es/is-object.js +8 -0
- package/dist/node_modules/motion-utils/dist/es/is-object.js.map +1 -0
- package/dist/node_modules/motion-utils/dist/es/is-zero-value-string.js +6 -0
- package/dist/node_modules/motion-utils/dist/es/is-zero-value-string.js.map +1 -0
- package/dist/node_modules/motion-utils/dist/es/memo.js +10 -0
- package/dist/node_modules/motion-utils/dist/es/memo.js.map +1 -0
- package/dist/node_modules/motion-utils/dist/es/noop.js +6 -0
- package/dist/node_modules/motion-utils/dist/es/noop.js.map +1 -0
- package/dist/node_modules/motion-utils/dist/es/pipe.js +6 -0
- package/dist/node_modules/motion-utils/dist/es/pipe.js.map +1 -0
- package/dist/node_modules/motion-utils/dist/es/progress.js +9 -0
- package/dist/node_modules/motion-utils/dist/es/progress.js.map +1 -0
- package/dist/node_modules/motion-utils/dist/es/subscription-manager.js +28 -0
- package/dist/node_modules/motion-utils/dist/es/subscription-manager.js.map +1 -0
- package/dist/node_modules/motion-utils/dist/es/time-conversion.js +6 -0
- package/dist/node_modules/motion-utils/dist/es/time-conversion.js.map +1 -0
- package/dist/node_modules/motion-utils/dist/es/velocity-per-second.js +8 -0
- package/dist/node_modules/motion-utils/dist/es/velocity-per-second.js.map +1 -0
- package/dist/node_modules/motion-utils/dist/es/warn-once.js +10 -0
- package/dist/node_modules/motion-utils/dist/es/warn-once.js.map +1 -0
- package/dist/node_modules/object-assign/index.js +41 -0
- package/dist/node_modules/object-assign/index.js.map +1 -0
- package/dist/node_modules/prop-types/checkPropTypes.js +46 -0
- package/dist/node_modules/prop-types/checkPropTypes.js.map +1 -0
- package/dist/node_modules/prop-types/factoryWithThrowingShims.js +49 -0
- package/dist/node_modules/prop-types/factoryWithThrowingShims.js.map +1 -0
- package/dist/node_modules/prop-types/factoryWithTypeCheckers.js +272 -0
- package/dist/node_modules/prop-types/factoryWithTypeCheckers.js.map +1 -0
- package/dist/node_modules/prop-types/index.js +16 -0
- package/dist/node_modules/prop-types/index.js.map +1 -0
- package/dist/node_modules/prop-types/lib/ReactPropTypesSecret.js +10 -0
- package/dist/node_modules/prop-types/lib/ReactPropTypesSecret.js.map +1 -0
- package/dist/node_modules/prop-types/lib/has.js +10 -0
- package/dist/node_modules/prop-types/lib/has.js.map +1 -0
- package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js +84 -0
- package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js.map +1 -0
- package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js +64 -0
- package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js.map +1 -0
- package/dist/node_modules/prop-types/node_modules/react-is/index.js +12 -0
- package/dist/node_modules/prop-types/node_modules/react-is/index.js.map +1 -0
- package/dist/node_modules/react-is/cjs/react-is.development.js +87 -0
- package/dist/node_modules/react-is/cjs/react-is.development.js.map +1 -0
- package/dist/node_modules/react-is/cjs/react-is.production.min.js +65 -0
- package/dist/node_modules/react-is/cjs/react-is.production.min.js.map +1 -0
- package/dist/node_modules/react-is/index.js +12 -0
- package/dist/node_modules/react-is/index.js.map +1 -0
- package/dist/node_modules/react-smooth/es6/Animate.js +374 -0
- package/dist/node_modules/react-smooth/es6/Animate.js.map +1 -0
- package/dist/node_modules/react-smooth/es6/AnimateManager.js +73 -0
- package/dist/node_modules/react-smooth/es6/AnimateManager.js.map +1 -0
- package/dist/node_modules/react-smooth/es6/configUpdate.js +173 -0
- package/dist/node_modules/react-smooth/es6/configUpdate.js.map +1 -0
- package/dist/node_modules/react-smooth/es6/easing.js +152 -0
- package/dist/node_modules/react-smooth/es6/easing.js.map +1 -0
- package/dist/node_modules/react-smooth/es6/index.js +9 -0
- package/dist/node_modules/react-smooth/es6/index.js.map +1 -0
- package/dist/node_modules/react-smooth/es6/setRafTimeout.js +14 -0
- package/dist/node_modules/react-smooth/es6/setRafTimeout.js.map +1 -0
- package/dist/node_modules/react-smooth/es6/util.js +92 -0
- package/dist/node_modules/react-smooth/es6/util.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/Area.js +435 -0
- package/dist/node_modules/recharts/es6/cartesian/Area.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/Bar.js +387 -0
- package/dist/node_modules/recharts/es6/cartesian/Bar.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/Brush.js +499 -0
- package/dist/node_modules/recharts/es6/cartesian/Brush.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/CartesianAxis.js +338 -0
- package/dist/node_modules/recharts/es6/cartesian/CartesianAxis.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/ErrorBar.js +243 -0
- package/dist/node_modules/recharts/es6/cartesian/ErrorBar.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/ReferenceArea.js +173 -0
- package/dist/node_modules/recharts/es6/cartesian/ReferenceArea.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/ReferenceDot.js +178 -0
- package/dist/node_modules/recharts/es6/cartesian/ReferenceDot.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/ReferenceLine.js +254 -0
- package/dist/node_modules/recharts/es6/cartesian/ReferenceLine.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/XAxis.js +144 -0
- package/dist/node_modules/recharts/es6/cartesian/XAxis.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/YAxis.js +143 -0
- package/dist/node_modules/recharts/es6/cartesian/YAxis.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/getEquidistantTicks.js +18 -0
- package/dist/node_modules/recharts/es6/cartesian/getEquidistantTicks.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/getTicks.js +121 -0
- package/dist/node_modules/recharts/es6/cartesian/getTicks.js.map +1 -0
- package/dist/node_modules/recharts/es6/chart/AccessibilityManager.js +101 -0
- package/dist/node_modules/recharts/es6/chart/AccessibilityManager.js.map +1 -0
- package/dist/node_modules/recharts/es6/chart/AreaChart.js +22 -0
- package/dist/node_modules/recharts/es6/chart/AreaChart.js.map +1 -0
- package/dist/node_modules/recharts/es6/chart/BarChart.js +24 -0
- package/dist/node_modules/recharts/es6/chart/BarChart.js.map +1 -0
- package/dist/node_modules/recharts/es6/chart/PieChart.js +34 -0
- package/dist/node_modules/recharts/es6/chart/PieChart.js.map +1 -0
- package/dist/node_modules/recharts/es6/chart/generateCategoricalChart.js +1245 -0
- package/dist/node_modules/recharts/es6/chart/generateCategoricalChart.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/Cell.js +9 -0
- package/dist/node_modules/recharts/es6/component/Cell.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/Cursor.js +93 -0
- package/dist/node_modules/recharts/es6/component/Cursor.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/DefaultLegendContent.js +237 -0
- package/dist/node_modules/recharts/es6/component/DefaultLegendContent.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/DefaultTooltipContent.js +171 -0
- package/dist/node_modules/recharts/es6/component/DefaultTooltipContent.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/Label.js +353 -0
- package/dist/node_modules/recharts/es6/component/Label.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/LabelList.js +166 -0
- package/dist/node_modules/recharts/es6/component/LabelList.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/Legend.js +234 -0
- package/dist/node_modules/recharts/es6/component/Legend.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/ResponsiveContainer.js +187 -0
- package/dist/node_modules/recharts/es6/component/ResponsiveContainer.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/Text.js +225 -0
- package/dist/node_modules/recharts/es6/component/Text.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/Tooltip.js +182 -0
- package/dist/node_modules/recharts/es6/component/Tooltip.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/TooltipBoundingBox.js +198 -0
- package/dist/node_modules/recharts/es6/component/TooltipBoundingBox.js.map +1 -0
- package/dist/node_modules/recharts/es6/container/Layer.js +40 -0
- package/dist/node_modules/recharts/es6/container/Layer.js.map +1 -0
- package/dist/node_modules/recharts/es6/container/Surface.js +60 -0
- package/dist/node_modules/recharts/es6/container/Surface.js.map +1 -0
- package/dist/node_modules/recharts/es6/context/chartLayoutContext.js +46 -0
- package/dist/node_modules/recharts/es6/context/chartLayoutContext.js.map +1 -0
- package/dist/node_modules/recharts/es6/polar/Pie.js +435 -0
- package/dist/node_modules/recharts/es6/polar/Pie.js.map +1 -0
- package/dist/node_modules/recharts/es6/polar/PolarAngleAxis.js +215 -0
- package/dist/node_modules/recharts/es6/polar/PolarAngleAxis.js.map +1 -0
- package/dist/node_modules/recharts/es6/polar/PolarRadiusAxis.js +268 -0
- package/dist/node_modules/recharts/es6/polar/PolarRadiusAxis.js.map +1 -0
- package/dist/node_modules/recharts/es6/shape/Cross.js +112 -0
- package/dist/node_modules/recharts/es6/shape/Cross.js.map +1 -0
- package/dist/node_modules/recharts/es6/shape/Curve.js +136 -0
- package/dist/node_modules/recharts/es6/shape/Curve.js.map +1 -0
- package/dist/node_modules/recharts/es6/shape/Dot.js +27 -0
- package/dist/node_modules/recharts/es6/shape/Dot.js.map +1 -0
- package/dist/node_modules/recharts/es6/shape/Polygon.js +112 -0
- package/dist/node_modules/recharts/es6/shape/Polygon.js.map +1 -0
- package/dist/node_modules/recharts/es6/shape/Rectangle.js +205 -0
- package/dist/node_modules/recharts/es6/shape/Rectangle.js.map +1 -0
- package/dist/node_modules/recharts/es6/shape/Sector.js +192 -0
- package/dist/node_modules/recharts/es6/shape/Sector.js.map +1 -0
- package/dist/node_modules/recharts/es6/shape/Symbols.js +143 -0
- package/dist/node_modules/recharts/es6/shape/Symbols.js.map +1 -0
- package/dist/node_modules/recharts/es6/shape/Trapezoid.js +175 -0
- package/dist/node_modules/recharts/es6/shape/Trapezoid.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/ActiveShapeUtils.js +181 -0
- package/dist/node_modules/recharts/es6/util/ActiveShapeUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/BarUtils.js +112 -0
- package/dist/node_modules/recharts/es6/util/BarUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/CartesianUtils.js +234 -0
- package/dist/node_modules/recharts/es6/util/CartesianUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/ChartUtils.js +554 -0
- package/dist/node_modules/recharts/es6/util/ChartUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/CssPrefixUtils.js +70 -0
- package/dist/node_modules/recharts/es6/util/CssPrefixUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/DOMUtils.js +108 -0
- package/dist/node_modules/recharts/es6/util/DOMUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/DataUtils.js +57 -0
- package/dist/node_modules/recharts/es6/util/DataUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/DetectReferenceElementsDomain.js +58 -0
- package/dist/node_modules/recharts/es6/util/DetectReferenceElementsDomain.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/Events.js +7 -0
- package/dist/node_modules/recharts/es6/util/Events.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/Global.js +21 -0
- package/dist/node_modules/recharts/es6/util/Global.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/IfOverflowMatches.js +9 -0
- package/dist/node_modules/recharts/es6/util/IfOverflowMatches.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/LogUtils.js +15 -0
- package/dist/node_modules/recharts/es6/util/LogUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/PolarUtils.js +198 -0
- package/dist/node_modules/recharts/es6/util/PolarUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/ReactUtils.js +137 -0
- package/dist/node_modules/recharts/es6/util/ReactUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/ReduceCSSCalc.js +181 -0
- package/dist/node_modules/recharts/es6/util/ReduceCSSCalc.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/ShallowEqual.js +10 -0
- package/dist/node_modules/recharts/es6/util/ShallowEqual.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/TickUtils.js +31 -0
- package/dist/node_modules/recharts/es6/util/TickUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/calculateViewBox.js +25 -0
- package/dist/node_modules/recharts/es6/util/calculateViewBox.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/cursor/getCursorPoints.js +23 -0
- package/dist/node_modules/recharts/es6/util/cursor/getCursorPoints.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/cursor/getCursorRectangle.js +16 -0
- package/dist/node_modules/recharts/es6/util/cursor/getCursorRectangle.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/cursor/getRadialCursorPoints.js +17 -0
- package/dist/node_modules/recharts/es6/util/cursor/getRadialCursorPoints.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/getEveryNthWithCondition.js +12 -0
- package/dist/node_modules/recharts/es6/util/getEveryNthWithCondition.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/getLegendProps.js +88 -0
- package/dist/node_modules/recharts/es6/util/getLegendProps.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/isDomainSpecifiedByUser.js +13 -0
- package/dist/node_modules/recharts/es6/util/isDomainSpecifiedByUser.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/payload/getUniqPayload.js +12 -0
- package/dist/node_modules/recharts/es6/util/payload/getUniqPayload.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/tooltip/translate.js +87 -0
- package/dist/node_modules/recharts/es6/util/tooltip/translate.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/types.js +43 -0
- package/dist/node_modules/recharts/es6/util/types.js.map +1 -0
- package/dist/node_modules/recharts-scale/es6/getNiceTickValues.js +132 -0
- package/dist/node_modules/recharts-scale/es6/getNiceTickValues.js.map +1 -0
- package/dist/node_modules/recharts-scale/es6/index.js +1 -0
- package/dist/node_modules/recharts-scale/es6/util/arithmetic.js +32 -0
- package/dist/node_modules/recharts-scale/es6/util/arithmetic.js.map +1 -0
- package/dist/node_modules/recharts-scale/es6/util/utils.js +79 -0
- package/dist/node_modules/recharts-scale/es6/util/utils.js.map +1 -0
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +1716 -0
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -0
- package/dist/node_modules/tiny-invariant/dist/esm/tiny-invariant.js +13 -0
- package/dist/node_modules/tiny-invariant/dist/esm/tiny-invariant.js.map +1 -0
- package/dist/node_modules/victory-vendor/es/d3-scale.js +53 -0
- package/dist/node_modules/victory-vendor/es/d3-scale.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnalyticsPage.js","names":[],"sources":["../../../src/brainyrich/pages/AnalyticsPage.tsx"],"sourcesContent":["import { useMemo, useState } from 'react';\nimport {\n Card,\n CardContent,\n CardHeader,\n CardTitle,\n CardDescription,\n Button,\n Badge,\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n Dialog,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n DialogTrigger,\n Input,\n Label,\n Textarea,\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from '@burdenoff/fe-libs/ui';\nimport {\n ArrowDownRight,\n ArrowUpRight,\n BarChart3,\n Minus,\n PieChart,\n Plus,\n Wallet,\n} from 'lucide-react';\nimport {\n useNetWorthSummary,\n useAllTransactions,\n useAccounts,\n useHoldings,\n useRecordTransaction,\n} from '../hooks/useBrainyRichApi';\nimport type { BraAssetClass, BraHolding, BraTransaction, BraTransactionType } from '../types/bra';\nimport {\n SectionShell,\n KpiGrid,\n AllocationBars,\n EmptyState,\n LoadingState,\n ErrorState,\n formatMoney,\n formatPct,\n formatDate,\n} from './_shared';\nimport type { AllocationDatum } from './_shared';\n\n// ---------------------------------------------------------------------------\n// Pure derivation helpers (every value traces back to backend rows — no mocks)\n// ---------------------------------------------------------------------------\n\nconst TITLE_CASE = (raw: string): string =>\n raw\n .toLowerCase()\n .split('_')\n .map((w) => (w ? w[0].toUpperCase() + w.slice(1) : w))\n .join(' ');\n\nconst INFLOW_TYPES: readonly BraTransactionType[] = ['DEPOSIT', 'DIVIDEND', 'INTEREST', 'SELL'];\nconst OUTFLOW_TYPES: readonly BraTransactionType[] = ['WITHDRAWAL', 'FEE', 'BUY'];\n\nconst flowDirection = (type: BraTransactionType): 'in' | 'out' | 'neutral' => {\n if (INFLOW_TYPES.includes(type)) return 'in';\n if (OUTFLOW_TYPES.includes(type)) return 'out';\n return 'neutral';\n};\n\ninterface MonthFlow {\n key: string;\n label: string;\n inflow: number;\n outflow: number;\n}\n\nconst monthKey = (iso: string): { key: string; label: string } | null => {\n const d = new Date(iso);\n if (Number.isNaN(d.getTime())) return null;\n const key = `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, '0')}`;\n const label = new Intl.DateTimeFormat('en-US', { month: 'short', year: 'numeric' }).format(d);\n return { key, label };\n};\n\nconst aggregateByMonth = (transactions: BraTransaction[]): MonthFlow[] => {\n const buckets = new Map<string, MonthFlow>();\n for (const tx of transactions) {\n const parsed = monthKey(tx.tradeDate);\n if (!parsed) continue;\n const dir = flowDirection(tx.type);\n if (dir === 'neutral') continue;\n const value = Math.abs(tx.amount);\n const existing = buckets.get(parsed.key) ?? {\n key: parsed.key,\n label: parsed.label,\n inflow: 0,\n outflow: 0,\n };\n if (dir === 'in') existing.inflow += value;\n else existing.outflow += value;\n buckets.set(parsed.key, existing);\n }\n return Array.from(buckets.values()).sort((a, b) => a.key.localeCompare(b.key));\n};\n\nconst aggregateByType = (\n transactions: BraTransaction[]\n): Array<{ type: BraTransactionType; total: number; dir: 'in' | 'out' | 'neutral' }> => {\n const buckets = new Map<BraTransactionType, number>();\n for (const tx of transactions) {\n buckets.set(tx.type, (buckets.get(tx.type) ?? 0) + Math.abs(tx.amount));\n }\n return Array.from(buckets.entries())\n .map(([type, total]) => ({ type, total, dir: flowDirection(type) }))\n .sort((a, b) => b.total - a.total);\n};\n\n// ---------------------------------------------------------------------------\n// Signed gain/loss cell — color is never the only signal (icon + sign + color)\n// ---------------------------------------------------------------------------\n\nfunction GainCell({ value, currency }: { value: number; currency: string }) {\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'\n : negative\n ? 'text-status-error-text'\n : 'text-text-secondary';\n const sign = positive ? '+' : negative ? '-' : '';\n return (\n <span className={`inline-flex items-center justify-end gap-1 font-medium ${tone}`}>\n <Icon className=\"size-3.5\" aria-hidden=\"true\" />\n {sign}\n {formatMoney(Math.abs(value), currency)}\n </span>\n );\n}\n\nconst emptyTransactionForm = {\n accountId: '',\n type: 'DEPOSIT' as BraTransactionType,\n amount: '',\n symbol: '',\n tradeDate: '',\n notes: '',\n};\n\nconst TRANSACTION_TYPES: readonly BraTransactionType[] = [\n 'DEPOSIT',\n 'WITHDRAWAL',\n 'DIVIDEND',\n 'INTEREST',\n 'FEE',\n 'BUY',\n 'SELL',\n 'TRANSFER',\n];\n\nexport function AnalyticsPage() {\n const summaryQuery = useNetWorthSummary();\n // Aggregate cash flow / net cash flow over the FULL transaction set (all pages),\n // not just a truncated first page, so totals and the KPI are accurate.\n const txQuery = useAllTransactions();\n const accountsQuery = useAccounts();\n\n const [selectedAccountId, setSelectedAccountId] = useState<string | undefined>(undefined);\n const accounts = accountsQuery.data;\n const effectiveAccountId = selectedAccountId ?? accounts[0]?.id;\n const holdingsQuery = useHoldings({ accountId: effectiveAccountId });\n\n // Record-transaction dialog (real create action → refreshes cashflow)\n const recordTx = useRecordTransaction();\n const [dialogOpen, setDialogOpen] = useState(false);\n const [form, setForm] = useState(emptyTransactionForm);\n\n const summary = summaryQuery.data;\n const currency = summary?.currency ?? 'USD';\n const transactions = txQuery.data;\n\n const assetAllocation = useMemo<AllocationDatum[]>(() => {\n if (!summary || summary.totalMarketValue <= 0) return [];\n return summary.byAssetClass\n .filter((row) => row.marketValue !== 0)\n .map((row) => ({\n label: TITLE_CASE(row.assetClass as BraAssetClass),\n value: (row.marketValue / summary.totalMarketValue) * 100,\n caption: formatMoney(row.marketValue, currency),\n tone: 'accent' as const,\n }))\n .sort((a, b) => b.value - a.value);\n }, [summary, currency]);\n\n const composition = useMemo<AllocationDatum[]>(() => {\n if (!summary) return [];\n const base = summary.totalMarketValue + summary.totalCash;\n if (base <= 0) return [];\n return [\n {\n label: 'Invested (Market Value)',\n value: (summary.totalMarketValue / base) * 100,\n caption: formatMoney(summary.totalMarketValue, currency),\n tone: 'default' as const,\n },\n {\n label: 'Cash',\n value: (summary.totalCash / base) * 100,\n caption: formatMoney(summary.totalCash, currency),\n tone: 'warning' as const,\n },\n ];\n }, [summary, currency]);\n\n const monthFlows = useMemo(() => aggregateByMonth(transactions), [transactions]);\n const typeFlows = useMemo(() => aggregateByType(transactions), [transactions]);\n const flowTotals = useMemo(() => {\n let inflow = 0;\n let outflow = 0;\n for (const m of monthFlows) {\n inflow += m.inflow;\n outflow += m.outflow;\n }\n return { inflow, outflow, net: inflow - outflow };\n }, [monthFlows]);\n const maxFlow = useMemo(\n () => Math.max(1, ...monthFlows.map((m) => Math.max(m.inflow, m.outflow))),\n [monthFlows]\n );\n\n const holdings = holdingsQuery.data;\n const performance = useMemo(() => {\n const rows = holdings\n .map((h: BraHolding) => ({ holding: h, unrealized: h.marketValue - h.costBasis }))\n .sort((a, b) => b.unrealized - a.unrealized);\n const totalUnrealized = rows.reduce((s, r) => s + r.unrealized, 0);\n const totalCost = holdings.reduce((s, h) => s + h.costBasis, 0);\n return { rows, totalUnrealized, totalCost };\n }, [holdings]);\n\n // --- Top-level loading / error gates (summary drives KPIs + allocation) ---\n if (summaryQuery.isLoading) {\n return (\n <SectionShell\n title=\"Wealth Analytics\"\n description=\"Allocation, cash flow, and holdings performance derived from your real accounts.\"\n >\n <LoadingState rows={5} />\n </SectionShell>\n );\n }\n\n if (summaryQuery.isError || !summary) {\n return (\n <SectionShell\n title=\"Wealth Analytics\"\n description=\"Allocation, cash flow, and holdings performance derived from your real accounts.\"\n >\n <ErrorState\n title=\"Could not load analytics\"\n description=\"We couldn't reach the wealth service. Please retry.\"\n onRetry={() => summaryQuery.refetch()}\n />\n </SectionShell>\n );\n }\n\n const amountNum = Number(form.amount);\n const canSubmit =\n Boolean(form.accountId) &&\n Boolean(form.tradeDate) &&\n form.amount.trim() !== '' &&\n Number.isFinite(amountNum) &&\n amountNum > 0 &&\n !recordTx.isPending;\n\n const submitTransaction = () => {\n if (!canSubmit) return;\n recordTx.mutate(\n {\n accountId: form.accountId,\n type: form.type,\n amount: amountNum,\n symbol: form.symbol.trim() ? form.symbol.trim() : undefined,\n tradeDate: new Date(form.tradeDate).toISOString(),\n notes: form.notes.trim() ? form.notes.trim() : undefined,\n },\n {\n onSuccess: () => {\n setDialogOpen(false);\n setForm(emptyTransactionForm);\n },\n }\n );\n };\n\n const recordAction = (\n <Dialog\n open={dialogOpen}\n onOpenChange={(next) => {\n setDialogOpen(next);\n if (!next) setForm(emptyTransactionForm);\n }}\n >\n <DialogTrigger asChild>\n <Button size=\"sm\">\n <Plus className=\"mr-1 size-4\" aria-hidden=\"true\" />\n Record Transaction\n </Button>\n </DialogTrigger>\n <DialogContent>\n <DialogHeader>\n <DialogTitle>Record Transaction</DialogTitle>\n <DialogDescription>\n Log a real cash flow or trade. It updates your cash-flow analytics immediately.\n </DialogDescription>\n </DialogHeader>\n {accounts.length === 0 ? (\n <EmptyState\n icon={<Wallet className=\"size-6\" aria-hidden=\"true\" />}\n title=\"Create an account first\"\n description=\"You need at least one account before you can record a transaction. Open the Accounts page to add one, then come back here.\"\n />\n ) : (\n <div className=\"space-y-4\">\n <div className=\"space-y-1.5\">\n <Label htmlFor=\"tx-account\">Account</Label>\n <Select\n value={form.accountId}\n onValueChange={(v) => setForm((f) => ({ ...f, accountId: v }))}\n >\n <SelectTrigger id=\"tx-account\">\n <SelectValue placeholder=\"Select an account\" />\n </SelectTrigger>\n <SelectContent>\n {accounts.map((a) => (\n <SelectItem key={a.id} value={a.id}>\n {a.name}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"grid grid-cols-2 gap-4\">\n <div className=\"space-y-1.5\">\n <Label htmlFor=\"tx-type\">Type</Label>\n <Select\n value={form.type}\n onValueChange={(v) => setForm((f) => ({ ...f, type: v as BraTransactionType }))}\n >\n <SelectTrigger id=\"tx-type\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {TRANSACTION_TYPES.map((t) => (\n <SelectItem key={t} value={t}>\n {TITLE_CASE(t)}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"space-y-1.5\">\n <Label htmlFor=\"tx-amount\">Amount ({currency})</Label>\n <Input\n id=\"tx-amount\"\n type=\"number\"\n min=\"0\"\n step=\"0.01\"\n inputMode=\"decimal\"\n placeholder=\"0.00\"\n value={form.amount}\n onChange={(e) => setForm((f) => ({ ...f, amount: e.target.value }))}\n />\n </div>\n </div>\n <div className=\"grid grid-cols-2 gap-4\">\n <div className=\"space-y-1.5\">\n <Label htmlFor=\"tx-date\">Trade date</Label>\n <Input\n id=\"tx-date\"\n type=\"date\"\n value={form.tradeDate}\n onChange={(e) => setForm((f) => ({ ...f, tradeDate: e.target.value }))}\n />\n </div>\n <div className=\"space-y-1.5\">\n <Label htmlFor=\"tx-symbol\">Symbol (optional)</Label>\n <Input\n id=\"tx-symbol\"\n placeholder=\"e.g. AAPL\"\n value={form.symbol}\n onChange={(e) => setForm((f) => ({ ...f, symbol: e.target.value }))}\n />\n </div>\n </div>\n <div className=\"space-y-1.5\">\n <Label htmlFor=\"tx-notes\">Notes (optional)</Label>\n <Textarea\n id=\"tx-notes\"\n rows={2}\n placeholder=\"Context for this transaction\"\n value={form.notes}\n onChange={(e) => setForm((f) => ({ ...f, notes: e.target.value }))}\n />\n </div>\n {recordTx.isError ? (\n <p className=\"text-sm text-status-error-text\">\n {recordTx.error instanceof Error\n ? recordTx.error.message\n : 'Could not record transaction.'}\n </p>\n ) : null}\n </div>\n )}\n <DialogFooter>\n <Button variant=\"outline\" onClick={() => setDialogOpen(false)}>\n {accounts.length === 0 ? 'Close' : 'Cancel'}\n </Button>\n {accounts.length > 0 ? (\n <Button onClick={submitTransaction} disabled={!canSubmit}>\n {recordTx.isPending ? 'Recording…' : 'Record'}\n </Button>\n ) : null}\n </DialogFooter>\n </DialogContent>\n </Dialog>\n );\n\n return (\n <SectionShell\n title=\"Wealth Analytics\"\n description=\"Allocation, cash flow, and holdings performance derived from your real accounts.\"\n badges={[`${summary.accountCount} accounts`]}\n actions={recordAction}\n >\n <KpiGrid\n items={[\n { label: 'Net Worth', value: formatMoney(summary.totalNetWorth, currency) },\n { label: 'Invested Value', value: formatMoney(summary.totalMarketValue, currency) },\n { label: 'Cash', value: formatMoney(summary.totalCash, currency) },\n {\n label: 'Net Cash Flow',\n value: formatMoney(flowTotals.net, currency),\n deltaTone:\n flowTotals.net > 0 ? 'positive' : flowTotals.net < 0 ? 'negative' : 'neutral',\n trend:\n transactions.length > 0\n ? `${formatMoney(flowTotals.inflow, currency)} in · ${formatMoney(flowTotals.outflow, currency)} out`\n : 'No transactions yet',\n },\n ]}\n />\n\n <Tabs defaultValue=\"allocation\" className=\"space-y-4\">\n <TabsList className=\"grid w-full grid-cols-3\">\n <TabsTrigger value=\"allocation\">Allocation</TabsTrigger>\n <TabsTrigger value=\"cashflow\">Cash Flow</TabsTrigger>\n <TabsTrigger value=\"performance\">Performance</TabsTrigger>\n </TabsList>\n\n {/* ---------------------------------------------------------------- */}\n {/* Allocation */}\n {/* ---------------------------------------------------------------- */}\n <TabsContent value=\"allocation\" className=\"space-y-4\">\n <Card>\n <CardHeader>\n <CardTitle className=\"flex items-center gap-2\">\n <PieChart className=\"size-5\" aria-hidden=\"true\" />\n Asset Allocation\n </CardTitle>\n <CardDescription>\n Share of invested value by asset class, from your holdings.\n </CardDescription>\n </CardHeader>\n <CardContent>\n {assetAllocation.length === 0 ? (\n <EmptyState\n icon={<PieChart className=\"size-6\" aria-hidden=\"true\" />}\n title=\"No invested holdings yet\"\n description=\"Add holdings to your accounts to see an asset-class breakdown here.\"\n />\n ) : (\n <div className=\"space-y-4\">\n <AllocationBars data={assetAllocation} />\n <Table>\n <TableHeader>\n <TableRow>\n <TableHead>Asset class</TableHead>\n <TableHead className=\"text-right\">Market value</TableHead>\n <TableHead className=\"text-right\">Weight</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n {assetAllocation.map((row) => (\n <TableRow key={row.label}>\n <TableCell className=\"font-medium text-text-primary\">\n {row.label}\n </TableCell>\n <TableCell className=\"text-right\">{row.caption}</TableCell>\n <TableCell className=\"text-right text-text-secondary\">\n {formatPct(row.value)}\n </TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </div>\n )}\n </CardContent>\n </Card>\n\n <Card>\n <CardHeader>\n <CardTitle className=\"flex items-center gap-2\">\n <Wallet className=\"size-5\" aria-hidden=\"true\" />\n Net Worth Composition\n </CardTitle>\n <CardDescription>Invested value versus liquid cash.</CardDescription>\n </CardHeader>\n <CardContent>\n {composition.length === 0 ? (\n <EmptyState\n icon={<Wallet className=\"size-6\" aria-hidden=\"true\" />}\n title=\"No balances yet\"\n description=\"Add accounts with balances or holdings to see your composition.\"\n />\n ) : (\n <AllocationBars data={composition} />\n )}\n </CardContent>\n </Card>\n </TabsContent>\n\n {/* ---------------------------------------------------------------- */}\n {/* Cash flow */}\n {/* ---------------------------------------------------------------- */}\n <TabsContent value=\"cashflow\" className=\"space-y-4\">\n <Card>\n <CardHeader>\n <CardTitle className=\"flex items-center gap-2\">\n <BarChart3 className=\"size-5\" aria-hidden=\"true\" />\n Inflows vs Outflows\n </CardTitle>\n <CardDescription>\n Monthly cash flow aggregated from your recorded transactions.\n {transactions.length > 0 ? (\n <span className=\"mt-0.5 block text-xs text-text-secondary\">\n Based on {transactions.length.toLocaleString()}{' '}\n {transactions.length === 1 ? 'transaction' : 'transactions'}.\n </span>\n ) : null}\n </CardDescription>\n </CardHeader>\n <CardContent>\n {txQuery.isLoading ? (\n <LoadingState rows={4} />\n ) : txQuery.isError ? (\n <ErrorState onRetry={() => txQuery.refetch()} />\n ) : monthFlows.length === 0 ? (\n <EmptyState\n icon={<BarChart3 className=\"size-6\" aria-hidden=\"true\" />}\n title=\"No cash flow to analyze yet\"\n description=\"Record deposits, withdrawals, or trades to build a cash-flow history.\"\n action={\n <Button size=\"sm\" onClick={() => setDialogOpen(true)}>\n <Plus className=\"mr-1 size-4\" aria-hidden=\"true\" />\n Record Transaction\n </Button>\n }\n />\n ) : (\n <div className=\"space-y-4\">\n {monthFlows.map((m) => (\n <div key={m.key} className=\"space-y-1.5\">\n <div className=\"flex items-center justify-between text-xs\">\n <span className=\"font-medium text-text-primary\">{m.label}</span>\n <span className=\"flex gap-3\">\n <span className=\"text-status-success-text\">\n <ArrowUpRight className=\"mr-0.5 inline size-3\" aria-hidden=\"true\" />\n {formatMoney(m.inflow, currency)}\n </span>\n <span className=\"text-status-error-text\">\n <ArrowDownRight className=\"mr-0.5 inline size-3\" aria-hidden=\"true\" />\n {formatMoney(m.outflow, currency)}\n </span>\n </span>\n </div>\n <div\n className=\"h-2 w-full overflow-hidden rounded-full bg-bg-sunken\"\n role=\"progressbar\"\n aria-label={`${m.label} inflow`}\n aria-valuenow={Math.round((m.inflow / maxFlow) * 100)}\n aria-valuemin={0}\n aria-valuemax={100}\n >\n <div\n className=\"h-full rounded-full bg-status-success-bg motion-safe:transition-[width] motion-safe:duration-200\"\n style={{ width: `${(m.inflow / maxFlow) * 100}%` }}\n />\n </div>\n <div\n className=\"h-2 w-full overflow-hidden rounded-full bg-bg-sunken\"\n role=\"progressbar\"\n aria-label={`${m.label} outflow`}\n aria-valuenow={Math.round((m.outflow / maxFlow) * 100)}\n aria-valuemin={0}\n aria-valuemax={100}\n >\n <div\n className=\"h-full rounded-full bg-status-error-bg motion-safe:transition-[width] motion-safe:duration-200\"\n style={{ width: `${(m.outflow / maxFlow) * 100}%` }}\n />\n </div>\n </div>\n ))}\n <div className=\"flex flex-wrap gap-4 pt-1 text-xs text-text-secondary\">\n <span className=\"inline-flex items-center gap-1.5\">\n <span className=\"inline-block size-2.5 rounded-full bg-status-success-bg\" />\n Inflow\n </span>\n <span className=\"inline-flex items-center gap-1.5\">\n <span className=\"inline-block size-2.5 rounded-full bg-status-error-bg\" />\n Outflow\n </span>\n </div>\n </div>\n )}\n </CardContent>\n </Card>\n\n {typeFlows.length > 0 ? (\n <Card>\n <CardHeader>\n <CardTitle>By Transaction Type</CardTitle>\n <CardDescription>Total value moved per transaction type.</CardDescription>\n </CardHeader>\n <CardContent>\n <Table>\n <TableHeader>\n <TableRow>\n <TableHead>Type</TableHead>\n <TableHead>Direction</TableHead>\n <TableHead className=\"text-right\">Total</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n {typeFlows.map((row) => (\n <TableRow key={row.type}>\n <TableCell className=\"font-medium text-text-primary\">\n {TITLE_CASE(row.type)}\n </TableCell>\n <TableCell>\n <Badge\n variant={\n row.dir === 'in'\n ? 'default'\n : row.dir === 'out'\n ? 'destructive'\n : 'secondary'\n }\n >\n {row.dir === 'in'\n ? 'Inflow'\n : row.dir === 'out'\n ? 'Outflow'\n : 'Neutral'}\n </Badge>\n </TableCell>\n <TableCell className=\"text-right font-medium\">\n {formatMoney(row.total, currency)}\n </TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </CardContent>\n </Card>\n ) : null}\n </TabsContent>\n\n {/* ---------------------------------------------------------------- */}\n {/* Performance */}\n {/* ---------------------------------------------------------------- */}\n <TabsContent value=\"performance\" className=\"space-y-4\">\n <Card>\n <CardHeader className=\"flex flex-col gap-3 md:flex-row md:items-start md:justify-between\">\n <div>\n <CardTitle>Holdings Performance</CardTitle>\n <CardDescription>\n Unrealized gain or loss — market value versus cost basis.\n </CardDescription>\n </div>\n {accounts.length > 0 ? (\n <div className=\"w-full md:w-56\">\n <Label htmlFor=\"perf-account\" className=\"sr-only\">\n Account\n </Label>\n <Select\n value={effectiveAccountId ?? ''}\n onValueChange={(v) => setSelectedAccountId(v)}\n >\n <SelectTrigger id=\"perf-account\">\n <SelectValue placeholder=\"Select account\" />\n </SelectTrigger>\n <SelectContent>\n {accounts.map((a) => (\n <SelectItem key={a.id} value={a.id}>\n {a.name}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n ) : null}\n </CardHeader>\n <CardContent>\n {accountsQuery.isLoading ? (\n <LoadingState rows={3} />\n ) : accounts.length === 0 ? (\n <EmptyState\n icon={<Wallet className=\"size-6\" aria-hidden=\"true\" />}\n title=\"No accounts yet\"\n description=\"Create an account and add holdings to analyze performance.\"\n />\n ) : holdingsQuery.isLoading ? (\n <LoadingState rows={3} />\n ) : holdingsQuery.isError ? (\n <ErrorState onRetry={() => holdingsQuery.refetch()} />\n ) : performance.rows.length === 0 ? (\n <EmptyState\n icon={<BarChart3 className=\"size-6\" aria-hidden=\"true\" />}\n title=\"No holdings in this account\"\n description=\"Add holdings to this account to see unrealized gains and losses.\"\n />\n ) : (\n <div className=\"space-y-4\">\n <div className=\"grid gap-4 sm:grid-cols-3\">\n <div className=\"rounded-lg border border-border-subtle bg-bg-surface p-4\">\n <p className=\"text-xs text-text-secondary\">Total unrealized</p>\n <p className=\"mt-1 text-xl font-semibold\">\n <GainCell value={performance.totalUnrealized} currency={currency} />\n </p>\n </div>\n <div className=\"rounded-lg border border-border-subtle bg-bg-surface p-4\">\n <p className=\"text-xs text-text-secondary\">Cost basis</p>\n <p className=\"mt-1 text-xl font-semibold text-text-primary\">\n {formatMoney(performance.totalCost, currency)}\n </p>\n </div>\n <div className=\"rounded-lg border border-border-subtle bg-bg-surface p-4\">\n <p className=\"text-xs text-text-secondary\">Return on cost</p>\n <p className=\"mt-1 text-xl font-semibold text-text-primary\">\n {formatPct(\n performance.totalCost > 0\n ? (performance.totalUnrealized / performance.totalCost) * 100\n : null\n )}\n </p>\n </div>\n </div>\n <Table>\n <TableHeader>\n <TableRow>\n <TableHead>Holding</TableHead>\n <TableHead className=\"text-right\">Market value</TableHead>\n <TableHead className=\"text-right\">Cost basis</TableHead>\n <TableHead className=\"text-right\">Unrealized</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n {performance.rows.map(({ holding, unrealized }) => (\n <TableRow key={holding.id}>\n <TableCell>\n <div className=\"font-medium text-text-primary\">{holding.symbol}</div>\n <div className=\"text-xs text-text-secondary\">\n {holding.name ?? TITLE_CASE(holding.assetClass)} · as of{' '}\n {formatDate(holding.asOf)}\n </div>\n </TableCell>\n <TableCell className=\"text-right\">\n {formatMoney(holding.marketValue, holding.currency)}\n </TableCell>\n <TableCell className=\"text-right text-text-secondary\">\n {formatMoney(holding.costBasis, holding.currency)}\n </TableCell>\n <TableCell className=\"text-right\">\n <GainCell value={unrealized} currency={holding.currency} />\n </TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </div>\n )}\n </CardContent>\n </Card>\n </TabsContent>\n </Tabs>\n </SectionShell>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AnalyticsPage.js","names":[],"sources":["../../../src/brainyrich/pages/AnalyticsPage.tsx"],"sourcesContent":["import { useMemo, useState } from 'react';\nimport {\n Card,\n CardContent,\n CardHeader,\n CardTitle,\n CardDescription,\n Button,\n Badge,\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n Dialog,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n DialogTrigger,\n Input,\n Label,\n Textarea,\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from '@burdenoff/fe-libs/ui';\nimport {\n ArrowDownRight,\n ArrowUpRight,\n BarChart3,\n Coins,\n Minus,\n PieChart,\n Plus,\n TrendingDown,\n TrendingUp,\n Wallet,\n} from 'lucide-react';\nimport {\n useNetWorthSummary,\n useAllTransactions,\n useAccounts,\n useHoldings,\n useRecordTransaction,\n} from '../hooks/useBrainyRichApi';\nimport type { BraAssetClass, BraHolding, BraTransaction, BraTransactionType } from '../types/bra';\nimport {\n DonutChart,\n TrendBars,\n StatTile,\n GlassCard,\n FadeIn,\n ProgressRing,\n type DonutDatum,\n type VizTone,\n} from '../components';\nimport {\n SectionShell,\n EmptyState,\n LoadingState,\n ErrorState,\n formatMoney,\n formatCompact,\n formatPct,\n formatDate,\n} from './_shared';\nimport type { AllocationDatum } from './_shared';\n\n// Map each asset class to a distinct semantic tone (color never the only signal —\n// the donut also carries a labelled legend and a full data table beneath it).\nconst ASSET_TONE: Record<BraAssetClass, VizTone> = {\n EQUITY: 'brand',\n FIXED_INCOME: 'blue',\n CASH: 'teal',\n REAL_ESTATE: 'purple',\n COMMODITY: 'warning',\n CRYPTO: 'indigo',\n ALTERNATIVE: 'info',\n};\n\n// ---------------------------------------------------------------------------\n// Pure derivation helpers (every value traces back to backend rows — no mocks)\n// ---------------------------------------------------------------------------\n\nconst TITLE_CASE = (raw: string): string =>\n raw\n .toLowerCase()\n .split('_')\n .map((w) => (w ? w[0].toUpperCase() + w.slice(1) : w))\n .join(' ');\n\nconst INFLOW_TYPES: readonly BraTransactionType[] = ['DEPOSIT', 'DIVIDEND', 'INTEREST', 'SELL'];\nconst OUTFLOW_TYPES: readonly BraTransactionType[] = ['WITHDRAWAL', 'FEE', 'BUY'];\n\nconst flowDirection = (type: BraTransactionType): 'in' | 'out' | 'neutral' => {\n if (INFLOW_TYPES.includes(type)) return 'in';\n if (OUTFLOW_TYPES.includes(type)) return 'out';\n return 'neutral';\n};\n\ninterface MonthFlow {\n key: string;\n label: string;\n inflow: number;\n outflow: number;\n}\n\nconst monthKey = (iso: string): { key: string; label: string } | null => {\n const d = new Date(iso);\n if (Number.isNaN(d.getTime())) return null;\n const key = `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, '0')}`;\n const label = new Intl.DateTimeFormat('en-US', { month: 'short', year: 'numeric' }).format(d);\n return { key, label };\n};\n\nconst aggregateByMonth = (transactions: BraTransaction[]): MonthFlow[] => {\n const buckets = new Map<string, MonthFlow>();\n for (const tx of transactions) {\n const parsed = monthKey(tx.tradeDate);\n if (!parsed) continue;\n const dir = flowDirection(tx.type);\n if (dir === 'neutral') continue;\n const value = Math.abs(tx.amount);\n const existing = buckets.get(parsed.key) ?? {\n key: parsed.key,\n label: parsed.label,\n inflow: 0,\n outflow: 0,\n };\n if (dir === 'in') existing.inflow += value;\n else existing.outflow += value;\n buckets.set(parsed.key, existing);\n }\n return Array.from(buckets.values()).sort((a, b) => a.key.localeCompare(b.key));\n};\n\nconst aggregateByType = (\n transactions: BraTransaction[]\n): Array<{ type: BraTransactionType; total: number; dir: 'in' | 'out' | 'neutral' }> => {\n const buckets = new Map<BraTransactionType, number>();\n for (const tx of transactions) {\n buckets.set(tx.type, (buckets.get(tx.type) ?? 0) + Math.abs(tx.amount));\n }\n return Array.from(buckets.entries())\n .map(([type, total]) => ({ type, total, dir: flowDirection(type) }))\n .sort((a, b) => b.total - a.total);\n};\n\n// ---------------------------------------------------------------------------\n// Signed gain/loss cell — color is never the only signal (icon + sign + color)\n// ---------------------------------------------------------------------------\n\nfunction GainCell({\n value,\n currency,\n pct,\n}: {\n value: number;\n currency: string;\n pct?: number | null;\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'\n : negative\n ? 'text-status-error-text'\n : 'text-text-secondary';\n const sign = positive ? '+' : negative ? '-' : '';\n const showPct = pct !== undefined && pct !== null && Number.isFinite(pct);\n return (\n <span\n className={`inline-flex items-center justify-end gap-1 font-medium tabular-nums ${tone}`}\n >\n <Icon className=\"size-3.5 shrink-0\" aria-hidden=\"true\" />\n {sign}\n {formatMoney(Math.abs(value), currency)}\n {showPct ? (\n <span className=\"text-xs opacity-80\">\n ({pct > 0 ? '+' : ''}\n {pct.toFixed(1)}%)\n </span>\n ) : null}\n </span>\n );\n}\n\nconst emptyTransactionForm = {\n accountId: '',\n type: 'DEPOSIT' as BraTransactionType,\n amount: '',\n symbol: '',\n tradeDate: '',\n notes: '',\n};\n\nconst TRANSACTION_TYPES: readonly BraTransactionType[] = [\n 'DEPOSIT',\n 'WITHDRAWAL',\n 'DIVIDEND',\n 'INTEREST',\n 'FEE',\n 'BUY',\n 'SELL',\n 'TRANSFER',\n];\n\nexport function AnalyticsPage() {\n const summaryQuery = useNetWorthSummary();\n // Aggregate cash flow / net cash flow over the FULL transaction set (all pages),\n // not just a truncated first page, so totals and the KPI are accurate.\n const txQuery = useAllTransactions();\n const accountsQuery = useAccounts();\n\n const [selectedAccountId, setSelectedAccountId] = useState<string | undefined>(undefined);\n const accounts = accountsQuery.data;\n const effectiveAccountId = selectedAccountId ?? accounts[0]?.id;\n const holdingsQuery = useHoldings({ accountId: effectiveAccountId });\n\n // Record-transaction dialog (real create action → refreshes cashflow)\n const recordTx = useRecordTransaction();\n const [dialogOpen, setDialogOpen] = useState(false);\n const [form, setForm] = useState(emptyTransactionForm);\n\n const summary = summaryQuery.data;\n const currency = summary?.currency ?? 'USD';\n const transactions = txQuery.data;\n\n const assetAllocation = useMemo<AllocationDatum[]>(() => {\n if (!summary || summary.totalMarketValue <= 0) return [];\n return summary.byAssetClass\n .filter((row) => row.marketValue !== 0)\n .map((row) => ({\n label: TITLE_CASE(row.assetClass as BraAssetClass),\n value: (row.marketValue / summary.totalMarketValue) * 100,\n caption: formatMoney(row.marketValue, currency),\n tone: 'accent' as const,\n }))\n .sort((a, b) => b.value - a.value);\n }, [summary, currency]);\n\n // Donut slices keyed on absolute market value (legend/tooltip show currency).\n const donutAllocation = useMemo<DonutDatum[]>(() => {\n if (!summary || summary.totalMarketValue <= 0) return [];\n return summary.byAssetClass\n .filter((row) => row.marketValue > 0)\n .map((row) => ({\n label: TITLE_CASE(row.assetClass as BraAssetClass),\n value: row.marketValue,\n tone: ASSET_TONE[row.assetClass as BraAssetClass],\n }))\n .sort((a, b) => b.value - a.value);\n }, [summary]);\n\n const composition = useMemo<DonutDatum[]>(() => {\n if (!summary) return [];\n const base = summary.totalMarketValue + summary.totalCash;\n if (base <= 0) return [];\n return [\n { label: 'Invested', value: summary.totalMarketValue, tone: 'brand' as const },\n { label: 'Cash', value: summary.totalCash, tone: 'teal' as const },\n ].filter((d) => d.value > 0);\n }, [summary]);\n\n const investedPct = useMemo(() => {\n if (!summary) return 0;\n const base = summary.totalMarketValue + summary.totalCash;\n return base > 0 ? (summary.totalMarketValue / base) * 100 : 0;\n }, [summary]);\n\n const monthFlows = useMemo(() => aggregateByMonth(transactions), [transactions]);\n const typeFlows = useMemo(() => aggregateByType(transactions), [transactions]);\n const flowTotals = useMemo(() => {\n let inflow = 0;\n let outflow = 0;\n for (const m of monthFlows) {\n inflow += m.inflow;\n outflow += m.outflow;\n }\n return { inflow, outflow, net: inflow - outflow };\n }, [monthFlows]);\n // Real per-month net series (inflow − outflow) — decorative spark on the KPI.\n const netFlowSeries = useMemo(\n () => monthFlows.map((m) => m.inflow - m.outflow),\n [monthFlows]\n );\n\n const holdings = holdingsQuery.data;\n const performance = useMemo(() => {\n const rows = holdings\n .map((h: BraHolding) => {\n const unrealized = h.marketValue - h.costBasis;\n const pct = h.costBasis > 0 ? (unrealized / h.costBasis) * 100 : null;\n return { holding: h, unrealized, pct };\n })\n .sort((a, b) => b.unrealized - a.unrealized);\n const totalUnrealized = rows.reduce((s, r) => s + r.unrealized, 0);\n const totalCost = holdings.reduce((s, h) => s + h.costBasis, 0);\n const gainers = rows.filter((r) => r.unrealized > 0).slice(0, 4);\n const losers = rows\n .filter((r) => r.unrealized < 0)\n .sort((a, b) => a.unrealized - b.unrealized)\n .slice(0, 4);\n return { rows, totalUnrealized, totalCost, gainers, losers };\n }, [holdings]);\n\n // --- Top-level loading / error gates (summary drives KPIs + allocation) ---\n if (summaryQuery.isLoading) {\n return (\n <SectionShell\n title=\"Wealth Analytics\"\n description=\"Allocation, cash flow, and holdings performance derived from your real accounts.\"\n >\n <LoadingState rows={5} />\n </SectionShell>\n );\n }\n\n if (summaryQuery.isError || !summary) {\n return (\n <SectionShell\n title=\"Wealth Analytics\"\n description=\"Allocation, cash flow, and holdings performance derived from your real accounts.\"\n >\n <ErrorState\n title=\"Could not load analytics\"\n description=\"We couldn't reach the wealth service. Please retry.\"\n onRetry={() => summaryQuery.refetch()}\n />\n </SectionShell>\n );\n }\n\n const amountNum = Number(form.amount);\n const canSubmit =\n Boolean(form.accountId) &&\n Boolean(form.tradeDate) &&\n form.amount.trim() !== '' &&\n Number.isFinite(amountNum) &&\n amountNum > 0 &&\n !recordTx.isPending;\n\n const submitTransaction = () => {\n if (!canSubmit) return;\n recordTx.mutate(\n {\n accountId: form.accountId,\n type: form.type,\n amount: amountNum,\n symbol: form.symbol.trim() ? form.symbol.trim() : undefined,\n tradeDate: new Date(form.tradeDate).toISOString(),\n notes: form.notes.trim() ? form.notes.trim() : undefined,\n },\n {\n onSuccess: () => {\n setDialogOpen(false);\n setForm(emptyTransactionForm);\n },\n }\n );\n };\n\n const recordAction = (\n <Dialog\n open={dialogOpen}\n onOpenChange={(next) => {\n setDialogOpen(next);\n if (!next) setForm(emptyTransactionForm);\n }}\n >\n <DialogTrigger asChild>\n <Button size=\"sm\">\n <Plus className=\"mr-1 size-4\" aria-hidden=\"true\" />\n Record Transaction\n </Button>\n </DialogTrigger>\n <DialogContent>\n <DialogHeader>\n <DialogTitle>Record Transaction</DialogTitle>\n <DialogDescription>\n Log a real cash flow or trade. It updates your cash-flow analytics immediately.\n </DialogDescription>\n </DialogHeader>\n {accounts.length === 0 ? (\n <EmptyState\n icon={<Wallet className=\"size-6\" aria-hidden=\"true\" />}\n title=\"Create an account first\"\n description=\"You need at least one account before you can record a transaction. Open the Accounts page to add one, then come back here.\"\n />\n ) : (\n <div className=\"space-y-4\">\n <div className=\"space-y-1.5\">\n <Label htmlFor=\"tx-account\">Account</Label>\n <Select\n value={form.accountId}\n onValueChange={(v) => setForm((f) => ({ ...f, accountId: v }))}\n >\n <SelectTrigger id=\"tx-account\">\n <SelectValue placeholder=\"Select an account\" />\n </SelectTrigger>\n <SelectContent>\n {accounts.map((a) => (\n <SelectItem key={a.id} value={a.id}>\n {a.name}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"grid grid-cols-2 gap-4\">\n <div className=\"space-y-1.5\">\n <Label htmlFor=\"tx-type\">Type</Label>\n <Select\n value={form.type}\n onValueChange={(v) => setForm((f) => ({ ...f, type: v as BraTransactionType }))}\n >\n <SelectTrigger id=\"tx-type\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {TRANSACTION_TYPES.map((t) => (\n <SelectItem key={t} value={t}>\n {TITLE_CASE(t)}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"space-y-1.5\">\n <Label htmlFor=\"tx-amount\">Amount ({currency})</Label>\n <Input\n id=\"tx-amount\"\n type=\"number\"\n min=\"0\"\n step=\"0.01\"\n inputMode=\"decimal\"\n placeholder=\"0.00\"\n value={form.amount}\n onChange={(e) => setForm((f) => ({ ...f, amount: e.target.value }))}\n />\n </div>\n </div>\n <div className=\"grid grid-cols-2 gap-4\">\n <div className=\"space-y-1.5\">\n <Label htmlFor=\"tx-date\">Trade date</Label>\n <Input\n id=\"tx-date\"\n type=\"date\"\n value={form.tradeDate}\n onChange={(e) => setForm((f) => ({ ...f, tradeDate: e.target.value }))}\n />\n </div>\n <div className=\"space-y-1.5\">\n <Label htmlFor=\"tx-symbol\">Symbol (optional)</Label>\n <Input\n id=\"tx-symbol\"\n placeholder=\"e.g. AAPL\"\n value={form.symbol}\n onChange={(e) => setForm((f) => ({ ...f, symbol: e.target.value }))}\n />\n </div>\n </div>\n <div className=\"space-y-1.5\">\n <Label htmlFor=\"tx-notes\">Notes (optional)</Label>\n <Textarea\n id=\"tx-notes\"\n rows={2}\n placeholder=\"Context for this transaction\"\n value={form.notes}\n onChange={(e) => setForm((f) => ({ ...f, notes: e.target.value }))}\n />\n </div>\n {recordTx.isError ? (\n <p className=\"text-sm text-status-error-text\">\n {recordTx.error instanceof Error\n ? recordTx.error.message\n : 'Could not record transaction.'}\n </p>\n ) : null}\n </div>\n )}\n <DialogFooter>\n <Button variant=\"outline\" onClick={() => setDialogOpen(false)}>\n {accounts.length === 0 ? 'Close' : 'Cancel'}\n </Button>\n {accounts.length > 0 ? (\n <Button onClick={submitTransaction} disabled={!canSubmit}>\n {recordTx.isPending ? 'Recording…' : 'Record'}\n </Button>\n ) : null}\n </DialogFooter>\n </DialogContent>\n </Dialog>\n );\n\n return (\n <SectionShell\n title=\"Wealth Analytics\"\n description=\"Allocation, cash flow, and holdings performance derived from your real accounts.\"\n badges={[`${summary.accountCount} accounts`]}\n actions={recordAction}\n >\n <div className=\"grid gap-4 md:grid-cols-2 xl:grid-cols-4\">\n <FadeIn index={0}>\n <StatTile\n label=\"Net Worth\"\n value={formatMoney(summary.totalNetWorth, currency)}\n icon={<Wallet className=\"size-4\" aria-hidden=\"true\" />}\n glow\n />\n </FadeIn>\n <FadeIn index={1}>\n <StatTile\n label=\"Invested Value\"\n value={formatMoney(summary.totalMarketValue, currency)}\n icon={<TrendingUp className=\"size-4\" aria-hidden=\"true\" />}\n />\n </FadeIn>\n <FadeIn index={2}>\n <StatTile\n label=\"Cash\"\n value={formatMoney(summary.totalCash, currency)}\n icon={<Coins className=\"size-4\" aria-hidden=\"true\" />}\n />\n </FadeIn>\n <FadeIn index={3}>\n <StatTile\n label=\"Net Cash Flow\"\n value={formatMoney(flowTotals.net, currency)}\n deltaTone={\n flowTotals.net > 0 ? 'positive' : flowTotals.net < 0 ? 'negative' : 'neutral'\n }\n delta={\n flowTotals.inflow > 0 ? (flowTotals.net / flowTotals.inflow) * 100 : undefined\n }\n deltaSuffix=\"% of inflows\"\n spark={netFlowSeries.length > 1 ? netFlowSeries : undefined}\n sparkTone={flowTotals.net >= 0 ? 'positive' : 'negative'}\n icon={<BarChart3 className=\"size-4\" aria-hidden=\"true\" />}\n />\n </FadeIn>\n </div>\n\n <Tabs defaultValue=\"allocation\" className=\"space-y-4\">\n <TabsList className=\"grid w-full grid-cols-3\">\n <TabsTrigger value=\"allocation\">Allocation</TabsTrigger>\n <TabsTrigger value=\"cashflow\">Cash Flow</TabsTrigger>\n <TabsTrigger value=\"performance\">Performance</TabsTrigger>\n </TabsList>\n\n {/* ---------------------------------------------------------------- */}\n {/* Allocation */}\n {/* ---------------------------------------------------------------- */}\n <TabsContent value=\"allocation\" className=\"space-y-4\">\n <FadeIn>\n <GlassCard glow className=\"space-y-5\">\n <div className=\"flex items-center gap-2\">\n <PieChart className=\"size-5 text-text-secondary\" aria-hidden=\"true\" />\n <div>\n <h2 className=\"text-base font-semibold text-text-primary\">Asset Allocation</h2>\n <p className=\"text-sm text-text-secondary\">\n Share of invested value by asset class, from your holdings.\n </p>\n </div>\n </div>\n {assetAllocation.length === 0 ? (\n <EmptyState\n icon={<PieChart className=\"size-6\" aria-hidden=\"true\" />}\n title=\"No invested holdings yet\"\n description=\"Add holdings to your accounts to see an asset-class breakdown here.\"\n />\n ) : (\n <div className=\"grid gap-6 lg:grid-cols-[minmax(0,1fr)_minmax(0,1.1fr)] lg:items-center\">\n <DonutChart\n data={donutAllocation}\n height={240}\n centerValue={formatCompact(summary.totalMarketValue, currency)}\n centerLabel=\"Invested\"\n valueFormatter={(v) => formatMoney(v, currency)}\n />\n <div className=\"overflow-x-auto\">\n <Table>\n <TableHeader>\n <TableRow>\n <TableHead>Asset class</TableHead>\n <TableHead className=\"text-right\">Weight</TableHead>\n <TableHead className=\"text-right\">Market value</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n {assetAllocation.map((row) => (\n <TableRow key={row.label}>\n <TableCell className=\"font-medium text-text-primary\">\n {row.label}\n </TableCell>\n <TableCell className=\"text-right tabular-nums text-text-secondary\">\n {formatPct(row.value)}\n </TableCell>\n <TableCell className=\"text-right tabular-nums font-medium text-text-primary\">\n {row.caption}\n </TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </div>\n </div>\n )}\n </GlassCard>\n </FadeIn>\n\n <FadeIn index={1}>\n <Card className=\"transition-shadow motion-safe:hover:shadow-[var(--shadow-pop-hover,var(--shadow-elevation-2))]\">\n <CardHeader>\n <CardTitle className=\"flex items-center gap-2\">\n <Wallet className=\"size-5\" aria-hidden=\"true\" />\n Net Worth Composition\n </CardTitle>\n <CardDescription>Invested value versus liquid cash.</CardDescription>\n </CardHeader>\n <CardContent>\n {composition.length === 0 ? (\n <EmptyState\n icon={<Wallet className=\"size-6\" aria-hidden=\"true\" />}\n title=\"No balances yet\"\n description=\"Add accounts with balances or holdings to see your composition.\"\n />\n ) : (\n <div className=\"flex flex-col items-center gap-6 sm:flex-row sm:justify-around\">\n <ProgressRing\n value={investedPct}\n label=\"Invested\"\n tone=\"brand\"\n size={140}\n />\n <div className=\"min-w-0 flex-1\">\n <DonutChart\n data={composition}\n height={180}\n centerValue={formatCompact(summary.totalNetWorth, currency)}\n centerLabel=\"Net worth\"\n valueFormatter={(v) => formatMoney(v, currency)}\n />\n </div>\n </div>\n )}\n </CardContent>\n </Card>\n </FadeIn>\n </TabsContent>\n\n {/* ---------------------------------------------------------------- */}\n {/* Cash flow */}\n {/* ---------------------------------------------------------------- */}\n <TabsContent value=\"cashflow\" className=\"space-y-4\">\n <FadeIn>\n <GlassCard className=\"space-y-5\">\n <div className=\"flex items-center gap-2\">\n <BarChart3 className=\"size-5 text-text-secondary\" aria-hidden=\"true\" />\n <div>\n <h2 className=\"text-base font-semibold text-text-primary\">\n Inflows vs Outflows by month\n </h2>\n <p className=\"text-sm text-text-secondary\">\n Monthly cash flow aggregated from your recorded transactions.\n {transactions.length > 0\n ? ` Based on ${transactions.length.toLocaleString()} ${\n transactions.length === 1 ? 'transaction' : 'transactions'\n }.`\n : ''}\n </p>\n </div>\n </div>\n {txQuery.isLoading ? (\n <LoadingState rows={4} />\n ) : txQuery.isError ? (\n <ErrorState onRetry={() => txQuery.refetch()} />\n ) : monthFlows.length === 0 ? (\n <EmptyState\n icon={<BarChart3 className=\"size-6\" aria-hidden=\"true\" />}\n title=\"No cash flow to analyze yet\"\n description=\"Record deposits, withdrawals, or trades to build a cash-flow history.\"\n action={\n <Button size=\"sm\" onClick={() => setDialogOpen(true)}>\n <Plus className=\"mr-1 size-4\" aria-hidden=\"true\" />\n Record Transaction\n </Button>\n }\n />\n ) : (\n <div className=\"space-y-4\">\n <TrendBars\n data={monthFlows}\n height={280}\n valueFormatter={(v) => formatCompact(v, currency)}\n />\n <div className=\"flex flex-wrap gap-4 text-xs text-text-secondary\">\n <span className=\"inline-flex items-center gap-1.5\">\n <ArrowUpRight\n className=\"size-3.5 text-status-success-text\"\n aria-hidden=\"true\"\n />\n Inflow\n </span>\n <span className=\"inline-flex items-center gap-1.5\">\n <ArrowDownRight\n className=\"size-3.5 text-status-error-text\"\n aria-hidden=\"true\"\n />\n Outflow\n </span>\n </div>\n </div>\n )}\n </GlassCard>\n </FadeIn>\n\n {monthFlows.length > 0 ? (\n <div className=\"grid gap-4 sm:grid-cols-3\">\n <FadeIn index={0}>\n <StatTile\n label=\"Total inflows\"\n value={formatMoney(flowTotals.inflow, currency)}\n icon={<ArrowUpRight className=\"size-4\" aria-hidden=\"true\" />}\n sparkTone=\"positive\"\n />\n </FadeIn>\n <FadeIn index={1}>\n <StatTile\n label=\"Total outflows\"\n value={formatMoney(flowTotals.outflow, currency)}\n icon={<ArrowDownRight className=\"size-4\" aria-hidden=\"true\" />}\n />\n </FadeIn>\n <FadeIn index={2}>\n <StatTile\n label=\"Net\"\n value={formatMoney(flowTotals.net, currency)}\n deltaTone={\n flowTotals.net > 0 ? 'positive' : flowTotals.net < 0 ? 'negative' : 'neutral'\n }\n delta={\n flowTotals.inflow > 0\n ? (flowTotals.net / flowTotals.inflow) * 100\n : undefined\n }\n deltaSuffix=\"% of inflows\"\n glow\n />\n </FadeIn>\n </div>\n ) : null}\n\n {typeFlows.length > 0 ? (\n <FadeIn>\n <Card className=\"transition-shadow motion-safe:hover:shadow-[var(--shadow-pop-hover,var(--shadow-elevation-2))]\">\n <CardHeader>\n <CardTitle>By Transaction Type</CardTitle>\n <CardDescription>Total value moved per transaction type.</CardDescription>\n </CardHeader>\n <CardContent className=\"overflow-x-auto\">\n <Table>\n <TableHeader>\n <TableRow>\n <TableHead>Type</TableHead>\n <TableHead>Direction</TableHead>\n <TableHead className=\"text-right\">Total</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n {typeFlows.map((row) => (\n <TableRow\n key={row.type}\n className=\"transition-colors hover:bg-bg-elevated\"\n >\n <TableCell className=\"font-medium text-text-primary\">\n {TITLE_CASE(row.type)}\n </TableCell>\n <TableCell>\n <Badge\n variant={\n row.dir === 'in'\n ? 'default'\n : row.dir === 'out'\n ? 'destructive'\n : 'secondary'\n }\n >\n {row.dir === 'in'\n ? 'Inflow'\n : row.dir === 'out'\n ? 'Outflow'\n : 'Neutral'}\n </Badge>\n </TableCell>\n <TableCell className=\"text-right font-medium tabular-nums\">\n {formatMoney(row.total, currency)}\n </TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </CardContent>\n </Card>\n </FadeIn>\n ) : null}\n </TabsContent>\n\n {/* ---------------------------------------------------------------- */}\n {/* Performance */}\n {/* ---------------------------------------------------------------- */}\n <TabsContent value=\"performance\" className=\"space-y-4\">\n <Card>\n <CardHeader className=\"flex flex-col gap-3 md:flex-row md:items-start md:justify-between\">\n <div>\n <CardTitle>Holdings Performance</CardTitle>\n <CardDescription>\n Unrealized gain or loss — market value versus cost basis.\n </CardDescription>\n </div>\n {accounts.length > 0 ? (\n <div className=\"w-full md:w-56\">\n <Label htmlFor=\"perf-account\" className=\"sr-only\">\n Account\n </Label>\n <Select\n value={effectiveAccountId ?? ''}\n onValueChange={(v) => setSelectedAccountId(v)}\n >\n <SelectTrigger id=\"perf-account\">\n <SelectValue placeholder=\"Select account\" />\n </SelectTrigger>\n <SelectContent>\n {accounts.map((a) => (\n <SelectItem key={a.id} value={a.id}>\n {a.name}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n ) : null}\n </CardHeader>\n <CardContent>\n {accountsQuery.isLoading ? (\n <LoadingState rows={3} />\n ) : accounts.length === 0 ? (\n <EmptyState\n icon={<Wallet className=\"size-6\" aria-hidden=\"true\" />}\n title=\"No accounts yet\"\n description=\"Create an account and add holdings to analyze performance.\"\n />\n ) : holdingsQuery.isLoading ? (\n <LoadingState rows={3} />\n ) : holdingsQuery.isError ? (\n <ErrorState onRetry={() => holdingsQuery.refetch()} />\n ) : performance.rows.length === 0 ? (\n <EmptyState\n icon={<BarChart3 className=\"size-6\" aria-hidden=\"true\" />}\n title=\"No holdings in this account\"\n description=\"Add holdings to this account to see unrealized gains and losses.\"\n />\n ) : (\n <div className=\"space-y-4\">\n <div className=\"grid gap-4 sm:grid-cols-3\">\n <StatTile\n label=\"Total unrealized\"\n value={`${performance.totalUnrealized >= 0 ? '+' : '-'}${formatMoney(\n Math.abs(performance.totalUnrealized),\n currency\n )}`}\n deltaTone={\n performance.totalUnrealized > 0\n ? 'positive'\n : performance.totalUnrealized < 0\n ? 'negative'\n : 'neutral'\n }\n delta={\n performance.totalCost > 0\n ? (performance.totalUnrealized / performance.totalCost) * 100\n : undefined\n }\n glow={performance.totalUnrealized >= 0}\n />\n <StatTile\n label=\"Cost basis\"\n value={formatMoney(performance.totalCost, currency)}\n />\n <StatTile\n label=\"Return on cost\"\n value={formatPct(\n performance.totalCost > 0\n ? (performance.totalUnrealized / performance.totalCost) * 100\n : null\n )}\n />\n </div>\n <div className=\"overflow-x-auto\">\n <Table>\n <TableHeader>\n <TableRow>\n <TableHead>Holding</TableHead>\n <TableHead className=\"text-right\">Market value</TableHead>\n <TableHead className=\"text-right\">Cost basis</TableHead>\n <TableHead className=\"text-right\">Unrealized gain/loss</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n {performance.rows.map(({ holding, unrealized, pct }) => (\n <TableRow\n key={holding.id}\n className=\"transition-colors hover:bg-bg-elevated\"\n >\n <TableCell>\n <div className=\"font-medium text-text-primary\">{holding.symbol}</div>\n <div className=\"text-xs text-text-secondary\">\n {holding.name ?? TITLE_CASE(holding.assetClass)} · as of{' '}\n {formatDate(holding.asOf)}\n </div>\n </TableCell>\n <TableCell className=\"text-right tabular-nums\">\n {formatMoney(holding.marketValue, holding.currency)}\n </TableCell>\n <TableCell className=\"text-right tabular-nums text-text-secondary\">\n {formatMoney(holding.costBasis, holding.currency)}\n </TableCell>\n <TableCell className=\"text-right\">\n <GainCell\n value={unrealized}\n currency={holding.currency}\n pct={pct}\n />\n </TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </div>\n </div>\n )}\n </CardContent>\n </Card>\n\n {performance.rows.length > 0 &&\n (performance.gainers.length > 0 || performance.losers.length > 0) ? (\n <div className=\"grid gap-4 md:grid-cols-2\">\n {performance.gainers.length > 0 ? (\n <FadeIn index={0}>\n <GlassCard className=\"space-y-3\">\n <div className=\"flex items-center gap-2\">\n <TrendingUp\n className=\"size-4 text-status-success-text\"\n aria-hidden=\"true\"\n />\n <h3 className=\"text-sm font-semibold text-text-primary\">Top gainers</h3>\n </div>\n <ul className=\"space-y-2\">\n {performance.gainers.map(({ holding, unrealized, pct }) => (\n <li\n key={holding.id}\n className=\"flex items-center justify-between gap-3 text-sm\"\n >\n <span className=\"font-medium text-text-primary\">{holding.symbol}</span>\n <GainCell value={unrealized} currency={holding.currency} pct={pct} />\n </li>\n ))}\n </ul>\n </GlassCard>\n </FadeIn>\n ) : null}\n {performance.losers.length > 0 ? (\n <FadeIn index={1}>\n <GlassCard className=\"space-y-3\">\n <div className=\"flex items-center gap-2\">\n <TrendingDown\n className=\"size-4 text-status-error-text\"\n aria-hidden=\"true\"\n />\n <h3 className=\"text-sm font-semibold text-text-primary\">Top losers</h3>\n </div>\n <ul className=\"space-y-2\">\n {performance.losers.map(({ holding, unrealized, pct }) => (\n <li\n key={holding.id}\n className=\"flex items-center justify-between gap-3 text-sm\"\n >\n <span className=\"font-medium text-text-primary\">{holding.symbol}</span>\n <GainCell value={unrealized} currency={holding.currency} pct={pct} />\n </li>\n ))}\n </ul>\n </GlassCard>\n </FadeIn>\n ) : null}\n </div>\n ) : null}\n </TabsContent>\n </Tabs>\n </SectionShell>\n );\n}\n"],"mappings":"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"}
|