Use IceStack to build your CSS UI #12697
sonofmagic
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Use IceStack to build your CSS UI
@icestack/uiI love
tailwindcssand use it frequently. I also likedaisyuivery much. Using these for development saves me a lot of effort.However, I encountered some scenarios in the project where I needed to deeply customize the
Css UIcomponent. At this time,daisyuicould not solve my problem for the time being.So I came up with some ideas and wrote
icestackinspired bytailwindcssanddaisyuiThis is a
Css UIframework generation and management tool. Through it, you can easily extend the style, and you can also easily build your ownCss UIfrom scratch and combine it withtailwindcss. use!Let's see how to use it!
Install
@icestack/ui# yarn | pmpm npm install -D @icestack/ui @icestack/tailwindcss@icestack/uiwill be downloaded and installed locally, and a commandicestackwill be registeredInitialization configuration file
After installing
@icestack/ui, execute:This command will generate an
icestack.config.cjsfile in the current execution directory. The default content is as follows:Build style
This command reads the configuration and builds the product in the
'./my-ui'directory under the current configuration file. Then you can directly import thesecssandjsfiles, but giving them totailwindcssis more convenient to use.Used as tailwindcss plugin
Register the
icestackPluginplugin intailwind.config.jsand pass aloadDirectoryparameter to locate the location where the product was just generated:Then as long as we run the project normally, we can directly use all the
CSScomponents in themy-uidirectory!Default preset
By default, a set of
@icestack/preset-defaultforCsscomponents is built into@icestack/ui, which absorbs the excellent writing style ofdaisyuiand remains consistent in many places.At the same time, you can use configuration items to extend and override its original style, see override
If you want to build your own
UIframework from 0 to 1, you can setmodetononeinicestack.config.cjs, and@icestack/presetwill not be loaded at this time.Start from scratch
Build button component
We can select our favorite
buttoncomponent from the component library list of the project awesome-tailwindcss. Itshtmlis as followsComponent style refinement
Then we start to refine
htmland extract its styles:Convert the original long-passed
classinto@apply, and wrap it in the selector.btn, then convert the last animateddivelement into a pseudo-element, and modify the style.Write configuration file
Then after executing
icestack build,.btnwill be successfully loaded bytailwindcss plugin. You can write like this:Add more colors
For example, if we have requirements, the default is
bg-blue-600 focus:ring-blue-300But what should we do if we can pass in red, yellow, and other colors?
After making the changes, execute
npx icestack buildto build. After completion, you can use it directly:Add more sizes
If we want to add more dimensions to this
buttoncomponent, we can set it like this:Then build it and you can use it directly:
More
You must have noticed that the
schemamethod has multiple parameters:selectoris the selectortypesis the automatically generated color name in thebaseoptionparamsis the incoming parameter, which can render different performances of the component according to different parameters.We can render different
Cssstyle codes based on different parameters.Of course, you can also find more examples and usage on the
icestackofficial website.Everyone is welcome to try it!
Beta Was this translation helpful? Give feedback.
All reactions