@burdenoff/microfe-brainyrich 2026.706.1 → 2026.706.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/_rolldown/runtime.js +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 +845 -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/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js +13 -0
- package/dist/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js.map +1 -0
- package/dist/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js +14 -0
- package/dist/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js.map +1 -0
- 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 +5 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AiAssistantPage.js","names":[],"sources":["../../../src/brainyrich/pages/AiAssistantPage.tsx"],"sourcesContent":["import { useMemo, useState } from 'react';\nimport {\n Badge,\n Button,\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n Dialog,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n Input,\n Label,\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n Textarea,\n} from '@burdenoff/fe-libs/ui';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport {\n AlertTriangle,\n BellRing,\n CheckCircle2,\n Info,\n Lightbulb,\n MoreHorizontal,\n Plus,\n ShieldAlert,\n XCircle,\n} from 'lucide-react';\nimport { tWithFallback } from '../utils/i18n';\nimport {\n useAccounts,\n useAcknowledgeInsight,\n useCreateInsight,\n useDismissInsight,\n useGoals,\n useHouseholds,\n usePagedInsights,\n usePortfolios,\n useResolveInsight,\n} from '../hooks/useBrainyRichApi';\nimport { ConfirmDialog, LoadMore, SubjectPicker, parseSubject } from '../components';\nimport type {\n BraCreateInsightInput,\n BraInsight,\n BraInsightSeverity,\n BraInsightStatus,\n BraInsightType,\n} from '../types/bra';\nimport {\n EmptyState,\n ErrorState,\n KpiGrid,\n LoadingState,\n SectionShell,\n formatDate,\n statusBadgeVariant,\n} from './_shared';\n\nconst INSIGHT_TYPES: BraInsightType[] = [\n 'REBALANCE_DUE',\n 'DRIFT',\n 'CONCENTRATION_RISK',\n 'CASH_DRAG',\n 'FEE_ANOMALY',\n 'TAX_OPPORTUNITY',\n 'GOAL_AT_RISK',\n];\n\nconst INSIGHT_SEVERITIES: BraInsightSeverity[] = ['INFO', 'LOW', 'MEDIUM', 'HIGH', 'CRITICAL'];\n\nconst INSIGHT_STATUSES: BraInsightStatus[] = ['OPEN', 'ACKNOWLEDGED', 'RESOLVED', 'DISMISSED'];\n\nconst ALL = '__all__';\n\nfunction humanize(value: string): string {\n return value\n .toLowerCase()\n .split('_')\n .map((part) => part.charAt(0).toUpperCase() + part.slice(1))\n .join(' ');\n}\n\ninterface SeverityMeta {\n icon: typeof Info;\n tone: string;\n}\n\nfunction severityMeta(severity: BraInsightSeverity): SeverityMeta {\n switch (severity) {\n case 'CRITICAL':\n return { icon: ShieldAlert, tone: 'text-status-error-text' };\n case 'HIGH':\n return { icon: AlertTriangle, tone: 'text-status-error-text' };\n case 'MEDIUM':\n return { icon: BellRing, tone: 'text-status-warning-text' };\n case 'LOW':\n return { icon: Lightbulb, tone: 'text-status-warning-text' };\n case 'INFO':\n default:\n return { icon: Info, tone: 'text-text-secondary' };\n }\n}\n\ninterface InsightFormState {\n title: string;\n type: BraInsightType;\n severity: BraInsightSeverity;\n /** Encoded `SUBJECT_TYPE:id` token from <SubjectPicker>. */\n subject: string;\n detail: string;\n metrics: string;\n ownerId: string;\n}\n\nfunction emptyForm(): InsightFormState {\n return {\n title: '',\n type: 'DRIFT',\n severity: 'MEDIUM',\n subject: '',\n detail: '',\n metrics: '',\n ownerId: '',\n };\n}\n\nexport function AiAssistantPage() {\n const { t } = useI18n();\n const translate = (key: string, fallback: string, params?: Record<string, string | number>) =>\n tWithFallback(t, key, fallback, params);\n\n const [severityFilter, setSeverityFilter] = useState<string>(ALL);\n const [statusFilter, setStatusFilter] = useState<string>(ALL);\n const [typeFilter, setTypeFilter] = useState<string>(ALL);\n\n const {\n items: insights,\n hasMore,\n loadMore,\n isLoading,\n isFetchingNextPage,\n isError,\n refetch,\n } = usePagedInsights({\n ...(severityFilter !== ALL ? { severity: severityFilter as BraInsightSeverity } : {}),\n ...(statusFilter !== ALL ? { status: statusFilter as BraInsightStatus } : {}),\n });\n\n // Resolve subjectId -> referenced entity name via the list queries (react-query\n // dedupes these with the SubjectPicker's own calls).\n const accounts = useAccounts();\n const portfolios = usePortfolios();\n const goals = useGoals();\n const households = useHouseholds();\n const subjectNames = useMemo(() => {\n const map = new Map<string, string>();\n for (const a of accounts.data) map.set(a.id, a.name);\n for (const p of portfolios.data) map.set(p.id, p.name);\n for (const g of goals.data) map.set(g.id, g.name);\n for (const h of households.data) map.set(h.id, h.name);\n return map;\n }, [accounts.data, portfolios.data, goals.data, households.data]);\n\n const acknowledge = useAcknowledgeInsight();\n const dismiss = useDismissInsight();\n const resolve = useResolveInsight();\n const createInsight = useCreateInsight();\n\n const [createOpen, setCreateOpen] = useState(false);\n const [form, setForm] = useState<InsightFormState>(emptyForm);\n\n const setField = <K extends keyof InsightFormState>(key: K, value: InsightFormState[K]) =>\n setForm((prev) => ({ ...prev, [key]: value }));\n\n // Type is not a backend filter arg — narrow client-side.\n const filtered = useMemo(\n () => (typeFilter === ALL ? insights : insights.filter((i) => i.type === typeFilter)),\n [insights, typeFilter]\n );\n\n const counts = useMemo(() => {\n const open = insights.filter((i) => i.status === 'OPEN').length;\n const urgent = insights.filter(\n (i) => i.severity === 'HIGH' || i.severity === 'CRITICAL'\n ).length;\n const resolved = insights.filter((i) => i.status === 'RESOLVED').length;\n return { open, urgent, resolved };\n }, [insights]);\n\n const metricsValid = useMemo(() => {\n if (!form.metrics.trim()) return true;\n try {\n JSON.parse(form.metrics);\n return true;\n } catch {\n return false;\n }\n }, [form.metrics]);\n\n const formValid =\n form.title.trim().length > 0 && parseSubject(form.subject) !== null && metricsValid;\n\n const openCreate = () => {\n setForm(emptyForm());\n setCreateOpen(true);\n };\n\n const handleCreate = () => {\n if (!formValid) return;\n const subject = parseSubject(form.subject);\n if (!subject) return;\n let metrics: Record<string, unknown> | undefined;\n if (form.metrics.trim()) {\n try {\n metrics = JSON.parse(form.metrics) as Record<string, unknown>;\n } catch {\n return;\n }\n }\n const input: BraCreateInsightInput = {\n title: form.title.trim(),\n type: form.type,\n severity: form.severity,\n subjectType: subject.subjectType,\n subjectId: subject.subjectId,\n detail: form.detail.trim() || null,\n ...(metrics ? { metrics } : {}),\n ...(form.ownerId.trim() ? { ownerId: form.ownerId.trim() } : {}),\n };\n createInsight.mutate(input, { onSuccess: () => setCreateOpen(false) });\n };\n\n const anyFilterActive = severityFilter !== ALL || statusFilter !== ALL || typeFilter !== ALL;\n\n const body = () => {\n if (isLoading) return <LoadingState rows={4} />;\n if (isError)\n return (\n <ErrorState\n title={translate('brainyrich.insights.error.title', 'Could not load insights')}\n description={translate(\n 'brainyrich.insights.error.description',\n 'We could not reach the insights service. Please try again.'\n )}\n onRetry={() => refetch()}\n />\n );\n\n return (\n <>\n <KpiGrid\n items={[\n {\n label: translate('brainyrich.insights.metrics.total', 'Insights'),\n value: String(insights.length),\n trend: translate('brainyrich.insights.metrics.totalTrend', 'In your inbox'),\n },\n {\n label: translate('brainyrich.insights.metrics.open', 'Open'),\n value: String(counts.open),\n trend: translate('brainyrich.insights.metrics.openTrend', 'Awaiting action'),\n deltaTone: counts.open > 0 ? 'negative' : 'positive',\n },\n {\n label: translate('brainyrich.insights.metrics.urgent', 'High priority'),\n value: String(counts.urgent),\n trend: translate('brainyrich.insights.metrics.urgentTrend', 'High or critical'),\n deltaTone: counts.urgent > 0 ? 'negative' : 'positive',\n },\n {\n label: translate('brainyrich.insights.metrics.resolved', 'Resolved'),\n value: String(counts.resolved),\n trend: translate('brainyrich.insights.metrics.resolvedTrend', 'Closed out'),\n deltaTone: 'positive',\n },\n ]}\n />\n\n {/* Filters */}\n <Card>\n <CardContent className=\"flex flex-col gap-3 p-4 sm:flex-row sm:items-end\">\n <div className=\"w-full space-y-1.5 sm:w-48\">\n <Label htmlFor=\"insight-filter-severity\">\n {translate('brainyrich.insights.filters.severity', 'Severity')}\n </Label>\n <Select value={severityFilter} onValueChange={setSeverityFilter}>\n <SelectTrigger id=\"insight-filter-severity\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value={ALL}>\n {translate('brainyrich.insights.filters.all', 'All')}\n </SelectItem>\n {INSIGHT_SEVERITIES.map((s) => (\n <SelectItem key={s} value={s}>\n {humanize(s)}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"w-full space-y-1.5 sm:w-48\">\n <Label htmlFor=\"insight-filter-status\">\n {translate('brainyrich.insights.filters.status', 'Status')}\n </Label>\n <Select value={statusFilter} onValueChange={setStatusFilter}>\n <SelectTrigger id=\"insight-filter-status\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value={ALL}>\n {translate('brainyrich.insights.filters.all', 'All')}\n </SelectItem>\n {INSIGHT_STATUSES.map((s) => (\n <SelectItem key={s} value={s}>\n {humanize(s)}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"w-full space-y-1.5 sm:w-56\">\n <Label htmlFor=\"insight-filter-type\">\n {translate('brainyrich.insights.filters.type', 'Type')}\n </Label>\n <Select value={typeFilter} onValueChange={setTypeFilter}>\n <SelectTrigger id=\"insight-filter-type\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value={ALL}>\n {translate('brainyrich.insights.filters.all', 'All')}\n </SelectItem>\n {INSIGHT_TYPES.map((s) => (\n <SelectItem key={s} value={s}>\n {humanize(s)}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n </CardContent>\n </Card>\n\n {filtered.length === 0 ? (\n <EmptyState\n icon={<BellRing className=\"size-6\" aria-hidden=\"true\" />}\n title={\n anyFilterActive\n ? translate('brainyrich.insights.empty.filteredTitle', 'No matching insights')\n : translate('brainyrich.insights.empty.title', 'No advisory insights yet')\n }\n description={\n anyFilterActive\n ? translate(\n 'brainyrich.insights.empty.filteredDescription',\n 'No insights match the selected filters. Adjust or clear them to see more.'\n )\n : translate(\n 'brainyrich.insights.empty.description',\n 'Advisory insights flag rebalancing, drift, concentration and other opportunities. Create one to get started.'\n )\n }\n action={\n anyFilterActive ? (\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={() => {\n setSeverityFilter(ALL);\n setStatusFilter(ALL);\n setTypeFilter(ALL);\n }}\n >\n {translate('brainyrich.insights.actions.clearFilters', 'Clear filters')}\n </Button>\n ) : (\n <Button size=\"sm\" onClick={openCreate}>\n <Plus className=\"size-4\" aria-hidden=\"true\" />\n {translate('brainyrich.insights.actions.create', 'New insight')}\n </Button>\n )\n }\n />\n ) : (\n <div className=\"space-y-3\">\n {filtered.map((insight) => (\n <InsightCard\n key={insight.id}\n insight={insight}\n subjectName={subjectNames.get(insight.subjectId)}\n translate={translate}\n onAcknowledge={() => acknowledge.mutate(insight.id)}\n onDismiss={() => dismiss.mutate(insight.id)}\n onResolve={() => resolve.mutate(insight.id)}\n acknowledgePending={acknowledge.isPending}\n dismissPending={dismiss.isPending}\n resolvePending={resolve.isPending}\n />\n ))}\n </div>\n )}\n\n <LoadMore\n hasMore={hasMore}\n onClick={loadMore}\n loading={isFetchingNextPage}\n label={translate('brainyrich.insights.actions.loadMore', 'Load more insights')}\n />\n </>\n );\n };\n\n return (\n <>\n <SectionShell\n title={translate('brainyrich.insights.title', 'Insights')}\n description={translate(\n 'brainyrich.insights.description',\n 'Advisory insights across portfolios, accounts and goals — triage, acknowledge and resolve.'\n )}\n badges={[translate('brainyrich.insights.badges.advisory', 'Advisory')]}\n actionLabel={translate('brainyrich.insights.actions.create', 'New insight')}\n onAction={openCreate}\n >\n {body()}\n </SectionShell>\n\n <InsightFormDialog\n open={createOpen}\n form={form}\n setField={setField}\n metricsValid={metricsValid}\n valid={formValid}\n pending={createInsight.isPending}\n onSubmit={handleCreate}\n onOpenChange={(v) => setCreateOpen(v)}\n translate={translate}\n />\n </>\n );\n}\n\ntype Translate = (\n key: string,\n fallback: string,\n params?: Record<string, string | number>\n) => string;\n\ninterface InsightCardProps {\n insight: BraInsight;\n /** Referenced entity name resolved from the list queries, if known. */\n subjectName?: string;\n translate: Translate;\n onAcknowledge: () => void;\n onDismiss: () => void;\n onResolve: () => void;\n acknowledgePending: boolean;\n dismissPending: boolean;\n resolvePending: boolean;\n}\n\nfunction InsightCard({\n insight,\n subjectName,\n translate,\n onAcknowledge,\n onDismiss,\n onResolve,\n acknowledgePending,\n dismissPending,\n resolvePending,\n}: InsightCardProps) {\n const meta = severityMeta(insight.severity);\n const SeverityIcon = meta.icon;\n const isClosed = insight.status === 'RESOLVED' || insight.status === 'DISMISSED';\n const [dismissOpen, setDismissOpen] = useState(false);\n\n return (\n <Card>\n <CardHeader className=\"pb-3\">\n <div className=\"flex items-start justify-between gap-3\">\n <div className=\"flex min-w-0 items-start gap-3\">\n <span\n className={`mt-0.5 flex size-9 shrink-0 items-center justify-center rounded-full bg-bg-sunken ${meta.tone}`}\n >\n <SeverityIcon className=\"size-5\" aria-hidden=\"true\" />\n </span>\n <div className=\"min-w-0\">\n <CardTitle className=\"text-base\">{insight.title}</CardTitle>\n <CardDescription className=\"mt-1 flex flex-wrap items-center gap-2\">\n <Badge variant=\"outline\">{humanize(insight.type)}</Badge>\n <Badge variant={statusBadgeVariant(insight.severity)}>\n <span className={`inline-flex items-center gap-1 ${meta.tone}`}>\n <SeverityIcon className=\"size-3\" aria-hidden=\"true\" />\n {humanize(insight.severity)}\n </span>\n </Badge>\n <Badge variant={statusBadgeVariant(insight.status)}>\n {humanize(insight.status)}\n </Badge>\n </CardDescription>\n </div>\n </div>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button\n variant=\"ghost\"\n size=\"icon\"\n aria-label={translate('brainyrich.insights.actions.menu', 'Insight actions')}\n >\n <MoreHorizontal className=\"size-4\" aria-hidden=\"true\" />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem\n disabled={acknowledgePending || insight.status === 'ACKNOWLEDGED' || isClosed}\n onSelect={onAcknowledge}\n >\n <CheckCircle2 className=\"size-4\" aria-hidden=\"true\" />\n {translate('brainyrich.insights.actions.acknowledge', 'Acknowledge')}\n </DropdownMenuItem>\n <DropdownMenuItem\n disabled={resolvePending || insight.status === 'RESOLVED'}\n onSelect={onResolve}\n >\n <CheckCircle2 className=\"size-4\" aria-hidden=\"true\" />\n {translate('brainyrich.insights.actions.resolve', 'Resolve')}\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem\n className=\"text-status-error-text focus:text-status-error-text\"\n disabled={dismissPending || insight.status === 'DISMISSED'}\n onSelect={(e) => {\n e.preventDefault();\n setDismissOpen(true);\n }}\n >\n <XCircle className=\"size-4\" aria-hidden=\"true\" />\n {translate('brainyrich.insights.actions.dismiss', 'Dismiss')}\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n </CardHeader>\n <CardContent className=\"space-y-3\">\n {insight.detail ? <p className=\"text-sm text-text-secondary\">{insight.detail}</p> : null}\n <dl className=\"grid grid-cols-2 gap-3 rounded-lg bg-bg-sunken p-3 text-sm sm:grid-cols-3\">\n <div>\n <dt className=\"text-xs text-text-secondary\">\n {translate('brainyrich.insights.card.subjectType', 'Subject')}\n </dt>\n <dd className=\"font-medium text-text-primary\">{humanize(insight.subjectType)}</dd>\n </div>\n <div className=\"min-w-0\">\n <dt className=\"text-xs text-text-secondary\">\n {translate('brainyrich.insights.card.subject', 'Reference')}\n </dt>\n <dd\n className=\"truncate font-medium text-text-primary\"\n title={subjectName ? `${subjectName} (${insight.subjectId})` : insight.subjectId}\n >\n {subjectName ?? insight.subjectId}\n </dd>\n </div>\n <div>\n <dt className=\"text-xs text-text-secondary\">\n {translate('brainyrich.insights.card.created', 'Created')}\n </dt>\n <dd className=\"font-medium text-text-primary\">{formatDate(insight.createdAt)}</dd>\n </div>\n </dl>\n <div className=\"flex flex-wrap items-center gap-2\">\n <Button\n variant=\"outline\"\n size=\"sm\"\n disabled={acknowledgePending || insight.status === 'ACKNOWLEDGED' || isClosed}\n onClick={onAcknowledge}\n >\n <CheckCircle2 className=\"size-4\" aria-hidden=\"true\" />\n {translate('brainyrich.insights.actions.acknowledge', 'Acknowledge')}\n </Button>\n <Button\n size=\"sm\"\n disabled={resolvePending || insight.status === 'RESOLVED'}\n onClick={onResolve}\n >\n <CheckCircle2 className=\"size-4\" aria-hidden=\"true\" />\n {translate('brainyrich.insights.actions.resolve', 'Resolve')}\n </Button>\n </div>\n </CardContent>\n\n <ConfirmDialog\n open={dismissOpen}\n onOpenChange={setDismissOpen}\n title={translate('brainyrich.insights.dismiss.title', 'Dismiss this insight?')}\n description={translate(\n 'brainyrich.insights.dismiss.description',\n 'Dismissing removes this insight from active triage. You can still find it by filtering for dismissed insights.'\n )}\n confirmLabel={translate('brainyrich.insights.actions.dismiss', 'Dismiss')}\n pendingLabel={translate('brainyrich.insights.dismiss.pending', 'Dismissing…')}\n destructive\n pending={dismissPending}\n onConfirm={onDismiss}\n />\n </Card>\n );\n}\n\ninterface InsightFormDialogProps {\n open: boolean;\n form: InsightFormState;\n setField: <K extends keyof InsightFormState>(key: K, value: InsightFormState[K]) => void;\n metricsValid: boolean;\n valid: boolean;\n pending: boolean;\n onSubmit: () => void;\n onOpenChange: (open: boolean) => void;\n translate: Translate;\n}\n\nfunction InsightFormDialog({\n open,\n form,\n setField,\n metricsValid,\n valid,\n pending,\n onSubmit,\n onOpenChange,\n translate,\n}: InsightFormDialogProps) {\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent className=\"max-h-[90vh] overflow-y-auto sm:max-w-lg\">\n <DialogHeader>\n <DialogTitle>\n {translate('brainyrich.insights.form.createTitle', 'New insight')}\n </DialogTitle>\n <DialogDescription>\n {translate(\n 'brainyrich.insights.form.subtitle',\n 'Flag an advisory insight against a portfolio, account, goal or household.'\n )}\n </DialogDescription>\n </DialogHeader>\n\n <form\n className=\"space-y-4\"\n onSubmit={(e) => {\n e.preventDefault();\n onSubmit();\n }}\n >\n <div className=\"space-y-1.5\">\n <Label htmlFor=\"insight-title\">\n {translate('brainyrich.insights.form.title', 'Title')}\n </Label>\n <Input\n id=\"insight-title\"\n value={form.title}\n onChange={(e) => setField('title', e.target.value)}\n placeholder={translate(\n 'brainyrich.insights.form.titlePlaceholder',\n 'e.g. Technology concentration above threshold'\n )}\n required\n />\n </div>\n\n <div className=\"grid grid-cols-2 gap-3\">\n <div className=\"space-y-1.5\">\n <Label htmlFor=\"insight-type\">\n {translate('brainyrich.insights.form.type', 'Type')}\n </Label>\n <Select\n value={form.type}\n onValueChange={(v) => setField('type', v as BraInsightType)}\n >\n <SelectTrigger id=\"insight-type\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {INSIGHT_TYPES.map((tpe) => (\n <SelectItem key={tpe} value={tpe}>\n {humanize(tpe)}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"space-y-1.5\">\n <Label htmlFor=\"insight-severity\">\n {translate('brainyrich.insights.form.severity', 'Severity')}\n </Label>\n <Select\n value={form.severity}\n onValueChange={(v) => setField('severity', v as BraInsightSeverity)}\n >\n <SelectTrigger id=\"insight-severity\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {INSIGHT_SEVERITIES.map((s) => (\n <SelectItem key={s} value={s}>\n {humanize(s)}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n </div>\n\n <SubjectPicker\n id=\"insight-subject\"\n label={translate('brainyrich.insights.form.subject', 'Subject')}\n placeholder={translate(\n 'brainyrich.insights.form.subjectPlaceholder',\n 'Select an account, portfolio, goal or household'\n )}\n value={form.subject}\n onChange={(v) => setField('subject', v)}\n />\n\n <div className=\"space-y-1.5\">\n <Label htmlFor=\"insight-owner\">\n {translate('brainyrich.insights.form.ownerId', 'Owner ID (optional)')}\n </Label>\n <Input\n id=\"insight-owner\"\n value={form.ownerId}\n onChange={(e) => setField('ownerId', e.target.value)}\n placeholder={translate(\n 'brainyrich.insights.form.ownerIdPlaceholder',\n 'Defaults to the current owner'\n )}\n />\n </div>\n\n <div className=\"space-y-1.5\">\n <Label htmlFor=\"insight-detail\">\n {translate('brainyrich.insights.form.detail', 'Detail')}\n </Label>\n <Textarea\n id=\"insight-detail\"\n value={form.detail}\n onChange={(e) => setField('detail', e.target.value)}\n rows={3}\n placeholder={translate(\n 'brainyrich.insights.form.detailPlaceholder',\n 'Explain the finding and recommended action.'\n )}\n />\n </div>\n\n <div className=\"space-y-1.5\">\n <Label htmlFor=\"insight-metrics\">\n {translate('brainyrich.insights.form.metrics', 'Metrics JSON (optional)')}\n </Label>\n <Textarea\n id=\"insight-metrics\"\n value={form.metrics}\n onChange={(e) => setField('metrics', e.target.value)}\n rows={3}\n className=\"font-mono text-xs\"\n placeholder='{ \"driftPct\": 8.2 }'\n aria-invalid={!metricsValid}\n />\n {!metricsValid ? (\n <p className=\"flex items-center gap-1 text-xs text-status-error-text\">\n <AlertTriangle className=\"size-3.5\" aria-hidden=\"true\" />\n {translate(\n 'brainyrich.insights.form.metricsInvalid',\n 'Enter valid JSON or leave blank.'\n )}\n </p>\n ) : null}\n </div>\n\n <DialogFooter>\n <Button\n type=\"button\"\n variant=\"outline\"\n onClick={() => onOpenChange(false)}\n disabled={pending}\n >\n {translate('brainyrich.insights.form.cancel', 'Cancel')}\n </Button>\n <Button type=\"submit\" disabled={!valid || pending}>\n {pending\n ? translate('brainyrich.insights.form.saving', 'Saving…')\n : translate('brainyrich.insights.form.create', 'Create insight')}\n </Button>\n </DialogFooter>\n </form>\n </DialogContent>\n </Dialog>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AiAssistantPage.js","names":[],"sources":["../../../src/brainyrich/pages/AiAssistantPage.tsx"],"sourcesContent":["import { useMemo, useState } from 'react';\nimport {\n Badge,\n Button,\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n Dialog,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n Input,\n Label,\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n Textarea,\n} from '@burdenoff/fe-libs/ui';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport {\n AlertTriangle,\n BellRing,\n CheckCircle2,\n Info,\n Lightbulb,\n MoreHorizontal,\n Plus,\n ShieldAlert,\n XCircle,\n} from 'lucide-react';\nimport { tWithFallback } from '../utils/i18n';\nimport {\n useAccounts,\n useAcknowledgeInsight,\n useCreateInsight,\n useDismissInsight,\n useGoals,\n useHouseholds,\n usePagedInsights,\n usePortfolios,\n useResolveInsight,\n} from '../hooks/useBrainyRichApi';\nimport { ConfirmDialog, LoadMore, SubjectPicker, parseSubject } from '../components';\nimport {\n DonutChart,\n FadeIn,\n GlassCard,\n LifecycleStepper,\n StatTile,\n type VizTone,\n} from '../components/viz';\nimport type {\n BraCreateInsightInput,\n BraInsight,\n BraInsightSeverity,\n BraInsightStatus,\n BraInsightType,\n} from '../types/bra';\nimport {\n EmptyState,\n ErrorState,\n LoadingState,\n SectionShell,\n formatDate,\n statusBadgeVariant,\n} from './_shared';\n\nconst INSIGHT_TYPES: BraInsightType[] = [\n 'REBALANCE_DUE',\n 'DRIFT',\n 'CONCENTRATION_RISK',\n 'CASH_DRAG',\n 'FEE_ANOMALY',\n 'TAX_OPPORTUNITY',\n 'GOAL_AT_RISK',\n];\n\nconst INSIGHT_SEVERITIES: BraInsightSeverity[] = ['INFO', 'LOW', 'MEDIUM', 'HIGH', 'CRITICAL'];\n\nconst INSIGHT_STATUSES: BraInsightStatus[] = ['OPEN', 'ACKNOWLEDGED', 'RESOLVED', 'DISMISSED'];\n\nconst ALL = '__all__';\n\nfunction humanize(value: string): string {\n return value\n .toLowerCase()\n .split('_')\n .map((part) => part.charAt(0).toUpperCase() + part.slice(1))\n .join(' ');\n}\n\ninterface SeverityMeta {\n icon: typeof Info;\n tone: string;\n}\n\nfunction severityMeta(severity: BraInsightSeverity): SeverityMeta {\n switch (severity) {\n case 'CRITICAL':\n return { icon: ShieldAlert, tone: 'text-status-error-text' };\n case 'HIGH':\n return { icon: AlertTriangle, tone: 'text-status-error-text' };\n case 'MEDIUM':\n return { icon: BellRing, tone: 'text-status-warning-text' };\n case 'LOW':\n return { icon: Lightbulb, tone: 'text-status-warning-text' };\n case 'INFO':\n default:\n return { icon: Info, tone: 'text-text-secondary' };\n }\n}\n\nfunction severityTone(severity: BraInsightSeverity): VizTone {\n switch (severity) {\n case 'CRITICAL':\n return 'error';\n case 'HIGH':\n return 'purple';\n case 'MEDIUM':\n return 'warning';\n case 'LOW':\n return 'teal';\n case 'INFO':\n default:\n return 'info';\n }\n}\n\n/** Lifecycle steps for the triage stepper (DISMISSED is a terminal side-state). */\nconst LIFECYCLE_STEPS = ['Open', 'Acknowledged', 'Resolved'];\n\ninterface InsightFormState {\n title: string;\n type: BraInsightType;\n severity: BraInsightSeverity;\n /** Encoded `SUBJECT_TYPE:id` token from <SubjectPicker>. */\n subject: string;\n detail: string;\n metrics: string;\n ownerId: string;\n}\n\nfunction emptyForm(): InsightFormState {\n return {\n title: '',\n type: 'DRIFT',\n severity: 'MEDIUM',\n subject: '',\n detail: '',\n metrics: '',\n ownerId: '',\n };\n}\n\nexport function AiAssistantPage() {\n const { t } = useI18n();\n const translate = (key: string, fallback: string, params?: Record<string, string | number>) =>\n tWithFallback(t, key, fallback, params);\n\n const [severityFilter, setSeverityFilter] = useState<string>(ALL);\n const [statusFilter, setStatusFilter] = useState<string>(ALL);\n const [typeFilter, setTypeFilter] = useState<string>(ALL);\n\n const {\n items: insights,\n hasMore,\n loadMore,\n isLoading,\n isFetchingNextPage,\n isError,\n refetch,\n } = usePagedInsights({\n ...(severityFilter !== ALL ? { severity: severityFilter as BraInsightSeverity } : {}),\n ...(statusFilter !== ALL ? { status: statusFilter as BraInsightStatus } : {}),\n });\n\n // Resolve subjectId -> referenced entity name via the list queries (react-query\n // dedupes these with the SubjectPicker's own calls).\n const accounts = useAccounts();\n const portfolios = usePortfolios();\n const goals = useGoals();\n const households = useHouseholds();\n const subjectNames = useMemo(() => {\n const map = new Map<string, string>();\n for (const a of accounts.data) map.set(a.id, a.name);\n for (const p of portfolios.data) map.set(p.id, p.name);\n for (const g of goals.data) map.set(g.id, g.name);\n for (const h of households.data) map.set(h.id, h.name);\n return map;\n }, [accounts.data, portfolios.data, goals.data, households.data]);\n\n const acknowledge = useAcknowledgeInsight();\n const dismiss = useDismissInsight();\n const resolve = useResolveInsight();\n const createInsight = useCreateInsight();\n\n const [createOpen, setCreateOpen] = useState(false);\n const [form, setForm] = useState<InsightFormState>(emptyForm);\n\n const setField = <K extends keyof InsightFormState>(key: K, value: InsightFormState[K]) =>\n setForm((prev) => ({ ...prev, [key]: value }));\n\n // Type is not a backend filter arg — narrow client-side.\n const filtered = useMemo(\n () => (typeFilter === ALL ? insights : insights.filter((i) => i.type === typeFilter)),\n [insights, typeFilter]\n );\n\n const counts = useMemo(() => {\n const open = insights.filter((i) => i.status === 'OPEN').length;\n const critical = insights.filter((i) => i.severity === 'CRITICAL').length;\n const urgent = insights.filter(\n (i) => i.severity === 'HIGH' || i.severity === 'CRITICAL'\n ).length;\n const resolved = insights.filter((i) => i.status === 'RESOLVED').length;\n return { open, critical, urgent, resolved };\n }, [insights]);\n\n // Severity mix across the loaded inbox — drives the hero donut (real data only).\n const severityDist = useMemo(\n () =>\n INSIGHT_SEVERITIES.map((s) => ({\n label: humanize(s),\n value: insights.filter((i) => i.severity === s).length,\n tone: severityTone(s),\n })).filter((d) => d.value > 0),\n [insights]\n );\n\n const metricsValid = useMemo(() => {\n if (!form.metrics.trim()) return true;\n try {\n JSON.parse(form.metrics);\n return true;\n } catch {\n return false;\n }\n }, [form.metrics]);\n\n const formValid =\n form.title.trim().length > 0 && parseSubject(form.subject) !== null && metricsValid;\n\n const openCreate = () => {\n setForm(emptyForm());\n setCreateOpen(true);\n };\n\n const handleCreate = () => {\n if (!formValid) return;\n const subject = parseSubject(form.subject);\n if (!subject) return;\n let metrics: Record<string, unknown> | undefined;\n if (form.metrics.trim()) {\n try {\n metrics = JSON.parse(form.metrics) as Record<string, unknown>;\n } catch {\n return;\n }\n }\n const input: BraCreateInsightInput = {\n title: form.title.trim(),\n type: form.type,\n severity: form.severity,\n subjectType: subject.subjectType,\n subjectId: subject.subjectId,\n detail: form.detail.trim() || null,\n ...(metrics ? { metrics } : {}),\n ...(form.ownerId.trim() ? { ownerId: form.ownerId.trim() } : {}),\n };\n createInsight.mutate(input, { onSuccess: () => setCreateOpen(false) });\n };\n\n const anyFilterActive = severityFilter !== ALL || statusFilter !== ALL || typeFilter !== ALL;\n\n const body = () => {\n if (isLoading) return <LoadingState rows={4} />;\n if (isError)\n return (\n <ErrorState\n title={translate('brainyrich.insights.error.title', 'Could not load insights')}\n description={translate(\n 'brainyrich.insights.error.description',\n 'We could not reach the insights service. Please try again.'\n )}\n onRetry={() => refetch()}\n />\n );\n\n return (\n <>\n {/* Hero — premium KPI tiles + severity-mix donut, wired to the live inbox */}\n <FadeIn className=\"grid gap-4 lg:grid-cols-[minmax(0,1.55fr)_minmax(0,1fr)]\">\n <div className=\"grid grid-cols-2 gap-4 sm:grid-cols-4 lg:grid-cols-2 xl:grid-cols-4\">\n <StatTile\n label={translate('brainyrich.insights.metrics.total', 'Signals')}\n value={String(insights.length)}\n glow\n icon={<BellRing className=\"size-4\" aria-hidden=\"true\" />}\n />\n <StatTile\n label={translate('brainyrich.insights.metrics.open', 'Open')}\n value={String(counts.open)}\n icon={<Info className=\"size-4\" aria-hidden=\"true\" />}\n />\n <StatTile\n label={translate('brainyrich.insights.metrics.critical', 'Critical')}\n value={String(counts.critical)}\n deltaTone={counts.critical > 0 ? 'negative' : 'positive'}\n icon={<ShieldAlert className=\"size-4\" aria-hidden=\"true\" />}\n />\n <StatTile\n label={translate('brainyrich.insights.metrics.resolved', 'Resolved')}\n value={String(counts.resolved)}\n deltaTone=\"positive\"\n icon={<CheckCircle2 className=\"size-4\" aria-hidden=\"true\" />}\n />\n </div>\n\n <GlassCard className=\"flex min-w-0 flex-col p-5\">\n <p className=\"text-sm font-medium text-text-primary\">\n {translate('brainyrich.insights.hero.severityMix', 'Severity mix')}\n </p>\n <p className=\"text-xs text-text-secondary\">\n {translate(\n 'brainyrich.insights.hero.severityMixHint',\n 'Distribution across the loaded inbox'\n )}\n </p>\n {severityDist.length > 0 ? (\n <div className=\"mt-2 min-w-0\">\n <DonutChart\n data={severityDist}\n centerLabel={translate('brainyrich.insights.hero.center', 'Signals')}\n centerValue={String(insights.length)}\n height={200}\n />\n </div>\n ) : (\n <p className=\"mt-6 text-sm text-text-secondary\">\n {translate('brainyrich.insights.hero.noData', 'No signals to chart yet.')}\n </p>\n )}\n </GlassCard>\n </FadeIn>\n\n {/* Quick-triage summary chips — toggle the underlying filters */}\n <FadeIn index={1} className=\"flex flex-wrap gap-2\">\n <SummaryChip\n label={translate('brainyrich.insights.metrics.open', 'Open')}\n count={counts.open}\n tone=\"info\"\n active={statusFilter === 'OPEN'}\n onClick={() => {\n setStatusFilter(statusFilter === 'OPEN' ? ALL : 'OPEN');\n setSeverityFilter(ALL);\n }}\n />\n <SummaryChip\n label={translate('brainyrich.insights.metrics.critical', 'Critical')}\n count={counts.critical}\n tone=\"error\"\n active={severityFilter === 'CRITICAL'}\n onClick={() => {\n setSeverityFilter(severityFilter === 'CRITICAL' ? ALL : 'CRITICAL');\n setStatusFilter(ALL);\n }}\n />\n <SummaryChip\n label={translate('brainyrich.insights.metrics.resolved', 'Resolved')}\n count={counts.resolved}\n tone=\"success\"\n active={statusFilter === 'RESOLVED'}\n onClick={() => {\n setStatusFilter(statusFilter === 'RESOLVED' ? ALL : 'RESOLVED');\n setSeverityFilter(ALL);\n }}\n />\n </FadeIn>\n\n {/* Filters */}\n <Card>\n <CardContent className=\"flex flex-col gap-3 p-4 sm:flex-row sm:items-end\">\n <div className=\"w-full space-y-1.5 sm:w-48\">\n <Label htmlFor=\"insight-filter-severity\">\n {translate('brainyrich.insights.filters.severity', 'Severity')}\n </Label>\n <Select value={severityFilter} onValueChange={setSeverityFilter}>\n <SelectTrigger id=\"insight-filter-severity\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value={ALL}>\n {translate('brainyrich.insights.filters.all', 'All')}\n </SelectItem>\n {INSIGHT_SEVERITIES.map((s) => (\n <SelectItem key={s} value={s}>\n {humanize(s)}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"w-full space-y-1.5 sm:w-48\">\n <Label htmlFor=\"insight-filter-status\">\n {translate('brainyrich.insights.filters.status', 'Status')}\n </Label>\n <Select value={statusFilter} onValueChange={setStatusFilter}>\n <SelectTrigger id=\"insight-filter-status\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value={ALL}>\n {translate('brainyrich.insights.filters.all', 'All')}\n </SelectItem>\n {INSIGHT_STATUSES.map((s) => (\n <SelectItem key={s} value={s}>\n {humanize(s)}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"w-full space-y-1.5 sm:w-56\">\n <Label htmlFor=\"insight-filter-type\">\n {translate('brainyrich.insights.filters.type', 'Type')}\n </Label>\n <Select value={typeFilter} onValueChange={setTypeFilter}>\n <SelectTrigger id=\"insight-filter-type\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value={ALL}>\n {translate('brainyrich.insights.filters.all', 'All')}\n </SelectItem>\n {INSIGHT_TYPES.map((s) => (\n <SelectItem key={s} value={s}>\n {humanize(s)}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n </CardContent>\n </Card>\n\n {filtered.length === 0 ? (\n <EmptyState\n icon={<BellRing className=\"size-6\" aria-hidden=\"true\" />}\n title={\n anyFilterActive\n ? translate('brainyrich.insights.empty.filteredTitle', 'No matching insights')\n : translate('brainyrich.insights.empty.title', 'No advisory insights yet')\n }\n description={\n anyFilterActive\n ? translate(\n 'brainyrich.insights.empty.filteredDescription',\n 'No insights match the selected filters. Adjust or clear them to see more.'\n )\n : translate(\n 'brainyrich.insights.empty.description',\n 'Advisory insights flag rebalancing, drift, concentration and other opportunities. Create one to get started.'\n )\n }\n action={\n anyFilterActive ? (\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={() => {\n setSeverityFilter(ALL);\n setStatusFilter(ALL);\n setTypeFilter(ALL);\n }}\n >\n {translate('brainyrich.insights.actions.clearFilters', 'Clear filters')}\n </Button>\n ) : (\n <Button size=\"sm\" onClick={openCreate}>\n <Plus className=\"size-4\" aria-hidden=\"true\" />\n {translate('brainyrich.insights.actions.create', 'New insight')}\n </Button>\n )\n }\n />\n ) : (\n <div className=\"space-y-3\">\n {filtered.map((insight, idx) => (\n <InsightCard\n key={insight.id}\n index={idx}\n insight={insight}\n subjectName={subjectNames.get(insight.subjectId)}\n translate={translate}\n onAcknowledge={() => acknowledge.mutate(insight.id)}\n onDismiss={() => dismiss.mutate(insight.id)}\n onResolve={() => resolve.mutate(insight.id)}\n acknowledgePending={acknowledge.isPending}\n dismissPending={dismiss.isPending}\n resolvePending={resolve.isPending}\n />\n ))}\n </div>\n )}\n\n <LoadMore\n hasMore={hasMore}\n onClick={loadMore}\n loading={isFetchingNextPage}\n label={translate('brainyrich.insights.actions.loadMore', 'Load more insights')}\n />\n </>\n );\n };\n\n return (\n <>\n <SectionShell\n title={translate('brainyrich.insights.title', 'Insights')}\n description={translate(\n 'brainyrich.insights.description',\n 'Advisory insights across portfolios, accounts and goals — triage, acknowledge and resolve.'\n )}\n badges={[translate('brainyrich.insights.badges.advisory', 'Advisory')]}\n actionLabel={translate('brainyrich.insights.actions.create', 'New insight')}\n onAction={openCreate}\n >\n {body()}\n </SectionShell>\n\n <InsightFormDialog\n open={createOpen}\n form={form}\n setField={setField}\n metricsValid={metricsValid}\n valid={formValid}\n pending={createInsight.isPending}\n onSubmit={handleCreate}\n onOpenChange={(v) => setCreateOpen(v)}\n translate={translate}\n />\n </>\n );\n}\n\ntype Translate = (\n key: string,\n fallback: string,\n params?: Record<string, string | number>\n) => string;\n\ninterface SummaryChipProps {\n label: string;\n count: number;\n tone: 'info' | 'error' | 'success';\n active: boolean;\n onClick: () => void;\n}\n\nfunction SummaryChip({ label, count, tone, active, onClick }: SummaryChipProps) {\n const dotClass =\n tone === 'error'\n ? 'bg-status-error-text'\n : tone === 'success'\n ? 'bg-status-success-text'\n : 'bg-status-info-text';\n return (\n <button\n type=\"button\"\n onClick={onClick}\n aria-pressed={active}\n className={`group inline-flex items-center gap-2 rounded-full border px-3.5 py-1.5 text-sm font-medium transition-colors motion-safe:transition-shadow focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-action-primary-border)] ${\n active\n ? 'border-[var(--color-action-primary-border)] bg-bg-elevated text-text-primary shadow-[var(--shadow-elevation-1)]'\n : 'border-border-subtle bg-bg-surface text-text-secondary hover:border-[var(--color-action-primary-border)] hover:text-text-primary'\n }`}\n >\n <span className={`size-2 rounded-full ${dotClass}`} aria-hidden=\"true\" />\n {label}\n <span className=\"rounded-full bg-bg-sunken px-2 py-0.5 text-xs tabular-nums text-text-primary\">\n {count}\n </span>\n </button>\n );\n}\n\ninterface InsightCardProps {\n index: number;\n insight: BraInsight;\n /** Referenced entity name resolved from the list queries, if known. */\n subjectName?: string;\n translate: Translate;\n onAcknowledge: () => void;\n onDismiss: () => void;\n onResolve: () => void;\n acknowledgePending: boolean;\n dismissPending: boolean;\n resolvePending: boolean;\n}\n\nfunction InsightCard({\n index,\n insight,\n subjectName,\n translate,\n onAcknowledge,\n onDismiss,\n onResolve,\n acknowledgePending,\n dismissPending,\n resolvePending,\n}: InsightCardProps) {\n const meta = severityMeta(insight.severity);\n const SeverityIcon = meta.icon;\n const isClosed = insight.status === 'RESOLVED' || insight.status === 'DISMISSED';\n const isDismissed = insight.status === 'DISMISSED';\n const [dismissOpen, setDismissOpen] = useState(false);\n\n return (\n <FadeIn as=\"div\" index={index}>\n <Card className=\"overflow-hidden transition-shadow motion-safe:hover:shadow-[var(--shadow-elevation-2)]\">\n <CardHeader className=\"pb-3\">\n <div className=\"flex items-start justify-between gap-3\">\n <div className=\"flex min-w-0 items-start gap-3\">\n <span\n className={`mt-0.5 flex size-9 shrink-0 items-center justify-center rounded-full bg-bg-sunken ${meta.tone}`}\n >\n <SeverityIcon className=\"size-5\" aria-hidden=\"true\" />\n </span>\n <div className=\"min-w-0\">\n <CardTitle className=\"text-base\">{insight.title}</CardTitle>\n <CardDescription className=\"mt-1 flex flex-wrap items-center gap-2\">\n <Badge variant=\"outline\">{humanize(insight.type)}</Badge>\n <Badge variant={statusBadgeVariant(insight.severity)}>\n <span className={`inline-flex items-center gap-1 ${meta.tone}`}>\n <SeverityIcon className=\"size-3\" aria-hidden=\"true\" />\n {humanize(insight.severity)}\n </span>\n </Badge>\n <Badge variant={statusBadgeVariant(insight.status)}>\n {humanize(insight.status)}\n </Badge>\n </CardDescription>\n </div>\n </div>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button\n variant=\"ghost\"\n size=\"icon\"\n aria-label={translate('brainyrich.insights.actions.menu', 'Insight actions')}\n >\n <MoreHorizontal className=\"size-4\" aria-hidden=\"true\" />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem\n disabled={acknowledgePending || insight.status === 'ACKNOWLEDGED' || isClosed}\n onSelect={onAcknowledge}\n >\n <CheckCircle2 className=\"size-4\" aria-hidden=\"true\" />\n {translate('brainyrich.insights.actions.acknowledge', 'Acknowledge')}\n </DropdownMenuItem>\n <DropdownMenuItem\n disabled={resolvePending || insight.status === 'RESOLVED'}\n onSelect={onResolve}\n >\n <CheckCircle2 className=\"size-4\" aria-hidden=\"true\" />\n {translate('brainyrich.insights.actions.resolve', 'Resolve')}\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem\n className=\"text-status-error-text focus:text-status-error-text\"\n disabled={dismissPending || insight.status === 'DISMISSED'}\n onSelect={(e) => {\n e.preventDefault();\n setDismissOpen(true);\n }}\n >\n <XCircle className=\"size-4\" aria-hidden=\"true\" />\n {translate('brainyrich.insights.actions.dismiss', 'Dismiss')}\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n </CardHeader>\n <CardContent className=\"space-y-3\">\n {insight.detail ? <p className=\"text-sm text-text-secondary\">{insight.detail}</p> : null}\n <dl className=\"grid grid-cols-2 gap-3 rounded-lg bg-bg-sunken p-3 text-sm sm:grid-cols-3\">\n <div>\n <dt className=\"text-xs text-text-secondary\">\n {translate('brainyrich.insights.card.subjectType', 'Subject')}\n </dt>\n <dd className=\"font-medium text-text-primary\">{humanize(insight.subjectType)}</dd>\n </div>\n <div className=\"min-w-0\">\n <dt className=\"text-xs text-text-secondary\">\n {translate('brainyrich.insights.card.subject', 'Reference')}\n </dt>\n <dd\n className=\"truncate font-medium text-text-primary\"\n title={subjectName ? `${subjectName} (${insight.subjectId})` : insight.subjectId}\n >\n {subjectName ?? insight.subjectId}\n </dd>\n </div>\n <div>\n <dt className=\"text-xs text-text-secondary\">\n {translate('brainyrich.insights.card.created', 'Created')}\n </dt>\n <dd className=\"font-medium text-text-primary\">{formatDate(insight.createdAt)}</dd>\n </div>\n </dl>\n {isDismissed ? (\n <div className=\"flex items-center gap-2 rounded-lg bg-bg-sunken px-3 py-2 text-sm text-text-secondary\">\n <XCircle className=\"size-4 text-status-error-text\" aria-hidden=\"true\" />\n {translate('brainyrich.insights.card.dismissed', 'Dismissed from active triage')}\n </div>\n ) : (\n <LifecycleStepper steps={LIFECYCLE_STEPS} current={humanize(insight.status)} />\n )}\n <div className=\"flex flex-wrap items-center gap-2\">\n <Button\n variant=\"outline\"\n size=\"sm\"\n disabled={acknowledgePending || insight.status === 'ACKNOWLEDGED' || isClosed}\n onClick={onAcknowledge}\n >\n <CheckCircle2 className=\"size-4\" aria-hidden=\"true\" />\n {translate('brainyrich.insights.actions.acknowledge', 'Acknowledge')}\n </Button>\n <Button\n size=\"sm\"\n disabled={resolvePending || insight.status === 'RESOLVED'}\n onClick={onResolve}\n >\n <CheckCircle2 className=\"size-4\" aria-hidden=\"true\" />\n {translate('brainyrich.insights.actions.resolve', 'Resolve')}\n </Button>\n </div>\n </CardContent>\n\n <ConfirmDialog\n open={dismissOpen}\n onOpenChange={setDismissOpen}\n title={translate('brainyrich.insights.dismiss.title', 'Dismiss this insight?')}\n description={translate(\n 'brainyrich.insights.dismiss.description',\n 'Dismissing removes this insight from active triage. You can still find it by filtering for dismissed insights.'\n )}\n confirmLabel={translate('brainyrich.insights.actions.dismiss', 'Dismiss')}\n pendingLabel={translate('brainyrich.insights.dismiss.pending', 'Dismissing…')}\n destructive\n pending={dismissPending}\n onConfirm={onDismiss}\n />\n </Card>\n </FadeIn>\n );\n}\n\ninterface InsightFormDialogProps {\n open: boolean;\n form: InsightFormState;\n setField: <K extends keyof InsightFormState>(key: K, value: InsightFormState[K]) => void;\n metricsValid: boolean;\n valid: boolean;\n pending: boolean;\n onSubmit: () => void;\n onOpenChange: (open: boolean) => void;\n translate: Translate;\n}\n\nfunction InsightFormDialog({\n open,\n form,\n setField,\n metricsValid,\n valid,\n pending,\n onSubmit,\n onOpenChange,\n translate,\n}: InsightFormDialogProps) {\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent className=\"max-h-[90vh] overflow-y-auto sm:max-w-lg\">\n <DialogHeader>\n <DialogTitle>\n {translate('brainyrich.insights.form.createTitle', 'New insight')}\n </DialogTitle>\n <DialogDescription>\n {translate(\n 'brainyrich.insights.form.subtitle',\n 'Flag an advisory insight against a portfolio, account, goal or household.'\n )}\n </DialogDescription>\n </DialogHeader>\n\n <form\n className=\"space-y-4\"\n onSubmit={(e) => {\n e.preventDefault();\n onSubmit();\n }}\n >\n <div className=\"space-y-1.5\">\n <Label htmlFor=\"insight-title\">\n {translate('brainyrich.insights.form.title', 'Title')}\n </Label>\n <Input\n id=\"insight-title\"\n value={form.title}\n onChange={(e) => setField('title', e.target.value)}\n placeholder={translate(\n 'brainyrich.insights.form.titlePlaceholder',\n 'e.g. Technology concentration above threshold'\n )}\n required\n />\n </div>\n\n <div className=\"grid grid-cols-2 gap-3\">\n <div className=\"space-y-1.5\">\n <Label htmlFor=\"insight-type\">\n {translate('brainyrich.insights.form.type', 'Type')}\n </Label>\n <Select\n value={form.type}\n onValueChange={(v) => setField('type', v as BraInsightType)}\n >\n <SelectTrigger id=\"insight-type\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {INSIGHT_TYPES.map((tpe) => (\n <SelectItem key={tpe} value={tpe}>\n {humanize(tpe)}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"space-y-1.5\">\n <Label htmlFor=\"insight-severity\">\n {translate('brainyrich.insights.form.severity', 'Severity')}\n </Label>\n <Select\n value={form.severity}\n onValueChange={(v) => setField('severity', v as BraInsightSeverity)}\n >\n <SelectTrigger id=\"insight-severity\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {INSIGHT_SEVERITIES.map((s) => (\n <SelectItem key={s} value={s}>\n {humanize(s)}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n </div>\n\n <SubjectPicker\n id=\"insight-subject\"\n label={translate('brainyrich.insights.form.subject', 'Subject')}\n placeholder={translate(\n 'brainyrich.insights.form.subjectPlaceholder',\n 'Select an account, portfolio, goal or household'\n )}\n value={form.subject}\n onChange={(v) => setField('subject', v)}\n />\n\n <div className=\"space-y-1.5\">\n <Label htmlFor=\"insight-owner\">\n {translate('brainyrich.insights.form.ownerId', 'Owner ID (optional)')}\n </Label>\n <Input\n id=\"insight-owner\"\n value={form.ownerId}\n onChange={(e) => setField('ownerId', e.target.value)}\n placeholder={translate(\n 'brainyrich.insights.form.ownerIdPlaceholder',\n 'Defaults to the current owner'\n )}\n />\n </div>\n\n <div className=\"space-y-1.5\">\n <Label htmlFor=\"insight-detail\">\n {translate('brainyrich.insights.form.detail', 'Detail')}\n </Label>\n <Textarea\n id=\"insight-detail\"\n value={form.detail}\n onChange={(e) => setField('detail', e.target.value)}\n rows={3}\n placeholder={translate(\n 'brainyrich.insights.form.detailPlaceholder',\n 'Explain the finding and recommended action.'\n )}\n />\n </div>\n\n <div className=\"space-y-1.5\">\n <Label htmlFor=\"insight-metrics\">\n {translate('brainyrich.insights.form.metrics', 'Metrics JSON (optional)')}\n </Label>\n <Textarea\n id=\"insight-metrics\"\n value={form.metrics}\n onChange={(e) => setField('metrics', e.target.value)}\n rows={3}\n className=\"font-mono text-xs\"\n placeholder='{ \"driftPct\": 8.2 }'\n aria-invalid={!metricsValid}\n />\n {!metricsValid ? (\n <p className=\"flex items-center gap-1 text-xs text-status-error-text\">\n <AlertTriangle className=\"size-3.5\" aria-hidden=\"true\" />\n {translate(\n 'brainyrich.insights.form.metricsInvalid',\n 'Enter valid JSON or leave blank.'\n )}\n </p>\n ) : null}\n </div>\n\n <DialogFooter>\n <Button\n type=\"button\"\n variant=\"outline\"\n onClick={() => onOpenChange(false)}\n disabled={pending}\n >\n {translate('brainyrich.insights.form.cancel', 'Cancel')}\n </Button>\n <Button type=\"submit\" disabled={!valid || pending}>\n {pending\n ? translate('brainyrich.insights.form.saving', 'Saving…')\n : translate('brainyrich.insights.form.create', 'Create insight')}\n </Button>\n </DialogFooter>\n </form>\n </DialogContent>\n </Dialog>\n );\n}\n"],"mappings":"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"}
|