playbook_ui 14.13.0.pre.alpha.PLAY1856doc6166 → 14.13.0.pre.alpha.PLAY1873rails86087

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +1 -0
  3. data/app/pb_kits/playbook/pb_avatar_action_button/_avatar_action_button.scss +66 -0
  4. data/app/pb_kits/playbook/pb_avatar_action_button/_avatar_action_button.tsx +98 -0
  5. data/app/pb_kits/playbook/pb_avatar_action_button/avatar_action_button.html.erb +28 -0
  6. data/app/pb_kits/playbook/pb_avatar_action_button/avatar_action_button.rb +42 -0
  7. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_actions.html.erb +19 -0
  8. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_actions.jsx +26 -0
  9. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_default.html.erb +10 -0
  10. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_default.jsx +17 -0
  11. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_on_click.jsx +19 -0
  12. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_onclick.html.erb +16 -0
  13. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_placement.html.erb +35 -0
  14. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_placement.jsx +42 -0
  15. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_tooltip.html.erb +13 -0
  16. data/app/pb_kits/playbook/pb_avatar_action_button/docs/example.yml +15 -0
  17. data/app/pb_kits/playbook/pb_avatar_action_button/docs/index.js +4 -0
  18. data/app/pb_kits/playbook/pb_avatar_action_button/pb_avatar_action_button.test.js +31 -0
  19. data/app/pb_kits/playbook/pb_bar_graph/docs/example.yml +0 -1
  20. data/app/pb_kits/playbook/pb_bar_graph/docs/index.js +0 -1
  21. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_table.html.erb +2 -2
  22. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_table.md +1 -4
  23. data/app/pb_kits/playbook/pb_draggable/docs/example.yml +0 -2
  24. data/app/pb_kits/playbook/pb_draggable/docs/index.js +1 -2
  25. data/app/pb_kits/playbook/pb_draggable/subcomponents/DraggableContainer.tsx +4 -7
  26. data/app/pb_kits/playbook/pb_draggable/subcomponents/DraggableItem.tsx +3 -6
  27. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.jsx +36 -71
  28. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.jsx +6 -6
  29. data/app/pb_kits/playbook/pb_drawer/docs/example.yml +0 -1
  30. data/app/pb_kits/playbook/pb_multi_level_select/multi_level_select.html.erb +6 -1
  31. data/app/pb_kits/playbook/pb_nav/item.html.erb +19 -7
  32. data/app/pb_kits/playbook/pb_nav/nav.html.erb +8 -3
  33. data/app/pb_kits/playbook/pb_online_status/online_status.html.erb +6 -1
  34. data/app/pb_kits/playbook/pb_popover/popover.html.erb +6 -1
  35. data/app/pb_kits/playbook/pb_progress_pills/_progress_pills.scss +1 -2
  36. data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_default.html.erb +0 -1
  37. data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_default.jsx +0 -7
  38. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible.jsx +1 -1
  39. data/app/pb_kits/playbook/pb_table/docs/example.yml +0 -1
  40. data/app/pb_kits/playbook/pb_table/index.ts +9 -41
  41. data/app/pb_kits/playbook/pb_table/styles/_collapsible.scss +0 -4
  42. data/app/pb_kits/playbook/pb_table/subcomponents/_table_body.tsx +2 -29
  43. data/app/pb_kits/playbook/pb_table/subcomponents/_table_row.tsx +3 -31
  44. data/app/pb_kits/playbook/pb_table/table_body.html.erb +7 -13
  45. data/app/pb_kits/playbook/pb_table/table_body.rb +0 -2
  46. data/app/pb_kits/playbook/pb_table/table_row.html.erb +7 -14
  47. data/app/pb_kits/playbook/pb_table/table_row.rb +1 -14
  48. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_mask.html.erb +0 -14
  49. data/app/pb_kits/playbook/pb_text_input/index.js +0 -9
  50. data/app/pb_kits/playbook/pb_text_input/text_input.rb +2 -5
  51. data/dist/chunks/{_typeahead-CAIQfP7X.js → _typeahead-DQTwAd_2.js} +4 -4
  52. data/dist/chunks/_weekday_stacked-ei-exO-N.js +45 -0
  53. data/dist/chunks/{lib-D3us1bGD.js → lib-WQEeEj3t.js} +1 -1
  54. data/dist/chunks/{pb_form_validation-BpihMSOQ.js → pb_form_validation-Cq64l4zn.js} +1 -1
  55. data/dist/chunks/vendor.js +1 -1
  56. data/dist/menu.yml +7 -0
  57. data/dist/playbook-doc.js +1 -1
  58. data/dist/playbook-rails-react-bindings.js +1 -1
  59. data/dist/playbook-rails.js +1 -1
  60. data/dist/playbook.css +1 -1
  61. data/lib/playbook/version.rb +1 -1
  62. metadata +25 -17
  63. data/app/pb_kits/playbook/pb_bar_graph/BarGraphStyles.scss +0 -58
  64. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_pb_styles.jsx +0 -64
  65. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_pb_styles.md +0 -1
  66. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_table_react.jsx +0 -90
  67. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_table_react.md +0 -5
  68. data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_default.md +0 -1
  69. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_click.html.erb +0 -51
  70. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_click_rails.md +0 -2
  71. data/dist/chunks/_weekday_stacked-Dq02Kbeo.js +0 -45
  72. /data/app/pb_kits/playbook/pb_table/docs/{_table_with_collapsible_with_custom_click_react.md → _table_with_collapsible_with_custom_click.md} +0 -0
