playbook_ui 11.9.0.pre.alpha.fileupload1 → 11.10.0.pre.alpha.pagination1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (87) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +2 -0
  3. data/app/pb_kits/playbook/data/menu.yml +1 -0
  4. data/app/pb_kits/playbook/pb_background/_background.tsx +1 -1
  5. data/app/pb_kits/playbook/pb_background/background.rb +5 -0
  6. data/app/pb_kits/playbook/pb_background/docs/_background_status.jsx +1 -1
  7. data/app/pb_kits/playbook/pb_background/docs/_background_status_subtle.html.erb +11 -0
  8. data/app/pb_kits/playbook/pb_background/docs/_background_status_subtle.jsx +44 -0
  9. data/app/pb_kits/playbook/pb_background/docs/_background_status_subtle.md +1 -0
  10. data/app/pb_kits/playbook/pb_background/docs/example.yml +2 -0
  11. data/app/pb_kits/playbook/pb_background/docs/index.js +1 -0
  12. data/app/pb_kits/playbook/pb_checkbox/_checkbox.scss +10 -0
  13. data/app/pb_kits/playbook/pb_checkbox/_checkbox.tsx +2 -2
  14. data/app/pb_kits/playbook/pb_collapsible/_collapsible.scss +5 -0
  15. data/app/pb_kits/playbook/pb_collapsible/_collapsible.tsx +8 -3
  16. data/app/pb_kits/playbook/pb_collapsible/child_kits/CollapsibleMain.tsx +41 -9
  17. data/app/pb_kits/playbook/pb_collapsible/collapsible.test.js +1 -1
  18. data/app/pb_kits/playbook/pb_collapsible/collapsible_main.html.erb +4 -2
  19. data/app/pb_kits/playbook/pb_collapsible/collapsible_main.rb +20 -0
  20. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_color.html.erb +60 -0
  21. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_color.jsx +98 -0
  22. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_color.md +4 -0
  23. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_default.html.erb +1 -1
  24. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_size.html.erb +40 -0
  25. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_size.jsx +68 -0
  26. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_size.md +4 -0
  27. data/app/pb_kits/playbook/pb_collapsible/docs/example.yml +6 -4
  28. data/app/pb_kits/playbook/pb_collapsible/docs/index.js +2 -0
  29. data/app/pb_kits/playbook/pb_file_upload/_file_upload.tsx +5 -28
  30. data/app/pb_kits/playbook/pb_file_upload/docs/example.yml +0 -1
  31. data/app/pb_kits/playbook/pb_file_upload/docs/index.js +0 -1
  32. data/app/pb_kits/playbook/pb_file_upload/fileupload.test.js +3 -3
  33. data/app/pb_kits/playbook/pb_filter/_filter.scss +0 -2
  34. data/app/pb_kits/playbook/pb_filter/docs/_description.md +5 -1
  35. data/app/pb_kits/playbook/pb_filter/docs/_filter_default.html.erb +6 -6
  36. data/app/pb_kits/playbook/pb_filter/docs/_filter_default.jsx +58 -45
  37. data/app/pb_kits/playbook/pb_filter/docs/{_filter_min_width.html.erb → _filter_max_width.html.erb} +3 -3
  38. data/app/pb_kits/playbook/pb_filter/docs/_filter_max_width.jsx +69 -0
  39. data/app/pb_kits/playbook/pb_filter/docs/{_filter_default.md → _filter_max_width.md} +1 -1
  40. data/app/pb_kits/playbook/pb_filter/docs/_filter_no_background.html.erb +4 -4
  41. data/app/pb_kits/playbook/pb_filter/docs/_filter_no_background.jsx +60 -47
  42. data/app/pb_kits/playbook/pb_filter/docs/_filter_no_sort.html.erb +2 -2
  43. data/app/pb_kits/playbook/pb_filter/docs/_filter_no_sort.jsx +31 -25
  44. data/app/pb_kits/playbook/pb_filter/docs/_filter_only.html.erb +2 -2
  45. data/app/pb_kits/playbook/pb_filter/docs/_filter_only.jsx +31 -24
  46. data/app/pb_kits/playbook/pb_filter/docs/_filter_placement.html.erb +2 -2
  47. data/app/pb_kits/playbook/pb_filter/docs/_filter_placement.jsx +30 -24
  48. data/app/pb_kits/playbook/pb_filter/docs/_filter_placement.md +1 -1
  49. data/app/pb_kits/playbook/pb_filter/docs/_filter_single.html.erb +2 -2
  50. data/app/pb_kits/playbook/pb_filter/docs/_filter_single.jsx +30 -25
  51. data/app/pb_kits/playbook/pb_filter/docs/example.yml +2 -3
  52. data/app/pb_kits/playbook/pb_filter/docs/index.js +1 -2
  53. data/app/pb_kits/playbook/pb_form_group/_form_group.scss +5 -0
  54. data/app/pb_kits/playbook/pb_home_address_street/_home_address_street.tsx +1 -0
  55. data/app/pb_kits/playbook/pb_legend/_legend.jsx +12 -2
  56. data/app/pb_kits/playbook/pb_legend/_legend.scss +7 -1
  57. data/app/pb_kits/playbook/pb_legend/docs/_legend_custom_colors.html.erb +3 -0
  58. data/app/pb_kits/playbook/pb_legend/docs/_legend_custom_colors.jsx +24 -0
  59. data/app/pb_kits/playbook/pb_legend/docs/_legend_custom_colors.md +1 -0
  60. data/app/pb_kits/playbook/pb_legend/docs/example.yml +2 -0
  61. data/app/pb_kits/playbook/pb_legend/docs/index.js +1 -0
  62. data/app/pb_kits/playbook/pb_legend/legend.html.erb +1 -1
  63. data/app/pb_kits/playbook/pb_legend/legend.rb +9 -1
  64. data/app/pb_kits/playbook/pb_nav/_vertical_nav.scss +1 -1
  65. data/app/pb_kits/playbook/pb_pagination/_pagination.scss +59 -0
  66. data/app/pb_kits/playbook/pb_pagination/docs/_pagination_default.html.erb +1 -0
  67. data/app/pb_kits/playbook/pb_pagination/docs/_pagination_default.md +1 -0
  68. data/app/pb_kits/playbook/pb_pagination/docs/example.yml +6 -0
  69. data/app/pb_kits/playbook/pb_pagination/pagination.html.erb +7 -0
  70. data/app/pb_kits/playbook/pb_pagination/pagination.rb +11 -0
  71. data/app/pb_kits/playbook/pb_radio/_radio.scss +1 -0
  72. data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.scss +6 -0
  73. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +0 -2
  74. data/app/pb_kits/playbook/pb_selectable_list/selectable_list_item.rb +1 -1
  75. data/app/pb_kits/playbook/pb_table/_table.jsx +5 -3
  76. data/app/pb_kits/playbook/pb_text_input/_text_input.tsx +4 -4
  77. data/app/pb_kits/playbook/pb_timeline/_timeline.scss +1 -2
  78. data/app/pb_kits/playbook/pb_timeline/docs/_timeline_with_date.html.erb +23 -0
  79. data/app/pb_kits/playbook/pb_timeline/docs/_timeline_with_date.jsx +47 -0
  80. data/app/pb_kits/playbook/pb_timeline/docs/_timeline_with_date.md +1 -0
  81. data/app/pb_kits/playbook/pb_typeahead/_typeahead.scss +37 -2
  82. data/app/pb_kits/playbook/tokens/_colors.scss +11 -1
  83. data/lib/playbook/version.rb +2 -2
  84. metadata +24 -7
  85. data/app/pb_kits/playbook/pb_file_upload/docs/_file_upload_max_size.jsx +0 -51
  86. data/app/pb_kits/playbook/pb_filter/docs/_filter_close_popover.jsx +0 -62
  87. data/app/pb_kits/playbook/pb_filter/docs/_filter_min_width.jsx +0 -57
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5376b30a51f38366cf934ddf2b1e7924a9b7a1ee80b1825c29f1f3f7b21ec3d9
4
- data.tar.gz: f522f4649bf2f6efd3a707023f350b9b2a6518c2f7e6bdbeff5bf639e61d8426
3
+ metadata.gz: 75bd3baf47e85195f6c2e1809aff3f10b73de04565235469db356469ad2596be
4
+ data.tar.gz: 03adef3ba4130c0298b164e41d0487d828ca2e3f9fd0c5b8d2c68bd46348ce86
5
5
  SHA512:
