@ceed/cds 0.0.85 → 0.0.87

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.
Files changed (2) hide show
  1. package/framer/index.js +40 -37
  2. package/package.json +1 -1
package/framer/index.js CHANGED
@@ -5728,7 +5728,6 @@ var require_createStyled = __commonJS({
5728
5728
  import { ControlType as ControlType28 } from "framer";
5729
5729
  import React184, {
5730
5730
  useEffect as useEffect37,
5731
- useMemo as useMemo38,
5732
5731
  useState as useState29
5733
5732
  } from "react";
5734
5733
 
@@ -44495,51 +44494,55 @@ var withCommonControls = (Component) => {
44495
44494
  }, []);
44496
44495
  };
44497
44496
  };
44498
- var useMediaQuery = (fn2) => {
44499
- const theme = useTheme5();
44500
- const mediaQuery = useMemo38(() => fn2(theme), [fn2, theme]);
44501
- const [matches, setMatches] = useState29(
44502
- () => window.matchMedia(mediaQuery).matches
44503
- );
44497
+ var useElementResizeEffect = (element, callback) => {
44504
44498
  useEffect37(() => {
44505
- const handleResize = () => {
44506
- const matches2 = window.matchMedia(mediaQuery).matches;
44507
- setMatches(matches2);
44508
- };
44509
- window.addEventListener("resize", handleResize);
44510
- handleResize();
44511
- return () => {
44512
- window.removeEventListener("resize", handleResize);
44513
- };
44514
- }, [mediaQuery]);
44499
+ const observer = new ResizeObserver(callback);
44500
+ observer.observe(element);
44501
+ return () => observer.disconnect();
44502
+ }, [element]);
44503
+ };
44504
+ var useResponsive = (breakpoint, rootElement) => {
44505
+ const theme = useTheme5();
44506
+ const point = theme.breakpoints.values[breakpoint];
44507
+ const [matches, setMatches] = useState29(false);
44508
+ useElementResizeEffect(rootElement, () => {
44509
+ setMatches(rootElement.offsetWidth >= point);
44510
+ });
44515
44511
  return matches;
44516
44512
  };
44517
44513
  var ResponsiveEmitter = (props) => {
44518
44514
  const { children, onSmChange, onMdChange, onLgChange, onXlChange } = props;
44519
- const isSm = useMediaQuery((theme) => theme.breakpoints.up("sm"));
44520
- const isMd = useMediaQuery((theme) => theme.breakpoints.up("md"));
44521
- const isLg = useMediaQuery((theme) => theme.breakpoints.up("lg"));
44522
- const isXl = useMediaQuery((theme) => theme.breakpoints.up("xl"));
44523
- useEffect37(() => {
44524
- if (isSm && onSmChange) {
44525
- onSmChange();
44526
- }
44527
- }, [isSm, onSmChange]);
44528
- useEffect37(() => {
44529
- if (isMd && onMdChange) {
44530
- onMdChange();
44531
- }
44532
- }, [isMd, onMdChange]);
44533
- useEffect37(() => {
44534
- if (isLg && onLgChange) {
44535
- onLgChange();
44536
- }
44537
- }, [isLg, onLgChange]);
44515
+ const isSm = useResponsive(
44516
+ "sm",
44517
+ document.querySelector("#canvas-container .groundNodeWrapper > div[id]") || document.body
44518
+ );
44519
+ const isMd = useResponsive(
44520
+ "md",
44521
+ document.querySelector("#canvas-container .groundNodeWrapper > div[id]") || document.body
44522
+ );
44523
+ const isLg = useResponsive(
44524
+ "lg",
44525
+ document.querySelector("#canvas-container .groundNodeWrapper > div[id]") || document.body
44526
+ );
44527
+ const isXl = useResponsive(
44528
+ "xl",
44529
+ document.querySelector("#canvas-container .groundNodeWrapper > div[id]") || document.body
44530
+ );
44538
44531
  useEffect37(() => {
44539
44532
  if (isXl && onXlChange) {
44540
44533
  onXlChange();
44534
+ return;
44535
+ } else if (isLg && onLgChange) {
44536
+ onLgChange();
44537
+ return;
44538
+ } else if (isMd && onMdChange) {
44539
+ onMdChange();
44540
+ return;
44541
+ } else if (isSm && onSmChange) {
44542
+ onSmChange();
44543
+ return;
44541
44544
  }
44542
- }, [isXl, onXlChange]);
44545
+ }, [isSm, isMd, isLg, isXl, onSmChange, onMdChange, onLgChange, onXlChange]);
44543
44546
  return children;
44544
44547
  };
44545
44548
  var responsiveEmitterPropertyControls = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ceed/cds",
3
- "version": "0.0.85",
3
+ "version": "0.0.87",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "type": "module",