
Floating Action Button Svelte Component
Floating action buttons (FABs) are used for a promoted action. They are distinguished by a circled icon floating above the UI and have motion behaviors that include morphing, launching, and a transferring anchor point.
Floating Action Button Svelte component represents Floating Action Button element.
FAB Components
There are following components included:
Fab- main FAB elementFabButtons- wrapper for multiple FAB buttons used as Speed Dial FABFabButton- single FAB Speed Dial buttonFabBackdrop- FAB backdrop element
FAB Properties
| Prop | Type | Default | Description |
|---|---|---|---|
| <Fab> properties | |||
| --- | --- | --- | --- |
| href | string boolean | URL of the page to load (if set). Will set href attribute on main FAB link. In case of boolean href=”false” it won’t add href tag |
|
| target | string | Value of link target attribute, e.g. _blank, _self, etc. |
|
| position | string | right-bottom | FAB position. Can be one of the following: - right-bottom - center-bottom - left-bottom - right-center - center-center - left-center - right-top - center-top - left-top |
| morphTo | string | String CSS selector of the FAB morph target | |
| text | string | FAB Button text. If specified, then it will be displayed as Extended Fab with text label | |
| tooltip | string | FAB tooltip text to show on button hover/press | |
| tooltipTrigger | string | hover | Defines how to trigger (open) Tooltip. Can be hover or click. If hover tooltip will be toggled on mouse hover on desktop, and with tap and hold on touch devices |
| <FabButtons> properties | |||
| position | string | top | Speed dial buttons position, can be one of the following: - top - buttons will appear on top of FAB - right - buttons will appear on right of FAB - bottom - buttons will appear on bottom of FAB - left - buttons will appear on left of FAB - center - buttons will appear around of FAB |
| <FabButton> properties | |||
| fabClose | boolean | false | When enabled then clicking on this button will close the FAB |
| target | string | Value of link target attribute, e.g. _blank, _self, etc. |
|
| label | string | Button text label | |
| tooltip | string | Button tooltip text to show on button hover/press | |
| tooltipTrigger | string | hover | Defines how to trigger (open) Tooltip. Can be hover or click. If hover tooltip will be toggled on mouse hover on desktop, and with tap and hold on touch devices |
FAB Events
| Event | Description |
|---|---|
| <Fab> events | |
| --- | --- |
| click | Event will be triggered after click on FAB |
| <FabButton> events | |
| click | Event will be triggered after click on FAB Speed Dial button |
FAB Slots
FAB Svelte component (<Fab>) has additional slots for custom elements:
default- child element will be inserted inside of the main FAB link<a>element. But if the child isFabButtons, then it will be inserted in the end of the main FAB elementlink- child element will be inserted inside of the main FAB link<a>elementroot- child element will be inserted in the end of the main FAB elementtext- child element will be inserted in the text element of the Extended FAB
Examples
1. <Page>
2. <Navbar title="Floating Action Button" />
4. <Toolbar bottom class="fab-morph-target">
5. <Link>Link 1</Link>
6. <Link>Link 2</Link>
7. <Link>Link 3</Link>
8. </Toolbar>
10. <Fab position="left-top" color="yellow">
11. <Icon ios="f7:plus" aurora="f7:plus" md="material:add"></Icon>
12. <Icon ios="f7:xmark" aurora="f7:xmark" md="material:close"></Icon>
13. <FabButtons position="bottom">
14. <FabButton>1</FabButton>
15. <FabButton>2</FabButton>
16. <FabButton>3</FabButton>
17. </FabButtons>
18. </Fab>
20. <Fab position="right-top" color="pink">
21. <Icon ios="f7:plus" aurora="f7:plus" md="material:add"></Icon>
22. <Icon ios="f7:xmark" aurora="f7:xmark" md="material:close"></Icon>
23. <FabButtons position="left">
24. <FabButton>1</FabButton>
25. <FabButton>2</FabButton>
26. <FabButton>3</FabButton>
27. </FabButtons>
28. </Fab>
30. <Fab position="center-center" color="green">
31. <Icon ios="f7:plus" aurora="f7:plus" md="material:add"></Icon>
32. <Icon ios="f7:xmark" aurora="f7:xmark" md="material:close"></Icon>
33. <FabButtons position="center">
34. <FabButton>1</FabButton>
35. <FabButton>2</FabButton>
36. <FabButton>3</FabButton>
37. <FabButton>4</FabButton>
38. </FabButtons>
39. </Fab>
41. <Fab position="left-bottom" morphTo=".toolbar.fab-morph-target">
42. <Icon ios="f7:plus" aurora="f7:plus" md="material:add"></Icon>
43. <Icon ios="f7:xmark" aurora="f7:xmark" md="material:close"></Icon>
44. </Fab>
46. <Fab position="right-bottom" color="orange">
47. <Icon ios="f7:plus" aurora="f7:plus" md="material:add"></Icon>
48. <Icon ios="f7:xmark" aurora="f7:xmark" md="material:close"></Icon>
49. <FabButtons position="top">
50. <FabButton label="Action 1">1</FabButton>
51. <FabButton label="Action 2">2</FabButton>
52. </FabButtons>
53. </Fab>
55. <Fab position="center-bottom" text="Create" color="red">
56. <Icon ios="f7:plus" aurora="f7:plus" md="material:add"></Icon>
57. </Fab>
59. <Block>
60. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quia, quo rem beatae, delectus eligendi est saepe molestias perferendis suscipit, commodi labore ipsa non quasi eum magnam neque ducimus! Quasi, numquam.</p>
61. <p>Maiores culpa, itaque! Eaque natus ab cum ipsam numquam blanditiis a, quia, molestiae aut laudantium recusandae ipsa. Ad iste ex asperiores ipsa, mollitia perferendis consectetur quam eaque, voluptate laboriosam unde.</p>
62. <p>Sed odit quis aperiam temporibus vitae necessitatibus, laboriosam, exercitationem dolores odio sapiente provident. Accusantium id, itaque aliquam libero ipsum eos fugiat distinctio laboriosam exercitationem sequi facere quas quidem magnam reprehenderit.</p>
63. <p>Pariatur corporis illo, amet doloremque. Ab veritatis sunt nisi consectetur error modi, nam illo et nostrum quia aliquam ipsam vitae facere voluptates atque similique odit mollitia, rerum placeat nobis est.</p>
64. <p>Et impedit soluta minus a autem adipisci cupiditate eius dignissimos nihil officia dolore voluptatibus aperiam reprehenderit esse facilis labore qui, officiis consectetur. Ipsa obcaecati aspernatur odio assumenda veniam, ipsum alias.</p>
65. </Block>
66. <Block>
67. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Culpa ipsa debitis sed nihil eaque dolore cum iste quibusdam, accusamus doloribus, tempora quia quos voluptatibus corporis officia at quas dolorem earum!</p>
68. <p>Quod soluta eos inventore magnam suscipit enim at hic in maiores temporibus pariatur tempora minima blanditiis vero autem est perspiciatis totam dolorum, itaque repellat? Nobis necessitatibus aut odit aliquam adipisci.</p>
69. <p>Tenetur delectus perspiciatis ex numquam, unde corrupti velit! Quam aperiam, animi fuga veritatis consectetur, voluptatibus atque consequuntur dignissimos itaque, sint impedit cum cumque at. Adipisci sint, iusto blanditiis ullam? Vel?</p>
70. <p>Dignissimos velit officia quibusdam! Eveniet beatae, aut, omnis temporibus consequatur expedita eaque aliquid quos accusamus fugiat id iusto autem obcaecati repellat fugit cupiditate suscipit natus quas doloribus? Temporibus necessitatibus, libero.</p>
71. <p>Architecto quisquam ipsa fugit facere, repudiandae asperiores vitae obcaecati possimus, labore excepturi reprehenderit consectetur perferendis, ullam quidem hic, repellat fugiat eaque fuga. Consectetur in eveniet, deleniti recusandae omnis eum quas?</p>
72. <p>Quos nulla consequatur quo, officia quaerat. Nulla voluptatum, assumenda quibusdam, placeat cum aut illo deleniti dolores commodi odio ipsam, recusandae est pariatur veniam repudiandae blanditiis. Voluptas unde deleniti quisquam, nobis?</p>
73. <p>Atque qui quaerat quasi officia molestiae, molestias totam incidunt reprehenderit laboriosam facilis veritatis, non iusto! Dolore ipsam obcaecati voluptates minima maxime minus qui mollitia facere. Nostrum esse recusandae voluptatibus eligendi.</p>
74. </Block>
75. </Page>
78. <script>
79. import {Page, Navbar, Toolbar, Link, Fab, Icon, FabButtons, FabButton, Block} from 'framework7-svelte';
80. </script>
With Backdrop
1. <Page>
2. <Navbar title="FAB Backdrop" />
4. <FabBackdrop />
6. <Fab position="right-bottom">
7. <Icon ios="f7:plus" aurora="f7:plus" md="material:add"></Icon>
8. <Icon ios="f7:xmark" aurora="f7:xmark" md="material:close"></Icon>
9. <FabButtons position="top">
10. <FabButton label="Action 1">1</FabButton>
11. <FabButton label="Action 2">2</FabButton>
12. </FabButtons>
13. </Fab>
15. <Block>
16. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quia, quo rem beatae, delectus eligendi est saepe molestias perferendis suscipit, commodi labore ipsa non quasi eum magnam neque ducimus! Quasi, numquam.</p>
17. <p>Maiores culpa, itaque! Eaque natus ab cum ipsam numquam blanditiis a, quia, molestiae aut laudantium recusandae ipsa. Ad iste ex asperiores ipsa, mollitia perferendis consectetur quam eaque, voluptate laboriosam unde.</p>
18. <p>Sed odit quis aperiam temporibus vitae necessitatibus, laboriosam, exercitationem dolores odio sapiente provident. Accusantium id, itaque aliquam libero ipsum eos fugiat distinctio laboriosam exercitationem sequi facere quas quidem magnam reprehenderit.</p>
19. <p>Pariatur corporis illo, amet doloremque. Ab veritatis sunt nisi consectetur error modi, nam illo et nostrum quia aliquam ipsam vitae facere voluptates atque similique odit mollitia, rerum placeat nobis est.</p>
20. <p>Et impedit soluta minus a autem adipisci cupiditate eius dignissimos nihil officia dolore voluptatibus aperiam reprehenderit esse facilis labore qui, officiis consectetur. Ipsa obcaecati aspernatur odio assumenda veniam, ipsum alias.</p>
21. </Block>
22. <Block>
23. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Culpa ipsa debitis sed nihil eaque dolore cum iste quibusdam, accusamus doloribus, tempora quia quos voluptatibus corporis officia at quas dolorem earum!</p>
24. <p>Quod soluta eos inventore magnam suscipit enim at hic in maiores temporibus pariatur tempora minima blanditiis vero autem est perspiciatis totam dolorum, itaque repellat? Nobis necessitatibus aut odit aliquam adipisci.</p>
25. <p>Tenetur delectus perspiciatis ex numquam, unde corrupti velit! Quam aperiam, animi fuga veritatis consectetur, voluptatibus atque consequuntur dignissimos itaque, sint impedit cum cumque at. Adipisci sint, iusto blanditiis ullam? Vel?</p>
26. <p>Dignissimos velit officia quibusdam! Eveniet beatae, aut, omnis temporibus consequatur expedita eaque aliquid quos accusamus fugiat id iusto autem obcaecati repellat fugit cupiditate suscipit natus quas doloribus? Temporibus necessitatibus, libero.</p>
27. <p>Architecto quisquam ipsa fugit facere, repudiandae asperiores vitae obcaecati possimus, labore excepturi reprehenderit consectetur perferendis, ullam quidem hic, repellat fugiat eaque fuga. Consectetur in eveniet, deleniti recusandae omnis eum quas?</p>
28. <p>Quos nulla consequatur quo, officia quaerat. Nulla voluptatum, assumenda quibusdam, placeat cum aut illo deleniti dolores commodi odio ipsam, recusandae est pariatur veniam repudiandae blanditiis. Voluptas unde deleniti quisquam, nobis?</p>
29. <p>Atque qui quaerat quasi officia molestiae, molestias totam incidunt reprehenderit laboriosam facilis veritatis, non iusto! Dolore ipsam obcaecati voluptates minima maxime minus qui mollitia facere. Nostrum esse recusandae voluptatibus eligendi.</p>
30. </Block>
31. </Page>
34. <script>
35. import {Page, Navbar, Toolbar, Link, Fab, Icon, FabBackdrop, FabButtons, FabButton, Block} from 'framework7-svelte';
36. </script>
