door_models 5.3.9 → 5.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -75,7 +75,8 @@ const ConfiguratorProvider = _ref => {
75
75
  let {
76
76
  children,
77
77
  initialIs2D = false,
78
- initialMaterials = {}
78
+ initialMaterials = {},
79
+ totalDepth
79
80
  } = _ref;
80
81
  const [materials, setMaterials] = useState(initialMaterials);
81
82
  const [is2D, setIs2D] = useState(initialIs2D);
@@ -572,13 +573,35 @@ const ConfiguratorProvider = _ref => {
572
573
  };
573
574
  break;
574
575
  }
576
+ const baseTotalDepth = 103; // Define the reference depth for scaling (103mm is a common default)
577
+ const scaleFactor = totalDepth !== undefined && baseTotalDepth > 0 ? totalDepth / baseTotalDepth : 1;
578
+
579
+ // Apply the scaling factor to all depth-related settings
580
+ if (scaleFactor !== 1) {
581
+ if (newSettings.frameDepth !== undefined) newSettings.frameDepth *= scaleFactor;
582
+ if (newSettings.doorDepth !== undefined) newSettings.doorDepth *= scaleFactor;
583
+ if (newSettings.doorStopDepth !== undefined) newSettings.doorStopDepth *= scaleFactor;
584
+ if (newSettings.secondDoorStopDepth !== undefined) newSettings.secondDoorStopDepth *= scaleFactor;
585
+ if (newSettings.gasketDepth !== undefined) newSettings.gasketDepth *= scaleFactor;
586
+
587
+ // Handle string-based depths like "40mm" for notchDepth
588
+ if (typeof newSettings.notchDepth === "string") {
589
+ const num = parseInt(newSettings.notchDepth, 10);
590
+ if (!isNaN(num)) {
591
+ newSettings.notchDepth = "".concat(num * scaleFactor, "mm");
592
+ }
593
+ }
594
+ }
575
595
  const isMxCaf = frameType.startsWith("MXCAF");
576
596
  setFrontCoverPanel(prev => _objectSpread2(_objectSpread2({}, prev), {}, {
577
- visible: isMxCaf
597
+ visible: isMxCaf,
598
+ depth: 12 * scaleFactor
578
599
  }));
579
600
  setBackCoverPanel(prev => _objectSpread2(_objectSpread2({}, prev), {}, {
580
- visible: isMxCaf
601
+ visible: isMxCaf,
602
+ depth: 12 * scaleFactor
581
603
  }));
604
+ setGlassDepth(8 * scaleFactor);
582
605
  const {
583
606
  doorDepth
584
607
  } = newSettings,
@@ -589,7 +612,7 @@ const ConfiguratorProvider = _ref => {
589
612
  theDoorDepth: doorDepth
590
613
  }));
591
614
  }
592
- }, [frameType]);
615
+ }, [frameType, totalDepth]);
593
616
 
594
617
  // --- Exterior Fanlight Logic ---
