Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BUG: Cannot add custom AtRule (@container, @font-face) #5372

Closed
2 tasks done
uncldrw opened this issue Sep 8, 2023 · 0 comments
Closed
2 tasks done

BUG: Cannot add custom AtRule (@container, @font-face) #5372

uncldrw opened this issue Sep 8, 2023 · 0 comments

Comments

@uncldrw
Copy link

uncldrw commented Sep 8, 2023

GrapesJS version

  • I confirm to use the latest version of GrapesJS

What browser are you using?

Windows, Chrome, React

Reproducible demo link

/

Describe the bug

When attempting to add a custom atRules like @container or @font-face, the CSS consistently compiles to @media instead. I have tried various methods, including using Css.setRules and Css.addRules, as well as inserting an HTML string, all to no avail.

This is my given code:

import { useEffect } from "react";
import grapesjs from "grapesjs";
import "grapesjs/dist/css/grapes.min.css";
import "grapesjs/dist/grapes.min.js";
// import { blocks } from "../src/Grape/Blocks";

function WebBuilder() {
  useEffect(() => {
    const editor = grapesjs.init({
      container: "#gjs",
      height: "100vh",
      storageManager: false,
      //   blockManager: {
      //     blocks,
      //   },
    });

    editor.DomComponents.addType("component-css", {
      model: {
        defaults: {
          components: `
            <div class="container-portable"><div class="teaser-paa"><div class="teaser-paa__container"><div class="teaser-paa__wrapper"></div></div></div></div>
            `,
          styles: `
            .gjs-cv-canvas{top:0;width:100%;height:100%}.container-portable{width:100%;container-type:inline-size;container-name:portable}.teaser-paa{color:#262626;width:-webkit-calc(100% - 24px);width:calc(100% - 24px);height:504px;border-radius:9px;max-width:1296px;margin-left:auto;margin-right:auto;overflow:hidden}.teaser-paa__container{position:relative;margin:0 auto;width:100%;height:100%;background-position:50%;background-repeat:no-repeat;background-size:cover}@media (min-width: 768px) { .teaser-paa{ height: 300px } }
            `,
        },
      },
    });

    editor.Css.addRules(
      "@container portable (min-width: 768px) { .teaser-paa{ height: 300px } }"
    );
  }, []);

  return (
    <main>
      <div id="gjs"></div>
    </main>
  );
}
export default WebBuilder;

Code of Conduct

  • I agree to follow this project's Code of Conduct
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant