playbook_ui_docs 14.10.0.pre.alpha.PBNTR775formmatingmaskdefaultvalue5137 → 14.10.0.pre.alpha.PLAY1774timelinelabelstepspacing5274

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.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_beta_sort.html.erb +1 -3
  3. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_headers.html.erb +43 -0
  4. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_headers.jsx +60 -0
  5. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_headers.md +1 -0
  6. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_headers_multiple.html.erb +58 -0
  7. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_headers_multiple.jsx +74 -0
  8. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_headers_multiple.md +1 -0
  9. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +6 -1
  10. data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +2 -0
  11. data/app/pb_kits/playbook/pb_card/docs/_card_header.html.erb +18 -0
  12. data/app/pb_kits/playbook/pb_card/docs/_card_header.jsx +40 -0
  13. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_link.html.erb +8 -0
  14. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_link.jsx +9 -0
  15. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_link.md +1 -0
  16. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_color.html.erb +10 -0
  17. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_color.jsx +42 -0
  18. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_color.md +3 -0
  19. data/app/pb_kits/playbook/pb_section_separator/docs/example.yml +2 -0
  20. data/app/pb_kits/playbook/pb_section_separator/docs/index.js +1 -0
  21. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_description.md +3 -0
  22. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_border_radius.html.erb +9 -0
  23. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_border_radius_rails.md +1 -0
  24. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_color.html.erb +7 -0
  25. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_default.html.erb +1 -1
  26. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_filter.html.erb +119 -0
  27. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_filter.jsx +10 -2
  28. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_height_width.html.erb +15 -0
  29. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_height_width.jsx +6 -2
  30. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_height_width_rails.md +3 -0
  31. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_layout.html.erb +3 -0
  32. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_user.html.erb +63 -0
  33. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_user.jsx +11 -3
  34. data/app/pb_kits/playbook/pb_skeleton_loading/docs/example.yml +7 -2
  35. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_columns.jsx +88 -0
  36. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_columns_react.md +3 -0
  37. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_left_columns.jsx +1 -1
  38. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_left_columns_rails.md +2 -0
  39. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_left_columns_react.md +4 -1
  40. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_right_columns.jsx +87 -0
  41. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_right_columns_react.md +5 -0
  42. data/dist/playbook-doc.js +1 -1
  43. metadata +27 -4
  44. /data/app/pb_kits/playbook/pb_skeleton_loading/docs/{_skeleton_loading_border_radius.md → _skeleton_loading_border_radius_react.md} +0 -0
  45. /data/app/pb_kits/playbook/pb_skeleton_loading/docs/{_skeleton_loading_height_width.md → _skeleton_loading_height_width_react.md} +0 -0
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React, { useState } from 'react';
2
2
  import { Button, Card, Filter, Flex, Select, SkeletonLoading, TextInput } from "playbook-ui";
3
3
 
