We have the design tokens, so that based on the design tokens, you'll be able to customize it. It is quite, let's say, well-specified. But if you like something which we call freestyle, then you go unstyled, you use something like Tailwind. There's no API to learn, really strict API, and you can just use whatever Tailwind class on those components, and you can just style them the way you like it.
So styled mode is this one. We have a couple of themes, but Aura is the latest one. And our design team has spent a lot of time to create this professional-looking template. And it has different modes, different... You can easily customize the colors, all the colors and surfaces, the borders, everything. The focus visuals and majority of the parts, the shadows are available to be customized so that you can tweak it for your own needs.
And if you need something looking nice out of the box, then the probable styled mode is for you. And unstyled mode is implemented in a way that Vue.js allowed us to do it very easily. So in a regular library, you have the components. They render some specific CSS classes like P something, like in this case, PInputText. And if you set it unstyled to true globally, or you can also use it on a certain component, those CSS selectors are not rendered to the DOM, which means they will lose their style. And you can also do it with the unstyled property so that you can choose a certain component to be unstyled. So unstyled means that it's functional, fully functional, accessibility is there, but when you run it, you will see a transparent look. It won't be really attractive. So that means you have to style it somehow.
In that case, the magical, the pass-through properties, the pass-through attributes come in. So usually this is something we've seen from the community after developing these libraries for years. So some users prefer nice looking components out of the box, but some users really need to customize them. For those, these are like black box components, right? You just add the tag name and you interact, but they include a lot of DOM elements. In this case, you would like to access to the component internals. You can use these pass-through attributes. So for example, this drop-down has a lot of DOM elements, like lists, panel, the close icon and so on. So you can easily customize them and access them. You can add classes, you can add any attributes to DOM, like test IDs or something. For example, this drop-down has a root item and clear icon. You can add events and everything, and you can use it locally for a specific component, or you can use it globally for all drop-downs.
Comments