595
618
  useEffect(() => {
@@ -699,61 +722,74 @@ const useConfigurator = () => {
699
722
 
700
723
  const availableMaterials = {
701
724
  black: new THREE.MeshStandardMaterial({
702
- color: "#000000"
725
+ color: "#000000",
726
+ side: THREE.DoubleSide
703
727
  }),
704
728
  metal: new THREE.MeshStandardMaterial({
705
729
  color: "#aaaaaa",
706
730
  metalness: 1.0,
707
- roughness: 0.4
731
+ roughness: 0.4,
732
+ side: THREE.DoubleSide
708
733
  }),
709
734
  darkgrey: new THREE.MeshStandardMaterial({
710
- color: "#5e5e5e"
735
+ color: "#5e5e5e",
736
+ side: THREE.DoubleSide
711
737
  }),
712
738
  grey: new THREE.MeshStandardMaterial({
713
- color: "#cccccc"
739
+ color: "#cccccc",
740
+ side: THREE.DoubleSide
714
741
  }),
715
742
  yellow: new THREE.MeshStandardMaterial({
716
- color: "#ffff00"
743
+ color: "#ffff00",
744
+ side: THREE.DoubleSide
717
745
  }),
718
746
  darkBrown: new THREE.MeshStandardMaterial({
719
- color: "#a0522d"
747
+ color: "#a0522d",
748
+ side: THREE.DoubleSide
720
749
  }),
721
750
  brown: new THREE.MeshStandardMaterial({
722
- color: "#d2b48c"
751
+ color: "#d2b48c",
752
+ side: THREE.DoubleSide
723
753
  }),
724
754
  glass: new THREE.MeshStandardMaterial({
725
755
  color: "#ffffff",
726
756
  roughness: 0.1,
727
757
  transparent: true,
728
- opacity: 0.7
758
+ opacity: 0.7,
759
+ side: THREE.DoubleSide
729
760
  }),
730
761
  aluminum: new THREE.MeshStandardMaterial({
731
762
  color: "#abb0aa",
732
763
  metalness: 0.8,
733
764
  roughness: 0.5,
734
- envMapIntensity: 1.2
765
+ envMapIntensity: 1.2,
766
+ side: THREE.DoubleSide
735
767
  }),
736
768
  aluminumBrighter: new THREE.MeshStandardMaterial({
737
769
  color: "#cdcdcd",
738
770
  metalness: 0.8,
739
771
  roughness: 0.5,
740
- envMapIntensity: 1.2
772
+ envMapIntensity: 1.2,
773
+ side: THREE.DoubleSide
741
774
  }),
742
775
  aluminumExtraBrighter: new THREE.MeshStandardMaterial({
743
776
  color: "#ececec",
744
777
  metalness: 0.8,
745
778
  roughness: 0.5,
746
- envMapIntensity: 1.2
779
+ envMapIntensity: 1.2,
780
+ side: THREE.DoubleSide
747
781
  }),
748
782
  silver: new THREE.MeshStandardMaterial({
749
783
  color: "#c0c0c0",
750
784
  metalness: 1.0,
751
- roughness: 0.2
785
+ roughness: 0.2,
786
+ side: THREE.DoubleSide
752
787
  }),
753
788
  gold: new THREE.MeshStandardMaterial({
754
789
  color: "#ffd700",
755
790
  metalness: 1.0,
756
- roughness: 0.3
791
+ roughness: 0.3,
792
+ side: THREE.DoubleSide
757
793
  }),
758
794
  diamond: new THREE.MeshStandardMaterial({
759
795
  color: "#e0f7fa",
@@ -761,20 +797,24 @@ const availableMaterials = {
761
797
  roughness: 0.05,
762
798
  transparent: true,
763
799
  opacity: 0.9,
764
- envMapIntensity: 1.5
800
+ envMapIntensity: 1.5,
801
+ side: THREE.DoubleSide
765
802
  }),
766
803
  test_material: new THREE.MeshStandardMaterial({
767
804
  color: "red",
768
- roughness: 0.1
805
+ roughness: 0.1,
806
+ side: THREE.DoubleSide
769
807
  })
770
808
  };
771
809
  new THREE.MeshStandardMaterial({
772
810
  color: "#cccccc",
773
- roughness: 0.8
811
+ roughness: 0.8,
812
+ side: THREE.DoubleSide
774
813
  });
775
814
  new THREE.MeshStandardMaterial({
776
815
  color: "#000",
777
- roughness: 0.8
816
+ roughness: 0.8,
817
+ side: THREE.DoubleSide
778
818
  });
779
819
 
780
820
  // Helper function to check for hex color codes
@@ -797,14 +837,15 @@ const buildMaterial = (prop, textures) => {
797
837
  const sourceValue = typeof prop === "string" ? prop : prop.value;
798
838
  const opacity = typeof prop === "object" ? prop.opacity : 1;
799
839
  const params = {
800
- roughness: 0.8
840
+ roughness: 0.8,
841
+ side: THREE.DoubleSide
801
842
  };
802
843
  if (isHexColor(sourceValue)) {
803
844
  params.color = sourceValue;
804
845
  } else if (textures && textures[sourceValue]) {
805
846
  params.map = textures[sourceValue];
806
847
  } else {
807
- params.color = "#cccccc";
848
+ params.color = "yellow";
808
849
  }
809
850
  if (opacity !== undefined && opacity < 1) {
810
851
  params.transparent = true;
@@ -1584,296 +1625,292 @@ function DoorModels(_ref7) {
1584
1625
  })
1585
1626
  });
1586
1627
  }
1587
- return (
1588
- /*#__PURE__*/
1589
- // CHANGE START: Wrap the entire component in a parent group.
1590
- jsxs("group", {
1591
- children: [/*#__PURE__*/jsx("mesh", {
1592
- visible: false,
1628
+ return /*#__PURE__*/jsxs("group", {
1629
+ children: [/*#__PURE__*/jsx("mesh", {
1630
+ visible: false,
1631
+ children: /*#__PURE__*/jsx("boxGeometry", {
1632
+ args: [totalWidthM, totalHeightM, frameDepthM]
1633
+ })
1634
+ }), /*#__PURE__*/jsxs("group", {
1635
+ "position-y": yCenteringOffset + pivotNewPosition,
1636
+ children: [frontCoverPanel.visible && /*#__PURE__*/jsxs("group", {
1637
+ "position-z": frontArchitraveZ,
1638
+ children: [/*#__PURE__*/jsx("mesh", {
1639
+ position: [0, topArchitraveY, 0],
1640
+ castShadow: true,
1641
+ material: allMaterials.frontCoverPanelMaterial,
1642
+ children: /*#__PURE__*/jsx("boxGeometry", {
1643
+ args: [topArchitraveWidth, architraveProfileM, architraveDepthM]
1644
+ })
1645
+ }), /*#__PURE__*/jsx("mesh", {
1646
+ position: [leftArchitraveX, 0, 0],
1647
+ castShadow: true,
1648
+ material: allMaterials.frontCoverPanelMaterial,
1649
+ children: /*#__PURE__*/jsx("boxGeometry", {
1650
+ args: [architraveProfileM, totalOpeningHeightM, architraveDepthM]
1651
+ })
1652
+ }), /*#__PURE__*/jsx("mesh", {
1653
+ position: [rightArchitraveX, 0, 0],
1654
+ castShadow: true,
1655
+ material: allMaterials.frontCoverPanelMaterial,
1656
+ children: /*#__PURE__*/jsx("boxGeometry", {
1657
+ args: [architraveProfileM, totalOpeningHeightM, architraveDepthM]
1658
+ })
1659
+ })]
1660
+ }), backCoverPanel.visible && /*#__PURE__*/jsxs("group", {
1661
+ "position-z": backArchitraveZ,
1662
+ children: [/*#__PURE__*/jsx("mesh", {
1663
+ position: [0, topArchitraveY, 0],
1664
+ castShadow: true,
1665
+ material: allMaterials.backCoverPanelMaterial,
1666
+ children: /*#__PURE__*/jsx("boxGeometry", {
1667
+ args: [topArchitraveWidth, architraveProfileM, architraveDepthM]
1668
+ })
1669
+ }), /*#__PURE__*/jsx("mesh", {
1670
+ position: [leftArchitraveX, 0, 0],
1671
+ castShadow: true,
1672
+ material: allMaterials.backCoverPanelMaterial,
1673
+ children: /*#__PURE__*/jsx("boxGeometry", {
1674
+ args: [architraveProfileM, totalOpeningHeightM, architraveDepthM]
1675
+ })
1676
+ }), /*#__PURE__*/jsx("mesh", {
1677
+ position: [rightArchitraveX, 0, 0],
1678
+ castShadow: true,
1679
+ material: allMaterials.backCoverPanelMaterial,
1680
+ children: /*#__PURE__*/jsx("boxGeometry", {
1681
+ args: [architraveProfileM, totalOpeningHeightM, architraveDepthM]
1682
+ })
1683
+ })]
1684
+ }), exteriorFanlight.visible && /*#__PURE__*/jsx("mesh", {
1685
+ position: [0, exteriorFanlightYPosition, 0],
1686
+ castShadow: true,
1687
+ material: allMaterials.exteriorFanlightMaterial,
1593
1688
  children: /*#__PURE__*/jsx("boxGeometry", {
1594
- args: [totalWidthM, totalHeightM, frameDepthM]
1689
+ args: [totalOpeningWidthM + sidesFrameWidthM * 2, exteriorFanlightHeightM, exteriorFanlightDepthM]
1595
1690
  })
1596
- }), /*#__PURE__*/jsxs("group", {
1597
- "position-y": yCenteringOffset + pivotNewPosition,
1598
- children: [frontCoverPanel.visible && /*#__PURE__*/jsxs("group", {
1599
- "position-z": frontArchitraveZ,
1600
- children: [/*#__PURE__*/jsx("mesh", {
1601
- position: [0, topArchitraveY, 0],
1602
- castShadow: true,
1603
- material: allMaterials.frontCoverPanelMaterial,
1604
- children: /*#__PURE__*/jsx("boxGeometry", {
1605
- args: [topArchitraveWidth, architraveProfileM, architraveDepthM]
1606
- })
1607
- }), /*#__PURE__*/jsx("mesh", {
1608
- position: [leftArchitraveX, 0, 0],
1609
- castShadow: true,
1610
- material: allMaterials.frontCoverPanelMaterial,
1611
- children: /*#__PURE__*/jsx("boxGeometry", {
1612
- args: [architraveProfileM, totalOpeningHeightM, architraveDepthM]
1613
- })
1614
- }), /*#__PURE__*/jsx("mesh", {
1615
- position: [rightArchitraveX, 0, 0],
1616
- castShadow: true,
1617
- material: allMaterials.frontCoverPanelMaterial,
1618
- children: /*#__PURE__*/jsx("boxGeometry", {
1619
- args: [architraveProfileM, totalOpeningHeightM, architraveDepthM]
1620
- })
1621
- })]
1622
- }), backCoverPanel.visible && /*#__PURE__*/jsxs("group", {
1623
- "position-z": backArchitraveZ,
1624
- children: [/*#__PURE__*/jsx("mesh", {
1625
- position: [0, topArchitraveY, 0],
1626
- castShadow: true,
1627
- material: allMaterials.backCoverPanelMaterial,
1628
- children: /*#__PURE__*/jsx("boxGeometry", {
1629
- args: [topArchitraveWidth, architraveProfileM, architraveDepthM]
1630
- })
1631
- }), /*#__PURE__*/jsx("mesh", {
1632
- position: [leftArchitraveX, 0, 0],
1633
- castShadow: true,
1634
- material: allMaterials.backCoverPanelMaterial,
1635
- children: /*#__PURE__*/jsx("boxGeometry", {
1636
- args: [architraveProfileM, totalOpeningHeightM, architraveDepthM]
1637
- })
1638
- }), /*#__PURE__*/jsx("mesh", {
1639
- position: [rightArchitraveX, 0, 0],
1640
- castShadow: true,
1641
- material: allMaterials.backCoverPanelMaterial,
1642
- children: /*#__PURE__*/jsx("boxGeometry", {
1643
- args: [architraveProfileM, totalOpeningHeightM, architraveDepthM]
1644
- })
1645
- })]
1646
- }), exteriorFanlight.visible && /*#__PURE__*/jsx("mesh", {
1647
- position: [0, exteriorFanlightYPosition, 0],
1691
+ }), isFrameVisible && /*#__PURE__*/jsxs("group", {
1692
+ children: [/*#__PURE__*/jsx("mesh", {
1648
1693
  castShadow: true,
1649
- material: allMaterials.exteriorFanlightMaterial,
1694
+ position: [0, topFrameCenterY, 0],
1695
+ children: /*#__PURE__*/jsxs(Geometry, {
1696
+ useGroups: true,
1697
+ children: [/*#__PURE__*/jsx(Base, {
1698
+ name: "frame-base",
1699
+ material: allMaterials.frameMaterial,
1700
+ children: /*#__PURE__*/jsx("boxGeometry", {
1701
+ args: [totalOpeningWidthM, topFrameWidthM, frameDepthM]
1702
+ })
1703
+ }), !["MXF_40", "MXF_50", "MXCAF_40", "MXCAF_50"].includes(frameType) && /*#__PURE__*/jsx(Subtraction, {
1704
+ name: "cut-exterior",
1705
+ material: allMaterials.frameMaterial,
1706
+ position: [0, notchposition, 0],
1707
+ children: /*#__PURE__*/jsx("boxGeometry", {
1708
+ args: [totalOpeningWidthM + 0.01, notchWidthM, notchDepthM]
1709
+ })
1710
+ })]
1711
+ })
1712
+ }), /*#__PURE__*/jsx("mesh", {
1713
+ castShadow: true,
1714
+ position: [-totalOpeningWidthM / 2 - sidesFrameWidthM / 2, sideFrameCenterY, 0],
1715
+ children: /*#__PURE__*/jsxs(Geometry, {
1716
+ useGroups: true,
1717
+ children: [/*#__PURE__*/jsx(Base, {
1718
+ name: "frame-base",
1719
+ material: allMaterials.frameMaterial,
1720
+ children: /*#__PURE__*/jsx("boxGeometry", {
1721
+ args: [sidesFrameWidthM, totalOpeningHeightM + topFrameWidthM, frameDepthM]
1722
+ })
1723
+ }), !["MXF_40", "MXF_50", "MXCAF_40", "MXCAF_50"].includes(frameType) && /*#__PURE__*/jsx(Subtraction, {
1724
+ name: "cut-exterior",
1725
+ material: allMaterials.frameMaterial,
1726
+ position: [-notchposition, 0, 0],
1727
+ children: /*#__PURE__*/jsx("boxGeometry", {
1728
+ args: [notchWidthM, totalOpeningHeightM + topFrameWidthM + 0.01, notchDepthM]
1729
+ })
1730
+ })]
1731
+ })
1732
+ }), /*#__PURE__*/jsx("mesh", {
1733
+ castShadow: true,
1734
+ position: [totalOpeningWidthM / 2 + sidesFrameWidthM / 2, sideFrameCenterY, 0],
1735
+ children: /*#__PURE__*/jsxs(Geometry, {
1736
+ useGroups: true,
1737
+ children: [/*#__PURE__*/jsx(Base, {
1738
+ name: "frame-base",
1739
+ material: allMaterials.frameMaterial,
1740
+ children: /*#__PURE__*/jsx("boxGeometry", {
1741
+ args: [sidesFrameWidthM, totalOpeningHeightM + topFrameWidthM, frameDepthM]
1742
+ })
1743
+ }), !["MXF_40", "MXF_50", "MXCAF_40", "MXCAF_50"].includes(frameType) && /*#__PURE__*/jsx(Subtraction, {
1744
+ name: "cut-exterior",
1745
+ material: allMaterials.frameMaterial,
1746
+ position: [notchposition, 0, 0],
1747
+ children: /*#__PURE__*/jsx("boxGeometry", {
1748
+ args: [notchWidthM, totalOpeningHeightM + topFrameWidthM + 0.01, notchDepthM]
1749
+ })
1750
+ })]
1751
+ })
1752
+ }), /*#__PURE__*/jsx("mesh", {
1753
+ castShadow: true,
1754
+ position: [0, totalOpeningHeightM / 2 - doorStopWidthM / 2, doorStopPositionZ],
1755
+ material: allMaterials.doorStopMaterial,
1756
+ children: /*#__PURE__*/jsx("boxGeometry", {
1757
+ args: [totalOpeningWidthM, doorStopWidthM, doorStopDepthM]
1758
+ })
1759
+ }), /*#__PURE__*/jsx("mesh", {
1760
+ castShadow: true,
1761
+ position: [-totalOpeningWidthM / 2 + doorStopWidthM / 2, 0, doorStopPositionZ],
1762
+ material: allMaterials.doorStopMaterial,
1650
1763
  children: /*#__PURE__*/jsx("boxGeometry", {
1651
- args: [totalOpeningWidthM + sidesFrameWidthM * 2, exteriorFanlightHeightM, exteriorFanlightDepthM]
1764
+ args: [doorStopWidthM, totalOpeningHeightM, doorStopDepthM]
1652
1765
  })
1653
- }), isFrameVisible && /*#__PURE__*/jsxs("group", {
1766
+ }), /*#__PURE__*/jsx("mesh", {
1767
+ castShadow: true,
1768
+ position: [totalOpeningWidthM / 2 - doorStopWidthM / 2, 0, doorStopPositionZ],
1769
+ material: allMaterials.doorStopMaterial,
1770
+ children: /*#__PURE__*/jsx("boxGeometry", {
1771
+ args: [doorStopWidthM, totalOpeningHeightM, doorStopDepthM]
1772
+ })
1773
+ }), frameType !== "WF_FLI" && /*#__PURE__*/jsxs(Fragment, {
1654
1774
  children: [/*#__PURE__*/jsx("mesh", {
1655
1775
  castShadow: true,
1656
- position: [0, topFrameCenterY, 0],
1657
- children: /*#__PURE__*/jsxs(Geometry, {
1658
- useGroups: true,
1659
- children: [/*#__PURE__*/jsx(Base, {
1660
- name: "frame-base",
1661
- material: allMaterials.frameMaterial,
1662
- children: /*#__PURE__*/jsx("boxGeometry", {
1663
- args: [totalOpeningWidthM, topFrameWidthM, frameDepthM]
1664
- })
1665
- }), !["MXF_40", "MXF_50", "MXCAF_40", "MXCAF_50"].includes(frameType) && /*#__PURE__*/jsx(Subtraction, {
1666
- name: "cut-exterior",
1667
- material: allMaterials.frameMaterial,
1668
- position: [0, notchposition, 0],
1669
- children: /*#__PURE__*/jsx("boxGeometry", {
1670
- args: [totalOpeningWidthM + 0.01, notchWidthM, notchDepthM]
1671
- })
1672
- })]
1673
- })
1674
- }), /*#__PURE__*/jsx("mesh", {
1675
- castShadow: true,
1676
- position: [-totalOpeningWidthM / 2 - sidesFrameWidthM / 2, sideFrameCenterY, 0],
1677
- children: /*#__PURE__*/jsxs(Geometry, {
1678
- useGroups: true,
1679
- children: [/*#__PURE__*/jsx(Base, {
1680
- name: "frame-base",
1681
- material: allMaterials.frameMaterial,
1682
- children: /*#__PURE__*/jsx("boxGeometry", {
1683
- args: [sidesFrameWidthM, totalOpeningHeightM + topFrameWidthM, frameDepthM]
1684
- })
1685
- }), !["MXF_40", "MXF_50", "MXCAF_40", "MXCAF_50"].includes(frameType) && /*#__PURE__*/jsx(Subtraction, {
1686
- name: "cut-exterior",
1687
- material: allMaterials.frameMaterial,
1688
- position: [-notchposition, 0, 0],
1689
- children: /*#__PURE__*/jsx("boxGeometry", {
1690
- args: [notchWidthM, totalOpeningHeightM + topFrameWidthM + 0.01, notchDepthM]
1691
- })
1692
- })]
1693
- })
1694
- }), /*#__PURE__*/jsx("mesh", {
1695
- castShadow: true,
1696
- position: [totalOpeningWidthM / 2 + sidesFrameWidthM / 2, sideFrameCenterY, 0],
1697
- children: /*#__PURE__*/jsxs(Geometry, {
1698
- useGroups: true,
1699
- children: [/*#__PURE__*/jsx(Base, {
1700
- name: "frame-base",
1701
- material: allMaterials.frameMaterial,
1702
- children: /*#__PURE__*/jsx("boxGeometry", {
1703
- args: [sidesFrameWidthM, totalOpeningHeightM + topFrameWidthM, frameDepthM]
1704
- })
1705
- }), !["MXF_40", "MXF_50", "MXCAF_40", "MXCAF_50"].includes(frameType) && /*#__PURE__*/jsx(Subtraction, {
1706
- name: "cut-exterior",
1707
- material: allMaterials.frameMaterial,
1708
- position: [notchposition, 0, 0],
1709
- children: /*#__PURE__*/jsx("boxGeometry", {
1710
- args: [notchWidthM, totalOpeningHeightM + topFrameWidthM + 0.01, notchDepthM]
1711
- })
1712
- })]
1713
- })
1714
- }), /*#__PURE__*/jsx("mesh", {
1715
- castShadow: true,
1716
- position: [0, totalOpeningHeightM / 2 - doorStopWidthM / 2, doorStopPositionZ],
1717
- material: allMaterials.doorStopMaterial,
1776
+ position: [0, topGasketYPosition, gasketZPosition],
1777
+ material: allMaterials.gasketMaterial,
1718
1778
  children: /*#__PURE__*/jsx("boxGeometry", {
1719
- args: [totalOpeningWidthM, doorStopWidthM, doorStopDepthM]
1779
+ args: [totalOpeningWidthM - 0.03, gasketWidthM + 0.005, gasketDepthM]
1720
1780
  })
1721
1781
  }), /*#__PURE__*/jsx("mesh", {
1722
1782
  castShadow: true,
1723
- position: [-totalOpeningWidthM / 2 + doorStopWidthM / 2, 0, doorStopPositionZ],
1724
- material: allMaterials.doorStopMaterial,
1783
+ position: [leftGasketXPosition - 0.005, -0.005, gasketZPosition],
1784
+ material: allMaterials.gasketMaterial,
1725
1785
  children: /*#__PURE__*/jsx("boxGeometry", {
1726
- args: [doorStopWidthM, totalOpeningHeightM, doorStopDepthM]
1786
+ args: [gasketWidthM + 0.005, totalOpeningHeightM - 0.02, gasketDepthM]
1727
1787
  })
1728
1788
  }), /*#__PURE__*/jsx("mesh", {
1729
1789
  castShadow: true,
1730
- position: [totalOpeningWidthM / 2 - doorStopWidthM / 2, 0, doorStopPositionZ],
1731
- material: allMaterials.doorStopMaterial,
1790
+ position: [rightGasketXPosition + 0.005, -0.005, gasketZPosition],
1791
+ material: allMaterials.gasketMaterial,
1732
1792
  children: /*#__PURE__*/jsx("boxGeometry", {
1733
- args: [doorStopWidthM, totalOpeningHeightM, doorStopDepthM]
1793
+ args: [gasketWidthM + 0.005, totalOpeningHeightM - 0.02, gasketDepthM]
1734
1794
  })
1735
- }), frameType !== "WF_FLI" && /*#__PURE__*/jsxs(Fragment, {
1795
+ })]
1796
+ }), ["WDGF_WDG100", "WF_100", "WF_FLI"].includes(frameType) && /*#__PURE__*/jsxs("group", {
1797
+ children: [/*#__PURE__*/jsxs("group", {
1798
+ children: [/*#__PURE__*/jsx("mesh", {
1799
+ castShadow: true,
1800
+ position: [0, totalOpeningHeightM / 2 - secondDoorStopWidthM / 2, secondDoorStopPositionZ],
1801
+ material: allMaterials.doorStopMaterial,
1802
+ children: /*#__PURE__*/jsx("boxGeometry", {
1803
+ args: [totalOpeningWidthM, secondDoorStopWidthM, secondDoorStopDepthM]
1804
+ })
1805
+ }), /*#__PURE__*/jsx("mesh", {
1806
+ castShadow: true,
1807
+ position: [-totalOpeningWidthM / 2 + secondDoorStopWidthM / 2, 0, secondDoorStopPositionZ],
1808
+ material: allMaterials.doorStopMaterial,
1809
+ children: /*#__PURE__*/jsx("boxGeometry", {
1810
+ args: [secondDoorStopWidthM, totalOpeningHeightM, secondDoorStopDepthM]
1811
+ })
1812
+ }), /*#__PURE__*/jsx("mesh", {
1813
+ castShadow: true,
1814
+ position: [totalOpeningWidthM / 2 - secondDoorStopWidthM / 2, 0, secondDoorStopPositionZ],
1815
+ material: allMaterials.doorStopMaterial,
1816
+ children: /*#__PURE__*/jsx("boxGeometry", {
1817
+ args: [secondDoorStopWidthM, totalOpeningHeightM, secondDoorStopDepthM]
1818
+ })
1819
+ })]
1820
+ }), /*#__PURE__*/jsxs("group", {
1736
1821
  children: [/*#__PURE__*/jsx("mesh", {
1737
1822
  castShadow: true,
1738
- position: [0, topGasketYPosition, gasketZPosition],
1823
+ position: [0, secondTopGasketYPosition - 0.005, secondGasketZPosition],
1739
1824
  material: allMaterials.gasketMaterial,
1740
1825
  children: /*#__PURE__*/jsx("boxGeometry", {
1741
1826
  args: [totalOpeningWidthM - 0.03, gasketWidthM + 0.005, gasketDepthM]
1742
1827
  })
1743
1828
  }), /*#__PURE__*/jsx("mesh", {
1744
1829
  castShadow: true,
1745
- position: [leftGasketXPosition - 0.005, -0.005, gasketZPosition],
1830
+ position: [secondLeftGasketXPosition - 0.005, -0.01, secondGasketZPosition],
1746
1831
  material: allMaterials.gasketMaterial,
1747
1832
  children: /*#__PURE__*/jsx("boxGeometry", {
1748
- args: [gasketWidthM + 0.005, totalOpeningHeightM - 0.02, gasketDepthM]
1833
+ args: [gasketWidthM + 0.005, totalOpeningHeightM - 0.04, gasketDepthM]
1749
1834
  })
1750
1835
  }), /*#__PURE__*/jsx("mesh", {
1751
1836
  castShadow: true,
1752
- position: [rightGasketXPosition + 0.005, -0.005, gasketZPosition],
1837
+ position: [secondRightGasketXPosition + 0.005, -0.01, secondGasketZPosition],
1753
1838
  material: allMaterials.gasketMaterial,
1754
1839
  children: /*#__PURE__*/jsx("boxGeometry", {
1755
- args: [gasketWidthM + 0.005, totalOpeningHeightM - 0.02, gasketDepthM]
1840
+ args: [gasketWidthM + 0.004, totalOpeningHeightM - 0.04, gasketDepthM]
1756
1841
  })
1757
1842
  })]
1758
- }), ["WDGF_WDG100", "WF_100", "WF_FLI"].includes(frameType) && /*#__PURE__*/jsxs("group", {
1843
+ }), glassVisible && /*#__PURE__*/jsxs(Fragment, {
1759
1844
  children: [/*#__PURE__*/jsxs("group", {
1760
- children: [/*#__PURE__*/jsx("mesh", {
1845
+ children: [["WDGF_WDG100", "WF_100"].includes(frameType) && /*#__PURE__*/jsx("mesh", {
1846
+ castShadow: true,
1847
+ position: [0, topFrameCenterY - secondDoorStopWidthM / 2, leftGlass_Z],
1848
+ material: allMaterials.glassInfillMaterial,
1849
+ children: /*#__PURE__*/jsx("boxGeometry", {
1850
+ args: [totalOpeningWidthM - 2 * secondDoorStopWidthM, topFrameWidthM + secondDoorStopWidthM, GlassPanelDepthM]
1851
+ })
1852
+ }), !["WDGF_WDG100", "WF_100"].includes(frameType) && /*#__PURE__*/jsx("mesh", {
1761
1853
  castShadow: true,
1762
- position: [0, totalOpeningHeightM / 2 - secondDoorStopWidthM / 2, secondDoorStopPositionZ],
1763
- material: allMaterials.doorStopMaterial,
1854
+ position: [0, topFrameCenterY, leftGlass_Z],
1855
+ material: allMaterials.glassInfillMaterial,
1764
1856
  children: /*#__PURE__*/jsx("boxGeometry", {
1765
- args: [totalOpeningWidthM, secondDoorStopWidthM, secondDoorStopDepthM]
1857
+ args: [totalOpeningWidthM - 2 * secondDoorStopWidthM, topFrameWidthM, GlassPanelDepthM]
1766
1858
  })
1767
1859
  }), /*#__PURE__*/jsx("mesh", {
1768
1860
  castShadow: true,
1769
- position: [-totalOpeningWidthM / 2 + secondDoorStopWidthM / 2, 0, secondDoorStopPositionZ],
1770
- material: allMaterials.doorStopMaterial,
1861
+ position: [-totalOpeningWidthM / 2 - sidesFrameWidthM / 2 + secondDoorStopWidthM / 2, sideFrameCenterY, leftGlass_Z],
1862
+ material: allMaterials.glassInfillMaterial,
1771
1863
  children: /*#__PURE__*/jsx("boxGeometry", {
1772
- args: [secondDoorStopWidthM, totalOpeningHeightM, secondDoorStopDepthM]
1864
+ args: [sidesFrameWidthM + secondDoorStopWidthM, totalOpeningHeightM + topFrameWidthM, GlassPanelDepthM]
1773
1865
  })
1774
1866
  }), /*#__PURE__*/jsx("mesh", {
1775
1867
  castShadow: true,
1776
- position: [totalOpeningWidthM / 2 - secondDoorStopWidthM / 2, 0, secondDoorStopPositionZ],
1777
- material: allMaterials.doorStopMaterial,
1868
+ position: [totalOpeningWidthM / 2 + sidesFrameWidthM / 2 - secondDoorStopWidthM / 2, sideFrameCenterY, leftGlass_Z],
1869
+ material: allMaterials.glassInfillMaterial,
1778
1870
  children: /*#__PURE__*/jsx("boxGeometry", {
1779
- args: [secondDoorStopWidthM, totalOpeningHeightM, secondDoorStopDepthM]
1871
+ args: [sidesFrameWidthM + secondDoorStopWidthM, totalOpeningHeightM + topFrameWidthM, GlassPanelDepthM]
1780
1872
  })
1781
1873
  })]
1782
1874
  }), /*#__PURE__*/jsxs("group", {
1783
1875
  children: [/*#__PURE__*/jsx("mesh", {
1784
1876
  castShadow: true,
1785
- position: [0, secondTopGasketYPosition - 0.005, secondGasketZPosition],
1786
- material: allMaterials.gasketMaterial,
1877
+ position: [0, topFrameCenterY, rightGlass_Z],
1878
+ material: allMaterials.glassInfillMaterial,
1787
1879
  children: /*#__PURE__*/jsx("boxGeometry", {
1788
- args: [totalOpeningWidthM - 0.03, gasketWidthM + 0.005, gasketDepthM]
1880
+ args: [totalOpeningWidthM, topFrameWidthM, GlassPanelDepthM]
1789
1881
  })
1790
1882
  }), /*#__PURE__*/jsx("mesh", {
1791
1883
  castShadow: true,
1792
- position: [secondLeftGasketXPosition - 0.005, -0.01, secondGasketZPosition],
1793
- material: allMaterials.gasketMaterial,
1884
+ position: [-totalOpeningWidthM / 2 - sidesFrameWidthM / 2, sideFrameCenterY, rightGlass_Z],
1885
+ material: allMaterials.glassInfillMaterial,
1794
1886
  children: /*#__PURE__*/jsx("boxGeometry", {
1795
- args: [gasketWidthM + 0.005, totalOpeningHeightM - 0.04, gasketDepthM]
1887
+ args: [sidesFrameWidthM, totalOpeningHeightM + topFrameWidthM, GlassPanelDepthM]
1796
1888
  })
1797
1889
  }), /*#__PURE__*/jsx("mesh", {
1798
1890
  castShadow: true,
1799
- position: [secondRightGasketXPosition + 0.005, -0.01, secondGasketZPosition],
1800
- material: allMaterials.gasketMaterial,
1891
+ position: [totalOpeningWidthM / 2 + sidesFrameWidthM / 2, sideFrameCenterY, rightGlass_Z],
1892
+ material: allMaterials.glassInfillMaterial,
1801
1893
  children: /*#__PURE__*/jsx("boxGeometry", {
1802
- args: [gasketWidthM + 0.004, totalOpeningHeightM - 0.04, gasketDepthM]
1894
+ args: [sidesFrameWidthM, totalOpeningHeightM + topFrameWidthM, GlassPanelDepthM]
1803
1895
  })
1804
1896
  })]
1805
- }), glassVisible && /*#__PURE__*/jsxs(Fragment, {
1806
- children: [/*#__PURE__*/jsxs("group", {
1807
- children: [["WDGF_WDG100", "WF_100"].includes(frameType) && /*#__PURE__*/jsx("mesh", {
1808
- castShadow: true,
1809
- position: [0, topFrameCenterY - secondDoorStopWidthM / 2, leftGlass_Z],
1810
- material: allMaterials.glassInfillMaterial,
1811
- children: /*#__PURE__*/jsx("boxGeometry", {
1812
- args: [totalOpeningWidthM - 2 * secondDoorStopWidthM, topFrameWidthM + secondDoorStopWidthM, GlassPanelDepthM]
1813
- })
1814
- }), !["WDGF_WDG100", "WF_100"].includes(frameType) && /*#__PURE__*/jsx("mesh", {
1815
- castShadow: true,
1816
- position: [0, topFrameCenterY, leftGlass_Z],
1817
- material: allMaterials.glassInfillMaterial,
1818
- children: /*#__PURE__*/jsx("boxGeometry", {
1819
- args: [totalOpeningWidthM - 2 * secondDoorStopWidthM, topFrameWidthM, GlassPanelDepthM]
1820
- })
1821
- }), /*#__PURE__*/jsx("mesh", {
1822
- castShadow: true,
1823
- position: [-totalOpeningWidthM / 2 - sidesFrameWidthM / 2 + secondDoorStopWidthM / 2, sideFrameCenterY, leftGlass_Z],
1824
- material: allMaterials.glassInfillMaterial,
1825
- children: /*#__PURE__*/jsx("boxGeometry", {
1826
- args: [sidesFrameWidthM + secondDoorStopWidthM, totalOpeningHeightM + topFrameWidthM, GlassPanelDepthM]
1827
- })
1828
- }), /*#__PURE__*/jsx("mesh", {
1829
- castShadow: true,
1830
- position: [totalOpeningWidthM / 2 + sidesFrameWidthM / 2 - secondDoorStopWidthM / 2, sideFrameCenterY, leftGlass_Z],
1831
- material: allMaterials.glassInfillMaterial,
1832
- children: /*#__PURE__*/jsx("boxGeometry", {
1833
- args: [sidesFrameWidthM + secondDoorStopWidthM, totalOpeningHeightM + topFrameWidthM, GlassPanelDepthM]
1834
- })
1835
- })]
1836
- }), /*#__PURE__*/jsxs("group", {
1837
- children: [/*#__PURE__*/jsx("mesh", {
1838
- castShadow: true,
1839
- position: [0, topFrameCenterY, rightGlass_Z],
1840
- material: allMaterials.glassInfillMaterial,
1841
- children: /*#__PURE__*/jsx("boxGeometry", {
1842
- args: [totalOpeningWidthM, topFrameWidthM, GlassPanelDepthM]
1843
- })
1844
- }), /*#__PURE__*/jsx("mesh", {
1845
- castShadow: true,
1846
- position: [-totalOpeningWidthM / 2 - sidesFrameWidthM / 2, sideFrameCenterY, rightGlass_Z],
1847
- material: allMaterials.glassInfillMaterial,
1848
- children: /*#__PURE__*/jsx("boxGeometry", {
1849
- args: [sidesFrameWidthM, totalOpeningHeightM + topFrameWidthM, GlassPanelDepthM]
1850
- })
1851
- }), /*#__PURE__*/jsx("mesh", {
1852
- castShadow: true,
1853
- position: [totalOpeningWidthM / 2 + sidesFrameWidthM / 2, sideFrameCenterY, rightGlass_Z],
1854
- material: allMaterials.glassInfillMaterial,
1855
- children: /*#__PURE__*/jsx("boxGeometry", {
1856
- args: [sidesFrameWidthM, totalOpeningHeightM + topFrameWidthM, GlassPanelDepthM]
1857
- })
1858
- })]
1859
- })]
1860
1897
  })]
1861
1898
  })]
1862
- }), interiorFanlight.visible && /*#__PURE__*/jsx("mesh", {
1863
- position: [0, interiorFanlightYPosition, doorCenterZ],
1864
- castShadow: true,
1865
- material: allMaterials.interiorFanlightMaterial,
1866
- children: /*#__PURE__*/jsx("boxGeometry", {
1867
- args: [totalOpeningWidthM, interiorFanlightHeightM, doorDepthM]
1868
- })
1869
- }), doorInstances.map(instance => /*#__PURE__*/jsx(DoorLeaf, {
1870
- pivot: instance.pivot,
1871
- xOffset: instance.x,
1872
- materials: allMaterials
1873
- }, instance.key))]
1874
- })]
1875
- }) // CHANGE END: Close the new parent group
1876
- );
1899
+ })]
1900
+ }), interiorFanlight.visible && /*#__PURE__*/jsx("mesh", {
1901
+ position: [0, interiorFanlightYPosition, doorCenterZ],
1902
+ castShadow: true,
1903
+ material: allMaterials.interiorFanlightMaterial,
1904
+ children: /*#__PURE__*/jsx("boxGeometry", {
1905
+ args: [totalOpeningWidthM, interiorFanlightHeightM, doorDepthM]
1906
+ })
1907
+ }), doorInstances.map(instance => /*#__PURE__*/jsx(DoorLeaf, {
1908
+ pivot: instance.pivot,
1909
+ xOffset: instance.x,
1910
+ materials: allMaterials
1911
+ }, instance.key))]
1912
+ })]
1913
+ });
1877
1914
  }
1878
1915
 
1879
1916
  // {
@@ -2247,20 +2284,24 @@ const DoorConfigurator = _ref => {
2247
2284
  is2D = false,
2248
2285
  totalWidth,
2249
2286
  totalHeight,
2250
- frameDepth
2287
+ totalDepth // Destructure the new prop
2251
2288
  } = _ref;
2252
- return /*#__PURE__*/jsx(ConfiguratorProvider, {
2253
- initialIs2D: is2D,
2254
- children: /*#__PURE__*/jsx(DoorModels, {
2255
- doorName: doorName,
2256
- materials: materials,
2257
- doorPivot: doorPivot,
2258
- doorOpening: doorOpening,
2259
- totalWidth: totalWidth,
2260
- totalHeight: totalHeight,
2261
- frameDepth: frameDepth
2289
+ return (
2290
+ /*#__PURE__*/
2291
+ // Pass the totalDepth prop to the Provider
2292
+ jsx(ConfiguratorProvider, {
2293
+ initialIs2D: is2D,
2294
+ totalDepth: totalDepth,
2295
+ children: /*#__PURE__*/jsx(DoorModels, {
2296
+ doorName: doorName,
2297
+ materials: materials,
2298
+ doorPivot: doorPivot,
2299
+ doorOpening: doorOpening,
2300
+ totalWidth: totalWidth,
2301
+ totalHeight: totalHeight
2302
+ })
2262
2303
  })
2263
- });
2304
+ );
2264
2305
  };
2265
2306
 
2266
2307
  export { DoorConfigurator as default, useConfigurator };