Creating a Flexible Astro Component

Поделиться
HTML-код
  • Опубликовано: 15 дек 2024

Комментарии • 47

  • @mattythebatty1
    @mattythebatty1 Год назад +4

    🎯 Key Takeaways for quick navigation:
    00:00 🌟 Astro combines static HTML simplicity with dynamic flexibility.
    03:33 🧩 Astro components allow prop customization and reusability.
    08:17 🎨 Use slots for content in Astro components.
    13:08 🔄 Dynamically add classes with `classlist` in Astro.
    15:57 📜 Spread HTML attributes using `...rest` for flexibility.
    17:50 🎨 Define variables in front matter for dynamic CSS in Astro.
    19:41 🧩 Pass CSS variables with the `Define vars` feature.
    20:21 📐 Set default styles with CSS variables for theme-based adaptability.
    22:38 📏 Use relative units like `em` for dynamic padding.
    23:36 🖱️ Add interactivity to Astro components with JavaScript.
    32:12 🚀 Enhance Astro components with TypeScript for auto-completion and type safety.
    Made with HARPA AI

  • @myntsu
    @myntsu Год назад +7

    You're teaching me so much about Astro. You inspire me to help others as well. Keep them coming!

    • @CodinginPublic
      @CodinginPublic  Год назад +2

      So glad you’ve enjoyed the content! More coming next week!!

  • @ericmcgray6464
    @ericmcgray6464 24 дня назад

    Still very useful for a newbie like me i use to change the HTMLAttributes to HTMLAttributes to make it work

  • @phucnguyen0110
    @phucnguyen0110 Год назад +2

    Yes, there we go! Lovely to see another developer tackling this subject :D
    (Shoutout to Mr. Kevin Powell aka The CSS King)

    • @CodinginPublic
      @CodinginPublic  Год назад

      Glad you enjoyed it! Did Kevin do something on an Astro button?

    • @phucnguyen0110
      @phucnguyen0110 Год назад

      @@CodinginPublic he basically did a video exploring components in Astro, Chris. Not buttons specifically => watch?v=acgIGT0J99U

  • @toppirl
    @toppirl Год назад +4

    Really starting to enjoy learning Astro and only got started because of your videos! Thanks for the great video as always

    • @CodinginPublic
      @CodinginPublic  Год назад +1

      That’s so encouraging to hear! Thanks for taking the time to comment!

  • @hamza201183
    @hamza201183 Год назад +1

    Many thanks!
    Is there a way to encapsulate the 'onClick' logic inside the button? Instead of a query-selector and a script tag outside of the button...

    • @CodinginPublic
      @CodinginPublic  Год назад

      It's possible, but I've found it's cleaner to have in-line scripts for these items. I've changed my pattern here for components. I'd definitely use a slot these days. In that case, you could fairly easily have a slot for a script that could run whatever function you needed. Hopefully that makes sense?

    • @dharyelsantoshonorio5890
      @dharyelsantoshonorio5890 10 месяцев назад +1

      @@CodinginPublic can you detail more how to do it?

  • @BG-xu8be
    @BG-xu8be Год назад +1

    Amazing stuff, a real master class tutorial, thank you!

  • @lvekua
    @lvekua Год назад

    Awesome guide Chris! Typescript was cherry on top. Thank you! ❤

    • @CodinginPublic
      @CodinginPublic  Год назад

      Glad it was a help! Thanks for taking the time to say something!

  • @MarcKronberg
    @MarcKronberg Год назад

    Danke!

  • @fallen_turbo
    @fallen_turbo Год назад +1

    Your astro course is amazing

  • @latch909
    @latch909 Год назад

    Fantastic - `class:list` so helpful!

    • @CodinginPublic
      @CodinginPublic  Год назад

      Agreed! They did make some small changes to it recently so that it now uses CLSX. That basically just means you can't use sets, I think? But still basically the same and super helpful!

  • @felipegutierrez2944
    @felipegutierrez2944 Год назад

    Awesome content as always! keep the good work!

  • @realJZ
    @realJZ Год назад

    What is the terminal/shell you are using? I would like to know how you have "intellisense" like menu for folders

    • @CodinginPublic
      @CodinginPublic  Год назад

      The autocomplete is a tool called Fig! At fig.io :)

  • @MarcKronberg
    @MarcKronberg Год назад

    Super Thanks!

  • @moneyfr
    @moneyfr Год назад

    amazing i learned so much but what about the accesibility ?

    • @CodinginPublic
      @CodinginPublic  Год назад

      Awesome! Well, that’s the cool thing. Since we spread in the …rest, you can add an aria-label=“whatever” and it’ll get added to the button! So that should handle most all of your accessibility needs with a button!

  • @DanteMishima
    @DanteMishima Год назад

    This is cool....
    But what happened to your other video Chris?

    • @CodinginPublic
      @CodinginPublic  Год назад +2

      I published it too early :) It'll be back up Friday!

    • @DanteMishima
      @DanteMishima Год назад

      @@CodinginPublic I had my editor ready to follow along, then boom gone 😂

    • @phucnguyen0110
      @phucnguyen0110 Год назад

      @@CodinginPublic Yes, I was wondering about that too lol - okay, noted that on Friday then.

    • @CodinginPublic
      @CodinginPublic  Год назад +1

      @@DanteMishima Sorry! It's up now here: ruclips.net/video/wkxPpGXAoes/видео.html

    • @CodinginPublic
      @CodinginPublic  Год назад +1

      @@phucnguyen0110 Sorry! It's up now here: ruclips.net/video/wkxPpGXAoes/видео.html

  • @MaximeOnDev
    @MaximeOnDev Год назад

    Love exploring astro with you ! 🙌
    I was wondering what's the avantages to use astro with react ? Since react and astro are based on component , how to use astro and react together then ?

    • @CodinginPublic
      @CodinginPublic  Год назад

      I think for me, it comes down to complexity. If the UI/UX required is complex, it's likely worth it to load react (or if it's behind auth). Otherwise, I tend towards vanilla JS and Astro components. Does that help?

  • @johnner5735
    @johnner5735 Год назад

    My first time learning Astro =)

  • @LeandroVilanovaDev
    @LeandroVilanovaDev Год назад

    10/10

  • @viophile
    @viophile Год назад +1

    I would use a CSS library such as Bulma instead.

  • @robertostringa9254
    @robertostringa9254 Год назад

    Why so many props for a component that could easily be CSS classes ? I don't see its usefulness.

    • @CodinginPublic
      @CodinginPublic  11 месяцев назад

      I don't remember all the choices I made here, but looking at the code, I agree with you. I'm wondering if I was just trying to show different options? But I think I'd tend to just use classes here.