diff --git a/.github/workflows/static.yml b/.github/workflows/static.yml index ec54b04..19d39b7 100644 --- a/.github/workflows/static.yml +++ b/.github/workflows/static.yml @@ -35,6 +35,8 @@ jobs: - name: Setup Pages uses: actions/configure-pages@v4 + with: + enablement: true # This will enable Pages if not already enabled - name: Install dependencies run: npm ci diff --git a/src/components/BlenderView.tsx b/src/components/BlenderView.tsx index 1f1f73d..a21b875 100644 --- a/src/components/BlenderView.tsx +++ b/src/components/BlenderView.tsx @@ -1,4 +1,4 @@ -import React, { useState, useRef, useCallback, useEffect } from 'react' +import React, { useState, useCallback, useEffect } from 'react' import * as THREE from 'three' import { Menubar, @@ -42,22 +42,22 @@ export function BlenderView({ children, onAddPrimitive, objectCount }: BlenderVi const [localObjectCount, setLocalObjectCount] = useState(0) const [mode, setMode] = useState('object') const [device, setDevice] = useState('desktop') - const [selectedObject, setSelectedObject] = useState(null) - - const createGeometry = (type: PrimitiveObject['type']): THREE.BufferGeometry => { - switch (type) { - case 'cube': - return new THREE.BoxGeometry(1, 1, 1) - case 'sphere': - return new THREE.SphereGeometry(0.5, 32, 16) - case 'cone': - return new THREE.ConeGeometry(0.5, 1, 32) - case 'cylinder': - return new THREE.CylinderGeometry(0.5, 0.5, 1, 32) - default: - return new THREE.BoxGeometry(1, 1, 1) - } - } + // const [selectedObject, setSelectedObject] = useState(null) + + // const createGeometry = (type: PrimitiveObject['type']): THREE.BufferGeometry => { + // switch (type) { + // case 'cube': + // return new THREE.BoxGeometry(1, 1, 1) + // case 'sphere': + // return new THREE.SphereGeometry(0.5, 32, 16) + // case 'cone': + // return new THREE.ConeGeometry(0.5, 1, 32) + // case 'cylinder': + // return new THREE.CylinderGeometry(0.5, 0.5, 1, 32) + // default: + // return new THREE.BoxGeometry(1, 1, 1) + // } + // } const addPrimitive = useCallback((type: PrimitiveObject['type']) => { setLocalObjectCount(prev => prev + 1) diff --git a/src/components/ui/dropdown-menu.tsx b/src/components/ui/dropdown-menu.tsx index ce9515f..c9619a7 100644 --- a/src/components/ui/dropdown-menu.tsx +++ b/src/components/ui/dropdown-menu.tsx @@ -4,17 +4,17 @@ import { Check, ChevronRight, Circle } from "lucide-react" import { cn } from "../../lib/utils" -const DropdownMenu = DropdownMenuPrimitive.Root +const DropdownMenu: typeof DropdownMenuPrimitive.Root = DropdownMenuPrimitive.Root -const DropdownMenuTrigger = DropdownMenuPrimitive.Trigger +const DropdownMenuTrigger: typeof DropdownMenuPrimitive.Trigger = DropdownMenuPrimitive.Trigger -const DropdownMenuGroup = DropdownMenuPrimitive.Group +const DropdownMenuGroup: typeof DropdownMenuPrimitive.Group = DropdownMenuPrimitive.Group -const DropdownMenuPortal = DropdownMenuPrimitive.Portal +const DropdownMenuPortal: typeof DropdownMenuPrimitive.Portal = DropdownMenuPrimitive.Portal -const DropdownMenuSub = DropdownMenuPrimitive.Sub +const DropdownMenuSub: typeof DropdownMenuPrimitive.Sub = DropdownMenuPrimitive.Sub -const DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup +const DropdownMenuRadioGroup: typeof DropdownMenuPrimitive.RadioGroup = DropdownMenuPrimitive.RadioGroup const DropdownMenuSubTrigger = React.forwardRef< React.ElementRef, diff --git a/src/components/ui/menubar.tsx b/src/components/ui/menubar.tsx index 8e579c3..501867f 100644 --- a/src/components/ui/menubar.tsx +++ b/src/components/ui/menubar.tsx @@ -4,15 +4,15 @@ import { Check, ChevronRight, Circle } from "lucide-react" import { cn } from "../../lib/utils" -const MenubarMenu = MenubarPrimitive.Menu +const MenubarMenu: typeof MenubarPrimitive.Menu = MenubarPrimitive.Menu -const MenubarGroup = MenubarPrimitive.Group +const MenubarGroup: typeof MenubarPrimitive.Group = MenubarPrimitive.Group -const MenubarPortal = MenubarPrimitive.Portal +const MenubarPortal: typeof MenubarPrimitive.Portal = MenubarPrimitive.Portal -const MenubarSub = MenubarPrimitive.Sub +const MenubarSub: typeof MenubarPrimitive.Sub = MenubarPrimitive.Sub -const MenubarRadioGroup = MenubarPrimitive.RadioGroup +const MenubarRadioGroup: typeof MenubarPrimitive.RadioGroup = MenubarPrimitive.RadioGroup const Menubar = React.forwardRef< React.ElementRef, diff --git a/stories/src/billboard.stories.tsx b/stories/src/billboard.stories.tsx index bc29b5c..c47b8fc 100644 --- a/stories/src/billboard.stories.tsx +++ b/stories/src/billboard.stories.tsx @@ -1,4 +1,4 @@ -import type { Meta, StoryObj } from '@storybook/react'; +import type { Meta } from '@storybook/react'; import { Billboard, Cylinder, Text } from "@react-three/drei"; import { StoryMap } from "./story-map-storybook"; @@ -27,4 +27,3 @@ const meta: Meta = { }; export default meta; -type Story = StoryObj; diff --git a/stories/src/buffer-geometry-editor.stories.tsx b/stories/src/buffer-geometry-editor.stories.tsx index 6d9ca3d..1a14597 100644 --- a/stories/src/buffer-geometry-editor.stories.tsx +++ b/stories/src/buffer-geometry-editor.stories.tsx @@ -1,5 +1,5 @@ -import React, { useState, useCallback, useEffect, useRef, useMemo } from 'react' -import type { Meta, StoryObj } from '@storybook/react' +import { useState, useCallback, useEffect, useRef, useMemo } from 'react' +import type { Meta } from '@storybook/react' import { StoryMap } from './story-map-storybook' import { Coordinates } from 'react-three-map' import { Box, Sphere, Cone, Plane } from '@react-three/drei' @@ -332,5 +332,4 @@ const meta: Meta = { } export default meta -type Story = StoryObj diff --git a/stories/src/comparison.stories.tsx b/stories/src/comparison.stories.tsx index b1cda2b..2d7b75e 100644 --- a/stories/src/comparison.stories.tsx +++ b/stories/src/comparison.stories.tsx @@ -1,4 +1,4 @@ -import type { Meta, StoryObj } from '@storybook/react'; +import type { Meta } from '@storybook/react'; import { MapControls } from "@react-three/drei"; import { Canvas as FiberCanvas } from "@react-three/fiber"; import { useControls } from "leva"; @@ -46,9 +46,8 @@ const meta: Meta = { }; export default meta; -type Story = StoryObj; -export const WithMapStory: Story = { +export const WithMapStory = { render: () => , name: 'WithMap', }; diff --git a/stories/src/extrude/extrude-coordinates.stories.tsx b/stories/src/extrude/extrude-coordinates.stories.tsx index bcba57d..405ac8d 100644 --- a/stories/src/extrude/extrude-coordinates.stories.tsx +++ b/stories/src/extrude/extrude-coordinates.stories.tsx @@ -1,4 +1,4 @@ -import type { Meta, StoryObj } from '@storybook/react'; +import type { Meta } from '@storybook/react'; import { Environment, Extrude, Html } from "@react-three/drei"; import { useMemo } from "react"; import { Coords, coordsToVector3 } from "react-three-map"; @@ -73,9 +73,8 @@ const meta: Meta = { }; export default meta; -type Story = StoryObj; -export const ExtrudeCoordinatesStory: Story = { +export const ExtrudeCoordinatesStory = { render: () => , name: 'ExtrudeCoordinates', }; diff --git a/stories/src/free-3d-buildings/batched-standard-material/batched-properties-texture.ts b/stories/src/free-3d-buildings/batched-standard-material/batched-properties-texture.ts index d8ccc3c..8f4034d 100644 --- a/stories/src/free-3d-buildings/batched-standard-material/batched-properties-texture.ts +++ b/stories/src/free-3d-buildings/batched-standard-material/batched-properties-texture.ts @@ -43,7 +43,7 @@ export class BatchedPropertiesTexture extends DataTexture { const dim = field.dim const data = image.data const offset = id * width * 4 + fieldId * 4 - for (let i = 0; i < dim; i++) data[offset + i] = values[i] || 0 + for (let i = 0; i < dim; i++) (data as any)[offset + i] = values[i] || 0 this.needsUpdate = true } diff --git a/stories/src/free-3d-buildings/buildings-3d.stories.tsx b/stories/src/free-3d-buildings/buildings-3d.stories.tsx index fb92e2e..3f7d7f9 100644 --- a/stories/src/free-3d-buildings/buildings-3d.stories.tsx +++ b/stories/src/free-3d-buildings/buildings-3d.stories.tsx @@ -1,4 +1,4 @@ -import type { Meta, StoryObj } from '@storybook/react'; +import type { Meta } from '@storybook/react'; // import { Bloom, EffectComposer } from '@react-three/postprocessing'; // Temporarily disabled import { levaStore, useControls } from "leva"; import { Suspense, useEffect } from "react"; @@ -59,4 +59,3 @@ const meta: Meta = { }; export default meta; -type Story = StoryObj; diff --git a/stories/src/html-on-top.stories.tsx b/stories/src/html-on-top.stories.tsx index 1b6bf6c..1cf8941 100644 --- a/stories/src/html-on-top.stories.tsx +++ b/stories/src/html-on-top.stories.tsx @@ -1,4 +1,4 @@ -import type { Meta, StoryObj } from '@storybook/react'; +import type { Meta } from '@storybook/react'; import { Box, Html } from "@react-three/drei"; import { useState } from "react"; import { MathUtils } from "three"; @@ -27,4 +27,3 @@ const meta: Meta = { }; export default meta; -type Story = StoryObj; diff --git a/stories/src/ifc/load-ifc-model.stories.tsx b/stories/src/ifc/load-ifc-model.stories.tsx index 965fef9..9b0bedc 100644 --- a/stories/src/ifc/load-ifc-model.stories.tsx +++ b/stories/src/ifc/load-ifc-model.stories.tsx @@ -1,11 +1,11 @@ -import type { Meta, StoryObj } from '@storybook/react'; +import type { Meta } from '@storybook/react'; import { Plane } from "@react-three/drei"; import { button, folder, useControls } from "leva"; import { Suspense, useCallback, useEffect, useRef, useState } from "react"; import * as THREE from 'three'; import { MathUtils } from "three"; import * as OBC from '@thatopen/components'; -import * as FRAGS from '@thatopen/fragments'; +// import * as FRAGS from '@thatopen/fragments'; import { StoryMap } from "../story-map-storybook"; import modelUrl from './model.ifc?url'; @@ -239,4 +239,3 @@ const meta: Meta = { }; export default meta; -type Story = StoryObj; diff --git a/stories/src/multi-coordinates.stories.tsx b/stories/src/multi-coordinates.stories.tsx index 6206e6d..120d886 100644 --- a/stories/src/multi-coordinates.stories.tsx +++ b/stories/src/multi-coordinates.stories.tsx @@ -1,4 +1,4 @@ -import type { Meta, StoryObj } from '@storybook/react'; +import type { Meta } from '@storybook/react'; import { Box } from "@react-three/drei"; import { Vector3 } from "@react-three/fiber"; import { levaStore, useControls } from "leva"; @@ -103,4 +103,3 @@ const meta: Meta = { }; export default meta; -type Story = StoryObj; diff --git a/stories/src/postprocessing.stories.tsx b/stories/src/postprocessing.stories.tsx index 506f69d..d6aa9f6 100644 --- a/stories/src/postprocessing.stories.tsx +++ b/stories/src/postprocessing.stories.tsx @@ -1,4 +1,4 @@ -import type { Meta, StoryObj } from '@storybook/react'; +import type { Meta } from '@storybook/react'; import { Box, Plane } from "@react-three/drei"; import { EffectComposer, N8AO } from '@react-three/postprocessing'; import { levaStore, useControls } from "leva"; @@ -55,4 +55,3 @@ const meta: Meta = { }; export default meta; -type Story = StoryObj; diff --git a/stories/src/render-on-demand.stories.tsx b/stories/src/render-on-demand.stories.tsx index 64587a3..e9d3b7b 100644 --- a/stories/src/render-on-demand.stories.tsx +++ b/stories/src/render-on-demand.stories.tsx @@ -1,4 +1,4 @@ -import type { Meta, StoryObj } from '@storybook/react'; +import type { Meta } from '@storybook/react'; import { Box, Stats } from "@react-three/drei"; import { useRef, useState } from "react"; import { MathUtils } from "three"; @@ -40,4 +40,3 @@ const meta: Meta = { }; export default meta; -type Story = StoryObj; diff --git a/stories/src/story-map-storybook.tsx b/stories/src/story-map-storybook.tsx index 84ab31b..8c11ad6 100644 --- a/stories/src/story-map-storybook.tsx +++ b/stories/src/story-map-storybook.tsx @@ -28,6 +28,7 @@ export interface StoryMapProps extends PropsWithChildren { maplibreChildren?: ReactNode, maplibreStyle?: any, mapboxStyle?: any, + mapStyleUrl?: string, // Added for backward compatibility } /** `` styled for stories */ @@ -43,9 +44,13 @@ export const StoryMap: FC = (props) => { mapChildren, mapboxChildren, maplibreChildren, - maplibreStyle = 'https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json', - mapboxStyle = 'mapbox://styles/mapbox/dark-v11' + maplibreStyle, + mapboxStyle = 'mapbox://styles/mapbox/dark-v11', + mapStyleUrl // For backward compatibility } = props; + + // Use mapStyleUrl as fallback for maplibreStyle if provided + const actualMaplibreStyle = maplibreStyle || mapStyleUrl || 'https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json'; const { mapProvider, overlay } = useControls({ mapProvider: { @@ -67,7 +72,6 @@ export const StoryMap: FC = (props) => { return
{mapProvider === MapProvider.maplibre && ( = (props) => { pitch, bearing }} - mapStyle={maplibreStyle} + mapStyle={actualMaplibreStyle} > {children} diff --git a/stories/src/sunlight/sunlight.stories.tsx b/stories/src/sunlight/sunlight.stories.tsx index 085766f..2c24c2c 100644 --- a/stories/src/sunlight/sunlight.stories.tsx +++ b/stories/src/sunlight/sunlight.stories.tsx @@ -1,4 +1,4 @@ -import type { Meta, StoryObj } from '@storybook/react'; +import type { Meta } from '@storybook/react'; import { Billboard, Line, Plane, Ring, Sphere, useHelper } from "@react-three/drei"; import { useFrame } from "@react-three/fiber"; import { useControls } from "leva"; @@ -285,4 +285,3 @@ const meta: Meta = { }; export default meta; -type Story = StoryObj; diff --git a/tsconfig.json b/tsconfig.json index 8db2d62..cc6b9c0 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -16,7 +16,8 @@ "paths": { "react-three-map": ["./src/mapbox.index.ts"], - "react-three-map/maplibre": ["./src/maplibre.index.ts"], + "react-three-map/mapbox": ["./src/mapbox.index.ts"], + "react-three-map/maplibre": ["./src/maplibre.index.ts"] }, /* Linting */