playbook_ui_docs 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 (36) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_actions.html.erb +19 -0
  3. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_actions.jsx +26 -0
  4. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_default.html.erb +10 -0
  5. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_default.jsx +17 -0
  6. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_on_click.jsx +19 -0
  7. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_onclick.html.erb +16 -0
  8. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_placement.html.erb +35 -0
  9. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_placement.jsx +42 -0
  10. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_tooltip.html.erb +13 -0
  11. data/app/pb_kits/playbook/pb_avatar_action_button/docs/example.yml +15 -0
  12. data/app/pb_kits/playbook/pb_avatar_action_button/docs/index.js +4 -0
  13. data/app/pb_kits/playbook/pb_bar_graph/docs/example.yml +0 -1
  14. data/app/pb_kits/playbook/pb_bar_graph/docs/index.js +0 -1
  15. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_table.html.erb +2 -2
  16. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_table.md +1 -4
  17. data/app/pb_kits/playbook/pb_draggable/docs/example.yml +0 -2
  18. data/app/pb_kits/playbook/pb_draggable/docs/index.js +1 -2
  19. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.jsx +36 -71
  20. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.jsx +6 -6
  21. data/app/pb_kits/playbook/pb_drawer/docs/example.yml +0 -1
  22. data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_default.html.erb +0 -1
  23. data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_default.jsx +0 -7
  24. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible.jsx +1 -1
  25. data/app/pb_kits/playbook/pb_table/docs/example.yml +0 -1
  26. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_mask.html.erb +0 -14
  27. data/dist/playbook-doc.js +1 -1
  28. metadata +14 -10
  29. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_pb_styles.jsx +0 -64
  30. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_pb_styles.md +0 -1
  31. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_table_react.jsx +0 -90
  32. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_table_react.md +0 -5
  33. data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_default.md +0 -1
  34. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_click.html.erb +0 -51
  35. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_click_rails.md +0 -2
  36. /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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f7361c9ea673698c2ce31a4e464535c33e58a8dfe31c7a15bdd221d3d38f4cc0
4
- data.tar.gz: bc62469fd1379805278add44d8230f57d7eceed8c495b66f3db59b9991a6884c
3
+ metadata.gz: bbb6a9c3f7715ee9d85ab9d242ae07d3e1cfee1a4818ded7d44d998b31604353
4
+ data.tar.gz: b8267301849e58d67efe8c5a0d228f0dade301cac7ccddd372cb6849abec0a85
5
5
  SHA512:
