server_rendering:

  • file: quartz/components/Explorer.tsx
  • modifications:
    • action: replace default SVG polygon arrows
    • replacement: standard Lucide SVGs
    • icons: chevron-right and chevron-down
  • accessibility:
    • hidden: aria-hidden="true"
    • state: sync aria-expanded on parent nodes

client_lifecycle:

  • file: quartz/components/scripts/explorer.inline.ts
  • hooks:
    • transition: bind to nav event for SPA compatibility
  • rendering:
    • method: update renderTree()
    • action: swap the SVG content when generating tree dynamically
  • interaction:
    • class_toggle: handle the .open class upon folder clicks

stylesheet:

  • file: quartz/components/styles/explorer.scss
  • styling:
    • base: target .folder-icon
    • transition: apply transition: transform 0.2s ease
    • active_state: apply transform rotation based on the .open class
    • effect: slightly tilt the icons to indicate folder open/closed states