There are some programmers in the world who makes programming much lovely, sweet and enjoyable You my sir are one of those people Thank you so much
@zyishai2 жыл бұрын
Agree 100%!!!!
@simonswiss2 жыл бұрын
Awwwwe thank you so much 🙏
@nemethricsi2 жыл бұрын
@@simonswiss I wanna echo these compliments. Really awesome tutorial! Can I ask what font are you using in your editor? 🙈 Thank you Simon
@simonswiss2 жыл бұрын
@@nemethricsi Thank you so much! The font is called Dank Mono.
@nemethricsi2 жыл бұрын
@@simonswiss OMG I’m using the same font that’s why it was familiar 😂 But looked even more better in the video. Maybe less font-weight :) Tailwind is awesome! I’m just starting getting familiar with it.
@soviut3032 жыл бұрын
I especially like how you've shown some of the traps (window location vs router, resetting search too early, etc.) and how to avoid them.
@simonswiss2 жыл бұрын
Thanks! Yeah, they let you appreciate the subtle details even more, things you'd take for granted 👍
@soviut3032 жыл бұрын
@June@97 You should post this as a top level comment. Also, you'll have to specify which font you mean; the one on the web page or the one in the text editor?
@eyalch2 жыл бұрын
Small suggestion: In the useEffect's dependencies array you're providing isOpen, which is required because isOpen is indeed being used inside the callback (to get an opposite value). This causes the keydown event listener to be re-created every time the command palette is opened and closed. A nice and easy solution to this is instead of passing the new value directly to setIsOpen we can pass a callback which accepts the current value and returns a new one, then we can remove isOpen from the dependencies array. Thank you for producing such high quality content!
@simonswiss2 жыл бұрын
That's a great tip, thank you!
@xadden2 жыл бұрын
Code wise, I believe Exo means instead of using setIsOpen(!isOpen), use setIsOpen(value => !value)
@eyalch2 жыл бұрын
@@xadden Exactly!
@som.shekhar2 жыл бұрын
Firstly, I don't think so recreating the function has any significant performance impact at all. Secondly, even if you pass a callback to `setIsOpen` you would now be recreating the callback function `(isOpen) => !isOpen` on every toggle -- which is a little less obvious, but true. So, essentially you're swapping in creation of one function for the other. Let me know your thoughts on this.
@eyalch2 жыл бұрын
@@som.shekhar It's not only the function that gets re-created, but the event listener itself (together with the handler function)
@BarisPalabiyik2 жыл бұрын
Can't believe I just watch the whole thing, even tho I knew most of the things in it. That's says a lot about the pace and presentation.
@simonswiss2 жыл бұрын
Thank you so much! Yeah I really try to respect everyone's time, even in longer form video like this one.
@YazinS2 жыл бұрын
The difference with Tailwind videos is obvious. These guys aren't just building cool stuff.. they're having fun! Love these videos
@iamnwanguma2 жыл бұрын
Tailwind makes frontend and styling beautiful for me
@Syndeer2 жыл бұрын
@@iamnwanguma Yeah I absolutely agree with you Tailwind css is so much fun and easier
@fabhi2 жыл бұрын
CSS instructors are the most fun to watch!
@hazemturki2 жыл бұрын
Lost my mind trying to get a combobox to work using listbox, so glad to this happened. I coincidentally landed on headless ui home page. And saw it, and that made me so happy. Thanks for all the work!
@hot4mix2 жыл бұрын
Genuinly impressive flow. i will watch you code anything. literally anything xD
@simonswiss2 жыл бұрын
Thank you!
@JimOHalloran2 жыл бұрын
Wow, that was a ride! I built a select box with a search field on the drop down (Vue + Headless UI) a while ago, but I was never 100% happy with it. I think it's time to rebuild using the new combo box components!
@simonswiss2 жыл бұрын
Haha nice, let us know how you go!
@somerandomchannel3822 жыл бұрын
Another great design idea of a ComboBox is ofcourse Tailwind's Search in Documentation . It's really flexible and handy to find any classes you want know the tailwind prefix for :)
@juraso73122 жыл бұрын
tailwindcss search in documentation is build with algolia not combobox, search on tailwindui documentation is build with combobox
@gomflo2 жыл бұрын
Really amazing work, the subtle details, the production, how you explain, very well done.
@simonswiss2 жыл бұрын
Thank you! It really is a team effort 👍
@sumitsharma_0022 жыл бұрын
Thank you it was really informative. @headlessui is such a cool library component to have in your projects.
@code.design Жыл бұрын
this tutorial is something else. I came for tailwind and learned as a bonus about nextjs. Awesome stuff!
@nguimeyabill-gates25772 жыл бұрын
I was actually stuck implementing a search component, he just answered my questions. Thanks a lot!
@liferc Жыл бұрын
Damn man! This is way too good. Please make video with other headless components it would be a lot better learning from you
@dingen6362 жыл бұрын
Top quality video as always! I know Tailwind is ment for implementation with JS frameworks but would be amazing to have documentation on how to use Tailwind in a Wordpress theme. Thanks for all the hard work!
@dexter-wy5bo2 жыл бұрын
This video should give you everything you need for that. It's possible and not hard at all, the only difference is you have to build/compile your tailwind css before pushing to the site, packaging the theme, etc... kzbin.info/www/bejne/pXiZiYOvZtlkgaM
@lukasmolcic51432 жыл бұрын
If you are building a custom theme from scratch I would recommend setting up twig or some other templating language so that you can build components, working with tailwind without components is not that great, I used to use the timber plugin to achieve that, but these days we are usually going for headless wp + next for cms based websites.
@simonswiss2 жыл бұрын
Tailwind is definitely not limited or meant purely for implementation with JS frameworks! You could argue in fact that since it generates "just CSS", it works really well with WordPress, .NET, anything really. Headless UI, on the other hand, is definitely a JS framework implementation.
@AliMoeeny2 жыл бұрын
Isn't this just pure gold, thank you very much.
@alirezakiani12222 жыл бұрын
It was great. I always use your tutorials. Thank you for being
@StayFlyJW2 жыл бұрын
You, sir, are a dev that I need to learn under. Your design and teaching style is wonderful. Also, we need workflow… gotta replace ClickUp pronto.
@NamasteProgramming2 жыл бұрын
This tutorial so good, I didn't even notice light theme IDE
@Billiam1122 жыл бұрын
Fantastic content! More in headless ui would be highly appreciated! ❤️
@robotyang85012 жыл бұрын
love headless UI from now on.
@josegmdev2 жыл бұрын
Amazing video as always! you do an awesome job with this channel 🙌🏼
@simonswiss2 жыл бұрын
🙏
@aghileslounis2 жыл бұрын
Amazing video as always, so inspiring to do great work
@octavian07042 жыл бұрын
Amazing mate !!! really well done and nicely explained. Thanks for sharing.
@amankumarverma849410 ай бұрын
So good 💯
@universecode11012 жыл бұрын
Awesome man 🚀 These three together 🔥 Tailwind is a game changer, thanks ✌🏻
@stephan31992 жыл бұрын
Thanks so much! You really inspire me to be as good as you in the future
@esdev2 жыл бұрын
Simon, You're just Aweeeeesome 🤩🥰
@sergeitinc2 жыл бұрын
It's just some gift for us. Thank you so much.
@danvilela Жыл бұрын
I wanna like this video a thousand times!!
@simonswiss Жыл бұрын
One time will do - I appreciate the support!
@GrahamBillington2 жыл бұрын
These videos are awesome, they help with learning react too
@hudson_w2 жыл бұрын
You're amazing. This is so cool. Keep having fun and inspiring others
@eminalizade89982 жыл бұрын
Loving TailwindCSS, keep up the good work! 😍
@adityakadam22562 жыл бұрын
It is such an amazing video. It makes me try it out by myself. Thanks a ton.
@irsyadadl2 жыл бұрын
Nice & Thank you Simon.
@endernator2 жыл бұрын
soooo goooooooodddd.... please more ui with nextjs and headlessui.... it is a match made in heaven by the nerd gods 😇🤓
@__sr__2 жыл бұрын
Excellent video as always.
@s4ndeep12032 жыл бұрын
That didn't feel like 38 minutes ! loved it
@MasterPloKoon2 жыл бұрын
Would love to see a Vue tutorial next time when using Headless UI (:
@catreunion2 жыл бұрын
Thank you Simon!
@Pixalynx2 жыл бұрын
I would buy a react course from you !
@dexter-wy5bo2 жыл бұрын
excellent video, as always !
@vOnez2122 жыл бұрын
Great stuff!
@jasonhoi852 жыл бұрын
Great tutorial, i will use the same toolbox to make my command panel
@codingwithtien2 жыл бұрын
Super useful tutorial.
@hiimaustin2 жыл бұрын
I don’t know that you will see my comment or not but that you so much😍❤️ This is help me a lot🙏🏻❤️
@simonswiss Жыл бұрын
I see your comment today! Glad you enjoyed, the video, Austin 🙏
@hiimaustin Жыл бұрын
@@simonswiss yess man! I love it
@tofustew2 жыл бұрын
Another suggestion - omit the `text-sm` classname on the input field to avoid auto-zoom for iPhone users (Android, too, maybe?). Mobile Safari zooms in on input fields with text smaller than 16 px (and `text-sm` produces 14px text). Anyway, awesome video!
@trenom2 жыл бұрын
good stuff learned so much from this video xD
@sargeantscigar Жыл бұрын
Fantastic video, learned a lot! How can I implement your 🤙 terminal? It’s great!
@jasonji11522 жыл бұрын
Can someone explain why `relative` fixed the stacking issue at 7:25? Thx
@simonswiss2 жыл бұрын
There are many CSS classes that create a new "stacking context", which is necessary here to stack the modal window above the "fixed" element. position:relative happens to be one of those. Super confusing for sure, but here's a good read: developer.mozilla.org/en-US/docs/Web/CSS/CSS_Positioning/Understanding_z_index/The_stacking_context
@simonswiss2 жыл бұрын
Arguably I could/should have used the "isolate" utility class here - since its intent it to create a new stacking context. But that also confuses a lot of folks 😅
@endernator2 жыл бұрын
mindblowingly good 🤯👏🏼
@WidianDAlbie2 жыл бұрын
Thank you sir for amazing video
@davidluhr2 жыл бұрын
Another great guide Simon! Small suggestion: the combobox option markup can be a NextJS `` component with an `` tag for native navigation instead of `useRouter`. If I'm not mistaken, this will also take care of closing the Dialog on a route change.
@simonswiss2 жыл бұрын
Ah, nice one! I think it was still good to show the "onChange" prop on the Combobox component for general purposes, but for this specific scenario your solution sounds pretty elegant if it indeed closes the Dialog in the route change process 👍
@amanueltigistu82682 жыл бұрын
What a great way of Building UI. Headless UI is really fantastic. But the framework support is limited to react & vue. There are really good framework like solid-js & svelte. Is there anything work to make Headless UI available for framework other than vue & react? One thing that I recommend is to make the core package separated from the framework implementations. In these way we can make Headless UI available for all of Us. Thanks.
@jameswong33882 жыл бұрын
Hi anyone know how to do the navigation on vuejs3, tried @change="window.location.href..." but doesn't work
@InfinityFnatic2 жыл бұрын
What is the cursive font and how to set it up? Thank you!
@craftsmanhafeez2 жыл бұрын
does the combobox.button component mentioned in the headless ui docs have any special functionality. Can i wrap the combobox.input and combobox.button components in a form tag and use it like a normal searchbox for an ecommerce site with the combobox.options component giving the user search suggestions as he types?
@pkgoncalves2 жыл бұрын
Nice work!
@webdev19432 жыл бұрын
nice way to explain , thank you
@yagorodi Жыл бұрын
Amazing 👏
@matheuscabral44022 жыл бұрын
Great video!!! Any idea on how to prefetch on option selection?
@Ms37maracaibo Жыл бұрын
Awesome! Could you make a command pallette using Nuxt 3 Tailwind and latest Headless UI ? Thanks !!!
@abacuswithrehan2642 жыл бұрын
Hello Loved the video. Can you share your current video font , theme and vscode settings please don't ignore, please 🙏
@AndersonSousa332 жыл бұрын
What a video!
@perfect.stealth6 ай бұрын
I can fall asleep to this
@marbot97802 жыл бұрын
Good Morning - thank you for the great video! Where can I download the Start and End environments? Greetings Markus
@vilijanmonev8962 жыл бұрын
Great video as always! Thank you very much, your skills are impressive. I have one question, in the Combox.Input I believe it is a common practice to perform the filter once the user has stopped typing or some amount of milliseconds has passed in order not to create computational overheat. Is there is a way to achieve something like this?
@chbb90272 жыл бұрын
What is that font in VSCode?
@praveenprasad94772 жыл бұрын
Anyone know which app this "workflow"??
@robrechtmeersman83012 жыл бұрын
You'll want to stop propagation on your keydown event, because Ctrl+K is a reserved shortcut in Chrome on Windows.
@axelv212 жыл бұрын
wow, instant rebuilding my autocomplete with this! Goodby downshift.
@adarshdesai308110 ай бұрын
could you guys share the source code got the project management app?
@austintoddj2 жыл бұрын
Love the video. Having a tough time translating the “custom keyboard shortcut” to a Vue app. Do you have any examples or links that might offer some insight into the specific keyboard event handling?
@kashnigahbaruda2 жыл бұрын
MORE PLEASE
@VinceKronlein2 жыл бұрын
This is so great, thanks Simon. I know it's a long shot, but any chance we can get a tutorial of this in Vue without Headless UI? My clients are not yet using Vue 3 so we're not able to use Headless UI yet. Either way, thanks for the great video.
@QuangAkita2 жыл бұрын
Could you please let me know font for code editor in this video!
@tuscala2 жыл бұрын
What is your VS Code theme? It's beautiful
@clemensheithecker2 жыл бұрын
Thanks for the great video Simon! What theme and font are you using? It makes it easy to read and follow your code.
@simonswiss2 жыл бұрын
I usually use Night Owl + Dank Mono. This one uses Night Owl *Light* + Dank Mono ✨
@kevingrondin9742 жыл бұрын
Thanks it’s very cool 👍
@msnxcrj Жыл бұрын
I would like to know the vs code font he is using. I really love those!
@msnxcrj Жыл бұрын
I figured it out, its "dank mono font"
@simonswiss Жыл бұрын
That's the one!@@msnxcrj
@vojica60552 жыл бұрын
Can someone help me, how to config file if my design is like this: i need on large desktop 1920px 1080 a container which is 1440grid width, can you help me how to edit that container is 1440 width and not 1526px (2xl) thanks a lot :)
@kashnigahbaruda2 жыл бұрын
Add multiple prop to SelectHeadlessUI component please!
@yazugaming55732 жыл бұрын
which font of your IDE use?
@rafaeljuniorize2 жыл бұрын
🤩🥺 Beautiful
@abdiafrah49072 жыл бұрын
Great content!!!! But one question, who uses white theme on code editor looool
@simonswiss2 жыл бұрын
I do, sometimes 😅
@milon272 жыл бұрын
please create a headless ui playlist
@panomojame62792 жыл бұрын
What is wrong with your non-italics lowercase F?!
@DanStroot2 жыл бұрын
In desktop Safari, if I use command+k to open and close the search bar the screen scrolls to the bottom after I close the modal. Doesn't happen in Chrome or Firefox. Anyone seeing this? Any ideas?
@DanStroot2 жыл бұрын
Dialog model works fine, no issues. Put a Combobox in the model, no problem. The Combobox.Input seems to be the culprit. If that is inside the modal and you close with keyboard the page scrolls to the bottom on Safari. If I comment the Input out the page does not scroll.
@DanStroot2 жыл бұрын
import { useState, useEffect } from 'react'; import { Dialog, Combobox } from '@headlessui/react'; export function Test() { let [isOpen, setIsOpen] = useState(false); /* Handle Keyboard Input */ useEffect(() => { function handleKeyDown(event) { event.preventDefault(); event.stopPropagation(); /* e key for error - ha! */ if (event.key === 'e' && (event.ctrlKey || event.metaKey)) { setIsOpen((value) => !value); } } window.addEventListener('keydown', handleKeyDown); return () => { window.removeEventListener('keydown', handleKeyDown); }; }, []); /* minimal code to reproduce the issue */ return ( setIsOpen(false)} className='fixed top-0 z-10'> Hello {/* comment this out to see it work properly */} ); }
@bassman2145 Жыл бұрын
Does anyone know what font is being used in the code editor?
@simonswiss Жыл бұрын
I rock with Dank Mono in this video 👍
@SaeedNeamati2 жыл бұрын
first liked, then watched
@AlonGvili2 жыл бұрын
I really like your code flow, feel good, btw can you show some demos using Remix.run framework instead of NEXT ?;
@simonswiss2 жыл бұрын
Haha this is definitely something I want to do and will do 💫
@joshuagalit69362 жыл бұрын
The best !!
@jimmyj.67922 жыл бұрын
Tailwind world 😍😍😍😍 💕💕
@imsarvesh_2 жыл бұрын
I am speechless 😶
@simonswiss2 жыл бұрын
Lucky you can use the command palette to do a search instead of talking to Siri/Google/Alexa 🤣
@abobakerhilal41382 жыл бұрын
What is type font it used in vscode? Its nice
@simonswiss2 жыл бұрын
Dank Mono
@LuisPerez-cb4rp2 жыл бұрын
Thank you 🙏
@RomeoKhazalia2 жыл бұрын
Do similar thing with Vue pls.
@johnrothfield61262 жыл бұрын
What about non-react.js users? alpine, stimulus, etc?