Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Slider Field Type Laravel Package

anomaly/slider-field_type

Anomaly Slider Field Type provides a configurable slider input for Streams Platform forms and entries, letting editors select numeric values with defined range and step settings. It integrates smoothly into Laravel/PHP projects built on Anomaly CMS.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit

  • This is not a general-purpose Laravel package. It is a Streams Platform field type addon (anomaly/* namespace), consumed only by PyroCMS / Streams-based applications. It extends the platform's FieldType contract and contributes a control-panel input view plus persistence metadata for a stream field.
  • Value proposition is narrow: it renders a numeric stream field as a slider (min/max/step driven by field config) instead of a plain text/number input. The stored data is fundamentally a scalar (int/decimal), so the package is almost entirely presentation + config plumbing, not data modeling.
  • Fit is binary: drop-in if the product already runs PyroCMS/Streams; effectively unusable otherwise. There is no standalone Laravel service provider path that delivers meaningful value.

Integration feasibility

  • Standard addon install: composer require anomaly/slider-field_type followed by the platform's addon:install artisan command; then assign the field type to a stream field in the control panel.
  • Requires a compatible Streams Platform major version. Because the package is old and small, the composer constraints are likely pinned to a Laravel 5.5–8 / PHP 7.x era. Compatibility with PHP 8.x and current Laravel must be verified in composer.json before committing.
  • Frontend depends on the platform's asset pipeline (published JS/CSS, jQuery-era control panel). Integration is trivial on a matching platform; on a modernized control panel (Vue/Inertia/Livewire-based) it will not render without a rewrite of the input view.

Technical risk

  • Abandonment risk is the dominant risk. 1 star, 0 dependents, and an owner (Anomaly Labs) whose platform development has been largely dormant. Assume no upstream fixes, no security triage, no framework-version bumps.
  • Version drift risk: field types bind to an internal contract. A Streams Platform upgrade can silently break getInputView()/wrapper expectations and asset registration.
  • Behavioral risk: numeric coercion. If the underlying column is integer but the slider emits decimals (or vice versa), or if min/max/step config is missing and unvalidated, out-of-range or rounded values get persisted with no validation guard unless rules are added explicitly.
  • Asset risk: unpublished/missing JS degrades the control panel to a bare input; this is a soft failure that may pass QA unnoticed until editors complain.

Key questions

  1. What Streams Platform and Laravel/PHP versions are supported per composer.json, and does it install cleanly on our target version?
  2. Is the field type restricted to integers, or does it support decimal precision and step rounding?
  3. Does it contribute validation rules derived from min/max/step, or is validation entirely our responsibility?
  4. When was the last commit, and are there open issues or forks with fixes we would need to absorb?
  5. Are the JS/CSS assets published through the standard addon asset pipeline, and do they collide with the current control panel theme?
  6. Is there any test coverage, or would we be adopting untested code?

Integration Approach

Stack fit

  • Fits only a PyroCMS/Streams stack. For any other Laravel stack (Nova, Filament, custom Blade/Livewire), the correct decision is do not adopt — replicate the behavior with a native range input and a cast/validation rule. The package's only real asset is the platform-specific wiring, so it has near-zero value outside that platform.
  • Given the score (0.245) and opportunity signal (29.15), treat this as a buy-only-if-free dependency: acceptable as a convenience inside an existing PyroCMS deployment, unacceptable as a reason to choose or preserve the platform.

Migration path

  • Inbound: trivial. Adding the field type to an existing integer/decimal stream field is non-destructive — the storage column is unchanged; only the edit control and rendering change. Rollback is a field-type reassignment, no data migration.
  • Outbound: equally trivial. The stored values are plain scalars; exporting to any other stack is a straight column read. There is no proprietary serialization or embedded schema to unwind.
  • If we are already planning to move off Streams, do not invest in customizing this addon — build the slider as a thin UI component in the target stack instead.

Compatibility

  • Pin the exact composer version and record the supported platform matrix in our dependency register. Do not accept floating constraints on an unmaintained addon.
  • Validate on PHP 8.x and the current Laravel minor before rollout; if constraints block it, budget a small fork (dependency bump + smoke test) rather than forcing a platform downgrade.

Sequencing

  1. Verify composer.json constraints and last-commit date; confirm platform compatibility.
  2. Fork to our namespace or vendor-pin the package; add a compatibility matrix note.
  3. Add a minimal test/smoke check covering install, field render, save, and reload.
  4. Introduce on a non-critical stream first; validate min/max/step behavior and empty-value handling.
  5. Document config contract (min, max, step, default, validation) for content editors before broad rollout.
  6. Only then widen to production streams; keep field-type reassignment as the documented rollback.

Operational Impact

Maintenance

  • Expect to own this code. The surface is small (a field type class, an input view, an asset bundle), so ongoing cost is low — but it must be tracked as internally maintained, not as a third-party dependency.
  • Re-evaluate on every Streams Platform upgrade; the field-type contract is the failure point, not the slider logic.

Support

  • No community, no issue triage, no security response. Support burden lands on our platform team. The mitigating factor is that the code is small enough to fully read and reason about in under an hour.
  • Budget support documentation for editors: expected input behavior, valid ranges per field, and what to do if the slider fails to render.

Scaling

  • Negligible server-side impact — the field type adds no queries and no serialization overhead beyond what any numeric field incurs. Frontend cost is a single control per form.
  • Scale concerns live entirely in the host platform (control panel asset loading, stream field count), not in this package.

Failure modes

  • Silent UI degradation: assets not published or JS conflict → plain input rendered; data still saves, so failures are invisible to backend monitoring.
  • Range/precision corruption: missing or mis-typed min/max/step leading to clamped or rounded values persisted without error.
  • Contract break on upgrade: input view or wrapper no longer resolved → field renders empty or the form save throws.
  • Null handling: editors clearing the slider may persist 0 or null depending on config; verify behavior explicitly.
  • Dependency rot: transitive dev dependencies or pinned platform versions block a Laravel/PHP upgrade and force an unplanned fork.

Ramp-up

  • Low for a Laravel developer already familiar with Streams addons: roughly half a day to a day to read the source, install, and validate behavior.
  • Higher for developers without Streams experience — the addon/field-type abstraction (views, wrappers, config, asset pipeline) is the learning cost, not this package.
  • Recommend a single owner on the platform team with documented ownership and an upgrade checklist entry, so the addon does not become an untracked orphan inside the codebase.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
frankyso/ipaymu
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator