diff --git a/addon/components/o-s-s/feature-card.ts b/addon/components/o-s-s/feature-card.ts index d380764bd..3a296eeb7 100644 --- a/addon/components/o-s-s/feature-card.ts +++ b/addon/components/o-s-s/feature-card.ts @@ -55,14 +55,6 @@ export default class OSSFeatureCard extends Component { } } - get colorVariant(): OSSFeatureCardColorVariant { - return this.args.colorVariant ?? DEFAULT_COLOR_VARIANT; - } - - get shadowVariant(): OSSFeatureCardShadowVariant { - return this.args.shadowVariant ?? DEFAULT_SHADOW_VARIANT; - } - get computedClasses(): string { return [ 'oss-feature-card', @@ -71,6 +63,14 @@ export default class OSSFeatureCard extends Component { ].join(' '); } + private get colorVariant(): OSSFeatureCardColorVariant { + return this.args.colorVariant ?? DEFAULT_COLOR_VARIANT; + } + + private get shadowVariant(): OSSFeatureCardShadowVariant { + return this.args.shadowVariant ?? DEFAULT_SHADOW_VARIANT; + } + get imageAlt(): string { return this.args.image.alt ?? ''; } diff --git a/addon/components/o-s-s/feature-cards-container.ts b/addon/components/o-s-s/feature-cards-container.ts index ea9e9353b..6b0e26a6d 100644 --- a/addon/components/o-s-s/feature-cards-container.ts +++ b/addon/components/o-s-s/feature-cards-container.ts @@ -7,26 +7,6 @@ type OSSFeatureCardsContainerArgs = { cards: OSSFeatureCardArgs[]; }; -function isCenterCard(cardsCount: number, index: number): boolean { - return cardsCount === 1 || (cardsCount === 3 && index === 1); -} - -function getDefaultCardColorVariant(cardsCount: number, index: number): OSSFeatureCardColorVariant { - if (isCenterCard(cardsCount, index)) return 'violet'; - - if (cardsCount === 2 || cardsCount === 3) return index === 0 ? 'blue' : 'yellow'; - - assert('[OSS::FeatureCardsContainer] Internal layout configuration mismatch', false); -} - -function getDefaultCardShadowVariant(cardsCount: number, index: number): OSSFeatureCardShadowVariant { - if (isCenterCard(cardsCount, index)) return 'lg'; - - if (cardsCount === 2 || cardsCount === 3) return 'sm'; - - assert('[OSS::FeatureCardsContainer] Internal layout configuration mismatch', false); -} - export default class OSSFeatureCardsContainer extends Component { constructor(owner: unknown, args: OSSFeatureCardsContainerArgs) { super(owner, args); @@ -43,8 +23,8 @@ export default class OSSFeatureCardsContainer extends Component { const cardCount = cards.length; - const colorVariant = card.colorVariant ?? getDefaultCardColorVariant(cardCount, index); - const shadowVariant = card.shadowVariant ?? getDefaultCardShadowVariant(cardCount, index); + const colorVariant = card.colorVariant ?? this.getDefaultCardColorVariant(cardCount, index); + const shadowVariant = card.shadowVariant ?? this.getDefaultCardShadowVariant(cardCount, index); return { ...card, @@ -53,4 +33,20 @@ export default class OSSFeatureCardsContainer extends Component