6
- metadata.gz: 647e3eb358806661f465ba9e1bdf3a5e2261895e6002c526088289b2170e87fca1cd6b12688ef5d78e981b9045971ef949534bcd27b1e7e23c94b36046be4d26
7
- data.tar.gz: 1e19f47ed627201e2569f11e52623491de59111397deb5b38196b869f1361580aee8f49d8c23f0fbc38a971400f5ab47307c359d282d599c933a1b0b7f80915b
6
+ metadata.gz: '0815f40539b2e252e03d91ea65053289af3fcd1d64165c2e68c4ae5634c6904890bc20869915b473afd599c94866be4d2825c80cdae65f4ad6c8815b203a2fd6'
7
+ data.tar.gz: 191e889e44e35d7e2a479b2277b91e98e7c4065d1e33817840eb7dcee774d6ae7d2ae7adfa0c918fa3def30824d29ff8bf8aea8c76d4f4138ffa362f124149eb
@@ -103,3 +103,5 @@
103
103
  @import './utilities/line_height';
104
104
  @import './utilities/display';
105
105
  @import './utilities/flexbox';
106
+
107
+ @import 'pb_pagination/pagination';
@@ -60,6 +60,7 @@ kits:
60
60
  - badge
61
61
  - hashtag
62
62
  - pill
63
+ - pagination
63
64
  - popover
64
65
  - progress:
65
66
  - progress_pills
@@ -14,7 +14,7 @@ type BackgroundProps = {
14
14
  'text_lt_default' | 'text_lt_light' | 'text_lt_lighter' | 'text_dk_default' | 'text_dk_light' | 'text_dk_lighter' |
15
15
  'card_light' | 'card_dark' | 'data_1' | 'data_2' | 'data_3' | 'data_4' | 'data_5' | 'data_6' | 'data_7' | 'data_8' |
16
16
  'border_light' | 'border_dark' | 'success_secondary' | 'error_secondary' | 'info_secondary' | 'warning_secondary' |
17
- 'neutral_secondary' | 'primary_secondary',
17
+ 'neutral_secondary' | 'primary_secondary' | 'success_subtle' | 'warning_subtle' | 'error_subtle' | 'info_subtle' | 'neutral_subtle',
18
18
  backgroundRepeat?: 'repeat' | 'repeat-x' | 'repeat-y' | 'no-repeat' | 'space' | 'round' | 'initial' | 'inherit',
19
19
  backgroundSize?: 'auto' | 'cover' | 'contain',
20
20
  children?: React.ReactChild[] | React.ReactNode,
@@ -63,6 +63,11 @@ module Playbook
63
63
  data_8
64
64
  border_light
65
65
  border_dark
66
+ success_subtle
67
+ warning_subtle
68
+ error_subtle
69
+ info_subtle
70
+ neutral_subtle
66
71
  ],
67
72
  default: "light"
68
73
 