6
- metadata.gz: bd7b9818d269ca2f9b1fce78aa06b981243f697e995f76d94df32b454ae715fc037a66261c67e5d647f44606c1a36a07b82fe2a4448eab3279d9f560f94344aa
7
- data.tar.gz: 6c15fbefb75f885f6de3ae5d4010348154a06ff6d0076e48f2228436c372ddc6bf4681d3f6615b61b19d10e663e95bb0fc6bb89ebbf30d5e43e7dfbaf687eefd
6
+ metadata.gz: baccc7e1ee1c0e3d5da847248bfabb37d865ec682c58a0bbcf3234020ed0bf47715314c97dc17c365c6090f37873185e94775216c6f978d1ada42455a72f0a6e
7
+ data.tar.gz: c495517ae54ea3f254a030009b525b1c99fd33eb6bff3a6edaefc83db71e7db3b6490b015d565b3508812322f19390b64e400dfa3ad9fdc33606f08e9414de74
@@ -0,0 +1,19 @@
1
+ <div class="pb--doc-demo-row">
2
+
3
+ <%= pb_rails("avatar_action_button", props: {
4
+ link_aria_label: "Add Sophia Carden",
5
+ name: "Sophia Carden",
6
+ image_alt: "Add Sophia Carden",
7
+ image_url: "https://randomuser.me/api/portraits/women/8.jpg",
8
+ action: "add",
9
+ }) %>
10
+
11
+ <%= pb_rails("avatar_action_button", props: {
12
+ link_aria_label: "Remove Sophia Carden",
13
+ name: "Sophia Carden",
14
+ image_alt: "Remove Sophia Carden",
15
+ image_url: "https://randomuser.me/api/portraits/women/8.jpg",
16
+ action: "remove",
17
+ }) %>
18
+
19
+ </div>
@@ -0,0 +1,26 @@
1
+ import React from 'react'
2
+
3
+ import AvatarActionButton from '../_avatar_action_button'
4
+
5
+ const AvatarActionButtonActions = (props) => (
6
+ <div className="pb--doc-demo-row">
7
+ <AvatarActionButton
8
+ action="add"
9
+ imageAlt="Add Sophia Carden"
10
+ imageUrl="https://randomuser.me/api/portraits/women/8.jpg"
11
+ linkAriaLabel="Add Sophia Carden"
12
+ name="Sophia Carden"
13
+ {...props}
14
+ />
15
+ <AvatarActionButton
16
+ action="remove"
17
+ imageAlt="Remove Sophia Carden"
18
+ imageUrl="https://randomuser.me/api/portraits/women/8.jpg"
19
+ linkAriaLabel="Remove Sophia Carden"
20
+ name="Sophia Carden"
21
+ {...props}
22
+ />
23
+ </div>
24
+ )
25
+
26
+ export default AvatarActionButtonActions
@@ -0,0 +1,10 @@
1
+ <div class="pb--doc-demo-row">
2
+
3
+ <%= pb_rails("avatar_action_button", props: {
4
+ link_aria_label: "Sophia Carden",
5
+ name: "Sophia Carden",
6
+ image_alt: "Sophia Carden",
7
+ image_url: "https://randomuser.me/api/portraits/women/8.jpg"
8
+ }) %>
9
+
10
+ </div>
@@ -0,0 +1,17 @@
1
+ import React from 'react'
2
+
3
+ import AvatarActionButton from '../_avatar_action_button'
4
+
5
+ const AvatarActionButtonDefault = (props) => (
6
+ <div className="pb--doc-demo-row">
7
+ <AvatarActionButton
8
+ imageAlt="Sophia Carden"
9
+ imageUrl="https://randomuser.me/api/portraits/women/8.jpg"
10
+ linkAriaLabel="Sophia Carden"
11
+ name="Sophia Carden"
12
+ {...props}
13
+ />
14
+ </div>
15
+ )
16
+
17
+ export default AvatarActionButtonDefault
@@ -0,0 +1,19 @@
1
+ import React from 'react'
2
+
3
+ import AvatarActionButton from '../_avatar_action_button'
4
+
5
+ const AvatarActionButtonOnClick = (props) => (
6
+ <div className="pb--doc-demo-row">
7
+ <AvatarActionButton
8
+ imageAlt="Sophia Carden"
9
+ imageUrl="https://randomuser.me/api/portraits/women/8.jpg"
10
+ linkAriaLabel="Alert Sophia Carden"
11
+ linkUrl="https://www.google.com"
12
+ name="Sophia Carden"
13
+ onClick={() => alert('clicked!')}
14
+ {...props}
15
+ />
16
+ </div>
17
+ )
18
+
19
+ export default AvatarActionButtonOnClick
@@ -0,0 +1,16 @@
1
+ <div class="pb--doc-demo-row">
2
+
3
+ <%= pb_rails("avatar_action_button", props: {
4
+ link_aria_label: "Alert Sophia Carden",
5
+ name: "Sophia Carden",
6
+ id: "clickable",
7
+ link_url: "http://www.google.com",
8
+ image_alt: "Sophia Carden",
9
+ image_url: "https://randomuser.me/api/portraits/women/8.jpg",
10
+ }) %>
11
+
12
+ <%= javascript_tag do %>
13
+ document.querySelector('#clickable').addEventListener('click', () => alert('clickable clicked!'))
14
+ <% end %>
15
+
16
+ </div>
@@ -0,0 +1,35 @@
1
+ <div class="pb--doc-demo-row">
2
+
3
+ <%= pb_rails("avatar_action_button", props: {
4
+ link_aria_label: "Sophia Carden",
5
+ name: "Sophia Carden",
6
+ image_alt: "Sophia Carden",
7
+ image_url: "https://randomuser.me/api/portraits/women/8.jpg",
8
+ placement: "bottom_left"
9
+ }) %>
10
+
11
+ <%= pb_rails("avatar_action_button", props: {
12
+ link_aria_label: "Sophia Carden",
13
+ name: "Sophia Carden",
14
+ image_alt: "Sophia Carden",
15
+ image_url: "https://randomuser.me/api/portraits/women/8.jpg",
16
+ placement: "bottom_right"
17
+ }) %>
18
+
19
+ <%= pb_rails("avatar_action_button", props: {
20
+ link_aria_label: "Sophia Carden",
21
+ name: "Sophia Carden",
22
+ image_alt: "Sophia Carden",
23
+ image_url: "https://randomuser.me/api/portraits/women/8.jpg",
24
+ placement: "top_left"
25
+ }) %>
26
+
27
+ <%= pb_rails("avatar_action_button", props: {
28
+ link_aria_label: "Sophia Carden",
29
+ name: "Sophia Carden",
30
+ image_alt: "Sophia Carden",
31
+ image_url: "https://randomuser.me/api/portraits/women/8.jpg",
32
+ placement: "top_right"
33
+ }) %>
34
+
35
+ </div>
@@ -0,0 +1,42 @@
1
+ import React from 'react'
2
+
3
+ import AvatarActionButton from '../_avatar_action_button'
4
+
5
+ const AvatarActionButtonPlacement = (props) => (
6
+ <div className="pb--doc-demo-row">
7
+ <AvatarActionButton
8
+ imageAlt="Sophia Carden"
9
+ imageUrl="https://randomuser.me/api/portraits/women/8.jpg"
10
+ linkAriaLabel="Sophia Carden"
11
+ name="Sophia Carden"
12
+ placement="bottom_left"
13
+ {...props}
14
+ />
15
+ <AvatarActionButton
16
+ imageAlt="Sophia Carden"
17
+ imageUrl="https://randomuser.me/api/portraits/women/8.jpg"
18
+ linkAriaLabel="Sophia Carden"
19
+ name="Sophia Carden"
20
+ placement="bottom_right"
21
+ {...props}
22
+ />
23
+ <AvatarActionButton
24
+ imageAlt="Sophia Carden"
25
+ imageUrl="https://randomuser.me/api/portraits/women/8.jpg"
26
+ linkAriaLabel="Sophia Carden"
27
+ name="Sophia Carden"
28
+ placement="top_left"
29
+ {...props}
30
+ />
31
+ <AvatarActionButton
32
+ imageAlt="Sophia Carden"
33
+ imageUrl="https://randomuser.me/api/portraits/women/8.jpg"
34
+ linkAriaLabel="Sophia Carden"
35
+ name="Sophia Carden"
36
+ placement="top_right"
37
+ {...props}
38
+ />
39
+ </div>
40
+ )
41
+
42
+ export default AvatarActionButtonPlacement
@@ -0,0 +1,13 @@
1
+ <div class="pb--doc-demo-row">
2
+
3
+ <%= pb_rails("avatar_action_button", props: {
4
+ link_aria_label: "Sophia Carden",
5
+ name: "Sophia Carden",
6
+ link_url: "http://www.google.com",
7
+ image_alt: "Sophia Carden",
8
+ image_url: "https://randomuser.me/api/portraits/women/8.jpg",
9
+ tooltip_text: "Tooltip Text",
10
+ tooltip_id: "avatar_1",
11
+ }) %>
12
+
13
+ </div>
@@ -0,0 +1,15 @@
1
+ examples:
2
+
3
+ rails:
4
+ - avatar_action_button_default: Default
5
+ - avatar_action_button_placement: Placement
6
+ - avatar_action_button_actions: Actions
7
+ - avatar_action_button_onclick: On Click
8
+ - avatar_action_button_tooltip: Tooltip
9
+
10
+
11
+ react:
12
+ - avatar_action_button_default: Default
13
+ - avatar_action_button_placement: Placement
14
+ - avatar_action_button_actions: Actions
15
+ - avatar_action_button_on_click: On Click
@@ -0,0 +1,4 @@
1
+ export { default as AvatarActionButtonDefault } from './_avatar_action_button_default.jsx'
2
+ export { default as AvatarActionButtonPlacement } from './_avatar_action_button_placement.jsx'
3
+ export { default as AvatarActionButtonActions } from './_avatar_action_button_actions.jsx'
4
+ export { default as AvatarActionButtonOnClick } from './_avatar_action_button_on_click.jsx'
@@ -17,7 +17,6 @@ examples:
17
17
 
