Comments (10)
Sure thing. This is best done when you're using the source files so you can take advantage of CSS variables, otherwise you're just writing raw CSS and hardcoding values which is tedious.
This section outlines the concept broadly, but here's a more targeted example:
:root {
--button-flat-bg-color: blue;
--button-flat-bg-color-hover: color(blue, shade(10%));
--button-flat-color: white;
}
.button-flat {
background-color: var(--button-flat-bg-color);
color: var(--button-flat-color);
& :hover {
background-color: var(--button-flat-bg-color-hover);
}
}
In this case, we're defining a handful of variables that the button will use. You could hardcode them, but then you can't use them later on.
You could also tap into any of Shoelace's variables such as input font sizes, button colors, etc. if you like:
.button-flat {
background-color: var(--button-bg-color);
color: var(--button-color);
}
When browser support improves and we can scope variables and use @apply
, extending the library will become even easier.
from shoelace.
@claviska Thanks for that. Is the .button-flat
css above being added to your buttons.css
or to a new file?
from shoelace.
Preferably a new file so you never have to modify a source file.
from shoelace.
@claviska Ok, thanks. It would be helpful to include info about extending shoelace components in the docs in addition to the 'Creating Custom Components' section you already have.
from shoelace.
@claviska Could you quickly walk through steps how to build shoelace from source? I was looking at the instruction but it doesn't seem to be clear.
from shoelace.
The current version needs to be built with cssnext, and the process depends on what build tool(s) you're using. Check out their setup page and click webpack, gulp, etc. for details.
from shoelace.
Gotcha. I am trying to use Shoelace in an Angular app which is set up by using Angular CLI. It seems the build process is handled by Angular CLI with the use of Webpack in the background. I thought having Shoelace installed via npm would be enough to have Angular CLI handled the build. What am I missing? Could you provide some guidance?
from shoelace.
Never used Angular, so I won't be of much help. Sorry!
from shoelace.
No worries! Thanks anyway.
from shoelace.
Closing in prep for the 2.0 release.
from shoelace.
Related Issues (20)
- refactor stopAnimations function
- Input prefix and suffix not displaying in react.
- SlButton Clicks Not Suppressed when in Loading State HOT 3
- Switch doesn't allow setting `aria-describedby` HOT 1
- Update "Form Controls" documentation to be more explicit
- Tooltip has some accessibility/screenreader issues around reading content HOT 1
- Empty radio-group leads to exception HOT 3
- <sl-select> with "muiltiple" only sends a single item to FormData, when more than one is selected. HOT 1
- Close Event force closing other element [ Dialog, dropdown, drawer] HOT 5
- `<sl-rating precision>` sometimes doesn't reset when leaving with the mouse
- `scrollbar-gutter: stable` conflicting with overlayed UI components (e.g. dialog, drawer) HOT 2
- <sl-button type="submit" form="formId"> throws exception when it's unmounted
- sl-remove event cannot be prevented from triggering dropdown HOT 2
- Focus trapping in Firefox + `<sl-select>` do not behave as expected
- Radio Group's `getAllRadios` doesn't support slots HOT 1
- 'sl-select multiple' shrinks and doesn't show full options HOT 6
- When wrapping a `<sl-menu-item>` default slot with HTML, the submenu controller can render inconsistently.
- Form controls submit even when disconnected HOT 8
- Checkboxes won't change checked/unchecked from keyboard HOT 6
- hoist doesn't work with 'contain: paint' HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from shoelace.