Skip to content

Latest commit

 

History

History
394 lines (304 loc) · 13.3 KB

File metadata and controls

394 lines (304 loc) · 13.3 KB

📑 shinyTooltips - Complete Resource Index

Welcome to shinyTooltips! This file helps you navigate all available resources.


🚀 Quick Start (Choose Your Path)

⚡ I want to get started NOW (5 minutes)

  1. Read: QUICKSTART.md
  2. Copy one example and run it
  3. Done!

📖 I want to learn thoroughly (30 minutes)

  1. Open: Interactive HTML Guide
  2. Read "Getting Started" section
  3. Run: Comprehensive Example App

🔍 I need to look up something (2 minutes)

  1. Open: Interactive HTML Guide
  2. Use "API Reference" section
  3. Search for your question in FAQ

🛠️ I want to build something (varies)

  1. Run: Comprehensive Example App
  2. Find similar example
  3. Copy and adapt code
  4. Refer to Best Practices

📚 Documentation Files

Getting Started

File Purpose Time
README.md Package overview & quick links 5 min
QUICKSTART.md Installation & first steps 5 min
Getting Started in HTML Guide Interactive tutorial 15 min

Learning & Reference

File Purpose Time
DOCUMENTATION.md Complete technical guide 30 min
Interactive HTML Guide Comprehensive resource guide 1 hour
COMPREHENSIVE_DELIVERABLES.md Guide overview & comparison 10 min

Feature & Enhancement Info

File Purpose Time
ENHANCEMENT_SUMMARY.md v0.2.0 new features 10 min
PROJECT_FINAL_STATUS.md Project completion summary 15 min
INDEX.md Previous guide (deprecated) -

🎯 Interactive Resources

Example Applications

Located in: inst/examples/

App Features Shown Complexity Time
simple_example.R Basic button tooltip Beginner 2 min
test_app.R Quick functionality test Beginner 2 min
demo_app.R Placement, trigger, animation Intermediate 10 min
advanced_demo.R Sizing, styling, rich content Intermediate 15 min
interactive_demo.R Interactive tooltips with forms Advanced 20 min
quick_test_enhanced.R v0.2.0 enhanced features Intermediate 5 min
comprehensive_guide.R ALL features in one app Complete 30 min

Interactive HTML Guide

Location: inst/www/guide.html

Sections:

  1. Overview - What is shinyTooltips?
  2. Getting Started - Installation & setup
  3. API Reference - Complete parameter documentation
  4. Examples - 6 working code examples
  5. Best Practices - 40+ guidelines
  6. FAQ & Troubleshooting - 6 Q&A + 4 solutions

Features:

  • ✅ No R required - works in any browser
  • ✅ Copy-to-clipboard code examples
  • ✅ Mobile responsive
  • ✅ Offline accessible
  • ✅ Standalone (no dependencies)

How to Open:

# In R
browseURL(system.file("www/guide.html", package = "shinyTooltips"))

# Or just navigate to the file and open in browser

🔑 Key Concepts

Core Functions

use_shiny_tooltips()

  • Initialize tooltips in your Shiny UI
  • Optional: customize global theme
  • See documentation

tooltip()

  • Attach a tooltip to an element
  • 12 customization parameters
  • Call BEFORE the target element in UI
  • See API reference

Parameters Overview

tooltip(
  target = "elementID",              # Required: element to tooltip
  content = "Help text",             # Required: tooltip content
  placement = "top",                 # Where: top/bottom/left/right
  trigger = "hover",                 # How: hover/click/focus
  animation = "fade",                # Style: fade/scale
  delay = 0,                         # Milliseconds before showing
  offset = 10,                       # Distance from target (px)
  size = "medium",                   # small/medium/large/auto
  width = NULL,                      # Fixed width (e.g., "350px")
  maxWidth = NULL,                   # Max width (e.g., "500px")
  style = NULL,                      # Custom CSS styles
  interactive = FALSE                # Allow interaction in tooltip
)

📖 Documentation Map

By Topic

Setup & Installation

  • README.md - Download & installation
  • QUICKSTART.md - First steps
  • Getting Started (HTML Guide) - Detailed setup

API Documentation

  • API Reference (HTML Guide) - Parameter reference ⭐ START HERE
  • DOCUMENTATION.md - Full technical guide
  • Examples (HTML Guide) - 6 working examples

Learning Examples

  • Comprehensive Guide App - Interactive demo ⭐ MOST COMPREHENSIVE
  • Example Apps - Various demonstration apps
  • Examples Section (HTML Guide) - Code snippets

Best Practices & Troubleshooting

  • Best Practices (HTML Guide) - 40+ guidelines
  • FAQ & Troubleshooting (HTML Guide) - Common questions
  • DOCUMENTATION.md - Detailed explanations

Feature Information

  • README.md - Feature highlights
  • ENHANCEMENT_SUMMARY.md - v0.2.0 features
  • PROJECT_FINAL_STATUS.md - What's included

🎓 Learning Paths by Role

If you're a JavaScript Developer

  1. Check inst/www/shinyTooltips.js - Pure JavaScript implementation
  2. Read the JavaScript section
  3. Explore inst/www/shinyTooltips.css - CSS architecture

If you're an R Programmer

  1. Read QUICKSTART.md - R-focused intro
  2. Check R/tooltip.R - R function source
  3. Review API Reference

If you're a Shiny Developer

  1. Open Interactive HTML Guide
  2. Run Comprehensive Example App
  3. Copy patterns from example apps

If you're a Designer/UX Person

  1. Run Comprehensive Example App - See it in action
  2. Read Best Practices - Design guidelines
  3. Check DOCUMENTATION.md - Styling section