@@ -19,7 +19,7 @@ const BackgroundStatus = (props) => (
19
19
  padding="xl"
20
20
  {...props}
21
21
  />
22
- <br />
22
+ <br />
23
23
  <Background
24
24
  backgroundColor="warning"
25
25
  padding="xl"
@@ -0,0 +1,11 @@
1
+ <%= pb_rails("flex", props: {gap: "md", justify: "center", wrap: true}) do %>
2
+ <%= pb_rails("background", props: { background_color: "success_subtle", padding: "xl" }) do %> <% end %>
3
+ <br>
4
+ <%= pb_rails("background", props: { background_color: "warning_subtle", padding: "xl" }) do %> <% end %>
5
+ <br>
6
+ <%= pb_rails("background", props: { background_color: "error_subtle", padding: "xl" }) do %> <% end %>
7
+ <br>
8
+ <%= pb_rails("background", props: { background_color: "info_subtle", padding: "xl" }) do %> <% end %>
9
+ <br>
10
+ <%= pb_rails("background", props: { background_color: "neutral_subtle", padding: "xl" }) do %> <% end %>
11
+ <%end%>
@@ -0,0 +1,44 @@
1
+ import React from 'react'
2
+ import { Background } from '../..'
3
+ import { Flex } from '../..'
4
+
5
+ const BackgroundStatusSubtle = (props) => (
6
+ <Flex
7
+ gap="md"
8
+ justify="center"
9
+ wrap
10
+ >
11
+ <Background
12
+ backgroundColor="success_subtle"
13
+ padding="xl"
14
+ {...props}
15
+ />
16
+ <br />
17
+ <Background
18
+ backgroundColor="warning_subtle"
19
+ padding="xl"
20
+ {...props}
21
+ />
22
+ <br />
23
+ <Background
24
+ backgroundColor="error_subtle"
25
+ padding="xl"
26
+ {...props}
27
+ />
28
+ <br />
29
+ <Background
30
+ backgroundColor="info_subtle"
31
+ padding="xl"
32
+ {...props}
33
+ />
34
+ <br />
35
+ <Background
36
+ backgroundColor="neutral_subtle"
37
+ padding="xl"
38
+ {...props}
39
+ />
40
+ <br />
41
+ </Flex>
42
+ )
43
+
44
+ export default BackgroundStatusSubtle
@@ -0,0 +1 @@
1
+ Status Subtle colors can be passed into the background kit. `success_subtle`, `warning_subtle`,`error_subtle`, `info_subtle` and `neutral_subtle`
@@ -6,6 +6,7 @@ examples:
6
6
  - background_gradient: Gradient
7
7
  - background_image: Image
8
8
  - background_status: Status
9
+ - background_status_subtle: Status Subtle
9
10
  - background_category: Category
10
11
  - background_size: Size
11
12
 
@@ -15,5 +16,6 @@ examples:
15
16
  - background_gradient: Gradient
16
17
  - background_image: Image
17
18
  - background_status: Status
19
+ - background_status_subtle: Status Subtle
18
20
  - background_category: Category
19
21
  - background_size: Size
@@ -3,5 +3,6 @@ export { default as BackgroundWhite } from './_background_white.jsx'
3
3
  export { default as BackgroundGradient } from './_background_gradient.jsx'
4
4
  export { default as BackgroundImage } from './_background_image.jsx'
5
5
  export { default as BackgroundStatus } from './_background_status.jsx'
6
+ export { default as BackgroundStatusSubtle } from './_background_status_subtle.jsx'
6
7
  export { default as BackgroundCategory } from './_background_category.jsx'
7
8
  export { default as BackgroundSize } from './_background_size.jsx'
@@ -87,6 +87,11 @@ $transition: $transition_cubic;
87
87
  border-color: $error_dark;
88
88
  }
89
89
  }
90
+ &.pb_checkbox_kit_error {
91
+ > .pb_checkbox_checkmark {
92
+ border-color: $error_dark;
93
+ }
94
+ }
90
95
  }
91
96
 
92
97
  &.error {
@@ -94,4 +99,9 @@ $transition: $transition_cubic;
94
99
  border-color: $error;
95
100
  }
96
101
  }
102
+ &.pb_checkbox_kit_error {
103
+ > .pb_checkbox_checkmark {
104
+ border-color: $error;
105
+ }
106
+ }
97
107
  }
