playbook_ui_docs 14.10.0.pre.alpha.play16825301 → 14.10.0.pre.rc.0

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 (86) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_beta_sort.html.erb +3 -1
  3. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_beta_subrow_headers.html.erb +1 -1
  4. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_beta_subrow_headers.md +1 -1
  5. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +0 -8
  6. data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +0 -4
  7. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_custom.jsx +49 -53
  8. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_custom_rails.html.erb +36 -29
  9. data/app/pb_kits/playbook/pb_bread_crumbs/docs/_bread_crumbs_default.jsx +0 -6
  10. data/app/pb_kits/playbook/pb_card/docs/_card_header.html.erb +1 -39
  11. data/app/pb_kits/playbook/pb_card/docs/_card_header.jsx +0 -90
  12. data/app/pb_kits/playbook/pb_card/docs/_card_header.md +1 -1
  13. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_link.html.erb +0 -8
  14. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_link.jsx +0 -9
  15. data/app/pb_kits/playbook/pb_file_upload/docs/_file_upload_accept.jsx +1 -3
  16. data/app/pb_kits/playbook/pb_file_upload/docs/_file_upload_custom_description.jsx +1 -4
  17. data/app/pb_kits/playbook/pb_file_upload/docs/_file_upload_max_size.jsx +1 -1
  18. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_complex.jsx +5 -25
  19. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_emphasis.html.erb +1 -17
  20. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_emphasis.jsx +0 -15
  21. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_emphasis.md +1 -2
  22. data/app/pb_kits/playbook/pb_section_separator/docs/example.yml +0 -2
  23. data/app/pb_kits/playbook/pb_section_separator/docs/index.js +0 -1
  24. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_default.html.erb +1 -1
  25. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_height_width.jsx +2 -8
  26. data/app/pb_kits/playbook/pb_skeleton_loading/docs/example.yml +3 -9
  27. data/app/pb_kits/playbook/pb_skeleton_loading/docs/index.js +0 -2
  28. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_left_columns.jsx +1 -1
  29. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_left_columns_react.md +1 -4
  30. data/app/pb_kits/playbook/pb_table/docs/example.yml +0 -9
  31. data/app/pb_kits/playbook/pb_table/docs/index.js +0 -7
  32. data/app/pb_kits/playbook/pb_text_input/docs/example.yml +0 -1
  33. data/app/pb_kits/playbook/pb_text_input/docs/index.js +0 -1
  34. data/app/pb_kits/playbook/pb_timeline/docs/_timeline_with_gap.html.erb +5 -4
  35. data/app/pb_kits/playbook/pb_timeline/docs/_timeline_with_gap.jsx +4 -4
  36. data/app/pb_kits/playbook/pb_timeline/docs/_timeline_with_gap.md +1 -1
  37. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_highlight.jsx +2 -9
  38. data/dist/playbook-doc.js +1 -1
  39. metadata +4 -49
  40. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_collapsible_trail_rails.html.erb +0 -36
  41. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_collapsible_trail_rails.md +0 -1
  42. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_headers.html.erb +0 -43
  43. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_headers.jsx +0 -60
  44. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_headers.md +0 -1
  45. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_headers_multiple.html.erb +0 -58
  46. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_headers_multiple.jsx +0 -74
  47. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_headers_multiple.md +0 -1
  48. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pagination.jsx +0 -50
  49. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pagination.md +0 -1
  50. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pagination_with_props.jsx +0 -57
  51. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pagination_with_props.md +0 -5
  52. data/app/pb_kits/playbook/pb_advanced_table/docs/advanced_table_pagination_mock_data.json +0 -5600
  53. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_link.md +0 -1
  54. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_color.html.erb +0 -10
  55. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_color.jsx +0 -42
  56. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_color.md +0 -3
  57. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_description.md +0 -3
  58. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_border_radius.html.erb +0 -9
  59. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_border_radius_rails.md +0 -1
  60. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_color.html.erb +0 -7
  61. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_filter.html.erb +0 -119
  62. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_filter.jsx +0 -174
  63. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_height_width.html.erb +0 -15
  64. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_height_width_rails.md +0 -3
  65. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_layout.html.erb +0 -3
  66. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_user.html.erb +0 -63
  67. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_user.jsx +0 -97
  68. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_columns.jsx +0 -88
  69. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_columns_react.md +0 -3
  70. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_left_columns.html.erb +0 -77
  71. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_left_columns_rails.md +0 -3
  72. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_right_columns.jsx +0 -87
  73. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_right_columns_react.md +0 -5
  74. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible.jsx +0 -75
  75. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible.md +0 -1
  76. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_click.jsx +0 -108
  77. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_click.md +0 -2
  78. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_content.jsx +0 -94
  79. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_content.md +0 -0
  80. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_rows.jsx +0 -83
  81. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_rows.md +0 -3
  82. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_table.jsx +0 -120
  83. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_table.md +0 -1
  84. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_mask.jsx +0 -106
  85. /data/app/pb_kits/playbook/pb_skeleton_loading/docs/{_skeleton_loading_border_radius_react.md → _skeleton_loading_border_radius.md} +0 -0
  86. /data/app/pb_kits/playbook/pb_skeleton_loading/docs/{_skeleton_loading_height_width_react.md → _skeleton_loading_height_width.md} +0 -0
