playbook_ui 14.9.0.pre.alpha.play1703errorstatealignment5060 → 14.9.0.pre.alpha.play1742globalheightfixes4766

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 (97) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/Components/CollapsibleTrail.tsx +6 -1
  3. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +0 -8
  4. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +0 -1
  5. data/app/pb_kits/playbook/pb_advanced_table/table_body.rb +2 -4
  6. data/app/pb_kits/playbook/pb_advanced_table/table_header.html.erb +3 -5
  7. data/app/pb_kits/playbook/pb_advanced_table/table_row.html.erb +0 -8
  8. data/app/pb_kits/playbook/pb_advanced_table/table_row.rb +0 -2
  9. data/app/pb_kits/playbook/pb_advanced_table/table_subrow_header.html.erb +0 -8
  10. data/app/pb_kits/playbook/pb_advanced_table/table_subrow_header.rb +0 -2
  11. data/app/pb_kits/playbook/pb_avatar/_avatar.scss +2 -0
  12. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_custom.jsx +49 -53
  13. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_custom_rails.html.erb +36 -29
  14. data/app/pb_kits/playbook/pb_body/_body.scss +13 -14
  15. data/app/pb_kits/playbook/pb_body/_body_mixins.scss +16 -22
  16. data/app/pb_kits/playbook/pb_bread_crumbs/docs/_bread_crumbs_default.jsx +0 -6
  17. data/app/pb_kits/playbook/pb_caption/_caption_mixin.scss +1 -2
  18. data/app/pb_kits/playbook/pb_card/_card_mixin.scss +1 -1
  19. data/app/pb_kits/playbook/pb_collapsible/_collapsible.tsx +4 -9
  20. data/app/pb_kits/playbook/pb_collapsible/child_kits/CollapsibleContent.tsx +2 -2
  21. data/app/pb_kits/playbook/pb_collapsible/child_kits/CollapsibleMain.tsx +2 -2
  22. data/app/pb_kits/playbook/pb_file_upload/_file_upload.scss +0 -5
  23. data/app/pb_kits/playbook/pb_file_upload/_file_upload.tsx +2 -7
  24. data/app/pb_kits/playbook/pb_file_upload/file_upload.html.erb +2 -8
  25. data/app/pb_kits/playbook/pb_form_group/_form_group.scss +2 -11
  26. data/app/pb_kits/playbook/pb_home_address_street/_home_address_street.tsx +1 -17
  27. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_emphasis.html.erb +1 -17
  28. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_emphasis.jsx +0 -15
  29. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_emphasis.md +1 -2
  30. data/app/pb_kits/playbook/pb_home_address_street/home_address_street.rb +1 -15
  31. data/app/pb_kits/playbook/pb_link/_link.scss +3 -3
  32. data/app/pb_kits/playbook/pb_nav/_bold_mixin.scss +1 -11
  33. data/app/pb_kits/playbook/pb_nav/_collapsible_nav.scss +2 -16
  34. data/app/pb_kits/playbook/pb_nav/_vertical_nav.scss +1 -1
  35. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +4 -4
  36. data/app/pb_kits/playbook/pb_selectable_card/selectable_card.html.erb +1 -1
  37. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_height_width.jsx +0 -2
  38. data/app/pb_kits/playbook/pb_skeleton_loading/docs/example.yml +1 -2
  39. data/app/pb_kits/playbook/pb_skeleton_loading/docs/index.js +0 -2
  40. data/app/pb_kits/playbook/pb_stat_change/_stat_change.tsx +36 -44
  41. data/app/pb_kits/playbook/pb_stat_change/stat_change.html.erb +4 -4
  42. data/app/pb_kits/playbook/pb_table/docs/example.yml +0 -5
  43. data/app/pb_kits/playbook/pb_table/docs/index.js +0 -5
  44. data/app/pb_kits/playbook/pb_table/index.ts +26 -100
  45. data/app/pb_kits/playbook/pb_table/styles/_all.scss +1 -2
  46. data/app/pb_kits/playbook/pb_table/subcomponents/_table_row.tsx +1 -106
  47. data/app/pb_kits/playbook/pb_table/table.html.erb +1 -1
  48. data/app/pb_kits/playbook/pb_table/table.rb +2 -17
  49. data/app/pb_kits/playbook/pb_text_input/_text_input.tsx +3 -35
  50. data/app/pb_kits/playbook/pb_text_input/docs/example.yml +0 -1
  51. data/app/pb_kits/playbook/pb_text_input/docs/index.js +0 -1
  52. data/app/pb_kits/playbook/pb_text_input/text_input.test.js +2 -139
  53. data/app/pb_kits/playbook/pb_title/_title.scss +5 -6
  54. data/app/pb_kits/playbook/pb_title/_title_mixin.scss +0 -13
  55. data/app/pb_kits/playbook/pb_typeahead/_typeahead.scss +46 -115
  56. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_highlight.jsx +2 -9
  57. data/app/pb_kits/playbook/pb_typeahead/typeahead.html.erb +2 -3
  58. data/app/pb_kits/playbook/tokens/_titles.scss +8 -0
  59. data/app/pb_kits/playbook/utilities/_hover.scss +2 -11
  60. data/app/pb_kits/playbook/utilities/globalProps.ts +0 -2
  61. data/app/pb_kits/playbook/utilities/test/globalProps/hover.test.js +0 -15
  62. data/dist/chunks/_typeahead-B8fkIeXA.js +22 -0
  63. data/dist/chunks/_weekday_stacked-DjRTXEi-.js +45 -0
  64. data/dist/chunks/{lib-CuCy3_xO.js → lib-SyD3buPZ.js} +3 -3
  65. data/dist/chunks/{pb_form_validation-D37k10a0.js → pb_form_validation-Dt8UJgrJ.js} +1 -1
  66. data/dist/chunks/vendor.js +1 -1
  67. data/dist/menu.yml +1 -1
  68. data/dist/playbook-doc.js +1 -1
  69. data/dist/playbook-rails-react-bindings.js +1 -1
  70. data/dist/playbook-rails.js +1 -1
  71. data/dist/playbook.css +1 -1
  72. data/lib/playbook/hover.rb +1 -7
  73. data/lib/playbook/version.rb +1 -1
  74. metadata +6 -27
  75. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_collapsible_trail_rails.html.erb +0 -36
  76. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_collapsible_trail_rails.md +0 -1
  77. data/app/pb_kits/playbook/pb_form_group/_error_state_mixin.scss +0 -57
  78. data/app/pb_kits/playbook/pb_home_address_street/none_emphasis.html.erb +0 -32
  79. data/app/pb_kits/playbook/pb_home_address_street/none_emphasis.rb +0 -29
  80. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_filter.jsx +0 -166
  81. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_user.jsx +0 -89
  82. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_left_columns.html.erb +0 -95
  83. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible.jsx +0 -75
  84. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible.md +0 -1
  85. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_click.jsx +0 -108
  86. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_click.md +0 -2
  87. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_content.jsx +0 -94
  88. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_content.md +0 -0
  89. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_rows.jsx +0 -83
  90. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_rows.md +0 -3
  91. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_table.jsx +0 -120
  92. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_table.md +0 -1
  93. data/app/pb_kits/playbook/pb_table/styles/_collapsible.scss +0 -35
  94. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_mask.jsx +0 -88
  95. data/app/pb_kits/playbook/pb_text_input/inputMask.ts +0 -64
  96. data/dist/chunks/_typeahead-l1kq1p9m.js +0 -22
  97. data/dist/chunks/_weekday_stacked-DkCMUF58.js +0 -45
