Livewire Drag And Drop - v2.0

Contributing Guide - Livewire Drag and Drop

Welcome to the ArtisanPack UI Livewire Drag and Drop project! We appreciate your interest in contributing to this accessibility-first drag-and-drop solution.

Code of Conduct

By participating in this project, you agree to abide by our code of conduct:

  • Be respectful and inclusive
  • Focus on constructive feedback
  • Prioritize accessibility in all contributions
  • Follow established coding standards

Getting Started

Development Environment

# Clone the repository
git clone https://gitlab.com/jacob-martella-web-design/artisanpack-ui/livewire-drag-and-drop.git
cd livewire-drag-and-drop

# Install dependencies
npm install

# Start development server
npm run dev

Project Structure

livewire-drag-and-drop/
├── src/
│   └── index.js          # Main Alpine.js plugin
├── docs/
│   ├── getting-started.md
│   ├── api-reference.md
│   ├── accessibility.md
│   └── contributing.md
├── dist/                 # Built files
├── tests/               # Test files
└── examples/            # Usage examples

Coding Standards

JavaScript Standards

  • Follow ArtisanPack UI JavaScript conventions
  • Use WordPress Documentation Standards for JSDoc comments
  • Ensure WCAG 2.1 AA compliance
  • Include comprehensive error handling

PHP Standards (Examples)

  • Follow WordPress PHP Coding Standards
  • Use strict types declaration
  • Include proper PHPDoc blocks
  • Follow PSR-12 formatting

CSS Standards

  • Use consistent naming conventions
  • Include accessibility-focused styles
  • Support high contrast mode
  • Provide fallbacks for animations

Submission Process

1. Create an Issue

Before submitting code, create an issue describing:

  • The problem you're solving
  • Proposed solution approach
  • Accessibility considerations

2. Fork and Branch

# Create feature branch
git checkout -b feature/your-feature-name

3. Make Changes

  • Write tests for new functionality
  • Update documentation
  • Ensure accessibility compliance
  • Test with screen readers

4. Submit Merge Request

  • Include detailed description
  • Reference related issues
  • Add accessibility testing results
  • Request review from maintainers

Testing Requirements

Accessibility Testing

All contributions must pass:

  • Screen reader testing (NVDA, VoiceOver)
  • Keyboard navigation testing
  • Automated accessibility audits
  • WCAG 2.1 AA compliance checks

Browser Testing

Test across:

  • Chrome 90+
  • Firefox 88+
  • Safari 14+
  • Edge 90+

Documentation

Update relevant documentation:

  • API changes require documentation updates
  • New features need usage examples
  • Accessibility features must be documented

Thank you for contributing to accessible web experiences!