@@ -1 +0,0 @@
1
- The `link` prop accepts a string that is used as an href value and causes the button to act as a link. The default behavior of a link is to open in the current window. You can optionally alter the link behavior by adding the `newWindow` prop (boolean), which will open the link in a new window, or by calling the `target` prop, which accepts `_self`, `_blank`, `_parent`, `_top`, `child`, or any string, allowing you to specify any link target.
@@ -1,10 +0,0 @@
1
- <%= pb_rails("section_separator", props: { text: "Default Separator" }) %>
2
- <%= pb_rails("section_separator", props: { color: "primary", text: "Primary Separator" }) %>
3
- <%= pb_rails("section_separator", props: { color: "primary", line_style: "dashed", text: "Primary Dashed Separator" }) %>
4
- <%= pb_rails("section_separator", props: { color: "primary" }) do %>
5
- <%= pb_rails("flex", props: { padding: "xs" }) do %>
6
- <%= pb_rails("icon", props: { color: "primary", icon: "arrow-down" }) %>
7
- <%= pb_rails("detail", props: { text: "Children", size: "sm", color: "link" }) %>
8
- <% end %>
9
- <% end %>
10
-
@@ -1,42 +0,0 @@
1
- import React from "react"
2
- import { SectionSeparator, Flex, Detail, Icon } from "playbook-ui"
3
-
4
- const children = (
5
- <Flex padding="xs">
6
- <Icon color="primary"
7
- icon="arrow-down"
8
- />
9
- <Detail
10
- color="link"
11
- size="sm"
12
- text="Children"
13
- />
14
- </Flex>
15
- )
16
-
17
- const SectionSeparatorColor = (props) => {
18
- return (
19
- <div>
20
- <SectionSeparator text="Default Separator"
21
- {...props}
22
- />
23
- <SectionSeparator color="primary"
24
- text="Primary Separator"
25
- {...props}
26
- />
27
- <SectionSeparator
28
- color="primary"
29
- lineStyle="dashed"
30
- text="Primary Dashed Separator"
31
- {...props}
32
- />
33
- <SectionSeparator color="primary"
34
- {...props}
35
- >
36
- {children}
37
- </SectionSeparator>
38
- </div>
39
- )
40
- }
41
-
42
- export default SectionSeparatorColor
@@ -1,3 +0,0 @@
1
- Pass "primary" to the `color` prop to change any section separator color.
2
-
3
- **NOTE:** Passing `children` overrides any content provided via the `text` prop. The `color` prop does not affect the `text` prop's color, and the color of `children` is determined by the children's individual props. For greater control over text color customization, consider using a separator with `children`.
@@ -1,3 +0,0 @@
1
- The Skeleton Loading kit can be used an intermediate loading state to give users a visual indication that content is loading.
2
-
3
- **Please Note**: this kit is not meant to be integrated interally within other Playbook kits as a loading prop; rather, it can be used to create a composite of the section/kit/page with loading intermediataries, as demonstrated in the the "example component" doc examples.
@@ -1,9 +0,0 @@
1
- <%= pb_rails("flex", props: { justify: "evenly" }) do %>
2
- <%= pb_rails("skeleton_loading", props: { border_radius: "rounded", height: "50px", width: "100px"}) %>
3
- <%= pb_rails("skeleton_loading", props: { border_radius: "xl", height: "50px", width: "100px"}) %>
4
- <%= pb_rails("skeleton_loading", props: { border_radius: "lg", height: "50px", width: "100px"}) %>
5
- <%= pb_rails("skeleton_loading", props: { border_radius: "md", height: "50px", width: "100px"}) %>
6
- <%= pb_rails("skeleton_loading", props: { height: "50px", width: "100px"}) %>
7
- <%= pb_rails("skeleton_loading", props: { border_radius: "xs", height: "50px", width: "100px"}) %>
8
- <%= pb_rails("skeleton_loading", props: { border_radius: "none", height: "50px", width: "100px"}) %>
9
- <% end %>
@@ -1 +0,0 @@
1
- The `border_radius` prop accepts all of our [BorderRadius](https://playbook.powerapp.cloud/visual_guidelines/border_radius) tokens, with `sm` as default.
@@ -1,7 +0,0 @@
1
- <%= pb_rails("card", props: { border_none: true }) do %>
2
- <%= pb_rails("skeleton_loading") %>
3
- <% end %>
4
-
5
- <%= pb_rails("card", props: { background: "light", border_none: true }) do %>
6
- <%= pb_rails("skeleton_loading", props: { color: "white" }) %>
7
- <% end %>
@@ -1,119 +0,0 @@
1
- <%= pb_rails("button", props: { id: "toggle-filter-button", margin_bottom: "md", text: "Show Filter", variant: "secondary" }) %>
2
-
3
- <div id="skeleton-loading-filter-content">
4
- <%= pb_rails("card", props: { margin_bottom: "lg" }) do %>
5
- <%= pb_rails("flex", props: { align_items: "center", justify: "between", orientation: "row" }) do %>
6
- <%= pb_rails("flex", props: { align_items: "center", justify: "start", orientation: "row" }) do %>
7
- <%= pb_rails("skeleton_loading", props: { border_radius: "rounded", height: "40px", margin_right: "sm", width: "40px" }) %>
8
- <%= pb_rails("skeleton_loading", props: { height: "16px", margin_right: "md", width: "80px" }) %>
9
- <% end %>
10
- <%= pb_rails("flex", props: { align_items: "center", justify: "end", orientation: "row" }) do %>
11
- <%= pb_rails("skeleton_loading", props: { height: "18px", width: "120px" }) %>
12
- <% end %>
13
- <% end %>
14
- <% end %>
15
-
16
- <%= pb_rails("skeleton_loading", props: { height: "127px", width: "100%" }) %>
17
- </div>
18
-
19
- <div id="filter-content" style="display: none;">
20
- <%= pb_rails("filter", props: {
21
- margin_bottom: "xl",
22
- min_width: "360px",
23
- id: "2",
24
- filters: [
25
- { name: "name", value: "John Wick" }
26
- ],
27
- sort_menu: [
28
- { item: "Popularity", link: "?q[sorts]=managers_popularity+asc", active: true, direction: "desc" },
29
- { item: "Mananger's Title", link: "?q[sorts]=managers_title+asc", active: false },
30
- { item: "Manager's Name", link: "?q[sorts]=managers_name+asc", active: false },
31
- ],
32
- results: 546,
33
- template: "single"
34
- }) do %>
35
- <% example_collection = [
36
- OpenStruct.new(name: "USA", value: 1),
37
- OpenStruct.new(name: "Canada", value: 2),
38
- OpenStruct.new(name: "Brazil", value: 3),
39
- OpenStruct.new(name: "Philippines", value: 4),
40
- OpenStruct.new(name: "A galaxy far far away...", value: 5)
41
- ] %>
42
-
43
- <%= pb_rails("form", props: { form_system_options: { scope: :example, method: :get } }) do |form| %>
44
- <%= form.text_field :example_text_field, props: { label: true } %>
45
- <%= form.collection_select :example_collection_select, example_collection, :value, :name, props: { label: true } %>
46
-
47
- <%= form.actions do |action| %>
48
- <%= action.submit props: {
49
- text: "Apply",
50
- data: {
51
- disable_with: "pb_rails('icon', props: { icon: 'spinner', spin: true, fixed_width: true })Searching...".html_safe
52
- },}%>
53
- <%= action.button props: { type: "reset", text: "Clear", variant: "secondary" } %>
54
- <% end %>
55
- <% end %>
56
- <% end %>
57
-
58
- <%= pb_rails("filter", props: {
59
- min_width: "360px",
60
- id: "1",
61
- filters: [
62
- { name: "name", value: "John Wick" },
63
- { name: "city", value: "San Francisco"}
64
- ],
65
- sort_menu: [
66
- { item: "Popularity", link: "?q[sorts]=managers_popularity+asc", active: true, direction: "desc" },
67
- { item: "Mananger's Title", link: "?q[sorts]=managers_title+asc", active: false },
68
- { item: "Manager's Name", link: "?q[sorts]=managers_name+asc", active: false },
69
- ],
70
- template: "default",
71
- results: 1,
72
- }) do %>
73
- <% example_collection = [
74
- OpenStruct.new(name: "USA", value: 1),
75
- OpenStruct.new(name: "Canada", value: 2),
76
- OpenStruct.new(name: "Brazil", value: 3),
77
- OpenStruct.new(name: "Philippines", value: 4),
78
- OpenStruct.new(name: "A galaxy far far away...", value: 5)
79
- ] %>
80
- <%= pb_rails("form", props: { form_system_options: { scope: :example, method: :get } }) do |form| %>
81
- <%= form.text_field :example_text_field, props: { label: true } %>
82
- <%= form.collection_select :example_collection_select, example_collection, :value, :name, props: { label: true } %>
83
-
84
- <%= form.actions do |action| %>
85
- <%= action.submit props: {
86
- text: "Apply",
87
- data: {
88
- disable_with: "pb_rails('icon', props: { icon: 'spinner', spin: true, fixed_width: true })Searching...".html_safe
89
- },}%>
90
- <%= action.button props: { type: "reset", text: "Clear", variant: "secondary" } %>
91
- <% end %>
92
- <% end %>
93
- <% end %>
94
- </div>
95
-
96
- <script>
97
- document.addEventListener("DOMContentLoaded", function() {
98
- const toggleButton = document.getElementById('toggle-filter-button')
99
- const skeletonFilterContentDiv = document.getElementById('skeleton-loading-filter-content')
100
- const filterContentDiv = document.getElementById('filter-content')
101
- const secondFilterContentDiv = document.getElementById('second-filter-content')
102
-
103
- let isLoading = true
104
-
105
- toggleButton.addEventListener('click', function() {
106
- isLoading = !isLoading
107
-
108
- if (isLoading) {
109
- skeletonFilterContentDiv.style.display = 'block'
110
- filterContentDiv.style.display = 'none'
111
- toggleButton.textContent = 'Show Filter'
112
- } else {
113
- skeletonFilterContentDiv.style.display = 'none'
114
- filterContentDiv.style.display = 'block'
115
- toggleButton.textContent = 'Show Skeleton Loading'
116
- }
117
- })
118
- })
119
- </script>
@@ -1,174 +0,0 @@
1
- import React, { useState } from 'react';
2
- import { Button, Card, Filter, Flex, Select, SkeletonLoading, TextInput } from "playbook-ui";
3
-
4
- const SortingChangeCallback = (sortOptions) => {
5
- alert(JSON.stringify(sortOptions[0]))
6
- }
7
-
8
- const SkeletonLoadingFilter = (props) => {
9
- const [isLoading, setIsLoading] = useState(true)
10
- const toggleLoading = () => setIsLoading((prev) => !prev)
11
-
12
- const options = [
13
- { value: 'USA' },
14
- { value: 'Canada' },
15
- { value: 'Brazil' },
16
- { value: 'Philippines' },
17
- { value: 'A galaxy far far away, like really far away...' },
18
- ]
19
-
20
- return (
21
- <div>
22
- <Button
23
- marginBottom="md"
24
- onClick={toggleLoading}
25
- variant="secondary"
26
- >
27
- {isLoading ? "Show Filter" : "Show Skeleton Loading"}
28
- </Button>
29
- <div>
30
- {isLoading ? (
31
- <Card
32
- marginBottom="lg"
33
- {...props}
34
- >
35
- <Flex
36
- alignItems="center"
37
- justify="between"
38
- orientation="row"
39
- >
40
- <Flex
41
- alignItems="center"
42
- justify="start"
43
- orientation="row"
44
- >
45
- <SkeletonLoading
46
- borderRadius="rounded"
47
- height="40px"
48
- marginRight="sm"
49
- width="40px"
50
- {...props}
51
- />
52
- <SkeletonLoading
53
- height="16px"
54
- marginRight="md"
55
- width="80px"
56
- {...props}
57
- />
58
- </Flex>
59
- <Flex
60
- alignItems="center"
61
- justify="end"
62
- orientation="row"
63
- >
64
- <SkeletonLoading
65
- height="18px"
66
- width="120px"
67
- {...props}
68
- />
69
- </Flex>
70
- </Flex>
71
- </Card>
72
- ) : (
73
- <Filter
74
- filters={{ 'Full Name': 'John Wick' }}
75
- marginBottom="lg"
76
- minWidth="375px"
77
- results={546}
78
- sortOptions={{
79
- popularity: 'Popularity',
80
- // eslint-disable-next-line
81
- manager_title: 'Manager\'s Title',
82
- // eslint-disable-next-line
83
- manager_name: 'Manager\'s Name',
84
- }}
85
- sortValue={[{ name: 'popularity', dir: 'desc' }]}
86
- >
87
- {({ closePopover }) => (
88
- <form>
89
- <TextInput
90
- label="Example Text Field"
91
- placeholder="Enter Text"
92
- />
93
- <Select
94
- blankSelection="Select One..."
95
- label="Example Collection Select"
96
- name="Collection Select"
97
- options={options}
98
- />
99
- <Flex spacing="between">
100
- <Button
101
- onClick={closePopover}
102
- text="Filter"
103
- />
104
- <Button
105
- text="Defaults"
106
- variant="secondary"
107
- />
108
- </Flex>
109
- </form>
110
- )}
111
- </Filter>
112
- )}
113
- </div>
114
- <div>
115
- {isLoading ? (
116
- <SkeletonLoading
117
- height="127px"
118
- marginBottom="lg"
119
- width="100%"
120
- {...props}
121
- />
122
- ) : (
123
- <Filter
124
- double
125
- filters={{
126
- 'Full Name': 'John Wick',
127
- 'City': 'San Francisco',
128
- }}
129
- marginBottom="xl"
130
- minWidth="375px"
131
- onSortChange={SortingChangeCallback}
132
- results={1}
133
- sortOptions={{
134
- popularity: 'Popularity',
135
- // eslint-disable-next-line
136
- manager_title: 'Manager\'s Title',
137
- // eslint-disable-next-line
138
- manager_name: 'Manager\'s Name',
139
- }}
140
- sortValue={[{ name: 'popularity', dir: 'desc' }]}
141
- >
142
- {({ closePopover }) => (
143
- <form>
144
- <TextInput
145
- label="Full Name"
146
- placeholder="Enter name"
147
- />
148
- <Select
149
- blankSelection="Select One..."
150
- label="Territory"
151
- maxWidth="sm"
152
- name="location"
153
- options={options}
154
- />
155
- <Flex spacing="between">
156
- <Button
157
- onClick={closePopover}
158
- text="Filter"
159
- />
160
- <Button
161
- text="Defaults"
162
- variant="secondary"
163
- />
164
- </Flex>
165
- </form>
166
- )}
167
- </Filter>
168
- )}
169
- </div>
170
- </div>
171
- )
172
- }
173
-
174
- export default SkeletonLoadingFilter;
@@ -1,15 +0,0 @@
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" }) %>
@@ -1,3 +0,0 @@
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.
@@ -1,3 +0,0 @@
1
- <%= pb_rails("skeleton_loading", props: { stack: 5 }) %>
2
-
3
- <%= pb_rails("skeleton_loading", props: { gap: "md", padding_top: "xl", stack: 3 }) %>
@@ -1,63 +0,0 @@
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,97 +0,0 @@
1
- import React, { useState } from 'react';
2
- import { Button, Flex, SkeletonLoading, User } from "playbook-ui";
3
-
4
- const SkeletonLoadingUser = (props) => {
5
- const [isLoading, setIsLoading] = useState(true)
6
- const toggleLoading = () => setIsLoading((prev) => !prev)
7
-
8
- return (
9
- <div>
10
- <Button
11
- marginBottom="md"
12
- onClick={toggleLoading}
13
- variant="secondary"
14
- >
15
- {isLoading ? "Show User" : "Show Skeleton Loading"}
16
- </Button>
17
- <div>
18
- {isLoading ? (
19
- <Flex alignItems="center">
20
- <SkeletonLoading
21
- borderRadius="rounded"
22
- height="38px"
23
- paddingRight="sm"
24
- width="38px"
25
- {...props}
26
- />
27
- <SkeletonLoading
28
- gap="xxs"
29
- height="18px"
30
- stack="2"
31
- width="161px"
32
- {...props}
33
- />
34
- </Flex>
35
- ) : (
36
- <User
37
- align="left"
38
- avatarUrl="https://randomuser.me/api/portraits/women/44.jpg"
39
- name="Anna Black"
40
- orientation="horizontal"
41
- title="Remodeling Consultant"
42
- {...props}
43
- />
44
- )}
45
- </div>
46
- <div>
47
- {isLoading ? (
48
- <Flex
49
- alignItems="start"
50
- paddingTop="md"
51
- >
52
- <Flex
53
- alignItems="center"
54
- flexDirection="column"
55
- >
56
- <SkeletonLoading
57
- borderRadius="rounded"
58
- height="80px"
59
- paddingBottom="xs"
60
- width="80px"
61
- {...props}
62
- />
63
- <SkeletonLoading
64
- height="32px"
65
- paddingBottom="xxs"
66
- width="144px"
67
- {...props}
68
- />
69
- <SkeletonLoading
70
- height="21px"
71
- width="164px"
72
- {...props}
73
- />
74
- </Flex>
75
- </Flex>
76
- ) : (
77
- <Flex
78
- alignItems="start"
79
- paddingTop="md"
80
- >
81
- <User
82
- align="center"
83
- avatarUrl="https://randomuser.me/api/portraits/women/44.jpg"
84
- name="Anna Black"
85
- orientation="vertical"
86
- size="lg"
87
- title="Remodeling Consultant"
88
- {...props}
89
- />
90
- </Flex>
91
- )}
92
- </div>
93
- </div>
94
- )
95
- }
96
-
97
- export default SkeletonLoadingUser;
@@ -1,88 +0,0 @@
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
@@ -1,3 +0,0 @@
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.