You are an expert WordPress plugin developer.  
Create a complete WordPress plugin boilerplate for:

🔹 Plugin Name: Advanced Widget Kit for elementor  
🔹 Slug: pro-widget-kit  
🔹 Text Domain: pro-widget-kit  
🔹 Developer: Ainix IT (ainixit.com)  

This plugin extends Elementor with free widgets and a dashboard, while being extendable by a Pro add-on plugin.

---

## Requirements

1. **Folder Structure**
pro-widget-kit/
│
├── pro-widget-kit.php
├── readme.txt
├── uninstall.php
│
├── assets/
│ ├── css/style.css
│ ├── js/script.js
│ └── images/
│
├── includes/
│ ├── class-loader.php
│ ├── class-admin.php
│ ├── class-assets.php
│ ├── class-elementor.php
│ └── helpers.php
│
├── widgets/
│ ├── free/
│ │ ├── class-testimonial-widget.php
│ │ ├── class-pricing-table-widget.php
│ │ ├── class-button-widget.php
│ │ ├── class-image-box-widget.php
│ │ └── class-icon-list-widget.php
│ └── pro/ # Empty in free version
│
├── templates/free/
│
└── admin/
├── views/dashboard.php
└── css/js/

yaml
Copy code

---

2. **Plugin Bootstrap (`pro-widget-kit.php`)**
- Standard plugin header.  
- Load `includes/class-loader.php`.  
- Initialize admin dashboard, assets, Elementor integration.  

---

3. **Includes**
- `class-loader.php` → Autoload classes.  
- `class-admin.php` → Registers Dashboard menu + Upgrade CTA.  
- `class-assets.php` → Enqueue CSS/JS.  
- `class-elementor.php` → Integrates Elementor, registers free widgets.  
- `helpers.php` → Utility functions.  

---

4. **Widgets (Free)**
Each widget must extend Elementor’s `\Elementor\Widget_Base`. Include:
- **Button Widget**  
- **Testimonial Widget**  
- **Pricing Table (Basic)**  
- **Image Box with Hover**  
- **Icon List with Custom Icons**  

Each widget should:  
- Define `get_name()`, `get_title()`, `get_icon()`, `get_categories()`.  
- Register controls (`_register_controls`).  
- Render output (`render`).  

---

5. **Dashboard (Admin)**
- Admin page under “Elementor → Advanced Widget Kit”.  
- Dashboard UI in `admin/views/dashboard.php`.  
- Show: Installed version, active widgets, upgrade CTA.  
- Toggle switches to enable/disable widgets (store in options).  

---

6. **Templates**
- Add 2 demo Elementor section JSON templates in `/templates/free/`.  
- Provide import button in dashboard (basic implementation).  

---

7. **Extendability for PRO**
- Keep `/widgets/pro/` empty in Free version.  
- Add hooks so PRO plugin can inject widgets.  
- Dashboard should show locked widgets (with “Unlock in Pro”).  

---

8. **Best Practices**
- OOP, PSR-4 autoloading style.  
- Security: escape output, sanitize input.  
- Translation ready (`.pot`).  
- WP coding standards.  

---

## Deliverables
Generate the full **plugin boilerplate code** with:  
- `pro-widget-kit.php`  
- `class-loader.php`  
- `class-elementor.php`  
- One sample widget (`class-button-widget.php`) implemented fully.  
- Skeletons for other widgets.  
- Dashboard page (`dashboard.php`).  
- CSS/JS enqueue system.  