Skip to content

Releases: jmjuanes/siimple

v4.4.0

02 Nov 19:06
v4.4.0
bf2c814

Choose a tag to compare

What's Changed

  • ci: fix versions in all workflows by @jmjuanes in #206
  • chore: change documentation site url by @jmjuanes in #207
  • feat(modules): add gap helpers by @jmjuanes in #208
  • chore: add release script and reset versions in all package.json files by @jmjuanes in #209
  • ci: add release step and rename publish workflow to release by @jmjuanes in #210
  • ci: add publish-packages script by @jmjuanes in #211

Full Changelog: v4.3.1...v4.4.0

v4.3.1 (2022-10-12)

12 Oct 11:39
97f3a0d

Choose a tag to compare

🐛 Bug fixes

  • Fixed bug in CLI tool running on Windows (#192).
  • Added missing "exports" entry to package.json in all packages (b29bf44)

📚 Documentation

  • Fixed typo in fonts scale in some configurations examples (#191).

v4.3.0 (2022-09-18)

17 Sep 23:12
3443f2c

Choose a tag to compare

🌚 Introducing Color Modes

Color modes makes it easy to change the color mode of your website, including support for dark and light modes. Color modes are enabled with the useColorModes flag and providing a map with the colors for each color mode in the colorModes field of your configuration:

import colors from "@siimple/colors";

export default {
    useColorModes: true,
    colors: {
        text: colors.gray["700"],
        background: "#fff",
        primary: colors.blue["500"],
        // ...other colors
    },
    colorModes: {
        dark: {
            text: "#fff",
            background: colors.gray["800"],
        },
        // ...other color modes
    },
    // ...other configuration
};

Color modes documentation: https://www.siimple.xyz/color-modes.

⚙️ Automatically generate variants modifiers

In 4.3.0 some elements will generate additional variant modifiers based in the mixins that you specify in your configuration. For example, buttons will generate one additional variant for each item defined in the buttons field of your configuration.

As an example, the following buttons configuration:

export default {
    buttons: {
        default: {
            color: "white",
        },
        outlined: {
            borderColor: "primary",
            borderStyle: "solid",
            borderWidth: "2px",
        },
        full: {
            textAlign: "center",
            width: "100%",
        },
    },
};

Will generate the following CSS:

.button {
    /* Default button styles plus defined in buttons.default */
}
.button.is-outlined {
    /* Styles defined in buttons.outlined */
}
.button.is-full {
    /* Styles defined in buttons.full */
}

Note that the default variant will will be automatically applied to the base element styles instead of generating an additional .is-default modifier.

✨ Build siimple directly in your browser (experimental)

We introduce a new way to build siimple directly from your browser without any additional setup, using our new @siimple/standalone package: just include the following script tag in your HTML file:

<script type="module" src="https://esm.sh/@siimple/standalone"></script>

And provide your siimple configuration in a <script type="text/siimple"> tag:

<script type="text/siimple">
    export default {
        // ...your configuration
    };
</script>

Read more about the @siimple/standalone package here: https://www.siimple.xyz/packages/standalone

🎨 New icons

We have added 55 new icons to siimple-icons: https://www.siimple.xyz/icons.

💅 New presets

We have added three new presets in 4.3.0:

♻️ Deprecations

  • We have deprecated some elements and moved them to the markup module.
    • divider element: use <hr> instead.
    • paragraph element: use <p> instead.
    • table element: use <table> instead.
    • title element: use headings instead (<h1>, <h2>, ...).
  • The PostCSS plugin in siimple/postcss.cjs has been deprecated: migrate to the new plugin in @siimple/postcss package.
  • The @siimple/styled package has been renamed as @siimple/css.

v4.2.3

16 Aug 11:45
98e0716

Choose a tag to compare

🐛 Bug fixes

  • Fixed minor bug applying mixins (f9ccc1f).

📚 Documentation

  • Improved mixins documentation (412bd39).
  • Fix feature request template (96685a2).

v4.2.2

15 Aug 09:10
c296c0a

Choose a tag to compare

🐛 Bug fixes

  • Fixed missing selectors in checkbox element (bafbd7c).

v4.2.1

15 Aug 00:15
7127ec5

Choose a tag to compare

🚀 Improvements

  • Allow providing a list of mixins to the apply rule (157dda8).

🐛 Bug fixes

  • Fixed important option in createHelper utility of @siimple/modules (ed768f9).
  • Fixed lead variant of paragraph element (17d23e2).

📚 Documentation

  • Fixed typo in the documentation page of the text center helper (4189d6c).
  • Added link to v3 documentation site in README (3f548a1).

v4.2.0

07 Aug 10:24
479c3cf

Choose a tag to compare

🎉 New dropdown element added to siimple

You can now create dropdowns with siimple using the dropdown class and the with-dropdown modifier:

<div class="is-inlie-block with-dropdown">
    <button class="button is-flex has-items-center has-pr-4">Dropdown</button>
    <div class="dropdown">
        <a class="navlink">Action</a>
        <a class="navlink is-active has-bg-highlight">Another action</a>
    </div>
</div>

Documentation: https://www.siimple.xyz/docs/elements/dropdown

🧰 Added integration with PostCSS

Now you can integrate siimple in your PostCSS build process. In your postcss.config.js, include the plugin of siimple for PostCSS with the path to your siimple.config.js:

const autoprefixer = require("autoprefixer");
const siimple = require("siimple/postcss.cjs");

module.exports = {
    plugins: [
        siimple("./siimple.config.js"),
        autoprefixer(),
        // other plugins
    ],
};

🔧 Simplified helpers and improved base preset

We have simplified our helpers, so for example you can just apply rounded corners to your element using is-rounded modifier instead of using has-radius-md. In case that you need to restore the previous helpers (or add news), we have added a new function called createHelper to the @siimple/modules package for generating helpers styles in your configuration (see https://www.siimple.xyz/docs/packages/modules):

import {createHelper} from "@siimple/modules";

export default {
    // ...other configuration
    styles: {
        ...createHelper({
            prefix: "is",
            states: ["default"],
            responsive: false,
            properties: ["textDecoration"],
            values: {
                "underlined": "underline",
                "not-underlined": ["none", "!important"],
            },
        }),
        // ...other styles
    },
};

Also, we have removed some sizes and spaces values from the base preset to keep it as small as possible.

⛄ New Ice preset

We have added a new preset for siimple based on Nord Theme. You can explore this preset on https://www.siimple.xyz/docs/presets/ice

✨ New examples section

We have moved all recipes to a new Examples section: https://www.siimple.xyz/examples

v4.1.0

06 Jul 17:30

Choose a tag to compare

🚀 New modules field

We have added a new modules field in the configuration to configure the core modules (elements, helpers, markup and reset) that will be added to the output CSS. Now you do not need to import core presets: all are included by default in siimple and can be configured using this new field.

You can exclude the modules that you do not need for your project by providing an object where the key is the module name and the value is false if you want to skip it:

export default {
    modules: {
        button: false,
        title: false,
        margin: false,
        reset: false,
    },
    // ...other configuration
};

You can include only some specific modules providing an array with the modules names to include:

export default {
    modules: ["button", "margin", "padding"],
    // ...other configuration
};

You can disable all modules providing an empty array or a false value:

export default {
    modules: [],
    // ...other configuration
};

Also, the @siimple/preset-elements, @siimple/preset-helpers, @siimple/preset-markup, and @siimple/preset-reboot packages have been deprecated and merged into a single @siimple/modules package.

🚀 New siimple-icons package

We have deprecated the @siimple/preset-icons package and added a standalone siimple-icons package with new and redesigned pure CSS icons. You can now include the CSS provided in this package for displaying icons in your website or application:

<i class="si-home" style="color:blue;font-size:23px"></i>

You can explore the new icons and check the installation and usage guides at https://www.siimple.xyz/icons.

📚 Documentation improvements

We have made some improvements in the documentation website:

✨ Other improvements

  • The @siimple/preset-theme package has been renamed as @siimple/preset-base (bdc0948).
  • We have improved the structure of the website folder (#166).
  • Some fixes in recipes (#163).

v4.0.2

17 Jun 23:00

Choose a tag to compare

🚀 New features

  • Add default 1px size value to all sizing and spacing helpers (9ad8fde).

🐛 Bug fixes

  • Fixed missing hover state in opacity helpers (d6b7f94).

🏡 Chore

  • Fix workflow for publishing website on release (931d51a).
  • Update website dependencies (afaf53b).

v4.0.1

01 Jun 23:03

Choose a tag to compare

🐛 Bug fixes

  • Fixed missing is-disabled modifier in button element (1473529).

📚 Documentation

  • Minor website improvements (#161).
  • Fixed a typo and add disabled button example (cbec397).

🏡 Chore

  • Fixed internal workflows for publishing packages (d9c2824).
  • Moved all utilities for generating icons to @siimple/preset-icons/utils.js (e41bc3a).