This document provides a comprehensive review of component dependencies between Fancy Flux custom components and Flux UI Free vs Flux Pro components.
The following components are available in the free edition of Flux UI:
avatar- User avatar displaybadge- Badge/label componentbrand- Brand logo componentbreadcrumbs- Navigation breadcrumbsbutton- Button componentcallout- Callout/alert componentcheckbox- Checkbox inputdropdown- Dropdown menufield- Form field wrapperheading- Heading text componenticon- Icon component (with variants)input- Text input componentmodal- Modal dialognavbar- Navigation barotp-input- OTP code inputprofile- User profile componentradio- Radio button inputselect- Select dropdownseparator- Visual separatorskeleton- Loading skeletonswitch- Toggle switchtext- Text componenttextarea- Textarea inputtooltip- Tooltip component
Flux Pro includes all Free components plus the following Pro-only components:
accordion- Accordion/collapsible componentautocomplete- Autocomplete inputcalendar- Calendar date pickercard- Card container componentchart- Chart/graph componentcommand- Command palettecomposer- Code editor componentcontext- Context menudate-picker- Date picker inputeditor- Rich text editorfile-upload- File upload componentkanban- Kanban board componentpagination- Pagination componentpillbox- Pillbox inputpopover- Popover componentslider- Slider inputtable- Data table componenttabs- Tabs componenttime-picker- Time picker inputtoast- Toast notification
Note: Flux Pro includes all Free components, so Pro users have access to all 44 components total.
Files:
stubs/resources/views/flux/carousel/index.blade.phpstubs/resources/views/flux/carousel/controls.blade.phpstubs/resources/views/flux/carousel/panels.blade.phpstubs/resources/views/flux/carousel/steps.blade.phpstubs/resources/views/flux/carousel/step/index.blade.phpstubs/resources/views/flux/carousel/step/item.blade.php
Flux Components Used:
flux:icon.chevron-left(Free) - Used in controls for previous buttonflux:icon.chevron-right(Free) - Used in controls for next buttonflux:icon(Free) - Generic icon component used in step indicators (optional icon prop)
Dependency Status: ✅ Free Only - Carousel works with Flux Free
Notes:
- Uses
Flux::classes()helper (available in both Free and Pro) - No Pro-specific dependencies
- All icon variants used (
micro,mini) are available in Free
Files:
stubs/resources/views/flux/color-picker.blade.php
Flux Components Used:
flux:label(Free) - Optional label component
Dependency Status: ✅ Free Only - Color Picker works with Flux Free
Notes:
- Uses
Flux::classes()helper (available in both Free and Pro) - Label is optional - component works without it
- No Pro-specific dependencies
Files:
stubs/resources/views/flux/emoji-select/index.blade.php
Flux Components Used:
flux:icon.magnifying-glass(Free) - Search icon in search inputflux:icon.x-mark(Free) - Clear search button iconflux:icon.face-frown(Free) - Empty state iconflux:icon.chevron-down(Free) - Dropdown indicator iconflux:label(Free) - Optional label component
Dependency Status: ✅ Free Only - Emoji Select works with Flux Free
Notes:
- Uses
Flux::classes()helper (available in both Free and Pro) - All icon variants used (
micro,mini) are available in Free - Label is optional - component works without it
- Uses
ui-dropdowncomponent (Alpine.js component, not Flux)
src/Concerns/InteractsWithCarousel.php
- Flux Dependencies: None
- Uses Livewire Component macros and JavaScript dispatch events
- No Flux component dependencies
src/FancyFluxServiceProvider.php
- Flux Dependencies: None
- Standard Laravel service provider
- No Flux component dependencies
src/EmojiData.php
- Flux Dependencies: None
- Static data provider for emoji categories
- No Flux component dependencies
resources/js/carousel.js
- Flux Dependencies: None
- Extends
window.Fluxobject with carousel helper - Uses Alpine.js and DOM APIs
- No Flux component dependencies
Demo files use additional Flux components for presentation purposes, but these are not dependencies of the custom components themselves:
Components Used in Demos:
flux:heading(Free) - Page headingsflux:text(Free) - Text contentflux:card(Pro) - Card containers in demo pagesflux:button(Free) - Action buttonsflux:input(Free) - Form inputs in wizard demosflux:textarea(Free) - Textarea inputs in wizard demosflux:modal(Free) - Success modal in wizard demoflux:icon.check(Free) - Success icon
Note: Demo files are for reference only and are not part of the package distribution. The flux:card component used in demos is Pro-only, but this does not affect the custom components themselves.
| Custom Component | Flux Components Used | Free/Pro Status | Compatibility |
|---|---|---|---|
| Carousel | flux:icon.chevron-leftflux:icon.chevron-rightflux:icon (generic) |
All Free | ✅ Free Compatible |
| Color Picker | flux:label |
Free | ✅ Free Compatible |
| Emoji Select | flux:icon.magnifying-glassflux:icon.x-markflux:icon.face-frownflux:icon.chevron-downflux:label |
All Free | ✅ Free Compatible |
All three custom components (carousel, color-picker, emoji-select) use only Flux Free components. This means:
- No Pro Dependencies: None of the custom components require Flux Pro
- Free Edition Compatible: All components work with
livewire/flux(Free) only - Pro Enhancement Ready: Components will automatically benefit from Pro features if Pro is installed, but don't require it
The package's composer.json correctly specifies:
{
"require": {
"livewire/flux": "^2.0"
}
}This is correct - the package only requires Flux Free, not Flux Pro.
- Maintain Free Compatibility: Continue using only Free components in custom components
- Optional Pro Features: If future enhancements could benefit from Pro components, make them optional/conditional
- Documentation: Keep this dependency document updated when adding new components or dependencies
If you want to add Pro-specific features in the future:
- Conditional Rendering: Check for Pro component availability before using
- Feature Flags: Allow users to opt-in to Pro features
- Graceful Degradation: Provide Free alternatives when Pro components aren't available
Example pattern for optional Pro features:
@if (component_exists('flux.card'))
<flux:card>
{{-- Pro-enhanced content --}}
</flux:card>
@else
<div class="border rounded-lg p-6">
{{-- Free fallback --}}
</div>
@endif- Test with Flux Free Only: Verify all components work with only
livewire/fluxinstalled - Test with Flux Pro: Verify components still work correctly when Pro is installed
- Icon Variant Testing: Ensure all icon variants (
micro,mini) work correctly - Optional Component Testing: Test components with and without optional labels
Last Updated: 2026-01-20
Package Version: 1.0.7
Flux Version Tested: 2.0+