4
4
  const SortingChangeCallback = (sortOptions) => {
@@ -6,7 +6,8 @@ const SortingChangeCallback = (sortOptions) => {
6
6
  }
7
7
 
8
8
  const SkeletonLoadingFilter = (props) => {
9
- const isLoading = true
9
+ const [isLoading, setIsLoading] = useState(true)
10
+ const toggleLoading = () => setIsLoading((prev) => !prev)
10
11
 
11
12
  const options = [
12
13
  { value: 'USA' },
@@ -18,6 +19,13 @@ const SkeletonLoadingFilter = (props) => {
18
19
 
19
20
  return (
20
21
  <div>
22
+ <Button
23
+ marginBottom="md"
24
+ onClick={toggleLoading}
25
+ variant="secondary"
26
+ >
27
+ {isLoading ? "Show Filter" : "Show Skeleton Loading"}
28
+ </Button>
21
29
  <div>
22
30
  {isLoading ? (
23
31
  <Card
@@ -0,0 +1,15 @@
1
+ <%= pb_rails("skeleton_loading", props: { height: "100px", width: "50%" }) %>
2
+
3
+ <%= pb_rails("skeleton_loading", props: { gap: "md", height: "20px", margin_y: "md", stack: 3, width: "50px" }) %>
4
+
5
+ <%= pb_rails("card", props: { height: "200px", margin_bottom: "md", padding: "none", width: "100%" }) do %>
6
+ <%= pb_rails("skeleton_loading", props: { border_radius: "md", gap: "xl", height: "50%", width: "300px" }) %>
7
+ <% end %>
8
+
9
+ <%= pb_rails("card", props: { height: "200px", margin_bottom: "md", padding: "none", width: "100%" }) do %>
10
+ <%= pb_rails("skeleton_loading", props: { border_radius: "md", gap: "xl", height: "30%", stack: 2, width: "70%" }) %>
11
+ <% end %>
12
+
13
+ <%= pb_rails("skeleton_loading", props: { height: "150px", margin_y: "md", width: "150px" }) %>
14
+
15
+ <%= pb_rails("skeleton_loading", props: { border_radius: "rounded", height: "150px", width: "150px" }) %>
@@ -17,9 +17,11 @@ const SkeletonLoadingHeightWidth = (props) => (
17
17
  width="50px"
18
18
  {...props}
19
19
  />
20
- <Card htmlOptions={{ style: { height: '200px', width: '100%' }}}
20
+ <Card
21
+ height='200px'
21
22
  marginBottom="md"
22
23
  padding="none"
24
+ width='100%'
23
25
  {...props}
24
26
  >
25
27
  <SkeletonLoading
@@ -30,8 +32,10 @@ const SkeletonLoadingHeightWidth = (props) => (
30
32
  {...props}
31
33
  />
32
34
  </Card>
33
- <Card htmlOptions={{ style: { height: '200px', width: '100%' }}}
35
+ <Card
36
+ height='200px'
34
37
  padding="none"
38
+ width='100%'
35
39
  {...props}
36
40
  >
37
41
  <SkeletonLoading
@@ -0,0 +1,3 @@
1
+ The `height` and `width` props accept pixel and percentage values. If using a percentage for `height`, the parent container must have a set height.
2
+
3
+ Set the `height` and `width` props to the same value to make a square. A `rounded` border_radius will make a square a circle. If using percentages to make a square, your parent container must also be a square.
@@ -0,0 +1,3 @@
1
+ <%= pb_rails("skeleton_loading", props: { stack: 5 }) %>
2
+
3
+ <%= pb_rails("skeleton_loading", props: { gap: "md", padding_top: "xl", stack: 3 }) %>
@@ -0,0 +1,63 @@
1
+ <%= pb_rails("button", props: { id: "toggle-user-button", margin_bottom: "md", text: "Show User", variant: "secondary" }) %>
2
+
3
+ <div id="skeleton-loading-user-content">
4
+ <%= pb_rails("flex", props: { align_items: "center" }) do %>
5
+ <%= pb_rails("skeleton_loading", props: { border_radius: "rounded", height: "38px", padding_right: "sm", width: "38px"}) %>
6
+ <%= pb_rails("skeleton_loading", props: { gap: "xxs", height: "18px", stack: 2, width: "161px"}) %>
7
+ <% end %>
8
+ <%= pb_rails("flex", props: { align_items: "start", padding_top: "md" }) do %>
9
+ <%= pb_rails("flex", props: { align_items: "center", flex_direction: "column" }) do %>
10
+ <%= pb_rails("skeleton_loading", props: { border_radius: "rounded", height: "100px", padding_bottom: "xs", width: "100px"}) %>
11
+ <%= pb_rails("skeleton_loading", props: { height: "32px", padding_bottom: "xxs", width: "144px"}) %>
12
+ <%= pb_rails("skeleton_loading", props: { height: "21px", width: "164px"}) %>
13
+ <% end %>
14
+ <% end %>
15
+ </div>
16
+
17
+ <div id="user-content" style="display: none;">
18
+ <div>
19
+ <%= pb_rails("user", props: {
20
+ name: "Anna Black",
21
+ title: "Remodeling Consultant",
22
+ orientation: "horizontal",
23
+ align: "left",
24
+ avatar_url: "https://randomuser.me/api/portraits/women/44.jpg"
25
+ }) %>
26
+ </div>
27
+ <div>
28
+ <%= pb_rails("flex", props: { align_items: "start", padding_top: "md" }) do %>
29
+ <%= pb_rails("user", props: {
30
+ name: "Anna Black",
31
+ title: "Remodeling Consultant",
32
+ orientation: "vertical",
33
+ align: "center",
34
+ size: "lg",
35
+ avatar_url: "https://randomuser.me/api/portraits/women/44.jpg"
36
+ }) %>
37
+ <% end %>
38
+ </div>
39
+ </div>
40
+
41
+ <script>
42
+ document.addEventListener("DOMContentLoaded", function() {
43
+ const toggleButton = document.getElementById('toggle-user-button')
44
+ const skeletonUserContentDiv = document.getElementById('skeleton-loading-user-content')
45
+ const userContentDiv = document.getElementById('user-content')
46
+
47
+ let isLoading = true
48
+
49
+ toggleButton.addEventListener('click', function() {
50
+ isLoading = !isLoading
51
+
52
+ if (isLoading) {
53
+ skeletonUserContentDiv.style.display = 'block'
54
+ userContentDiv.style.display = 'none'
55
+ toggleButton.textContent = 'Show User'
56
+ } else {
57
+ skeletonUserContentDiv.style.display = 'none'
58
+ userContentDiv.style.display = 'block'
59
+ toggleButton.textContent = 'Show Skeleton Loading'
60
+ }
61
+ })
62
+ })
63
+ </script>
@@ -1,11 +1,19 @@
1
- import React from 'react';
2
- import { Flex, SkeletonLoading, User } from "playbook-ui";
1
+ import React, { useState } from 'react';
2
+ import { Button, Flex, SkeletonLoading, User } from "playbook-ui";
3
3
 
4
4
  const SkeletonLoadingUser = (props) => {
5
- const isLoading = true
5
+ const [isLoading, setIsLoading] = useState(true)
6
+ const toggleLoading = () => setIsLoading((prev) => !prev)
6
7
 
7
8
  return (
8
9
  <div>
10
+ <Button
11
+ marginBottom="md"
12
+ onClick={toggleLoading}
13
+ variant="secondary"
14
+ >
15
+ {isLoading ? "Show User" : "Show Skeleton Loading"}
16
+ </Button>
9
17
  <div>
10
18
  {isLoading ? (
11
19
  <Flex alignItems="center">
@@ -1,8 +1,13 @@
1
1
  examples:
2
2
 
3
3
  rails:
4
- # - skeleton_loading_default: Default
5
-
4
+ - skeleton_loading_default: Default
5
+ - skeleton_loading_color: Color
6
+ - skeleton_loading_layout: Layout
7
+ - skeleton_loading_border_radius: Border Radius
8
+ - skeleton_loading_height_width: Height & Width
9
+ - skeleton_loading_user: User Component Example
10
+ - skeleton_loading_filter: Filter Component Example
6
11
 
7
12
  react:
8
13
  - skeleton_loading_default: Default
@@ -0,0 +1,88 @@
1
+ import React from 'react'
2
+ import Table from '../_table'
3
+
4
+ const TableStickyColumns = () => {
5
+ return (
6
+ <Table
7
+ responsive="scroll"
8
+ size="md"
9
+ stickyLeftColumn={["a"]}
10
+ stickyRightColumn={["b"]}
11
+ >
12
+ <thead>
13
+ <tr>
14
+ <th id="a">{'Column 1'}</th>
15
+ <th>{'Column 2'}</th>
16
+ <th>{'Column 3'}</th>
17
+ <th>{'Column 4'}</th>
18
+ <th>{'Column 5'}</th>
19
+ <th>{'Column 6'}</th>
20
+ <th>{'Column 7'}</th>
21
+ <th>{'Column 8'}</th>
22
+ <th>{'Column 9'}</th>
23
+ <th>{'Column 10'}</th>
24
+ <th>{'Column 11'}</th>
25
+ <th>{'Column 12'}</th>
26
+ <th>{'Column 13'}</th>
27
+ <th>{'Column 14'}</th>
28
+ <th id="b">{'Column 15'}</th>
29
+ </tr>
30
+ </thead>
31
+ <tbody>
32
+ <tr>
33
+ <td id="a">{'Value 1'}</td>
34
+ <td>{'Value 2'}</td>
35
+ <td>{'Value 3'}</td>
36
+ <td>{'Value 4'}</td>
37
+ <td>{'Value 5'}</td>
38
+ <td>{'Value 6'}</td>
39
+ <td>{'Value 7'}</td>
40
+ <td>{'Value 8'}</td>
41
+ <td>{'Value 9'}</td>
42
+ <td>{'Value 10'}</td>
43
+ <td>{'Value 11'}</td>
44
+ <td>{'Value 12'}</td>
45
+ <td>{'Value 13'}</td>
46
+ <td>{'Value 14'}</td>
47
+ <td id="b">{'Value 15'}</td>
48
+ </tr>
49
+ <tr>
50
+ <td id="a">{'Value 1'}</td>
51
+ <td>{'Value 2'}</td>
52
+ <td>{'Value 3'}</td>
53
+ <td>{'Value 4'}</td>
54
+ <td>{'Value 5'}</td>
55
+ <td>{'Value 6'}</td>
56
+ <td>{'Value 7'}</td>
57
+ <td>{'Value 8'}</td>
58
+ <td>{'Value 9'}</td>
59
+ <td>{'Value 10'}</td>
60
+ <td>{'Value 11'}</td>
61
+ <td>{'Value 12'}</td>
62
+ <td>{'Value 13'}</td>
63
+ <td>{'Value 14'}</td>
64
+ <td id="b">{'Value 15'}</td>
65
+ </tr>
66
+ <tr>
67
+ <td id="a">{'Value 1'}</td>
68
+ <td>{'Value 2'}</td>
69
+ <td>{'Value 3'}</td>
70
+ <td>{'Value 4'}</td>
71
+ <td>{'Value 5'}</td>
72
+ <td>{'Value 6'}</td>
73
+ <td>{'Value 7'}</td>
74
+ <td>{'Value 8'}</td>
75
+ <td>{'Value 9'}</td>
76
+ <td>{'Value 10'}</td>
77
+ <td>{'Value 11'}</td>
78
+ <td>{'Value 12'}</td>
79
+ <td>{'Value 13'}</td>
80
+ <td>{'Value 14'}</td>
81
+ <td id="b">{'Value 15'}</td>
82
+ </tr>
83
+ </tbody>
84
+ </Table>
85
+ )
86
+ }
87
+
88
+ export default TableStickyColumns
@@ -0,0 +1,3 @@
1
+ The `stickyLeftColumn` and `stickyRightColumn` props can be used together on the same table as needed.
2
+
3
+ Please ensure that unique ids are used for all columns across multiple tables. Using the same columns ids on multiple tables can lead to issues when using props.
@@ -6,7 +6,7 @@ const TableStickyLeftColumns = () => {
6
6
  <Table
7
7
  responsive="scroll"
8
8
  size="md"
9
- stickyLeftcolumn={["1", "2", "3"]}
9
+ stickyLeftColumn={["1", "2", "3"]}
10
10
  >
11
11
  <thead>
12
12
  <tr>
@@ -1 +1,3 @@
1
1
  The `stickyLeftColumn` prop expects an array of the column ids you want to be sticky. Make sure to add the corresponding id to the `<th>` and `<td>`.
2
+
3
+ Please ensure that unique ids are used for all columns across multiple tables. Using the same columns ids on multiple tables can lead to issues when using the `stickyLeftColumn`.
@@ -1,2 +1,5 @@
1
1
  The `stickyLeftColumn` prop expects an array of the column ids you want to be sticky. Make sure to add the corresponding id to the `<th>` and `<td>`.
2
- If you are using the sub-component variant, then you will pass the id to `<Table.Header>` and `<Table.Cell>`
2
+
3
+ If you are using the sub-component variant, then you will pass the id to `<Table.Header>` and `<Table.Cell>`
4
+
5
+ Please ensure that unique ids are used for all columns across multiple tables. Using the same columns ids on multiple tables can lead to issues when using `stickyLeftColumn` prop.
@@ -0,0 +1,87 @@
1
+ import React from 'react'
2
+ import Table from '../_table'
3
+
4
+ const TableStickyRightColumns = () => {
5
+ return (
6
+ <Table
7
+ responsive="scroll"
8
+ size="md"
9
+ stickyRightColumn={["13", "14", "15"]}
10
+ >
11
+ <thead>
12
+ <tr>
13
+ <th>{'Column 1'}</th>
14
+ <th>{'Column 2'}</th>
15
+ <th>{'Column 3'}</th>
16
+ <th>{'Column 4'}</th>
17
+ <th>{'Column 5'}</th>
18
+ <th>{'Column 6'}</th>
19
+ <th>{'Column 7'}</th>
20
+ <th>{'Column 8'}</th>
21
+ <th>{'Column 9'}</th>
22
+ <th>{'Column 10'}</th>
23
+ <th>{'Column 11'}</th>
24
+ <th>{'Column 12'}</th>
25
+ <th id="13">{'Column 13'}</th>
26
+ <th id="14">{'Column 14'}</th>
27
+ <th id="15">{'Column 15'}</th>
28
+ </tr>
29
+ </thead>
30
+ <tbody>
31
+ <tr>
32
+ <td>{'Value 1'}</td>
33
+ <td>{'Value 2'}</td>
34
+ <td>{'Value 3'}</td>
35
+ <td>{'Value 4'}</td>
36
+ <td>{'Value 5'}</td>
37
+ <td>{'Value 6'}</td>
38
+ <td>{'Value 7'}</td>
39
+ <td>{'Value 8'}</td>
40
+ <td>{'Value 9'}</td>
41
+ <td>{'Value 10'}</td>
42
+ <td>{'Value 11'}</td>
43
+ <td>{'Value 12'}</td>
44
+ <td id="13">{'Value 13'}</td>
45
+ <td id="14">{'Value 14'}</td>
46
+ <td id="15">{'Value 15'}</td>
47
+ </tr>
48
+ <tr>
49
+ <td>{'Value 1'}</td>
50
+ <td>{'Value 2'}</td>
51
+ <td>{'Value 3'}</td>
52
+ <td>{'Value 4'}</td>
53
+ <td>{'Value 5'}</td>
54
+ <td>{'Value 6'}</td>
55
+ <td>{'Value 7'}</td>
56
+ <td>{'Value 8'}</td>
57
+ <td>{'Value 9'}</td>
58
+ <td>{'Value 10'}</td>
59
+ <td>{'Value 11'}</td>
60
+ <td>{'Value 12'}</td>
61
+ <td id="13">{'Value 13'}</td>
62
+ <td id="14">{'Value 14'}</td>
63
+ <td id="15">{'Value 15'}</td>
64
+ </tr>
65
+ <tr>
66
+ <td>{'Value 1'}</td>
67
+ <td>{'Value 2'}</td>
68
+ <td>{'Value 3'}</td>
69
+ <td>{'Value 4'}</td>
70
+ <td>{'Value 5'}</td>
71
+ <td>{'Value 6'}</td>
72
+ <td>{'Value 7'}</td>
73
+ <td>{'Value 8'}</td>
74
+ <td>{'Value 9'}</td>
75
+ <td>{'Value 10'}</td>
76
+ <td>{'Value 11'}</td>
77
+ <td>{'Value 12'}</td>
78
+ <td id="13">{'Value 13'}</td>
79
+ <td id="14">{'Value 14'}</td>
80
+ <td id="15">{'Value 15'}</td>
81
+ </tr>
82
+ </tbody>
83
+ </Table>
84
+ )
85
+ }
86
+
87
+ export default TableStickyRightColumns
@@ -0,0 +1,5 @@
1
+ The `stickyRightColumn` prop works in the same way as the above `stickyLeftColumn` prop. It expects an array of the column ids you want to be sticky. Make sure to add the corresponding id to the `<th>` and `<td>`.
2
+
3
+ If you are using the sub-component variant, then you will pass the id to `<Table.Header>` and `<Table.Cell>`
4
+
5
+ Please ensure that unique ids are used for all columns across multiple tables. Using the same columns ids on multiple tables can lead to issues when using the `stickyRightColumn` prop.