18
18
  react:
19
19
  - bar_graph_default: Default
20
- - bar_graph_pb_styles: Playbook Styles
21
20
  - bar_graph_legend: Legend
22
21
  - bar_graph_legend_position: Legend Position
23
22
  - bar_graph_legend_non_clickable: Legend Non Clickable
@@ -10,4 +10,3 @@ export { default as BarGraphStacked } from './_bar_graph_stacked.jsx'
10
10
  export { default as BarGraphNegativeNumbers } from './_bar_graph_negative_numbers.jsx'
11
11
  export { default as BarGraphSecondaryYAxis } from './_bar_graph_secondary_y_axis.jsx'
12
12
  export { default as BarGraphHorizontal } from './_bar_graph_horizontal.jsx'
13
- export { default as BarGraphPbStyles } from './_bar_graph_pb_styles.jsx'
@@ -43,9 +43,9 @@
43
43
  <% end %>
44
44
  <% end %>
45
45
 
46
- <%= pb_rails("table/table_body", props: {draggable_container: true}) do %>
46
+ <%= pb_rails("draggable/draggable_container", props: {tag:"tbody"}) do %>
47
47
  <% initial_items.each do |item| %>
48
- <%= pb_rails("table/table_row", props:{drag_id: item[:id], draggable_item: true}) do %>
48
+ <%= pb_rails("draggable/draggable_item", props:{drag_id: item[:id], tag:"tr"}) do %>
49
49
  <%= pb_rails("table/table_cell", props: { text: item[:id]}) %>
