Skip to content

Slider

Sliders are useful for showing multiple items when vertical space is limited.

Anatomy

  1. Counter
  2. Slides
  3. Navigation

The slider functionality is powered by tiny-slider. If different settings are needed, set up new options for slider settings as a new object in sliderSettingsList in src/scripts/components/slider.js as needed. See tiny-slider's documentation for available options.

Usage Guidelines

Sliders are useful for showing multiple items when vertical space is limited. The default settings will show 3 items on large screens, scaling down to one on mobile devices.

WordPress

This component can be added to post content with the Program Slider and Faculty Slider block in the Gutenberg editor.

Specifications

Properties

PropertyTypeDescriptionRequiredDefault
idstring Used by JS to add functionality to the accordion. If no ID is specified, one will be added automatically No-
settingsstring keyword for a settings preset that will be assigned to data-slider-settings that loads a custom set of options in tiny-slider. If ommited the default set of options are applied

Allowed Values: "default", "gallery", "badges"
No"default"
componentstring Name of component template to include on each slide Yes-
dataarray list of objects to pass data to the component on each slide Yes-
└ itemobject properties will depend on the component included on each slide --
classstring list of additional classes to apply to main element. No-

Styling

Modifiers

NameClassDescription
Stretch.tux-c-slider--stretchStretches all slide items vertically to be equal in height to the tallest item

Custom Properties

NameDefaultResetsDescription
--tux-comp-slider--nav-bg-colorvar(--tux-theme--text-color, #222)Yes-
--tux-comp-slider--nav-text-colorvar(--tux-theme--bg-color, #fff)Yes-

Changelog

6.4.0 (2023-11-27)

  • fix: move highlight class application to init callback (c302e5a)

6.2.0 (2023-10-04)

  • fix: make sure entire program card can be clicked (#480) (4717a08)

1.23.1 (2021-08-20)

  • fix: remove default padding applied by browsers to nav (7e552ae)

1.21.0 (2021-06-14)

  • fix: set auto height for sliders in one-column (#110) (9bfe3bb)

1.4.5 (2020-06-03)

  • fix: add highlight style to counter (01ba6d8)

1.4.2 (2020-06-01)

  • fix: change button label to sr-only (9cc0f74)
  • fix: show current slide progress (43e4705)

1.0.0

  • slider added

Examples

Cards

Card 1

Praesent commodo cursus magna, vel scelerisque nisl consectetur et.

Card 2

Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.

Card 3

Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.

Card 4

Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.

Card 5

Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

{% set button %}
	<x-button href="#">Read More</x-button>
{% endset %}

{% set data = [
	{
		class: program_card_class,
		header: '<h3>Card 1</h3>',
		content: '<p>Praesent commodo cursus magna, vel scelerisque nisl consectetur et.</p>',
		footer: button
	},
	{
		class: program_card_class,
		header: '<h3>Card 2</h3>',
		content: '<p>Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.</p>',
		footer: button
	},
	{
		class: program_card_class,
		header: '<h3>Card 3</h3>',
		content: '<p>Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>',
		footer: button
	},
	{
		class: program_card_class,
		header: '<h3>Card 4</h3>',
		content: '<p>Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>',
		footer: button
	},
	{
		class: program_card_class,
		header: '<h3>Card 5</h3>',
		content: '<p>Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>',
		footer: button
	}
] %}

<x-slider>
	{% for card in data %}
		<x-slide>{{ include( 'components/card.twig', card) }}</x-slide>
	{% endfor %}
</x-slider>

Cards Stretch

Card 1

Praesent commodo cursus magna, vel scelerisque nisl consectetur et.

Card 2

Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.

Card 3

Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.

Card 4

Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.

Card 5

Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

{% set data = [
	{
		class: program_card_class,
		header: '<h3>Card 1</h3>',
		content: '<p>Praesent commodo cursus magna, vel scelerisque nisl consectetur et.</p>',
		footer: include('components/button.twig', {label: 'Read More', is_link: true, url: '#', style: 'tertiary'})
	},
	{
		class: program_card_class,
		header: '<h3>Card 2</h3>',
		content: '<p>Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.</p>',
		footer: include('components/button.twig', {label: 'Read More', is_link: true, url: '#', style: 'tertiary'})
	},
	{
		class: program_card_class,
		header: '<h3>Card 3</h3>',
		content: '<p>Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>',
		footer: include('components/button.twig', {label: 'Read More', is_link: true, url: '#', style: 'tertiary'})
	},
	{
		class: program_card_class,
		header: '<h3>Card 4</h3>',
		content: '<p>Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>',
		footer: include('components/button.twig', {label: 'Read More', is_link: true, url: '#', style: 'tertiary'})
	},
	{
		class: program_card_class,
		header: '<h3>Card 5</h3>',
		content: '<p>Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>',
		footer: include('components/button.twig', {label: 'Read More', is_link: true, url: '#', style: 'tertiary'})
	}
] %}

<x-slider class="tux-c-slider--stretch">
	{% for card in data %}
		<x-slide>{{ include( 'components/card.twig', card) }}</x-slide>
	{% endfor %}
</x-slider>