@@ -1,75 +0,0 @@
1
- import React from 'react'
2
- import { Table, Icon, Body, Card } from 'playbook-ui'
3
-
4
- const TableWithCollapsible = (props) => {
5
-
6
- const Content = () => {
7
- return (
8
- <Card
9
- borderNone
10
- borderRadius="none"
11
- padding="md"
12
- {...props}
13
- >
14
- <Body {...props}>Nested content inside a Table Row</Body>
15
- </Card>
16
- );
17
- };
18
-
19
- return (
20
- <Table
21
- size="sm"
22
- {...props}
23
- >
24
- <Table.Head>
25
- <Table.Row>
26
- <Table.Header>{'Column 1'}</Table.Header>
27
- <Table.Header>{'Column 2'}</Table.Header>
28
- <Table.Header>{'Column 3'}</Table.Header>
29
- <Table.Header>{'Column 4'}</Table.Header>
30
- <Table.Header>{'Column 5'}</Table.Header>
31
- <Table.Header>{''}</Table.Header>
32
- </Table.Row>
33
-
34
- </Table.Head>
35
- <Table.Body>
36
- <Table.Row collapsible
37
- collapsibleContent={<Content/>}
38
- {...props}
39
- >
40
- <Table.Cell>{'Value 1'}</Table.Cell>
41
- <Table.Cell>{'Value 2'}</Table.Cell>
42
- <Table.Cell>{'Value 3'}</Table.Cell>
43
- <Table.Cell>{'Value 4'}</Table.Cell>
44
- <Table.Cell>{'Value 5'}</Table.Cell>
45
- <Table.Cell textAlign="right">{
46
- <Icon
47
- color="primary"
48
- fixedWidth
49
- icon="chevron-down"
50
- />}
51
- </Table.Cell>
52
-
53
- </Table.Row>
54
- <Table.Row>
55
- <Table.Cell>{'Value 1'}</Table.Cell>
56
- <Table.Cell>{'Value 2'}</Table.Cell>
57
- <Table.Cell>{'Value 3'}</Table.Cell>
58
- <Table.Cell>{'Value 4'}</Table.Cell>
59
- <Table.Cell>{'Value 5'}</Table.Cell>
60
- <Table.Cell>{''}</Table.Cell>
61
- </Table.Row>
62
- <Table.Row>
63
- <Table.Cell>{'Value 1'}</Table.Cell>
64
- <Table.Cell>{'Value 2'}</Table.Cell>
65
- <Table.Cell>{'Value 3'}</Table.Cell>
66
- <Table.Cell>{'Value 4'}</Table.Cell>
67
- <Table.Cell>{'Value 5'}</Table.Cell>
68
- <Table.Cell>{''}</Table.Cell>
69
- </Table.Row>
70
- </Table.Body>
71
- </Table>
72
- )
73
- }
74
-
75
- export default TableWithCollapsible
@@ -1 +0,0 @@
1
- The `collapsible` prop can be used on any Table Row to add a collapsible area. Use the additional `collapsibleContent` prop to add any content to the collapsible Row.
@@ -1,108 +0,0 @@
1
- import React from 'react'
2
- import { Table, Card, Icon, Body } from 'playbook-ui'
3
-
4
- const TableWithCollapsibleWithCustomClick = (props) => {
5
-
6
- const Content = () => {
7
- return (
8
- <Card
9
- borderNone
10
- borderRadius="none"
11
- padding="md"
12
- {...props}
13
- >
14
- <Body {...props}>Nested content inside a Table Row</Body>
15
- </Card>
16
- );
17
- };
18
-
19
-
20
- return (
21
- <Table
22
- size="sm"
23
- {...props}
24
- >
25
- <Table.Head>
26
- <Table.Row>
27
- <Table.Header>{'Column 1'}</Table.Header>
28
- <Table.Header>{'Column 2'}</Table.Header>
29
- <Table.Header>{'Column 3'}</Table.Header>
30
- <Table.Header>{'Column 4'}</Table.Header>
31
- <Table.Header>{'Column 5'}</Table.Header>
32
- <Table.Header>{''}</Table.Header>
33
- </Table.Row>
34
-
35
- </Table.Head>
36
- <Table.Body>
37
- <Table.Row collapsible
38
- collapsibleContent={<Content/>}
39
- toggleCellId="cell-1"
40
- {...props}
41
- >
42
- <Table.Cell>{'Value 1'}</Table.Cell>
43
- <Table.Cell>{'Value 2'}</Table.Cell>
44
- <Table.Cell>{'Value 3'}</Table.Cell>
45
- <Table.Cell>{'Value 4'}</Table.Cell>
46
- <Table.Cell>{'Value 5'}</Table.Cell>
47
- <Table.Cell cursor="pointer"
48
- id="cell-1"
49
- textAlign="right"
50
- >
51
- <Icon
52
- color="primary"
53
- fixedWidth
54
- icon="chevron-down"
55
- />
56
- </Table.Cell>
57
-
58
- </Table.Row>
59
- <Table.Row collapsible
60
- collapsibleContent={<Content/>}
61
- toggleCellId="cell-2"
62
- {...props}
63
- >
64
- <Table.Cell>{'Value 1'}</Table.Cell>
65
- <Table.Cell>{'Value 2'}</Table.Cell>
66
- <Table.Cell>{'Value 3'}</Table.Cell>
67
- <Table.Cell>{'Value 4'}</Table.Cell>
68
- <Table.Cell>{'Value 5'}</Table.Cell>
69
- <Table.Cell cursor="pointer"
70
- id="cell-2"
71
- textAlign="right"
72
- >
73
- <Icon
74
- color="primary"
75
- fixedWidth
76
- icon="chevron-down"
77
- />
78
- </Table.Cell>
79
-
80
- </Table.Row>
81
- <Table.Row collapsible
82
- collapsibleContent={<Content/>}
83
- toggleCellId="cell-3"
84
- {...props}
85
- >
86
- <Table.Cell>{'Value 1'}</Table.Cell>
87
- <Table.Cell>{'Value 2'}</Table.Cell>
88
- <Table.Cell>{'Value 3'}</Table.Cell>
89
- <Table.Cell>{'Value 4'}</Table.Cell>
90
- <Table.Cell>{'Value 5'}</Table.Cell>
91
- <Table.Cell cursor="pointer"
92
- id="cell-3"
93
- textAlign="right"
94
- >
95
- <Icon
96
- color="primary"
97
- fixedWidth
98
- icon="chevron-down"
99
- />
100
- </Table.Cell>
101
-
102
- </Table.Row>
103
- </Table.Body>
104
- </Table>
105
- )
106
- }
107
-
108
- export default TableWithCollapsibleWithCustomClick
@@ -1,2 +0,0 @@
1
- When using the `collapsible` prop, the default functionality is that the entire Row will be clickable to toggle the Row. To limit the click event to a specific Table Cell, you can use the `toggleCellId` prop to pass in the id of the Cell you want to use as the trigger.
2
- __NOTE__: `toggleCellId` and the id on the Cell you want to use as the trigger MUST be the same.
@@ -1,94 +0,0 @@
1
- import React from 'react'
2
- import { Table, Icon, Card, Body, Image, Flex } from 'playbook-ui'
3
-
4
- const TableWithCollapsibleWithCustomContent = (props) => {
5
-
6
- const Content = () => {
7
- return (
8
- <Card
9
- borderNone
10
- borderRadius="none"
11
- color="light"
12
- paddingX="xl"
13
- paddingY="md"
14
- {...props}
15
- >
16
- <Body paddingBottom="sm"
17
- text="Expanded Custom Layout"
18
- {...props}
19
- />
20
- <Flex justify="between">
21
- <Image
22
- url="https://via.placeholder.com/150"
23
- />
24
- <Image
25
- url="https://via.placeholder.com/150"
26
- />
27
- <Image
28
- url="https://via.placeholder.com/150"
29
- />
30
- <Image
31
- url="https://via.placeholder.com/150"
32
- />
33
- </Flex>
34
- </Card>
35
- );
36
- };
37
-
38
- return (
39
- <Table
40
- size="sm"
41
- {...props}
42
- >
43
- <Table.Head>
44
- <Table.Row>
45
- <Table.Header>{'Column 1'}</Table.Header>
46
- <Table.Header>{'Column 2'}</Table.Header>
47
- <Table.Header>{'Column 3'}</Table.Header>
48
- <Table.Header>{'Column 4'}</Table.Header>
49
- <Table.Header>{'Column 5'}</Table.Header>
50
- <Table.Header>{''}</Table.Header>
51
- </Table.Row>
52
-
53
- </Table.Head>
54
- <Table.Body>
55
- <Table.Row collapsible
56
- collapsibleContent={<Content/>}
57
- {...props}
58
- >
59
- <Table.Cell>{'Value 1'}</Table.Cell>
60
- <Table.Cell>{'Value 2'}</Table.Cell>
61
- <Table.Cell>{'Value 3'}</Table.Cell>
62
- <Table.Cell>{'Value 4'}</Table.Cell>
63
- <Table.Cell>{'Value 5'}</Table.Cell>
64
- <Table.Cell textAlign="right">{
65
- <Icon
66
- color="primary"
67
- fixedWidth
68
- icon="chevron-down"
69
- />}
70
- </Table.Cell>
71
-
72
- </Table.Row>
73
- <Table.Row>
74
- <Table.Cell>{'Value 1'}</Table.Cell>
75
- <Table.Cell>{'Value 2'}</Table.Cell>
76
- <Table.Cell>{'Value 3'}</Table.Cell>
77
- <Table.Cell>{'Value 4'}</Table.Cell>
78
- <Table.Cell>{'Value 5'}</Table.Cell>
79
- <Table.Cell>{''}</Table.Cell>
80
- </Table.Row>
81
- <Table.Row>
82
- <Table.Cell>{'Value 1'}</Table.Cell>
83
- <Table.Cell>{'Value 2'}</Table.Cell>
84
- <Table.Cell>{'Value 3'}</Table.Cell>
85
- <Table.Cell>{'Value 4'}</Table.Cell>
86
- <Table.Cell>{'Value 5'}</Table.Cell>
87
- <Table.Cell>{''}</Table.Cell>
88
- </Table.Row>
89
- </Table.Body>
90
- </Table>
91
- )
92
- }
93
-
94
- export default TableWithCollapsibleWithCustomContent
@@ -1,83 +0,0 @@
1
- import React from 'react'
2
- import { Table, Background, Icon } from 'playbook-ui'
3
-
4
- const TableWithCollapsibleWithNestedRows = (props) => {
5
-
6
- const Content = () => {
7
- return (
8
- <Table
9
- borderRadius="none"
10
- container={false}
11
- size="sm"
12
- {...props}
13
- >
14
- <Background tag="tr"
15
- {...props}
16
- >
17
- <Table.Cell>Expanded</Table.Cell>
18
- <Table.Cell>Expanded</Table.Cell>
19
- <Table.Cell>Expanded</Table.Cell>
20
- <Table.Cell>Expanded</Table.Cell>
21
- <Table.Cell>Expanded</Table.Cell>
22
- </Background>
23
- </Table>
24
- );
25
- };
26
-
27
- return (
28
- <Table
29
- size="sm"
30
- {...props}
31
- >
32
- <Table.Head>
33
- <Table.Row>
34
- <Table.Header>{'Column 1'}</Table.Header>
35
- <Table.Header>{'Column 2'}</Table.Header>
36
- <Table.Header>{'Column 3'}</Table.Header>
37
- <Table.Header>{'Column 4'}</Table.Header>
38
- <Table.Header>{'Column 5'}</Table.Header>
39
- <Table.Header>{''}</Table.Header>
40
- </Table.Row>
41
-
42
- </Table.Head>
43
- <Table.Body>
44
- <Table.Row collapsible
45
- collapsibleContent={<Content/>}
46
- collapsibleSideHighlight={false}
47
- >
48
- <Table.Cell>{'Value 1'}</Table.Cell>
49
- <Table.Cell>{'Value 2'}</Table.Cell>
50
- <Table.Cell>{'Value 3'}</Table.Cell>
51
- <Table.Cell>{'Value 4'}</Table.Cell>
52
- <Table.Cell>{'Value 5'}</Table.Cell>
53
- <Table.Cell textAlign="right">{
54
- <Icon
55
- color="primary"
56
- fixedWidth
57
- icon="chevron-down"
58
- />}
59
- </Table.Cell>
60
-
61
- </Table.Row>
62
- <Table.Row>
63
- <Table.Cell>{'Value 1'}</Table.Cell>
64
- <Table.Cell>{'Value 2'}</Table.Cell>
65
- <Table.Cell>{'Value 3'}</Table.Cell>
66
- <Table.Cell>{'Value 4'}</Table.Cell>
67
- <Table.Cell>{'Value 5'}</Table.Cell>
68
- <Table.Cell>{''}</Table.Cell>
69
- </Table.Row>
70
- <Table.Row>
71
- <Table.Cell>{'Value 1'}</Table.Cell>
72
- <Table.Cell>{'Value 2'}</Table.Cell>
73
- <Table.Cell>{'Value 3'}</Table.Cell>
74
- <Table.Cell>{'Value 4'}</Table.Cell>
75
- <Table.Cell>{'Value 5'}</Table.Cell>
76
- <Table.Cell>{''}</Table.Cell>
77
- </Table.Row>
78
- </Table.Body>
79
- </Table>
80
- )
81
- }
82
-
83
- export default TableWithCollapsibleWithNestedRows
@@ -1,3 +0,0 @@
1
- The `collapsibleContent` can display any content, including nested Table Rows.
2
-
3
- Additionally, the `collapsibleSideHighlight` can also be removed by setting it to false if needed. This prop is set to true by default.
@@ -1,120 +0,0 @@
1
- import React from 'react'
2
- import {Pill, Background, Table, Icon} from "playbook-ui"
3
-
4
- const TableWithCollapsibleWithNestedTable = (props) => {
5
-
6
- const Content = () => {
7
- return (
8
- <Table
9
- borderRadius="none"
10
- container={false}
11
- size="sm"
12
- {...props}
13
- >
14
- <Table.Head>
15
- <Background
16
- tag="tr"
17
- {...props}
18
- >
19
- <Table.Header>{"Alt Header"}</Table.Header>
20
- <Table.Header>{"Alt Header"}</Table.Header>
21
- <Table.Header>{"Alt Header"}</Table.Header>
22
- <Table.Header>{"Alt Header"}</Table.Header>
23
- </Background>
24
- </Table.Head>
25
- <Table.Body>
26
- <Table.Row>
27
- <Table.Cell>{"Expanded"}</Table.Cell>
28
- <Table.Cell>{"Expanded"}</Table.Cell>
29
- <Table.Cell>{"Expanded"}</Table.Cell>
30
- <Table.Cell>
31
- <Pill text="Pill"
32
- variant="primary"
33
- {...props}
34
- />
35
- </Table.Cell>
36
- </Table.Row>
37
- <Table.Row>
38
- <Table.Cell>{"Expanded"}</Table.Cell>
39
- <Table.Cell>{"Expanded"}</Table.Cell>
40
- <Table.Cell>{"Expanded"}</Table.Cell>
41
- <Table.Cell>
42
- <Pill text="Pill"
43
- variant="primary"
44
- {...props}
45
- />
46
- </Table.Cell>
47
- </Table.Row>
48
- <Table.Row>
49
- <Table.Cell>{"Expanded"}</Table.Cell>
50
- <Table.Cell>{"Expanded"}</Table.Cell>
51
- <Table.Cell>{"Expanded"}</Table.Cell>
52
- <Table.Cell>
53
- <Pill text="Pill"
54
- variant="primary"
55
- {...props}
56
- />
57
- </Table.Cell>
58
- </Table.Row>
59
- </Table.Body>
60
- </Table>
61
- );
62
- };
63
-
64
- return (
65
- <Table
66
- size="sm"
67
- {...props}
68
- >
69
- <Table.Head>
70
- <Table.Row>
71
- <Table.Header>{'Column 1'}</Table.Header>
72
- <Table.Header>{'Column 2'}</Table.Header>
73
- <Table.Header>{'Column 3'}</Table.Header>
74
- <Table.Header>{'Column 4'}</Table.Header>
75
- <Table.Header>{'Column 5'}</Table.Header>
76
- <Table.Header>{''}</Table.Header>
77
- </Table.Row>
78
-
79
- </Table.Head>
80
- <Table.Body>
81
- <Table.Row collapsible
82
- collapsibleContent={<Content/>}
83
- collapsibleSideHighlight={false}
84
- >
85
- <Table.Cell>{'Value 1'}</Table.Cell>
86
- <Table.Cell>{'Value 2'}</Table.Cell>
87
- <Table.Cell>{'Value 3'}</Table.Cell>
88
- <Table.Cell>{'Value 4'}</Table.Cell>
89
- <Table.Cell>{'Value 5'}</Table.Cell>
90
- <Table.Cell textAlign="right">{
91
- <Icon
92
- color="primary"
93
- fixedWidth
94
- icon="chevron-down"
95
- />}
96
- </Table.Cell>
97
-
98
- </Table.Row>
99
- <Table.Row>
100
- <Table.Cell>{'Value 1'}</Table.Cell>
101
- <Table.Cell>{'Value 2'}</Table.Cell>
102
- <Table.Cell>{'Value 3'}</Table.Cell>
103
- <Table.Cell>{'Value 4'}</Table.Cell>
104
- <Table.Cell>{'Value 5'}</Table.Cell>
105
- <Table.Cell>{''}</Table.Cell>
106
- </Table.Row>
107
- <Table.Row>
108
- <Table.Cell>{'Value 1'}</Table.Cell>
109
- <Table.Cell>{'Value 2'}</Table.Cell>
110
- <Table.Cell>{'Value 3'}</Table.Cell>
111
- <Table.Cell>{'Value 4'}</Table.Cell>
112
- <Table.Cell>{'Value 5'}</Table.Cell>
113
- <Table.Cell>{''}</Table.Cell>
114
- </Table.Row>
115
- </Table.Body>
116
- </Table>
117
- )
118
- }
119
-
120
- export default TableWithCollapsibleWithNestedTable
@@ -1 +0,0 @@
1
- The `collapsibleContent` can also be used to display nested Tables within each Row.
@@ -1,35 +0,0 @@
1
- @import "../../tokens/colors";
2
-
3
- .table_collapsible_side_highlight {
4
- border-left: 4px solid $primary;
5
- &.dark {
6
- border-left: 4px solid $active_dark;
7
- }
8
- }
9
-
10
- [class^="pb_table"] {
11
- &.table-sm,
12
- &.table-md,
13
- &.table-lg {
14
- &.table-card {
15
- tbody,
16
- .pb_table_tbody {
17
- tr,
18
- .pb_table_tr {
19
- &.collapsible_table_row {
20
- td,
21
- .pb_table_td {
22
- border-bottom-color: transparent;
23
- }
24
- &:hover {
25
- td,
26
- .pb_table_td {
27
- border-bottom-color: darken($border_light, 10%);
28
- }
29
- }
30
- }
31
- }
32
- }
33
- }
34
- }
35
- }
@@ -1,88 +0,0 @@
1
- import React, { useState } from 'react'
2
-
3
- import Caption from '../../pb_caption/_caption'
4
- import TextInput from '../../pb_text_input/_text_input'
5
- import Title from '../../pb_title/_title'
6
-
7
- const TextInputMask = (props) => {
8
- const [ssn, setSSN] = useState('')
9
- const handleOnChangeSSN = ({ target }) => {
10
- setSSN(target.value)
11
- }
12
- const ref = React.createRef()
13
-
14
- const [formFields, setFormFields] = useState({
15
- currency: '',
16
- zipCode: '',
17
- postalCode: '',
18
- ssn: '',
19
- })
20
-
21
- const handleOnChangeFormField = ({ target }) => {
22
- const { name, value } = target
23
- setFormFields({ ...formFields, [name]: value })
24
- }
25
-
26
- return (
27
- <div>
28
- <TextInput
29
- label="Currency"
30
- mask="currency"
31
- name="currency"
32
- onChange={handleOnChangeFormField}
33
- value={formFields.currency}
34
- {...props}
35
- />
36
- <TextInput
37
- label="Zip Code"
38
- mask="zipCode"
39
- name="zipCode"
40
- onChange={handleOnChangeFormField}
41
- value={formFields.zipCode}
42
- {...props}
43
- />
44
- <TextInput
45
- label="Postal Code"
46
- mask="postalCode"
47
- name="postalCode"
48
- onChange={handleOnChangeFormField}
49
- value={formFields.postalCode}
50
- {...props}
51
- />
52
- <TextInput
53
- label="SSN"
54
- mask="ssn"
55
- name="ssn"
56
- onChange={handleOnChangeFormField}
57
- value={formFields.ssn}
58
- {...props}
59
- />
60
-
61
- <br />
62
- <br />
63
-
64
- <Title>{'Event Handler Props'}</Title>
65
-
66
- <br />
67
- <Caption>{'onChange'}</Caption>
68
-
69
- <br />
70
-
71
- <TextInput
72
- label="SSN"
73
- mask="ssn"
74
- onChange={handleOnChangeSSN}
75
- placeholder="Enter SSN"
76
- ref={ref}
77
- value={ssn}
78
- {...props}
79
- />
80
-
81
- {ssn !== '' && (
82
- <React.Fragment>{`SSN is: ${ssn}`}</React.Fragment>
83
- )}
84
- </div>
85
- )
86
- }
87
-
88
- export default TextInputMask
@@ -1,64 +0,0 @@
1
- type InputMask = {
2
- format: (value: string) => string
3
- pattern: string
4
- placeholder: string
5
- }
6
-
7
- type InputMaskDictionary = {
8
- [key in 'currency' | 'zipCode' | 'postalCode' | 'ssn']: InputMask
9
- }
10
-
11
- const formatCurrency = (value: string): string => {
12
- const numericValue = value.replace(/[^0-9]/g, '').slice(0, 15)
13
-
14
- if (!numericValue) return ''
15
-
16
- const dollars = parseFloat((parseInt(numericValue) / 100).toFixed(2))
17
- if (dollars === 0) return ''
18
-
19
- return new Intl.NumberFormat('en-US', {
20
- style: 'currency',
21
- currency: 'USD',
22
- maximumFractionDigits: 2,
23
- }).format(dollars)
24
- }
25
-
26
- const formatBasicPostal = (value: string): string => {
27
- return value.replace(/\D/g, '').slice(0, 5)
28
- }
29
-
30
- const formatExtendedPostal = (value: string): string => {
31
- const cleaned = value.replace(/\D/g, '').slice(0, 9)
32
- return cleaned.replace(/(\d{5})(?=\d)/, '$1-')
33
- }
34
-
35
- const formatSSN = (value: string): string => {
36
- const cleaned = value.replace(/\D/g, '').slice(0, 9)
37
- return cleaned
38
- .replace(/(\d{5})(?=\d)/, '$1-')
39
- .replace(/(\d{3})(?=\d)/, '$1-')
40
- }
41
-
42
- export const INPUTMASKS: InputMaskDictionary = {
43
- currency: {
44
- format: formatCurrency,
45
- // eslint-disable-next-line no-useless-escape
46
- pattern: '^\\$\\d{1,3}(?:,\\d{3})*(?:\\.\\d{2})?$',
47
- placeholder: '$0.00',
48
- },
49
- zipCode: {
50
- format: formatBasicPostal,
51
- pattern: '\\d{5}',
52
- placeholder: '12345',
53
- },
54
- postalCode: {
55
- format: formatExtendedPostal,
56
- pattern: '\\d{5}-\\d{4}',
57
- placeholder: '12345-6789',
58
- },
59
- ssn: {
60
- format: formatSSN,
61
- pattern: '\\d{3}-\\d{2}-\\d{4}',
62
- placeholder: '123-45-6789',
63
- },
64
- }