50
50
  <%= pb_rails("table/table_cell") do %>
51
51
  <%= pb_rails("flex", props:{align:"center"}) do %>
@@ -1,4 +1 @@
1
- The draggable kit can also be used in conjunction with the table kit to create draggable table rows. To do this:
2
-
3
- - use the `draggable_container` prop on the table/table_body to designate it as the Draggable Container
4
- - use the `draggable_item` prop on the table/table_row to designate it as the Draggable Item. Make sure to also pass id to the `drag_id` prop here.
1
+ The draggable kit can also be used in conjunction with the table kit to create draggable table rows. To do this, make use of the `tag` prop on the draggable_container to set it to 'tbody' and the same prop on the draggable_item to set that to 'tr'. This will create the functionality seen here.
@@ -4,9 +4,7 @@ examples:
4
4
  - draggable_with_list: Draggable with List Kit
5
5
  - draggable_with_selectable_list: Draggable with SelectableList Kit
6
6
  - draggable_with_cards: Draggable with Cards
7
- - draggable_with_table_react: Draggable with Table
8
7
  - draggable_multiple_containers: Dragging Across Multiple Containers
9
-
10
8
  rails:
11
9
  - draggable_default_rails: Default
12
10
  - draggable_with_list_rails: Draggable with List Kit
@@ -2,5 +2,4 @@ export { default as DraggableDefault } from './_draggable_default.jsx'
2
2
  export { default as DraggableWithCards } from './_draggable_with_cards.jsx'
3
3
  export { default as DraggableWithList } from './_draggable_with_list.jsx'
4
4
  export { default as DraggableWithSelectableList } from './_draggable_with_selectable_list.jsx'
5
- export { default as DraggableMultipleContainers } from './_draggable_multiple_containers.jsx'
6
- export { default as DraggableWithTableReact } from './_draggable_with_table_react.jsx'
5
+ export { default as DraggableMultipleContainers } from './_draggable_multiple_containers.jsx'
@@ -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,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
@@ -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"