If you want Quick Implementation

  1. Find similar example in example apps
  2. Copy and paste the code
  3. Modify for your use case
  4. Refer to FAQ if issues

🔍 How to Find Something

"I want to..."

Goal Resource
Get started quickly QUICKSTART.md
See all features Comprehensive Example App
Learn step-by-step Getting Started in HTML Guide
Look up parameters API Reference in HTML Guide
See working examples Examples in HTML Guide
Follow best practices Best Practices in HTML Guide
Fix a problem FAQ in HTML Guide
Understand architecture DOCUMENTATION.md
Know what's new ENHANCEMENT_SUMMARY.md
Check project status PROJECT_FINAL_STATUS.md

✅ Feature Checklist

Before implementing, make sure you know about these features:

  • 4 Placements - top, bottom, left, right
  • 3 Triggers - hover, click, focus
  • 2 Animations - fade, scale
  • 4 Sizes - small, medium, large, auto
  • Custom Sizing - width, maxWidth parameters
  • Custom Styling - Apply CSS to individual tooltips
  • Rich Content - Use tagList for complex content
  • Interactive Mode - Tooltips with inputs and forms
  • Theme Customization - Global default styling
  • Responsive - Mobile friendly, viewport-aware
  • Accessibility - WCAG compliant, keyboard navigation

See Feature Overview for details.


📱 Mobile & Accessibility

Mobile Support

  • Responsive design
  • Works on touch devices
  • Viewport-aware positioning
  • Mobile-friendly triggers

See: Best Practices - Mobile Considerations

Accessibility

  • Keyboard navigation support
  • Focus trigger for inputs
  • High contrast colors
  • WCAG compliance

See: Best Practices - Accessibility


🐛 Troubleshooting

Common Issues

Issue Solution
Tooltip not showing Check FAQ #1
HTML not rendering Check FAQ #3
Styling not working Check FAQ #6
Interactive not working See Troubleshooting
Mobile issues See Mobile Considerations

More help: See Troubleshooting Guide in HTML guide.


📞 Getting Help

  1. For setup issues → Read QUICKSTART.md
  2. For API questions → Check API Reference
  3. For common problems → See FAQ
  4. For guidance → Review Best Practices
  5. For examples → Check example apps in inst/examples/
  6. For deep dive → Read DOCUMENTATION.md

🎯 Recommended Reading Order

First Time?

  1. This file (you are here)
  2. README.md - Overview
  3. QUICKSTART.md - Get going
  4. Interactive HTML Guide - Getting Started

Ready to Build?

  1. API Reference - Know the parameters
  2. Examples - See how it's done
  3. Best Practices - Do it right
  4. Comprehensive Example App - See it live

Need Reference?

  1. Interactive HTML Guide - Quick lookup
  2. API Reference - Parameter details
  3. FAQ - Common questions

💡 Pro Tips

Use Case Patterns

  • Help Text on Inputs: Use trigger = "focus", placement = "right"
  • Button Hints: Use trigger = "hover", default placement
  • Important Info: Use trigger = "click", higher visibility styling
  • Interactive Forms: Use interactive = TRUE, trigger = "click"

Performance

  • Keep tooltip content brief (1-2 lines)
  • Use size variants for appropriate dimensions
  • Set reasonable delays to prevent flickering
  • Test on real devices before deployment

Styling

  • Use theme parameter for global consistency
  • Apply consistent colors across tooltips
  • Ensure sufficient color contrast
  • Test at 200% zoom for accessibility

See Best Practices for full guidelines.


📦 Package Contents

shinyTooltips/
├── README.md                           # Package overview
├── QUICKSTART.md                       # Getting started (5 min)
├── DOCUMENTATION.md                    # Full documentation
├── ENHANCEMENT_SUMMARY.md              # v0.2.0 features
├── PROJECT_FINAL_STATUS.md             # Completion summary
├── COMPREHENSIVE_DELIVERABLES.md       # Guide overview
├── GUIDE_INDEX.md                      # This file
│
├── R/
│   └── tooltip.R                       # Core R functions (273 lines)
│
├── inst/
│   ├── www/
│   │   ├── shinyTooltips.js           # JavaScript engine (358 lines)
│   │   ├── shinyTooltips.css          # Styling (213 lines)
│   │   └── guide.html                 # Interactive HTML guide ⭐
│   │
│   └── examples/
│       ├── simple_example.R            # Basic example
│       ├── test_app.R                  # Quick test
│       ├── demo_app.R                  # Feature demo
│       ├── advanced_demo.R             # Advanced features
│       ├── interactive_demo.R          # Interactive mode
│       ├── quick_test_enhanced.R       # v0.2.0 test
│       └── comprehensive_guide.R       # Complete guide ⭐
│
└── [Config files]
    ├── DESCRIPTION
    ├── NAMESPACE
    ├── LICENSE
    └── .Rbuildignore

⭐ = Most important resources for learning


🎉 You're All Set!

You now have access to:

  • ✅ Complete tooltip library
  • ✅ Interactive HTML guide
  • ✅ Comprehensive example app
  • ✅ 6 additional example apps
  • ✅ Complete documentation
  • ✅ Best practices guide
  • ✅ FAQ & troubleshooting

Next step: Pick your learning path above and get started!


📞 Still Have Questions?

  1. Read the appropriate documentation from this guide
  2. Check the FAQ section in the HTML guide
  3. Review similar examples in the example apps
  4. Refer to Best Practices for guidance

Happy coding! 🚀


shinyTooltips v0.2.0 | Last Updated: 2024 | GitHub