feat: Added frontend for The Catalyst tab (#10)
Added frontend for "The Catalyst" tab. Co-authored-by: Sayan Datta <sayan@Sayans-MacBook-Air.local> Reviewed-on: #10
This commit was merged in pull request #10.
This commit is contained in:
0
app/node_modules/.bin/tsc
generated
vendored
Normal file → Executable file
0
app/node_modules/.bin/tsc
generated
vendored
Normal file → Executable file
0
app/node_modules/.bin/vite
generated
vendored
Normal file → Executable file
0
app/node_modules/.bin/vite
generated
vendored
Normal file → Executable file
106
app/node_modules/.package-lock.json
generated
vendored
106
app/node_modules/.package-lock.json
generated
vendored
@@ -1835,18 +1835,18 @@
|
||||
"react": ">=16.8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/win32-x64": {
|
||||
"node_modules/@esbuild/darwin-arm64": {
|
||||
"version": "0.27.2",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.2.tgz",
|
||||
"integrity": "sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.2.tgz",
|
||||
"integrity": "sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
"darwin"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
@@ -3922,32 +3922,18 @@
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@rollup/rollup-win32-x64-gnu": {
|
||||
"node_modules/@rollup/rollup-darwin-arm64": {
|
||||
"version": "4.55.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.55.1.tgz",
|
||||
"integrity": "sha512-xGGY5pXj69IxKb4yv/POoocPy/qmEGhimy/FoTpTSVju3FYXUQQMFCaZZXJVidsmGxRioZAwpThl/4zX41gRKg==",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.55.1.tgz",
|
||||
"integrity": "sha512-p3grE2PHcQm2e8PSGZdzIhCKbMCw/xi9XvMPErPhwO17vxtvCN5FEA2mSLgmKlCjHGMQTP6phuQTYWUnKewwGg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-win32-x64-msvc": {
|
||||
"version": "4.55.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.55.1.tgz",
|
||||
"integrity": "sha512-SPEpaL6DX4rmcXtnhdrQYgzQ5W2uW3SCJch88lB2zImhJRhIIK44fkUrgIV/Q8yUNfw5oyZ5vkeQsZLhCb06lw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
"darwin"
|
||||
]
|
||||
},
|
||||
"node_modules/@standard-schema/utils": {
|
||||
@@ -5008,6 +4994,19 @@
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/cookie": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz",
|
||||
"integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/express"
|
||||
}
|
||||
},
|
||||
"node_modules/core-js-compat": {
|
||||
"version": "3.48.0",
|
||||
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.48.0.tgz",
|
||||
@@ -5777,6 +5776,21 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/fsevents": {
|
||||
"version": "2.3.3",
|
||||
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
|
||||
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"engines": {
|
||||
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/function-bind": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
|
||||
@@ -6961,6 +6975,44 @@
|
||||
"react-dom": "^18.0.0 || ^19.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/react-router": {
|
||||
"version": "7.13.1",
|
||||
"resolved": "https://registry.npmjs.org/react-router/-/react-router-7.13.1.tgz",
|
||||
"integrity": "sha512-td+xP4X2/6BJvZoX6xw++A2DdEi++YypA69bJUV5oVvqf6/9/9nNlD70YO1e9d3MyamJEBQFEzk6mbfDYbqrSA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"cookie": "^1.0.1",
|
||||
"set-cookie-parser": "^2.6.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=20.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": ">=18",
|
||||
"react-dom": ">=18"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"react-dom": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/react-router-dom": {
|
||||
"version": "7.13.1",
|
||||
"resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.13.1.tgz",
|
||||
"integrity": "sha512-UJnV3Rxc5TgUPJt2KJpo1Jpy0OKQr0AjgbZzBFjaPJcFOb2Y8jA5H3LT8HUJAiRLlWrEXWHbF1Z4SCZaQjWDHw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"react-router": "7.13.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=20.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": ">=18",
|
||||
"react-dom": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/react-smooth": {
|
||||
"version": "4.0.4",
|
||||
"resolved": "https://registry.npmjs.org/react-smooth/-/react-smooth-4.0.4.tgz",
|
||||
@@ -7291,6 +7343,12 @@
|
||||
"semver": "bin/semver.js"
|
||||
}
|
||||
},
|
||||
"node_modules/set-cookie-parser": {
|
||||
"version": "2.7.2",
|
||||
"resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz",
|
||||
"integrity": "sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/shebang-command": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
|
||||
|
||||
2
app/node_modules/.tmp/tsconfig.app.tsbuildinfo
generated
vendored
2
app/node_modules/.tmp/tsconfig.app.tsbuildinfo
generated
vendored
@@ -1 +1 @@
|
||||
{"root":["../../src/app.tsx","../../src/main.tsx","../../src/app/oracle/page.tsx","../../src/components/layout/loginscreen.tsx","../../src/components/layout/sidebar.tsx","../../src/components/modules/dashboard.tsx","../../src/components/modules/inventory.tsx","../../src/components/modules/oracle.tsx","../../src/components/modules/sentinel.tsx","../../src/components/modules/settings.tsx","../../src/components/oracle/leadinspector.tsx","../../src/components/oracle/pipelineview.tsx","../../src/components/oracle/mockleads.ts","../../src/components/sentinel/journeyriver/inspectorpanel.tsx","../../src/components/sentinel/journeyriver/riverpath.tsx","../../src/components/sentinel/journeyriver/index.tsx","../../src/components/ui/accordion.tsx","../../src/components/ui/alert-dialog.tsx","../../src/components/ui/alert.tsx","../../src/components/ui/aspect-ratio.tsx","../../src/components/ui/avatar.tsx","../../src/components/ui/badge.tsx","../../src/components/ui/breadcrumb.tsx","../../src/components/ui/button-group.tsx","../../src/components/ui/button.tsx","../../src/components/ui/calendar.tsx","../../src/components/ui/card.tsx","../../src/components/ui/carousel.tsx","../../src/components/ui/chart.tsx","../../src/components/ui/checkbox.tsx","../../src/components/ui/collapsible.tsx","../../src/components/ui/command.tsx","../../src/components/ui/context-menu.tsx","../../src/components/ui/dialog.tsx","../../src/components/ui/drawer.tsx","../../src/components/ui/dropdown-menu.tsx","../../src/components/ui/empty.tsx","../../src/components/ui/field.tsx","../../src/components/ui/form.tsx","../../src/components/ui/hover-card.tsx","../../src/components/ui/input-group.tsx","../../src/components/ui/input-otp.tsx","../../src/components/ui/input.tsx","../../src/components/ui/item.tsx","../../src/components/ui/kbd.tsx","../../src/components/ui/label.tsx","../../src/components/ui/menubar.tsx","../../src/components/ui/navigation-menu.tsx","../../src/components/ui/pagination.tsx","../../src/components/ui/popover.tsx","../../src/components/ui/progress.tsx","../../src/components/ui/radio-group.tsx","../../src/components/ui/resizable.tsx","../../src/components/ui/scroll-area.tsx","../../src/components/ui/select.tsx","../../src/components/ui/separator.tsx","../../src/components/ui/sheet.tsx","../../src/components/ui/sidebar.tsx","../../src/components/ui/skeleton.tsx","../../src/components/ui/slider.tsx","../../src/components/ui/sonner.tsx","../../src/components/ui/spinner.tsx","../../src/components/ui/switch.tsx","../../src/components/ui/table.tsx","../../src/components/ui/tabs.tsx","../../src/components/ui/textarea.tsx","../../src/components/ui/toggle-group.tsx","../../src/components/ui/toggle.tsx","../../src/components/ui/tooltip.tsx","../../src/hooks/use-mobile.ts","../../src/lib/oraclequeryclient.ts","../../src/lib/utils.ts","../../src/store/usestore.ts","../../src/types/crm.ts","../../src/types/index.ts","../../src/utils/curvegenerator.ts"],"version":"5.9.3"}
|
||||
{"root":["../../src/app.tsx","../../src/main.tsx","../../src/app/oracle/page.tsx","../../src/components/layout/loginscreen.tsx","../../src/components/layout/sidebar.tsx","../../src/components/modules/catalyst.tsx","../../src/components/modules/dashboard.tsx","../../src/components/modules/inventory.tsx","../../src/components/modules/oracle.tsx","../../src/components/modules/sentinel.tsx","../../src/components/modules/settings.tsx","../../src/components/oracle/leadinspector.tsx","../../src/components/oracle/pipelineview.tsx","../../src/components/oracle/mockleads.ts","../../src/components/sentinel/journeyriver/inspectorpanel.tsx","../../src/components/sentinel/journeyriver/riverpath.tsx","../../src/components/sentinel/journeyriver/index.tsx","../../src/components/ui/accordion.tsx","../../src/components/ui/alert-dialog.tsx","../../src/components/ui/alert.tsx","../../src/components/ui/aspect-ratio.tsx","../../src/components/ui/avatar.tsx","../../src/components/ui/badge.tsx","../../src/components/ui/breadcrumb.tsx","../../src/components/ui/button-group.tsx","../../src/components/ui/button.tsx","../../src/components/ui/calendar.tsx","../../src/components/ui/card.tsx","../../src/components/ui/carousel.tsx","../../src/components/ui/chart.tsx","../../src/components/ui/checkbox.tsx","../../src/components/ui/collapsible.tsx","../../src/components/ui/command.tsx","../../src/components/ui/context-menu.tsx","../../src/components/ui/dialog.tsx","../../src/components/ui/drawer.tsx","../../src/components/ui/dropdown-menu.tsx","../../src/components/ui/empty.tsx","../../src/components/ui/field.tsx","../../src/components/ui/form.tsx","../../src/components/ui/hover-card.tsx","../../src/components/ui/input-group.tsx","../../src/components/ui/input-otp.tsx","../../src/components/ui/input.tsx","../../src/components/ui/item.tsx","../../src/components/ui/kbd.tsx","../../src/components/ui/label.tsx","../../src/components/ui/menubar.tsx","../../src/components/ui/navigation-menu.tsx","../../src/components/ui/pagination.tsx","../../src/components/ui/popover.tsx","../../src/components/ui/progress.tsx","../../src/components/ui/radio-group.tsx","../../src/components/ui/resizable.tsx","../../src/components/ui/scroll-area.tsx","../../src/components/ui/select.tsx","../../src/components/ui/separator.tsx","../../src/components/ui/sheet.tsx","../../src/components/ui/sidebar.tsx","../../src/components/ui/skeleton.tsx","../../src/components/ui/slider.tsx","../../src/components/ui/sonner.tsx","../../src/components/ui/spinner.tsx","../../src/components/ui/switch.tsx","../../src/components/ui/table.tsx","../../src/components/ui/tabs.tsx","../../src/components/ui/textarea.tsx","../../src/components/ui/toggle-group.tsx","../../src/components/ui/toggle.tsx","../../src/components/ui/tooltip.tsx","../../src/hooks/use-mobile.ts","../../src/lib/oraclequeryclient.ts","../../src/lib/utils.ts","../../src/store/usemarketingstore.ts","../../src/store/usestore.ts","../../src/types/crm.ts","../../src/types/index.ts","../../src/utils/curvegenerator.ts"],"version":"5.9.3"}
|
||||
3591
app/node_modules/.vite/deps/@dnd-kit_core.js
generated
vendored
3591
app/node_modules/.vite/deps/@dnd-kit_core.js
generated
vendored
File diff suppressed because it is too large
Load Diff
7
app/node_modules/.vite/deps/@dnd-kit_core.js.map
generated
vendored
7
app/node_modules/.vite/deps/@dnd-kit_core.js.map
generated
vendored
File diff suppressed because one or more lines are too long
56
app/node_modules/.vite/deps/@dnd-kit_utilities.js
generated
vendored
56
app/node_modules/.vite/deps/@dnd-kit_utilities.js
generated
vendored
@@ -1,56 +0,0 @@
|
||||
import {
|
||||
CSS,
|
||||
add,
|
||||
canUseDOM,
|
||||
findFirstFocusableNode,
|
||||
getEventCoordinates,
|
||||
getOwnerDocument,
|
||||
getWindow,
|
||||
hasViewportRelativeCoordinates,
|
||||
isDocument,
|
||||
isHTMLElement,
|
||||
isKeyboardEvent,
|
||||
isNode,
|
||||
isSVGElement,
|
||||
isTouchEvent,
|
||||
isWindow,
|
||||
subtract,
|
||||
useCombinedRefs,
|
||||
useEvent,
|
||||
useInterval,
|
||||
useIsomorphicLayoutEffect,
|
||||
useLatestValue,
|
||||
useLazyMemo,
|
||||
useNodeRef,
|
||||
usePrevious,
|
||||
useUniqueId
|
||||
} from "./chunk-YJZCGBGU.js";
|
||||
import "./chunk-WUR7D6NS.js";
|
||||
import "./chunk-G3PMV62Z.js";
|
||||
export {
|
||||
CSS,
|
||||
add,
|
||||
canUseDOM,
|
||||
findFirstFocusableNode,
|
||||
getEventCoordinates,
|
||||
getOwnerDocument,
|
||||
getWindow,
|
||||
hasViewportRelativeCoordinates,
|
||||
isDocument,
|
||||
isHTMLElement,
|
||||
isKeyboardEvent,
|
||||
isNode,
|
||||
isSVGElement,
|
||||
isTouchEvent,
|
||||
isWindow,
|
||||
subtract,
|
||||
useCombinedRefs,
|
||||
useEvent,
|
||||
useInterval,
|
||||
useIsomorphicLayoutEffect,
|
||||
useLatestValue,
|
||||
useLazyMemo,
|
||||
useNodeRef,
|
||||
usePrevious,
|
||||
useUniqueId
|
||||
};
|
||||
7
app/node_modules/.vite/deps/@dnd-kit_utilities.js.map
generated
vendored
7
app/node_modules/.vite/deps/@dnd-kit_utilities.js.map
generated
vendored
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [],
|
||||
"sourcesContent": [],
|
||||
"mappings": "",
|
||||
"names": []
|
||||
}
|
||||
12
app/node_modules/.vite/deps/@radix-ui_react-avatar.js
generated
vendored
12
app/node_modules/.vite/deps/@radix-ui_react-avatar.js
generated
vendored
@@ -1,18 +1,18 @@
|
||||
"use client";
|
||||
import {
|
||||
require_shim
|
||||
} from "./chunk-TXHHHGR3.js";
|
||||
createSlot
|
||||
} from "./chunk-YWBEB5PG.js";
|
||||
import {
|
||||
useCallbackRef,
|
||||
useLayoutEffect2
|
||||
} from "./chunk-23FVUG5N.js";
|
||||
import "./chunk-2VUH7NEY.js";
|
||||
import {
|
||||
require_shim
|
||||
} from "./chunk-TXHHHGR3.js";
|
||||
import {
|
||||
require_react_dom
|
||||
} from "./chunk-YF4B4G2L.js";
|
||||
import {
|
||||
createSlot
|
||||
} from "./chunk-YWBEB5PG.js";
|
||||
import "./chunk-2VUH7NEY.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-2YVA4HRZ.js";
|
||||
|
||||
4929
app/node_modules/.vite/deps/@radix-ui_react-dropdown-menu.js
generated
vendored
4929
app/node_modules/.vite/deps/@radix-ui_react-dropdown-menu.js
generated
vendored
File diff suppressed because it is too large
Load Diff
8
app/node_modules/.vite/deps/@radix-ui_react-dropdown-menu.js.map
generated
vendored
8
app/node_modules/.vite/deps/@radix-ui_react-dropdown-menu.js.map
generated
vendored
File diff suppressed because one or more lines are too long
755
app/node_modules/.vite/deps/@radix-ui_react-scroll-area.js
generated
vendored
755
app/node_modules/.vite/deps/@radix-ui_react-scroll-area.js
generated
vendored
@@ -1,755 +0,0 @@
|
||||
"use client";
|
||||
import {
|
||||
clamp
|
||||
} from "./chunk-6ZMM2PAV.js";
|
||||
import {
|
||||
Presence
|
||||
} from "./chunk-SMEXDMMQ.js";
|
||||
import {
|
||||
Primitive,
|
||||
composeEventHandlers,
|
||||
createContextScope,
|
||||
useDirection
|
||||
} from "./chunk-VPWBNV4W.js";
|
||||
import {
|
||||
useCallbackRef,
|
||||
useLayoutEffect2
|
||||
} from "./chunk-23FVUG5N.js";
|
||||
import "./chunk-YF4B4G2L.js";
|
||||
import {
|
||||
useComposedRefs
|
||||
} from "./chunk-2VUH7NEY.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-2YVA4HRZ.js";
|
||||
import {
|
||||
require_react
|
||||
} from "./chunk-WUR7D6NS.js";
|
||||
import {
|
||||
__toESM
|
||||
} from "./chunk-G3PMV62Z.js";
|
||||
|
||||
// node_modules/@radix-ui/react-scroll-area/dist/index.mjs
|
||||
var React2 = __toESM(require_react(), 1);
|
||||
var React = __toESM(require_react(), 1);
|
||||
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
|
||||
function useStateMachine(initialState, machine) {
|
||||
return React.useReducer((state, event) => {
|
||||
const nextState = machine[state][event];
|
||||
return nextState ?? state;
|
||||
}, initialState);
|
||||
}
|
||||
var SCROLL_AREA_NAME = "ScrollArea";
|
||||
var [createScrollAreaContext, createScrollAreaScope] = createContextScope(SCROLL_AREA_NAME);
|
||||
var [ScrollAreaProvider, useScrollAreaContext] = createScrollAreaContext(SCROLL_AREA_NAME);
|
||||
var ScrollArea = React2.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const {
|
||||
__scopeScrollArea,
|
||||
type = "hover",
|
||||
dir,
|
||||
scrollHideDelay = 600,
|
||||
...scrollAreaProps
|
||||
} = props;
|
||||
const [scrollArea, setScrollArea] = React2.useState(null);
|
||||
const [viewport, setViewport] = React2.useState(null);
|
||||
const [content, setContent] = React2.useState(null);
|
||||
const [scrollbarX, setScrollbarX] = React2.useState(null);
|
||||
const [scrollbarY, setScrollbarY] = React2.useState(null);
|
||||
const [cornerWidth, setCornerWidth] = React2.useState(0);
|
||||
const [cornerHeight, setCornerHeight] = React2.useState(0);
|
||||
const [scrollbarXEnabled, setScrollbarXEnabled] = React2.useState(false);
|
||||
const [scrollbarYEnabled, setScrollbarYEnabled] = React2.useState(false);
|
||||
const composedRefs = useComposedRefs(forwardedRef, (node) => setScrollArea(node));
|
||||
const direction = useDirection(dir);
|
||||
return (0, import_jsx_runtime.jsx)(
|
||||
ScrollAreaProvider,
|
||||
{
|
||||
scope: __scopeScrollArea,
|
||||
type,
|
||||
dir: direction,
|
||||
scrollHideDelay,
|
||||
scrollArea,
|
||||
viewport,
|
||||
onViewportChange: setViewport,
|
||||
content,
|
||||
onContentChange: setContent,
|
||||
scrollbarX,
|
||||
onScrollbarXChange: setScrollbarX,
|
||||
scrollbarXEnabled,
|
||||
onScrollbarXEnabledChange: setScrollbarXEnabled,
|
||||
scrollbarY,
|
||||
onScrollbarYChange: setScrollbarY,
|
||||
scrollbarYEnabled,
|
||||
onScrollbarYEnabledChange: setScrollbarYEnabled,
|
||||
onCornerWidthChange: setCornerWidth,
|
||||
onCornerHeightChange: setCornerHeight,
|
||||
children: (0, import_jsx_runtime.jsx)(
|
||||
Primitive.div,
|
||||
{
|
||||
dir: direction,
|
||||
...scrollAreaProps,
|
||||
ref: composedRefs,
|
||||
style: {
|
||||
position: "relative",
|
||||
// Pass corner sizes as CSS vars to reduce re-renders of context consumers
|
||||
["--radix-scroll-area-corner-width"]: cornerWidth + "px",
|
||||
["--radix-scroll-area-corner-height"]: cornerHeight + "px",
|
||||
...props.style
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
ScrollArea.displayName = SCROLL_AREA_NAME;
|
||||
var VIEWPORT_NAME = "ScrollAreaViewport";
|
||||
var ScrollAreaViewport = React2.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeScrollArea, children, nonce, ...viewportProps } = props;
|
||||
const context = useScrollAreaContext(VIEWPORT_NAME, __scopeScrollArea);
|
||||
const ref = React2.useRef(null);
|
||||
const composedRefs = useComposedRefs(forwardedRef, ref, context.onViewportChange);
|
||||
return (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
||||
(0, import_jsx_runtime.jsx)(
|
||||
"style",
|
||||
{
|
||||
dangerouslySetInnerHTML: {
|
||||
__html: `[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`
|
||||
},
|
||||
nonce
|
||||
}
|
||||
),
|
||||
(0, import_jsx_runtime.jsx)(
|
||||
Primitive.div,
|
||||
{
|
||||
"data-radix-scroll-area-viewport": "",
|
||||
...viewportProps,
|
||||
ref: composedRefs,
|
||||
style: {
|
||||
/**
|
||||
* We don't support `visible` because the intention is to have at least one scrollbar
|
||||
* if this component is used and `visible` will behave like `auto` in that case
|
||||
* https://developer.mozilla.org/en-US/docs/Web/CSS/overflow#description
|
||||
*
|
||||
* We don't handle `auto` because the intention is for the native implementation
|
||||
* to be hidden if using this component. We just want to ensure the node is scrollable
|
||||
* so could have used either `scroll` or `auto` here. We picked `scroll` to prevent
|
||||
* the browser from having to work out whether to render native scrollbars or not,
|
||||
* we tell it to with the intention of hiding them in CSS.
|
||||
*/
|
||||
overflowX: context.scrollbarXEnabled ? "scroll" : "hidden",
|
||||
overflowY: context.scrollbarYEnabled ? "scroll" : "hidden",
|
||||
...props.style
|
||||
},
|
||||
children: (0, import_jsx_runtime.jsx)("div", { ref: context.onContentChange, style: { minWidth: "100%", display: "table" }, children })
|
||||
}
|
||||
)
|
||||
] });
|
||||
}
|
||||
);
|
||||
ScrollAreaViewport.displayName = VIEWPORT_NAME;
|
||||
var SCROLLBAR_NAME = "ScrollAreaScrollbar";
|
||||
var ScrollAreaScrollbar = React2.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { forceMount, ...scrollbarProps } = props;
|
||||
const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
|
||||
const { onScrollbarXEnabledChange, onScrollbarYEnabledChange } = context;
|
||||
const isHorizontal = props.orientation === "horizontal";
|
||||
React2.useEffect(() => {
|
||||
isHorizontal ? onScrollbarXEnabledChange(true) : onScrollbarYEnabledChange(true);
|
||||
return () => {
|
||||
isHorizontal ? onScrollbarXEnabledChange(false) : onScrollbarYEnabledChange(false);
|
||||
};
|
||||
}, [isHorizontal, onScrollbarXEnabledChange, onScrollbarYEnabledChange]);
|
||||
return context.type === "hover" ? (0, import_jsx_runtime.jsx)(ScrollAreaScrollbarHover, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === "scroll" ? (0, import_jsx_runtime.jsx)(ScrollAreaScrollbarScroll, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === "auto" ? (0, import_jsx_runtime.jsx)(ScrollAreaScrollbarAuto, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === "always" ? (0, import_jsx_runtime.jsx)(ScrollAreaScrollbarVisible, { ...scrollbarProps, ref: forwardedRef }) : null;
|
||||
}
|
||||
);
|
||||
ScrollAreaScrollbar.displayName = SCROLLBAR_NAME;
|
||||
var ScrollAreaScrollbarHover = React2.forwardRef((props, forwardedRef) => {
|
||||
const { forceMount, ...scrollbarProps } = props;
|
||||
const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
|
||||
const [visible, setVisible] = React2.useState(false);
|
||||
React2.useEffect(() => {
|
||||
const scrollArea = context.scrollArea;
|
||||
let hideTimer = 0;
|
||||
if (scrollArea) {
|
||||
const handlePointerEnter = () => {
|
||||
window.clearTimeout(hideTimer);
|
||||
setVisible(true);
|
||||
};
|
||||
const handlePointerLeave = () => {
|
||||
hideTimer = window.setTimeout(() => setVisible(false), context.scrollHideDelay);
|
||||
};
|
||||
scrollArea.addEventListener("pointerenter", handlePointerEnter);
|
||||
scrollArea.addEventListener("pointerleave", handlePointerLeave);
|
||||
return () => {
|
||||
window.clearTimeout(hideTimer);
|
||||
scrollArea.removeEventListener("pointerenter", handlePointerEnter);
|
||||
scrollArea.removeEventListener("pointerleave", handlePointerLeave);
|
||||
};
|
||||
}
|
||||
}, [context.scrollArea, context.scrollHideDelay]);
|
||||
return (0, import_jsx_runtime.jsx)(Presence, { present: forceMount || visible, children: (0, import_jsx_runtime.jsx)(
|
||||
ScrollAreaScrollbarAuto,
|
||||
{
|
||||
"data-state": visible ? "visible" : "hidden",
|
||||
...scrollbarProps,
|
||||
ref: forwardedRef
|
||||
}
|
||||
) });
|
||||
});
|
||||
var ScrollAreaScrollbarScroll = React2.forwardRef((props, forwardedRef) => {
|
||||
const { forceMount, ...scrollbarProps } = props;
|
||||
const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
|
||||
const isHorizontal = props.orientation === "horizontal";
|
||||
const debounceScrollEnd = useDebounceCallback(() => send("SCROLL_END"), 100);
|
||||
const [state, send] = useStateMachine("hidden", {
|
||||
hidden: {
|
||||
SCROLL: "scrolling"
|
||||
},
|
||||
scrolling: {
|
||||
SCROLL_END: "idle",
|
||||
POINTER_ENTER: "interacting"
|
||||
},
|
||||
interacting: {
|
||||
SCROLL: "interacting",
|
||||
POINTER_LEAVE: "idle"
|
||||
},
|
||||
idle: {
|
||||
HIDE: "hidden",
|
||||
SCROLL: "scrolling",
|
||||
POINTER_ENTER: "interacting"
|
||||
}
|
||||
});
|
||||
React2.useEffect(() => {
|
||||
if (state === "idle") {
|
||||
const hideTimer = window.setTimeout(() => send("HIDE"), context.scrollHideDelay);
|
||||
return () => window.clearTimeout(hideTimer);
|
||||
}
|
||||
}, [state, context.scrollHideDelay, send]);
|
||||
React2.useEffect(() => {
|
||||
const viewport = context.viewport;
|
||||
const scrollDirection = isHorizontal ? "scrollLeft" : "scrollTop";
|
||||
if (viewport) {
|
||||
let prevScrollPos = viewport[scrollDirection];
|
||||
const handleScroll = () => {
|
||||
const scrollPos = viewport[scrollDirection];
|
||||
const hasScrollInDirectionChanged = prevScrollPos !== scrollPos;
|
||||
if (hasScrollInDirectionChanged) {
|
||||
send("SCROLL");
|
||||
debounceScrollEnd();
|
||||
}
|
||||
prevScrollPos = scrollPos;
|
||||
};
|
||||
viewport.addEventListener("scroll", handleScroll);
|
||||
return () => viewport.removeEventListener("scroll", handleScroll);
|
||||
}
|
||||
}, [context.viewport, isHorizontal, send, debounceScrollEnd]);
|
||||
return (0, import_jsx_runtime.jsx)(Presence, { present: forceMount || state !== "hidden", children: (0, import_jsx_runtime.jsx)(
|
||||
ScrollAreaScrollbarVisible,
|
||||
{
|
||||
"data-state": state === "hidden" ? "hidden" : "visible",
|
||||
...scrollbarProps,
|
||||
ref: forwardedRef,
|
||||
onPointerEnter: composeEventHandlers(props.onPointerEnter, () => send("POINTER_ENTER")),
|
||||
onPointerLeave: composeEventHandlers(props.onPointerLeave, () => send("POINTER_LEAVE"))
|
||||
}
|
||||
) });
|
||||
});
|
||||
var ScrollAreaScrollbarAuto = React2.forwardRef((props, forwardedRef) => {
|
||||
const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
|
||||
const { forceMount, ...scrollbarProps } = props;
|
||||
const [visible, setVisible] = React2.useState(false);
|
||||
const isHorizontal = props.orientation === "horizontal";
|
||||
const handleResize = useDebounceCallback(() => {
|
||||
if (context.viewport) {
|
||||
const isOverflowX = context.viewport.offsetWidth < context.viewport.scrollWidth;
|
||||
const isOverflowY = context.viewport.offsetHeight < context.viewport.scrollHeight;
|
||||
setVisible(isHorizontal ? isOverflowX : isOverflowY);
|
||||
}
|
||||
}, 10);
|
||||
useResizeObserver(context.viewport, handleResize);
|
||||
useResizeObserver(context.content, handleResize);
|
||||
return (0, import_jsx_runtime.jsx)(Presence, { present: forceMount || visible, children: (0, import_jsx_runtime.jsx)(
|
||||
ScrollAreaScrollbarVisible,
|
||||
{
|
||||
"data-state": visible ? "visible" : "hidden",
|
||||
...scrollbarProps,
|
||||
ref: forwardedRef
|
||||
}
|
||||
) });
|
||||
});
|
||||
var ScrollAreaScrollbarVisible = React2.forwardRef((props, forwardedRef) => {
|
||||
const { orientation = "vertical", ...scrollbarProps } = props;
|
||||
const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
|
||||
const thumbRef = React2.useRef(null);
|
||||
const pointerOffsetRef = React2.useRef(0);
|
||||
const [sizes, setSizes] = React2.useState({
|
||||
content: 0,
|
||||
viewport: 0,
|
||||
scrollbar: { size: 0, paddingStart: 0, paddingEnd: 0 }
|
||||
});
|
||||
const thumbRatio = getThumbRatio(sizes.viewport, sizes.content);
|
||||
const commonProps = {
|
||||
...scrollbarProps,
|
||||
sizes,
|
||||
onSizesChange: setSizes,
|
||||
hasThumb: Boolean(thumbRatio > 0 && thumbRatio < 1),
|
||||
onThumbChange: (thumb) => thumbRef.current = thumb,
|
||||
onThumbPointerUp: () => pointerOffsetRef.current = 0,
|
||||
onThumbPointerDown: (pointerPos) => pointerOffsetRef.current = pointerPos
|
||||
};
|
||||
function getScrollPosition(pointerPos, dir) {
|
||||
return getScrollPositionFromPointer(pointerPos, pointerOffsetRef.current, sizes, dir);
|
||||
}
|
||||
if (orientation === "horizontal") {
|
||||
return (0, import_jsx_runtime.jsx)(
|
||||
ScrollAreaScrollbarX,
|
||||
{
|
||||
...commonProps,
|
||||
ref: forwardedRef,
|
||||
onThumbPositionChange: () => {
|
||||
if (context.viewport && thumbRef.current) {
|
||||
const scrollPos = context.viewport.scrollLeft;
|
||||
const offset = getThumbOffsetFromScroll(scrollPos, sizes, context.dir);
|
||||
thumbRef.current.style.transform = `translate3d(${offset}px, 0, 0)`;
|
||||
}
|
||||
},
|
||||
onWheelScroll: (scrollPos) => {
|
||||
if (context.viewport) context.viewport.scrollLeft = scrollPos;
|
||||
},
|
||||
onDragScroll: (pointerPos) => {
|
||||
if (context.viewport) {
|
||||
context.viewport.scrollLeft = getScrollPosition(pointerPos, context.dir);
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
if (orientation === "vertical") {
|
||||
return (0, import_jsx_runtime.jsx)(
|
||||
ScrollAreaScrollbarY,
|
||||
{
|
||||
...commonProps,
|
||||
ref: forwardedRef,
|
||||
onThumbPositionChange: () => {
|
||||
if (context.viewport && thumbRef.current) {
|
||||
const scrollPos = context.viewport.scrollTop;
|
||||
const offset = getThumbOffsetFromScroll(scrollPos, sizes);
|
||||
thumbRef.current.style.transform = `translate3d(0, ${offset}px, 0)`;
|
||||
}
|
||||
},
|
||||
onWheelScroll: (scrollPos) => {
|
||||
if (context.viewport) context.viewport.scrollTop = scrollPos;
|
||||
},
|
||||
onDragScroll: (pointerPos) => {
|
||||
if (context.viewport) context.viewport.scrollTop = getScrollPosition(pointerPos);
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
return null;
|
||||
});
|
||||
var ScrollAreaScrollbarX = React2.forwardRef((props, forwardedRef) => {
|
||||
const { sizes, onSizesChange, ...scrollbarProps } = props;
|
||||
const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
|
||||
const [computedStyle, setComputedStyle] = React2.useState();
|
||||
const ref = React2.useRef(null);
|
||||
const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarXChange);
|
||||
React2.useEffect(() => {
|
||||
if (ref.current) setComputedStyle(getComputedStyle(ref.current));
|
||||
}, [ref]);
|
||||
return (0, import_jsx_runtime.jsx)(
|
||||
ScrollAreaScrollbarImpl,
|
||||
{
|
||||
"data-orientation": "horizontal",
|
||||
...scrollbarProps,
|
||||
ref: composeRefs,
|
||||
sizes,
|
||||
style: {
|
||||
bottom: 0,
|
||||
left: context.dir === "rtl" ? "var(--radix-scroll-area-corner-width)" : 0,
|
||||
right: context.dir === "ltr" ? "var(--radix-scroll-area-corner-width)" : 0,
|
||||
["--radix-scroll-area-thumb-width"]: getThumbSize(sizes) + "px",
|
||||
...props.style
|
||||
},
|
||||
onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.x),
|
||||
onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.x),
|
||||
onWheelScroll: (event, maxScrollPos) => {
|
||||
if (context.viewport) {
|
||||
const scrollPos = context.viewport.scrollLeft + event.deltaX;
|
||||
props.onWheelScroll(scrollPos);
|
||||
if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {
|
||||
event.preventDefault();
|
||||
}
|
||||
}
|
||||
},
|
||||
onResize: () => {
|
||||
if (ref.current && context.viewport && computedStyle) {
|
||||
onSizesChange({
|
||||
content: context.viewport.scrollWidth,
|
||||
viewport: context.viewport.offsetWidth,
|
||||
scrollbar: {
|
||||
size: ref.current.clientWidth,
|
||||
paddingStart: toInt(computedStyle.paddingLeft),
|
||||
paddingEnd: toInt(computedStyle.paddingRight)
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
});
|
||||
var ScrollAreaScrollbarY = React2.forwardRef((props, forwardedRef) => {
|
||||
const { sizes, onSizesChange, ...scrollbarProps } = props;
|
||||
const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
|
||||
const [computedStyle, setComputedStyle] = React2.useState();
|
||||
const ref = React2.useRef(null);
|
||||
const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarYChange);
|
||||
React2.useEffect(() => {
|
||||
if (ref.current) setComputedStyle(getComputedStyle(ref.current));
|
||||
}, [ref]);
|
||||
return (0, import_jsx_runtime.jsx)(
|
||||
ScrollAreaScrollbarImpl,
|
||||
{
|
||||
"data-orientation": "vertical",
|
||||
...scrollbarProps,
|
||||
ref: composeRefs,
|
||||
sizes,
|
||||
style: {
|
||||
top: 0,
|
||||
right: context.dir === "ltr" ? 0 : void 0,
|
||||
left: context.dir === "rtl" ? 0 : void 0,
|
||||
bottom: "var(--radix-scroll-area-corner-height)",
|
||||
["--radix-scroll-area-thumb-height"]: getThumbSize(sizes) + "px",
|
||||
...props.style
|
||||
},
|
||||
onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.y),
|
||||
onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.y),
|
||||
onWheelScroll: (event, maxScrollPos) => {
|
||||
if (context.viewport) {
|
||||
const scrollPos = context.viewport.scrollTop + event.deltaY;
|
||||
props.onWheelScroll(scrollPos);
|
||||
if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {
|
||||
event.preventDefault();
|
||||
}
|
||||
}
|
||||
},
|
||||
onResize: () => {
|
||||
if (ref.current && context.viewport && computedStyle) {
|
||||
onSizesChange({
|
||||
content: context.viewport.scrollHeight,
|
||||
viewport: context.viewport.offsetHeight,
|
||||
scrollbar: {
|
||||
size: ref.current.clientHeight,
|
||||
paddingStart: toInt(computedStyle.paddingTop),
|
||||
paddingEnd: toInt(computedStyle.paddingBottom)
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
});
|
||||
var [ScrollbarProvider, useScrollbarContext] = createScrollAreaContext(SCROLLBAR_NAME);
|
||||
var ScrollAreaScrollbarImpl = React2.forwardRef((props, forwardedRef) => {
|
||||
const {
|
||||
__scopeScrollArea,
|
||||
sizes,
|
||||
hasThumb,
|
||||
onThumbChange,
|
||||
onThumbPointerUp,
|
||||
onThumbPointerDown,
|
||||
onThumbPositionChange,
|
||||
onDragScroll,
|
||||
onWheelScroll,
|
||||
onResize,
|
||||
...scrollbarProps
|
||||
} = props;
|
||||
const context = useScrollAreaContext(SCROLLBAR_NAME, __scopeScrollArea);
|
||||
const [scrollbar, setScrollbar] = React2.useState(null);
|
||||
const composeRefs = useComposedRefs(forwardedRef, (node) => setScrollbar(node));
|
||||
const rectRef = React2.useRef(null);
|
||||
const prevWebkitUserSelectRef = React2.useRef("");
|
||||
const viewport = context.viewport;
|
||||
const maxScrollPos = sizes.content - sizes.viewport;
|
||||
const handleWheelScroll = useCallbackRef(onWheelScroll);
|
||||
const handleThumbPositionChange = useCallbackRef(onThumbPositionChange);
|
||||
const handleResize = useDebounceCallback(onResize, 10);
|
||||
function handleDragScroll(event) {
|
||||
if (rectRef.current) {
|
||||
const x = event.clientX - rectRef.current.left;
|
||||
const y = event.clientY - rectRef.current.top;
|
||||
onDragScroll({ x, y });
|
||||
}
|
||||
}
|
||||
React2.useEffect(() => {
|
||||
const handleWheel = (event) => {
|
||||
const element = event.target;
|
||||
const isScrollbarWheel = scrollbar?.contains(element);
|
||||
if (isScrollbarWheel) handleWheelScroll(event, maxScrollPos);
|
||||
};
|
||||
document.addEventListener("wheel", handleWheel, { passive: false });
|
||||
return () => document.removeEventListener("wheel", handleWheel, { passive: false });
|
||||
}, [viewport, scrollbar, maxScrollPos, handleWheelScroll]);
|
||||
React2.useEffect(handleThumbPositionChange, [sizes, handleThumbPositionChange]);
|
||||
useResizeObserver(scrollbar, handleResize);
|
||||
useResizeObserver(context.content, handleResize);
|
||||
return (0, import_jsx_runtime.jsx)(
|
||||
ScrollbarProvider,
|
||||
{
|
||||
scope: __scopeScrollArea,
|
||||
scrollbar,
|
||||
hasThumb,
|
||||
onThumbChange: useCallbackRef(onThumbChange),
|
||||
onThumbPointerUp: useCallbackRef(onThumbPointerUp),
|
||||
onThumbPositionChange: handleThumbPositionChange,
|
||||
onThumbPointerDown: useCallbackRef(onThumbPointerDown),
|
||||
children: (0, import_jsx_runtime.jsx)(
|
||||
Primitive.div,
|
||||
{
|
||||
...scrollbarProps,
|
||||
ref: composeRefs,
|
||||
style: { position: "absolute", ...scrollbarProps.style },
|
||||
onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {
|
||||
const mainPointer = 0;
|
||||
if (event.button === mainPointer) {
|
||||
const element = event.target;
|
||||
element.setPointerCapture(event.pointerId);
|
||||
rectRef.current = scrollbar.getBoundingClientRect();
|
||||
prevWebkitUserSelectRef.current = document.body.style.webkitUserSelect;
|
||||
document.body.style.webkitUserSelect = "none";
|
||||
if (context.viewport) context.viewport.style.scrollBehavior = "auto";
|
||||
handleDragScroll(event);
|
||||
}
|
||||
}),
|
||||
onPointerMove: composeEventHandlers(props.onPointerMove, handleDragScroll),
|
||||
onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {
|
||||
const element = event.target;
|
||||
if (element.hasPointerCapture(event.pointerId)) {
|
||||
element.releasePointerCapture(event.pointerId);
|
||||
}
|
||||
document.body.style.webkitUserSelect = prevWebkitUserSelectRef.current;
|
||||
if (context.viewport) context.viewport.style.scrollBehavior = "";
|
||||
rectRef.current = null;
|
||||
})
|
||||
}
|
||||
)
|
||||
}
|
||||
);
|
||||
});
|
||||
var THUMB_NAME = "ScrollAreaThumb";
|
||||
var ScrollAreaThumb = React2.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { forceMount, ...thumbProps } = props;
|
||||
const scrollbarContext = useScrollbarContext(THUMB_NAME, props.__scopeScrollArea);
|
||||
return (0, import_jsx_runtime.jsx)(Presence, { present: forceMount || scrollbarContext.hasThumb, children: (0, import_jsx_runtime.jsx)(ScrollAreaThumbImpl, { ref: forwardedRef, ...thumbProps }) });
|
||||
}
|
||||
);
|
||||
var ScrollAreaThumbImpl = React2.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeScrollArea, style, ...thumbProps } = props;
|
||||
const scrollAreaContext = useScrollAreaContext(THUMB_NAME, __scopeScrollArea);
|
||||
const scrollbarContext = useScrollbarContext(THUMB_NAME, __scopeScrollArea);
|
||||
const { onThumbPositionChange } = scrollbarContext;
|
||||
const composedRef = useComposedRefs(
|
||||
forwardedRef,
|
||||
(node) => scrollbarContext.onThumbChange(node)
|
||||
);
|
||||
const removeUnlinkedScrollListenerRef = React2.useRef(void 0);
|
||||
const debounceScrollEnd = useDebounceCallback(() => {
|
||||
if (removeUnlinkedScrollListenerRef.current) {
|
||||
removeUnlinkedScrollListenerRef.current();
|
||||
removeUnlinkedScrollListenerRef.current = void 0;
|
||||
}
|
||||
}, 100);
|
||||
React2.useEffect(() => {
|
||||
const viewport = scrollAreaContext.viewport;
|
||||
if (viewport) {
|
||||
const handleScroll = () => {
|
||||
debounceScrollEnd();
|
||||
if (!removeUnlinkedScrollListenerRef.current) {
|
||||
const listener = addUnlinkedScrollListener(viewport, onThumbPositionChange);
|
||||
removeUnlinkedScrollListenerRef.current = listener;
|
||||
onThumbPositionChange();
|
||||
}
|
||||
};
|
||||
onThumbPositionChange();
|
||||
viewport.addEventListener("scroll", handleScroll);
|
||||
return () => viewport.removeEventListener("scroll", handleScroll);
|
||||
}
|
||||
}, [scrollAreaContext.viewport, debounceScrollEnd, onThumbPositionChange]);
|
||||
return (0, import_jsx_runtime.jsx)(
|
||||
Primitive.div,
|
||||
{
|
||||
"data-state": scrollbarContext.hasThumb ? "visible" : "hidden",
|
||||
...thumbProps,
|
||||
ref: composedRef,
|
||||
style: {
|
||||
width: "var(--radix-scroll-area-thumb-width)",
|
||||
height: "var(--radix-scroll-area-thumb-height)",
|
||||
...style
|
||||
},
|
||||
onPointerDownCapture: composeEventHandlers(props.onPointerDownCapture, (event) => {
|
||||
const thumb = event.target;
|
||||
const thumbRect = thumb.getBoundingClientRect();
|
||||
const x = event.clientX - thumbRect.left;
|
||||
const y = event.clientY - thumbRect.top;
|
||||
scrollbarContext.onThumbPointerDown({ x, y });
|
||||
}),
|
||||
onPointerUp: composeEventHandlers(props.onPointerUp, scrollbarContext.onThumbPointerUp)
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
ScrollAreaThumb.displayName = THUMB_NAME;
|
||||
var CORNER_NAME = "ScrollAreaCorner";
|
||||
var ScrollAreaCorner = React2.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const context = useScrollAreaContext(CORNER_NAME, props.__scopeScrollArea);
|
||||
const hasBothScrollbarsVisible = Boolean(context.scrollbarX && context.scrollbarY);
|
||||
const hasCorner = context.type !== "scroll" && hasBothScrollbarsVisible;
|
||||
return hasCorner ? (0, import_jsx_runtime.jsx)(ScrollAreaCornerImpl, { ...props, ref: forwardedRef }) : null;
|
||||
}
|
||||
);
|
||||
ScrollAreaCorner.displayName = CORNER_NAME;
|
||||
var ScrollAreaCornerImpl = React2.forwardRef((props, forwardedRef) => {
|
||||
const { __scopeScrollArea, ...cornerProps } = props;
|
||||
const context = useScrollAreaContext(CORNER_NAME, __scopeScrollArea);
|
||||
const [width, setWidth] = React2.useState(0);
|
||||
const [height, setHeight] = React2.useState(0);
|
||||
const hasSize = Boolean(width && height);
|
||||
useResizeObserver(context.scrollbarX, () => {
|
||||
const height2 = context.scrollbarX?.offsetHeight || 0;
|
||||
context.onCornerHeightChange(height2);
|
||||
setHeight(height2);
|
||||
});
|
||||
useResizeObserver(context.scrollbarY, () => {
|
||||
const width2 = context.scrollbarY?.offsetWidth || 0;
|
||||
context.onCornerWidthChange(width2);
|
||||
setWidth(width2);
|
||||
});
|
||||
return hasSize ? (0, import_jsx_runtime.jsx)(
|
||||
Primitive.div,
|
||||
{
|
||||
...cornerProps,
|
||||
ref: forwardedRef,
|
||||
style: {
|
||||
width,
|
||||
height,
|
||||
position: "absolute",
|
||||
right: context.dir === "ltr" ? 0 : void 0,
|
||||
left: context.dir === "rtl" ? 0 : void 0,
|
||||
bottom: 0,
|
||||
...props.style
|
||||
}
|
||||
}
|
||||
) : null;
|
||||
});
|
||||
function toInt(value) {
|
||||
return value ? parseInt(value, 10) : 0;
|
||||
}
|
||||
function getThumbRatio(viewportSize, contentSize) {
|
||||
const ratio = viewportSize / contentSize;
|
||||
return isNaN(ratio) ? 0 : ratio;
|
||||
}
|
||||
function getThumbSize(sizes) {
|
||||
const ratio = getThumbRatio(sizes.viewport, sizes.content);
|
||||
const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;
|
||||
const thumbSize = (sizes.scrollbar.size - scrollbarPadding) * ratio;
|
||||
return Math.max(thumbSize, 18);
|
||||
}
|
||||
function getScrollPositionFromPointer(pointerPos, pointerOffset, sizes, dir = "ltr") {
|
||||
const thumbSizePx = getThumbSize(sizes);
|
||||
const thumbCenter = thumbSizePx / 2;
|
||||
const offset = pointerOffset || thumbCenter;
|
||||
const thumbOffsetFromEnd = thumbSizePx - offset;
|
||||
const minPointerPos = sizes.scrollbar.paddingStart + offset;
|
||||
const maxPointerPos = sizes.scrollbar.size - sizes.scrollbar.paddingEnd - thumbOffsetFromEnd;
|
||||
const maxScrollPos = sizes.content - sizes.viewport;
|
||||
const scrollRange = dir === "ltr" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];
|
||||
const interpolate = linearScale([minPointerPos, maxPointerPos], scrollRange);
|
||||
return interpolate(pointerPos);
|
||||
}
|
||||
function getThumbOffsetFromScroll(scrollPos, sizes, dir = "ltr") {
|
||||
const thumbSizePx = getThumbSize(sizes);
|
||||
const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;
|
||||
const scrollbar = sizes.scrollbar.size - scrollbarPadding;
|
||||
const maxScrollPos = sizes.content - sizes.viewport;
|
||||
const maxThumbPos = scrollbar - thumbSizePx;
|
||||
const scrollClampRange = dir === "ltr" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];
|
||||
const scrollWithoutMomentum = clamp(scrollPos, scrollClampRange);
|
||||
const interpolate = linearScale([0, maxScrollPos], [0, maxThumbPos]);
|
||||
return interpolate(scrollWithoutMomentum);
|
||||
}
|
||||
function linearScale(input, output) {
|
||||
return (value) => {
|
||||
if (input[0] === input[1] || output[0] === output[1]) return output[0];
|
||||
const ratio = (output[1] - output[0]) / (input[1] - input[0]);
|
||||
return output[0] + ratio * (value - input[0]);
|
||||
};
|
||||
}
|
||||
function isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos) {
|
||||
return scrollPos > 0 && scrollPos < maxScrollPos;
|
||||
}
|
||||
var addUnlinkedScrollListener = (node, handler = () => {
|
||||
}) => {
|
||||
let prevPosition = { left: node.scrollLeft, top: node.scrollTop };
|
||||
let rAF = 0;
|
||||
(function loop() {
|
||||
const position = { left: node.scrollLeft, top: node.scrollTop };
|
||||
const isHorizontalScroll = prevPosition.left !== position.left;
|
||||
const isVerticalScroll = prevPosition.top !== position.top;
|
||||
if (isHorizontalScroll || isVerticalScroll) handler();
|
||||
prevPosition = position;
|
||||
rAF = window.requestAnimationFrame(loop);
|
||||
})();
|
||||
return () => window.cancelAnimationFrame(rAF);
|
||||
};
|
||||
function useDebounceCallback(callback, delay) {
|
||||
const handleCallback = useCallbackRef(callback);
|
||||
const debounceTimerRef = React2.useRef(0);
|
||||
React2.useEffect(() => () => window.clearTimeout(debounceTimerRef.current), []);
|
||||
return React2.useCallback(() => {
|
||||
window.clearTimeout(debounceTimerRef.current);
|
||||
debounceTimerRef.current = window.setTimeout(handleCallback, delay);
|
||||
}, [handleCallback, delay]);
|
||||
}
|
||||
function useResizeObserver(element, onResize) {
|
||||
const handleResize = useCallbackRef(onResize);
|
||||
useLayoutEffect2(() => {
|
||||
let rAF = 0;
|
||||
if (element) {
|
||||
const resizeObserver = new ResizeObserver(() => {
|
||||
cancelAnimationFrame(rAF);
|
||||
rAF = window.requestAnimationFrame(handleResize);
|
||||
});
|
||||
resizeObserver.observe(element);
|
||||
return () => {
|
||||
window.cancelAnimationFrame(rAF);
|
||||
resizeObserver.unobserve(element);
|
||||
};
|
||||
}
|
||||
}, [element, handleResize]);
|
||||
}
|
||||
var Root = ScrollArea;
|
||||
var Viewport = ScrollAreaViewport;
|
||||
var Scrollbar = ScrollAreaScrollbar;
|
||||
var Thumb = ScrollAreaThumb;
|
||||
var Corner = ScrollAreaCorner;
|
||||
export {
|
||||
Corner,
|
||||
Root,
|
||||
ScrollArea,
|
||||
ScrollAreaCorner,
|
||||
ScrollAreaScrollbar,
|
||||
ScrollAreaThumb,
|
||||
ScrollAreaViewport,
|
||||
Scrollbar,
|
||||
Thumb,
|
||||
Viewport,
|
||||
createScrollAreaScope
|
||||
};
|
||||
//# sourceMappingURL=@radix-ui_react-scroll-area.js.map
|
||||
7
app/node_modules/.vite/deps/@radix-ui_react-scroll-area.js.map
generated
vendored
7
app/node_modules/.vite/deps/@radix-ui_react-scroll-area.js.map
generated
vendored
File diff suppressed because one or more lines are too long
1359
app/node_modules/.vite/deps/@radix-ui_react-select.js
generated
vendored
1359
app/node_modules/.vite/deps/@radix-ui_react-select.js
generated
vendored
File diff suppressed because it is too large
Load Diff
7
app/node_modules/.vite/deps/@radix-ui_react-select.js.map
generated
vendored
7
app/node_modules/.vite/deps/@radix-ui_react-select.js.map
generated
vendored
File diff suppressed because one or more lines are too long
76836
app/node_modules/.vite/deps/@react-three_drei.js
generated
vendored
76836
app/node_modules/.vite/deps/@react-three_drei.js
generated
vendored
File diff suppressed because one or more lines are too long
8
app/node_modules/.vite/deps/@react-three_drei.js.map
generated
vendored
8
app/node_modules/.vite/deps/@react-three_drei.js.map
generated
vendored
File diff suppressed because one or more lines are too long
4
app/node_modules/.vite/deps/@react-three_fiber.js
generated
vendored
4
app/node_modules/.vite/deps/@react-three_fiber.js
generated
vendored
@@ -28,9 +28,9 @@ import {
|
||||
useLoader,
|
||||
useStore,
|
||||
useThree
|
||||
} from "./chunk-KOYBCGV3.js";
|
||||
import "./chunk-L3Z576C2.js";
|
||||
} from "./chunk-O5V7GNMB.js";
|
||||
import "./chunk-GUQHL3N7.js";
|
||||
import "./chunk-L3Z576C2.js";
|
||||
import "./chunk-NJ4V5H3P.js";
|
||||
import "./chunk-TXHHHGR3.js";
|
||||
import "./chunk-2YVA4HRZ.js";
|
||||
|
||||
272
app/node_modules/.vite/deps/_metadata.json
generated
vendored
272
app/node_modules/.vite/deps/_metadata.json
generated
vendored
@@ -1,151 +1,127 @@
|
||||
{
|
||||
"hash": "947d6a4d",
|
||||
"configHash": "dc08391c",
|
||||
"lockfileHash": "de25a101",
|
||||
"browserHash": "961f5b3a",
|
||||
"hash": "b2c5007d",
|
||||
"configHash": "d9a82a01",
|
||||
"lockfileHash": "8a04eea8",
|
||||
"browserHash": "5d6343ae",
|
||||
"optimized": {
|
||||
"react": {
|
||||
"src": "../../react/index.js",
|
||||
"file": "react.js",
|
||||
"fileHash": "9864076c",
|
||||
"fileHash": "4ea9824e",
|
||||
"needsInterop": true
|
||||
},
|
||||
"react-dom": {
|
||||
"src": "../../react-dom/index.js",
|
||||
"file": "react-dom.js",
|
||||
"fileHash": "2f8641cc",
|
||||
"fileHash": "5b549105",
|
||||
"needsInterop": true
|
||||
},
|
||||
"react/jsx-dev-runtime": {
|
||||
"src": "../../react/jsx-dev-runtime.js",
|
||||
"file": "react_jsx-dev-runtime.js",
|
||||
"fileHash": "0d6d4c83",
|
||||
"fileHash": "41193e59",
|
||||
"needsInterop": true
|
||||
},
|
||||
"react/jsx-runtime": {
|
||||
"src": "../../react/jsx-runtime.js",
|
||||
"file": "react_jsx-runtime.js",
|
||||
"fileHash": "a2c255cd",
|
||||
"fileHash": "ad8008f8",
|
||||
"needsInterop": true
|
||||
},
|
||||
"@dnd-kit/core": {
|
||||
"src": "../../@dnd-kit/core/dist/core.esm.js",
|
||||
"file": "@dnd-kit_core.js",
|
||||
"fileHash": "c90d47ee",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@dnd-kit/utilities": {
|
||||
"src": "../../@dnd-kit/utilities/dist/utilities.esm.js",
|
||||
"file": "@dnd-kit_utilities.js",
|
||||
"fileHash": "434ef86c",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@radix-ui/react-avatar": {
|
||||
"src": "../../@radix-ui/react-avatar/dist/index.mjs",
|
||||
"file": "@radix-ui_react-avatar.js",
|
||||
"fileHash": "2805441c",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@radix-ui/react-scroll-area": {
|
||||
"src": "../../@radix-ui/react-scroll-area/dist/index.mjs",
|
||||
"file": "@radix-ui_react-scroll-area.js",
|
||||
"fileHash": "6c708018",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@radix-ui/react-slot": {
|
||||
"src": "../../@radix-ui/react-slot/dist/index.mjs",
|
||||
"file": "@radix-ui_react-slot.js",
|
||||
"fileHash": "5329088f",
|
||||
"needsInterop": false
|
||||
},
|
||||
"class-variance-authority": {
|
||||
"src": "../../class-variance-authority/dist/index.mjs",
|
||||
"file": "class-variance-authority.js",
|
||||
"fileHash": "ec62709c",
|
||||
"needsInterop": false
|
||||
},
|
||||
"clsx": {
|
||||
"src": "../../clsx/dist/clsx.mjs",
|
||||
"file": "clsx.js",
|
||||
"fileHash": "5559ec83",
|
||||
"needsInterop": false
|
||||
},
|
||||
"framer-motion": {
|
||||
"src": "../../framer-motion/dist/es/index.mjs",
|
||||
"file": "framer-motion.js",
|
||||
"fileHash": "2b7c361b",
|
||||
"needsInterop": false
|
||||
},
|
||||
"lucide-react": {
|
||||
"src": "../../lucide-react/dist/esm/lucide-react.js",
|
||||
"file": "lucide-react.js",
|
||||
"fileHash": "51875cd4",
|
||||
"needsInterop": false
|
||||
},
|
||||
"react-dom/client": {
|
||||
"src": "../../react-dom/client.js",
|
||||
"file": "react-dom_client.js",
|
||||
"fileHash": "45de9104",
|
||||
"needsInterop": true
|
||||
},
|
||||
"recharts": {
|
||||
"src": "../../recharts/es6/index.js",
|
||||
"file": "recharts.js",
|
||||
"fileHash": "64a83b89",
|
||||
"needsInterop": false
|
||||
},
|
||||
"tailwind-merge": {
|
||||
"src": "../../tailwind-merge/dist/bundle-mjs.mjs",
|
||||
"file": "tailwind-merge.js",
|
||||
"fileHash": "f691afe8",
|
||||
"needsInterop": false
|
||||
},
|
||||
"zustand": {
|
||||
"src": "../../zustand/esm/index.mjs",
|
||||
"file": "zustand.js",
|
||||
"fileHash": "fe0603c2",
|
||||
"needsInterop": false
|
||||
},
|
||||
"zustand/middleware": {
|
||||
"src": "../../zustand/esm/middleware.mjs",
|
||||
"file": "zustand_middleware.js",
|
||||
"fileHash": "66783eb7",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@radix-ui/react-select": {
|
||||
"src": "../../@radix-ui/react-select/dist/index.mjs",
|
||||
"file": "@radix-ui_react-select.js",
|
||||
"fileHash": "36896aae",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@react-three/fiber": {
|
||||
"src": "../../@react-three/fiber/dist/react-three-fiber.esm.js",
|
||||
"file": "@react-three_fiber.js",
|
||||
"fileHash": "12c15e20",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@react-three/drei": {
|
||||
"src": "../../@react-three/drei/index.js",
|
||||
"file": "@react-three_drei.js",
|
||||
"fileHash": "cb36fa64",
|
||||
"needsInterop": false
|
||||
},
|
||||
"three-stdlib": {
|
||||
"src": "../../three-stdlib/index.js",
|
||||
"file": "three-stdlib.js",
|
||||
"fileHash": "6c880e7a",
|
||||
"needsInterop": false
|
||||
},
|
||||
"three": {
|
||||
"src": "../../three/build/three.module.js",
|
||||
"file": "three.js",
|
||||
"fileHash": "bcfd9037",
|
||||
"fileHash": "e6d8d406",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@radix-ui/react-dropdown-menu": {
|
||||
"src": "../../@radix-ui/react-dropdown-menu/dist/index.mjs",
|
||||
"file": "@radix-ui_react-dropdown-menu.js",
|
||||
"fileHash": "44e29247",
|
||||
"fileHash": "26caaf75",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@radix-ui/react-slot": {
|
||||
"src": "../../@radix-ui/react-slot/dist/index.mjs",
|
||||
"file": "@radix-ui_react-slot.js",
|
||||
"fileHash": "e034d698",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@react-three/drei": {
|
||||
"src": "../../@react-three/drei/index.js",
|
||||
"file": "@react-three_drei.js",
|
||||
"fileHash": "d81d1332",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@react-three/fiber": {
|
||||
"src": "../../@react-three/fiber/dist/react-three-fiber.esm.js",
|
||||
"file": "@react-three_fiber.js",
|
||||
"fileHash": "dcc73392",
|
||||
"needsInterop": false
|
||||
},
|
||||
"class-variance-authority": {
|
||||
"src": "../../class-variance-authority/dist/index.mjs",
|
||||
"file": "class-variance-authority.js",
|
||||
"fileHash": "5fa3c3f8",
|
||||
"needsInterop": false
|
||||
},
|
||||
"clsx": {
|
||||
"src": "../../clsx/dist/clsx.mjs",
|
||||
"file": "clsx.js",
|
||||
"fileHash": "1428051e",
|
||||
"needsInterop": false
|
||||
},
|
||||
"framer-motion": {
|
||||
"src": "../../framer-motion/dist/es/index.mjs",
|
||||
"file": "framer-motion.js",
|
||||
"fileHash": "dd6ef86d",
|
||||
"needsInterop": false
|
||||
},
|
||||
"lucide-react": {
|
||||
"src": "../../lucide-react/dist/esm/lucide-react.js",
|
||||
"file": "lucide-react.js",
|
||||
"fileHash": "df6c668f",
|
||||
"needsInterop": false
|
||||
},
|
||||
"react-dom/client": {
|
||||
"src": "../../react-dom/client.js",
|
||||
"file": "react-dom_client.js",
|
||||
"fileHash": "23087df0",
|
||||
"needsInterop": true
|
||||
},
|
||||
"react-router-dom": {
|
||||
"src": "../../react-router-dom/dist/index.mjs",
|
||||
"file": "react-router-dom.js",
|
||||
"fileHash": "48fbca8f",
|
||||
"needsInterop": false
|
||||
},
|
||||
"recharts": {
|
||||
"src": "../../recharts/es6/index.js",
|
||||
"file": "recharts.js",
|
||||
"fileHash": "9faf094d",
|
||||
"needsInterop": false
|
||||
},
|
||||
"tailwind-merge": {
|
||||
"src": "../../tailwind-merge/dist/bundle-mjs.mjs",
|
||||
"file": "tailwind-merge.js",
|
||||
"fileHash": "fc48e7d8",
|
||||
"needsInterop": false
|
||||
},
|
||||
"three": {
|
||||
"src": "../../three/build/three.module.js",
|
||||
"file": "three.js",
|
||||
"fileHash": "a0b83871",
|
||||
"needsInterop": false
|
||||
},
|
||||
"zustand": {
|
||||
"src": "../../zustand/esm/index.mjs",
|
||||
"file": "zustand.js",
|
||||
"fileHash": "ad25a55f",
|
||||
"needsInterop": false
|
||||
},
|
||||
"zustand/middleware": {
|
||||
"src": "../../zustand/esm/middleware.mjs",
|
||||
"file": "zustand_middleware.js",
|
||||
"fileHash": "b84fa2e5",
|
||||
"needsInterop": false
|
||||
}
|
||||
},
|
||||
@@ -156,35 +132,35 @@
|
||||
"vision_bundle-CRIBZNUI": {
|
||||
"file": "vision_bundle-CRIBZNUI.js"
|
||||
},
|
||||
"chunk-OAEA5FZL": {
|
||||
"file": "chunk-OAEA5FZL.js"
|
||||
"chunk-U7P2NEEE": {
|
||||
"file": "chunk-U7P2NEEE.js"
|
||||
},
|
||||
"chunk-KOYBCGV3": {
|
||||
"file": "chunk-KOYBCGV3.js"
|
||||
"chunk-YWBEB5PG": {
|
||||
"file": "chunk-YWBEB5PG.js"
|
||||
},
|
||||
"chunk-TGAC7IAX": {
|
||||
"file": "chunk-TGAC7IAX.js"
|
||||
"chunk-23FVUG5N": {
|
||||
"file": "chunk-23FVUG5N.js"
|
||||
},
|
||||
"chunk-YJZCGBGU": {
|
||||
"file": "chunk-YJZCGBGU.js"
|
||||
},
|
||||
"chunk-6ZMM2PAV": {
|
||||
"file": "chunk-6ZMM2PAV.js"
|
||||
},
|
||||
"chunk-L3Z576C2": {
|
||||
"file": "chunk-L3Z576C2.js"
|
||||
"chunk-2VUH7NEY": {
|
||||
"file": "chunk-2VUH7NEY.js"
|
||||
},
|
||||
"chunk-6MXH2QM6": {
|
||||
"file": "chunk-6MXH2QM6.js"
|
||||
},
|
||||
"chunk-O4L7C4YS": {
|
||||
"file": "chunk-O4L7C4YS.js"
|
||||
},
|
||||
"chunk-OAEA5FZL": {
|
||||
"file": "chunk-OAEA5FZL.js"
|
||||
},
|
||||
"chunk-O5V7GNMB": {
|
||||
"file": "chunk-O5V7GNMB.js"
|
||||
},
|
||||
"chunk-GUQHL3N7": {
|
||||
"file": "chunk-GUQHL3N7.js"
|
||||
},
|
||||
"chunk-EQCCHGRT": {
|
||||
"file": "chunk-EQCCHGRT.js"
|
||||
},
|
||||
"chunk-O4L7C4YS": {
|
||||
"file": "chunk-O4L7C4YS.js"
|
||||
"chunk-L3Z576C2": {
|
||||
"file": "chunk-L3Z576C2.js"
|
||||
},
|
||||
"chunk-7GZ4CI6Q": {
|
||||
"file": "chunk-7GZ4CI6Q.js"
|
||||
@@ -192,39 +168,21 @@
|
||||
"chunk-NJ4V5H3P": {
|
||||
"file": "chunk-NJ4V5H3P.js"
|
||||
},
|
||||
"chunk-SMEXDMMQ": {
|
||||
"file": "chunk-SMEXDMMQ.js"
|
||||
},
|
||||
"chunk-M3NXY72O": {
|
||||
"file": "chunk-M3NXY72O.js"
|
||||
},
|
||||
"chunk-VPWBNV4W": {
|
||||
"file": "chunk-VPWBNV4W.js"
|
||||
"chunk-EQCCHGRT": {
|
||||
"file": "chunk-EQCCHGRT.js"
|
||||
},
|
||||
"chunk-TXHHHGR3": {
|
||||
"file": "chunk-TXHHHGR3.js"
|
||||
},
|
||||
"chunk-23FVUG5N": {
|
||||
"file": "chunk-23FVUG5N.js"
|
||||
},
|
||||
"chunk-YF4B4G2L": {
|
||||
"file": "chunk-YF4B4G2L.js"
|
||||
},
|
||||
"chunk-YWBEB5PG": {
|
||||
"file": "chunk-YWBEB5PG.js"
|
||||
},
|
||||
"chunk-2VUH7NEY": {
|
||||
"file": "chunk-2VUH7NEY.js"
|
||||
},
|
||||
"chunk-2YVA4HRZ": {
|
||||
"file": "chunk-2YVA4HRZ.js"
|
||||
},
|
||||
"chunk-WUR7D6NS": {
|
||||
"file": "chunk-WUR7D6NS.js"
|
||||
},
|
||||
"chunk-U7P2NEEE": {
|
||||
"file": "chunk-U7P2NEEE.js"
|
||||
},
|
||||
"chunk-G3PMV62Z": {
|
||||
"file": "chunk-G3PMV62Z.js"
|
||||
}
|
||||
|
||||
9
app/node_modules/.vite/deps/chunk-6ZMM2PAV.js
generated
vendored
9
app/node_modules/.vite/deps/chunk-6ZMM2PAV.js
generated
vendored
@@ -1,9 +0,0 @@
|
||||
// node_modules/@radix-ui/number/dist/index.mjs
|
||||
function clamp(value, [min, max]) {
|
||||
return Math.min(max, Math.max(min, value));
|
||||
}
|
||||
|
||||
export {
|
||||
clamp
|
||||
};
|
||||
//# sourceMappingURL=chunk-6ZMM2PAV.js.map
|
||||
7
app/node_modules/.vite/deps/chunk-6ZMM2PAV.js.map
generated
vendored
7
app/node_modules/.vite/deps/chunk-6ZMM2PAV.js.map
generated
vendored
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../@radix-ui/number/src/number.ts"],
|
||||
"sourcesContent": ["function clamp(value: number, [min, max]: [number, number]): number {\n return Math.min(max, Math.max(min, value));\n}\n\nexport { clamp };\n"],
|
||||
"mappings": ";AAAA,SAAS,MAAM,OAAe,CAAC,KAAK,GAAG,GAA6B;AAClE,SAAO,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,KAAK,CAAC;AAC3C;",
|
||||
"names": []
|
||||
}
|
||||
10153
app/node_modules/.vite/deps/chunk-KOYBCGV3.js
generated
vendored
10153
app/node_modules/.vite/deps/chunk-KOYBCGV3.js
generated
vendored
File diff suppressed because one or more lines are too long
7
app/node_modules/.vite/deps/chunk-KOYBCGV3.js.map
generated
vendored
7
app/node_modules/.vite/deps/chunk-KOYBCGV3.js.map
generated
vendored
File diff suppressed because one or more lines are too long
3841
app/node_modules/.vite/deps/chunk-M3NXY72O.js
generated
vendored
3841
app/node_modules/.vite/deps/chunk-M3NXY72O.js
generated
vendored
File diff suppressed because it is too large
Load Diff
7
app/node_modules/.vite/deps/chunk-M3NXY72O.js.map
generated
vendored
7
app/node_modules/.vite/deps/chunk-M3NXY72O.js.map
generated
vendored
File diff suppressed because one or more lines are too long
143
app/node_modules/.vite/deps/chunk-SMEXDMMQ.js
generated
vendored
143
app/node_modules/.vite/deps/chunk-SMEXDMMQ.js
generated
vendored
@@ -1,143 +0,0 @@
|
||||
import {
|
||||
useLayoutEffect2
|
||||
} from "./chunk-23FVUG5N.js";
|
||||
import {
|
||||
useComposedRefs
|
||||
} from "./chunk-2VUH7NEY.js";
|
||||
import {
|
||||
require_react
|
||||
} from "./chunk-WUR7D6NS.js";
|
||||
import {
|
||||
__toESM
|
||||
} from "./chunk-G3PMV62Z.js";
|
||||
|
||||
// node_modules/@radix-ui/react-presence/dist/index.mjs
|
||||
var React2 = __toESM(require_react(), 1);
|
||||
var React = __toESM(require_react(), 1);
|
||||
function useStateMachine(initialState, machine) {
|
||||
return React.useReducer((state, event) => {
|
||||
const nextState = machine[state][event];
|
||||
return nextState ?? state;
|
||||
}, initialState);
|
||||
}
|
||||
var Presence = (props) => {
|
||||
const { present, children } = props;
|
||||
const presence = usePresence(present);
|
||||
const child = typeof children === "function" ? children({ present: presence.isPresent }) : React2.Children.only(children);
|
||||
const ref = useComposedRefs(presence.ref, getElementRef(child));
|
||||
const forceMount = typeof children === "function";
|
||||
return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;
|
||||
};
|
||||
Presence.displayName = "Presence";
|
||||
function usePresence(present) {
|
||||
const [node, setNode] = React2.useState();
|
||||
const stylesRef = React2.useRef(null);
|
||||
const prevPresentRef = React2.useRef(present);
|
||||
const prevAnimationNameRef = React2.useRef("none");
|
||||
const initialState = present ? "mounted" : "unmounted";
|
||||
const [state, send] = useStateMachine(initialState, {
|
||||
mounted: {
|
||||
UNMOUNT: "unmounted",
|
||||
ANIMATION_OUT: "unmountSuspended"
|
||||
},
|
||||
unmountSuspended: {
|
||||
MOUNT: "mounted",
|
||||
ANIMATION_END: "unmounted"
|
||||
},
|
||||
unmounted: {
|
||||
MOUNT: "mounted"
|
||||
}
|
||||
});
|
||||
React2.useEffect(() => {
|
||||
const currentAnimationName = getAnimationName(stylesRef.current);
|
||||
prevAnimationNameRef.current = state === "mounted" ? currentAnimationName : "none";
|
||||
}, [state]);
|
||||
useLayoutEffect2(() => {
|
||||
const styles = stylesRef.current;
|
||||
const wasPresent = prevPresentRef.current;
|
||||
const hasPresentChanged = wasPresent !== present;
|
||||
if (hasPresentChanged) {
|
||||
const prevAnimationName = prevAnimationNameRef.current;
|
||||
const currentAnimationName = getAnimationName(styles);
|
||||
if (present) {
|
||||
send("MOUNT");
|
||||
} else if (currentAnimationName === "none" || styles?.display === "none") {
|
||||
send("UNMOUNT");
|
||||
} else {
|
||||
const isAnimating = prevAnimationName !== currentAnimationName;
|
||||
if (wasPresent && isAnimating) {
|
||||
send("ANIMATION_OUT");
|
||||
} else {
|
||||
send("UNMOUNT");
|
||||
}
|
||||
}
|
||||
prevPresentRef.current = present;
|
||||
}
|
||||
}, [present, send]);
|
||||
useLayoutEffect2(() => {
|
||||
if (node) {
|
||||
let timeoutId;
|
||||
const ownerWindow = node.ownerDocument.defaultView ?? window;
|
||||
const handleAnimationEnd = (event) => {
|
||||
const currentAnimationName = getAnimationName(stylesRef.current);
|
||||
const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));
|
||||
if (event.target === node && isCurrentAnimation) {
|
||||
send("ANIMATION_END");
|
||||
if (!prevPresentRef.current) {
|
||||
const currentFillMode = node.style.animationFillMode;
|
||||
node.style.animationFillMode = "forwards";
|
||||
timeoutId = ownerWindow.setTimeout(() => {
|
||||
if (node.style.animationFillMode === "forwards") {
|
||||
node.style.animationFillMode = currentFillMode;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
const handleAnimationStart = (event) => {
|
||||
if (event.target === node) {
|
||||
prevAnimationNameRef.current = getAnimationName(stylesRef.current);
|
||||
}
|
||||
};
|
||||
node.addEventListener("animationstart", handleAnimationStart);
|
||||
node.addEventListener("animationcancel", handleAnimationEnd);
|
||||
node.addEventListener("animationend", handleAnimationEnd);
|
||||
return () => {
|
||||
ownerWindow.clearTimeout(timeoutId);
|
||||
node.removeEventListener("animationstart", handleAnimationStart);
|
||||
node.removeEventListener("animationcancel", handleAnimationEnd);
|
||||
node.removeEventListener("animationend", handleAnimationEnd);
|
||||
};
|
||||
} else {
|
||||
send("ANIMATION_END");
|
||||
}
|
||||
}, [node, send]);
|
||||
return {
|
||||
isPresent: ["mounted", "unmountSuspended"].includes(state),
|
||||
ref: React2.useCallback((node2) => {
|
||||
stylesRef.current = node2 ? getComputedStyle(node2) : null;
|
||||
setNode(node2);
|
||||
}, [])
|
||||
};
|
||||
}
|
||||
function getAnimationName(styles) {
|
||||
return styles?.animationName || "none";
|
||||
}
|
||||
function getElementRef(element) {
|
||||
let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
|
||||
let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
||||
if (mayWarn) {
|
||||
return element.ref;
|
||||
}
|
||||
getter = Object.getOwnPropertyDescriptor(element, "ref")?.get;
|
||||
mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
||||
if (mayWarn) {
|
||||
return element.props.ref;
|
||||
}
|
||||
return element.props.ref || element.ref;
|
||||
}
|
||||
|
||||
export {
|
||||
Presence
|
||||
};
|
||||
//# sourceMappingURL=chunk-SMEXDMMQ.js.map
|
||||
7
app/node_modules/.vite/deps/chunk-SMEXDMMQ.js.map
generated
vendored
7
app/node_modules/.vite/deps/chunk-SMEXDMMQ.js.map
generated
vendored
File diff suppressed because one or more lines are too long
158486
app/node_modules/.vite/deps/chunk-TGAC7IAX.js
generated
vendored
158486
app/node_modules/.vite/deps/chunk-TGAC7IAX.js
generated
vendored
File diff suppressed because one or more lines are too long
7
app/node_modules/.vite/deps/chunk-TGAC7IAX.js.map
generated
vendored
7
app/node_modules/.vite/deps/chunk-TGAC7IAX.js.map
generated
vendored
File diff suppressed because one or more lines are too long
241
app/node_modules/.vite/deps/chunk-VPWBNV4W.js
generated
vendored
241
app/node_modules/.vite/deps/chunk-VPWBNV4W.js
generated
vendored
@@ -1,241 +0,0 @@
|
||||
import {
|
||||
require_react_dom
|
||||
} from "./chunk-YF4B4G2L.js";
|
||||
import {
|
||||
composeRefs
|
||||
} from "./chunk-2VUH7NEY.js";
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-2YVA4HRZ.js";
|
||||
import {
|
||||
require_react
|
||||
} from "./chunk-WUR7D6NS.js";
|
||||
import {
|
||||
__toESM
|
||||
} from "./chunk-G3PMV62Z.js";
|
||||
|
||||
// node_modules/@radix-ui/primitive/dist/index.mjs
|
||||
var canUseDOM = !!(typeof window !== "undefined" && window.document && window.document.createElement);
|
||||
function composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {
|
||||
return function handleEvent(event) {
|
||||
originalEventHandler?.(event);
|
||||
if (checkForDefaultPrevented === false || !event.defaultPrevented) {
|
||||
return ourEventHandler?.(event);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
// node_modules/@radix-ui/react-context/dist/index.mjs
|
||||
var React = __toESM(require_react(), 1);
|
||||
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
|
||||
function createContextScope(scopeName, createContextScopeDeps = []) {
|
||||
let defaultContexts = [];
|
||||
function createContext3(rootComponentName, defaultContext) {
|
||||
const BaseContext = React.createContext(defaultContext);
|
||||
const index = defaultContexts.length;
|
||||
defaultContexts = [...defaultContexts, defaultContext];
|
||||
const Provider = (props) => {
|
||||
const { scope, children, ...context } = props;
|
||||
const Context = scope?.[scopeName]?.[index] || BaseContext;
|
||||
const value = React.useMemo(() => context, Object.values(context));
|
||||
return (0, import_jsx_runtime.jsx)(Context.Provider, { value, children });
|
||||
};
|
||||
Provider.displayName = rootComponentName + "Provider";
|
||||
function useContext22(consumerName, scope) {
|
||||
const Context = scope?.[scopeName]?.[index] || BaseContext;
|
||||
const context = React.useContext(Context);
|
||||
if (context) return context;
|
||||
if (defaultContext !== void 0) return defaultContext;
|
||||
throw new Error(`\`${consumerName}\` must be used within \`${rootComponentName}\``);
|
||||
}
|
||||
return [Provider, useContext22];
|
||||
}
|
||||
const createScope = () => {
|
||||
const scopeContexts = defaultContexts.map((defaultContext) => {
|
||||
return React.createContext(defaultContext);
|
||||
});
|
||||
return function useScope(scope) {
|
||||
const contexts = scope?.[scopeName] || scopeContexts;
|
||||
return React.useMemo(
|
||||
() => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),
|
||||
[scope, contexts]
|
||||
);
|
||||
};
|
||||
};
|
||||
createScope.scopeName = scopeName;
|
||||
return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];
|
||||
}
|
||||
function composeContextScopes(...scopes) {
|
||||
const baseScope = scopes[0];
|
||||
if (scopes.length === 1) return baseScope;
|
||||
const createScope = () => {
|
||||
const scopeHooks = scopes.map((createScope2) => ({
|
||||
useScope: createScope2(),
|
||||
scopeName: createScope2.scopeName
|
||||
}));
|
||||
return function useComposedScopes(overrideScopes) {
|
||||
const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {
|
||||
const scopeProps = useScope(overrideScopes);
|
||||
const currentScope = scopeProps[`__scope${scopeName}`];
|
||||
return { ...nextScopes2, ...currentScope };
|
||||
}, {});
|
||||
return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);
|
||||
};
|
||||
};
|
||||
createScope.scopeName = baseScope.scopeName;
|
||||
return createScope;
|
||||
}
|
||||
|
||||
// node_modules/@radix-ui/react-primitive/dist/index.mjs
|
||||
var React3 = __toESM(require_react(), 1);
|
||||
var ReactDOM = __toESM(require_react_dom(), 1);
|
||||
|
||||
// node_modules/@radix-ui/react-primitive/node_modules/@radix-ui/react-slot/dist/index.mjs
|
||||
var React2 = __toESM(require_react(), 1);
|
||||
var import_jsx_runtime2 = __toESM(require_jsx_runtime(), 1);
|
||||
function createSlot(ownerName) {
|
||||
const SlotClone = createSlotClone(ownerName);
|
||||
const Slot2 = React2.forwardRef((props, forwardedRef) => {
|
||||
const { children, ...slotProps } = props;
|
||||
const childrenArray = React2.Children.toArray(children);
|
||||
const slottable = childrenArray.find(isSlottable);
|
||||
if (slottable) {
|
||||
const newElement = slottable.props.children;
|
||||
const newChildren = childrenArray.map((child) => {
|
||||
if (child === slottable) {
|
||||
if (React2.Children.count(newElement) > 1) return React2.Children.only(null);
|
||||
return React2.isValidElement(newElement) ? newElement.props.children : null;
|
||||
} else {
|
||||
return child;
|
||||
}
|
||||
});
|
||||
return (0, import_jsx_runtime2.jsx)(SlotClone, { ...slotProps, ref: forwardedRef, children: React2.isValidElement(newElement) ? React2.cloneElement(newElement, void 0, newChildren) : null });
|
||||
}
|
||||
return (0, import_jsx_runtime2.jsx)(SlotClone, { ...slotProps, ref: forwardedRef, children });
|
||||
});
|
||||
Slot2.displayName = `${ownerName}.Slot`;
|
||||
return Slot2;
|
||||
}
|
||||
var Slot = createSlot("Slot");
|
||||
function createSlotClone(ownerName) {
|
||||
const SlotClone = React2.forwardRef((props, forwardedRef) => {
|
||||
const { children, ...slotProps } = props;
|
||||
if (React2.isValidElement(children)) {
|
||||
const childrenRef = getElementRef(children);
|
||||
const props2 = mergeProps(slotProps, children.props);
|
||||
if (children.type !== React2.Fragment) {
|
||||
props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;
|
||||
}
|
||||
return React2.cloneElement(children, props2);
|
||||
}
|
||||
return React2.Children.count(children) > 1 ? React2.Children.only(null) : null;
|
||||
});
|
||||
SlotClone.displayName = `${ownerName}.SlotClone`;
|
||||
return SlotClone;
|
||||
}
|
||||
var SLOTTABLE_IDENTIFIER = /* @__PURE__ */ Symbol("radix.slottable");
|
||||
function createSlottable(ownerName) {
|
||||
const Slottable2 = ({ children }) => {
|
||||
return (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children });
|
||||
};
|
||||
Slottable2.displayName = `${ownerName}.Slottable`;
|
||||
Slottable2.__radixId = SLOTTABLE_IDENTIFIER;
|
||||
return Slottable2;
|
||||
}
|
||||
var Slottable = createSlottable("Slottable");
|
||||
function isSlottable(child) {
|
||||
return React2.isValidElement(child) && typeof child.type === "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;
|
||||
}
|
||||
function mergeProps(slotProps, childProps) {
|
||||
const overrideProps = { ...childProps };
|
||||
for (const propName in childProps) {
|
||||
const slotPropValue = slotProps[propName];
|
||||
const childPropValue = childProps[propName];
|
||||
const isHandler = /^on[A-Z]/.test(propName);
|
||||
if (isHandler) {
|
||||
if (slotPropValue && childPropValue) {
|
||||
overrideProps[propName] = (...args) => {
|
||||
const result = childPropValue(...args);
|
||||
slotPropValue(...args);
|
||||
return result;
|
||||
};
|
||||
} else if (slotPropValue) {
|
||||
overrideProps[propName] = slotPropValue;
|
||||
}
|
||||
} else if (propName === "style") {
|
||||
overrideProps[propName] = { ...slotPropValue, ...childPropValue };
|
||||
} else if (propName === "className") {
|
||||
overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(" ");
|
||||
}
|
||||
}
|
||||
return { ...slotProps, ...overrideProps };
|
||||
}
|
||||
function getElementRef(element) {
|
||||
let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
|
||||
let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
||||
if (mayWarn) {
|
||||
return element.ref;
|
||||
}
|
||||
getter = Object.getOwnPropertyDescriptor(element, "ref")?.get;
|
||||
mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
||||
if (mayWarn) {
|
||||
return element.props.ref;
|
||||
}
|
||||
return element.props.ref || element.ref;
|
||||
}
|
||||
|
||||
// node_modules/@radix-ui/react-primitive/dist/index.mjs
|
||||
var import_jsx_runtime3 = __toESM(require_jsx_runtime(), 1);
|
||||
var NODES = [
|
||||
"a",
|
||||
"button",
|
||||
"div",
|
||||
"form",
|
||||
"h2",
|
||||
"h3",
|
||||
"img",
|
||||
"input",
|
||||
"label",
|
||||
"li",
|
||||
"nav",
|
||||
"ol",
|
||||
"p",
|
||||
"select",
|
||||
"span",
|
||||
"svg",
|
||||
"ul"
|
||||
];
|
||||
var Primitive = NODES.reduce((primitive, node) => {
|
||||
const Slot2 = createSlot(`Primitive.${node}`);
|
||||
const Node = React3.forwardRef((props, forwardedRef) => {
|
||||
const { asChild, ...primitiveProps } = props;
|
||||
const Comp = asChild ? Slot2 : node;
|
||||
if (typeof window !== "undefined") {
|
||||
window[/* @__PURE__ */ Symbol.for("radix-ui")] = true;
|
||||
}
|
||||
return (0, import_jsx_runtime3.jsx)(Comp, { ...primitiveProps, ref: forwardedRef });
|
||||
});
|
||||
Node.displayName = `Primitive.${node}`;
|
||||
return { ...primitive, [node]: Node };
|
||||
}, {});
|
||||
function dispatchDiscreteCustomEvent(target, event) {
|
||||
if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));
|
||||
}
|
||||
|
||||
// node_modules/@radix-ui/react-direction/dist/index.mjs
|
||||
var React4 = __toESM(require_react(), 1);
|
||||
var import_jsx_runtime4 = __toESM(require_jsx_runtime(), 1);
|
||||
var DirectionContext = React4.createContext(void 0);
|
||||
function useDirection(localDir) {
|
||||
const globalDir = React4.useContext(DirectionContext);
|
||||
return localDir || globalDir || "ltr";
|
||||
}
|
||||
|
||||
export {
|
||||
composeEventHandlers,
|
||||
createContextScope,
|
||||
Primitive,
|
||||
dispatchDiscreteCustomEvent,
|
||||
useDirection
|
||||
};
|
||||
//# sourceMappingURL=chunk-VPWBNV4W.js.map
|
||||
7
app/node_modules/.vite/deps/chunk-VPWBNV4W.js.map
generated
vendored
7
app/node_modules/.vite/deps/chunk-VPWBNV4W.js.map
generated
vendored
File diff suppressed because one or more lines are too long
311
app/node_modules/.vite/deps/chunk-YJZCGBGU.js
generated
vendored
311
app/node_modules/.vite/deps/chunk-YJZCGBGU.js
generated
vendored
@@ -1,311 +0,0 @@
|
||||
import {
|
||||
require_react
|
||||
} from "./chunk-WUR7D6NS.js";
|
||||
import {
|
||||
__toESM
|
||||
} from "./chunk-G3PMV62Z.js";
|
||||
|
||||
// node_modules/@dnd-kit/utilities/dist/utilities.esm.js
|
||||
var import_react = __toESM(require_react());
|
||||
function useCombinedRefs() {
|
||||
for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
|
||||
refs[_key] = arguments[_key];
|
||||
}
|
||||
return (0, import_react.useMemo)(
|
||||
() => (node) => {
|
||||
refs.forEach((ref) => ref(node));
|
||||
},
|
||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||
refs
|
||||
);
|
||||
}
|
||||
var canUseDOM = typeof window !== "undefined" && typeof window.document !== "undefined" && typeof window.document.createElement !== "undefined";
|
||||
function isWindow(element) {
|
||||
const elementString = Object.prototype.toString.call(element);
|
||||
return elementString === "[object Window]" || // In Electron context the Window object serializes to [object global]
|
||||
elementString === "[object global]";
|
||||
}
|
||||
function isNode(node) {
|
||||
return "nodeType" in node;
|
||||
}
|
||||
function getWindow(target) {
|
||||
var _target$ownerDocument, _target$ownerDocument2;
|
||||
if (!target) {
|
||||
return window;
|
||||
}
|
||||
if (isWindow(target)) {
|
||||
return target;
|
||||
}
|
||||
if (!isNode(target)) {
|
||||
return window;
|
||||
}
|
||||
return (_target$ownerDocument = (_target$ownerDocument2 = target.ownerDocument) == null ? void 0 : _target$ownerDocument2.defaultView) != null ? _target$ownerDocument : window;
|
||||
}
|
||||
function isDocument(node) {
|
||||
const {
|
||||
Document
|
||||
} = getWindow(node);
|
||||
return node instanceof Document;
|
||||
}
|
||||
function isHTMLElement(node) {
|
||||
if (isWindow(node)) {
|
||||
return false;
|
||||
}
|
||||
return node instanceof getWindow(node).HTMLElement;
|
||||
}
|
||||
function isSVGElement(node) {
|
||||
return node instanceof getWindow(node).SVGElement;
|
||||
}
|
||||
function getOwnerDocument(target) {
|
||||
if (!target) {
|
||||
return document;
|
||||
}
|
||||
if (isWindow(target)) {
|
||||
return target.document;
|
||||
}
|
||||
if (!isNode(target)) {
|
||||
return document;
|
||||
}
|
||||
if (isDocument(target)) {
|
||||
return target;
|
||||
}
|
||||
if (isHTMLElement(target) || isSVGElement(target)) {
|
||||
return target.ownerDocument;
|
||||
}
|
||||
return document;
|
||||
}
|
||||
var useIsomorphicLayoutEffect = canUseDOM ? import_react.useLayoutEffect : import_react.useEffect;
|
||||
function useEvent(handler) {
|
||||
const handlerRef = (0, import_react.useRef)(handler);
|
||||
useIsomorphicLayoutEffect(() => {
|
||||
handlerRef.current = handler;
|
||||
});
|
||||
return (0, import_react.useCallback)(function() {
|
||||
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
||||
args[_key] = arguments[_key];
|
||||
}
|
||||
return handlerRef.current == null ? void 0 : handlerRef.current(...args);
|
||||
}, []);
|
||||
}
|
||||
function useInterval() {
|
||||
const intervalRef = (0, import_react.useRef)(null);
|
||||
const set = (0, import_react.useCallback)((listener, duration) => {
|
||||
intervalRef.current = setInterval(listener, duration);
|
||||
}, []);
|
||||
const clear = (0, import_react.useCallback)(() => {
|
||||
if (intervalRef.current !== null) {
|
||||
clearInterval(intervalRef.current);
|
||||
intervalRef.current = null;
|
||||
}
|
||||
}, []);
|
||||
return [set, clear];
|
||||
}
|
||||
function useLatestValue(value, dependencies) {
|
||||
if (dependencies === void 0) {
|
||||
dependencies = [value];
|
||||
}
|
||||
const valueRef = (0, import_react.useRef)(value);
|
||||
useIsomorphicLayoutEffect(() => {
|
||||
if (valueRef.current !== value) {
|
||||
valueRef.current = value;
|
||||
}
|
||||
}, dependencies);
|
||||
return valueRef;
|
||||
}
|
||||
function useLazyMemo(callback, dependencies) {
|
||||
const valueRef = (0, import_react.useRef)();
|
||||
return (0, import_react.useMemo)(
|
||||
() => {
|
||||
const newValue = callback(valueRef.current);
|
||||
valueRef.current = newValue;
|
||||
return newValue;
|
||||
},
|
||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||
[...dependencies]
|
||||
);
|
||||
}
|
||||
function useNodeRef(onChange) {
|
||||
const onChangeHandler = useEvent(onChange);
|
||||
const node = (0, import_react.useRef)(null);
|
||||
const setNodeRef = (0, import_react.useCallback)(
|
||||
(element) => {
|
||||
if (element !== node.current) {
|
||||
onChangeHandler == null ? void 0 : onChangeHandler(element, node.current);
|
||||
}
|
||||
node.current = element;
|
||||
},
|
||||
//eslint-disable-next-line
|
||||
[]
|
||||
);
|
||||
return [node, setNodeRef];
|
||||
}
|
||||
function usePrevious(value) {
|
||||
const ref = (0, import_react.useRef)();
|
||||
(0, import_react.useEffect)(() => {
|
||||
ref.current = value;
|
||||
}, [value]);
|
||||
return ref.current;
|
||||
}
|
||||
var ids = {};
|
||||
function useUniqueId(prefix, value) {
|
||||
return (0, import_react.useMemo)(() => {
|
||||
if (value) {
|
||||
return value;
|
||||
}
|
||||
const id = ids[prefix] == null ? 0 : ids[prefix] + 1;
|
||||
ids[prefix] = id;
|
||||
return prefix + "-" + id;
|
||||
}, [prefix, value]);
|
||||
}
|
||||
function createAdjustmentFn(modifier) {
|
||||
return function(object) {
|
||||
for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
||||
adjustments[_key - 1] = arguments[_key];
|
||||
}
|
||||
return adjustments.reduce((accumulator, adjustment) => {
|
||||
const entries = Object.entries(adjustment);
|
||||
for (const [key, valueAdjustment] of entries) {
|
||||
const value = accumulator[key];
|
||||
if (value != null) {
|
||||
accumulator[key] = value + modifier * valueAdjustment;
|
||||
}
|
||||
}
|
||||
return accumulator;
|
||||
}, {
|
||||
...object
|
||||
});
|
||||
};
|
||||
}
|
||||
var add = createAdjustmentFn(1);
|
||||
var subtract = createAdjustmentFn(-1);
|
||||
function hasViewportRelativeCoordinates(event) {
|
||||
return "clientX" in event && "clientY" in event;
|
||||
}
|
||||
function isKeyboardEvent(event) {
|
||||
if (!event) {
|
||||
return false;
|
||||
}
|
||||
const {
|
||||
KeyboardEvent
|
||||
} = getWindow(event.target);
|
||||
return KeyboardEvent && event instanceof KeyboardEvent;
|
||||
}
|
||||
function isTouchEvent(event) {
|
||||
if (!event) {
|
||||
return false;
|
||||
}
|
||||
const {
|
||||
TouchEvent
|
||||
} = getWindow(event.target);
|
||||
return TouchEvent && event instanceof TouchEvent;
|
||||
}
|
||||
function getEventCoordinates(event) {
|
||||
if (isTouchEvent(event)) {
|
||||
if (event.touches && event.touches.length) {
|
||||
const {
|
||||
clientX: x,
|
||||
clientY: y
|
||||
} = event.touches[0];
|
||||
return {
|
||||
x,
|
||||
y
|
||||
};
|
||||
} else if (event.changedTouches && event.changedTouches.length) {
|
||||
const {
|
||||
clientX: x,
|
||||
clientY: y
|
||||
} = event.changedTouches[0];
|
||||
return {
|
||||
x,
|
||||
y
|
||||
};
|
||||
}
|
||||
}
|
||||
if (hasViewportRelativeCoordinates(event)) {
|
||||
return {
|
||||
x: event.clientX,
|
||||
y: event.clientY
|
||||
};
|
||||
}
|
||||
return null;
|
||||
}
|
||||
var CSS = Object.freeze({
|
||||
Translate: {
|
||||
toString(transform) {
|
||||
if (!transform) {
|
||||
return;
|
||||
}
|
||||
const {
|
||||
x,
|
||||
y
|
||||
} = transform;
|
||||
return "translate3d(" + (x ? Math.round(x) : 0) + "px, " + (y ? Math.round(y) : 0) + "px, 0)";
|
||||
}
|
||||
},
|
||||
Scale: {
|
||||
toString(transform) {
|
||||
if (!transform) {
|
||||
return;
|
||||
}
|
||||
const {
|
||||
scaleX,
|
||||
scaleY
|
||||
} = transform;
|
||||
return "scaleX(" + scaleX + ") scaleY(" + scaleY + ")";
|
||||
}
|
||||
},
|
||||
Transform: {
|
||||
toString(transform) {
|
||||
if (!transform) {
|
||||
return;
|
||||
}
|
||||
return [CSS.Translate.toString(transform), CSS.Scale.toString(transform)].join(" ");
|
||||
}
|
||||
},
|
||||
Transition: {
|
||||
toString(_ref) {
|
||||
let {
|
||||
property,
|
||||
duration,
|
||||
easing
|
||||
} = _ref;
|
||||
return property + " " + duration + "ms " + easing;
|
||||
}
|
||||
}
|
||||
});
|
||||
var SELECTOR = "a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";
|
||||
function findFirstFocusableNode(element) {
|
||||
if (element.matches(SELECTOR)) {
|
||||
return element;
|
||||
}
|
||||
return element.querySelector(SELECTOR);
|
||||
}
|
||||
|
||||
export {
|
||||
useCombinedRefs,
|
||||
canUseDOM,
|
||||
isWindow,
|
||||
isNode,
|
||||
getWindow,
|
||||
isDocument,
|
||||
isHTMLElement,
|
||||
isSVGElement,
|
||||
getOwnerDocument,
|
||||
useIsomorphicLayoutEffect,
|
||||
useEvent,
|
||||
useInterval,
|
||||
useLatestValue,
|
||||
useLazyMemo,
|
||||
useNodeRef,
|
||||
usePrevious,
|
||||
useUniqueId,
|
||||
add,
|
||||
subtract,
|
||||
hasViewportRelativeCoordinates,
|
||||
isKeyboardEvent,
|
||||
isTouchEvent,
|
||||
getEventCoordinates,
|
||||
CSS,
|
||||
findFirstFocusableNode
|
||||
};
|
||||
//# sourceMappingURL=chunk-YJZCGBGU.js.map
|
||||
7
app/node_modules/.vite/deps/chunk-YJZCGBGU.js.map
generated
vendored
7
app/node_modules/.vite/deps/chunk-YJZCGBGU.js.map
generated
vendored
File diff suppressed because one or more lines are too long
6
app/node_modules/.vite/deps/recharts.js
generated
vendored
6
app/node_modules/.vite/deps/recharts.js
generated
vendored
@@ -1,3 +1,6 @@
|
||||
import {
|
||||
clsx_default
|
||||
} from "./chunk-U7P2NEEE.js";
|
||||
import {
|
||||
_extends
|
||||
} from "./chunk-EQCCHGRT.js";
|
||||
@@ -7,9 +10,6 @@ import {
|
||||
import {
|
||||
require_react
|
||||
} from "./chunk-WUR7D6NS.js";
|
||||
import {
|
||||
clsx_default
|
||||
} from "./chunk-U7P2NEEE.js";
|
||||
import {
|
||||
__commonJS,
|
||||
__export,
|
||||
|
||||
711
app/node_modules/.vite/deps/three-stdlib.js
generated
vendored
711
app/node_modules/.vite/deps/three-stdlib.js
generated
vendored
@@ -1,711 +0,0 @@
|
||||
import {
|
||||
ACESFilmicToneMappingShader,
|
||||
AMFLoader,
|
||||
ARButton,
|
||||
AdaptiveToneMappingPass,
|
||||
AfterimagePass,
|
||||
AfterimageShader,
|
||||
AmmoPhysics,
|
||||
AnaglyphEffect,
|
||||
AnimationClipCreator,
|
||||
ArcballControls,
|
||||
AsciiEffect,
|
||||
AssimpLoader,
|
||||
BVHLoader,
|
||||
BasicShader,
|
||||
BasisTextureLoader,
|
||||
BatchedMesh,
|
||||
BleachBypassShader,
|
||||
BlendShader,
|
||||
BloomPass,
|
||||
BlurShaderUtils,
|
||||
BokehDepthShader,
|
||||
BokehPass,
|
||||
BokehShader,
|
||||
BokehShader2,
|
||||
BoxLineGeometry,
|
||||
BrightnessContrastShader,
|
||||
CCDIKHelper,
|
||||
CCDIKSolver,
|
||||
CSM,
|
||||
CSMFrustum,
|
||||
CSMHelper,
|
||||
CSMShader,
|
||||
CSS2DObject,
|
||||
CSS2DRenderer,
|
||||
CSS3DObject,
|
||||
CSS3DRenderer,
|
||||
CSS3DSprite,
|
||||
CameraControls,
|
||||
Capsule,
|
||||
CinematicCamera,
|
||||
CinquefoilKnot,
|
||||
ClearMaskPass,
|
||||
ClearPass,
|
||||
ColladaExporter,
|
||||
ColladaLoader,
|
||||
ColorConverter,
|
||||
ColorCorrectionShader,
|
||||
ColorMapKeywords,
|
||||
ColorifyShader,
|
||||
ConvexGeometry,
|
||||
ConvexHull,
|
||||
ConvexObjectBreaker,
|
||||
ConvolutionShader,
|
||||
CopyShader,
|
||||
CubeTexturePass,
|
||||
DDSLoader,
|
||||
DOFMipMapShader,
|
||||
DRACOExporter,
|
||||
DRACOLoader,
|
||||
DecalGeometry,
|
||||
DecalVertex,
|
||||
DecoratedTorusKnot4a,
|
||||
DecoratedTorusKnot4b,
|
||||
DecoratedTorusKnot5a,
|
||||
DecoratedTorusKnot5c,
|
||||
DepthLimitedBlurShader,
|
||||
DeviceOrientationControls,
|
||||
DigitalGlitch,
|
||||
DotScreenPass,
|
||||
DotScreenShader,
|
||||
DragControls,
|
||||
EXRLoader,
|
||||
EdgeSplitModifier,
|
||||
EffectComposer,
|
||||
FBXLoader,
|
||||
FXAAShader,
|
||||
Face,
|
||||
Face3,
|
||||
FigureEightPolynomialKnot,
|
||||
FilmPass,
|
||||
FilmShader,
|
||||
FirstPersonControls,
|
||||
FlakesTexture,
|
||||
Flow,
|
||||
FlyControls,
|
||||
FocusShader,
|
||||
Font,
|
||||
FontLoader,
|
||||
FreiChenShader,
|
||||
FresnelShader,
|
||||
FullScreenQuad,
|
||||
GCodeLoader,
|
||||
GLTFExporter,
|
||||
GLTFLoader,
|
||||
GPUComputationRenderer,
|
||||
GammaCorrectionShader,
|
||||
Geometry,
|
||||
GeometryCompressionUtils,
|
||||
GeometryUtils,
|
||||
GlitchPass,
|
||||
GodRaysCombineShader,
|
||||
GodRaysDepthMaskShader,
|
||||
GodRaysFakeSunShader,
|
||||
GodRaysGenerateShader,
|
||||
GrannyKnot,
|
||||
GroundProjectedEnv,
|
||||
Gyroscope,
|
||||
HDRCubeTextureLoader,
|
||||
HTMLMesh,
|
||||
HalfEdge,
|
||||
HalftonePass,
|
||||
HalftoneShader,
|
||||
HeartCurve,
|
||||
HelixCurve,
|
||||
HorizontalBlurShader,
|
||||
HorizontalTiltShiftShader,
|
||||
HueSaturationShader,
|
||||
ImprovedNoise,
|
||||
InstancedFlow,
|
||||
InteractiveGroup,
|
||||
KMZLoader,
|
||||
KTX2Loader,
|
||||
KTXLoader,
|
||||
KaleidoShader,
|
||||
KnotCurve,
|
||||
LDrawLoader,
|
||||
LUT3dlLoader,
|
||||
LUTCubeLoader,
|
||||
LUTPass,
|
||||
LWOLoader,
|
||||
Lensflare,
|
||||
LensflareElement,
|
||||
LightProbeGenerator,
|
||||
LightProbeHelper,
|
||||
LightningStorm,
|
||||
LightningStrike,
|
||||
Line2,
|
||||
LineGeometry,
|
||||
LineMaterial,
|
||||
LineSegments2,
|
||||
LineSegmentsGeometry,
|
||||
LottieLoader,
|
||||
LuminosityHighPassShader,
|
||||
LuminosityShader,
|
||||
Lut,
|
||||
MD2Character,
|
||||
MD2CharacterComplex,
|
||||
MD2Loader,
|
||||
MDDLoader,
|
||||
MMDAnimationHelper,
|
||||
MMDExporter,
|
||||
MMDLoader,
|
||||
MMDPhysics,
|
||||
MTLLoader,
|
||||
MapControls,
|
||||
MapControlsExp,
|
||||
MarchingCubes,
|
||||
MaskPass,
|
||||
MeshSurfaceSampler,
|
||||
MeshoptDecoder,
|
||||
MirrorShader,
|
||||
MorphAnimMesh,
|
||||
MorphBlendMesh,
|
||||
MotionController,
|
||||
MotionControllerConstants,
|
||||
NRRDLoader,
|
||||
NURBSCurve,
|
||||
NURBSSurface,
|
||||
NormalMapShader,
|
||||
OBB,
|
||||
OBJExporter,
|
||||
OBJLoader,
|
||||
Octree,
|
||||
OculusHandModel,
|
||||
OculusHandPointerModel,
|
||||
OrbitControls,
|
||||
OrbitControlsExp,
|
||||
OutlineEffect,
|
||||
OutlinePass,
|
||||
PCDLoader,
|
||||
PDBLoader,
|
||||
PLYExporter,
|
||||
PLYLoader,
|
||||
PRWMLoader,
|
||||
PVRLoader,
|
||||
PackedPhongMaterial,
|
||||
ParallaxBarrierEffect,
|
||||
ParallaxShader,
|
||||
ParametricGeometries,
|
||||
ParametricGeometry,
|
||||
Pass,
|
||||
PeppersGhostEffect,
|
||||
PixelShader,
|
||||
PointerLockControls,
|
||||
PositionalAudioHelper,
|
||||
ProgressiveLightMap,
|
||||
Projector,
|
||||
RGBELoader,
|
||||
RGBMLoader,
|
||||
RGBShiftShader,
|
||||
RaycasterHelper,
|
||||
RectAreaLightHelper,
|
||||
RectAreaLightUniformsLib,
|
||||
Reflector,
|
||||
ReflectorForSSRPass,
|
||||
ReflectorRTT,
|
||||
Refractor,
|
||||
RenderPass,
|
||||
RenderPixelatedPass,
|
||||
RenderableFace,
|
||||
RenderableLine,
|
||||
RenderableObject,
|
||||
RenderableSprite,
|
||||
RenderableVertex,
|
||||
Rhino3dmLoader,
|
||||
RollerCoasterGeometry,
|
||||
RollerCoasterLiftersGeometry,
|
||||
RollerCoasterShadowGeometry,
|
||||
RoomEnvironment,
|
||||
RoughnessMipmapper,
|
||||
RoundedBoxGeometry,
|
||||
SAOPass,
|
||||
SAOShader,
|
||||
SMAABlendShader,
|
||||
SMAAEdgesShader,
|
||||
SMAAPass,
|
||||
SMAAWeightsShader,
|
||||
SSAARenderPass,
|
||||
SSAOBlurShader,
|
||||
SSAODepthShader,
|
||||
SSAOPass,
|
||||
SSAOShader,
|
||||
SSRBlurShader,
|
||||
SSRDepthShader,
|
||||
SSRPass,
|
||||
SSRShader,
|
||||
STATE,
|
||||
STLExporter,
|
||||
STLLoader,
|
||||
SVGLoader,
|
||||
SVGObject,
|
||||
SVGRenderer,
|
||||
SavePass,
|
||||
SceneUtils,
|
||||
SelectionBox,
|
||||
SelectionHelper,
|
||||
SepiaShader,
|
||||
ShaderPass,
|
||||
ShadowMapViewer,
|
||||
ShadowMesh,
|
||||
SimplexNoise,
|
||||
SimplifyModifier,
|
||||
SkeletonUtils,
|
||||
Sky,
|
||||
SkyGeometry,
|
||||
SobelOperatorShader,
|
||||
StereoEffect,
|
||||
SubsurfaceScatteringShader,
|
||||
TAARenderPass,
|
||||
TDSLoader,
|
||||
TGALoader,
|
||||
TTFLoader,
|
||||
TeapotGeometry,
|
||||
TechnicolorShader,
|
||||
TessellateModifier,
|
||||
TextGeometry,
|
||||
TexturePass,
|
||||
ThreeMFLoader,
|
||||
TiltLoader,
|
||||
Timer,
|
||||
ToneMapShader,
|
||||
ToonShader1,
|
||||
ToonShader2,
|
||||
ToonShaderDotted,
|
||||
ToonShaderHatching,
|
||||
TorusKnot,
|
||||
TrackballControls,
|
||||
TrackballControlsExp,
|
||||
TransformControls,
|
||||
TransformControlsGizmo,
|
||||
TransformControlsPlane,
|
||||
TreesGeometry,
|
||||
TrefoilKnot,
|
||||
TrefoilPolynomialKnot,
|
||||
TriangleBlurShader,
|
||||
TubePainter,
|
||||
USDZExporter,
|
||||
UVsDebug,
|
||||
UnpackDepthRGBAShader,
|
||||
UnrealBloomPass,
|
||||
VOXData3DTexture,
|
||||
VOXLoader,
|
||||
VOXMesh,
|
||||
VRButton,
|
||||
VRMLLoader,
|
||||
VRMLoader,
|
||||
VTKLoader,
|
||||
VertexList,
|
||||
VertexNode,
|
||||
VertexNormalsHelper,
|
||||
VertexTangentsHelper,
|
||||
VerticalBlurShader,
|
||||
VerticalTiltShiftShader,
|
||||
VignetteShader,
|
||||
VivianiCurve,
|
||||
Volume,
|
||||
VolumeRenderShader1,
|
||||
VolumeSlice,
|
||||
Water,
|
||||
Water2,
|
||||
WaterPass,
|
||||
WaterRefractionShader,
|
||||
Wireframe,
|
||||
WireframeGeometry2,
|
||||
XLoader,
|
||||
XRControllerModelFactory,
|
||||
XREstimatedLight,
|
||||
XRHandMeshModel,
|
||||
XRHandModelFactory,
|
||||
XRHandPrimitiveModel,
|
||||
XYZLoader,
|
||||
calcBSplineDerivatives,
|
||||
calcBSplinePoint,
|
||||
calcBasisFunctionDerivatives,
|
||||
calcBasisFunctions,
|
||||
calcKoverI,
|
||||
calcNURBSDerivatives,
|
||||
calcRationalCurveDerivatives,
|
||||
calcSurfacePoint,
|
||||
computeMorphedAttributes,
|
||||
createText,
|
||||
edgeTable,
|
||||
estimateBytesUsed,
|
||||
fetchProfile,
|
||||
fetchProfilesList,
|
||||
findSpan,
|
||||
getErrorMessage,
|
||||
getUniforms,
|
||||
getWebGL2ErrorMessage,
|
||||
getWebGLErrorMessage,
|
||||
initSplineTexture,
|
||||
interleaveAttributes,
|
||||
isWebGL2Available,
|
||||
isWebGLAvailable,
|
||||
mergeBufferAttributes,
|
||||
mergeBufferGeometries,
|
||||
mergeVertices,
|
||||
modifyShader,
|
||||
toCreasedNormals,
|
||||
toTrianglesDrawMode,
|
||||
triTable,
|
||||
updateSplineTexture
|
||||
} from "./chunk-TGAC7IAX.js";
|
||||
import "./chunk-L3Z576C2.js";
|
||||
import "./chunk-G3PMV62Z.js";
|
||||
export {
|
||||
ACESFilmicToneMappingShader,
|
||||
AMFLoader,
|
||||
ARButton,
|
||||
AdaptiveToneMappingPass,
|
||||
AfterimagePass,
|
||||
AfterimageShader,
|
||||
AmmoPhysics,
|
||||
AnaglyphEffect,
|
||||
AnimationClipCreator,
|
||||
ArcballControls,
|
||||
AsciiEffect,
|
||||
AssimpLoader,
|
||||
BVHLoader,
|
||||
BasicShader,
|
||||
BasisTextureLoader,
|
||||
BatchedMesh,
|
||||
BleachBypassShader,
|
||||
BlendShader,
|
||||
BloomPass,
|
||||
BlurShaderUtils,
|
||||
BokehDepthShader,
|
||||
BokehPass,
|
||||
BokehShader,
|
||||
BokehShader2,
|
||||
BoxLineGeometry,
|
||||
BrightnessContrastShader,
|
||||
CCDIKHelper,
|
||||
CCDIKSolver,
|
||||
CSM,
|
||||
CSMFrustum,
|
||||
CSMHelper,
|
||||
CSMShader,
|
||||
CSS2DObject,
|
||||
CSS2DRenderer,
|
||||
CSS3DObject,
|
||||
CSS3DRenderer,
|
||||
CSS3DSprite,
|
||||
CameraControls,
|
||||
Capsule,
|
||||
CinematicCamera,
|
||||
CinquefoilKnot,
|
||||
ClearMaskPass,
|
||||
ClearPass,
|
||||
ColladaExporter,
|
||||
ColladaLoader,
|
||||
ColorConverter,
|
||||
ColorCorrectionShader,
|
||||
ColorMapKeywords,
|
||||
ColorifyShader,
|
||||
ConvexGeometry,
|
||||
ConvexHull,
|
||||
ConvexObjectBreaker,
|
||||
ConvolutionShader,
|
||||
CopyShader,
|
||||
CubeTexturePass,
|
||||
DDSLoader,
|
||||
DOFMipMapShader,
|
||||
DRACOExporter,
|
||||
DRACOLoader,
|
||||
DecalGeometry,
|
||||
DecalVertex,
|
||||
DecoratedTorusKnot4a,
|
||||
DecoratedTorusKnot4b,
|
||||
DecoratedTorusKnot5a,
|
||||
DecoratedTorusKnot5c,
|
||||
DepthLimitedBlurShader,
|
||||
DeviceOrientationControls,
|
||||
DigitalGlitch,
|
||||
DotScreenPass,
|
||||
DotScreenShader,
|
||||
DragControls,
|
||||
EXRLoader,
|
||||
EdgeSplitModifier,
|
||||
EffectComposer,
|
||||
FBXLoader,
|
||||
FXAAShader,
|
||||
Face,
|
||||
Face3,
|
||||
FigureEightPolynomialKnot,
|
||||
FilmPass,
|
||||
FilmShader,
|
||||
FirstPersonControls,
|
||||
FlakesTexture,
|
||||
Flow,
|
||||
FlyControls,
|
||||
FocusShader,
|
||||
Font,
|
||||
FontLoader,
|
||||
FreiChenShader,
|
||||
FresnelShader,
|
||||
FullScreenQuad,
|
||||
GCodeLoader,
|
||||
GLTFExporter,
|
||||
GLTFLoader,
|
||||
GPUComputationRenderer,
|
||||
GammaCorrectionShader,
|
||||
Geometry,
|
||||
GeometryCompressionUtils,
|
||||
GeometryUtils,
|
||||
GlitchPass,
|
||||
GodRaysCombineShader,
|
||||
GodRaysDepthMaskShader,
|
||||
GodRaysFakeSunShader,
|
||||
GodRaysGenerateShader,
|
||||
GrannyKnot,
|
||||
GroundProjectedEnv,
|
||||
Gyroscope,
|
||||
HDRCubeTextureLoader,
|
||||
HTMLMesh,
|
||||
HalfEdge,
|
||||
HalftonePass,
|
||||
HalftoneShader,
|
||||
HeartCurve,
|
||||
HelixCurve,
|
||||
HorizontalBlurShader,
|
||||
HorizontalTiltShiftShader,
|
||||
HueSaturationShader,
|
||||
ImprovedNoise,
|
||||
InstancedFlow,
|
||||
InteractiveGroup,
|
||||
KMZLoader,
|
||||
KTX2Loader,
|
||||
KTXLoader,
|
||||
KaleidoShader,
|
||||
KnotCurve,
|
||||
LDrawLoader,
|
||||
LUT3dlLoader,
|
||||
LUTCubeLoader,
|
||||
LUTPass,
|
||||
LWOLoader,
|
||||
Lensflare,
|
||||
LensflareElement,
|
||||
LightProbeGenerator,
|
||||
LightProbeHelper,
|
||||
LightningStorm,
|
||||
LightningStrike,
|
||||
Line2,
|
||||
LineGeometry,
|
||||
LineMaterial,
|
||||
LineSegments2,
|
||||
LineSegmentsGeometry,
|
||||
LottieLoader,
|
||||
LuminosityHighPassShader,
|
||||
LuminosityShader,
|
||||
Lut,
|
||||
MD2Character,
|
||||
MD2CharacterComplex,
|
||||
MD2Loader,
|
||||
MDDLoader,
|
||||
MMDAnimationHelper,
|
||||
MMDExporter,
|
||||
MMDLoader,
|
||||
MMDPhysics,
|
||||
MTLLoader,
|
||||
MapControls,
|
||||
MapControlsExp,
|
||||
MarchingCubes,
|
||||
MaskPass,
|
||||
MeshSurfaceSampler,
|
||||
MeshoptDecoder,
|
||||
MirrorShader,
|
||||
MorphAnimMesh,
|
||||
MorphBlendMesh,
|
||||
MotionController,
|
||||
MotionControllerConstants,
|
||||
NRRDLoader,
|
||||
NURBSCurve,
|
||||
NURBSSurface,
|
||||
NormalMapShader,
|
||||
OBB,
|
||||
OBJExporter,
|
||||
OBJLoader,
|
||||
Octree,
|
||||
OculusHandModel,
|
||||
OculusHandPointerModel,
|
||||
OrbitControls,
|
||||
OrbitControlsExp,
|
||||
OutlineEffect,
|
||||
OutlinePass,
|
||||
PCDLoader,
|
||||
PDBLoader,
|
||||
PLYExporter,
|
||||
PLYLoader,
|
||||
PRWMLoader,
|
||||
PVRLoader,
|
||||
PackedPhongMaterial,
|
||||
ParallaxBarrierEffect,
|
||||
ParallaxShader,
|
||||
ParametricGeometries,
|
||||
ParametricGeometry,
|
||||
Pass,
|
||||
PeppersGhostEffect,
|
||||
PixelShader,
|
||||
PointerLockControls,
|
||||
PositionalAudioHelper,
|
||||
ProgressiveLightMap,
|
||||
Projector,
|
||||
RGBELoader,
|
||||
RGBMLoader,
|
||||
RGBShiftShader,
|
||||
RaycasterHelper,
|
||||
RectAreaLightHelper,
|
||||
RectAreaLightUniformsLib,
|
||||
Reflector,
|
||||
ReflectorForSSRPass,
|
||||
ReflectorRTT,
|
||||
Refractor,
|
||||
RenderPass,
|
||||
RenderPixelatedPass,
|
||||
RenderableFace,
|
||||
RenderableLine,
|
||||
RenderableObject,
|
||||
RenderableSprite,
|
||||
RenderableVertex,
|
||||
Rhino3dmLoader,
|
||||
RollerCoasterGeometry,
|
||||
RollerCoasterLiftersGeometry,
|
||||
RollerCoasterShadowGeometry,
|
||||
RoomEnvironment,
|
||||
RoughnessMipmapper,
|
||||
RoundedBoxGeometry,
|
||||
SAOPass,
|
||||
SAOShader,
|
||||
SMAABlendShader,
|
||||
SMAAEdgesShader,
|
||||
SMAAPass,
|
||||
SMAAWeightsShader,
|
||||
SSAARenderPass,
|
||||
SSAOBlurShader,
|
||||
SSAODepthShader,
|
||||
SSAOPass,
|
||||
SSAOShader,
|
||||
SSRBlurShader,
|
||||
SSRDepthShader,
|
||||
SSRPass,
|
||||
SSRShader,
|
||||
STATE,
|
||||
STLExporter,
|
||||
STLLoader,
|
||||
SVGLoader,
|
||||
SVGObject,
|
||||
SVGRenderer,
|
||||
SavePass,
|
||||
SceneUtils,
|
||||
SelectionBox,
|
||||
SelectionHelper,
|
||||
SepiaShader,
|
||||
ShaderPass,
|
||||
ShadowMapViewer,
|
||||
ShadowMesh,
|
||||
SimplexNoise,
|
||||
SimplifyModifier,
|
||||
SkeletonUtils,
|
||||
Sky,
|
||||
SkyGeometry,
|
||||
SobelOperatorShader,
|
||||
StereoEffect,
|
||||
SubsurfaceScatteringShader,
|
||||
TAARenderPass,
|
||||
TDSLoader,
|
||||
TGALoader,
|
||||
TTFLoader,
|
||||
TeapotGeometry,
|
||||
TechnicolorShader,
|
||||
TessellateModifier,
|
||||
TextGeometry as TextBufferGeometry,
|
||||
TextGeometry,
|
||||
TexturePass,
|
||||
ThreeMFLoader,
|
||||
TiltLoader,
|
||||
Timer,
|
||||
ToneMapShader,
|
||||
ToonShader1,
|
||||
ToonShader2,
|
||||
ToonShaderDotted,
|
||||
ToonShaderHatching,
|
||||
TorusKnot,
|
||||
TrackballControls,
|
||||
TrackballControlsExp,
|
||||
TransformControls,
|
||||
TransformControlsGizmo,
|
||||
TransformControlsPlane,
|
||||
TreesGeometry,
|
||||
TrefoilKnot,
|
||||
TrefoilPolynomialKnot,
|
||||
TriangleBlurShader,
|
||||
TubePainter,
|
||||
USDZExporter,
|
||||
UVsDebug,
|
||||
UnpackDepthRGBAShader,
|
||||
UnrealBloomPass,
|
||||
VOXData3DTexture,
|
||||
VOXLoader,
|
||||
VOXMesh,
|
||||
VRButton,
|
||||
VRMLLoader,
|
||||
VRMLoader,
|
||||
VTKLoader,
|
||||
VertexList,
|
||||
VertexNode,
|
||||
VertexNormalsHelper,
|
||||
VertexTangentsHelper,
|
||||
VerticalBlurShader,
|
||||
VerticalTiltShiftShader,
|
||||
VignetteShader,
|
||||
VivianiCurve,
|
||||
Volume,
|
||||
VolumeRenderShader1,
|
||||
VolumeSlice,
|
||||
Water,
|
||||
Water2,
|
||||
WaterPass,
|
||||
WaterRefractionShader,
|
||||
Wireframe,
|
||||
WireframeGeometry2,
|
||||
XLoader,
|
||||
XRControllerModelFactory,
|
||||
XREstimatedLight,
|
||||
XRHandMeshModel,
|
||||
XRHandModelFactory,
|
||||
XRHandPrimitiveModel,
|
||||
XYZLoader,
|
||||
calcBSplineDerivatives,
|
||||
calcBSplinePoint,
|
||||
calcBasisFunctionDerivatives,
|
||||
calcBasisFunctions,
|
||||
calcKoverI,
|
||||
calcNURBSDerivatives,
|
||||
calcRationalCurveDerivatives,
|
||||
calcSurfacePoint,
|
||||
computeMorphedAttributes,
|
||||
createText,
|
||||
edgeTable,
|
||||
estimateBytesUsed,
|
||||
fetchProfile,
|
||||
fetchProfilesList,
|
||||
findSpan,
|
||||
getErrorMessage,
|
||||
getUniforms,
|
||||
getWebGL2ErrorMessage,
|
||||
getWebGLErrorMessage,
|
||||
initSplineTexture,
|
||||
interleaveAttributes,
|
||||
isWebGL2Available,
|
||||
isWebGLAvailable,
|
||||
mergeBufferAttributes,
|
||||
mergeBufferGeometries,
|
||||
mergeVertices,
|
||||
modifyShader,
|
||||
toCreasedNormals,
|
||||
toTrianglesDrawMode,
|
||||
triTable,
|
||||
updateSplineTexture
|
||||
};
|
||||
7
app/node_modules/.vite/deps/three-stdlib.js.map
generated
vendored
7
app/node_modules/.vite/deps/three-stdlib.js.map
generated
vendored
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [],
|
||||
"sourcesContent": [],
|
||||
"mappings": "",
|
||||
"names": []
|
||||
}
|
||||
3
app/node_modules/@esbuild/win32-x64/README.md
generated
vendored
3
app/node_modules/@esbuild/win32-x64/README.md
generated
vendored
@@ -1,3 +0,0 @@
|
||||
# esbuild
|
||||
|
||||
This is the Windows 64-bit binary for esbuild, a JavaScript bundler and minifier. See https://github.com/evanw/esbuild for details.
|
||||
BIN
app/node_modules/@esbuild/win32-x64/esbuild.exe
generated
vendored
BIN
app/node_modules/@esbuild/win32-x64/esbuild.exe
generated
vendored
Binary file not shown.
20
app/node_modules/@esbuild/win32-x64/package.json
generated
vendored
20
app/node_modules/@esbuild/win32-x64/package.json
generated
vendored
@@ -1,20 +0,0 @@
|
||||
{
|
||||
"name": "@esbuild/win32-x64",
|
||||
"version": "0.27.2",
|
||||
"description": "The Windows 64-bit binary for esbuild, a JavaScript bundler.",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/evanw/esbuild.git"
|
||||
},
|
||||
"license": "MIT",
|
||||
"preferUnplugged": true,
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"os": [
|
||||
"win32"
|
||||
],
|
||||
"cpu": [
|
||||
"x64"
|
||||
]
|
||||
}
|
||||
3
app/node_modules/@rollup/rollup-win32-x64-gnu/README.md
generated
vendored
3
app/node_modules/@rollup/rollup-win32-x64-gnu/README.md
generated
vendored
@@ -1,3 +0,0 @@
|
||||
# `@rollup/rollup-win32-x64-gnu`
|
||||
|
||||
This is the **x86_64-pc-windows-gnu** binary for `rollup`
|
||||
22
app/node_modules/@rollup/rollup-win32-x64-gnu/package.json
generated
vendored
22
app/node_modules/@rollup/rollup-win32-x64-gnu/package.json
generated
vendored
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"name": "@rollup/rollup-win32-x64-gnu",
|
||||
"version": "4.55.1",
|
||||
"os": [
|
||||
"win32"
|
||||
],
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"files": [
|
||||
"rollup.win32-x64-gnu.node"
|
||||
],
|
||||
"description": "Native bindings for Rollup",
|
||||
"author": "Lukas Taegert-Atkinson",
|
||||
"homepage": "https://rollupjs.org/",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/rollup/rollup.git"
|
||||
},
|
||||
"main": "./rollup.win32-x64-gnu.node"
|
||||
}
|
||||
BIN
app/node_modules/@rollup/rollup-win32-x64-gnu/rollup.win32-x64-gnu.node
generated
vendored
BIN
app/node_modules/@rollup/rollup-win32-x64-gnu/rollup.win32-x64-gnu.node
generated
vendored
Binary file not shown.
3
app/node_modules/@rollup/rollup-win32-x64-msvc/README.md
generated
vendored
3
app/node_modules/@rollup/rollup-win32-x64-msvc/README.md
generated
vendored
@@ -1,3 +0,0 @@
|
||||
# `@rollup/rollup-win32-x64-msvc`
|
||||
|
||||
This is the **x86_64-pc-windows-msvc** binary for `rollup`
|
||||
22
app/node_modules/@rollup/rollup-win32-x64-msvc/package.json
generated
vendored
22
app/node_modules/@rollup/rollup-win32-x64-msvc/package.json
generated
vendored
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"name": "@rollup/rollup-win32-x64-msvc",
|
||||
"version": "4.55.1",
|
||||
"os": [
|
||||
"win32"
|
||||
],
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"files": [
|
||||
"rollup.win32-x64-msvc.node"
|
||||
],
|
||||
"description": "Native bindings for Rollup",
|
||||
"author": "Lukas Taegert-Atkinson",
|
||||
"homepage": "https://rollupjs.org/",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/rollup/rollup.git"
|
||||
},
|
||||
"main": "./rollup.win32-x64-msvc.node"
|
||||
}
|
||||
BIN
app/node_modules/@rollup/rollup-win32-x64-msvc/rollup.win32-x64-msvc.node
generated
vendored
BIN
app/node_modules/@rollup/rollup-win32-x64-msvc/rollup.win32-x64-msvc.node
generated
vendored
Binary file not shown.
Reference in New Issue
Block a user