@primevue/mcp 4.5.5 → 5.0.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +45 -21
- package/README.md +48 -250
- package/data/components.json +47269 -0
- package/data/llms/components/accordion.md +629 -0
- package/data/llms/components/animateonscroll.md +165 -0
- package/data/llms/components/autocomplete.md +995 -0
- package/data/llms/components/avatar.md +264 -0
- package/data/llms/components/badge.md +200 -0
- package/data/llms/components/blockui.md +99 -0
- package/data/llms/components/breadcrumb.md +269 -0
- package/data/llms/components/button.md +902 -0
- package/data/llms/components/card.md +209 -0
- package/data/llms/components/carousel.md +506 -0
- package/data/llms/components/cascadeselect.md +1207 -0
- package/data/llms/components/chart.md +1022 -0
- package/data/llms/components/checkbox.md +401 -0
- package/data/llms/components/chip.md +206 -0
- package/data/llms/components/colorpicker.md +213 -0
- package/data/llms/components/commandmenu.md +660 -0
- package/data/llms/components/compare.md +407 -0
- package/data/llms/components/confirmdialog.md +343 -0
- package/data/llms/components/confirmpopup.md +252 -0
- package/data/llms/components/contextmenu.md +522 -0
- package/data/llms/components/datatable.md +5266 -0
- package/data/llms/components/dataview.md +569 -0
- package/data/llms/components/datepicker.md +964 -0
- package/data/llms/components/deferredcontent.md +96 -0
- package/data/llms/components/dialog.md +702 -0
- package/data/llms/components/divider.md +152 -0
- package/data/llms/components/dock.md +488 -0
- package/data/llms/components/drawer.md +469 -0
- package/data/llms/components/dynamicdialog.md +214 -0
- package/data/llms/components/editor.md +205 -0
- package/data/llms/components/fieldset.md +253 -0
- package/data/llms/components/fileupload.md +459 -0
- package/data/llms/components/floatlabel.md +144 -0
- package/data/llms/components/fluid.md +104 -0
- package/data/llms/components/focustrap.md +59 -0
- package/data/llms/components/forms.md +344 -0
- package/data/llms/components/galleria.md +1119 -0
- package/data/llms/components/gallery.md +1003 -0
- package/data/llms/components/iconfield.md +283 -0
- package/data/llms/components/iftalabel.md +96 -0
- package/data/llms/components/image.md +179 -0
- package/data/llms/components/imagecompare.md +108 -0
- package/data/llms/components/inplace.md +183 -0
- package/data/llms/components/inputcolor.md +869 -0
- package/data/llms/components/inputgroup.md +419 -0
- package/data/llms/components/inputmask.md +345 -0
- package/data/llms/components/inputnumber.md +551 -0
- package/data/llms/components/inputotp.md +345 -0
- package/data/llms/components/inputpassword.md +738 -0
- package/data/llms/components/inputtags.md +432 -0
- package/data/llms/components/inputtext.md +569 -0
- package/data/llms/components/installation.md +1 -0
- package/data/llms/components/keyfilter.md +116 -0
- package/data/llms/components/knob.md +318 -0
- package/data/llms/components/label.md +151 -0
- package/data/llms/components/laravel.md +53 -0
- package/data/llms/components/listbox.md +636 -0
- package/data/llms/components/mask.md +203 -0
- package/data/llms/components/mcp.md +39 -0
- package/data/llms/components/megamenu.md +563 -0
- package/data/llms/components/menu.md +651 -0
- package/data/llms/components/menubar.md +446 -0
- package/data/llms/components/message.md +497 -0
- package/data/llms/components/metergroup.md +281 -0
- package/data/llms/components/multiselect.md +752 -0
- package/data/llms/components/orderlist.md +224 -0
- package/data/llms/components/organizationchart.md +418 -0
- package/data/llms/components/paginator.md +221 -0
- package/data/llms/components/panel.md +321 -0
- package/data/llms/components/panelmenu.md +703 -0
- package/data/llms/components/password.md +657 -0
- package/data/llms/components/picklist.md +286 -0
- package/data/llms/components/popover.md +145 -0
- package/data/llms/components/progressbar.md +242 -0
- package/data/llms/components/progressspinner.md +104 -0
- package/data/llms/components/radiobutton.md +427 -0
- package/data/llms/components/rating.md +312 -0
- package/data/llms/components/ripple.md +91 -0
- package/data/llms/components/scrollarea.md +700 -0
- package/data/llms/components/scrollpanel.md +131 -0
- package/data/llms/components/scrolltop.md +87 -0
- package/data/llms/components/select.md +1251 -0
- package/data/llms/components/selectbutton.md +268 -0
- package/data/llms/components/sidebar.md +2232 -0
- package/data/llms/components/skeleton.md +302 -0
- package/data/llms/components/slider.md +416 -0
- package/data/llms/components/speeddial.md +402 -0
- package/data/llms/components/splitbutton.md +840 -0
- package/data/llms/components/splitter.md +447 -0
- package/data/llms/components/stepper.md +551 -0
- package/data/llms/components/styleclass.md +226 -0
- package/data/llms/components/tabs.md +609 -0
- package/data/llms/components/tag.md +178 -0
- package/data/llms/components/terminal.md +123 -0
- package/data/llms/components/textarea.md +519 -0
- package/data/llms/components/tieredmenu.md +578 -0
- package/data/llms/components/timeline.md +494 -0
- package/data/llms/components/toast.md +472 -0
- package/data/llms/components/togglebutton.md +276 -0
- package/data/llms/components/toggleswitch.md +271 -0
- package/data/llms/components/toolbar.md +140 -0
- package/data/llms/components/tooltip.md +160 -0
- package/data/llms/components/tree.md +1076 -0
- package/data/llms/components/treeselect.md +660 -0
- package/data/llms/components/treetable.md +2493 -0
- package/data/llms/components/virtualscroller.md +265 -0
- package/data/llms/guides/autoimport.md +28 -0
- package/data/llms/guides/cdn.md +72 -0
- package/data/llms/guides/configuration.md +158 -0
- package/data/llms/guides/customicons.md +67 -0
- package/data/llms/guides/guides/accessibility.md +27 -0
- package/data/llms/guides/guides/animations.md +119 -0
- package/data/llms/guides/guides/rtl.md +7 -0
- package/data/llms/guides/icons.md +136 -0
- package/data/llms/guides/installation.md +3 -0
- package/data/llms/guides/laravel.md +66 -0
- package/data/llms/guides/llms.md +15 -0
- package/data/llms/guides/mcp.md +104 -0
- package/data/llms/guides/migration/v4.md +15 -0
- package/data/llms/guides/migration/v5.md +15 -0
- package/data/llms/guides/nuxt.md +141 -0
- package/data/llms/guides/passthrough.md +137 -0
- package/data/llms/guides/primeclt.md +43 -0
- package/data/llms/guides/tailwind.md +151 -0
- package/data/llms/guides/theming/styled.md +497 -0
- package/data/llms/guides/theming/unstyled.md +57 -0
- package/data/llms/guides/uikit.md +3 -0
- package/data/llms/guides/vite.md +90 -0
- package/data/llms/llms-full.txt +54465 -0
- package/data/llms/llms.txt +132 -0
- package/data/llms/pages/accessibility.md +27 -0
- package/data/llms/pages/animations.md +119 -0
- package/data/llms/pages/autoimport.md +28 -0
- package/data/llms/pages/cdn.md +72 -0
- package/data/llms/pages/configuration.md +158 -0
- package/data/llms/pages/contribution.md +31 -0
- package/data/llms/pages/customicons.md +67 -0
- package/data/llms/pages/designer.md +79 -0
- package/data/llms/pages/dynamicimports.md +7 -0
- package/data/llms/pages/forms.md +63 -0
- package/data/llms/pages/guides/accessibility.md +27 -0
- package/data/llms/pages/guides/animations.md +119 -0
- package/data/llms/pages/guides/rtl.md +7 -0
- package/data/llms/pages/icons.md +136 -0
- package/data/llms/pages/installation.md +3 -0
- package/data/llms/pages/introduction.md +23 -0
- package/data/llms/pages/laravel.md +66 -0
- package/data/llms/pages/llms.md +15 -0
- package/data/llms/pages/mcp.md +104 -0
- package/data/llms/pages/migration/v4.md +15 -0
- package/data/llms/pages/migration/v5.md +15 -0
- package/data/llms/pages/nuxt.md +141 -0
- package/data/llms/pages/passthrough.md +137 -0
- package/data/llms/pages/primeclt.md +43 -0
- package/data/llms/pages/rtl.md +7 -0
- package/data/llms/pages/setup.md +3 -0
- package/data/llms/pages/styled.md +497 -0
- package/data/llms/pages/tailwind.md +151 -0
- package/data/llms/pages/theming/styled.md +497 -0
- package/data/llms/pages/theming/unstyled.md +57 -0
- package/data/llms/pages/uikit.md +3 -0
- package/data/llms/pages/unstyled.md +57 -0
- package/data/llms/pages/v4.md +15 -0
- package/data/llms/pages/v5.md +15 -0
- package/data/llms/pages/vite.md +90 -0
- package/data/manifest.json +11117 -0
- package/data/mcp-data.json +55940 -0
- package/dist/index.d.ts +17 -1
- package/dist/index.js +66066 -72541
- package/package.json +10 -12
|
@@ -0,0 +1,1119 @@
|
|
|
1
|
+
# Galleria
|
|
2
|
+
|
|
3
|
+
Galleria is a content gallery component.
|
|
4
|
+
|
|
5
|
+
## Basic
|
|
6
|
+
|
|
7
|
+
Galleria requires a value as a collection of images, item template for the higher resolution image and thumbnail template to display as a thumbnail.
|
|
8
|
+
|
|
9
|
+
```vue
|
|
10
|
+
<template>
|
|
11
|
+
<div>
|
|
12
|
+
<Galleria :value="images" :responsiveOptions="responsiveOptions" :numVisible="5" containerStyle="max-width: 640px">
|
|
13
|
+
<template #item="slotProps">
|
|
14
|
+
<img :src="slotProps.item.itemImageSrc" :alt="slotProps.item.alt" style="width: 100%" />
|
|
15
|
+
</template>
|
|
16
|
+
<template #thumbnail="slotProps">
|
|
17
|
+
<img :src="slotProps.item.thumbnailImageSrc" :alt="slotProps.item.alt" />
|
|
18
|
+
</template>
|
|
19
|
+
</Galleria>
|
|
20
|
+
</div>
|
|
21
|
+
</template>
|
|
22
|
+
|
|
23
|
+
<script setup>
|
|
24
|
+
import { ref, onMounted } from "vue";
|
|
25
|
+
import { PhotoService } from '@/service/PhotoService';
|
|
26
|
+
|
|
27
|
+
onMounted(() => {
|
|
28
|
+
PhotoService.getImages().then((data) => (images.value = data));
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
const images = ref();
|
|
32
|
+
const responsiveOptions = ref([
|
|
33
|
+
{
|
|
34
|
+
breakpoint: '1300px',
|
|
35
|
+
numVisible: 4
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
breakpoint: '575px',
|
|
39
|
+
numVisible: 1
|
|
40
|
+
}
|
|
41
|
+
]);
|
|
42
|
+
<\/script>
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Controlled
|
|
46
|
+
|
|
47
|
+
Galleria can be controlled programmatically using a binding to activeIndex .
|
|
48
|
+
|
|
49
|
+
```vue
|
|
50
|
+
<template>
|
|
51
|
+
<div>
|
|
52
|
+
<div class="mb-4">
|
|
53
|
+
<Button iconOnly @click="prev">
|
|
54
|
+
<Minus />
|
|
55
|
+
</Button>
|
|
56
|
+
<Button iconOnly @click="next" severity="secondary" class="ml-2">
|
|
57
|
+
<Plus />
|
|
58
|
+
</Button>
|
|
59
|
+
</div>
|
|
60
|
+
|
|
61
|
+
<Galleria v-model:activeIndex="activeIndex" :value="images" :responsiveOptions="responsiveOptions" :numVisible="5" containerStyle="max-width: 640px">
|
|
62
|
+
<template #item="slotProps">
|
|
63
|
+
<img :src="slotProps.item.itemImageSrc" :alt="slotProps.item.alt" style="width: 100%" />
|
|
64
|
+
</template>
|
|
65
|
+
<template #thumbnail="slotProps">
|
|
66
|
+
<img :src="slotProps.item.thumbnailImageSrc" :alt="slotProps.item.alt" />
|
|
67
|
+
</template>
|
|
68
|
+
</Galleria>
|
|
69
|
+
</div>
|
|
70
|
+
</template>
|
|
71
|
+
|
|
72
|
+
<script setup>
|
|
73
|
+
import { ref, onMounted } from "vue";
|
|
74
|
+
import Minus from '@primeicons/vue/minus';
|
|
75
|
+
import Plus from '@primeicons/vue/plus';
|
|
76
|
+
import { PhotoService } from '@/service/PhotoService';
|
|
77
|
+
|
|
78
|
+
onMounted(() => {
|
|
79
|
+
PhotoService.getImages().then((data) => (images.value = data));
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
const images = ref();
|
|
83
|
+
const activeIndex = ref(2);
|
|
84
|
+
const responsiveOptions = ref([
|
|
85
|
+
{
|
|
86
|
+
breakpoint: '1300px',
|
|
87
|
+
numVisible: 4
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
breakpoint: '575px',
|
|
91
|
+
numVisible: 1
|
|
92
|
+
}
|
|
93
|
+
]);
|
|
94
|
+
|
|
95
|
+
const next = () => {
|
|
96
|
+
activeIndex.value = activeIndex.value === images.value.length - 1 ? images.value.length - 1 : activeIndex.value + 1;
|
|
97
|
+
};
|
|
98
|
+
const prev = () => {
|
|
99
|
+
activeIndex.value = activeIndex.value === 0 ? 0 : activeIndex.value - 1;
|
|
100
|
+
};
|
|
101
|
+
<\/script>
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Click Event
|
|
105
|
+
|
|
106
|
+
Indicators are displayed at the bottom by enabling showIndicators property and interacted with the click event by default.
|
|
107
|
+
|
|
108
|
+
```vue
|
|
109
|
+
<template>
|
|
110
|
+
<div>
|
|
111
|
+
<Galleria :value="images" :numVisible="5" containerStyle="max-width: 640px"
|
|
112
|
+
:showThumbnails="false" :showIndicators="true">
|
|
113
|
+
<template #item="slotProps">
|
|
114
|
+
<img :src="slotProps.item.itemImageSrc" :alt="slotProps.item.alt" style="width: 100%; display: block" />
|
|
115
|
+
</template>
|
|
116
|
+
</Galleria>
|
|
117
|
+
</div>
|
|
118
|
+
</template>
|
|
119
|
+
|
|
120
|
+
<script setup>
|
|
121
|
+
import { ref, onMounted } from "vue";
|
|
122
|
+
import { PhotoService } from '@/service/PhotoService';
|
|
123
|
+
|
|
124
|
+
onMounted(() => {
|
|
125
|
+
PhotoService.getImages().then((data) => (images.value = data));
|
|
126
|
+
});
|
|
127
|
+
|
|
128
|
+
const images = ref();
|
|
129
|
+
<\/script>
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Hover Event
|
|
133
|
+
|
|
134
|
+
Indicators can be activated on hover instead of click if changeItemOnIndicatorHover is added.
|
|
135
|
+
|
|
136
|
+
```vue
|
|
137
|
+
<template>
|
|
138
|
+
<div>
|
|
139
|
+
<Galleria :value="images" :numVisible="5" containerStyle="max-width: 640px"
|
|
140
|
+
:showThumbnails="false" :showIndicators="true" :changeItemOnIndicatorHover="true">
|
|
141
|
+
<template #item="slotProps">
|
|
142
|
+
<img :src="slotProps.item.itemImageSrc" :alt="slotProps.item.alt" style="width: 100%; display: block" />
|
|
143
|
+
</template>
|
|
144
|
+
</Galleria>
|
|
145
|
+
</div>
|
|
146
|
+
</template>
|
|
147
|
+
|
|
148
|
+
<script setup>
|
|
149
|
+
import { ref, onMounted } from "vue";
|
|
150
|
+
import { PhotoService } from '@/service/PhotoService';
|
|
151
|
+
|
|
152
|
+
onMounted(() => {
|
|
153
|
+
PhotoService.getImages().then((data) => (images.value = data));
|
|
154
|
+
});
|
|
155
|
+
|
|
156
|
+
const images = ref();
|
|
157
|
+
<\/script>
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
## Position
|
|
161
|
+
|
|
162
|
+
Indicators can be placed at four different sides using the indicatorsPosition property. In addition, enabling showIndicatorsOnItem moves the indicators inside the image section.
|
|
163
|
+
|
|
164
|
+
```vue
|
|
165
|
+
<template>
|
|
166
|
+
<div>
|
|
167
|
+
<div class="flex flex-wrap gap-4 mb-8">
|
|
168
|
+
<div v-for="option in positionOptions" :key="option.label" class="flex items-center">
|
|
169
|
+
<RadioButton :value="option.value" />
|
|
170
|
+
<label :for="option.label" class="ml-2"> {{ option.label }} </label>
|
|
171
|
+
</div>
|
|
172
|
+
</div>
|
|
173
|
+
<div class="flex items-center mb-8">
|
|
174
|
+
<Checkbox v-model="inside" inputId="inside_cbox" :binary="true"></Checkbox>
|
|
175
|
+
<label for="inside_cbox" class="ml-2"> Inside </label>
|
|
176
|
+
</div>
|
|
177
|
+
<Galleria :value="images" :numVisible="5" containerStyle="max-width: 640px" :showThumbnails="false"
|
|
178
|
+
:showIndicators="true" :changeItemOnIndicatorHover="true" :showIndicatorsOnItem="inside" :indicatorsPosition="position">
|
|
179
|
+
<template #item="slotProps">
|
|
180
|
+
<img :src="slotProps.item.itemImageSrc" :alt="slotProps.item.alt" style="width: 100%; display: block" />
|
|
181
|
+
</template>
|
|
182
|
+
</Galleria>
|
|
183
|
+
</div>
|
|
184
|
+
</template>
|
|
185
|
+
|
|
186
|
+
<script setup>
|
|
187
|
+
import { ref, onMounted } from "vue";
|
|
188
|
+
import { PhotoService } from '@/service/PhotoService';
|
|
189
|
+
|
|
190
|
+
onMounted(() => {
|
|
191
|
+
PhotoService.getImages().then((data) => (images.value = data));
|
|
192
|
+
});
|
|
193
|
+
|
|
194
|
+
const images = ref();
|
|
195
|
+
const inside = ref(false);
|
|
196
|
+
const position = ref('bottom');
|
|
197
|
+
const positionOptions = ref([
|
|
198
|
+
{
|
|
199
|
+
label: 'Bottom',
|
|
200
|
+
value: 'bottom'
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
label: 'Top',
|
|
204
|
+
value: 'top'
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
label: 'Left',
|
|
208
|
+
value: 'left'
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
label: 'Right',
|
|
212
|
+
value: 'right'
|
|
213
|
+
}
|
|
214
|
+
]);
|
|
215
|
+
|
|
216
|
+
<\/script>
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
## Template
|
|
220
|
+
|
|
221
|
+
Indicator content can be customized with the indicator property that takes an index as a parameter and expects content.
|
|
222
|
+
|
|
223
|
+
```vue
|
|
224
|
+
<template>
|
|
225
|
+
<div>
|
|
226
|
+
<Galleria :value="images" :numVisible="5" containerStyle="max-width: 640px" :showThumbnails="false"
|
|
227
|
+
:showIndicators="true" :changeItemOnIndicatorHover="true" :showIndicatorsOnItem="true" indicatorsPosition="left">
|
|
228
|
+
<template #item="slotProps">
|
|
229
|
+
<img :src="slotProps.item.itemImageSrc" :alt="slotProps.item.alt" style="width: 100%; display: block" />
|
|
230
|
+
</template>
|
|
231
|
+
<template #indicator="{ index }">
|
|
232
|
+
<span style="color: '#ffffff', cursor: pointer">{{ index + 1 }}</span>
|
|
233
|
+
</template>
|
|
234
|
+
</Galleria>
|
|
235
|
+
</div>
|
|
236
|
+
</template>
|
|
237
|
+
|
|
238
|
+
<script setup>
|
|
239
|
+
import { ref, onMounted } from "vue";
|
|
240
|
+
import { PhotoService } from '@/service/PhotoService';
|
|
241
|
+
|
|
242
|
+
onMounted(() => {
|
|
243
|
+
PhotoService.getImages().then((data) => (images.value = data));
|
|
244
|
+
});
|
|
245
|
+
|
|
246
|
+
const images = ref();
|
|
247
|
+
<\/script>
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
## Thumbnail
|
|
251
|
+
|
|
252
|
+
Thumbnails represent a smaller version of the actual content.
|
|
253
|
+
|
|
254
|
+
```vue
|
|
255
|
+
<template>
|
|
256
|
+
<div>
|
|
257
|
+
<div class="flex flex-wrap gap-4 mb-8">
|
|
258
|
+
<div v-for="option in positionOptions" :key="option.label" class="flex items-center">
|
|
259
|
+
<RadioButton v-model="position" :inputId="option.label" name="option" :value="option.value" />
|
|
260
|
+
<label :for="option.label" class="ml-2"> {{ option.label }} </label>
|
|
261
|
+
</div>
|
|
262
|
+
</div>
|
|
263
|
+
<Galleria :value="images" :responsiveOptions="responsiveOptions" :numVisible="4" :thumbnailsPosition="position" containerStyle="max-width: 640px">
|
|
264
|
+
<template #item="slotProps">
|
|
265
|
+
<img :src="slotProps.item.itemImageSrc" :alt="slotProps.item.alt" style="width: 100%; display: block" />
|
|
266
|
+
</template>
|
|
267
|
+
<template #thumbnail="slotProps">
|
|
268
|
+
<div class="grid gap-4 justify-center">
|
|
269
|
+
<img :src="slotProps.item.thumbnailImageSrc" :alt="slotProps.item.alt" style="width: 100%; display: block;" />
|
|
270
|
+
</div>
|
|
271
|
+
</template>
|
|
272
|
+
</Galleria>
|
|
273
|
+
</div>
|
|
274
|
+
</template>
|
|
275
|
+
|
|
276
|
+
<script setup>
|
|
277
|
+
import { ref, onMounted } from "vue";
|
|
278
|
+
import { PhotoService } from '@/service/PhotoService';
|
|
279
|
+
|
|
280
|
+
const images = ref();
|
|
281
|
+
const position = ref('bottom');
|
|
282
|
+
const positionOptions = ref([
|
|
283
|
+
{
|
|
284
|
+
label: 'Bottom',
|
|
285
|
+
value: 'bottom'
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
label: 'Top',
|
|
289
|
+
value: 'top'
|
|
290
|
+
},
|
|
291
|
+
{
|
|
292
|
+
label: 'Left',
|
|
293
|
+
value: 'left'
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
label: 'Right',
|
|
297
|
+
value: 'right'
|
|
298
|
+
}
|
|
299
|
+
]);
|
|
300
|
+
const responsiveOptions = ref([
|
|
301
|
+
{
|
|
302
|
+
breakpoint: '1300px',
|
|
303
|
+
numVisible: 4
|
|
304
|
+
},
|
|
305
|
+
{
|
|
306
|
+
breakpoint: '575px',
|
|
307
|
+
numVisible: 1
|
|
308
|
+
}
|
|
309
|
+
]);
|
|
310
|
+
|
|
311
|
+
onMounted(() => {
|
|
312
|
+
PhotoService.getImages().then((data) => (images.value = data));
|
|
313
|
+
});
|
|
314
|
+
<\/script>
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
## Responsive
|
|
318
|
+
|
|
319
|
+
Settings per screen size is defined via the responsiveOptions property.
|
|
320
|
+
|
|
321
|
+
```vue
|
|
322
|
+
<template>
|
|
323
|
+
<div>
|
|
324
|
+
<Galleria :value="images" :responsiveOptions="responsiveOptions" :numVisible="5" :circular="true" containerStyle="max-width: 640px">
|
|
325
|
+
<template #item="slotProps">
|
|
326
|
+
<img :src="slotProps.item.itemImageSrc" :alt="slotProps.item.alt" style="width: 100%; display: block" />
|
|
327
|
+
</template>
|
|
328
|
+
<template #thumbnail="slotProps">
|
|
329
|
+
<img :src="slotProps.item.thumbnailImageSrc" :alt="slotProps.item.alt" style="width: 100%; display: block" />
|
|
330
|
+
</template>
|
|
331
|
+
</Galleria>
|
|
332
|
+
</div>
|
|
333
|
+
</template>
|
|
334
|
+
|
|
335
|
+
<script setup>
|
|
336
|
+
import { ref, onMounted } from "vue";
|
|
337
|
+
import { PhotoService } from '@/service/PhotoService';
|
|
338
|
+
|
|
339
|
+
onMounted(() => {
|
|
340
|
+
PhotoService.getImages().then((data) => (images.value = data));
|
|
341
|
+
});
|
|
342
|
+
|
|
343
|
+
const images = ref();
|
|
344
|
+
const responsiveOptions = ref([
|
|
345
|
+
{
|
|
346
|
+
breakpoint: '1300px',
|
|
347
|
+
numVisible: 4
|
|
348
|
+
},
|
|
349
|
+
{
|
|
350
|
+
breakpoint: '575px',
|
|
351
|
+
numVisible: 1
|
|
352
|
+
}
|
|
353
|
+
]);
|
|
354
|
+
<\/script>
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
## With Thumbnails
|
|
358
|
+
|
|
359
|
+
Full screen mode is enabled by adding fullScreen property and and visibility is controlled with a binding to visible property.
|
|
360
|
+
|
|
361
|
+
```vue
|
|
362
|
+
<template>
|
|
363
|
+
<div class="flex justify-center">
|
|
364
|
+
<Galleria v-model:visible="displayBasic" :value="images" :responsiveOptions="responsiveOptions" :numVisible="9" containerStyle="max-width: 50%" :circular="true" :fullScreen="true" :showItemNavigators="true">
|
|
365
|
+
<template #item="slotProps">
|
|
366
|
+
<img :src="slotProps.item.itemImageSrc" :alt="slotProps.item.alt" style="width: 100%; display: block" />
|
|
367
|
+
</template>
|
|
368
|
+
<template #thumbnail="slotProps">
|
|
369
|
+
<img :src="slotProps.item.thumbnailImageSrc" :alt="slotProps.item.alt" style="display: block" />
|
|
370
|
+
</template>
|
|
371
|
+
</Galleria>
|
|
372
|
+
|
|
373
|
+
<Button @click="displayBasic = true">
|
|
374
|
+
<ExternalLink />
|
|
375
|
+
Show
|
|
376
|
+
</Button>
|
|
377
|
+
</div>
|
|
378
|
+
</template>
|
|
379
|
+
|
|
380
|
+
<script setup>
|
|
381
|
+
import ExternalLink from '@primeicons/vue/external-link';
|
|
382
|
+
import { ref, onMounted } from "vue";
|
|
383
|
+
import { PhotoService } from '@/service/PhotoService';
|
|
384
|
+
|
|
385
|
+
const images = ref();
|
|
386
|
+
const responsiveOptions = ref([
|
|
387
|
+
{
|
|
388
|
+
breakpoint: '1500px',
|
|
389
|
+
numVisible: 5
|
|
390
|
+
},
|
|
391
|
+
{
|
|
392
|
+
breakpoint: '1024px',
|
|
393
|
+
numVisible: 3
|
|
394
|
+
},
|
|
395
|
+
{
|
|
396
|
+
breakpoint: '768px',
|
|
397
|
+
numVisible: 2
|
|
398
|
+
},
|
|
399
|
+
{
|
|
400
|
+
breakpoint: '560px',
|
|
401
|
+
numVisible: 1
|
|
402
|
+
}
|
|
403
|
+
]);
|
|
404
|
+
const displayBasic = ref(false);
|
|
405
|
+
|
|
406
|
+
onMounted(() => {
|
|
407
|
+
PhotoService.getImages().then((data) => (images.value = data));
|
|
408
|
+
})
|
|
409
|
+
<\/script>
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
## Without Thumbnails
|
|
413
|
+
|
|
414
|
+
Thumbnails can also be hidden in full screen mode.
|
|
415
|
+
|
|
416
|
+
```vue
|
|
417
|
+
<template>
|
|
418
|
+
<div class="flex justify-center">
|
|
419
|
+
<Galleria v-model:visible="displayBasic" :value="images" :responsiveOptions="responsiveOptions" :numVisible="9" containerStyle="max-width: 50%" :circular="true" :fullScreen="true" :showItemNavigators="true" :showThumbnails="false">
|
|
420
|
+
<template #item="slotProps">
|
|
421
|
+
<img :src="slotProps.item.itemImageSrc" :alt="slotProps.item.alt" style="width: 100%; display: block" />
|
|
422
|
+
</template>
|
|
423
|
+
<template #thumbnail="slotProps">
|
|
424
|
+
<img :src="slotProps.item.thumbnailImageSrc" :alt="slotProps.item.alt" style="display: block" />
|
|
425
|
+
</template>
|
|
426
|
+
</Galleria>
|
|
427
|
+
|
|
428
|
+
<Button @click="displayBasic = true">
|
|
429
|
+
<ExternalLink />
|
|
430
|
+
Show
|
|
431
|
+
</Button>
|
|
432
|
+
</div>
|
|
433
|
+
</template>
|
|
434
|
+
|
|
435
|
+
<script setup>
|
|
436
|
+
import ExternalLink from '@primeicons/vue/external-link';
|
|
437
|
+
import { ref, onMounted } from "vue";
|
|
438
|
+
import { PhotoService } from '@/service/PhotoService';
|
|
439
|
+
|
|
440
|
+
const images = ref();
|
|
441
|
+
const responsiveOptions = ref([
|
|
442
|
+
{
|
|
443
|
+
breakpoint: '1500px',
|
|
444
|
+
numVisible: 5
|
|
445
|
+
},
|
|
446
|
+
{
|
|
447
|
+
breakpoint: '1024px',
|
|
448
|
+
numVisible: 3
|
|
449
|
+
},
|
|
450
|
+
{
|
|
451
|
+
breakpoint: '768px',
|
|
452
|
+
numVisible: 2
|
|
453
|
+
},
|
|
454
|
+
{
|
|
455
|
+
breakpoint: '560px',
|
|
456
|
+
numVisible: 1
|
|
457
|
+
}
|
|
458
|
+
]);
|
|
459
|
+
const displayBasic = ref(false);
|
|
460
|
+
|
|
461
|
+
onMounted(() => {
|
|
462
|
+
PhotoService.getImages().then((data) => (images.value = data));
|
|
463
|
+
})
|
|
464
|
+
<\/script>
|
|
465
|
+
```
|
|
466
|
+
|
|
467
|
+
## Custom Content
|
|
468
|
+
|
|
469
|
+
Using activeIndex , Galleria is displayed with a specific initial image.
|
|
470
|
+
|
|
471
|
+
```vue
|
|
472
|
+
<template>
|
|
473
|
+
<div class="flex justify-center">
|
|
474
|
+
<Galleria v-model:activeIndex="activeIndex" v-model:visible="displayCustom" :value="images" :responsiveOptions="responsiveOptions" :numVisible="7"
|
|
475
|
+
containerStyle="max-width: 850px" :circular="true" :fullScreen="true" :showItemNavigators="true" :showThumbnails="false">
|
|
476
|
+
<template #item="slotProps">
|
|
477
|
+
<img :src="slotProps.item.itemImageSrc" :alt="slotProps.item.alt" style="width: 100%; display: block" />
|
|
478
|
+
</template>
|
|
479
|
+
<template #thumbnail="slotProps">
|
|
480
|
+
<img :src="slotProps.item.thumbnailImageSrc" :alt="slotProps.item.alt" style="display: block" />
|
|
481
|
+
</template>
|
|
482
|
+
</Galleria>
|
|
483
|
+
|
|
484
|
+
<div v-if="images" class="grid grid-cols-12 gap-4" style="max-width: 400px">
|
|
485
|
+
<div v-for="(image, index) of images" :key="index" class="col-span-4">
|
|
486
|
+
<img :src="image.thumbnailImageSrc" :alt="image.alt" style="cursor: pointer" @click="imageClick(index)" />
|
|
487
|
+
</div>
|
|
488
|
+
</div>
|
|
489
|
+
</div>
|
|
490
|
+
</template>
|
|
491
|
+
|
|
492
|
+
<script setup>
|
|
493
|
+
import { ref, onMounted } from "vue";
|
|
494
|
+
import { PhotoService } from '@/service/PhotoService';
|
|
495
|
+
|
|
496
|
+
onMounted(() => {
|
|
497
|
+
PhotoService.getImages().then((data) => (images.value = data));
|
|
498
|
+
});
|
|
499
|
+
|
|
500
|
+
const images = ref();
|
|
501
|
+
const activeIndex = ref(0);
|
|
502
|
+
const responsiveOptions = ref([
|
|
503
|
+
{
|
|
504
|
+
breakpoint: '1024px',
|
|
505
|
+
numVisible: 5
|
|
506
|
+
},
|
|
507
|
+
{
|
|
508
|
+
breakpoint: '768px',
|
|
509
|
+
numVisible: 3
|
|
510
|
+
},
|
|
511
|
+
{
|
|
512
|
+
breakpoint: '560px',
|
|
513
|
+
numVisible: 1
|
|
514
|
+
}
|
|
515
|
+
]);
|
|
516
|
+
const displayCustom = ref(false);
|
|
517
|
+
|
|
518
|
+
const imageClick = (index) => {
|
|
519
|
+
activeIndex.value = index;
|
|
520
|
+
displayCustom.value = true;
|
|
521
|
+
};
|
|
522
|
+
<\/script>
|
|
523
|
+
```
|
|
524
|
+
|
|
525
|
+
## With Thumbnails
|
|
526
|
+
|
|
527
|
+
Add showItemNavigators to display navigator elements and the left and right side.
|
|
528
|
+
|
|
529
|
+
```vue
|
|
530
|
+
<template>
|
|
531
|
+
<div>
|
|
532
|
+
<Galleria :value="images" :responsiveOptions="responsiveOptions" :numVisible="5" :circular="true" containerStyle="max-width: 640px"
|
|
533
|
+
:showItemNavigators="true">
|
|
534
|
+
<template #item="slotProps">
|
|
535
|
+
<img :src="slotProps.item.itemImageSrc" :alt="slotProps.item.alt" style="width: 100%; display: block;" />
|
|
536
|
+
</template>
|
|
537
|
+
<template #thumbnail="slotProps">
|
|
538
|
+
<img :src="slotProps.item.thumbnailImageSrc" :alt="slotProps.item.alt" style="display: block;" />
|
|
539
|
+
</template>
|
|
540
|
+
</Galleria>
|
|
541
|
+
</div>
|
|
542
|
+
</template>
|
|
543
|
+
|
|
544
|
+
<script setup>
|
|
545
|
+
import { ref, onMounted } from "vue";
|
|
546
|
+
import { PhotoService } from '@/service/PhotoService';
|
|
547
|
+
|
|
548
|
+
onMounted(() => {
|
|
549
|
+
PhotoService.getImages().then((data) => (images.value = data));
|
|
550
|
+
});
|
|
551
|
+
|
|
552
|
+
const images = ref();
|
|
553
|
+
const responsiveOptions = ref([
|
|
554
|
+
{
|
|
555
|
+
breakpoint: '1300px',
|
|
556
|
+
numVisible: 4
|
|
557
|
+
},
|
|
558
|
+
{
|
|
559
|
+
breakpoint: '575px',
|
|
560
|
+
numVisible: 1
|
|
561
|
+
}
|
|
562
|
+
]);
|
|
563
|
+
<\/script>
|
|
564
|
+
```
|
|
565
|
+
|
|
566
|
+
## Without Thumbnails
|
|
567
|
+
|
|
568
|
+
Simple example with navigators only.
|
|
569
|
+
|
|
570
|
+
```vue
|
|
571
|
+
<template>
|
|
572
|
+
<div>
|
|
573
|
+
<Galleria :value="images" :responsiveOptions="responsiveOptions" :numVisible="5" :circular="true" containerStyle="max-width: 640px"
|
|
574
|
+
:showItemNavigators="true" :showThumbnails="false">
|
|
575
|
+
<template #item="slotProps">
|
|
576
|
+
<img :src="slotProps.item.itemImageSrc" :alt="slotProps.item.alt" style="width: 100%; display: block;" />
|
|
577
|
+
</template>
|
|
578
|
+
<template #thumbnail="slotProps">
|
|
579
|
+
<img :src="slotProps.item.thumbnailImageSrc" :alt="slotProps.item.alt" style="display: block;" />
|
|
580
|
+
</template>
|
|
581
|
+
</Galleria>
|
|
582
|
+
</div>
|
|
583
|
+
</template>
|
|
584
|
+
|
|
585
|
+
<script setup>
|
|
586
|
+
import { ref, onMounted } from "vue";
|
|
587
|
+
import { PhotoService } from '@/service/PhotoService';
|
|
588
|
+
|
|
589
|
+
onMounted(() => {
|
|
590
|
+
PhotoService.getImages().then((data) => (images.value = data));
|
|
591
|
+
});
|
|
592
|
+
|
|
593
|
+
const images = ref();
|
|
594
|
+
const responsiveOptions = ref([
|
|
595
|
+
{
|
|
596
|
+
breakpoint: '991px',
|
|
597
|
+
numVisible: 4
|
|
598
|
+
},
|
|
599
|
+
{
|
|
600
|
+
breakpoint: '767px',
|
|
601
|
+
numVisible: 3
|
|
602
|
+
},
|
|
603
|
+
{
|
|
604
|
+
breakpoint: '575px',
|
|
605
|
+
numVisible: 1
|
|
606
|
+
}
|
|
607
|
+
]);
|
|
608
|
+
<\/script>
|
|
609
|
+
```
|
|
610
|
+
|
|
611
|
+
## Display on Hover
|
|
612
|
+
|
|
613
|
+
Navigators are displayed on hover only if showItemNavigatorsOnHover is enabled.
|
|
614
|
+
|
|
615
|
+
```vue
|
|
616
|
+
<template>
|
|
617
|
+
<div>
|
|
618
|
+
<Galleria :value="images" :responsiveOptions="responsiveOptions" :numVisible="5" :circular="true" containerStyle="max-width: 640px" :showItemNavigators="true" :showItemNavigatorsOnHover="true">
|
|
619
|
+
<template #item="slotProps">
|
|
620
|
+
<img :src="slotProps.item.itemImageSrc" :alt="slotProps.item.alt" style="width: 100%; display: block" />
|
|
621
|
+
</template>
|
|
622
|
+
<template #thumbnail="slotProps">
|
|
623
|
+
<img :src="slotProps.item.thumbnailImageSrc" :alt="slotProps.item.alt" style="display: block" />
|
|
624
|
+
</template>
|
|
625
|
+
</Galleria>
|
|
626
|
+
</div>
|
|
627
|
+
</template>
|
|
628
|
+
|
|
629
|
+
<script setup>
|
|
630
|
+
import { ref, onMounted } from "vue";
|
|
631
|
+
import { PhotoService } from '@/service/PhotoService';
|
|
632
|
+
|
|
633
|
+
onMounted(() => {
|
|
634
|
+
PhotoService.getImages().then((data) => (images.value = data));
|
|
635
|
+
});
|
|
636
|
+
|
|
637
|
+
const images = ref();
|
|
638
|
+
const responsiveOptions = ref([
|
|
639
|
+
{
|
|
640
|
+
breakpoint: '1300px',
|
|
641
|
+
numVisible: 4
|
|
642
|
+
},
|
|
643
|
+
{
|
|
644
|
+
breakpoint: '575px',
|
|
645
|
+
numVisible: 1
|
|
646
|
+
}
|
|
647
|
+
]);
|
|
648
|
+
<\/script>
|
|
649
|
+
```
|
|
650
|
+
|
|
651
|
+
## With Indicators
|
|
652
|
+
|
|
653
|
+
Navigators and Indicators can be combined as well.
|
|
654
|
+
|
|
655
|
+
```vue
|
|
656
|
+
<template>
|
|
657
|
+
<div>
|
|
658
|
+
<Galleria :value="images" :responsiveOptions="responsiveOptions" :numVisible="5" :circular="true" containerStyle="max-width: 640px"
|
|
659
|
+
:showItemNavigators="true" :showThumbnails="false" :showItemNavigatorsOnHover="true" :showIndicators="true">
|
|
660
|
+
<template #item="slotProps">
|
|
661
|
+
<img :src="slotProps.item.itemImageSrc" :alt="slotProps.item.alt" style="width: 100%; display: block;" />
|
|
662
|
+
</template>
|
|
663
|
+
<template #thumbnail="slotProps">
|
|
664
|
+
<img :src="slotProps.item.thumbnailImageSrc" :alt="slotProps.item.alt" style="display: block;" />
|
|
665
|
+
</template>
|
|
666
|
+
</Galleria>
|
|
667
|
+
</div>
|
|
668
|
+
</template>
|
|
669
|
+
|
|
670
|
+
<script setup>
|
|
671
|
+
import { ref, onMounted } from "vue";
|
|
672
|
+
import { PhotoService } from '@/service/PhotoService';
|
|
673
|
+
|
|
674
|
+
onMounted(() => {
|
|
675
|
+
PhotoService.getImages().then((data) => (images.value = data));
|
|
676
|
+
});
|
|
677
|
+
|
|
678
|
+
const images = ref();
|
|
679
|
+
const responsiveOptions = ref([
|
|
680
|
+
{
|
|
681
|
+
breakpoint: '991px',
|
|
682
|
+
numVisible: 4
|
|
683
|
+
},
|
|
684
|
+
{
|
|
685
|
+
breakpoint: '767px',
|
|
686
|
+
numVisible: 3
|
|
687
|
+
},
|
|
688
|
+
{
|
|
689
|
+
breakpoint: '575px',
|
|
690
|
+
numVisible: 1
|
|
691
|
+
}
|
|
692
|
+
]);
|
|
693
|
+
<\/script>
|
|
694
|
+
```
|
|
695
|
+
|
|
696
|
+
## AutoPlay
|
|
697
|
+
|
|
698
|
+
A slideshow implementation is defined by adding circular and autoPlay properties.
|
|
699
|
+
|
|
700
|
+
```vue
|
|
701
|
+
<template>
|
|
702
|
+
<div>
|
|
703
|
+
<Galleria :value="images" :responsiveOptions="responsiveOptions" :numVisible="5" containerStyle="max-width: 640px"
|
|
704
|
+
:circular="true" :autoPlay="true" :transitionInterval="2000">
|
|
705
|
+
<template #item="slotProps">
|
|
706
|
+
<img :src="slotProps.item.itemImageSrc" :alt="slotProps.item.alt" style="width: 100%; display: block" />
|
|
707
|
+
</template>
|
|
708
|
+
<template #thumbnail="slotProps">
|
|
709
|
+
<img :src="slotProps.item.thumbnailImageSrc" :alt="slotProps.item.alt" style="display: block" />
|
|
710
|
+
</template>
|
|
711
|
+
</Galleria>
|
|
712
|
+
</div>
|
|
713
|
+
</template>
|
|
714
|
+
|
|
715
|
+
<script setup>
|
|
716
|
+
import { ref, onMounted } from "vue";
|
|
717
|
+
import { PhotoService } from '@/service/PhotoService';
|
|
718
|
+
|
|
719
|
+
onMounted(() => {
|
|
720
|
+
PhotoService.getImages().then((data) => (images.value = data));
|
|
721
|
+
});
|
|
722
|
+
|
|
723
|
+
const images = ref();
|
|
724
|
+
const responsiveOptions = ref([
|
|
725
|
+
{
|
|
726
|
+
breakpoint: '1300px',
|
|
727
|
+
numVisible: 4
|
|
728
|
+
},
|
|
729
|
+
{
|
|
730
|
+
breakpoint: '575px',
|
|
731
|
+
numVisible: 1
|
|
732
|
+
}
|
|
733
|
+
]);
|
|
734
|
+
<\/script>
|
|
735
|
+
```
|
|
736
|
+
|
|
737
|
+
## Caption
|
|
738
|
+
|
|
739
|
+
Description of an image is specified with the caption property that takes the displayed object and returns content.
|
|
740
|
+
|
|
741
|
+
```vue
|
|
742
|
+
<template>
|
|
743
|
+
<div>
|
|
744
|
+
<Galleria :value="images" :responsiveOptions="responsiveOptions" :numVisible="5" containerStyle="max-width: 640px">
|
|
745
|
+
<template #item="slotProps">
|
|
746
|
+
<img :src="slotProps.item.itemImageSrc" :alt="slotProps.item.alt" style="width: 100%; display: block" />
|
|
747
|
+
</template>
|
|
748
|
+
<template #thumbnail="slotProps">
|
|
749
|
+
<img :src="slotProps.item.thumbnailImageSrc" :alt="slotProps.item.alt" style="display: block" />
|
|
750
|
+
</template>
|
|
751
|
+
<template #caption="slotProps">
|
|
752
|
+
<div class="text-xl mb-2 font-bold">{{ slotProps.item.title }}</div>
|
|
753
|
+
<p class="text-white">{{ slotProps.item.alt }}</p>
|
|
754
|
+
</template>
|
|
755
|
+
</Galleria>
|
|
756
|
+
</div>
|
|
757
|
+
</template>
|
|
758
|
+
|
|
759
|
+
<script setup>
|
|
760
|
+
import { ref, onMounted } from "vue";
|
|
761
|
+
import { PhotoService } from '@/service/PhotoService';
|
|
762
|
+
|
|
763
|
+
onMounted(() => {
|
|
764
|
+
PhotoService.getImages().then((data) => (images.value = data));
|
|
765
|
+
});
|
|
766
|
+
|
|
767
|
+
const images = ref();
|
|
768
|
+
const responsiveOptions = ref([
|
|
769
|
+
{
|
|
770
|
+
breakpoint: '1300px',
|
|
771
|
+
numVisible: 4
|
|
772
|
+
},
|
|
773
|
+
{
|
|
774
|
+
breakpoint: '575px',
|
|
775
|
+
numVisible: 1
|
|
776
|
+
}
|
|
777
|
+
]);
|
|
778
|
+
<\/script>
|
|
779
|
+
```
|
|
780
|
+
|
|
781
|
+
## Advanced
|
|
782
|
+
|
|
783
|
+
Advanced Galleria implementation with a custom UI.
|
|
784
|
+
|
|
785
|
+
```vue
|
|
786
|
+
<template>
|
|
787
|
+
<div>
|
|
788
|
+
<Galleria
|
|
789
|
+
ref="galleria"
|
|
790
|
+
v-model:activeIndex="activeIndex"
|
|
791
|
+
:value="images"
|
|
792
|
+
:numVisible="5"
|
|
793
|
+
containerStyle="max-width: 640px"
|
|
794
|
+
:showThumbnails="showThumbnails"
|
|
795
|
+
:showItemNavigators="true"
|
|
796
|
+
:showItemNavigatorsOnHover="true"
|
|
797
|
+
:circular="true"
|
|
798
|
+
:autoPlay="isAutoPlay"
|
|
799
|
+
:transitionInterval="3000"
|
|
800
|
+
:responsiveOptions="responsiveOptions"
|
|
801
|
+
:pt="{
|
|
802
|
+
root: {
|
|
803
|
+
class: [{ 'flex flex-col': fullScreen }]
|
|
804
|
+
},
|
|
805
|
+
content: {
|
|
806
|
+
class: ['relative', { 'flex-1 justify-center': fullScreen }]
|
|
807
|
+
},
|
|
808
|
+
thumbnails: 'absolute w-full left-0 bottom-0'
|
|
809
|
+
}"
|
|
810
|
+
>
|
|
811
|
+
<template #item="slotProps">
|
|
812
|
+
<img :src="slotProps.item.itemImageSrc" :alt="slotProps.item.alt" :style="[{ width: !fullScreen ? '100%' : '', display: !fullScreen ? 'block' : '' }]" />
|
|
813
|
+
</template>
|
|
814
|
+
<template #thumbnail="slotProps">
|
|
815
|
+
<div class="grid gap-4 justify-center">
|
|
816
|
+
<img :src="slotProps.item.thumbnailImageSrc" :alt="slotProps.item.alt" style="display: block" />
|
|
817
|
+
</div>
|
|
818
|
+
</template>
|
|
819
|
+
<template #footer>
|
|
820
|
+
<div class="flex items-stretch bg-surface-950 text-white h-10">
|
|
821
|
+
<button type="button" @click="onThumbnailButtonClick" class="bg-transparent border-none rounded-none hover:bg-white/10 text-white inline-flex justify-center items-center cursor-pointer px-3">
|
|
822
|
+
<ThLarge />
|
|
823
|
+
</button>
|
|
824
|
+
<button type="button" @click="toggleAutoSlide" class="bg-transparent border-none rounded-none hover:bg-white/10 text-white inline-flex justify-center items-center cursor-pointer px-3"><component :is="slideButtonIcon" /></button>
|
|
825
|
+
<span v-if="images" class="flex items-center gap-4 ml-3">
|
|
826
|
+
<span class="text-sm">{{ activeIndex + 1 }}/{{ images.length }}</span>
|
|
827
|
+
<span class="font-bold text-sm">{{ images[activeIndex].title }}</span>
|
|
828
|
+
<span class="text-sm">{{ images[activeIndex].alt }}</span>
|
|
829
|
+
</span>
|
|
830
|
+
<button type="button" @click="toggleFullScreen" class="bg-transparent border-none rounded-none hover:bg-white/10 text-white inline-flex justify-center items-center cursor-pointer px-3 ml-auto">
|
|
831
|
+
<component :is="fullScreenIcon" />
|
|
832
|
+
</button>
|
|
833
|
+
</div>
|
|
834
|
+
</template>
|
|
835
|
+
</Galleria>
|
|
836
|
+
</div>
|
|
837
|
+
</template>
|
|
838
|
+
|
|
839
|
+
<script setup>
|
|
840
|
+
import { ref, computed, onMounted } from "vue";
|
|
841
|
+
import Pause from '@primeicons/vue/pause';
|
|
842
|
+
import Play from '@primeicons/vue/play';
|
|
843
|
+
import ThLarge from '@primeicons/vue/th-large';
|
|
844
|
+
import WindowMaximize from '@primeicons/vue/window-maximize';
|
|
845
|
+
import WindowMinimize from '@primeicons/vue/window-minimize';
|
|
846
|
+
import { PhotoService } from '@/service/PhotoService';
|
|
847
|
+
|
|
848
|
+
onMounted(() => {
|
|
849
|
+
PhotoService.getImages().then((data) => (images.value = data));
|
|
850
|
+
bindDocumentListeners();
|
|
851
|
+
});
|
|
852
|
+
|
|
853
|
+
const galleria = ref();
|
|
854
|
+
const images = ref();
|
|
855
|
+
const activeIndex = ref(0);
|
|
856
|
+
const showThumbnails = ref(false);
|
|
857
|
+
const fullScreen = ref(false);
|
|
858
|
+
const isAutoPlay = ref(true);
|
|
859
|
+
|
|
860
|
+
const toggleAutoSlide = () => {
|
|
861
|
+
isAutoPlay.value = !isAutoPlay.value ;
|
|
862
|
+
};
|
|
863
|
+
const onThumbnailButtonClick = () => {
|
|
864
|
+
showThumbnails.value = !showThumbnails.value ;
|
|
865
|
+
};
|
|
866
|
+
|
|
867
|
+
const responsiveOptions = ref([
|
|
868
|
+
{
|
|
869
|
+
breakpoint: '1300px',
|
|
870
|
+
numVisible: 4
|
|
871
|
+
},
|
|
872
|
+
{
|
|
873
|
+
breakpoint: '575px',
|
|
874
|
+
numVisible: 1
|
|
875
|
+
}
|
|
876
|
+
]);
|
|
877
|
+
|
|
878
|
+
const toggleFullScreen = () => {
|
|
879
|
+
if (fullScreen.value ) {
|
|
880
|
+
closeFullScreen();
|
|
881
|
+
} else {
|
|
882
|
+
openFullScreen();
|
|
883
|
+
}
|
|
884
|
+
};
|
|
885
|
+
const onFullScreenChange = () => {
|
|
886
|
+
fullScreen.value = !fullScreen.value ;
|
|
887
|
+
};
|
|
888
|
+
const openFullScreen = () =>{
|
|
889
|
+
let elem = galleria.value.$el;
|
|
890
|
+
|
|
891
|
+
if (elem.requestFullscreen) {
|
|
892
|
+
elem.requestFullscreen();
|
|
893
|
+
} else if (elem.mozRequestFullScreen) {
|
|
894
|
+
/* Firefox */
|
|
895
|
+
elem.mozRequestFullScreen();
|
|
896
|
+
} else if (elem.webkitRequestFullscreen) {
|
|
897
|
+
/* Chrome, Safari & Opera */
|
|
898
|
+
elem.webkitRequestFullscreen();
|
|
899
|
+
} else if (elem.msRequestFullscreen) {
|
|
900
|
+
/* IE/Edge */
|
|
901
|
+
elem.msRequestFullscreen();
|
|
902
|
+
}
|
|
903
|
+
};
|
|
904
|
+
const closeFullScreen = () => {
|
|
905
|
+
if (document.exitFullscreen) {
|
|
906
|
+
document.exitFullscreen();
|
|
907
|
+
} else if (document.mozCancelFullScreen) {
|
|
908
|
+
document.mozCancelFullScreen();
|
|
909
|
+
} else if (document.webkitExitFullscreen) {
|
|
910
|
+
document.webkitExitFullscreen();
|
|
911
|
+
} else if (document.msExitFullscreen) {
|
|
912
|
+
document.msExitFullscreen();
|
|
913
|
+
}
|
|
914
|
+
};
|
|
915
|
+
const bindDocumentListeners = () => {
|
|
916
|
+
document.addEventListener('fullscreenchange', onFullScreenChange);
|
|
917
|
+
document.addEventListener('mozfullscreenchange', onFullScreenChange);
|
|
918
|
+
document.addEventListener('webkitfullscreenchange', onFullScreenChange);
|
|
919
|
+
document.addEventListener('msfullscreenchange', onFullScreenChange);
|
|
920
|
+
};
|
|
921
|
+
const unbindDocumentListeners = () => {
|
|
922
|
+
document.removeEventListener('fullscreenchange', onFullScreenChange);
|
|
923
|
+
document.removeEventListener('mozfullscreenchange', onFullScreenChange);
|
|
924
|
+
document.removeEventListener('webkitfullscreenchange', onFullScreenChange);
|
|
925
|
+
document.removeEventListener('msfullscreenchange', onFullScreenChange);
|
|
926
|
+
};
|
|
927
|
+
|
|
928
|
+
const fullScreenIcon = computed(() => {
|
|
929
|
+
return fullScreen.value ? WindowMinimize : WindowMaximize;
|
|
930
|
+
});
|
|
931
|
+
const slideButtonIcon = computed(() => {
|
|
932
|
+
return isAutoPlay.value ? Pause : Play;
|
|
933
|
+
});
|
|
934
|
+
<\/script>
|
|
935
|
+
```
|
|
936
|
+
|
|
937
|
+
## Accessibility
|
|
938
|
+
|
|
939
|
+
Screen Reader Galleria uses region role and since any attribute is passed to the main container element, attributes such as aria-label and aria-roledescription can be used as well. The slides container has aria-live attribute set as "polite" if galleria is not in autoplay mode, otherwise "off" would be the value in autoplay. A slide has a group role with an aria-label that refers to the aria.slideNumber property of the locale API. Similarly aria.slide is used as the aria-roledescription of the item. Inactive slides are hidden from the readers with aria-hidden . Next and Previous navigators are button elements with aria-label attributes referring to the aria.prevPageLabel and aria.nextPageLabel properties of the locale API by default respectively, you may still use your own aria roles and attributes as any valid attribute is passed to the button elements implicitly by using nextButtonProps and prevButtonProps . Quick navigation elements and thumnbails follow the tab pattern. They are placed inside an element with a tablist role whereas each item has a tab role with aria-selected and aria-controls attributes. The aria-label attribute of a quick navigation item refers to the aria.pageLabel of the locale API. Current page is marked with aria-current . In full screen mode, modal element uses dialog role with aria-modal enabled. The close button retrieves aria-label from the aria.close property of the locale API. Next/Prev Keyboard Support Key Function tab Moves focus through interactive elements in the carousel. enter Activates navigation. space Activates navigation. Quick Navigation Keyboard Support Key Function tab Moves focus through the active slide link. enter Activates the focused slide link. space Activates the focused slide link. right arrow Moves focus to the next slide link. left arrow Moves focus to the previous slide link. home Moves focus to the first slide link. end Moves focus to the last slide link.
|
|
940
|
+
|
|
941
|
+
## Galleria API
|
|
942
|
+
|
|
943
|
+
### Props
|
|
944
|
+
|
|
945
|
+
| Name |Type |Default |Description |
|
|
946
|
+
| --- | --- | --- | --- |
|
|
947
|
+
| id | string | - | Unique identifier of the element. |
|
|
948
|
+
| value | any[] | - | An array of objects to display. |
|
|
949
|
+
| activeIndex | number | 0 | Index of the first item. |
|
|
950
|
+
| fullScreen | boolean | false | Whether to display the component on fullscreen. |
|
|
951
|
+
| visible | boolean | false | Specifies the visibility of the mask on fullscreen mode. |
|
|
952
|
+
| numVisible | number | 3 | Number of items per page. |
|
|
953
|
+
| responsiveOptions | GalleriaResponsiveOptions[] | - | An array of options for responsive design. |
|
|
954
|
+
| showItemNavigators | boolean | false | Whether to display navigation buttons in item section. |
|
|
955
|
+
| showThumbnailNavigators | boolean | true | Whether to display navigation buttons in thumbnail container. |
|
|
956
|
+
| showItemNavigatorsOnHover | boolean | false | Whether to display navigation buttons on item hover. |
|
|
957
|
+
| changeItemOnIndicatorHover | boolean | false | When enabled, item is changed on indicator hover. |
|
|
958
|
+
| circular | boolean | false | Defines if scrolling would be infinite. |
|
|
959
|
+
| autoPlay | boolean | false | Items are displayed with a slideshow in autoPlay mode. |
|
|
960
|
+
| transitionInterval | number | 4000 | Time in milliseconds to scroll items. |
|
|
961
|
+
| showThumbnails | boolean | true | Whether to display thumbnail container. |
|
|
962
|
+
| thumbnailsPosition | HintedString<"left" \| "right" \| "top" \| "bottom"> | bottom | Position of thumbnails. |
|
|
963
|
+
| verticalThumbnailViewPortHeight | string | 300px | Height of the viewport in vertical thumbnail. |
|
|
964
|
+
| showIndicators | boolean | false | Whether to display indicator container. |
|
|
965
|
+
| showIndicatorsOnItem | boolean | false | When enabled, indicator container is displayed on item container. |
|
|
966
|
+
| indicatorsPosition | HintedString<"left" \| "right" \| "top" \| "bottom"> | bottom | Position of indicators. |
|
|
967
|
+
| baseZIndex | number | 0 | Base zIndex value to use in layering. |
|
|
968
|
+
| maskClass | string | - | Style class of the mask on fullscreen mode. |
|
|
969
|
+
| containerStyle | any | - | Inline style of the component on fullscreen mode. Otherwise, the 'style' property can be used. |
|
|
970
|
+
| containerClass | any | - | Style class of the component on fullscreen mode. Otherwise, the 'class' property can be used. |
|
|
971
|
+
| containerProps | HTMLAttributes | - | Used to pass all properties of the HTMLDivElement to the container element on fullscreen mode. |
|
|
972
|
+
| prevButtonProps | ButtonHTMLAttributes | - | Used to pass all properties of the HTMLButtonElement to the previous navigation button. |
|
|
973
|
+
| nextButtonProps | ButtonHTMLAttributes | - | Used to pass all properties of the HTMLButtonElement to the next navigation button. |
|
|
974
|
+
| ariaLabel | string | - | Defines a string value that labels an interactive element. |
|
|
975
|
+
| ariaRoledescription | string | - | Defines a string value that description for the role of the component. |
|
|
976
|
+
| dt | any | - | It generates scoped CSS variables using design tokens for the component. |
|
|
977
|
+
| pt | PassThrough<GalleriaPassThroughOptions> | - | Used to pass attributes to DOM elements inside the component. |
|
|
978
|
+
| ptOptions | any | - | Used to configure passthrough(pt) options of the component. |
|
|
979
|
+
| unstyled | boolean | false | When enabled, it removes component related styles in the core. |
|
|
980
|
+
|
|
981
|
+
### Pass Through Options
|
|
982
|
+
|
|
983
|
+
| Name |Type |Description |
|
|
984
|
+
| --- | --- | --- |
|
|
985
|
+
| root | GalleriaPassThroughOptionType | Used to pass attributes to the root's DOM element. |
|
|
986
|
+
| closeButton | GalleriaPassThroughOptionType | Used to pass attributes to the close button's DOM element. |
|
|
987
|
+
| closeIcon | GalleriaPassThroughOptionType | Used to pass attributes to the close icon's DOM element. |
|
|
988
|
+
| header | GalleriaPassThroughOptionType | Used to pass attributes to the header's DOM element. |
|
|
989
|
+
| content | GalleriaPassThroughOptionType | Used to pass attributes to the content's DOM element. |
|
|
990
|
+
| footer | GalleriaPassThroughOptionType | Used to pass attributes to the footer's DOM element. |
|
|
991
|
+
| itemsContainer | GalleriaPassThroughOptionType | Used to pass attributes to the item container's DOM element. |
|
|
992
|
+
| items | GalleriaPassThroughOptionType | Used to pass attributes to the items' DOM element. |
|
|
993
|
+
| prevButton | GalleriaPassThroughOptionType | Used to pass attributes to the previous item button's DOM element. |
|
|
994
|
+
| prevIcon | GalleriaPassThroughOptionType | Used to pass attributes to the previous item icon's DOM element. |
|
|
995
|
+
| item | GalleriaPassThroughOptionType | Used to pass attributes to the item's DOM element. |
|
|
996
|
+
| nextButton | GalleriaPassThroughOptionType | Used to pass attributes to the next item button's DOM element. |
|
|
997
|
+
| nextIcon | GalleriaPassThroughOptionType | Used to pass attributes to the next item icon's DOM element. |
|
|
998
|
+
| caption | GalleriaPassThroughOptionType | Used to pass attributes to the caption's DOM element. |
|
|
999
|
+
| indicatorList | GalleriaPassThroughOptionType | Used to pass attributes to the indicator list's DOM element. |
|
|
1000
|
+
| indicator | GalleriaPassThroughOptionType | Used to pass attributes to the indicator's DOM element. |
|
|
1001
|
+
| indicatorButton | GalleriaPassThroughOptionType | Used to pass attributes to the indicator button's DOM element. |
|
|
1002
|
+
| thumbnails | GalleriaPassThroughOptionType | Used to pass attributes to the thumbnails' DOM element. |
|
|
1003
|
+
| thumbnailContent | GalleriaPassThroughOptionType | Used to pass attributes to the thumbnail content's DOM element. |
|
|
1004
|
+
| thumbnailPrevButton | GalleriaPassThroughOptionType | Used to pass attributes to the previous thumbnail button's DOM element. |
|
|
1005
|
+
| thumbnailPrevIcon | GalleriaPassThroughOptionType | Used to pass attributes to the previous thumbnail icon's DOM element. |
|
|
1006
|
+
| thumbnailsViewport | GalleriaPassThroughOptionType | Used to pass attributes to the thumbnails viewport's DOM element. |
|
|
1007
|
+
| thumbnailItems | GalleriaPassThroughOptionType | Used to pass attributes to the thumbnail items' DOM element. |
|
|
1008
|
+
| thumbnailItem | GalleriaPassThroughOptionType | Used to pass attributes to the thumbnail item's DOM element. |
|
|
1009
|
+
| thumbnail | GalleriaPassThroughOptionType | Used to pass attributes to the thumbnail's DOM element. |
|
|
1010
|
+
| thumbnailNextButton | GalleriaPassThroughOptionType | Used to pass attributes to the next thumbnail button's DOM element. |
|
|
1011
|
+
| thumbnailNextIcon | GalleriaPassThroughOptionType | Used to pass attributes to the next thumbnail icon's DOM element. |
|
|
1012
|
+
| mask | GalleriaPassThroughOptionType | Used to pass attributes to the mask's DOM element. |
|
|
1013
|
+
| hooks | any | Used to manage all lifecycle hooks. |
|
|
1014
|
+
| transition | GalleriaPassThroughTransitionType | Used to control Vue Transition API. |
|
|
1015
|
+
|
|
1016
|
+
### Theming
|
|
1017
|
+
|
|
1018
|
+
### CSS Classes
|
|
1019
|
+
|
|
1020
|
+
| Class |Description |
|
|
1021
|
+
| --- | --- |
|
|
1022
|
+
| p-galleria-mask | Class name of the mask element |
|
|
1023
|
+
| p-galleria | Class name of the root element |
|
|
1024
|
+
| p-galleria-close-button | Class name of the close button element |
|
|
1025
|
+
| p-galleria-close-icon | Class name of the close icon element |
|
|
1026
|
+
| p-galleria-header | Class name of the header element |
|
|
1027
|
+
| p-galleria-content | Class name of the content element |
|
|
1028
|
+
| p-galleria-footer | Class name of the footer element |
|
|
1029
|
+
| p-galleria-items-container | Class name of the items container element |
|
|
1030
|
+
| p-galleria-items | Class name of the items element |
|
|
1031
|
+
| p-galleria-prev-button | Class name of the previous item button element |
|
|
1032
|
+
| p-galleria-prev-icon | Class name of the previous item icon element |
|
|
1033
|
+
| p-galleria-item | Class name of the item element |
|
|
1034
|
+
| p-galleria-next-button | Class name of the next item button element |
|
|
1035
|
+
| p-galleria-next-icon | Class name of the next item icon element |
|
|
1036
|
+
| p-galleria-caption | Class name of the caption element |
|
|
1037
|
+
| p-galleria-indicator-list | Class name of the indicator list element |
|
|
1038
|
+
| p-galleria-indicator | Class name of the indicator element |
|
|
1039
|
+
| p-galleria-indicator-button | Class name of the indicator button element |
|
|
1040
|
+
| p-galleria-thumbnails | Class name of the thumbnails element |
|
|
1041
|
+
| p-galleria-thumbnails-content | Class name of the thumbnail content element |
|
|
1042
|
+
| p-galleria-thumbnail-prev-button | Class name of the previous thumbnail button element |
|
|
1043
|
+
| p-galleria-thumbnail-prev-icon | Class name of the previous thumbnail icon element |
|
|
1044
|
+
| p-galleria-thumbnails-viewport | Class name of the thumbnails viewport element |
|
|
1045
|
+
| p-galleria-thumbnail-items | Class name of the thumbnail items element |
|
|
1046
|
+
| p-galleria-thumbnail-item | Class name of the thumbnail item element |
|
|
1047
|
+
| p-galleria-thumbnail | Class name of the thumbnail element |
|
|
1048
|
+
| p-galleria-thumbnail-next-button | Class name of the next thumbnail button element |
|
|
1049
|
+
| p-galleria-thumbnail-next-icon | Class name of the next thumbnail icon element |
|
|
1050
|
+
|
|
1051
|
+
### Design Tokens
|
|
1052
|
+
|
|
1053
|
+
| Token |CSS Variable |Description |
|
|
1054
|
+
| --- | --- | --- |
|
|
1055
|
+
| galleria.border.width | --p-galleria-border-width | Border width of root |
|
|
1056
|
+
| galleria.border.color | --p-galleria-border-color | Border color of root |
|
|
1057
|
+
| galleria.border.radius | --p-galleria-border-radius | Border radius of root |
|
|
1058
|
+
| galleria.transition.duration | --p-galleria-transition-duration | Transition duration of root |
|
|
1059
|
+
| galleria.nav.button.background | --p-galleria-nav-button-background | Background of nav button |
|
|
1060
|
+
| galleria.nav.button.hover.background | --p-galleria-nav-button-hover-background | Hover background of nav button |
|
|
1061
|
+
| galleria.nav.button.color | --p-galleria-nav-button-color | Color of nav button |
|
|
1062
|
+
| galleria.nav.button.hover.color | --p-galleria-nav-button-hover-color | Hover color of nav button |
|
|
1063
|
+
| galleria.nav.button.size | --p-galleria-nav-button-size | Size of nav button |
|
|
1064
|
+
| galleria.nav.button.gutter | --p-galleria-nav-button-gutter | Gutter of nav button |
|
|
1065
|
+
| galleria.nav.button.prev.border.radius | --p-galleria-nav-button-prev-border-radius | Prev border radius of nav button |
|
|
1066
|
+
| galleria.nav.button.next.border.radius | --p-galleria-nav-button-next-border-radius | Next border radius of nav button |
|
|
1067
|
+
| galleria.nav.button.focus.ring.width | --p-galleria-nav-button-focus-ring-width | Focus ring width of nav button |
|
|
1068
|
+
| galleria.nav.button.focus.ring.style | --p-galleria-nav-button-focus-ring-style | Focus ring style of nav button |
|
|
1069
|
+
| galleria.nav.button.focus.ring.color | --p-galleria-nav-button-focus-ring-color | Focus ring color of nav button |
|
|
1070
|
+
| galleria.nav.button.focus.ring.offset | --p-galleria-nav-button-focus-ring-offset | Focus ring offset of nav button |
|
|
1071
|
+
| galleria.nav.button.focus.ring.shadow | --p-galleria-nav-button-focus-ring-shadow | Focus ring shadow of nav button |
|
|
1072
|
+
| galleria.nav.icon.size | --p-galleria-nav-icon-size | Size of nav icon |
|
|
1073
|
+
| galleria.thumbnails.content.background | --p-galleria-thumbnails-content-background | Background of thumbnails content |
|
|
1074
|
+
| galleria.thumbnails.content.padding | --p-galleria-thumbnails-content-padding | Padding of thumbnails content |
|
|
1075
|
+
| galleria.thumbnail.nav.button.size | --p-galleria-thumbnail-nav-button-size | Size of thumbnail nav button |
|
|
1076
|
+
| galleria.thumbnail.nav.button.border.radius | --p-galleria-thumbnail-nav-button-border-radius | Border radius of thumbnail nav button |
|
|
1077
|
+
| galleria.thumbnail.nav.button.gutter | --p-galleria-thumbnail-nav-button-gutter | Gutter of thumbnail nav button |
|
|
1078
|
+
| galleria.thumbnail.nav.button.focus.ring.width | --p-galleria-thumbnail-nav-button-focus-ring-width | Focus ring width of thumbnail nav button |
|
|
1079
|
+
| galleria.thumbnail.nav.button.focus.ring.style | --p-galleria-thumbnail-nav-button-focus-ring-style | Focus ring style of thumbnail nav button |
|
|
1080
|
+
| galleria.thumbnail.nav.button.focus.ring.color | --p-galleria-thumbnail-nav-button-focus-ring-color | Focus ring color of thumbnail nav button |
|
|
1081
|
+
| galleria.thumbnail.nav.button.focus.ring.offset | --p-galleria-thumbnail-nav-button-focus-ring-offset | Focus ring offset of thumbnail nav button |
|
|
1082
|
+
| galleria.thumbnail.nav.button.focus.ring.shadow | --p-galleria-thumbnail-nav-button-focus-ring-shadow | Focus ring shadow of thumbnail nav button |
|
|
1083
|
+
| galleria.thumbnail.nav.button.hover.background | --p-galleria-thumbnail-nav-button-hover-background | Hover background of thumbnail nav button |
|
|
1084
|
+
| galleria.thumbnail.nav.button.color | --p-galleria-thumbnail-nav-button-color | Color of thumbnail nav button |
|
|
1085
|
+
| galleria.thumbnail.nav.button.hover.color | --p-galleria-thumbnail-nav-button-hover-color | Hover color of thumbnail nav button |
|
|
1086
|
+
| galleria.thumbnail.nav.button.icon.size | --p-galleria-thumbnail-nav-button-icon-size | Size of thumbnail nav button icon |
|
|
1087
|
+
| galleria.caption.background | --p-galleria-caption-background | Background of caption |
|
|
1088
|
+
| galleria.caption.color | --p-galleria-caption-color | Color of caption |
|
|
1089
|
+
| galleria.caption.padding | --p-galleria-caption-padding | Padding of caption |
|
|
1090
|
+
| galleria.indicator.list.gap | --p-galleria-indicator-list-gap | Gap of indicator list |
|
|
1091
|
+
| galleria.indicator.list.padding | --p-galleria-indicator-list-padding | Padding of indicator list |
|
|
1092
|
+
| galleria.indicator.button.width | --p-galleria-indicator-button-width | Width of indicator button |
|
|
1093
|
+
| galleria.indicator.button.height | --p-galleria-indicator-button-height | Height of indicator button |
|
|
1094
|
+
| galleria.indicator.button.active.background | --p-galleria-indicator-button-active-background | Active background of indicator button |
|
|
1095
|
+
| galleria.indicator.button.border.radius | --p-galleria-indicator-button-border-radius | Border radius of indicator button |
|
|
1096
|
+
| galleria.indicator.button.focus.ring.width | --p-galleria-indicator-button-focus-ring-width | Focus ring width of indicator button |
|
|
1097
|
+
| galleria.indicator.button.focus.ring.style | --p-galleria-indicator-button-focus-ring-style | Focus ring style of indicator button |
|
|
1098
|
+
| galleria.indicator.button.focus.ring.color | --p-galleria-indicator-button-focus-ring-color | Focus ring color of indicator button |
|
|
1099
|
+
| galleria.indicator.button.focus.ring.offset | --p-galleria-indicator-button-focus-ring-offset | Focus ring offset of indicator button |
|
|
1100
|
+
| galleria.indicator.button.focus.ring.shadow | --p-galleria-indicator-button-focus-ring-shadow | Focus ring shadow of indicator button |
|
|
1101
|
+
| galleria.indicator.button.background | --p-galleria-indicator-button-background | Background of indicator button |
|
|
1102
|
+
| galleria.indicator.button.hover.background | --p-galleria-indicator-button-hover-background | Hover background of indicator button |
|
|
1103
|
+
| galleria.inset.indicator.list.background | --p-galleria-inset-indicator-list-background | Background of inset indicator list |
|
|
1104
|
+
| galleria.inset.indicator.button.background | --p-galleria-inset-indicator-button-background | Background of inset indicator button |
|
|
1105
|
+
| galleria.inset.indicator.button.hover.background | --p-galleria-inset-indicator-button-hover-background | Hover background of inset indicator button |
|
|
1106
|
+
| galleria.inset.indicator.button.active.background | --p-galleria-inset-indicator-button-active-background | Active background of inset indicator button |
|
|
1107
|
+
| galleria.close.button.size | --p-galleria-close-button-size | Size of close button |
|
|
1108
|
+
| galleria.close.button.gutter | --p-galleria-close-button-gutter | Gutter of close button |
|
|
1109
|
+
| galleria.close.button.background | --p-galleria-close-button-background | Background of close button |
|
|
1110
|
+
| galleria.close.button.hover.background | --p-galleria-close-button-hover-background | Hover background of close button |
|
|
1111
|
+
| galleria.close.button.color | --p-galleria-close-button-color | Color of close button |
|
|
1112
|
+
| galleria.close.button.hover.color | --p-galleria-close-button-hover-color | Hover color of close button |
|
|
1113
|
+
| galleria.close.button.border.radius | --p-galleria-close-button-border-radius | Border radius of close button |
|
|
1114
|
+
| galleria.close.button.focus.ring.width | --p-galleria-close-button-focus-ring-width | Focus ring width of close button |
|
|
1115
|
+
| galleria.close.button.focus.ring.style | --p-galleria-close-button-focus-ring-style | Focus ring style of close button |
|
|
1116
|
+
| galleria.close.button.focus.ring.color | --p-galleria-close-button-focus-ring-color | Focus ring color of close button |
|
|
1117
|
+
| galleria.close.button.focus.ring.offset | --p-galleria-close-button-focus-ring-offset | Focus ring offset of close button |
|
|
1118
|
+
| galleria.close.button.focus.ring.shadow | --p-galleria-close-button-focus-ring-shadow | Focus ring shadow of close button |
|
|
1119
|
+
| galleria.close.button.icon.size | --p-galleria-close-button-icon-size | Size of close button icon |
|