diff --git a/packages/plugins/packages/elevation-quadkey/package.json b/packages/plugins/packages/elevation-quadkey/package.json
index 42e48eae9f..0ff672227e 100644
--- a/packages/plugins/packages/elevation-quadkey/package.json
+++ b/packages/plugins/packages/elevation-quadkey/package.json
@@ -48,6 +48,7 @@
"@xyo-network/axios": "^2.91.3",
"@xyo-network/payload-model": "^3.3.2",
"@xyo-network/react-map": "workspace:^",
+ "@xyo-network/react-map-model": "workspace:^",
"@xyo-network/react-shared": "workspace:^",
"@xyo-network/sdk-geo": "^3.0.2",
"geojson": "^0.5.0",
diff --git a/packages/plugins/packages/elevation-quadkey/src/components/ElevationQuadkeyMap.tsx b/packages/plugins/packages/elevation-quadkey/src/components/ElevationQuadkeyMap.tsx
index a96cf9a736..1d1eca7120 100644
--- a/packages/plugins/packages/elevation-quadkey/src/components/ElevationQuadkeyMap.tsx
+++ b/packages/plugins/packages/elevation-quadkey/src/components/ElevationQuadkeyMap.tsx
@@ -9,8 +9,8 @@ import {
MapboxHeatFlexBox,
MapBoxInstanceProvider,
MapSettingsProvider,
- useMapboxAccessToken,
} from '@xyo-network/react-map'
+import { useMapboxAccessToken } from '@xyo-network/react-map-model'
import type { Feature, Polygon } from 'geojson'
import type { PropsWithChildren } from 'react'
import React, { useMemo } from 'react'
diff --git a/packages/plugins/packages/elevation-quadkey/src/components/ElevationQuadkeyMapRenderer.stories.tsx b/packages/plugins/packages/elevation-quadkey/src/components/ElevationQuadkeyMapRenderer.stories.tsx
index f7d5558873..3063ac12a7 100644
--- a/packages/plugins/packages/elevation-quadkey/src/components/ElevationQuadkeyMapRenderer.stories.tsx
+++ b/packages/plugins/packages/elevation-quadkey/src/components/ElevationQuadkeyMapRenderer.stories.tsx
@@ -1,7 +1,7 @@
import type {
Decorator, Meta, StoryFn,
} from '@storybook/react'
-import { MapboxAccessTokenProvider } from '@xyo-network/react-map'
+import { MapboxAccessTokenProvider } from '@xyo-network/react-map-model'
import React from 'react'
import { ElevationQuadkeyMapWithSettingsRenderer } from './ElevationQuadkeyMap.tsx'
diff --git a/packages/plugins/packages/elevation-quadkey/src/components/ElevationQuadkeyMapSettings.ts b/packages/plugins/packages/elevation-quadkey/src/components/ElevationQuadkeyMapSettings.ts
index aaac795231..f482576f75 100644
--- a/packages/plugins/packages/elevation-quadkey/src/components/ElevationQuadkeyMapSettings.ts
+++ b/packages/plugins/packages/elevation-quadkey/src/components/ElevationQuadkeyMapSettings.ts
@@ -1,4 +1,4 @@
-import { DefaultMapSettings } from '@xyo-network/react-map'
+import { DefaultMapSettings } from '@xyo-network/react-map-model'
const elevationQuadkeyHeatMapSettings = () => {
const elevationQuadkeyHeatMapSettings = DefaultMapSettings()
diff --git a/packages/plugins/packages/elevation-quadkey/src/types.ts b/packages/plugins/packages/elevation-quadkey/src/types.ts
index a34057c14d..96d82b2abe 100644
--- a/packages/plugins/packages/elevation-quadkey/src/types.ts
+++ b/packages/plugins/packages/elevation-quadkey/src/types.ts
@@ -1,6 +1,6 @@
import type { Payload } from '@xyo-network/payload-model'
import { isPayloadOfSchemaType } from '@xyo-network/payload-model'
-import type { NetworkLocationAnswerBase } from '@xyo-network/react-map'
+import type { NetworkLocationAnswerBase } from '@xyo-network/react-map-model'
export const NetworkElevationQuadkeyAnswerSchema = 'network.xyo.elevation.map.quadkey.answer' as const
export type NetworkElevationQuadkeyAnswerSchema = 'network.xyo.elevation.map.quadkey.answer'
diff --git a/packages/plugins/packages/location-point-map/package.json b/packages/plugins/packages/location-point-map/package.json
index 28dfff4e95..355a25ddf2 100644
--- a/packages/plugins/packages/location-point-map/package.json
+++ b/packages/plugins/packages/location-point-map/package.json
@@ -47,6 +47,7 @@
"@xyo-network/location-payload-plugin": "^3.1.1",
"@xyo-network/payload-model": "^3.3.2",
"@xyo-network/react-map": "workspace:^",
+ "@xyo-network/react-map-model": "workspace:^",
"@xyo-network/react-payload-plugin": "workspace:^",
"geojson": "0.5.0"
},
diff --git a/packages/plugins/packages/location-point-map/src/components/PointMapRenderer.stories.tsx b/packages/plugins/packages/location-point-map/src/components/PointMapRenderer.stories.tsx
index 01ace7278c..7fdd30e446 100644
--- a/packages/plugins/packages/location-point-map/src/components/PointMapRenderer.stories.tsx
+++ b/packages/plugins/packages/location-point-map/src/components/PointMapRenderer.stories.tsx
@@ -1,7 +1,7 @@
import type {
Decorator, Meta, StoryFn,
} from '@storybook/react'
-import { MapboxAccessTokenProvider } from '@xyo-network/react-map'
+import { MapboxAccessTokenProvider } from '@xyo-network/react-map-model'
import React from 'react'
import { PointMapWithSettingsRenderer } from './PointMapRenderer.tsx'
diff --git a/packages/plugins/packages/location-point-map/src/components/PointMapRenderer.tsx b/packages/plugins/packages/location-point-map/src/components/PointMapRenderer.tsx
index 94865db691..5366c4502c 100644
--- a/packages/plugins/packages/location-point-map/src/components/PointMapRenderer.tsx
+++ b/packages/plugins/packages/location-point-map/src/components/PointMapRenderer.tsx
@@ -9,8 +9,8 @@ import {
MapBoxInstanceProvider,
MapboxPointsFlexBox,
MapSettingsProvider,
- useMapboxAccessToken,
} from '@xyo-network/react-map'
+import { useMapboxAccessToken } from '@xyo-network/react-map-model'
import type { Feature, Point } from 'geojson'
import React, { useMemo } from 'react'
diff --git a/packages/plugins/packages/location-point-map/src/components/PointMapSettings.ts b/packages/plugins/packages/location-point-map/src/components/PointMapSettings.ts
index fa6505bf58..15b8fa826a 100644
--- a/packages/plugins/packages/location-point-map/src/components/PointMapSettings.ts
+++ b/packages/plugins/packages/location-point-map/src/components/PointMapSettings.ts
@@ -1,4 +1,4 @@
-import { DefaultMapSettings } from '@xyo-network/react-map'
+import { DefaultMapSettings } from '@xyo-network/react-map-model'
const PointMapSettings = DefaultMapSettings()
const { fitToPoints, enableControls } = PointMapSettings
diff --git a/packages/plugins/packages/location-points-map/package.json b/packages/plugins/packages/location-points-map/package.json
index b2712166b9..f48137ab92 100644
--- a/packages/plugins/packages/location-points-map/package.json
+++ b/packages/plugins/packages/location-points-map/package.json
@@ -46,6 +46,7 @@
"@xylabs/react-flexbox": "^5.2.14",
"@xyo-network/payload-model": "^3.3.2",
"@xyo-network/react-map": "workspace:^",
+ "@xyo-network/react-map-model": "workspace:^",
"@xyo-network/react-payload-plugin": "workspace:^"
},
"devDependencies": {
diff --git a/packages/plugins/packages/location-points-map/src/components/PointsMapRenderer.stories.tsx b/packages/plugins/packages/location-points-map/src/components/PointsMapRenderer.stories.tsx
index b279d0f004..576ef2f899 100644
--- a/packages/plugins/packages/location-points-map/src/components/PointsMapRenderer.stories.tsx
+++ b/packages/plugins/packages/location-points-map/src/components/PointsMapRenderer.stories.tsx
@@ -1,7 +1,7 @@
import type {
Decorator, Meta, StoryFn,
} from '@storybook/react'
-import { MapboxAccessTokenProvider } from '@xyo-network/react-map'
+import { MapboxAccessTokenProvider } from '@xyo-network/react-map-model'
import React from 'react'
import { PointsMapRenderer } from './PointsMapRenderer.tsx'
diff --git a/packages/plugins/packages/location-points-map/src/components/PointsMapRenderer.tsx b/packages/plugins/packages/location-points-map/src/components/PointsMapRenderer.tsx
index a34d10de26..a1c9f851ba 100644
--- a/packages/plugins/packages/location-points-map/src/components/PointsMapRenderer.tsx
+++ b/packages/plugins/packages/location-points-map/src/components/PointsMapRenderer.tsx
@@ -4,13 +4,15 @@ import {
import type { FlexBoxProps } from '@xylabs/react-flexbox'
import type { Payload } from '@xyo-network/payload-model'
import {
- isNetworkLocationAnswer,
LocationPointsMapLayerBuilder,
MapBoxInstanceProvider,
MapboxPointsFlexBox,
MapSettingsProvider,
- useMapboxAccessToken,
} from '@xyo-network/react-map'
+import {
+ isNetworkLocationAnswer,
+ useMapboxAccessToken,
+} from '@xyo-network/react-map-model'
import React from 'react'
import { PointsMapSettings } from './PointsMapSettings.ts'
diff --git a/packages/plugins/packages/location-points-map/src/components/PointsMapSettings.ts b/packages/plugins/packages/location-points-map/src/components/PointsMapSettings.ts
index ec1289134d..ee4a0c62cd 100644
--- a/packages/plugins/packages/location-points-map/src/components/PointsMapSettings.ts
+++ b/packages/plugins/packages/location-points-map/src/components/PointsMapSettings.ts
@@ -1,4 +1,4 @@
-import { DefaultMapSettings } from '@xyo-network/react-map'
+import { DefaultMapSettings } from '@xyo-network/react-map-model'
const PointsMapSettings = DefaultMapSettings()
const { fitToPoints, enableControls } = PointsMapSettings
diff --git a/packages/sdk/packages/map-model/.depcheckrc b/packages/sdk/packages/map-model/.depcheckrc
new file mode 100644
index 0000000000..0906865610
--- /dev/null
+++ b/packages/sdk/packages/map-model/.depcheckrc
@@ -0,0 +1,5 @@
+ignores: [
+ "@xylabs/ts-scripts-yarn3",
+ "@xylabs/tsconfig-react",
+ "typescript"
+]
\ No newline at end of file
diff --git a/packages/sdk/packages/map-model/.gitignore b/packages/sdk/packages/map-model/.gitignore
new file mode 100644
index 0000000000..4403c56f70
--- /dev/null
+++ b/packages/sdk/packages/map-model/.gitignore
@@ -0,0 +1,26 @@
+!.yarn/patches
+!.yarn/plugins
+!.yarn/releases
+!.yarn/sdks
+!.yarn/versions
+*.log
+*.tgz
+*.tsbuildinfo
+.DS_Store
+.env
+.eslintcache
+.git
+.hg
+.idea
+.pnp.*
+.rollup.cache
+.serverless
+.svn
+.tsconfig*
+.webpack
+.yarn/*
+build
+dist
+docs
+node_modules
+storybook-static
\ No newline at end of file
diff --git a/packages/sdk/packages/map-model/.npmignore b/packages/sdk/packages/map-model/.npmignore
new file mode 100644
index 0000000000..5aa6d9852d
--- /dev/null
+++ b/packages/sdk/packages/map-model/.npmignore
@@ -0,0 +1,18 @@
+*.tsbuildinfo
+.*
+.aws
+.git
+.github
+.pnp.*
+.storybook
+.tsconfig*
+.vscode
+.yarn/*
+cspell.json
+docs
+jest.config.cjs
+jest.config.js
+rollup.config.ts
+storybook-static
+tsconfig*
+yarn.lock
\ No newline at end of file
diff --git a/packages/sdk/packages/map-model/LICENSE b/packages/sdk/packages/map-model/LICENSE
new file mode 100644
index 0000000000..0a041280bd
--- /dev/null
+++ b/packages/sdk/packages/map-model/LICENSE
@@ -0,0 +1,165 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc.
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+ This version of the GNU Lesser General Public License incorporates
+the terms and conditions of version 3 of the GNU General Public
+License, supplemented by the additional permissions listed below.
+
+ 0. Additional Definitions.
+
+ As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the GNU
+General Public License.
+
+ "The Library" refers to a covered work governed by this License,
+other than an Application or a Combined Work as defined below.
+
+ An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+ A "Combined Work" is a work produced by combining or linking an
+Application with the Library. The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+ The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+ The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+ 1. Exception to Section 3 of the GNU GPL.
+
+ You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+ 2. Conveying Modified Versions.
+
+ If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+ a) under this License, provided that you make a good faith effort to
+ ensure that, in the event an Application does not supply the
+ function or data, the facility still operates, and performs
+ whatever part of its purpose remains meaningful, or
+
+ b) under the GNU GPL, with none of the additional permissions of
+ this License applicable to that copy.
+
+ 3. Object Code Incorporating Material from Library Header Files.
+
+ The object code form of an Application may incorporate material from
+a header file that is part of the Library. You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+ a) Give prominent notice with each copy of the object code that the
+ Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the object code with a copy of the GNU GPL and this license
+ document.
+
+ 4. Combined Works.
+
+ You may convey a Combined Work under terms of your choice that,
+taken together, effectively do not restrict modification of the
+portions of the Library contained in the Combined Work and reverse
+engineering for debugging such modifications, if you also do each of
+the following:
+
+ a) Give prominent notice with each copy of the Combined Work that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the Combined Work with a copy of the GNU GPL and this license
+ document.
+
+ c) For a Combined Work that displays copyright notices during
+ execution, include the copyright notice for the Library among
+ these notices, as well as a reference directing the user to the
+ copies of the GNU GPL and this license document.
+
+ d) Do one of the following:
+
+ 0) Convey the Minimal Corresponding Source under the terms of this
+ License, and the Corresponding Application Code in a form
+ suitable for, and under terms that permit, the user to
+ recombine or relink the Application with a modified version of
+ the Linked Version to produce a modified Combined Work, in the
+ manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.
+
+ 1) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (a) uses at run time
+ a copy of the Library already present on the user's computer
+ system, and (b) will operate properly with a modified version
+ of the Library that is interface-compatible with the Linked
+ Version.
+
+ e) Provide Installation Information, but only if you would otherwise
+ be required to provide such information under section 6 of the
+ GNU GPL, and only to the extent that such information is
+ necessary to install and execute a modified version of the
+ Combined Work produced by recombining or relinking the
+ Application with a modified version of the Linked Version. (If
+ you use option 4d0, the Installation Information must accompany
+ the Minimal Corresponding Source and Corresponding Application
+ Code. If you use option 4d1, you must provide the Installation
+ Information in the manner specified by section 6 of the GNU GPL
+ for conveying Corresponding Source.)
+
+ 5. Combined Libraries.
+
+ You may place library facilities that are a work based on the
+Library side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+ a) Accompany the combined library with a copy of the same work based
+ on the Library, uncombined with any other library facilities,
+ conveyed under the terms of this License.
+
+ b) Give prominent notice with the combined library that part of it
+ is a work based on the Library, and explaining where to find the
+ accompanying uncombined form of the same work.
+
+ 6. Revised Versions of the GNU Lesser General Public License.
+
+ The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Library as you received it specifies that a certain numbered version
+of the GNU Lesser General Public License "or any later version"
+applies to it, you have the option of following the terms and
+conditions either of that published version or of any later version
+published by the Free Software Foundation. If the Library as you
+received it does not specify a version number of the GNU Lesser
+General Public License, you may choose any version of the GNU Lesser
+General Public License ever published by the Free Software Foundation.
+
+ If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
diff --git a/packages/sdk/packages/map-model/README.md b/packages/sdk/packages/map-model/README.md
new file mode 100644
index 0000000000..26f79c30f0
--- /dev/null
+++ b/packages/sdk/packages/map-model/README.md
@@ -0,0 +1,13 @@
+[![logo][]](https://xyo.network)
+
+Part of [@xyo-network/sdk-xyo-react](https://www.npmjs.com/package/@xyo-network/sdk-xyo-react)
+
+## License
+
+> See the [LICENSE](LICENSE) file for license details
+
+## Credits
+
+[Made with 🔥 and ❄️ by XYO](https://xyo.network)
+
+[logo]: https://cdn.xy.company/img/brand/XYO_full_colored.png
\ No newline at end of file
diff --git a/packages/sdk/packages/map-model/package.json b/packages/sdk/packages/map-model/package.json
new file mode 100644
index 0000000000..f59c4d6862
--- /dev/null
+++ b/packages/sdk/packages/map-model/package.json
@@ -0,0 +1,75 @@
+{
+ "name": "@xyo-network/react-map-model",
+ "version": "4.1.20",
+ "description": "Common React library for all XYO projects that use React",
+ "keywords": [
+ "xyo",
+ "utility",
+ "typescript",
+ "react"
+ ],
+ "homepage": "https://xyo.network",
+ "bugs": {
+ "url": "git+https://github.com/XYOracleNetwork/sdk-xyo-react-js/issues",
+ "email": "support@xyo.network"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/XYOracleNetwork/sdk-xyo-react-js.git"
+ },
+ "license": "LGPL-3.0-only",
+ "author": {
+ "name": "XYO Development Team",
+ "email": "support@xyo.network",
+ "url": "https://xyo.network"
+ },
+ "sideEffects": false,
+ "type": "module",
+ "exports": {
+ ".": {
+ "browser": {
+ "types": "./dist/browser/index.d.ts",
+ "default": "./dist/browser/index.mjs"
+ },
+ "types": "./dist/browser/index.d.ts",
+ "default": "./dist/browser/index.mjs"
+ },
+ "./package.json": "./package.json"
+ },
+ "module": "dist/browser/index.mjs",
+ "types": "dist/browser/index.d.ts",
+ "scripts": {
+ "license": "yarn license-checker --exclude \"MIT, ISC, Apache-2.0, BSD, BSD-2-Clause, CC-BY-4.0, Unlicense, CC-BY-3.0, CC0-1.0\"",
+ "lint-pkg": "npmPkgJsonLint ."
+ },
+ "dependencies": {
+ "@xylabs/exists": "^4.3.3",
+ "@xylabs/hex": "^4.3.3",
+ "@xyo-network/payload-model": "^3.3.2",
+ "@xyo-network/react-network": "workspace:^",
+ "@xyo-network/react-shared": "workspace:^",
+ "@xyo-network/sdk-geo": "^3.0.2"
+ },
+ "devDependencies": {
+ "@mui/icons-material": "^6.1.6",
+ "@mui/material": "^6.1.6",
+ "@mui/styles": "^6.1.6",
+ "@types/geojson": "7946.0.14",
+ "@xylabs/ts-scripts-yarn3": "^4.2.3",
+ "@xylabs/tsconfig-react": "^4.2.3",
+ "react": "^18.3.1",
+ "react-dom": "^18.3.1",
+ "typescript": "^5.6.3"
+ },
+ "peerDependencies": {
+ "@mui/icons-material": "^6",
+ "@mui/material": "^6",
+ "@mui/styles": "^6",
+ "react": "^18",
+ "react-dom": "^18"
+ },
+ "publishConfig": {
+ "access": "public"
+ },
+ "docs": "dist/docs.json"
+}
diff --git a/packages/sdk/packages/map/src/AnimatedHeatMapSettings.ts b/packages/sdk/packages/map-model/src/AnimatedHeatMapSettings.ts
similarity index 81%
rename from packages/sdk/packages/map/src/AnimatedHeatMapSettings.ts
rename to packages/sdk/packages/map-model/src/AnimatedHeatMapSettings.ts
index 44729d704d..2fb911f0b6 100644
--- a/packages/sdk/packages/map/src/AnimatedHeatMapSettings.ts
+++ b/packages/sdk/packages/map-model/src/AnimatedHeatMapSettings.ts
@@ -1,4 +1,4 @@
-import { DefaultMapSettings } from './Settings/index.ts'
+import { DefaultMapSettings } from './settings/index.ts'
export const AnimatedHeatMapSettings = DefaultMapSettings()
const {
diff --git a/packages/sdk/packages/map/src/Colors/MapColorProps.ts b/packages/sdk/packages/map-model/src/colors/MapColorProps.ts
similarity index 100%
rename from packages/sdk/packages/map/src/Colors/MapColorProps.ts
rename to packages/sdk/packages/map-model/src/colors/MapColorProps.ts
diff --git a/packages/sdk/packages/map/src/Colors/index.ts b/packages/sdk/packages/map-model/src/colors/index.ts
similarity index 100%
rename from packages/sdk/packages/map/src/Colors/index.ts
rename to packages/sdk/packages/map-model/src/colors/index.ts
diff --git a/packages/sdk/packages/map/src/Contexts/MapboxAccessToken/Context.ts b/packages/sdk/packages/map-model/src/contexts/MapboxAccessToken/Context.ts
similarity index 100%
rename from packages/sdk/packages/map/src/Contexts/MapboxAccessToken/Context.ts
rename to packages/sdk/packages/map-model/src/contexts/MapboxAccessToken/Context.ts
diff --git a/packages/sdk/packages/map/src/Contexts/MapboxAccessToken/Provider.tsx b/packages/sdk/packages/map-model/src/contexts/MapboxAccessToken/Provider.tsx
similarity index 100%
rename from packages/sdk/packages/map/src/Contexts/MapboxAccessToken/Provider.tsx
rename to packages/sdk/packages/map-model/src/contexts/MapboxAccessToken/Provider.tsx
diff --git a/packages/sdk/packages/map/src/Contexts/MapboxAccessToken/State.ts b/packages/sdk/packages/map-model/src/contexts/MapboxAccessToken/State.ts
similarity index 100%
rename from packages/sdk/packages/map/src/Contexts/MapboxAccessToken/State.ts
rename to packages/sdk/packages/map-model/src/contexts/MapboxAccessToken/State.ts
diff --git a/packages/sdk/packages/map/src/Contexts/MapboxAccessToken/index.ts b/packages/sdk/packages/map-model/src/contexts/MapboxAccessToken/index.ts
similarity index 100%
rename from packages/sdk/packages/map/src/Contexts/MapboxAccessToken/index.ts
rename to packages/sdk/packages/map-model/src/contexts/MapboxAccessToken/index.ts
diff --git a/packages/sdk/packages/map/src/Contexts/MapboxAccessToken/use.ts b/packages/sdk/packages/map-model/src/contexts/MapboxAccessToken/use.ts
similarity index 100%
rename from packages/sdk/packages/map/src/Contexts/MapboxAccessToken/use.ts
rename to packages/sdk/packages/map-model/src/contexts/MapboxAccessToken/use.ts
diff --git a/packages/sdk/packages/map-model/src/contexts/index.ts b/packages/sdk/packages/map-model/src/contexts/index.ts
new file mode 100644
index 0000000000..535a9a4d2e
--- /dev/null
+++ b/packages/sdk/packages/map-model/src/contexts/index.ts
@@ -0,0 +1 @@
+export * from './MapboxAccessToken/index.ts'
diff --git a/packages/sdk/packages/map-model/src/hooks/index.ts b/packages/sdk/packages/map-model/src/hooks/index.ts
new file mode 100644
index 0000000000..87cb4f2bfb
--- /dev/null
+++ b/packages/sdk/packages/map-model/src/hooks/index.ts
@@ -0,0 +1,3 @@
+export * from './useFindHashes.tsx'
+export * from './useHeatMapColors.tsx'
+export * from './useQuadKeyPayloadsToFeatures.tsx'
diff --git a/packages/sdk/packages/map/src/hooks/useFindHashes.tsx b/packages/sdk/packages/map-model/src/hooks/useFindHashes.tsx
similarity index 100%
rename from packages/sdk/packages/map/src/hooks/useFindHashes.tsx
rename to packages/sdk/packages/map-model/src/hooks/useFindHashes.tsx
diff --git a/packages/sdk/packages/map/src/hooks/useHeatMapColors.tsx b/packages/sdk/packages/map-model/src/hooks/useHeatMapColors.tsx
similarity index 95%
rename from packages/sdk/packages/map/src/hooks/useHeatMapColors.tsx
rename to packages/sdk/packages/map-model/src/hooks/useHeatMapColors.tsx
index 65ee3e2c1d..d273d85d68 100644
--- a/packages/sdk/packages/map/src/hooks/useHeatMapColors.tsx
+++ b/packages/sdk/packages/map-model/src/hooks/useHeatMapColors.tsx
@@ -1,6 +1,6 @@
import { useTheme } from '@mui/material'
-import type { AnimatedHeatMapColorProps, ColorGradientLegendProps } from '../Colors/index.ts'
+import type { AnimatedHeatMapColorProps, ColorGradientLegendProps } from '../colors/index.ts'
const useHeatMapColors = () => {
const theme = useTheme()
diff --git a/packages/sdk/packages/map/src/hooks/useQuadKeyPayloadsToFeatures.tsx b/packages/sdk/packages/map-model/src/hooks/useQuadKeyPayloadsToFeatures.tsx
similarity index 100%
rename from packages/sdk/packages/map/src/hooks/useQuadKeyPayloadsToFeatures.tsx
rename to packages/sdk/packages/map-model/src/hooks/useQuadKeyPayloadsToFeatures.tsx
diff --git a/packages/sdk/packages/map-model/src/index.ts b/packages/sdk/packages/map-model/src/index.ts
new file mode 100644
index 0000000000..51980d2469
--- /dev/null
+++ b/packages/sdk/packages/map-model/src/index.ts
@@ -0,0 +1,7 @@
+export * from './AnimatedHeatMapSettings.ts'
+export * from './colors/index.ts'
+export * from './contexts/index.ts'
+export * from './hooks/index.ts'
+export * from './lib/index.ts'
+export * from './settings/index.ts'
+export * from './types/index.ts'
diff --git a/packages/sdk/packages/map/src/lib/MapStyle.ts b/packages/sdk/packages/map-model/src/lib/MapStyle.ts
similarity index 100%
rename from packages/sdk/packages/map/src/lib/MapStyle.ts
rename to packages/sdk/packages/map-model/src/lib/MapStyle.ts
diff --git a/packages/sdk/packages/map-model/src/lib/index.ts b/packages/sdk/packages/map-model/src/lib/index.ts
new file mode 100644
index 0000000000..f9cc7bd017
--- /dev/null
+++ b/packages/sdk/packages/map-model/src/lib/index.ts
@@ -0,0 +1 @@
+export * from './MapStyle.ts'
diff --git a/packages/sdk/packages/map/src/Settings/DefaultMapSettings.ts b/packages/sdk/packages/map-model/src/settings/DefaultMapSettings.ts
similarity index 100%
rename from packages/sdk/packages/map/src/Settings/DefaultMapSettings.ts
rename to packages/sdk/packages/map-model/src/settings/DefaultMapSettings.ts
diff --git a/packages/sdk/packages/map/src/Settings/MapSetting.ts b/packages/sdk/packages/map-model/src/settings/MapSetting.ts
similarity index 100%
rename from packages/sdk/packages/map/src/Settings/MapSetting.ts
rename to packages/sdk/packages/map-model/src/settings/MapSetting.ts
diff --git a/packages/sdk/packages/map/src/Settings/index.ts b/packages/sdk/packages/map-model/src/settings/index.ts
similarity index 100%
rename from packages/sdk/packages/map/src/Settings/index.ts
rename to packages/sdk/packages/map-model/src/settings/index.ts
diff --git a/packages/sdk/packages/map/src/types/NetworkLocationAnswerBase.ts b/packages/sdk/packages/map-model/src/types/NetworkLocationAnswerBase.ts
similarity index 100%
rename from packages/sdk/packages/map/src/types/NetworkLocationAnswerBase.ts
rename to packages/sdk/packages/map-model/src/types/NetworkLocationAnswerBase.ts
diff --git a/packages/sdk/packages/map/src/types/index.ts b/packages/sdk/packages/map-model/src/types/index.ts
similarity index 100%
rename from packages/sdk/packages/map/src/types/index.ts
rename to packages/sdk/packages/map-model/src/types/index.ts
diff --git a/packages/sdk/packages/map-model/tsconfig.json b/packages/sdk/packages/map-model/tsconfig.json
new file mode 100644
index 0000000000..09f1830312
--- /dev/null
+++ b/packages/sdk/packages/map-model/tsconfig.json
@@ -0,0 +1,10 @@
+{
+ "compilerOptions": {
+ "moduleResolution": "NodeNext",
+ "module": "NodeNext",
+ "typeRoots": [],
+ },
+ "exclude": ["dist", "docs", "packages", "node_modules"],
+ "extends": "@xylabs/tsconfig-react",
+ "include": ["src"]
+}
\ No newline at end of file
diff --git a/packages/sdk/packages/map-model/tsconfig.test.json b/packages/sdk/packages/map-model/tsconfig.test.json
new file mode 100644
index 0000000000..812137caa4
--- /dev/null
+++ b/packages/sdk/packages/map-model/tsconfig.test.json
@@ -0,0 +1,4 @@
+{
+ "extends": "./tsconfig.json",
+ "include": ["**/*.spec.ts"]
+}
\ No newline at end of file
diff --git a/packages/sdk/packages/map-model/tsconfig.typedoc.json b/packages/sdk/packages/map-model/tsconfig.typedoc.json
new file mode 100644
index 0000000000..8e79a613f4
--- /dev/null
+++ b/packages/sdk/packages/map-model/tsconfig.typedoc.json
@@ -0,0 +1,5 @@
+{
+ "exclude": ["**/spec/*", "**/*.spec.*", "dist", "docs", "packages"],
+ "extends": "./tsconfig.json"
+}
+
diff --git a/packages/sdk/packages/map-model/typedoc.json b/packages/sdk/packages/map-model/typedoc.json
new file mode 100644
index 0000000000..8eda4f2661
--- /dev/null
+++ b/packages/sdk/packages/map-model/typedoc.json
@@ -0,0 +1,5 @@
+{
+ "$schema": "https://typedoc.org/schema.json",
+ "entryPoints": ["src/index.ts"],
+ "tsconfig": "./tsconfig.typedoc.json"
+}
\ No newline at end of file
diff --git a/packages/sdk/packages/map-model/xy.config.ts b/packages/sdk/packages/map-model/xy.config.ts
new file mode 100644
index 0000000000..b2084172fd
--- /dev/null
+++ b/packages/sdk/packages/map-model/xy.config.ts
@@ -0,0 +1,10 @@
+import type { XyTsupConfig } from '@xylabs/ts-scripts-yarn3'
+const config: XyTsupConfig = {
+ compile: {
+ browser: { src: true },
+ node: {},
+ neutral: {},
+ },
+}
+
+export default config
diff --git a/packages/sdk/packages/map/package.json b/packages/sdk/packages/map/package.json
index c29021e2d3..d2e51056df 100644
--- a/packages/sdk/packages/map/package.json
+++ b/packages/sdk/packages/map/package.json
@@ -45,16 +45,12 @@
"dependencies": {
"@xylabs/assert": "^4.3.3",
"@xylabs/delay": "^4.3.3",
- "@xylabs/exists": "^4.3.3",
"@xylabs/forget": "^4.3.3",
- "@xylabs/hex": "^4.3.3",
"@xylabs/react-app-settings": "^5.2.14",
"@xylabs/react-flexbox": "^5.2.14",
"@xylabs/react-shared": "^5.2.14",
- "@xyo-network/payload-model": "^3.3.2",
"@xyo-network/react-archivist": "workspace:^",
- "@xyo-network/react-network": "workspace:^",
- "@xyo-network/react-shared": "workspace:^",
+ "@xyo-network/react-map-model": "workspace:^",
"@xyo-network/sdk-geo": "^3.0.2",
"mapbox-gl": "^3.7.0"
},
diff --git a/packages/sdk/packages/map/src/Components/AnimatedHeatMap.tsx b/packages/sdk/packages/map/src/Components/AnimatedHeatMap.tsx
index 66367295dd..880e7df526 100644
--- a/packages/sdk/packages/map/src/Components/AnimatedHeatMap.tsx
+++ b/packages/sdk/packages/map/src/Components/AnimatedHeatMap.tsx
@@ -1,16 +1,15 @@
import { darken, useTheme } from '@mui/material'
import { FlexCol } from '@xylabs/react-flexbox'
+import type { AnimatedHeatMapColorProps, MapSetting } from '@xyo-network/react-map-model'
import type { Feature, Polygon } from 'geojson'
import type { PropsWithChildren } from 'react'
import React, { useState } from 'react'
-import type { AnimatedHeatMapColorProps } from '../Colors/index.ts'
import {
HeatMapInitializerProvider, MapBoxInstanceProvider, MapSettingsProvider,
} from '../Contexts/index.ts'
import type { MapLayer } from '../Layers/index.ts'
import { LocationHeatMapLayerBuilderAnimated, MapHeatConstants } from '../Layers/index.ts'
-import type { MapSetting } from '../Settings/index.ts'
import { MapboxHeatFlexBox } from './MapBoxHeat.tsx'
export interface AnimatedHeatMapProps {
diff --git a/packages/sdk/packages/map/src/Components/AnimatedHeatMapLoaded.tsx b/packages/sdk/packages/map/src/Components/AnimatedHeatMapLoaded.tsx
index 766a69ef78..65e15bcab2 100644
--- a/packages/sdk/packages/map/src/Components/AnimatedHeatMapLoaded.tsx
+++ b/packages/sdk/packages/map/src/Components/AnimatedHeatMapLoaded.tsx
@@ -2,14 +2,14 @@ import { Alert, AlertTitle } from '@mui/material'
import type { FlexBoxProps } from '@xylabs/react-flexbox'
import { FlexCol } from '@xylabs/react-flexbox'
import { useWeakArchivistFromNode, useWeakArchivistGet } from '@xyo-network/react-archivist'
+import type { NetworkLocationHeatmapQuadkeyAnswerPayload } from '@xyo-network/react-map-model'
+import {
+ AnimatedHeatMapSettings,
+ useFindHashes, useHeatMapColors, useQuadKeyPayloadsToFeatures,
+} from '@xyo-network/react-map-model'
import type { Feature, Polygon } from 'geojson'
import React from 'react'
-import { AnimatedHeatMapSettings } from '../AnimatedHeatMapSettings.ts'
-import {
- useFindHashes, useHeatMapColors, useQuadKeyPayloadsToFeatures,
-} from '../hooks/index.ts'
-import type { NetworkLocationHeatmapQuadkeyAnswerPayload } from '../types/index.ts'
import { AnimatedHeatMap } from './AnimatedHeatMap.tsx'
import { AnimatedHeatMapLegend } from './Legend.tsx'
diff --git a/packages/sdk/packages/map/src/Components/HeatMapSettings.ts b/packages/sdk/packages/map/src/Components/HeatMapSettings.ts
index d5452ac95f..1673b1e79e 100644
--- a/packages/sdk/packages/map/src/Components/HeatMapSettings.ts
+++ b/packages/sdk/packages/map/src/Components/HeatMapSettings.ts
@@ -1,4 +1,4 @@
-import { DefaultMapSettings } from '../Settings/index.ts'
+import { DefaultMapSettings } from '@xyo-network/react-map-model'
const HeatMapSettings = DefaultMapSettings()
const {
diff --git a/packages/sdk/packages/map/src/Components/Legend.tsx b/packages/sdk/packages/map/src/Components/Legend.tsx
index f4207a6ec1..10b9c29d1b 100644
--- a/packages/sdk/packages/map/src/Components/Legend.tsx
+++ b/packages/sdk/packages/map/src/Components/Legend.tsx
@@ -1,8 +1,8 @@
import { useMediaQuery, useTheme } from '@mui/material'
import { FlexCol } from '@xylabs/react-flexbox'
+import type { ColorGradientLegendProps } from '@xyo-network/react-map-model'
import React from 'react'
-import type { ColorGradientLegendProps } from '../Colors/index.ts'
import { ColorGradientLegend } from './Legends/index.ts'
const AnimatedHeatMapLegend: React.FC = ({ ...legendProps }) => {
diff --git a/packages/sdk/packages/map/src/Components/Legends/ColorGradient.tsx b/packages/sdk/packages/map/src/Components/Legends/ColorGradient.tsx
index 115e2af4ae..a065ad0119 100644
--- a/packages/sdk/packages/map/src/Components/Legends/ColorGradient.tsx
+++ b/packages/sdk/packages/map/src/Components/Legends/ColorGradient.tsx
@@ -1,9 +1,8 @@
import { Typography, useTheme } from '@mui/material'
import { FlexCol, FlexRow } from '@xylabs/react-flexbox'
+import type { ColorGradientLegendProps } from '@xyo-network/react-map-model'
import React from 'react'
-import type { ColorGradientLegendProps } from '../../Colors/index.ts'
-
const ColorGradientLegend: React.FC = ({
startColor, endColor, startLabel, endLabel, heading, textColor, ...props
}) => {
diff --git a/packages/sdk/packages/map/src/Components/MapBox.stories.tsx b/packages/sdk/packages/map/src/Components/MapBox.stories.tsx
index bf5a47f60f..2d4611291f 100644
--- a/packages/sdk/packages/map/src/Components/MapBox.stories.tsx
+++ b/packages/sdk/packages/map/src/Components/MapBox.stories.tsx
@@ -3,10 +3,10 @@ import type {
Decorator, Meta, StoryFn,
} from '@storybook/react'
import { FlexGrowCol } from '@xylabs/react-flexbox'
+import { DefaultMapSettings } from '@xyo-network/react-map-model'
import React, { useRef } from 'react'
import { MapBoxInstanceProvider, MapSettingsProvider } from '../Contexts/index.ts'
-import { DefaultMapSettings } from '../Settings/index.ts'
import { MapBox } from './MapBox.tsx'
import { MapSettingsBox } from './MapSettingsComponents/index.ts'
@@ -34,7 +34,7 @@ const WithMapSettingsDecorator: Decorator = (Story, args) => {
}
export default {
- args: { accessToken: process.env.STORYBOOK_MAPBOX_TOKEN },
+ args: { accessToken: import.meta.env.VITE_MAPBOX_TOKEN },
component: MapBox,
decorators: [WithMapboxProviders],
parameters: { docs: { page: null } },
diff --git a/packages/sdk/packages/map/src/Components/MapBox.tsx b/packages/sdk/packages/map/src/Components/MapBox.tsx
index 93ac3d0d9f..f4d975ca50 100644
--- a/packages/sdk/packages/map/src/Components/MapBox.tsx
+++ b/packages/sdk/packages/map/src/Components/MapBox.tsx
@@ -1,6 +1,7 @@
// eslint-disable-next-line import-x/no-internal-modules
import 'mapbox-gl/dist/mapbox-gl.css'
+import { MapStyle } from '@xyo-network/react-map-model'
import type { MapOptions } from 'mapbox-gl'
import { Map } from 'mapbox-gl'
import React, {
@@ -9,7 +10,6 @@ import React, {
import { useMapBoxInstance, useMapSettings } from '../Contexts/index.ts'
import { useDynamicMapResize } from '../hooks/index.ts'
-import { MapStyle } from '../lib/index.ts'
export interface MapBoxProps {
accessToken: string
diff --git a/packages/sdk/packages/map/src/Contexts/HeatMapInitializer/Provider.tsx b/packages/sdk/packages/map/src/Contexts/HeatMapInitializer/Provider.tsx
index f3692e5046..4c54d06152 100644
--- a/packages/sdk/packages/map/src/Contexts/HeatMapInitializer/Provider.tsx
+++ b/packages/sdk/packages/map/src/Contexts/HeatMapInitializer/Provider.tsx
@@ -1,9 +1,9 @@
import { forget } from '@xylabs/forget'
+import type { AnimatedHeatMapColorProps, HeatMapColorProps } from '@xyo-network/react-map-model'
import type { Feature, Polygon } from 'geojson'
import type { PropsWithChildren } from 'react'
import React, { useEffect, useMemo } from 'react'
-import type { AnimatedHeatMapColorProps, HeatMapColorProps } from '../../Colors/index.ts'
import { useDynamicPositioning } from '../../hooks/index.ts'
import type { MapLayer } from '../../Layers/index.ts'
import { MapHeat } from '../../MapBoxClasses/index.ts'
diff --git a/packages/sdk/packages/map/src/Contexts/HeatMapInitializer/State.ts b/packages/sdk/packages/map/src/Contexts/HeatMapInitializer/State.ts
index 9f4bc8475c..91277ea1f3 100644
--- a/packages/sdk/packages/map/src/Contexts/HeatMapInitializer/State.ts
+++ b/packages/sdk/packages/map/src/Contexts/HeatMapInitializer/State.ts
@@ -1,4 +1,5 @@
-import type { HeatMapColorProps } from '../../Colors/index.ts'
+import type { HeatMapColorProps } from '@xyo-network/react-map-model'
+
import type { MapHeat } from '../../MapBoxClasses/index.ts'
export interface HeatMapInitializerState {
diff --git a/packages/sdk/packages/map/src/Contexts/MapSettings/Provider.tsx b/packages/sdk/packages/map/src/Contexts/MapSettings/Provider.tsx
index 80e3435d22..39747cc808 100644
--- a/packages/sdk/packages/map/src/Contexts/MapSettings/Provider.tsx
+++ b/packages/sdk/packages/map/src/Contexts/MapSettings/Provider.tsx
@@ -1,10 +1,10 @@
+import type { MapSetting } from '@xyo-network/react-map-model'
import type { PropsWithChildren } from 'react'
import React, {
useEffect, useMemo, useState,
} from 'react'
import { MapSettings } from '../../MapBoxClasses/index.ts'
-import type { MapSetting } from '../../Settings/index.ts'
import { useMapBoxInstance } from '../MapBoxInstance/index.ts'
import { MapSettingsContext } from './Context.ts'
import type { MapSettingsState } from './State.ts'
diff --git a/packages/sdk/packages/map/src/Contexts/MapSettings/State.ts b/packages/sdk/packages/map/src/Contexts/MapSettings/State.ts
index 88920c1b0e..4be2e5afd7 100644
--- a/packages/sdk/packages/map/src/Contexts/MapSettings/State.ts
+++ b/packages/sdk/packages/map/src/Contexts/MapSettings/State.ts
@@ -1,7 +1,6 @@
+import type { MapSetting } from '@xyo-network/react-map-model'
import type { Dispatch } from 'react'
-import type { MapSetting } from '../../Settings/index.ts'
-
export interface MapSettingsState {
mapSettings?: MapSetting
setMapSettings?: Dispatch>
diff --git a/packages/sdk/packages/map/src/Contexts/index.ts b/packages/sdk/packages/map/src/Contexts/index.ts
index 7cba2e07f8..352f6d2b13 100644
--- a/packages/sdk/packages/map/src/Contexts/index.ts
+++ b/packages/sdk/packages/map/src/Contexts/index.ts
@@ -1,4 +1,3 @@
export * from './HeatMapInitializer/index.ts'
-export * from './MapboxAccessToken/index.ts'
export * from './MapBoxInstance/index.ts'
export * from './MapSettings/index.ts'
diff --git a/packages/sdk/packages/map/src/MapBoxClasses/MapSettings.ts b/packages/sdk/packages/map/src/MapBoxClasses/MapSettings.ts
index fe0bdf34df..e743e5fa01 100644
--- a/packages/sdk/packages/map/src/MapBoxClasses/MapSettings.ts
+++ b/packages/sdk/packages/map/src/MapBoxClasses/MapSettings.ts
@@ -1,10 +1,9 @@
+import type { MapSetting } from '@xyo-network/react-map-model'
import type {
Map, MapEventOf, MapEventType,
} from 'mapbox-gl'
import { GeolocateControl, NavigationControl } from 'mapbox-gl'
-import type { MapSetting } from '../Settings/index.ts'
-
export interface MapSettingsConfig {
debugLayerName?: string
map: Map
diff --git a/packages/sdk/packages/map/src/hooks/index.ts b/packages/sdk/packages/map/src/hooks/index.ts
index 06e699fc71..48a0e6cfad 100644
--- a/packages/sdk/packages/map/src/hooks/index.ts
+++ b/packages/sdk/packages/map/src/hooks/index.ts
@@ -1,5 +1,2 @@
export * from './useDynamicMapResize.tsx'
export * from './useDynamicPositioning.tsx'
-export * from './useFindHashes.tsx'
-export * from './useHeatMapColors.tsx'
-export * from './useQuadKeyPayloadsToFeatures.tsx'
diff --git a/packages/sdk/packages/map/src/index.ts b/packages/sdk/packages/map/src/index.ts
index 25b613a960..e3412b76d4 100644
--- a/packages/sdk/packages/map/src/index.ts
+++ b/packages/sdk/packages/map/src/index.ts
@@ -1,10 +1,5 @@
-export * from './AnimatedHeatMapSettings.ts'
-export * from './Colors/index.ts'
export * from './Components/index.ts'
export * from './Contexts/index.ts'
export * from './hooks/index.ts'
export * from './Layers/index.ts'
-export * from './lib/index.ts'
export * from './MapBoxClasses/index.ts'
-export * from './Settings/index.ts'
-export * from './types/index.ts'
diff --git a/packages/sdk/packages/map/src/lib/index.ts b/packages/sdk/packages/map/src/lib/index.ts
index f6f90c93e2..b4559d331d 100644
--- a/packages/sdk/packages/map/src/lib/index.ts
+++ b/packages/sdk/packages/map/src/lib/index.ts
@@ -1,2 +1 @@
export * from './MapBoxBaseProps.ts'
-export * from './MapStyle.ts'
diff --git a/packages/sdk/packages/schema/package.json b/packages/sdk/packages/schema/package.json
index 9c99ecc2e1..3681593290 100644
--- a/packages/sdk/packages/schema/package.json
+++ b/packages/sdk/packages/schema/package.json
@@ -46,6 +46,7 @@
"@xylabs/exists": "^4.3.3",
"@xylabs/hex": "^4.3.3",
"@xylabs/react-async-effect": "^5.2.14",
+ "@xylabs/react-flexbox": "^5.3.2",
"@xylabs/react-link": "^5.2.14",
"@xylabs/react-promise": "^5.2.14",
"@xylabs/react-select": "^5.2.14",
diff --git a/packages/sdk/packages/schema/src/components/Property/SchemaProperty.tsx b/packages/sdk/packages/schema/src/components/Property/SchemaProperty.tsx
index dfee5a80dc..fc97baee38 100644
--- a/packages/sdk/packages/schema/src/components/Property/SchemaProperty.tsx
+++ b/packages/sdk/packages/schema/src/components/Property/SchemaProperty.tsx
@@ -1,9 +1,9 @@
import {
NewReleases as NewReleasesIcon, OpenInNew as OpenInNewIcon, Verified as VerifiedIcon,
} from '@mui/icons-material'
-import { Box, IconButton } from '@mui/material'
+import { IconButton } from '@mui/material'
import { useAsyncEffect } from '@xylabs/react-async-effect'
-import { FlexGrowRow, FlexRow } from '@xylabs/react-flexbox'
+import { FlexGrowRow } from '@xylabs/react-flexbox'
import { LinkEx } from '@xylabs/react-link'
import type { EventDispatch, EventNoun } from '@xyo-network/react-event'
import { useEvent } from '@xyo-network/react-event'
diff --git a/yarn.lock b/yarn.lock
index ecfe215c44..7128ae0b98 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -9087,6 +9087,7 @@ __metadata:
"@xyo-network/axios": "npm:^2.91.3"
"@xyo-network/payload-model": "npm:^3.3.2"
"@xyo-network/react-map": "workspace:^"
+ "@xyo-network/react-map-model": "workspace:^"
"@xyo-network/react-shared": "workspace:^"
"@xyo-network/sdk-geo": "npm:^3.0.2"
geojson: "npm:^0.5.0"
@@ -9686,6 +9687,7 @@ __metadata:
"@xyo-network/location-payload-plugin": "npm:^3.1.1"
"@xyo-network/payload-model": "npm:^3.3.2"
"@xyo-network/react-map": "workspace:^"
+ "@xyo-network/react-map-model": "workspace:^"
"@xyo-network/react-payload-plugin": "workspace:^"
geojson: "npm:0.5.0"
react: "npm:^18.3.1"
@@ -9718,6 +9720,7 @@ __metadata:
"@xylabs/tsconfig-react": "npm:^4.2.3"
"@xyo-network/payload-model": "npm:^3.3.2"
"@xyo-network/react-map": "workspace:^"
+ "@xyo-network/react-map-model": "workspace:^"
"@xyo-network/react-payload-plugin": "workspace:^"
react: "npm:^18.3.1"
react-dom: "npm:^18.3.1"
@@ -9769,6 +9772,34 @@ __metadata:
languageName: unknown
linkType: soft
+"@xyo-network/react-map-model@workspace:^, @xyo-network/react-map-model@workspace:packages/sdk/packages/map-model":
+ version: 0.0.0-use.local
+ resolution: "@xyo-network/react-map-model@workspace:packages/sdk/packages/map-model"
+ dependencies:
+ "@mui/icons-material": "npm:^6.1.6"
+ "@mui/material": "npm:^6.1.6"
+ "@mui/styles": "npm:^6.1.6"
+ "@types/geojson": "npm:7946.0.14"
+ "@xylabs/exists": "npm:^4.3.3"
+ "@xylabs/hex": "npm:^4.3.3"
+ "@xylabs/ts-scripts-yarn3": "npm:^4.2.3"
+ "@xylabs/tsconfig-react": "npm:^4.2.3"
+ "@xyo-network/payload-model": "npm:^3.3.2"
+ "@xyo-network/react-network": "workspace:^"
+ "@xyo-network/react-shared": "workspace:^"
+ "@xyo-network/sdk-geo": "npm:^3.0.2"
+ react: "npm:^18.3.1"
+ react-dom: "npm:^18.3.1"
+ typescript: "npm:^5.6.3"
+ peerDependencies:
+ "@mui/icons-material": ^6
+ "@mui/material": ^6
+ "@mui/styles": ^6
+ react: ^18
+ react-dom: ^18
+ languageName: unknown
+ linkType: soft
+
"@xyo-network/react-map@workspace:^, @xyo-network/react-map@workspace:packages/sdk/packages/map":
version: 0.0.0-use.local
resolution: "@xyo-network/react-map@workspace:packages/sdk/packages/map"
@@ -9780,18 +9811,14 @@ __metadata:
"@types/geojson": "npm:7946.0.14"
"@xylabs/assert": "npm:^4.3.3"
"@xylabs/delay": "npm:^4.3.3"
- "@xylabs/exists": "npm:^4.3.3"
"@xylabs/forget": "npm:^4.3.3"
- "@xylabs/hex": "npm:^4.3.3"
"@xylabs/react-app-settings": "npm:^5.2.14"
"@xylabs/react-flexbox": "npm:^5.2.14"
"@xylabs/react-shared": "npm:^5.2.14"
"@xylabs/ts-scripts-yarn3": "npm:^4.2.3"
"@xylabs/tsconfig-react": "npm:^4.2.3"
- "@xyo-network/payload-model": "npm:^3.3.2"
"@xyo-network/react-archivist": "workspace:^"
- "@xyo-network/react-network": "workspace:^"
- "@xyo-network/react-shared": "workspace:^"
+ "@xyo-network/react-map-model": "workspace:^"
"@xyo-network/sdk-geo": "npm:^3.0.2"
mapbox-gl: "npm:^3.7.0"
react: "npm:^18.3.1"