v0.6.4
This release is packed with quality-of-life improvements and critical bug fixes designed to streamline your workflow and polish the user and development experience!
Shorthand Syntax Update
To prevent browsers from natively splitting classes by spaces (which often resulted in “garbage” classes), we have replaced the quote-system with underscores:
| Old Syntax | New Syntax |
|---|---|
class="[m]='calc(var(--spacing) * 2)'" | class="[m]=calc(var(--spacing)_*_2)" |
Other Improvements
z-not-ready and z-ready classes to help developers eliminate Cumulative Layout Shift (CLS) and ensure smoother page loads. If you choose to migrate, make sure to include the z-not-ready class in your <head> tag.class="[writing-mode]={vertical-lr}". Learn more here.color=pink-500. Learn more here.m=4px → [m]=4px). Learn more here.calc() output.v0.5.4
display classes (e.g. block:hover), the naming convention has been updated to include a display- prefix. This change ensures better consistency and alignment with our prebundled CSS.| Old | New |
|---|---|
block | display-block |
inline-block | display-inline-block |
inline | display-inline |
flex | display-flex |
inline-flex | display-inline-flex |
table | display-table |
inline-table | display-inline-table |
table-caption | display-table-caption |
table-cell | display-table-cell |
table-column | display-table-column |
table-column-group | display-table-column-group |
table-footer-group | display-table-footer-group |
table-header-group | display-table-header-group |
table-row-group | display-table-row-group |
table-row | display-table-row |
flow-root | display-flow-root |
grid | display-grid |
inline-grid | display-inline-grid |
contents | display-contents |
list-item | display-list-item |
hidden | display-hidden |
:focus-visible to available states for better accessibility styling.::before and ::after pseudo-elements.0.5.1 and later, it includes comprehensive reports for any unsupported complex classes that require manual porting.v0.4.6
pattern attribute from z-input-pin — triggered native browser validation UI instead of custom handling.v0.4.5
Welcome to 0build.
Rebranding… again
We have outgrown our own skin! Franken UI and Frankenstyle no longer reflect what this project does, as it now has its own ecosystem. Frankenstyle should have been the final name, but right after its release, npm suffered another major attack (Team PCP). Hence:
Cutting off NPM
We’re moving away from npm and becoming 100% CDN-based — hence the new name. For the last few months, Microsoft has kept changing the goalposts, forcing mandatory 2FA and expiring tokens. Publishing is no longer as simple as running npm publish. It’s a nightmare for a solo maintainer.
GitHub… again
We tried to distance ourselves from Microsoft’s claws by moving to Codeberg. However, we learned that we can still publish directly to jsdelivr using GitHub. So, we’re going back.
Clean Break
We will leave the old repositories and websites as they are, with the exception of redirecting https://franken.style to the new home at https://038.0build.dev.
You are not forced to update. FrankenstyleKit will continue to work! However, upgrading from v0.3.8 is fully possible if you are not relying on Tailwind CSS for your utility classes. Here’s how to migrate:
uk-* with z-*dropdown: w-full with dropdown: z-dropdown w-fullUIkit with zUIkitFS with zRuntimeLucide with zLucideApexCharts with zApexChartsBecause UIkit follows a different update cycle, it has been moved out of the core.iife.js and now has its own binary—please include it somewhere in your HTML document.
<script src="https://cdn.jsdelivr.net/gh/0builddotdev/[email protected]/dist/js/uikit.min.js"></script>Remove drop="" option from z-select and z-input-date components. They will not work anymore. You can manually add z-dropdown class as stated above.
Because of changes in dropdown mechanics, a minor bug created a z-index issue. To fix this, you can either create a custom class with a z-index and apply it to the dropdown part via cls="dropdown: custom-class", or you can set it using the stl attribute like so: stl="dropdown: z-index\: 1020". Here’s the correct implementation:
<z-select
cls="button: z-input-fake justify-between w-full; dropdown: z-dropdown w-full"
stl="dropdown: z-index\: 1020"
>
<!-- ... -->
</z-select>The same treatment for your z-input-date components:
<z-input-date
cls="z-input-fake justify-between"
stl="dropdown: z-index\: 1020"
></z-input-date>The uk-command component is also remove. It will be replace with a better component in the future release.