diff --git a/extensions/amp-inline-gallery/1.0/amp-inline-gallery-pagination.js b/extensions/amp-inline-gallery/1.0/amp-inline-gallery-pagination.js index a6bdf6ac1094..881383b96c7b 100644 --- a/extensions/amp-inline-gallery/1.0/amp-inline-gallery-pagination.js +++ b/extensions/amp-inline-gallery/1.0/amp-inline-gallery-pagination.js @@ -1,6 +1,6 @@ import {CSS} from './pagination.jss'; import {CarouselContextProp} from '../../amp-base-carousel/1.0/carousel-props'; -import {Pagination} from './pagination'; +import {BentoInlineGalleryPagination} from './pagination'; import {PreactBaseElement} from '#preact/base-element'; import {isExperimentOn} from '#experiments'; import {userAssert} from '../../../src/log'; @@ -24,7 +24,7 @@ export class AmpInlineGalleryPagination extends PreactBaseElement { } /** @override */ -AmpInlineGalleryPagination['Component'] = Pagination; +AmpInlineGalleryPagination['Component'] = BentoInlineGalleryPagination; /** @override */ AmpInlineGalleryPagination['props'] = { diff --git a/extensions/amp-inline-gallery/1.0/amp-inline-gallery-thumbnails.js b/extensions/amp-inline-gallery/1.0/amp-inline-gallery-thumbnails.js index 761b3ee6d3ab..3069c298a379 100644 --- a/extensions/amp-inline-gallery/1.0/amp-inline-gallery-thumbnails.js +++ b/extensions/amp-inline-gallery/1.0/amp-inline-gallery-thumbnails.js @@ -2,7 +2,7 @@ import {CSS as CAROUSEL_CSS} from '../../amp-base-carousel/1.0/component.jss'; import {CarouselContextProp} from '../../amp-base-carousel/1.0/carousel-props'; import {PreactBaseElement} from '#preact/base-element'; import {CSS as THUMBNAIL_CSS} from './thumbnails.jss'; -import {Thumbnails} from './thumbnails'; +import {BentoInlineGalleryThumbnails} from './thumbnails'; import {isExperimentOn} from '#experiments'; import {userAssert} from '../../../src/log'; @@ -25,7 +25,7 @@ export class AmpInlineGalleryThumbnails extends PreactBaseElement { } /** @override */ -AmpInlineGalleryThumbnails['Component'] = Thumbnails; +AmpInlineGalleryThumbnails['Component'] = BentoInlineGalleryThumbnails; /** @override */ AmpInlineGalleryThumbnails['props'] = { diff --git a/extensions/amp-inline-gallery/1.0/base-element.js b/extensions/amp-inline-gallery/1.0/base-element.js index 65eb7122e6f9..a6ad636dfb4c 100644 --- a/extensions/amp-inline-gallery/1.0/base-element.js +++ b/extensions/amp-inline-gallery/1.0/base-element.js @@ -1,6 +1,6 @@ import * as Preact from '#preact'; import {CarouselContextProp} from '../../amp-base-carousel/1.0/carousel-props'; -import {InlineGallery} from './component'; +import {BentoInlineGallery} from './component'; import {PreactBaseElement} from '#preact/base-element'; import {dict} from '#core/types/object'; import {setProp} from '#core/context'; @@ -16,7 +16,7 @@ export class BaseElement extends PreactBaseElement { } /** @override */ -BaseElement['Component'] = InlineGallery; +BaseElement['Component'] = BentoInlineGallery; /** @override */ BaseElement['detached'] = true; diff --git a/extensions/amp-inline-gallery/1.0/component.js b/extensions/amp-inline-gallery/1.0/component.js index 6b0722228a77..fcb5f9a7a6f8 100644 --- a/extensions/amp-inline-gallery/1.0/component.js +++ b/extensions/amp-inline-gallery/1.0/component.js @@ -4,10 +4,10 @@ import {ContainWrapper} from '#preact/component'; import {useMemo, useState} from '#preact'; /** - * @param {!InlineGalleryDef.Props} props + * @param {!BentoInlineGalleryDef.Props} props * @return {PreactDef.Renderable} */ -export function InlineGallery({children, ...rest}) { +export function BentoInlineGallery({children, ...rest}) { const [currentSlide, setCurrentSlide] = useState(0); const [slides, setSlides] = useState([]); const carouselContext = useMemo( diff --git a/extensions/amp-inline-gallery/1.0/component.type.js b/extensions/amp-inline-gallery/1.0/component.type.js index b529c0f7caa5..360b725b13e8 100644 --- a/extensions/amp-inline-gallery/1.0/component.type.js +++ b/extensions/amp-inline-gallery/1.0/component.type.js @@ -1,7 +1,7 @@ /** @externs */ /** @const */ -var InlineGalleryDef = {}; +var BentoInlineGalleryDef = {}; /** * @typedef {{ @@ -12,7 +12,7 @@ var InlineGalleryDef = {}; * onSlideChange: (function(number):undefined|undefined), * }} */ -InlineGalleryDef.Props; +BentoInlineGalleryDef.Props; /** * @typedef {{ @@ -23,7 +23,7 @@ InlineGalleryDef.Props; * children: !Array * }} */ -InlineGalleryDef.PaginationProps; +BentoInlineGalleryDef.PaginationProps; /** * Note that aspectRatio is expressed in terms of width/height. @@ -33,7 +33,7 @@ InlineGalleryDef.PaginationProps; * children: !Array * }} */ -InlineGalleryDef.ThumbnailProps; +BentoInlineGalleryDef.ThumbnailProps; /** * @typedef {{ @@ -41,4 +41,4 @@ InlineGalleryDef.ThumbnailProps; * style: (!Object|undefined), * }} */ -InlineGalleryDef.SlideProps; +BentoInlineGalleryDef.SlideProps; diff --git a/extensions/amp-inline-gallery/1.0/pagination.js b/extensions/amp-inline-gallery/1.0/pagination.js index 5c9dbb664e2e..16d5c8f49781 100644 --- a/extensions/amp-inline-gallery/1.0/pagination.js +++ b/extensions/amp-inline-gallery/1.0/pagination.js @@ -5,10 +5,10 @@ import {useContext} from '#preact'; import {useStyles} from './pagination.jss'; /** - * @param {!InlineGalleryDef.PaginationProps} props + * @param {!BentoInlineGalleryDef.PaginationProps} props * @return {PreactDef.Renderable} */ -export function Pagination({inset, ...rest}) { +export function BentoInlineGalleryPagination({inset, ...rest}) { const classes = useStyles(); const {currentSlide, setCurrentSlide, slides} = useContext(CarouselContext); const slideCount = slides ? slides.length : 0; @@ -49,7 +49,7 @@ export function Pagination({inset, ...rest}) { } /** - * @param {!InlineGalleryDef.PaginationProps} props + * @param {!BentoInlineGalleryDef.PaginationProps} props * @return {PreactDef.Renderable} */ function Dots({currentSlide, goTo, inset, slideCount}) { @@ -77,7 +77,7 @@ function Dots({currentSlide, goTo, inset, slideCount}) { } /** - * @param {!InlineGalleryDef.PaginationProps} props + * @param {!BentoInlineGalleryDef.PaginationProps} props * @return {PreactDef.Renderable} */ function Numbers({currentSlide, inset, slideCount}) { diff --git a/extensions/amp-inline-gallery/1.0/storybook/Basic.js b/extensions/amp-inline-gallery/1.0/storybook/Basic.js index db4895d7630e..4cfe5c566e31 100644 --- a/extensions/amp-inline-gallery/1.0/storybook/Basic.js +++ b/extensions/amp-inline-gallery/1.0/storybook/Basic.js @@ -1,13 +1,13 @@ import * as Preact from '#preact'; import {BentoBaseCarousel} from '../../../amp-base-carousel/1.0/component'; -import {InlineGallery} from '../component'; -import {Pagination} from '../pagination'; -import {Thumbnails} from '../thumbnails'; +import {BentoInlineGallery} from '../component'; +import {BentoInlineGalleryPagination} from '../pagination'; +import {BentoInlineGalleryThumbnails} from '../thumbnails'; import {boolean, number, select, withKnobs} from '@storybook/addon-knobs'; export default { title: 'InlineGallery', - component: InlineGallery, + component: BentoInlineGallery, decorators: [withKnobs], }; @@ -32,15 +32,18 @@ export const _default = () => { return ( <> - - - + +
- +
{ thumbnailSrc="https://images.unsplash.com/photo-1603123853880-a92fafb7809f?ixlib=rb-1.2.1&auto=format&fit=crop&w=120&q=80" /> - -
+ + Content below carousel ); @@ -113,12 +116,15 @@ export const WithLooping = () => { )); return ( - + {slides} - - + {
b
c
d
-
-
+ + ); }; diff --git a/extensions/amp-inline-gallery/1.0/test/test-component.js b/extensions/amp-inline-gallery/1.0/test/test-component.js index 55ca0eeba380..cecdd3a8e900 100644 --- a/extensions/amp-inline-gallery/1.0/test/test-component.js +++ b/extensions/amp-inline-gallery/1.0/test/test-component.js @@ -1,22 +1,22 @@ import * as Preact from '#preact'; import {BentoBaseCarousel} from '../../../amp-base-carousel/1.0/component'; -import {InlineGallery} from '../component'; -import {Pagination} from '../pagination'; -import {Thumbnails} from '../thumbnails'; import {mount} from 'enzyme'; +import {BentoInlineGallery} from '../component'; +import {BentoInlineGalleryPagination} from '../pagination'; +import {BentoInlineGalleryThumbnails} from '../thumbnails'; describes.sandboxed('InlineGallery preact component', {}, () => { - describe('Pagination component', () => { - it('should render BentoBaseCarousel and Pagination', () => { + describe('BentoInlineGalleryPagination component', () => { + it('should render BentoBaseCarousels and BentoInlineGalleryPagination', () => { const jsx = ( - +
slide 1
slide 2
slide 3
- -
+ + ); const wrapper = mount(jsx); const carousel = wrapper.find('BentoBaseCarousel'); @@ -24,22 +24,22 @@ describes.sandboxed('InlineGallery preact component', {}, () => { const slides = carousel.find('[data-slide]'); expect(slides).to.have.lengthOf(3); - const pagination = wrapper.find('Pagination'); + const pagination = wrapper.find('BentoInlineGalleryPagination'); expect(pagination).to.have.lengthOf(1); }); }); describe('Thumbnail component', () => { - it('should render BentoBaseCarousel and Thumbnails', () => { + it('should render BentoBaseCarousel and BentoInlineGalleryThumbnails', () => { const jsx = ( - +
slide 1
slide 2
slide 3
- -
+ + ); const wrapper = mount(jsx); @@ -48,7 +48,7 @@ describes.sandboxed('InlineGallery preact component', {}, () => { const slides = carousels.first().find('[data-slide]'); expect(slides).to.have.lengthOf(3); - const thumbnails = wrapper.find('Thumbnails'); + const thumbnails = wrapper.find('BentoInlineGalleryThumbnails'); expect(thumbnails).to.have.lengthOf(1); const generatedCarousel = thumbnails.find('BentoBaseCarousel'); expect(generatedCarousel).to.have.lengthOf(1); @@ -67,14 +67,14 @@ describes.sandboxed('InlineGallery preact component', {}, () => { it('should respect thumbnailSrc', () => { const jsx = ( - +
slide 1
slide 2
slide 3
- -
+ + ); const wrapper = mount(jsx); @@ -83,7 +83,7 @@ describes.sandboxed('InlineGallery preact component', {}, () => { const slides = carousels.first().find('[data-slide]'); expect(slides).to.have.lengthOf(3); - const thumbnails = wrapper.find('Thumbnails'); + const thumbnails = wrapper.find('BentoInlineGalleryThumbnails'); expect(thumbnails).to.have.lengthOf(1); const generatedCarousel = thumbnails.find('BentoBaseCarousel'); expect(generatedCarousel).to.have.lengthOf(1); @@ -108,14 +108,14 @@ describes.sandboxed('InlineGallery preact component', {}, () => { it('should respect looping with slide alignment', () => { const jsx = ( - +
slide 1
slide 2
slide 3
- -
+ + ); const wrapper = mount(jsx); @@ -124,7 +124,7 @@ describes.sandboxed('InlineGallery preact component', {}, () => { const slides = carousels.first().find('[data-slide]'); expect(slides).to.have.lengthOf(3); - const thumbnails = wrapper.find('Thumbnails'); + const thumbnails = wrapper.find('BentoInlineGalleryThumbnails'); expect(thumbnails).to.have.lengthOf(1); const generatedCarousel = thumbnails.find('BentoBaseCarousel'); expect(generatedCarousel).to.have.lengthOf(1); diff --git a/extensions/amp-inline-gallery/1.0/thumbnails.js b/extensions/amp-inline-gallery/1.0/thumbnails.js index 18bc0a3ab1b0..f7ddd48621ce 100644 --- a/extensions/amp-inline-gallery/1.0/thumbnails.js +++ b/extensions/amp-inline-gallery/1.0/thumbnails.js @@ -12,10 +12,10 @@ import { import {useStyles} from './thumbnails.jss'; /** - * @param {!InlineGalleryDef.ThumbnailProps} props + * @param {!BentoInlineGalleryDef.BentoThumbnailProps} props * @return {PreactDef.Renderable} */ -export function Thumbnails({ +export function BentoInlineGalleryThumbnails({ aspectRatio, children, 'class': className = '',