BoxStyler class
- Inheritance
-
- Implemented types
-
- Mixed-in types
-
Constructors
-
BoxStyler({AlignmentGeometry? alignment, EdgeInsetsGeometryMix<EdgeInsetsGeometry>? padding, EdgeInsetsGeometryMix<EdgeInsetsGeometry>? margin, BoxConstraintsMix? constraints, DecorationMix<Decoration>? decoration, DecorationMix<Decoration>? foregroundDecoration, Matrix4? transform, AlignmentGeometry? transformAlignment, Clip? clipBehavior, AnimationConfig? animation, WidgetModifierConfig? modifier, List<VariantStyle<BoxSpec>>? variants})
-
-
BoxStyler.alignment(AlignmentGeometry value)
-
factory
-
BoxStyler.animate(AnimationConfig value)
-
factory
-
BoxStyler.backgroundImage(ImageProvider<Object> image, {BoxFit? fit, AlignmentGeometry? alignment, ImageRepeat repeat = .noRepeat})
-
factory
-
BoxStyler.backgroundImageAsset(String path, {BoxFit? fit, AlignmentGeometry? alignment, ImageRepeat repeat = .noRepeat})
-
factory
-
BoxStyler.backgroundImageUrl(String url, {BoxFit? fit, AlignmentGeometry? alignment, ImageRepeat repeat = .noRepeat})
-
factory
-
BoxStyler.border(BoxBorderMix<BoxBorder> value)
-
factory
-
BoxStyler.borderRadius(BorderRadiusGeometryMix<BorderRadiusGeometry> value)
-
factory
-
BoxStyler.clipBehavior(Clip value)
-
factory
-
BoxStyler.color(Color value)
-
factory
-
BoxStyler.constraints(BoxConstraintsMix value)
-
factory
-
BoxStyler.create({Prop<AlignmentGeometry>? alignment, Prop<EdgeInsetsGeometry>? padding, Prop<EdgeInsetsGeometry>? margin, Prop<BoxConstraints>? constraints, Prop<Decoration>? decoration, Prop<Decoration>? foregroundDecoration, Prop<Matrix4>? transform, Prop<AlignmentGeometry>? transformAlignment, Prop<Clip>? clipBehavior, List<VariantStyle<BoxSpec>>? variants, WidgetModifierConfig? modifier, AnimationConfig? animation})
-
const
-
BoxStyler.decoration(DecorationMix<Decoration> value)
-
factory
-
BoxStyler.elevation(ElevationShadow value)
-
factory
-
BoxStyler.foregroundDecoration(DecorationMix<Decoration> value)
-
factory
-
BoxStyler.foregroundLinearGradient({required List<Color> colors, List<double>? stops, AlignmentGeometry? begin, AlignmentGeometry? end, TileMode? tileMode})
-
factory
-
BoxStyler.foregroundRadialGradient({required List<Color> colors, List<double>? stops, AlignmentGeometry? center, double? radius, AlignmentGeometry? focal, double? focalRadius, TileMode? tileMode})
-
factory
-
BoxStyler.foregroundSweepGradient({required List<Color> colors, List<double>? stops, AlignmentGeometry? center, double? startAngle, double? endAngle, TileMode? tileMode})
-
factory
-
BoxStyler.gradient(GradientMix<Gradient> value)
-
factory
-
BoxStyler.height(double value)
-
factory
-
BoxStyler.image(DecorationImageMix value)
-
factory
-
BoxStyler.linearGradient({required List<Color> colors, List<double>? stops, AlignmentGeometry? begin, AlignmentGeometry? end, TileMode? tileMode})
-
factory
-
BoxStyler.margin(EdgeInsetsGeometryMix<EdgeInsetsGeometry> value)
-
factory
-
BoxStyler.maxHeight(double value)
-
factory
-
BoxStyler.maxWidth(double value)
-
factory
-
BoxStyler.minHeight(double value)
-
factory
-
BoxStyler.minWidth(double value)
-
factory
-
BoxStyler.padding(EdgeInsetsGeometryMix<EdgeInsetsGeometry> value)
-
factory
-
BoxStyler.radialGradient({required List<Color> colors, List<double>? stops, AlignmentGeometry? center, double? radius, AlignmentGeometry? focal, double? focalRadius, TileMode? tileMode})
-
factory
-
BoxStyler.rotate(double radians, {Alignment alignment = .center})
-
factory
-
BoxStyler.scale(double scale, {Alignment alignment = .center})
-
factory
-
BoxStyler.shadow(BoxShadowMix value)
-
factory
-
BoxStyler.shadows(List<BoxShadowMix> value)
-
factory
-
BoxStyler.shape(ShapeBorderMix<ShapeBorder> value)
-
factory
-
BoxStyler.size(double width, double height)
-
factory
-
BoxStyler.skew(double skewX, double skewY)
-
factory
-
BoxStyler.sweepGradient({required List<Color> colors, List<double>? stops, AlignmentGeometry? center, double? startAngle, double? endAngle, TileMode? tileMode})
-
factory
-
BoxStyler.textStyle(TextStyler value)
-
factory
-
BoxStyler.transform(Matrix4 value, {Alignment alignment = .center})
-
factory
-
BoxStyler.translate(double x, double y, [double z = 0.0])
-
factory
-
BoxStyler.width(double value)
-
factory
Methods
-
alignment(AlignmentGeometry value)
→ BoxStyler
-
Sets the alignment.
-
animate(AnimationConfig value)
→ BoxStyler
-
Sets the animation configuration.
override
-
applyVariants(Iterable<NamedVariant> variantsToApply)
→ BoxStyler
-
Applies the specified named variants by merging their styles into this style.
inherited
-
backgroundImage(ImageProvider<Object> image, {BoxFit? fit, AlignmentGeometry? alignment, ImageRepeat repeat = .noRepeat})
→ BoxStyler
-
Sets a background image from an ImageProvider
inherited
-
backgroundImageAsset(String path, {BoxFit? fit, AlignmentGeometry? alignment, ImageRepeat repeat = .noRepeat})
→ BoxStyler
-
Sets a background image from an asset path
inherited
-
backgroundImageUrl(String url, {BoxFit? fit, AlignmentGeometry? alignment, ImageRepeat repeat = .noRepeat})
→ BoxStyler
-
Sets a background image from a network URL
inherited
-
border(BoxBorderMix<BoxBorder> value)
→ BoxStyler
-
Sets border
inherited
-
borderAll({Color? color, double? width, BorderStyle? style, double? strokeAlign})
→ BoxStyler
-
Sets all borders.
inherited
-
borderBottom({Color? color, double? width, BorderStyle? style, double? strokeAlign})
→ BoxStyler
-
Sets the bottom border.
inherited
-
borderEnd({Color? color, double? width, BorderStyle? style, double? strokeAlign})
→ BoxStyler
-
Sets the end border (RTL-aware).
inherited
-
borderHorizontal({Color? color, double? width, BorderStyle? style, double? strokeAlign})
→ BoxStyler
-
Sets horizontal borders (left & right).
inherited
-
borderLeft({Color? color, double? width, BorderStyle? style, double? strokeAlign})
→ BoxStyler
-
Sets the left border.
inherited
-
borderRadius(BorderRadiusGeometryMix<BorderRadiusGeometry> value)
→ BoxStyler
-
Sets border radius
inherited
-
borderRadiusAll(Radius radius)
→ BoxStyler
-
Sets border radius for all corners.
inherited
-
borderRadiusBottom(Radius radius)
→ BoxStyler
-
Sets border radius for the bottom corners.
inherited
-
borderRadiusBottomEnd(Radius radius)
→ BoxStyler
-
Sets border radius for the bottom end corner (directional).
inherited
-
borderRadiusBottomLeft(Radius radius)
→ BoxStyler
-
Sets border radius for the bottom left corner.
inherited
-
borderRadiusBottomRight(Radius radius)
→ BoxStyler
-
Sets border radius for the bottom right corner.
inherited
-
borderRadiusBottomStart(Radius radius)
→ BoxStyler
-
Sets border radius for the bottom start corner (directional).
inherited
-
borderRadiusLeft(Radius radius)
→ BoxStyler
-
Sets border radius for the left corners.
inherited
-
borderRadiusRight(Radius radius)
→ BoxStyler
-
Sets border radius for the right corners.
inherited
-
borderRadiusTop(Radius radius)
→ BoxStyler
-
Sets border radius for the top corners.
inherited
-
borderRadiusTopEnd(Radius radius)
→ BoxStyler
-
Sets border radius for the top end corner (directional).
inherited
-
borderRadiusTopLeft(Radius radius)
→ BoxStyler
-
Sets border radius for the top left corner.
inherited
-
borderRadiusTopRight(Radius radius)
→ BoxStyler
-
Sets border radius for the top right corner.
inherited
-
borderRadiusTopStart(Radius radius)
→ BoxStyler
-
Sets border radius for the top start corner (directional).
inherited
-
borderRight({Color? color, double? width, BorderStyle? style, double? strokeAlign})
→ BoxStyler
-
Sets the right border.
inherited
-
borderRounded(double radius)
→ BoxStyler
-
Sets a uniform circular radius for all corners.
inherited
-
borderRoundedBottom(double radius)
→ BoxStyler
-
Sets a circular radius for the bottom corners.
inherited
-
borderRoundedBottomEnd(double radius)
→ BoxStyler
-
Sets a circular radius for the bottom end corner (directional).
inherited
-
borderRoundedBottomLeft(double radius)
→ BoxStyler
-
Sets a circular radius for the bottom left corner.
inherited
-
borderRoundedBottomRight(double radius)
→ BoxStyler
-
Sets a circular radius for the bottom right corner.
inherited
-
borderRoundedBottomStart(double radius)
→ BoxStyler
-
Sets a circular radius for the bottom start corner (directional).
inherited
-
borderRoundedLeft(double radius)
→ BoxStyler
-
Sets a circular radius for the left corners.
inherited
-
borderRoundedRight(double radius)
→ BoxStyler
-
Sets a circular radius for the right corners.
inherited
-
borderRoundedTop(double radius)
→ BoxStyler
-
Sets a circular radius for the top corners.
inherited
-
borderRoundedTopEnd(double radius)
→ BoxStyler
-
Sets a circular radius for the top end corner (directional).
inherited
-
borderRoundedTopLeft(double radius)
→ BoxStyler
-
Sets a circular radius for the top left corner.
inherited
-
borderRoundedTopRight(double radius)
→ BoxStyler
-
Sets a circular radius for the top right corner.
inherited
-
borderRoundedTopStart(double radius)
→ BoxStyler
-
Sets a circular radius for the top start corner (directional).
inherited
-
borderStart({Color? color, double? width, BorderStyle? style, double? strokeAlign})
→ BoxStyler
-
Sets the start border (RTL-aware).
inherited
-
borderTop({Color? color, double? width, BorderStyle? style, double? strokeAlign})
→ BoxStyler
-
Sets the top border.
inherited
-
borderVertical({Color? color, double? width, BorderStyle? style, double? strokeAlign})
→ BoxStyler
-
Sets vertical borders (top & bottom).
inherited
-
boxElevation(ElevationShadow value)
→ BoxStyler
-
Creates box shadows from Material Design elevation level
inherited
-
boxShadows(List<BoxShadowMix> value)
→ BoxStyler
-
Creates multiple box shadows from a list of BoxShadowMix
inherited
-
build(BuildContext context, {Set<NamedVariant> namedVariants = const {}})
→ StyleSpec<BoxSpec>
-
Builds the style into a fully resolved spec with metadata.
inherited
-
call({Key? key, Widget? child})
→ Box
-
-
clipBehavior(Clip value)
→ BoxStyler
-
Sets the clipBehavior.
-
color(Color value)
→ BoxStyler
-
Sets background color
inherited
-
constraints(BoxConstraintsMix value)
→ BoxStyler
-
Sets the constraints.
override
-
constraintsOnly({double? width, double? height, double? minWidth, double? maxWidth, double? minHeight, double? maxHeight})
→ BoxStyler
-
Creates constraints with only specified values, supporting priority resolution
inherited
-
debugFillProperties(DiagnosticPropertiesBuilder properties)
→ void
-
Add additional properties associated with the node.
override
-
decoration(DecorationMix<Decoration> value)
→ BoxStyler
-
Sets the decoration.
override
-
elevation(ElevationShadow value)
→ BoxStyler
-
Sets elevation shadow
inherited
-
foregroundDecoration(DecorationMix<Decoration> value)
→ BoxStyler
-
Sets the foregroundDecoration.
override
-
foregroundLinearGradient({required List<Color> colors, List<double>? stops, AlignmentGeometry? begin, AlignmentGeometry? end, TileMode? tileMode})
→ BoxStyler
-
Sets a foreground linear gradient
inherited
-
foregroundRadialGradient({required List<Color> colors, List<double>? stops, AlignmentGeometry? center, double? radius, AlignmentGeometry? focal, double? focalRadius, TileMode? tileMode})
→ BoxStyler
-
Sets a foreground radial gradient
inherited
-
foregroundSweepGradient({required List<Color> colors, List<double>? stops, AlignmentGeometry? center, double? startAngle, double? endAngle, TileMode? tileMode})
→ BoxStyler
-
Sets a foreground sweep gradient
inherited
-
getDiff(Equatable other)
→ Map<String, String>
-
Returns a map of properties that differ between this object and another.
inherited
-
gradient(GradientMix<Gradient> value)
→ BoxStyler
-
Sets gradient with any GradientMix type
inherited
-
height(double value)
→ BoxStyler
-
Sets both min and max height to create a fixed height
inherited
-
image(DecorationImageMix value)
→ BoxStyler
-
Sets image decoration
inherited
-
keyframeAnimation({Listenable? trigger, required List<KeyframeTrack> timeline, required KeyframeStyleBuilder<BoxSpec, BoxStyler> styleBuilder})
→ BoxStyler
-
Creates a keyframe animation. It will animate through the given timeline.
inherited
-
linearGradient({required List<Color> colors, List<double>? stops, AlignmentGeometry? begin, AlignmentGeometry? end, TileMode? tileMode})
→ BoxStyler
-
Sets a background linear gradient
inherited
-
margin(EdgeInsetsGeometryMix<EdgeInsetsGeometry> value)
→ BoxStyler
-
Sets the margin.
override
-
marginAll(double value)
→ BoxStyler
-
Sets margin on all sides.
inherited
-
marginBottom(double value)
→ BoxStyler
-
Sets the bottom margin.
inherited
-
marginEnd(double value)
→ BoxStyler
-
Sets the end (trailing) margin.
inherited
-
marginLeft(double value)
→ BoxStyler
-
Sets the left margin.
inherited
-
marginOnly({double? horizontal, double? vertical, double? start, double? end, double? left, double? right, double? top, double? bottom})
→ BoxStyler
-
Sets custom margin for each side with priority resolution.
inherited
-
marginRight(double value)
→ BoxStyler
-
Sets the right margin.
inherited
-
marginStart(double value)
→ BoxStyler
-
Sets the start (leading) margin.
inherited
-
marginTop(double value)
→ BoxStyler
-
Sets the top margin.
inherited
-
marginX(double value)
→ BoxStyler
-
Sets horizontal (left and right) margin.
inherited
-
marginY(double value)
→ BoxStyler
-
Sets vertical (top and bottom) margin.
inherited
-
maxHeight(double value)
→ BoxStyler
-
Sets maximum height constraint
inherited
-
maxWidth(double value)
→ BoxStyler
-
Sets maximum width constraint
inherited
-
merge(covariant BoxStyler? other)
→ BoxStyler
-
Merges with another BoxStyler.
override
-
mergeActiveVariants(BuildContext context, {required Set<NamedVariant> namedVariants})
→ Style<BoxSpec>
-
Merges all active variants with their nested variants recursively.
inherited
-
minHeight(double value)
→ BoxStyler
-
Sets minimum height constraint
inherited
-
minWidth(double value)
→ BoxStyler
-
Sets minimum width constraint
inherited
-
modifier(WidgetModifierConfig value)
→ BoxStyler
-
Sets the widget modifier.
-
noSuchMethod(Invocation invocation)
→ dynamic
-
Invoked when a nonexistent method or property is accessed.
inherited
-
onAndroid(BoxStyler style)
→ BoxStyler
-
Creates a variant for Android platform.
inherited
-
onBreakpoint(Breakpoint breakpoint, BoxStyler style)
→ BoxStyler
-
Creates a variant based on the specified breakpoint.
inherited
-
onBuilder(BoxStyler fn(BuildContext context))
→ BoxStyler
-
Creates a variant using a builder function that receives the build context.
inherited
-
onDark(BoxStyler style)
→ BoxStyler
-
Creates a variant for dark mode.
inherited
-
onDesktop(BoxStyler style)
→ BoxStyler
-
Creates a variant for desktop breakpoint.
inherited
-
onDisabled(BoxStyler style)
→ BoxStyler
-
Creates a variant for disabled state
inherited
-
onEnabled(BoxStyler style)
→ BoxStyler
-
Creates a variant for enabled state (opposite of disabled)
inherited
-
onFocused(BoxStyler style)
→ BoxStyler
-
Creates a variant for focused state.
inherited
-
onFocusVisible(BoxStyler style)
→ BoxStyler
-
Creates a variant for focus shown in Flutter's traditional highlight mode.
inherited
-
onFuchsia(BoxStyler style)
→ BoxStyler
-
Creates a variant for Fuchsia platform.
inherited
-
onHovered(BoxStyler style)
→ BoxStyler
-
Creates a variant for hover state
inherited
-
onIos(BoxStyler style)
→ BoxStyler
-
Creates a variant for iOS platform.
inherited
-
onLandscape(BoxStyler style)
→ BoxStyler
-
Creates a variant for landscape device orientation.
inherited
-
onLight(BoxStyler style)
→ BoxStyler
-
Creates a variant for light mode.
inherited
-
onLinux(BoxStyler style)
→ BoxStyler
-
Creates a variant for Linux platform.
inherited
-
onLtr(BoxStyler style)
→ BoxStyler
-
Creates a variant for left-to-right text direction.
inherited
-
onMacos(BoxStyler style)
→ BoxStyler
-
Creates a variant for macOS platform.
inherited
-
onMobile(BoxStyler style)
→ BoxStyler
-
Creates a variant for mobile breakpoint.
inherited
-
onNot(ContextVariant contextVariant, BoxStyler style)
→ BoxStyler
-
Creates a variant for when the context does NOT match the provided variant.
inherited
-
onPortrait(BoxStyler style)
→ BoxStyler
-
Creates a variant for portrait device orientation.
inherited
-
onPressed(BoxStyler style)
→ BoxStyler
-
Creates a variant for pressed state
inherited
-
onRtl(BoxStyler style)
→ BoxStyler
-
Creates a variant for right-to-left text direction.
inherited
-
onTablet(BoxStyler style)
→ BoxStyler
-
Creates a variant for tablet breakpoint.
inherited
-
onWeb(BoxStyler style)
→ BoxStyler
-
Creates a variant for web platform.
inherited
-
onWindows(BoxStyler style)
→ BoxStyler
-
Creates a variant for Windows platform.
inherited
-
padding(EdgeInsetsGeometryMix<EdgeInsetsGeometry> value)
→ BoxStyler
-
Sets the padding.
override
-
paddingAll(double value)
→ BoxStyler
-
Sets padding on all sides.
inherited
-
paddingBottom(double value)
→ BoxStyler
-
Sets the bottom padding.
inherited
-
paddingEnd(double value)
→ BoxStyler
-
Sets the end (trailing) padding.
inherited
-
paddingLeft(double value)
→ BoxStyler
-
Sets the left padding.
inherited
-
paddingOnly({double? horizontal, double? vertical, double? start, double? end, double? left, double? right, double? top, double? bottom})
→ BoxStyler
-
Sets custom padding for each side with priority resolution.
inherited
-
paddingRight(double value)
→ BoxStyler
-
Sets the right padding.
inherited
-
paddingStart(double value)
→ BoxStyler
-
Sets the start (leading) padding.
inherited
-
paddingTop(double value)
→ BoxStyler
-
Sets the top padding.
inherited
-
paddingX(double value)
→ BoxStyler
-
Sets horizontal (left and right) padding.
inherited
-
paddingY(double value)
→ BoxStyler
-
Sets vertical (top and bottom) padding.
inherited
-
phaseAnimation<P>({Listenable? trigger, required List<P> phases, required BoxStyler styleBuilder(P phase, BoxStyler style), required CurveAnimationConfig configBuilder(P phase)})
→ BoxStyler
-
Creates a phase animation. It will animate through the given phases.
inherited
-
radialGradient({required List<Color> colors, List<double>? stops, AlignmentGeometry? center, double? radius, AlignmentGeometry? focal, double? focalRadius, TileMode? tileMode})
→ BoxStyler
-
Sets a background radial gradient
inherited
-
resolve(BuildContext context)
→ StyleSpec<BoxSpec>
-
Resolves to StyleSpec<BoxSpec> using
context.
override
-
rotate(double radians, {Alignment alignment = .center})
→ BoxStyler
-
Sets rotation transform in radians.
inherited
-
scale(double scale, {Alignment alignment = .center})
→ BoxStyler
-
Sets scale transform
inherited
-
shadow(BoxShadowMix value)
→ BoxStyler
-
Sets single shadow
inherited
-
shadowOnly({Color? color, Offset? offset, double? blurRadius, double? spreadRadius})
→ BoxStyler
-
Creates a single box shadow with named parameters
inherited
-
shadows(List<BoxShadowMix> value)
→ BoxStyler
-
Sets multiple shadows
inherited
-
shape(ShapeBorderMix<ShapeBorder> value)
→ BoxStyler
-
Sets box shape
inherited
-
shapeBeveledRectangle({BorderSideMix? side, BorderRadiusMix? borderRadius})
→ BoxStyler
-
Sets a beveled rectangle shape (BeveledRectangleBorder)
inherited
-
shapeCircle({BorderSideMix? side})
→ BoxStyler
-
Sets a circular shape (CircleBorder)
inherited
-
shapeContinuousRectangle({BorderSideMix? side, BorderRadiusMix? borderRadius})
→ BoxStyler
-
Sets a continuous rectangle shape (ContinuousRectangleBorder)
inherited
-
shapeLinear({BorderSideMix? side, LinearBorderEdgeMix? start, LinearBorderEdgeMix? end, LinearBorderEdgeMix? top, LinearBorderEdgeMix? bottom})
→ BoxStyler
-
Sets a linear border shape (LinearBorder)
inherited
-
shapeRoundedRectangle({BorderSideMix? side, BorderRadiusMix? borderRadius})
→ BoxStyler
-
Sets a rounded rectangle shape (RoundedRectangleBorder)
inherited
-
shapeStadium({BorderSideMix? side})
→ BoxStyler
-
Sets a stadium shape (StadiumBorder)
inherited
-
shapeStar({BorderSideMix? side, double? points, double? innerRadiusRatio, double? pointRounding, double? valleyRounding, double? rotation, double? squash})
→ BoxStyler
-
Sets a star shape (StarBorder)
inherited
-
shapeSuperellipse({BorderSideMix? side, BorderRadiusMix? borderRadius})
→ BoxStyler
-
Sets a superellipse shape (RoundedSuperellipseBorder)
inherited
-
size(double width, double height)
→ BoxStyler
-
Sets both width and height to specific values
inherited
-
skew(double skewX, double skewY)
→ BoxStyler
-
Sets skew transform
inherited
-
sweepGradient({required List<Color> colors, List<double>? stops, AlignmentGeometry? center, double? startAngle, double? endAngle, TileMode? tileMode})
→ BoxStyler
-
Sets a background sweep gradient
inherited
-
textStyle(TextStyler value)
→ BoxStyler
-
-
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style})
→ DiagnosticsNode
-
Returns a debug representation of the object that is used by debugging
tools and by DiagnosticsNode.toStringDeep.
inherited
-
toString({DiagnosticLevel minLevel = DiagnosticLevel.info})
→ String
-
A string representation of this object.
inherited
-
toStringShort()
→ String
-
A brief description of this object, usually just the runtimeType and the
hashCode.
inherited
-
transform(Matrix4 value, {Alignment alignment = .center})
→ BoxStyler
-
Must be implemented by the class using this mixin
override
-
transformReset()
→ BoxStyler
-
Resets transform to identity (no effect)
inherited
-
translate(double x, double y, [double z = 0.0])
→ BoxStyler
-
Sets translation transform
inherited
-
variant(Variant variant, BoxStyler style)
→ BoxStyler
-
Must be implemented by the class using this mixin
inherited
-
variants(List<VariantStyle<BoxSpec>> value)
→ BoxStyler
-
Sets the style variants.
override
-
width(double value)
→ BoxStyler
-
Sets both min and max width to create a fixed width
inherited
-
wrap(WidgetModifierConfig value)
→ BoxStyler
-
Wraps with a widget modifier.
override
Operators
-
operator ==(Object other)
→ bool
-
Overrides the equality operator to compare based on the properties.
inherited