@@ -1,77 +1,42 @@
1
- import React, { useState, useEffect } from "react"
2
- import { Button, Drawer, Icon, Nav, NavItem } from "playbook-ui"
1
+ import React, { useState } from "react";
2
+ import { Button, Drawer, Flex } from "playbook-ui";
3
3
 
4
- const DrawerMenu = () => {
5
- const [isSmallScreen, setIsSmallScreen] = useState(false)
6
- const navItems = ["Overview", "Albums", "Similar Artists"]
4
+ const useDrawer = (visible = false) => {
5
+ const [opened, setOpened] = useState(visible);
6
+ const toggle = () => setOpened(!opened);
7
7
 
8
- useEffect(() => {
9
- const mediaQuery = window.matchMedia("(max-width: 992px)")
10
- const updateScreen = (e) => setIsSmallScreen(e.matches)
11
- updateScreen(mediaQuery)
12
- mediaQuery.addEventListener('change', updateScreen)
13
- return () => mediaQuery.removeEventListener('change', updateScreen)
14
- }, [])
8
+ return [opened, toggle];
9
+ };
10
+
11
+ const DrawerBreakpoints = () => {
12
+ const [smallDrawerOpened, toggleSmallDrawer] = useDrawer();
15
13
 
16
14
  return (
17
- <div>
18
- <Button id='sidebar'
19
- padding='xs'
20
- >
21
- <Icon icon='bars'
22
- size='2x'
23
- />
24
- </Button>
25
- <Drawer
26
- behavior={"push"}
27
- breakpoint='md'
28
- overlay={isSmallScreen ? true : false}
29
- placement='left'
30
- size='md'
31
- triggerId='sidebar'
32
- >
33
- <Nav
34
- link='#'
35
- orientation='vertical'
36
- padding={isSmallScreen ? "none" : "sm"}
37
- variant='bold'
15
+ <>
16
+ <Flex wrap>
17
+ <Button
18
+ id="sm"
19
+ marginRight="md"
20
+ onClick={toggleSmallDrawer}
21
+ >
22
+ {"Will open at small breakpoint"}
23
+ </Button>
24
+ </Flex>
25
+ <Flex>
26
+ <Drawer
27
+ behavior={"push"}
28
+ breakpoint="sm"
29
+ onClose={toggleSmallDrawer}
30
+ opened={smallDrawerOpened}
31
+ overlay={false}
32
+ placement={"right"}
33
+ size={"lg"}
38
34
  >
39
- {navItems.map((text, index) => {
40
- return (
41
- <NavItem
42
- collapsible
43
- collapsibleTrail
44
- fontWeight='bolder'
45
- iconLeft='city'
46
- iconRight={["plus", "minus"]}
47
- key={index}
48
- link='#'
49
- text={text}
50
- >
51
- <NavItem fontSize='small'
52
- link='#'
53
- marginY='none'
54
- text='City'
55
- />
56
- <NavItem
57
- fontSize='small'
58
- link='#'
59
- marginY='none'
60
- text='People'
61
- />
62
- <NavItem
63
- fontSize='small'
64
- link='#'
65
- marginY='none'
66
- text='Business'
67
- />
68
- </NavItem>
69
- )
70
- })}
71
- </Nav>
72
- </Drawer>
73
- </div>
74
- )
75
- }
35
+ Open because small breakpoint
36
+ </Drawer>
37
+ </Flex>
38
+ </>
39
+ );
40
+ };
76
41
 