@@ -45,7 +45,7 @@ const Checkbox = (props: CheckboxProps): JSX.Element => {
45
45
  const ariaProps = buildAriaProps(aria)
46
46
  const classes = classnames(
47
47
  buildCss('pb_checkbox_kit', checked ? 'checked' : null, error ? 'error' : null, indeterminate? 'indeterminate' : null),
48
- globalProps(props),
48
+ globalProps(props),
49
49
  className
50
50
  )
51
51
 
@@ -59,7 +59,7 @@ const Checkbox = (props: CheckboxProps): JSX.Element => {
59
59
  const checkboxChildren = () => {
60
60
  if (children)
61
61
  return (children)
62
- else
62
+ else
63
63
  return (
64
64
  <input
65
65
  defaultChecked={checked}
@@ -1,3 +1,5 @@
1
+ @import "./tokens/colors";
2
+
1
3
  [class^=pb_collapsible_kit] {
2
4
  .toggle-content {
3
5
  display: none;
@@ -12,4 +14,7 @@
12
14
  display: block;
13
15
  height: auto;
14
16
  }
17
+ .icon_wrapper:hover {
18
+ color: $primary
19
+ }
15
20
  }
@@ -7,6 +7,8 @@ import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
7
7
  import CollapsibleContent from './child_kits/CollapsibleContent'
8
8
  import CollapsibleMain from './child_kits/CollapsibleMain'
9
9
  import CollapsibleContext from './context'
10
+ import IconSizes from "../pb_icon/_icon"
11
+
10
12
 
11
13
  type CollapsibleProps = {
12
14
  children?: JSX.Element | [],
@@ -14,11 +16,12 @@ type CollapsibleProps = {
14
16
  className?: string,
15
17
  collapsed?: boolean,
16
18
  data?: object,
19
+ iconColor?: 'default' | 'light' | 'lighter' | 'link' | 'error' | 'success',
20
+ iconSize?: typeof IconSizes
17
21
  id?: string,
18
22
  padding?: string,
19
23
  }
20
24
 
21
-
22
25
  const useCollapsible = (initial = false) => {
23
26
  const [collapsed, setCollapsed] = useState(initial)
24
27
 
@@ -34,6 +37,8 @@ const Collapsible = ({
34
37
  children = [],
35
38
  collapsed = true,
36
39
  data = {},
40
+ iconColor = 'default',
41
+ iconSize,
37
42
  id,
38
43
  padding = 'md',
39
44
  ...props
@@ -53,13 +58,13 @@ const Collapsible = ({
53
58
  const ariaProps = buildAriaProps(aria)
54
59
  const dataProps = buildDataProps(data)
55
60
  const classes = classnames(
56
- buildCss('pb_collapsible'),
61
+ buildCss('pb_collapsible_kit'),
57
62
  className,
58
63
  globalProps(props, { padding })
59
64
  )
60
65
 
61
66
  return (
62
- <CollapsibleContext.Provider value={{ collapsed: isCollapsed, collapse }}>
67
+ <CollapsibleContext.Provider value={{ collapsed: isCollapsed, collapse, iconSize, iconColor }}>
63
68
  <div
64
69
  {...ariaProps}
65
70
  {...dataProps}
@@ -1,3 +1,4 @@
1
+ /* eslint-disable react/no-multi-comp */
1
2
 
2
3
  import classnames from 'classnames'
3
4
  import React, { useContext } from 'react'
@@ -8,26 +9,52 @@ import Flex from '../../pb_flex/_flex'
8
9
  import FlexItem from '../../pb_flex/_flex_item'
9
10
  import CollapsibleContext from '../context'
10
11
 
12
+
13
+ type colorMap = {
14
+ default: string,
15
+ light: string,
16
+ lighter: string,
17
+ link: string,
18
+ error: string,
19
+ success: string
20
+ }
21
+
22
+ const colorMap = {
23
+ default: "#242B42",
24
+ light: "#687887",
25
+ lighter: "#C1CDD6",
26
+ link: "#0056CF",
27
+ error: "#FF2229",
28
+ success: "#00CA74",
29
+ }
30
+
11
31
  type CollapsibleMainProps = {
12
32
  children: React.ReactNode[] | React.ReactNode,
13
33
  className?: string,
14
34
  padding?: string,
15
- cursor?: string
35
+ cursor?: string,
36
+
16
37
  }
38
+ type IconColors = "default" | "light" | "lighter" | "link" | "error" | "success"
17
39
 
18
40
  type IconProps = {
19
41
  collapsed: boolean | (()=> void)
42
+ iconColor?: IconColors
43
+ iconSize?: string | (() => void)
20
44
  }
21
45
 
22
- const Icon = ({ collapsed }: IconProps) => {
46
+ const Icon = ({ collapsed, iconSize, iconColor }: IconProps) => {
23
47
  const direction = collapsed ? 'down' : 'up'
48
+ const size = iconSize
49
+ const color = colorMap[iconColor]
24
50
 
25
51
  return (
26
52
  <div
53
+ className="icon_wrapper"
27
54
  key={direction}
28
- style={{ verticalAlign: 'middle' }}
55
+ style={{ verticalAlign: 'middle', color: color }}
29
56
  >
30
- <i className={`far fa-chevron-${direction} fa-fw`} />
57
+ <i className={`far fa-chevron-${direction} fa-fw ${size && `fa-${size}`}`} />
31
58
  </div>
32
59
  )
33
60
  }
@@ -37,22 +64,27 @@ const CollapsibleMain = ({
37
64
  className,
38
65
  cursor = 'pointer',
39
66
  padding = 'md',
40
-
41
67
  ...props
42
- }: CollapsibleMainProps) => {
43
- const context: {[key: string]: (()=> void)} | boolean = useContext(CollapsibleContext)
68
+ }: CollapsibleMainProps): React.ReactElement=> {
69
+ const context: {[key: string]: IconColors | (() => void)} | boolean = useContext(CollapsibleContext)
44
70
  const mainCSS = buildCss('pb_collapsible_main_kit')
45
71
  const mainSpacing = globalProps(props, { cursor, padding })
46
72
 
47
73
  return (
48
74
  <div className={classnames(mainCSS, className, mainSpacing)}>
49
- <div onClick={() => context.collapse()}>
75
+ <div onClick={context.collapse as (() => void)}>
50
76
  <Flex
51
77
  spacing="between"
52
78
  vertical="center"
53
79
  >
54
80
  <FlexItem>{children}</FlexItem>
55
- <FlexItem><Icon collapsed={context.collapsed}/></FlexItem>
81
+ <FlexItem>
82
+ <Icon
83
+ collapsed={context.collapsed as () => void}
84
+ iconColor={context.iconColor as IconColors}
85
+ iconSize={context.iconSize}
86
+ />
87
+ </FlexItem>
56
88
  </Flex>
57
89
  </div>
58
90
  </div>
@@ -16,7 +16,7 @@ afterEach(() => {
16
16
  })
17
17
 
18
18
  const testId = 'collapsible1',
19
- kitClass = 'pb_collapsible'
19
+ kitClass = 'pb_collapsible_kit'
20
20
 
21
21
  test('throws error if incorrect # of children', () => {
22
22
  expect(() => {
@@ -9,8 +9,10 @@
9
9
  <%= content.presence %>
10
10
  <% end %>
11
11
  <%= pb_rails("flex/flex_item") do %>
12
- <i class="far fa-chevron-down"></i>
13
- <i class="far fa-chevron-up" style="display: none"></i>
12
+ <div style="color: <%= object.icon_color %>">
13
+ <i class="far fa-chevron-down <%= object.icon_size %>"></i>
14
+ <i class="far fa-chevron-up <%= object.icon_size %>"></i>
15
+ </div>
14
16
  <% end %>
15
17
  <% end %>
16
18
  <% end %>
@@ -3,6 +3,12 @@
3
3
  module Playbook
4
4
  module PbCollapsible
5
5
  class CollapsibleMain < Playbook::KitBase
6
+ prop :color, type: Playbook::Props::Enum,
7
+ values: %w[default light lighter link success error],
8
+ default: "default"
9
+ prop :size, type: Playbook::Props::Enum,
10
+ values: ["lg", "xs", "sm", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x", nil],
11
+ default: nil
6
12
  def data
7
13
  Hash(prop(:data)).merge(collapsible_main: true)
8
14
  end
@@ -10,6 +16,20 @@ module Playbook
10
16
  def classname
11
17
  generate_classname("pb_collapsible_main_kit", padding, separator: " ")
12
18
  end
19
+
20
+ def icon_size
21
+ return "" if size.nil?
22
+
23
+ size_object = { lg: "fa-lg", xs: "fa-xs", sm: "fa-sm", "1x": "fa-1x", "2x": "fa-2x", "3x": "fa-3x", "4x": "fa-4x", "5x": "fa-5x", "6x": "fa-6x", "7x": "fa-7x", "8x": "fa-8x", "9x": "fa-9x", "10x": "fa-10x" }
24
+ size_object[size.to_sym]
25
+ end
26
+
27
+ def icon_color
28
+ return "" if color.nil?
29
+
30
+ color_object = { light: "#687887", lighter: "#C1CDD6", link: "#0056CF", success: "#00CA74", error: "#FF2229", default: "#242B42" }
31
+ color_object[color.to_sym]
32
+ end
13
33
  end
14
34
  end
15
35
  end
@@ -0,0 +1,60 @@
1
+ <%= pb_rails("collapsible", props: { name: "default-example", margin_bottom: "xs" }) do %>
2
+ <%= pb_rails("collapsible/collapsible_main", props: { padding: "md", name: "default-main", color: "default"}) do %>
3
+ <%= pb_rails("body", props: { text: "Default Section"}) %>
4
+ <% end %>
5
+ <%= pb_rails("collapsible/collapsible_content", props: { padding: "md" }) do %>
6
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec iaculis, risus a fringilla luctus, sapien eros sodales ex, quis molestie est nulla non turpis. Vestibulum aliquet at ipsum eget posuere. Morbi sed laoreet erat. Sed commodo posuere lectus, at porta nulla ornare a. Suspendisse quam est, sollicitudin ut enim sit amet, commodo placerat enim. Donec laoreet metus ac mauris pellentesque mattis. Pellentesque luctus vel mauris non aliquam. Mauris hendrerit mattis porttitor. Curabitur vehicula justo non ex consectetur commodo. Quisque posuere aliquet quam. Maecenas malesuada magna mauris, ac tempor metus euismod at.
7
+ <br><br>
8
+ Cras ornare fermentum magna mollis efficitur. Sed vitae nulla vel purus ultrices mollis. Maecenas id nulla id libero faucibus feugiat quis sit amet turpis. In commodo pellentesque risus at fringilla. Integer non interdum leo, non commodo ante. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut mi augue, dignissim at orci vel, egestas aliquam mi. Proin finibus aliquet tempor. Integer cursus, ex quis gravida rhoncus, nisi elit viverra ipsum, non efficitur est ex ac tortor. Praesent vitae odio massa.
9
+ <% end %>
10
+ <% end %>
11
+ <%= pb_rails("collapsible", props: { name: "default-example", margin_bottom: "xs" }) do %>
12
+ <%= pb_rails("collapsible/collapsible_main", props: { padding: "md", name: "default-main", color: "light"}) do %>
13
+ <%= pb_rails("body", props: { text: "Light Section"}) %>
14
+ <% end %>
15
+ <%= pb_rails("collapsible/collapsible_content", props: { padding: "md" }) do %>
16
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec iaculis, risus a fringilla luctus, sapien eros sodales ex, quis molestie est nulla non turpis. Vestibulum aliquet at ipsum eget posuere. Morbi sed laoreet erat. Sed commodo posuere lectus, at porta nulla ornare a. Suspendisse quam est, sollicitudin ut enim sit amet, commodo placerat enim. Donec laoreet metus ac mauris pellentesque mattis. Pellentesque luctus vel mauris non aliquam. Mauris hendrerit mattis porttitor. Curabitur vehicula justo non ex consectetur commodo. Quisque posuere aliquet quam. Maecenas malesuada magna mauris, ac tempor metus euismod at.
17
+ <br><br>
18
+ Cras ornare fermentum magna mollis efficitur. Sed vitae nulla vel purus ultrices mollis. Maecenas id nulla id libero faucibus feugiat quis sit amet turpis. In commodo pellentesque risus at fringilla. Integer non interdum leo, non commodo ante. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut mi augue, dignissim at orci vel, egestas aliquam mi. Proin finibus aliquet tempor. Integer cursus, ex quis gravida rhoncus, nisi elit viverra ipsum, non efficitur est ex ac tortor. Praesent vitae odio massa.
19
+ <% end %>
20
+ <% end %>
21
+ <%= pb_rails("collapsible", props: { name: "default-example", margin_bottom: "xs" }) do %>
22
+ <%= pb_rails("collapsible/collapsible_main", props: { padding: "md", name: "default-main", color: "lighter"}) do %>
23
+ <%= pb_rails("body", props: { text: "Lighter Section"}) %>
24
+ <% end %>
25
+ <%= pb_rails("collapsible/collapsible_content", props: { padding: "md" }) do %>
26
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec iaculis, risus a fringilla luctus, sapien eros sodales ex, quis molestie est nulla non turpis. Vestibulum aliquet at ipsum eget posuere. Morbi sed laoreet erat. Sed commodo posuere lectus, at porta nulla ornare a. Suspendisse quam est, sollicitudin ut enim sit amet, commodo placerat enim. Donec laoreet metus ac mauris pellentesque mattis. Pellentesque luctus vel mauris non aliquam. Mauris hendrerit mattis porttitor. Curabitur vehicula justo non ex consectetur commodo. Quisque posuere aliquet quam. Maecenas malesuada magna mauris, ac tempor metus euismod at.
27
+ <br><br>
28
+ Cras ornare fermentum magna mollis efficitur. Sed vitae nulla vel purus ultrices mollis. Maecenas id nulla id libero faucibus feugiat quis sit amet turpis. In commodo pellentesque risus at fringilla. Integer non interdum leo, non commodo ante. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut mi augue, dignissim at orci vel, egestas aliquam mi. Proin finibus aliquet tempor. Integer cursus, ex quis gravida rhoncus, nisi elit viverra ipsum, non efficitur est ex ac tortor. Praesent vitae odio massa.
29
+ <% end %>
30
+ <% end %>
31
+ <%= pb_rails("collapsible", props: { name: "default-example", margin_bottom: "xs" }) do %>
32
+ <%= pb_rails("collapsible/collapsible_main", props: { padding: "md", name: "default-main", color: "link"}) do %>
33
+ <%= pb_rails("body", props: { text: "Link Section"}) %>
34
+ <% end %>
35
+ <%= pb_rails("collapsible/collapsible_content", props: { padding: "md" }) do %>
36
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec iaculis, risus a fringilla luctus, sapien eros sodales ex, quis molestie est nulla non turpis. Vestibulum aliquet at ipsum eget posuere. Morbi sed laoreet erat. Sed commodo posuere lectus, at porta nulla ornare a. Suspendisse quam est, sollicitudin ut enim sit amet, commodo placerat enim. Donec laoreet metus ac mauris pellentesque mattis. Pellentesque luctus vel mauris non aliquam. Mauris hendrerit mattis porttitor. Curabitur vehicula justo non ex consectetur commodo. Quisque posuere aliquet quam. Maecenas malesuada magna mauris, ac tempor metus euismod at.
37
+ <br><br>
38
+ Cras ornare fermentum magna mollis efficitur. Sed vitae nulla vel purus ultrices mollis. Maecenas id nulla id libero faucibus feugiat quis sit amet turpis. In commodo pellentesque risus at fringilla. Integer non interdum leo, non commodo ante. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut mi augue, dignissim at orci vel, egestas aliquam mi. Proin finibus aliquet tempor. Integer cursus, ex quis gravida rhoncus, nisi elit viverra ipsum, non efficitur est ex ac tortor. Praesent vitae odio massa.
39
+ <% end %>
40
+ <% end %>
41
+ <%= pb_rails("collapsible", props: { name: "default-example", margin_bottom: "xs" }) do %>
42
+ <%= pb_rails("collapsible/collapsible_main", props: { padding: "md", name: "default-main", color: "error"}) do %>
43
+ <%= pb_rails("body", props: { text: "Error Section"}) %>
44
+ <% end %>
45
+ <%= pb_rails("collapsible/collapsible_content", props: { padding: "md" }) do %>
46
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec iaculis, risus a fringilla luctus, sapien eros sodales ex, quis molestie est nulla non turpis. Vestibulum aliquet at ipsum eget posuere. Morbi sed laoreet erat. Sed commodo posuere lectus, at porta nulla ornare a. Suspendisse quam est, sollicitudin ut enim sit amet, commodo placerat enim. Donec laoreet metus ac mauris pellentesque mattis. Pellentesque luctus vel mauris non aliquam. Mauris hendrerit mattis porttitor. Curabitur vehicula justo non ex consectetur commodo. Quisque posuere aliquet quam. Maecenas malesuada magna mauris, ac tempor metus euismod at.
47
+ <br><br>
48
+ Cras ornare fermentum magna mollis efficitur. Sed vitae nulla vel purus ultrices mollis. Maecenas id nulla id libero faucibus feugiat quis sit amet turpis. In commodo pellentesque risus at fringilla. Integer non interdum leo, non commodo ante. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut mi augue, dignissim at orci vel, egestas aliquam mi. Proin finibus aliquet tempor. Integer cursus, ex quis gravida rhoncus, nisi elit viverra ipsum, non efficitur est ex ac tortor. Praesent vitae odio massa.
49
+ <% end %>
50
+ <% end %>
51
+ <%= pb_rails("collapsible", props: { name: "default-example", margin_bottom: "xs" }) do %>
52
+ <%= pb_rails("collapsible/collapsible_main", props: { padding: "md", name: "default-main", color: "success"}) do %>
53
+ <%= pb_rails("body", props: { text: "Success Section"}) %>
54
+ <% end %>
55
+ <%= pb_rails("collapsible/collapsible_content", props: { padding: "md" }) do %>
56
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec iaculis, risus a fringilla luctus, sapien eros sodales ex, quis molestie est nulla non turpis. Vestibulum aliquet at ipsum eget posuere. Morbi sed laoreet erat. Sed commodo posuere lectus, at porta nulla ornare a. Suspendisse quam est, sollicitudin ut enim sit amet, commodo placerat enim. Donec laoreet metus ac mauris pellentesque mattis. Pellentesque luctus vel mauris non aliquam. Mauris hendrerit mattis porttitor. Curabitur vehicula justo non ex consectetur commodo. Quisque posuere aliquet quam. Maecenas malesuada magna mauris, ac tempor metus euismod at.
57
+ <br><br>
58
+ Cras ornare fermentum magna mollis efficitur. Sed vitae nulla vel purus ultrices mollis. Maecenas id nulla id libero faucibus feugiat quis sit amet turpis. In commodo pellentesque risus at fringilla. Integer non interdum leo, non commodo ante. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut mi augue, dignissim at orci vel, egestas aliquam mi. Proin finibus aliquet tempor. Integer cursus, ex quis gravida rhoncus, nisi elit viverra ipsum, non efficitur est ex ac tortor. Praesent vitae odio massa.
59
+ <% end %>
60
+ <% end %>
@@ -0,0 +1,98 @@
1
+ import React from 'react'
2
+ import { Collapsible } from '../..'
3
+
4
+ const CollapsibleColor = () => (
5
+ <div>
6
+ <Collapsible
7
+ iconColor='default'
8
+ marginBottom="xs"
9
+ >
10
+ <Collapsible.Main>
11
+ <div>{'Default Section'}</div>
12
+ </Collapsible.Main>
13
+ <Collapsible.Content>
14
+ <div>
15
+ {
16
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. In vel erat sed purus hendrerit viverra. Duis et vestibulum metus. Sed consequat ut ante non vehicula. Etiam nunc massa, pharetra vel quam id, posuere rhoncus quam. Quisque imperdiet arcu enim, nec aliquet justo auctor eget. Curabitur in metus nec nunc rhoncus faucibus vitae ac elit. Nulla facilisi. Vestibulum quis pretium nulla. Nulla ut accumsan velit. Duis varius urna sed sem tempor, sit amet fermentum nibh auctor. Praesent lorem arcu, egestas non ante quis, placerat pellentesque lectus.Vestibulum lacinia ipsum quis venenatis tristique. Vivamus suscipit, libero eu fringilla egestas, orci urna commodo arcu, vel gravida turpis ipsum molestie nibh. Donec cursus eu ante sagittis ultrices. Phasellus id sagittis risus. Mauris dapibus neque faucibus, tempor ligula vel, cursus ante. Donec faucibus gravida porta. Nullam egestas est quis aliquam feugiat. Sed eget metus diam. Cras eget placerat libero.'
17
+ }
18
+ </div>
19
+ </Collapsible.Content>
20
+ </Collapsible>
21
+ <Collapsible
22
+ iconColor='light'
23
+ marginBottom="xs"
24
+ >
25
+ <Collapsible.Main>
26
+ <div>{'Light Section'}</div>
27
+ </Collapsible.Main>
28
+ <Collapsible.Content>
29
+ <div>
30
+ {
31
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. In vel erat sed purus hendrerit viverra. Duis et vestibulum metus. Sed consequat ut ante non vehicula. Etiam nunc massa, pharetra vel quam id, posuere rhoncus quam. Quisque imperdiet arcu enim, nec aliquet justo auctor eget. Curabitur in metus nec nunc rhoncus faucibus vitae ac elit. Nulla facilisi. Vestibulum quis pretium nulla. Nulla ut accumsan velit. Duis varius urna sed sem tempor, sit amet fermentum nibh auctor. Praesent lorem arcu, egestas non ante quis, placerat pellentesque lectus.Vestibulum lacinia ipsum quis venenatis tristique. Vivamus suscipit, libero eu fringilla egestas, orci urna commodo arcu, vel gravida turpis ipsum molestie nibh. Donec cursus eu ante sagittis ultrices. Phasellus id sagittis risus. Mauris dapibus neque faucibus, tempor ligula vel, cursus ante. Donec faucibus gravida porta. Nullam egestas est quis aliquam feugiat. Sed eget metus diam. Cras eget placerat libero.'
32
+ }
33
+ </div>
34
+ </Collapsible.Content>
35
+ </Collapsible>
36
+ <Collapsible
37
+ iconColor='lighter'
38
+ marginBottom="xs"
39
+ >
40
+ <Collapsible.Main>
41
+ <div>{'Lighter Section'}</div>
42
+ </Collapsible.Main>
43
+ <Collapsible.Content>
44
+ <div>
45
+ {
46
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. In vel erat sed purus hendrerit viverra. Duis et vestibulum metus. Sed consequat ut ante non vehicula. Etiam nunc massa, pharetra vel quam id, posuere rhoncus quam. Quisque imperdiet arcu enim, nec aliquet justo auctor eget. Curabitur in metus nec nunc rhoncus faucibus vitae ac elit. Nulla facilisi. Vestibulum quis pretium nulla. Nulla ut accumsan velit. Duis varius urna sed sem tempor, sit amet fermentum nibh auctor. Praesent lorem arcu, egestas non ante quis, placerat pellentesque lectus.Vestibulum lacinia ipsum quis venenatis tristique. Vivamus suscipit, libero eu fringilla egestas, orci urna commodo arcu, vel gravida turpis ipsum molestie nibh. Donec cursus eu ante sagittis ultrices. Phasellus id sagittis risus. Mauris dapibus neque faucibus, tempor ligula vel, cursus ante. Donec faucibus gravida porta. Nullam egestas est quis aliquam feugiat. Sed eget metus diam. Cras eget placerat libero.'
47
+ }
48
+ </div>
49
+ </Collapsible.Content>
50
+ </Collapsible>
51
+ <Collapsible
52
+ iconColor='link'
53
+ marginBottom="xs"
54
+ >
55
+ <Collapsible.Main>
56
+ <div>{'Link Section'}</div>
57
+ </Collapsible.Main>
58
+ <Collapsible.Content>
59
+ <div>
60
+ {
61
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. In vel erat sed purus hendrerit viverra. Duis et vestibulum metus. Sed consequat ut ante non vehicula. Etiam nunc massa, pharetra vel quam id, posuere rhoncus quam. Quisque imperdiet arcu enim, nec aliquet justo auctor eget. Curabitur in metus nec nunc rhoncus faucibus vitae ac elit. Nulla facilisi. Vestibulum quis pretium nulla. Nulla ut accumsan velit. Duis varius urna sed sem tempor, sit amet fermentum nibh auctor. Praesent lorem arcu, egestas non ante quis, placerat pellentesque lectus.Vestibulum lacinia ipsum quis venenatis tristique. Vivamus suscipit, libero eu fringilla egestas, orci urna commodo arcu, vel gravida turpis ipsum molestie nibh. Donec cursus eu ante sagittis ultrices. Phasellus id sagittis risus. Mauris dapibus neque faucibus, tempor ligula vel, cursus ante. Donec faucibus gravida porta. Nullam egestas est quis aliquam feugiat. Sed eget metus diam. Cras eget placerat libero.'
62
+ }
63
+ </div>
64
+ </Collapsible.Content>
65
+ </Collapsible>
66
+ <Collapsible
67
+ iconColor='error'
68
+ marginBottom="xs"
69
+ >
70
+ <Collapsible.Main>
71
+ <div>{'Error Section'}</div>
72
+ </Collapsible.Main>
73
+ <Collapsible.Content>
74
+ <div>
75
+ {
76
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. In vel erat sed purus hendrerit viverra. Duis et vestibulum metus. Sed consequat ut ante non vehicula. Etiam nunc massa, pharetra vel quam id, posuere rhoncus quam. Quisque imperdiet arcu enim, nec aliquet justo auctor eget. Curabitur in metus nec nunc rhoncus faucibus vitae ac elit. Nulla facilisi. Vestibulum quis pretium nulla. Nulla ut accumsan velit. Duis varius urna sed sem tempor, sit amet fermentum nibh auctor. Praesent lorem arcu, egestas non ante quis, placerat pellentesque lectus.Vestibulum lacinia ipsum quis venenatis tristique. Vivamus suscipit, libero eu fringilla egestas, orci urna commodo arcu, vel gravida turpis ipsum molestie nibh. Donec cursus eu ante sagittis ultrices. Phasellus id sagittis risus. Mauris dapibus neque faucibus, tempor ligula vel, cursus ante. Donec faucibus gravida porta. Nullam egestas est quis aliquam feugiat. Sed eget metus diam. Cras eget placerat libero.'
77
+ }
78
+ </div>
79
+ </Collapsible.Content>
80
+ </Collapsible>
81
+ <Collapsible
82
+ iconColor='success'
83
+ >
84
+ <Collapsible.Main>
85
+ <div>{'Success Section'}</div>
86
+ </Collapsible.Main>
87
+ <Collapsible.Content>
88
+ <div>
89
+ {
90
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. In vel erat sed purus hendrerit viverra. Duis et vestibulum metus. Sed consequat ut ante non vehicula. Etiam nunc massa, pharetra vel quam id, posuere rhoncus quam. Quisque imperdiet arcu enim, nec aliquet justo auctor eget. Curabitur in metus nec nunc rhoncus faucibus vitae ac elit. Nulla facilisi. Vestibulum quis pretium nulla. Nulla ut accumsan velit. Duis varius urna sed sem tempor, sit amet fermentum nibh auctor. Praesent lorem arcu, egestas non ante quis, placerat pellentesque lectus.Vestibulum lacinia ipsum quis venenatis tristique. Vivamus suscipit, libero eu fringilla egestas, orci urna commodo arcu, vel gravida turpis ipsum molestie nibh. Donec cursus eu ante sagittis ultrices. Phasellus id sagittis risus. Mauris dapibus neque faucibus, tempor ligula vel, cursus ante. Donec faucibus gravida porta. Nullam egestas est quis aliquam feugiat. Sed eget metus diam. Cras eget placerat libero.'
91
+ }
92
+ </div>
93
+ </Collapsible.Content>
94
+ </Collapsible>
95
+ </div>
96
+ )
97
+
98
+ export default CollapsibleColor
@@ -0,0 +1,4 @@
1
+ ##### Prop
2
+ This kit uses `default` color by default, and can be replaced with colors below:
3
+
4
+ * `light` `lighter` `success` `error` `link`
@@ -1,5 +1,5 @@
1
1
  <%= pb_rails("collapsible", props: { name: "default-example" }) do %>
2
- <%= pb_rails("collapsible/collapsible_main", props: { padding: "md", name: "default-main" }) do %>
2
+ <%= pb_rails("collapsible/collapsible_main", props: { padding: "md", name: "default-main"}) do %>
3
3
  <%= pb_rails("body", props: { text: "Main Section"}) %>
4
4
  <% end %>
5
5
  <%= pb_rails("collapsible/collapsible_content", props: { padding: "md" }) do %>
@@ -0,0 +1,40 @@
1
+ <%= pb_rails("collapsible", props: { name: "default-example", margin_bottom: "xs" }) do %>
2
+ <%= pb_rails("collapsible/collapsible_main", props: { padding: "md", name: "default-main", size: "xs" }) do %>
3
+ <%= pb_rails("body", props: { text: "Extra Small Section"}) %>
4
+ <% end %>
5
+ <%= pb_rails("collapsible/collapsible_content", props: { padding: "md" }) do %>
6
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec iaculis, risus a fringilla luctus, sapien eros sodales ex, quis molestie est nulla non turpis. Vestibulum aliquet at ipsum eget posuere. Morbi sed laoreet erat. Sed commodo posuere lectus, at porta nulla ornare a. Suspendisse quam est, sollicitudin ut enim sit amet, commodo placerat enim. Donec laoreet metus ac mauris pellentesque mattis. Pellentesque luctus vel mauris non aliquam. Mauris hendrerit mattis porttitor. Curabitur vehicula justo non ex consectetur commodo. Quisque posuere aliquet quam. Maecenas malesuada magna mauris, ac tempor metus euismod at.
7
+ <br><br>
8
+ Cras ornare fermentum magna mollis efficitur. Sed vitae nulla vel purus ultrices mollis. Maecenas id nulla id libero faucibus feugiat quis sit amet turpis. In commodo pellentesque risus at fringilla. Integer non interdum leo, non commodo ante. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut mi augue, dignissim at orci vel, egestas aliquam mi. Proin finibus aliquet tempor. Integer cursus, ex quis gravida rhoncus, nisi elit viverra ipsum, non efficitur est ex ac tortor. Praesent vitae odio massa.
9
+ <% end %>
10
+ <% end %>
11
+ <%= pb_rails("collapsible", props: { name: "default-example", margin_bottom: "xs" }) do %>
12
+ <%= pb_rails("collapsible/collapsible_main", props: { padding: "md", name: "default-main", size: "sm" }) do %>
13
+ <%= pb_rails("body", props: { text: "Small Section"}) %>
14
+ <% end %>
15
+ <%= pb_rails("collapsible/collapsible_content", props: { padding: "md" }) do %>
16
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec iaculis, risus a fringilla luctus, sapien eros sodales ex, quis molestie est nulla non turpis. Vestibulum aliquet at ipsum eget posuere. Morbi sed laoreet erat. Sed commodo posuere lectus, at porta nulla ornare a. Suspendisse quam est, sollicitudin ut enim sit amet, commodo placerat enim. Donec laoreet metus ac mauris pellentesque mattis. Pellentesque luctus vel mauris non aliquam. Mauris hendrerit mattis porttitor. Curabitur vehicula justo non ex consectetur commodo. Quisque posuere aliquet quam. Maecenas malesuada magna mauris, ac tempor metus euismod at.
17
+ <br><br>
18
+ Cras ornare fermentum magna mollis efficitur. Sed vitae nulla vel purus ultrices mollis. Maecenas id nulla id libero faucibus feugiat quis sit amet turpis. In commodo pellentesque risus at fringilla. Integer non interdum leo, non commodo ante. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut mi augue, dignissim at orci vel, egestas aliquam mi. Proin finibus aliquet tempor. Integer cursus, ex quis gravida rhoncus, nisi elit viverra ipsum, non efficitur est ex ac tortor. Praesent vitae odio massa.
19
+ <% end %>
20
+ <% end %>
21
+ <%= pb_rails("collapsible", props: { name: "default-example", margin_bottom: "xs" }) do %>
22
+ <%= pb_rails("collapsible/collapsible_main", props: { padding: "md", name: "default-main" }) do %>
23
+ <%= pb_rails("body", props: { text: "Medium Section"}) %>
24
+ <% end %>
25
+ <%= pb_rails("collapsible/collapsible_content", props: { padding: "md" }) do %>
26
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec iaculis, risus a fringilla luctus, sapien eros sodales ex, quis molestie est nulla non turpis. Vestibulum aliquet at ipsum eget posuere. Morbi sed laoreet erat. Sed commodo posuere lectus, at porta nulla ornare a. Suspendisse quam est, sollicitudin ut enim sit amet, commodo placerat enim. Donec laoreet metus ac mauris pellentesque mattis. Pellentesque luctus vel mauris non aliquam. Mauris hendrerit mattis porttitor. Curabitur vehicula justo non ex consectetur commodo. Quisque posuere aliquet quam. Maecenas malesuada magna mauris, ac tempor metus euismod at.
27
+ <br><br>
28
+ Cras ornare fermentum magna mollis efficitur. Sed vitae nulla vel purus ultrices mollis. Maecenas id nulla id libero faucibus feugiat quis sit amet turpis. In commodo pellentesque risus at fringilla. Integer non interdum leo, non commodo ante. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut mi augue, dignissim at orci vel, egestas aliquam mi. Proin finibus aliquet tempor. Integer cursus, ex quis gravida rhoncus, nisi elit viverra ipsum, non efficitur est ex ac tortor. Praesent vitae odio massa.
29
+ <% end %>
30
+ <% end %>
31
+ <%= pb_rails("collapsible", props: { name: "default-example", margin_bottom: "xs" }) do %>
32
+ <%= pb_rails("collapsible/collapsible_main", props: { padding: "md", name: "default-main", size: "lg" }) do %>
33
+ <%= pb_rails("body", props: { text: "Large Section"}) %>
34
+ <% end %>
35
+ <%= pb_rails("collapsible/collapsible_content", props: { padding: "md" }) do %>
36
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec iaculis, risus a fringilla luctus, sapien eros sodales ex, quis molestie est nulla non turpis. Vestibulum aliquet at ipsum eget posuere. Morbi sed laoreet erat. Sed commodo posuere lectus, at porta nulla ornare a. Suspendisse quam est, sollicitudin ut enim sit amet, commodo placerat enim. Donec laoreet metus ac mauris pellentesque mattis. Pellentesque luctus vel mauris non aliquam. Mauris hendrerit mattis porttitor. Curabitur vehicula justo non ex consectetur commodo. Quisque posuere aliquet quam. Maecenas malesuada magna mauris, ac tempor metus euismod at.
37
+ <br><br>
38
+ Cras ornare fermentum magna mollis efficitur. Sed vitae nulla vel purus ultrices mollis. Maecenas id nulla id libero faucibus feugiat quis sit amet turpis. In commodo pellentesque risus at fringilla. Integer non interdum leo, non commodo ante. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut mi augue, dignissim at orci vel, egestas aliquam mi. Proin finibus aliquet tempor. Integer cursus, ex quis gravida rhoncus, nisi elit viverra ipsum, non efficitur est ex ac tortor. Praesent vitae odio massa.
39
+ <% end %>
40
+ <% end %>