From 0ebf7d9a0373dac9f4db2adf2437a1959e74750d Mon Sep 17 00:00:00 2001 From: cadiyak Date: Sat, 27 Aug 2022 15:41:36 +0200 Subject: [PATCH 1/6] feat: start to implement carousel. --- .../CarouselAutomaticSlideExample.vue | 8 ++ .../examples/CarouselDefaultExample.vue | 8 ++ .../examples/CarouselNoControlsExample.vue | 8 ++ .../examples/CarouselNoIndicatorsExample.vue | 8 ++ .../examples/CarouselPicturesExample.vue | 30 ++++++ .../examples/CarouselSlideExample.vue | 8 ++ .../examples/CarouselSlideIntervalExample.vue | 8 ++ src/components/Carousel/Carousel.vue | 94 ++++++++++++++----- 8 files changed, 149 insertions(+), 23 deletions(-) create mode 100644 docs/components/carousel/examples/CarouselAutomaticSlideExample.vue create mode 100644 docs/components/carousel/examples/CarouselDefaultExample.vue create mode 100644 docs/components/carousel/examples/CarouselNoControlsExample.vue create mode 100644 docs/components/carousel/examples/CarouselNoIndicatorsExample.vue create mode 100644 docs/components/carousel/examples/CarouselPicturesExample.vue create mode 100644 docs/components/carousel/examples/CarouselSlideExample.vue create mode 100644 docs/components/carousel/examples/CarouselSlideIntervalExample.vue diff --git a/docs/components/carousel/examples/CarouselAutomaticSlideExample.vue b/docs/components/carousel/examples/CarouselAutomaticSlideExample.vue new file mode 100644 index 0000000..408e9ad --- /dev/null +++ b/docs/components/carousel/examples/CarouselAutomaticSlideExample.vue @@ -0,0 +1,8 @@ + + diff --git a/docs/components/carousel/examples/CarouselDefaultExample.vue b/docs/components/carousel/examples/CarouselDefaultExample.vue new file mode 100644 index 0000000..8cab2e4 --- /dev/null +++ b/docs/components/carousel/examples/CarouselDefaultExample.vue @@ -0,0 +1,8 @@ + + diff --git a/docs/components/carousel/examples/CarouselNoControlsExample.vue b/docs/components/carousel/examples/CarouselNoControlsExample.vue new file mode 100644 index 0000000..b3c747d --- /dev/null +++ b/docs/components/carousel/examples/CarouselNoControlsExample.vue @@ -0,0 +1,8 @@ + + diff --git a/docs/components/carousel/examples/CarouselNoIndicatorsExample.vue b/docs/components/carousel/examples/CarouselNoIndicatorsExample.vue new file mode 100644 index 0000000..b5b62f8 --- /dev/null +++ b/docs/components/carousel/examples/CarouselNoIndicatorsExample.vue @@ -0,0 +1,8 @@ + + diff --git a/docs/components/carousel/examples/CarouselPicturesExample.vue b/docs/components/carousel/examples/CarouselPicturesExample.vue new file mode 100644 index 0000000..cf2dfac --- /dev/null +++ b/docs/components/carousel/examples/CarouselPicturesExample.vue @@ -0,0 +1,30 @@ + + diff --git a/docs/components/carousel/examples/CarouselSlideExample.vue b/docs/components/carousel/examples/CarouselSlideExample.vue new file mode 100644 index 0000000..408e9ad --- /dev/null +++ b/docs/components/carousel/examples/CarouselSlideExample.vue @@ -0,0 +1,8 @@ + + diff --git a/docs/components/carousel/examples/CarouselSlideIntervalExample.vue b/docs/components/carousel/examples/CarouselSlideIntervalExample.vue new file mode 100644 index 0000000..7988190 --- /dev/null +++ b/docs/components/carousel/examples/CarouselSlideIntervalExample.vue @@ -0,0 +1,8 @@ + + diff --git a/src/components/Carousel/Carousel.vue b/src/components/Carousel/Carousel.vue index 52e4588..7045730 100644 --- a/src/components/Carousel/Carousel.vue +++ b/src/components/Carousel/Carousel.vue @@ -1,35 +1,26 @@ From 62edbd74ff1a1f0ee7695b73fe1c21ba5310ac1f Mon Sep 17 00:00:00 2001 From: cadiyak Date: Sat, 27 Aug 2022 15:42:09 +0200 Subject: [PATCH 2/6] doc: update carousel's doc. --- docs/components/carousel/carousel.md | 158 ++++++++++++++++++++++++++- 1 file changed, 156 insertions(+), 2 deletions(-) diff --git a/docs/components/carousel/carousel.md b/docs/components/carousel/carousel.md index 5e41553..75dcd56 100644 --- a/docs/components/carousel/carousel.md +++ b/docs/components/carousel/carousel.md @@ -1,8 +1,17 @@ # Carousel +Use the carousel component to slide through multiple elements and images using custom controls, indicators, intervals, and options + +## Default slider + ```vue + +``` +## Prop - indicators + +```typescript +const props = defineProps({ + indicators: { + type: Boolean, + default: true, + }, +}) +``` + + + +```vue + + +``` + +## Prop - slide + +```typescript +const props = defineProps({ + slide: { + type: Boolean, + default: false, + }, +}) +``` + + + +```vue + + +``` + +## Prop - slide interval + +```typescript +const props = defineProps({ + slideInterval: { + type: Number, + default: 3000, + }, +}) +``` + + + +```vue + + +``` + +## Prop - pictures + +```typescript +const props = defineProps({ + pictures: { + type: Array, + default() { + return [ + { + 'src': 'https://flowbite.com/docs/images/carousel/carousel-1.svg', + 'alt': 'Picture 1', + }, + { + 'src': 'https://flowbite.com/docs/images/carousel/carousel-2.svg', + 'alt': 'Picture 2', + }, + { + 'src': 'https://flowbite.com/docs/images/carousel/carousel-3.svg', + 'alt': 'Picture 3', + }, + ] + }, + }, +}) +``` + + + +```vue + + +``` \ No newline at end of file From 568641fb43b8a4d2c17da4ceb7534e5a598f9b3d Mon Sep 17 00:00:00 2001 From: cadiyak Date: Sat, 27 Aug 2022 16:43:53 +0200 Subject: [PATCH 3/6] feat: reset carousel slide timeout when controls or indicators clicked --- src/components/Carousel/Carousel.vue | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/components/Carousel/Carousel.vue b/src/components/Carousel/Carousel.vue index 7045730..1da32dd 100644 --- a/src/components/Carousel/Carousel.vue +++ b/src/components/Carousel/Carousel.vue @@ -75,15 +75,22 @@ const props = defineProps({ const currentPicture = ref(0) const direction = ref('') +const interval = ref() const automaticSlide = () => { - setInterval(function() { + interval.value = setInterval(function() { nextPicture() }, props.slideInterval) } +const resetInterval = () => { + clearInterval(interval.value) + automaticSlide() +} + const slideTo = (index: number) => { currentPicture.value = index + resetInterval() } const nextPicture = () => { @@ -93,6 +100,7 @@ const nextPicture = () => { currentPicture.value = 0 } direction.value = 'right' + resetInterval() } const previousPicture = () => { @@ -102,6 +110,7 @@ const previousPicture = () => { currentPicture.value = props.pictures.length -1 } direction.value = 'left' + resetInterval() } onMounted(() => { From d5baf27eda2df50d9fecf5ab7d905e1d228e9743 Mon Sep 17 00:00:00 2001 From: Ilya Artamonov Date: Tue, 13 Dec 2022 14:38:35 +0300 Subject: [PATCH 4/6] chore: Moved carousel link in sidebar and updated README.md --- README.md | 4 ++-- docs/.vitepress/config.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 6e92341..bad0bc3 100644 --- a/README.md +++ b/README.md @@ -238,7 +238,7 @@ module.exports = { :construction: Footer - :construction: Accordion + Accordion :construction: Sidebar @@ -259,7 +259,7 @@ module.exports = { - :construction: Carousel + Carousel Avatar :construction: Rating diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index 0dbea64..1533c89 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -42,6 +42,7 @@ function getComponents() { { text: 'Badge', link: 'components/badge/badge.md' }, { text: 'Button Group', link: '/components/buttonGroup/buttonGroup.md' }, { text: 'Card', link: 'components/card/card.md' }, + { text: 'Carousel', link: 'components/carousel/carousel.md' }, { text: 'Dropdown', link: '/components/dropdown/dropdown.md' }, { text: 'Progress', link: 'components/progress/progress.md' }, { text: 'Spinner', link: '/components/spinner/spinner.md' }, @@ -52,7 +53,6 @@ function getComponents() { { text: 'Modal', link: 'components/modal/modal.md' }, { text: 'Navbar', link: 'components/navbar/navbar.md' }, - { text: '- Carousel', link: 'components/carousel/carousel.md' }, { text: '- Footer', link: 'components/footer/footer.md' }, { text: '- Pagination', link: 'components/pagination/pagination.md' }, { text: '- Rating', link: 'components/rating/rating.md' }, From 552c460efaab929e3279fa2673a0f98236b277f3 Mon Sep 17 00:00:00 2001 From: victor Date: Tue, 13 Dec 2022 18:20:44 +0400 Subject: [PATCH 5/6] fix: fixed accordion --- src/components/Accordion/Accordion.vue | 6 +- src/components/Accordion/AccordionContent.vue | 23 ++++++-- src/components/Accordion/AccordionHeader.vue | 55 +++++++++++-------- src/components/Accordion/AccordionPanel.vue | 24 ++++---- .../composables/useAccordionContentClasses.ts | 34 +++++------- .../composables/useAccordionHeaderClasses.ts | 43 +++++++-------- 6 files changed, 103 insertions(+), 82 deletions(-) diff --git a/src/components/Accordion/Accordion.vue b/src/components/Accordion/Accordion.vue index cdf0f17..9cbff4d 100644 --- a/src/components/Accordion/Accordion.vue +++ b/src/components/Accordion/Accordion.vue @@ -1,10 +1,9 @@ diff --git a/src/components/Accordion/AccordionContent.vue b/src/components/Accordion/AccordionContent.vue index b55e754..25e9274 100644 --- a/src/components/Accordion/AccordionContent.vue +++ b/src/components/Accordion/AccordionContent.vue @@ -1,13 +1,26 @@ diff --git a/src/components/Accordion/AccordionHeader.vue b/src/components/Accordion/AccordionHeader.vue index 60d4442..4b34fc6 100644 --- a/src/components/Accordion/AccordionHeader.vue +++ b/src/components/Accordion/AccordionHeader.vue @@ -1,40 +1,45 @@ diff --git a/src/components/Accordion/AccordionPanel.vue b/src/components/Accordion/AccordionPanel.vue index 8687627..e478e95 100644 --- a/src/components/Accordion/AccordionPanel.vue +++ b/src/components/Accordion/AccordionPanel.vue @@ -1,26 +1,30 @@