Modals (stackable) and Modal (embedded): focusable, keyboard-controlled
Add modalEmbed modal
Hints (show once, disable-all, reset) and Hint (embedded): simple label positioning, even taking into account DOM element positions
Show hint (if not already shown)Reset hintsDisable all Embed hint
Scrollable (with translateZ(0)) with floats
Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32. Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32. Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32. Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32. Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32. Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32. Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32.
DataTable is based on the VirtualScroller component, whose primary function is to render only visible rows. These rows can have uniform and well-known heights (at the simplest end of the spectrum), uniform but unknown, and also dynamic: different for every row, and even changing in time (as a result of passed-down props or their own intrinsic state).
Complete example: editable, filtered, internationalised, inifinite(fetch more items by scrolling down to the bottom of the list), custom styles, etc.
Select random row
Items: 0
Sort manually
Id
Name
Notes
Confirmed
Confirmed 2
Phone
Fetching...
Example with custom sort and pagination: this one is also ultra-fast, thanks to having uniform heights:
Sort by
Page: 1
Sort manually
Id
Name
Age
Phone
315
Abelardo Leffler
21
(829) 594-2754 x6559
Example with inline edit and validation
Sort manually
Name
Type
Last change
Confirmed
Phone
Submit
Simplest example: leave everything to the DataTable component
Sort manually
Id
Name
Phone
Notes
0
Mª Antonia Pérez Ñandú
446.502.7197 x47167
Ipsam nihil nam nemo. Explicabo et earum deserunt deleniti sit quasi.
Example without a fixed data-table height
Sort manually
Id
Name
Phone
Notes
0
Mª Antonia Pérez Ñandú
097-913-1054
Est qui soluta distinctio odio minus totam commodi ipsum. At vitae laudantium corrupti enim id a architecto itaque.
1
Bria Koss DVM
(876) 879-8732
Earum sit facere ut voluptatibus tempora voluptates et. Doloribus et laboriosam.
2
Alexandra Corwin Sr.
526-191-3311 x968
Id adipisci est ducimus. Quisquam quaerat consequuntur ratione provident.
3
Claudia Bins
(605) 768-2663
Dolorem et quas commodi et ut. Et voluptatibus ex ad qui aut saepe velit asperiores repellendus.
4
Delores Kunde
088.586.5582
Praesentium at earum dolor. Quas debitis dolore sunt voluptatibus quis voluptatem eos reprehenderit minima.
5
Sean Kozey
1-540-876-0374 x62199
Minima rerum nisi dolor error eos recusandae. Libero et quia quam fugiat officia.
Finally, you can also embed a DataTable in a Modal: Show me!
Inputs
Choose a file…Choose a file…
RadioGroup (flexible labels, clipboard)
because yes, we can ;)
RangeInput
Input validation
Textarea (with auto-resize)
En un lugar de la Mancha...
En un lugar de la Mancha...
Select: native, or with inline/dropdown ListPicker (keyboard-controlled, shortcuts, clipboard, one/two-stage, autoscroll)
A long, really long, very very very very very very long optionApplesOption 28Option 28
Apples⇧⌃A
2⌃2
Berries⇧B, ⇧C
trueAlt-⌫
C⇧↑
Option 0
Option 1
Option 2
Option 3
Option 4
Option 5
Option 6
Option 7
Option 8
Option 9
Option 10
Option 11
Option 12
Option 13
Option 14
Option 15
Option 16
Option 17
Option 18
Option 19
Option 20
Option 21
Option 22
Option 23
Option 24
Option 25
Option 26
Option 27
Option 28
Option 29
Option 30
Title
Option 31
Option 32
Option 33
Option 34
Option 35
Option 36
Option 37
Option 38
Option 39
Option 40
Option 41
Option 42
Option 43
Option 44
Option 45
Option 46
Option 47
Option 48
Option 49
Ø
Option 0
Option 1
Option 2
Option 3
Option 4
Option 5
Option 6
Option 7
Option 8
Option 9
Option 10
Option 11
Option 12
Option 13
Option 14
Option 15
Option 16
Option 17
Option 18
Option 19
Option 20
Option 21
Option 22
Option 23
Option 24
Option 25
Option 26
Option 27
Option 28
Option 29
Option 30
Title
Option 31
Option 32
Option 33
Option 34
Option 35
Option 36
Option 37
Option 38
Option 39
Option 40
Option 41
Option 42
Option 43
Option 44
Option 45
Option 46
Option 47
Option 48
Option 49
DateInput: field-only, or with inline/dropdown DateTimePicker (keyboard-controlled, clipboard; local for date+time, UTC otherwise)
dropDownPicker (default)
onlyField
native
disabled
Inline pickers with date:
January 2025
Su
Mo
Tu
We
Th
Fr
Sa
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
Today
00:00
00:30
01:00
01:30
02:00
02:30
03:00
03:30
04:00
04:30
05:00
05:30
06:00
06:30
07:00
07:30
08:00
08:30
09:00
09:30
10:00
10:30
11:00
11:30
12:00
12:30
13:00
13:30
14:00
14:30
15:00
15:30
16:00
16:30
17:00
17:30
18:00
18:30
19:00
19:30
20:00
20:30
21:00
21:30
22:00
22:30
23:00
23:30
January 2025
Su
Mo
Tu
We
Th
Fr
Sa
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
Today
Analogue and digital time pickers:
AM
00:00
00:30
01:00
01:30
02:00
02:30
03:00
03:30
04:00
04:30
05:00
05:30
06:00
06:30
07:00
07:30
08:00
08:30
09:00
09:30
10:00
10:30
11:00
11:30
12:00
12:30
13:00
13:30
14:00
14:30
15:00
15:30
16:00
16:30
17:00
17:30
18:00
18:30
19:00
19:30
20:00
20:30
21:00
21:30
22:00
22:30
23:00
23:30
January 2025
Su
Mo
Tu
We
Th
Fr
Sa
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
Today
AM
January 2025
Su
Mo
Tu
We
Th
Fr
Sa
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
Today
ColorInput: with inline/dropdown ColorPicker (RGB/HSV, alpha, clipboard)
xx
RGB
HSV
H
S
V
#cca500ff
RGB
HSV
H
S
V
#cca500ff
Imperative example
Change & focusRevert & blur
Inputs in a paragraph
Here is a text input , a date input and . Now let's see a native select and a custom select: . Are all correctly baseline-aligned? Now we also check what happens if we insert a drop-down menu and a plain button, an icon or a spinner. Finally, we add a color input x.