|
1 | 1 | import React from 'react'; |
2 | | -import { SkipToContent } from '@patternfly/react-core'; |
| 2 | +import { Content, SkipToContent } from '@patternfly/react-core'; |
3 | 3 |
|
4 | | -export const SkipToContentBasic: React.FunctionComponent = () => ( |
5 | | - <React.Fragment> |
6 | | - <SkipToContent href="#main-content">Skip to content</SkipToContent> |
7 | | - <p>Press tab to skip to content at the bottom of the page.</p> |
8 | | - <div style={{ height: '2000px' }}></div> |
9 | | - <h1 id="main-content">Main content</h1> |
10 | | - <p> |
11 | | - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla accumsan, metus ultrices eleifend gravida, nulla |
12 | | - nunc varius lectus, nec rutrum justo nibh eu lectus. Ut vulputate semper dui. Fusce erat odio, sollicitudin vel |
13 | | - erat vel, interdum mattis neque. Sub works as well! |
14 | | - </p> |
15 | | - <h2>Second level</h2> |
16 | | - <p> |
17 | | - Curabitur accumsan turpis pharetra |
18 | | - <strong>augue tincidunt</strong> blandit. Quisque condimentum maximus mi, sit amet commodo arcu rutrum id. Proin |
19 | | - pretium urna vel cursus venenatis. Suspendisse potenti. Etiam mattis sem rhoncus lacus dapibus facilisis. Donec at |
20 | | - dignissim dui. Ut et neque nisl. |
21 | | - </p> |
22 | | - <ul> |
23 | | - <li>In fermentum leo eu lectus mollis, quis dictum mi aliquet.</li> |
24 | | - <li>Morbi eu nulla lobortis, lobortis est in, fringilla felis.</li> |
25 | | - <li> |
26 | | - Aliquam nec felis in sapien venenatis viverra fermentum nec lectus. |
27 | | - <ul> |
28 | | - <li>In fermentum leo eu lectus mollis, quis dictum mi aliquet.</li> |
29 | | - <li>Morbi eu nulla lobortis, lobortis est in, fringilla felis.</li> |
30 | | - <li> |
31 | | - Ut venenatis, nisl scelerisque. |
32 | | - <ol> |
33 | | - <li>Donec blandit a lorem id convallis.</li> |
34 | | - <li>Cras gravida arcu at diam gravida gravida.</li> |
35 | | - <li>Integer in volutpat libero.</li> |
36 | | - </ol> |
37 | | - </li> |
38 | | - </ul> |
39 | | - </li> |
40 | | - <li>Ut non enim metus.</li> |
41 | | - </ul> |
42 | | - <h3>Third level</h3> |
43 | | - <p> |
44 | | - Quisque ante lacus, malesuada ac auctor vitae, congue |
45 | | - <a href="#">non ante</a>. Phasellus lacus ex, semper ac tortor nec, fringilla condimentum orci. Fusce eu rutrum |
46 | | - tellus. |
47 | | - </p> |
48 | | - <ol> |
49 | | - <li>Donec blandit a lorem id convallis.</li> |
50 | | - <li>Cras gravida arcu at diam gravida gravida.</li> |
51 | | - <li>Integer in volutpat libero.</li> |
52 | | - <li>Donec a diam tellus.</li> |
53 | | - <li> |
54 | | - Etiam auctor nisl et. |
55 | | - <ul> |
56 | | - <li>Donec blandit a lorem id convallis.</li> |
57 | | - <li>Cras gravida arcu at diam gravida gravida.</li> |
58 | | - <li> |
59 | | - Integer in volutpat libero. |
60 | | - <ol> |
61 | | - <li>Donec blandit a lorem id convallis.</li> |
62 | | - <li>Cras gravida arcu at diam gravida gravida.</li> |
63 | | - </ol> |
64 | | - </li> |
65 | | - </ul> |
66 | | - </li> |
67 | | - <li>Aenean nec tortor orci.</li> |
68 | | - <li>Quisque aliquam cursus urna, non bibendum massa viverra eget.</li> |
69 | | - <li>Vivamus maximus ultricies pulvinar.</li> |
70 | | - </ol> |
71 | | - <blockquote> |
72 | | - Ut venenatis, nisl scelerisque sollicitudin fermentum, quam libero hendrerit ipsum, ut blandit est tellus sit amet |
73 | | - turpis. |
74 | | - </blockquote> |
75 | | - <p> |
76 | | - Quisque at semper enim, eu hendrerit odio. Etiam auctor nisl et |
77 | | - <em>justo sodales</em> elementum. Maecenas ultrices lacus quis neque consectetur, et lobortis nisi molestie. |
78 | | - </p> |
79 | | - <hr /> |
80 | | - <p> |
81 | | - Sed sagittis enim ac tortor maximus rutrum. Nulla facilisi. Donec mattis vulputate risus in luctus. Maecenas |
82 | | - vestibulum interdum commodo. |
83 | | - </p> |
84 | | - <dl> |
85 | | - <dt>Web</dt> |
86 | | - <dd>The part of the internet that contains websites and web pages</dd> |
87 | | - <dt>HTML</dt> |
88 | | - <dd>A markup language for creating web pages</dd> |
89 | | - <dt>CSS</dt> |
90 | | - <dd>A technology to make HTML look better</dd> |
91 | | - </dl> |
92 | | - <p> |
93 | | - Suspendisse egestas sapien non felis placerat elementum. Morbi tortor nisl, suscipit sed mi sit amet, mollis |
94 | | - malesuada nulla. Nulla facilisi. Nullam ac erat ante. |
95 | | - </p> |
96 | | - <h4>Fourth level</h4> |
97 | | - <p> |
98 | | - Nulla efficitur eleifend nisi, sit amet bibendum sapien fringilla ac. Mauris euismod metus a tellus laoreet, at |
99 | | - elementum ex efficitur. |
100 | | - </p> |
101 | | - <p> |
102 | | - Maecenas eleifend sollicitudin dui, faucibus sollicitudin augue cursus non. Ut finibus eleifend arcu ut vehicula. |
103 | | - Mauris eu est maximus est porta condimentum in eu justo. Nulla id iaculis sapien. |
104 | | - </p> |
105 | | - <small>Sometimes you need small text to display things like date created</small> |
106 | | - <p> |
107 | | - Phasellus porttitor enim id metus volutpat ultricies. Ut nisi nunc, blandit sed dapibus at, vestibulum in felis. |
108 | | - Etiam iaculis lorem ac nibh bibendum rhoncus. Nam interdum efficitur ligula sit amet ullamcorper. Etiam tristique, |
109 | | - leo vitae porta faucibus, mi lacus laoreet metus, at cursus leo est vel tellus. Sed ac posuere est. Nunc ultricies |
110 | | - nunc neque, vitae ultricies ex sodales quis. Aliquam eu nibh in libero accumsan pulvinar. Nullam nec nisl |
111 | | - placerat, pretium metus vel, euismod ipsum. Proin tempor cursus nisl vel condimentum. Nam pharetra varius metus |
112 | | - non pellentesque. |
113 | | - </p> |
114 | | - <h5>Fifth level</h5> |
115 | | - <p> |
116 | | - Aliquam sagittis rhoncus vulputate. Cras non luctus sem, sed tincidunt ligula. Vestibulum at nunc elit. Praesent |
117 | | - aliquet ligula mi, in luctus elit volutpat porta. Phasellus molestie diam vel nisi sodales, a eleifend augue |
118 | | - laoreet. Sed nec eleifend justo. Nam et sollicitudin odio. |
119 | | - </p> |
120 | | - <h6>Sixth level</h6> |
121 | | - <p> |
122 | | - Cras in nibh lacinia, venenatis nisi et, auctor urna. Donec pulvinar lacus sed diam dignissim, ut eleifend eros |
123 | | - accumsan. Phasellus non tortor eros. Ut sed rutrum lacus. Etiam purus nunc, scelerisque quis enim vitae, malesuada |
124 | | - ultrices turpis. Nunc vitae maximus purus, nec consectetur dui. Suspendisse euismod, elit vel rutrum commodo, |
125 | | - ipsum tortor maximus dui, sed varius sapien odio vitae est. Etiam at cursus metus. |
126 | | - </p> |
127 | | - </React.Fragment> |
128 | | -); |
| 4 | +export const SkipToContentBasic: React.FunctionComponent = () => { |
| 5 | + const mainContentId = 'main-content'; |
| 6 | + const handleClick = (e) => { |
| 7 | + e.preventDefault(); |
| 8 | + const mainContentElement = document.getElementById(mainContentId); |
| 9 | + if (mainContentElement) { |
| 10 | + mainContentElement.focus(); |
| 11 | + mainContentElement.scrollIntoView(); |
| 12 | + } |
| 13 | + }; |
| 14 | + |
| 15 | + return ( |
| 16 | + <React.Fragment> |
| 17 | + <SkipToContent onClick={handleClick} href={`#${mainContentId}`}> |
| 18 | + Skip to content |
| 19 | + </SkipToContent> |
| 20 | + <p>Press tab to skip to content at the bottom of the page.</p> |
| 21 | + <div style={{ height: '2000px' }}></div> |
| 22 | + <div tabIndex={-1} id={mainContentId}> |
| 23 | + <Content> |
| 24 | + <h1>Main content</h1> |
| 25 | + <p> |
| 26 | + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla accumsan, metus ultrices eleifend gravida, |
| 27 | + nulla nunc varius lectus, nec rutrum justo nibh eu lectus. Ut vulputate semper dui. Fusce erat odio, |
| 28 | + sollicitudin vel erat vel, interdum mattis neque. Sub works as well! |
| 29 | + </p> |
| 30 | + <h2>Second level</h2> |
| 31 | + <p> |
| 32 | + Curabitur accumsan turpis pharetra |
| 33 | + <strong>augue tincidunt</strong> blandit. Quisque condimentum maximus mi, sit amet commodo arcu rutrum id. |
| 34 | + Proin pretium urna vel cursus venenatis. Suspendisse potenti. Etiam mattis sem rhoncus lacus dapibus |
| 35 | + facilisis. Donec at dignissim dui. Ut et neque nisl. |
| 36 | + </p> |
| 37 | + <ul> |
| 38 | + <li>In fermentum leo eu lectus mollis, quis dictum mi aliquet.</li> |
| 39 | + <li>Morbi eu nulla lobortis, lobortis est in, fringilla felis.</li> |
| 40 | + <li> |
| 41 | + Aliquam nec felis in sapien venenatis viverra fermentum nec lectus. |
| 42 | + <ul> |
| 43 | + <li>In fermentum leo eu lectus mollis, quis dictum mi aliquet.</li> |
| 44 | + <li>Morbi eu nulla lobortis, lobortis est in, fringilla felis.</li> |
| 45 | + <li> |
| 46 | + Ut venenatis, nisl scelerisque. |
| 47 | + <ol> |
| 48 | + <li>Donec blandit a lorem id convallis.</li> |
| 49 | + <li>Cras gravida arcu at diam gravida gravida.</li> |
| 50 | + <li>Integer in volutpat libero.</li> |
| 51 | + </ol> |
| 52 | + </li> |
| 53 | + </ul> |
| 54 | + </li> |
| 55 | + <li>Ut non enim metus.</li> |
| 56 | + </ul> |
| 57 | + <h3>Third level</h3> |
| 58 | + <p> |
| 59 | + Quisque ante lacus, malesuada ac auctor vitae, congue |
| 60 | + <a href="#">non ante</a>. Phasellus lacus ex, semper ac tortor nec, fringilla condimentum orci. Fusce eu |
| 61 | + rutrum tellus. |
| 62 | + </p> |
| 63 | + <ol> |
| 64 | + <li>Donec blandit a lorem id convallis.</li> |
| 65 | + <li>Cras gravida arcu at diam gravida gravida.</li> |
| 66 | + <li>Integer in volutpat libero.</li> |
| 67 | + <li>Donec a diam tellus.</li> |
| 68 | + <li> |
| 69 | + Etiam auctor nisl et. |
| 70 | + <ul> |
| 71 | + <li>Donec blandit a lorem id convallis.</li> |
| 72 | + <li>Cras gravida arcu at diam gravida gravida.</li> |
| 73 | + <li> |
| 74 | + Integer in volutpat libero. |
| 75 | + <ol> |
| 76 | + <li>Donec blandit a lorem id convallis.</li> |
| 77 | + <li>Cras gravida arcu at diam gravida gravida.</li> |
| 78 | + </ol> |
| 79 | + </li> |
| 80 | + </ul> |
| 81 | + </li> |
| 82 | + <li>Aenean nec tortor orci.</li> |
| 83 | + <li>Quisque aliquam cursus urna, non bibendum massa viverra eget.</li> |
| 84 | + <li>Vivamus maximus ultricies pulvinar.</li> |
| 85 | + </ol> |
| 86 | + <blockquote> |
| 87 | + Ut venenatis, nisl scelerisque sollicitudin fermentum, quam libero hendrerit ipsum, ut blandit est tellus |
| 88 | + sit amet turpis. |
| 89 | + </blockquote> |
| 90 | + <p> |
| 91 | + Quisque at semper enim, eu hendrerit odio. Etiam auctor nisl et |
| 92 | + <em>justo sodales</em> elementum. Maecenas ultrices lacus quis neque consectetur, et lobortis nisi molestie. |
| 93 | + </p> |
| 94 | + <hr /> |
| 95 | + <p> |
| 96 | + Sed sagittis enim ac tortor maximus rutrum. Nulla facilisi. Donec mattis vulputate risus in luctus. Maecenas |
| 97 | + vestibulum interdum commodo. |
| 98 | + </p> |
| 99 | + <dl> |
| 100 | + <dt>Web</dt> |
| 101 | + <dd>The part of the internet that contains websites and web pages</dd> |
| 102 | + <dt>HTML</dt> |
| 103 | + <dd>A markup language for creating web pages</dd> |
| 104 | + <dt>CSS</dt> |
| 105 | + <dd>A technology to make HTML look better</dd> |
| 106 | + </dl> |
| 107 | + <p> |
| 108 | + Suspendisse egestas sapien non felis placerat elementum. Morbi tortor nisl, suscipit sed mi sit amet, mollis |
| 109 | + malesuada nulla. Nulla facilisi. Nullam ac erat ante. |
| 110 | + </p> |
| 111 | + <h4>Fourth level</h4> |
| 112 | + <p> |
| 113 | + Nulla efficitur eleifend nisi, sit amet bibendum sapien fringilla ac. Mauris euismod metus a tellus laoreet, |
| 114 | + at elementum ex efficitur. |
| 115 | + </p> |
| 116 | + <p> |
| 117 | + Maecenas eleifend sollicitudin dui, faucibus sollicitudin augue cursus non. Ut finibus eleifend arcu ut |
| 118 | + vehicula. Mauris eu est maximus est porta condimentum in eu justo. Nulla id iaculis sapien. |
| 119 | + </p> |
| 120 | + <small>Sometimes you need small text to display things like date created</small> |
| 121 | + <p> |
| 122 | + Phasellus porttitor enim id metus volutpat ultricies. Ut nisi nunc, blandit sed dapibus at, vestibulum in |
| 123 | + felis. Etiam iaculis lorem ac nibh bibendum rhoncus. Nam interdum efficitur ligula sit amet ullamcorper. |
| 124 | + Etiam tristique, leo vitae porta faucibus, mi lacus laoreet metus, at cursus leo est vel tellus. Sed ac |
| 125 | + posuere est. Nunc ultricies nunc neque, vitae ultricies ex sodales quis. Aliquam eu nibh in libero accumsan |
| 126 | + pulvinar. Nullam nec nisl placerat, pretium metus vel, euismod ipsum. Proin tempor cursus nisl vel |
| 127 | + condimentum. Nam pharetra varius metus non pellentesque. |
| 128 | + </p> |
| 129 | + <h5>Fifth level</h5> |
| 130 | + <p> |
| 131 | + Aliquam sagittis rhoncus vulputate. Cras non luctus sem, sed tincidunt ligula. Vestibulum at nunc elit. |
| 132 | + Praesent aliquet ligula mi, in luctus elit volutpat porta. Phasellus molestie diam vel nisi sodales, a |
| 133 | + eleifend augue laoreet. Sed nec eleifend justo. Nam et sollicitudin odio. |
| 134 | + </p> |
| 135 | + <h6>Sixth level</h6> |
| 136 | + <p> |
| 137 | + Cras in nibh lacinia, venenatis nisi et, auctor urna. Donec pulvinar lacus sed diam dignissim, ut eleifend |
| 138 | + eros accumsan. Phasellus non tortor eros. Ut sed rutrum lacus. Etiam purus nunc, scelerisque quis enim |
| 139 | + vitae, malesuada ultrices turpis. Nunc vitae maximus purus, nec consectetur dui. Suspendisse euismod, elit |
| 140 | + vel rutrum commodo, ipsum tortor maximus dui, sed varius sapien odio vitae est. Etiam at cursus metus. |
| 141 | + </p> |
| 142 | + </Content> |
| 143 | + </div> |
| 144 | + </React.Fragment> |
| 145 | + ); |
| 146 | +}; |
0 commit comments