ComponentAttributeBag
class ComponentAttributeBag implements ArrayAccess, Htmlable, IteratorAggregate (View source)
Traits
Properties
| static protected array | $macros | The registered string macros.  | 
                from Macroable | 
| protected array | $attributes | The raw array of attributes.  | 
                
Methods
Apply the callback if the given "value" is (or resolves to) truthy.
Apply the callback if the given "value" is (or resolves to) falsy.
Mix another object into the class.
Dynamically handle calls to the class.
Dynamically handle calls to the class.
Create a new component attribute bag instance.
Get the first attribute's value.
Get a given attribute from the attribute array.
Determine if a given attribute exists in the attribute array.
Determine if a given attribute is missing from the attribute array.
Only include the given attribute from the attribute array.
Exclude the given attribute from the attribute array.
Filter the attributes, returning a bag of attributes that pass the filter.
Return a bag of attributes that have keys starting with the given value / pattern.
Return a bag of attributes with keys that do not start with the given value / pattern.
Return a bag of attributes that have keys starting with the given value / pattern.
Only include the given attribute from the attribute array.
Exclude the given attribute from the attribute array.
Extract prop names from given keys.
Conditionally merge classes into the attribute bag.
Conditionally merge styles into the attribute bag.
Merge additional attributes / values into the attribute bag.
Determine if the specific attribute value should be escaped.
Create a new appendable attribute value.
Resolve an appendable attribute value default value.
Get all of the raw attributes.
Set the underlying attributes.
Get content as a string of HTML.
Merge additional attributes / values into the attribute bag.
Determine if the given offset exists.
Get the value at the given offset.
Set the value at a given offset.
Remove the value at the given offset.
Get an iterator for the items.
Implode the attributes into a single HTML ready string.
Details
        
                            $this|TWhenReturnType
    when($value = null, callable|null $callback = null, callable|null $default = null)
        
    
    Apply the callback if the given "value" is (or resolves to) truthy.
        
                            $this|TUnlessReturnType
    unless($value = null, callable|null $callback = null, callable|null $default = null)
        
    
    Apply the callback if the given "value" is (or resolves to) falsy.
        
                static            void
    macro(string $name, object|callable $macro)
        
    
    Register a custom macro.
        
                static            void
    mixin(object $mixin, bool $replace = true)
        
    
    Mix another object into the class.
        
                static            bool
    hasMacro(string $name)
        
    
    Checks if macro is registered.
        
                static            void
    flushMacros()
        
    
    Flush the existing macros.
        
                static            mixed
    __callStatic(string $method, array $parameters)
        
    
    Dynamically handle calls to the class.
        
                            mixed
    __call(string $method, array $parameters)
        
    
    Dynamically handle calls to the class.
        
                            void
    __construct(array $attributes = [])
        
    
    Create a new component attribute bag instance.
        
                            mixed
    first(mixed $default = null)
        
    
    Get the first attribute's value.
        
                            mixed
    get(string $key, mixed $default = null)
        
    
    Get a given attribute from the attribute array.
        
                            bool
    has(string $key)
        
    
    Determine if a given attribute exists in the attribute array.
        
                            bool
    missing(string $key)
        
    
    Determine if a given attribute is missing from the attribute array.
        
                            ComponentAttributeBag
    only(mixed $keys)
        
    
    Only include the given attribute from the attribute array.
        
                            ComponentAttributeBag
    except(mixed|array $keys)
        
    
    Exclude the given attribute from the attribute array.
        
                            ComponentAttributeBag
    filter(callable $callback)
        
    
    Filter the attributes, returning a bag of attributes that pass the filter.
        
                            ComponentAttributeBag
    whereStartsWith(string|string[] $needles)
        
    
    Return a bag of attributes that have keys starting with the given value / pattern.
        
                            ComponentAttributeBag
    whereDoesntStartWith(string|string[] $needles)
        
    
    Return a bag of attributes with keys that do not start with the given value / pattern.
        
                            ComponentAttributeBag
    thatStartWith(string|string[] $needles)
        
    
    Return a bag of attributes that have keys starting with the given value / pattern.
        
                            ComponentAttributeBag
    onlyProps(mixed|array $keys)
        
    
    Only include the given attribute from the attribute array.
        
                            ComponentAttributeBag
    exceptProps(mixed|array $keys)
        
    
    Exclude the given attribute from the attribute array.
        
                    protected        array
    extractPropNames(mixed|array $keys)
        
    
    Extract prop names from given keys.
        
                            ComponentAttributeBag
    class(mixed|array $classList)
        
    
    Conditionally merge classes into the attribute bag.
        
                            ComponentAttributeBag
    style(mixed|array $styleList)
        
    
    Conditionally merge styles into the attribute bag.
        
                            ComponentAttributeBag
    merge(array $attributeDefaults = [], bool $escape = true)
        
    
    Merge additional attributes / values into the attribute bag.
        
                    protected        bool
    shouldEscapeAttributeValue(bool $escape, mixed $value)
        
    
    Determine if the specific attribute value should be escaped.
        
                            AppendableAttributeValue
    prepends(mixed $value)
        
    
    Create a new appendable attribute value.
        
                    protected        mixed
    resolveAppendableAttributeDefault(array $attributeDefaults, string $key, bool $escape)
        
    
    Resolve an appendable attribute value default value.
        
                            array
    getAttributes()
        
    
    Get all of the raw attributes.
        
                            void
    setAttributes(array $attributes)
        
    
    Set the underlying attributes.
        
                            string
    toHtml()
        
    
    Get content as a string of HTML.
        
                            HtmlString
    __invoke(array $attributeDefaults = [])
        
    
    Merge additional attributes / values into the attribute bag.
        
                            bool
    offsetExists(string $offset)
        
    
    Determine if the given offset exists.
        
                            mixed
    offsetGet(string $offset)
        
    
    Get the value at the given offset.
        
                            void
    offsetSet(string $offset, mixed $value)
        
    
    Set the value at a given offset.
        
                            void
    offsetUnset(string $offset)
        
    
    Remove the value at the given offset.
        
                            Traversable
    getIterator()
        
    
    Get an iterator for the items.
        
                            string
    __toString()
        
    
    Implode the attributes into a single HTML ready string.