77
- export default DrawerMenu
42
+ export default DrawerBreakpoints;
@@ -8,8 +8,8 @@ const DrawerMenu = () => {
8
8
  const mediaQuery = window.matchMedia("(max-width: 600px)")
9
9
  setIsSmallScreen(mediaQuery.matches)
10
10
  const handler = (e) => setIsSmallScreen(e.matches)
11
- mediaQuery.addEventListener("change", handler)
12
- return () => mediaQuery.removeEventListener("change", handler)
11
+ mediaQuery.addEventListener('change', handler)
12
+ return () => mediaQuery.removeEventListener('change', handler)
13
13
  }, [])
14
14
 
15
15
  return (
@@ -22,17 +22,17 @@ const DrawerMenu = () => {
22
22
  />
23
23
  </Button>
24
24
  <Drawer
25
- breakpoint='md'
25
+ breakpoint="md"
26
26
  placement='bottom'
27
27
  size='full'
28
28
  triggerId='menuButton'
29
29
  withinElement
30
30
  >
31
- <Nav
31
+ <Nav
32
32
  highlight={false}
33
33
  link='#'
34
- orientation={isSmallScreen ? "vertical" : "horizontal"}
35
- padding={isSmallScreen ? "none" : "sm"}
34
+ orientation={isSmallScreen ? 'vertical' : 'horizontal'}
35
+ padding={isSmallScreen ? 'none' : 'sm'}
36
36
  >
37
37
  <NavItem link='#'
38
38
  text='About'
@@ -10,5 +10,4 @@ examples:
10
10
  - drawer_menu: Within Element
11
11
  - drawer_sizes: Sizes
12
12
  - drawer_overlay: Overlay
13
- - drawer_breakpoints: Breakpoints
14
13
  - drawer_borders: Borders
@@ -1,3 +1,8 @@
1
- <%= pb_content_tag do %>
1
+ <%= content_tag(:div,
2
+ aria: object.aria,
3
+ data: object.data,
4
+ id: object.id,
5
+ class: object.classname,
6
+ **combined_html_options) do %>
2
7
  <%= react_component("MultiLevelSelect", object.multi_level_select_options) %>
3
8
  <% end %>
@@ -1,9 +1,15 @@
1
1
  <% if object.collapsible %>
2
2
  <%= pb_rails("collapsible", props: { name: "collapsible-nav-example", classname: object.collapsible_nav_classname }) do %>
3
3
  <%= pb_rails("collapsible/collapsible_main", props: { name: "default-collapsible-nav", icon: object.collapsible_icons, size: "xs", dark: object.dark, classname:object.margin_classes }) do %>
4
- <%= pb_content_tag( object.tag,
5
- href: object.link && object.link,
6
- target: object.link && object.target
4
+ <%= content_tag(object.tag,
5
+ aria: object.aria,
6
+ class: object.classname,
7
+ data: object.data,
8
+ dark: object.dark,
9
+ id: object.id,
10
+ href: object.link && object.link,
11
+ target: object.link && object.target,
12
+ **combined_html_options
7
13
  ) do %>
8
14
  <% if object.image_url %>
9
15
  <%= pb_rails("image", props: { url: object.image_url, classname: "pb_nav_img_wrapper_collapsible" }) %>
@@ -14,16 +20,22 @@
14
20
  <span class="pb_nav_list_item_text_collapsible">
15
21
  <%= object.text %>
16
22
  </span>
17
- <% end %>
23
+ <% end %>
18
24
  <% end %>
19
25
  <%= pb_rails("collapsible/collapsible_content", props: {collapsed: object.collapsed}) do %>
20
26
  <%= content.presence %>
21
27
  <% end %>
22
28
  <% end %>
23
29
  <% else %>
24
- <%= pb_content_tag( object.tag,
25
- href: object.link && object.link,
26
- target: object.link && object.target
30
+ <%= content_tag(object.tag,
31
+ aria: object.aria,
32
+ class: object.classname,
33
+ **combined_html_options,
34
+ data: object.data,
35
+ dark: object.dark,
36
+ id: object.id,
37
+ href: object.link && object.link,
38
+ target: object.link && object.target
27
39
  ) do %>
28
40
  <% if object.image_url %>
29
41
  <%= pb_rails("image", props: { url: object.image_url, classname: "pb_nav_img_wrapper" }) %>
@@ -1,7 +1,12 @@
1
- <%= pb_content_tag(:nav) do %>
1
+ <%= content_tag(:nav,
2
+ aria: object.aria,
3
+ class: object.classname,
4
+ data: object.data,
5
+ id: object.id,
6
+ **combined_html_options) do %>
2
7
  <% if object.title %>
3
- <%= pb_content_tag do %>
4
- <%= pb_content_tag(:a) do %>
8
+ <%= content_tag(:div, class: "pb_nav_list_title") do %>
9
+ <%= content_tag(:a, class: "pb_nav_list_item_link_text", href: object.link) do %>
5
10
  <%= pb_rails("caption", props: { text: object.title, dark: dark }) %>
6
11
  <% end %>
7
12
  <% end %>
@@ -1,2 +1,7 @@
1
- <%= pb_content_tag do %>
1
+ <%= content_tag(:div,
2
+ aria: object.aria.merge!(label: object.status),
3
+ class: object.classname,
4
+ data: object.data,
5
+ id: object.id,
6
+ **combined_html_options) do %>
2
7
  <% end %>
@@ -1,4 +1,9 @@
1
- <%= pb_content_tag do %>
1
+ <%= content_tag(:div,
2
+ aria: object.aria,
3
+ class: object.classname,
4
+ data: object.data,
5
+ id: object.id,
6
+ **combined_html_options) do %>
2
7
  <div class="pb_popover_tooltip hide" id="<%= object.tooltip_id %>" role="tooltip" style="<%= object.z_index_helper %>">
3
8
  <div class="pb_popover_body <%= object.width_height_class_helper %> <%= object.popover_spacing_helper %>" style="<%= object.width_height_helper %>">
4
9
  <%= content.presence %>
@@ -3,8 +3,7 @@
3
3
  @import "../tokens/border_radius";
4
4
 
5
5
  @mixin pb_progress_pill {
6
- width: 100%;
7
- max-width: 45px;
6
+ width: 45px;
8
7
  height: 4px;
9
8
  border-radius: $border_rad_light;
10
9
  margin-right: $space_xs;
@@ -1,2 +1 @@
1
1
  <%= pb_rails("progress_pills", props: { aria: { label: "2 out of 3 steps complete" }, steps: 3, active: 2 }) %>
2
- <%= pb_rails("progress_pills", props: { aria: { label: "9 out of 18 steps complete" }, steps: 18, active: 9, margin_top: "md" }) %>
@@ -10,13 +10,6 @@ const ProgressPillsDefault = (props) => {
10
10
  steps={3}
11
11
  {...props}
12
12
  />
13
- <ProgressPills
14
- active={9}
15
- aria={{ label: '9 out of 18 steps complete' }}
16
- marginTop="md"
17
- steps={18}
18
- {...props}
19
- />
20
13
  </>
21
14
  )
22
15
  }
@@ -16,7 +16,7 @@ const TableWithCollapsible = (props) => {
16
16
  );
17
17
  };
18
18
 
19
- return (
19
+ return (
20
20
  <Table
21
21
  size="sm"
22
22
  {...props}
@@ -31,7 +31,6 @@ examples:
31
31
  - table_with_subcomponents_as_divs: Table with Sub Components (Divs)
32
32
  - table_outer_padding: Outer Padding
33
33
  - table_with_collapsible: Table with Collapsible
34
- - table_with_collapsible_with_custom_click: Table with Collapsible with Custom Click
35
34
  - table_with_collapsible_with_custom_content_rails: Table with Collapsible with Custom Content
36
35
  - table_with_collapsible_with_nested_rows_rails: Table with Collapsible with Nested Rows
37
36
  - table_with_collapsible_with_nested_table_rails: Table with Collapsible with Nested Table
@@ -2,7 +2,6 @@ import PbEnhancedElement from '../pb_enhanced_element'
2
2
 
3
3
  const TABLE_WRAPPER_SELECTOR = "[data-pb-table-wrapper]";
4
4
  const TABLE_COLLAPSIBLE_WRAPPER_SELECTOR = "[data-pb-table-collapsible-wrapper]";
5
- const TABLE_COLLAPSIBLE_CELL_SELECTOR = "[data-pb-table-collapsible-cell-id]";
6
5
 
7
6
  export default class PbTable extends PbEnhancedElement {
8
7
  stickyLeftColumns: string[] = [];
@@ -159,49 +158,18 @@ export default class PbTable extends PbEnhancedElement {
159
158
  }
160
159
 
161
160
  handleCollapsibleClick() {
162
- const cells = this.element.querySelectorAll(TABLE_COLLAPSIBLE_CELL_SELECTOR);
163
161
  const collapsibleElements = this.element.querySelectorAll(TABLE_COLLAPSIBLE_WRAPPER_SELECTOR);
164
-
165
- if (cells.length > 0) {
166
- cells.forEach((cell) => {
167
- const cellId = (cell as HTMLElement).dataset.pbTableCollapsibleCellId;
168
-
169
- Array.from(cell.children).forEach((child) => {
170
- if (child.id === cellId) {
171
- Array.from(child.children).forEach((svgChild) => {
172
- svgChild.id = cellId; // Assign cellId to SVG child
173
- Array.from(svgChild.children).forEach((pathChild) => {
174
- pathChild.id = cellId; // Assign cellId to path child
175
- });
176
- });
177
- }
178
- });
179
- cell.addEventListener('click', (event) => {
180
- if ((event.target as HTMLElement).id) {
181
- document.dispatchEvent(new CustomEvent(`collapsed-toggle${(event.currentTarget as HTMLElement).id}`));
182
-
183
- const toggleElements = this.element.querySelectorAll(`.collapsible_border_toggle${(event.currentTarget as HTMLElement).id}`);
184
- toggleElements.forEach((element) => {
185
- element.classList.toggle('no-border');
186
- element.classList.toggle('border-active');
187
- });
188
- }
162
+ collapsibleElements.forEach((collapsibleElement) => {
163
+ collapsibleElement.addEventListener('click', (event) => {
164
+ document.dispatchEvent(new CustomEvent(`collapsed-toggle${(event.currentTarget as HTMLElement).id}`))
165
+
166
+ const toggleElements = this.element.querySelectorAll(`.collapsible_border_toggle${(event.currentTarget as HTMLElement).id}`);
167
+ toggleElements.forEach(element => {
168
+ element.classList.toggle('no-border');
169
+ element.classList.toggle('border-active');
189
170
  });
190
- });
191
-
192
- } else {
193
- collapsibleElements.forEach((collapsibleElement) => {
194
- collapsibleElement.addEventListener('click', (event) => {
195
- document.dispatchEvent(new CustomEvent(`collapsed-toggle${(event.currentTarget as HTMLElement).id}`))
196
-
197
- const toggleElements = this.element.querySelectorAll(`.collapsible_border_toggle${(event.currentTarget as HTMLElement).id}`);
198
- toggleElements.forEach(element => {
199
- element.classList.toggle('no-border');
200
- element.classList.toggle('border-active');
201
- });
202
- })
203
171
  })
204
- }
172
+ })
205
173
  }
206
174
 
207
175
  handleCollapsibleRow() {
@@ -37,10 +37,6 @@
37
37
  cursor: pointer;
38
38
  }
39
39
 
40
- .collapsible_cell {
41
- cursor: default;
42
- }
43
-
44
40
  .no-border {
45
41
  border-bottom: none !important;
46
42
  }
@@ -7,14 +7,11 @@ import {
7
7
  } from "../../utilities/props";
8
8
  import { globalProps } from "../../utilities/globalProps";
9
9
 
10
- import Draggable from "../../pb_draggable/_draggable"
11
-
12
10
  type TableBodyPropTypes = {
13
11
  aria?: { [key: string]: string };
14
12
  children: React.ReactNode[] | React.ReactNode;
15
13
  className: string;
16
14
  data?: { [key: string]: string };
17
- draggableContainer?: boolean;
18
15
  htmlOptions?: { [key: string]: string | number | boolean | (() => void) };
19
16
  id?: string;
20
17
  tag?: "table" | "div";
@@ -26,7 +23,6 @@ const TableBody = (props: TableBodyPropTypes): React.ReactElement => {
26
23
  children,
27
24
  className,
28
25
  data = {},
29
- draggableContainer = false,
30
26
  htmlOptions = {},
31
27
  id,
32
28
  tag = "table",
@@ -41,30 +37,7 @@ const TableBody = (props: TableBodyPropTypes): React.ReactElement => {
41
37
  return (
42
38
  <>
43
39
  {isTableTag ? (
44
- draggableContainer ? (
45
- <Draggable.Container
46
- {...ariaProps}
47
- {...dataProps}
48
- {...htmlProps}
49
- className={classes}
50
- id={id}
51
- tag="tbody"
52
- >
53
- {children}
54
- </Draggable.Container>
55
- ) : (
56
- <tbody
57
- {...ariaProps}
58
- {...dataProps}
59
- {...htmlProps}
60
- className={classes}
61
- id={id}
62
- >
63
- {children}
64
- </tbody>
65
- )
66
- ) : draggableContainer ? (
67
- <Draggable.Container
40
+ <tbody
68
41
  {...ariaProps}
69
42
  {...dataProps}
70
43
  {...htmlProps}
@@ -72,7 +45,7 @@ const TableBody = (props: TableBodyPropTypes): React.ReactElement => {
72
45
  id={id}
73
46
  >
74
47
  {children}
75
- </Draggable.Container>
48
+ </tbody>
76
49
  ) : (
77
50
  <div
78
51
  {...ariaProps}
@@ -9,7 +9,6 @@ import {
9
9
  import { globalProps } from "../../utilities/globalProps";
10
10
  import Collapsible from "../../pb_collapsible/_collapsible";
11
11
  import useCollapsible from "../../pb_collapsible/useCollapsible";
12
- import Draggable from "../../pb_draggable/_draggable";
13
12
 
14
13
  type TableRowPropTypes = {
15
14
  aria?: { [key: string]: string };
@@ -20,8 +19,6 @@ type TableRowPropTypes = {
20
19
  collapsibleSideHighlight?: boolean;
21
20
  data?: { [key: string]: string };
22
21
  dark?: boolean;
23
- dragId?: string;
24
- draggableItem?: boolean;
25
22
  htmlOptions?: { [key: string]: string | number | boolean | (() => void) };
26
23
  id?: string;
27
24
  toggleCellId?: string;
@@ -39,8 +36,6 @@ const TableRow = (props: TableRowPropTypes): React.ReactElement => {
39
36
  className,
40
37
  data = {},
41
38
  dark = false,
42
- dragId,
43
- draggableItem = false,
44
39
  htmlOptions = {},
45
40
  id,
46
41
  toggleCellId,
@@ -157,38 +152,15 @@ const TableRow = (props: TableRowPropTypes): React.ReactElement => {
157
152
  </>
158
153
  )
159
154
  ) : isTableTag ? (
160
- draggableItem ? (
161
- <Draggable.Item
162
- {...ariaProps}
163
- {...dataProps}
164
- {...htmlProps}
165
- className={classes}
166
- dragId={dragId}
167
- tag="tr"
168
- >
169
- {children}
170
- </Draggable.Item>
171
- ) : (
172
- <tr
173
- {...ariaProps}
174
- {...dataProps}
175
- {...htmlProps}
176
- className={classes}
177
- id={id}
178
- >
179
- {children}
180
- </tr>
181
- )
182
- ) : draggableItem ? (
183
- <Draggable.Item
155
+ <tr
184
156
  {...ariaProps}
185
157
  {...dataProps}
186
158
  {...htmlProps}
187
159
  className={classes}
188
- dragId={dragId}
160
+ id={id}
189
161
  >
190
162
  {children}
191
- </Draggable.Item>
163
+ </tr>
192
164
  ) : (
193
165
  <div
194
166
  {...ariaProps}
@@ -1,17 +1,11 @@
1
1
  <% if object.tag == "table" %>
2
- <% if object.draggable_container %>
3
- <%= pb_rails("draggable/draggable_container", props: { tag: "tbody", classname: object.classname, data: object.data }) do %>
4
- <%= content.presence %>
5
- <% end %>
6
- <% else %>
7
- <%= content_tag(:tbody,
8
- aria: object.aria,
9
- class: object.classname,
10
- data: object.data,
11
- id: object.id,
12
- **combined_html_options) do %>
13
- <%= content.presence %>
14
- <% end %>
2
+ <%= content_tag(:tbody,
3
+ aria: object.aria,
4
+ class: object.classname,
5
+ data: object.data,
6
+ id: object.id,
7
+ **combined_html_options) do %>
8
+ <%= content.presence %>
15
9
  <% end %>
16
10
  <% else %>
17
11
  <%= content_tag(:div,
@@ -6,8 +6,6 @@ module Playbook
6
6
  prop :tag, type: Playbook::Props::Enum,
7
7
  values: %w[table div],
8
8
  default: "table"
9
- prop :draggable_container, type: Playbook::Props::Boolean,
10
- default: false
11
9
 
12
10
  def classname
13
11
  generate_classname("pb_table_tbody")
@@ -5,7 +5,6 @@
5
5
  data: object.data.merge(id: object.id),
6
6
  id: object.id,
7
7
  'data-pb-table-collapsible-wrapper' => true,
8
- 'data-pb-table-collapsible-cell-id' => object.toggle_cell_id,
9
8
  **combined_html_options) do %>
10
9
  <%= content.presence %>
11
10
  <% end %>
@@ -19,19 +18,13 @@
19
18
  <% end %>
20
19
  </tr>
21
20
  <% elsif object.tag == "table" %>
22
- <% if object.draggable_item %>
23
- <%= pb_rails("draggable/draggable_item", props:{ drag_id: object.drag_id, tag: "tr", classname: object.classname, data: object.data }) do %>
24
- <%= content.presence %>
25
- <% end %>
26
- <% else %>
27
- <%= content_tag(:tr,
28
- aria: object.aria,
29
- class: object.classname,
30
- data: object.data,
31
- id: object.id,
32
- **combined_html_options) do %>
33
- <%= content.presence %>
34
- <% end %>
21
+ <%= content_tag(:tr,
22
+ aria: object.aria,
23
+ class: object.classname,
24
+ data: object.data,
25
+ id: object.id,
26
+ **combined_html_options) do %>
27
+ <%= content.presence %>
35
28
  <% end %>
36
29
  <% else %>
37
30
  <%= content_tag(:div,
@@ -13,14 +13,9 @@ module Playbook
13
13
  prop :collapsible_content
14
14
  prop :collapsible_side_highlight, type: Playbook::Props::Boolean,
15
15
  default: true
16
- prop :toggle_cell_id, type: Playbook::Props::String
17
- prop :draggable_item, type: Playbook::Props::Boolean,
18
- default: false
19
- prop :drag_id, type: Playbook::Props::String,
20
- default: nil
21
16
 
22
17
  def classname
23
- generate_classname("pb_table_row_kit", side_highlight_class) + tag_class + collapsible_cell_class
18
+ generate_classname("pb_table_row_kit", side_highlight_class) + tag_class
24
19
  end
25
20
 
26
21
  def side_highlight_class
@@ -30,14 +25,6 @@ module Playbook
30
25
  def tag_class
31
26
  " pb_table_tr"
32
27
  end
33
-
34
- def collapsible_cell_class
35
- if toggle_cell_id
36
- " collapsible_cell"
37
- else
38
- ""
39
- end
40
- end
41
28
  end
42
29
  end
43
30
  end
@@ -27,20 +27,6 @@
27
27
  placeholder: "123-45-6789"
28
28
  }) %>
29
29
 
30
- <%= pb_rails("text_input", props: {
31
- label: "Credit Card",
32
- mask: "credit_card",
33
- margin_bottom: "md",
34
- placeholder: "1234 5678 9012 3456"
35
- }) %>
36
-
37
- <%= pb_rails("text_input", props: {
38
- label: "CVV",
39
- mask: "cvv",
40
- margin_bottom: "md",
41
- placeholder: "123"
42
- }) %>
43
-
44
30
  <%= pb_rails("title" , props: {
45
31
  text: "Hidden Input Under The Hood",
46
32
  padding_bottom: "sm"
@@ -27,8 +27,6 @@ export default class PbTextInput extends PbEnhancedElement {
27
27
  ssn: 'ssn',
28
28
  postal_code: 'postalCode',
29
29
  zip_code: 'zipCode',
30
- credit_card: 'creditCard',
31
- cvv: 'cvv',
32
30
  }[maskType];
33
31
 
34
32
  if (maskKey && INPUTMASKS[maskKey]) {
@@ -47,9 +45,6 @@ export default class PbTextInput extends PbEnhancedElement {
47
45
  case "currency":
48
46
  sanitizedInput.value = sanitizeCurrency(formattedValue);
49
47
  break;
50
- case "credit_card":
51
- sanitizedInput.value = sanitizeCreditCard(formattedValue);
52
- break;
53
48
  default:
54
49
  sanitizedInput.value = formattedValue;
55
50
  }
@@ -68,10 +63,6 @@ function sanitizeCurrency(input) {
68
63
  return input.replace(/[$,]/g, "");
69
64
  }
70
65
 
71
- function sanitizeCreditCard(input) {
72
- return input.replace(/\D/g, "");
73
- }
74
-
75
66
  function setCursorPosition(inputElement, cursorPosition, rawValue, formattedValue) {
76
67
  const difference = formattedValue.length - rawValue.length;
77
68
  const newPosition = Math.max(0, cursorPosition + difference);