playbook_ui 7.3.0.pre.alpha12 → 7.4.0.pre.test2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/pb_kits/playbook/_playbook.scss +3 -1
- data/app/pb_kits/playbook/data/menu.yml +2 -2
- data/app/pb_kits/playbook/index.js +2 -1
- data/app/pb_kits/playbook/pb_background/_background.html.erb +14 -0
- data/app/pb_kits/playbook/pb_background/_background.jsx +63 -0
- data/app/pb_kits/playbook/pb_background/_background.scss +35 -0
- data/app/pb_kits/playbook/pb_background/background.rb +35 -0
- data/app/pb_kits/playbook/pb_background/docs/_background_dark.html.erb +3 -0
- data/app/pb_kits/playbook/pb_background/docs/_background_dark.jsx +13 -0
- data/app/pb_kits/playbook/pb_background/docs/_background_gradient.html.erb +3 -0
- data/app/pb_kits/playbook/pb_background/docs/_background_gradient.jsx +13 -0
- data/app/pb_kits/playbook/pb_background/docs/_background_image.html.erb +13 -0
- data/app/pb_kits/playbook/pb_background/docs/_background_image.jsx +30 -0
- data/app/pb_kits/playbook/pb_background/docs/_background_light.html.erb +3 -0
- data/app/pb_kits/playbook/pb_background/docs/_background_light.jsx +13 -0
- data/app/pb_kits/playbook/pb_background/docs/_background_white.html.erb +3 -0
- data/app/pb_kits/playbook/pb_background/docs/_background_white.jsx +14 -0
- data/app/pb_kits/playbook/pb_background/docs/_description.md +1 -0
- data/app/pb_kits/playbook/pb_background/docs/example.yml +15 -0
- data/app/pb_kits/playbook/pb_background/docs/index.js +6 -0
- data/app/pb_kits/playbook/pb_date/_date.html.erb +64 -8
- data/app/pb_kits/playbook/pb_date/_date.jsx +115 -66
- data/app/pb_kits/playbook/pb_date/_date.scss +30 -0
- data/app/pb_kits/playbook/pb_date/date.rb +20 -9
- data/app/pb_kits/playbook/pb_date/docs/_date_alignment.html.erb +24 -0
- data/app/pb_kits/playbook/pb_date/docs/_date_alignment.jsx +35 -0
- data/app/pb_kits/playbook/pb_date/docs/_date_default.html.erb +21 -6
- data/app/pb_kits/playbook/pb_date/docs/_date_default.jsx +43 -12
- data/app/pb_kits/playbook/pb_date/docs/_date_variants.html.erb +27 -0
- data/app/pb_kits/playbook/pb_date/docs/_date_variants.jsx +43 -0
- data/app/pb_kits/playbook/pb_date/docs/example.yml +4 -0
- data/app/pb_kits/playbook/pb_date/docs/index.js +2 -0
- data/app/pb_kits/playbook/pb_date_picker/_date_picker.html.erb +19 -14
- data/app/pb_kits/playbook/pb_date_time/_date_time.html.erb +31 -0
- data/app/pb_kits/playbook/pb_date_time/_date_time.jsx +73 -0
- data/app/pb_kits/playbook/pb_date_time/_date_time.scss +26 -0
- data/app/pb_kits/playbook/pb_date_time/date_time.rb +29 -0
- data/app/pb_kits/playbook/pb_date_time/docs/_date_time_align.html.erb +17 -0
- data/app/pb_kits/playbook/pb_date_time/docs/_date_time_align.jsx +35 -0
- data/app/pb_kits/playbook/pb_date_time/docs/_date_time_default.html.erb +20 -0
- data/app/pb_kits/playbook/pb_date_time/docs/_date_time_default.jsx +38 -0
- data/app/pb_kits/playbook/pb_date_time/docs/_date_time_size.html.erb +26 -0
- data/app/pb_kits/playbook/pb_date_time/docs/_date_time_size.jsx +75 -0
- data/app/pb_kits/playbook/pb_date_time/docs/_description.md +1 -0
- data/app/pb_kits/playbook/pb_date_time/docs/example.yml +11 -0
- data/app/pb_kits/playbook/pb_date_time/docs/index.js +3 -0
- data/app/pb_kits/playbook/pb_flex/_flex.jsx +1 -1
- data/app/pb_kits/playbook/pb_flex/_flex.scss +4 -0
- data/app/pb_kits/playbook/pb_flex/flex.rb +1 -1
- data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +52 -1
- data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +1 -1
- data/app/pb_kits/playbook/pb_form/docs/_form_simple_form.html.erb +1 -1
- data/app/pb_kits/playbook/pb_form/docs/_form_simple_form_validate.html.erb +1 -1
- data/app/pb_kits/playbook/pb_form/form_builder/date_picker_field.rb +19 -1
- data/app/pb_kits/playbook/pb_home_address_street/home_address_street.rb +1 -1
- data/app/pb_kits/playbook/pb_progress_step/progress_step.rb +2 -2
- data/app/pb_kits/playbook/pb_tooltip/_tooltip.scss +46 -19
- data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_default.html.erb +46 -10
- data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_white.html.erb +4 -4
- data/app/pb_kits/playbook/pb_tooltip/tooltip.rb +3 -2
- data/app/pb_kits/playbook/pb_typeahead/_typeahead.jsx +2 -0
- data/app/pb_kits/playbook/pb_typeahead/components/ClearIndicator.jsx +19 -0
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.html.erb +7 -1
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.md +10 -1
- data/app/pb_kits/playbook/pb_typeahead/typeahead.rb +2 -0
- data/app/pb_kits/playbook/vendor.js +0 -3
- data/lib/playbook/version.rb +2 -1
- metadata +42 -22
- data/app/pb_kits/playbook/pb_collapsible/_collapsible.html.erb +0 -9
- data/app/pb_kits/playbook/pb_collapsible/_collapsible.jsx +0 -134
- data/app/pb_kits/playbook/pb_collapsible/_collapsible.scss +0 -17
- data/app/pb_kits/playbook/pb_collapsible/child_kits/_collapsible_content.html.erb +0 -7
- data/app/pb_kits/playbook/pb_collapsible/child_kits/_collapsible_main.html.erb +0 -16
- data/app/pb_kits/playbook/pb_collapsible/collapsible.rb +0 -15
- data/app/pb_kits/playbook/pb_collapsible/collapsible_content.rb +0 -21
- data/app/pb_kits/playbook/pb_collapsible/collapsible_main.rb +0 -24
- data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_dark.html.erb +0 -10
- data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_dark.jsx +0 -17
- data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_default.html.erb +0 -10
- data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_default.jsx +0 -17
- data/app/pb_kits/playbook/pb_collapsible/docs/example.yml +0 -9
- data/app/pb_kits/playbook/pb_collapsible/docs/index.js +0 -2
- data/app/pb_kits/playbook/pb_collapsible/index.js +0 -82
- data/app/pb_kits/playbook/pb_collapsible/useToggler.js +0 -10
@@ -1,8 +1,17 @@
|
|
1
1
|
Typeahead kit is data-driven. The minimum default fields are `label` and `value`.
|
2
2
|
|
3
|
-
`{ label:
|
3
|
+
This is an example of an option: `{ label: 'Windows', value: '#FFA500' }`
|
4
|
+
|
5
|
+
#### Rails: Default Options
|
6
|
+
|
7
|
+
You can also pass `default_options` which will populate the initial pill selections:
|
8
|
+
|
9
|
+
`default_options: [{ label: 'Windows', value: '#FFA500' }]`
|
4
10
|
|
5
11
|
#### Rails: Subscribing to JS Events
|
6
12
|
`pb-typeahead-kit-result-option-select` event to perform custom work when an option is clicked.
|
7
13
|
`pb-typeahead-kit-result-option-remove` event to perform custom work when a pill is clicked.
|
8
14
|
`pb-typeahead-kit-result-option-clear` event to perform custom work when all pills are removed upon clicking the X.
|
15
|
+
|
16
|
+
#### Rails: Publishing JS Events
|
17
|
+
`pb-typeahead-kit:clear` event to clear all options.
|
@@ -7,6 +7,7 @@ module Playbook
|
|
7
7
|
|
8
8
|
prop :async, type: Playbook::Props::Boolean,
|
9
9
|
default: false
|
10
|
+
prop :default_options, type: Playbook::Props::HashArray, default: []
|
10
11
|
prop :label
|
11
12
|
prop :load_options
|
12
13
|
prop :name
|
@@ -35,6 +36,7 @@ module Playbook
|
|
35
36
|
|
36
37
|
def typeahead_with_pills_options
|
37
38
|
base_options = {
|
39
|
+
defaultValue: default_options,
|
38
40
|
isMulti: true,
|
39
41
|
label: label,
|
40
42
|
options: options,
|
data/lib/playbook/version.rb
CHANGED
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: playbook_ui
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 7.
|
4
|
+
version: 7.4.0.pre.test2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Power UX
|
8
8
|
- Power Devs
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2020-10-
|
12
|
+
date: 2020-10-28 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: actionpack
|
@@ -445,6 +445,23 @@ files:
|
|
445
445
|
- app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_tooltip.html.erb
|
446
446
|
- app/pb_kits/playbook/pb_avatar_action_button/docs/example.yml
|
447
447
|
- app/pb_kits/playbook/pb_avatar_action_button/docs/index.js
|
448
|
+
- app/pb_kits/playbook/pb_background/_background.html.erb
|
449
|
+
- app/pb_kits/playbook/pb_background/_background.jsx
|
450
|
+
- app/pb_kits/playbook/pb_background/_background.scss
|
451
|
+
- app/pb_kits/playbook/pb_background/background.rb
|
452
|
+
- app/pb_kits/playbook/pb_background/docs/_background_dark.html.erb
|
453
|
+
- app/pb_kits/playbook/pb_background/docs/_background_dark.jsx
|
454
|
+
- app/pb_kits/playbook/pb_background/docs/_background_gradient.html.erb
|
455
|
+
- app/pb_kits/playbook/pb_background/docs/_background_gradient.jsx
|
456
|
+
- app/pb_kits/playbook/pb_background/docs/_background_image.html.erb
|
457
|
+
- app/pb_kits/playbook/pb_background/docs/_background_image.jsx
|
458
|
+
- app/pb_kits/playbook/pb_background/docs/_background_light.html.erb
|
459
|
+
- app/pb_kits/playbook/pb_background/docs/_background_light.jsx
|
460
|
+
- app/pb_kits/playbook/pb_background/docs/_background_white.html.erb
|
461
|
+
- app/pb_kits/playbook/pb_background/docs/_background_white.jsx
|
462
|
+
- app/pb_kits/playbook/pb_background/docs/_description.md
|
463
|
+
- app/pb_kits/playbook/pb_background/docs/example.yml
|
464
|
+
- app/pb_kits/playbook/pb_background/docs/index.js
|
448
465
|
- app/pb_kits/playbook/pb_badge/_badge.html.erb
|
449
466
|
- app/pb_kits/playbook/pb_badge/_badge.jsx
|
450
467
|
- app/pb_kits/playbook/pb_badge/_badge.scss
|
@@ -625,22 +642,6 @@ files:
|
|
625
642
|
- app/pb_kits/playbook/pb_circle_icon_button/docs/_footer.md
|
626
643
|
- app/pb_kits/playbook/pb_circle_icon_button/docs/example.yml
|
627
644
|
- app/pb_kits/playbook/pb_circle_icon_button/docs/index.js
|
628
|
-
- app/pb_kits/playbook/pb_collapsible/_collapsible.html.erb
|
629
|
-
- app/pb_kits/playbook/pb_collapsible/_collapsible.jsx
|
630
|
-
- app/pb_kits/playbook/pb_collapsible/_collapsible.scss
|
631
|
-
- app/pb_kits/playbook/pb_collapsible/child_kits/_collapsible_content.html.erb
|
632
|
-
- app/pb_kits/playbook/pb_collapsible/child_kits/_collapsible_main.html.erb
|
633
|
-
- app/pb_kits/playbook/pb_collapsible/collapsible.rb
|
634
|
-
- app/pb_kits/playbook/pb_collapsible/collapsible_content.rb
|
635
|
-
- app/pb_kits/playbook/pb_collapsible/collapsible_main.rb
|
636
|
-
- app/pb_kits/playbook/pb_collapsible/docs/_collapsible_dark.html.erb
|
637
|
-
- app/pb_kits/playbook/pb_collapsible/docs/_collapsible_dark.jsx
|
638
|
-
- app/pb_kits/playbook/pb_collapsible/docs/_collapsible_default.html.erb
|
639
|
-
- app/pb_kits/playbook/pb_collapsible/docs/_collapsible_default.jsx
|
640
|
-
- app/pb_kits/playbook/pb_collapsible/docs/example.yml
|
641
|
-
- app/pb_kits/playbook/pb_collapsible/docs/index.js
|
642
|
-
- app/pb_kits/playbook/pb_collapsible/index.js
|
643
|
-
- app/pb_kits/playbook/pb_collapsible/useToggler.js
|
644
645
|
- app/pb_kits/playbook/pb_contact/_contact.html.erb
|
645
646
|
- app/pb_kits/playbook/pb_contact/_contact.jsx
|
646
647
|
- app/pb_kits/playbook/pb_contact/_contact.scss
|
@@ -684,10 +685,14 @@ files:
|
|
684
685
|
- app/pb_kits/playbook/pb_date/_date.jsx
|
685
686
|
- app/pb_kits/playbook/pb_date/_date.scss
|
686
687
|
- app/pb_kits/playbook/pb_date/date.rb
|
688
|
+
- app/pb_kits/playbook/pb_date/docs/_date_alignment.html.erb
|
689
|
+
- app/pb_kits/playbook/pb_date/docs/_date_alignment.jsx
|
687
690
|
- app/pb_kits/playbook/pb_date/docs/_date_default.html.erb
|
688
691
|
- app/pb_kits/playbook/pb_date/docs/_date_default.jsx
|
689
692
|
- app/pb_kits/playbook/pb_date/docs/_date_timezone.html.erb
|
690
693
|
- app/pb_kits/playbook/pb_date/docs/_date_timezone.md
|
694
|
+
- app/pb_kits/playbook/pb_date/docs/_date_variants.html.erb
|
695
|
+
- app/pb_kits/playbook/pb_date/docs/_date_variants.jsx
|
691
696
|
- app/pb_kits/playbook/pb_date/docs/_description.md
|
692
697
|
- app/pb_kits/playbook/pb_date/docs/example.yml
|
693
698
|
- app/pb_kits/playbook/pb_date/docs/index.js
|
@@ -775,6 +780,19 @@ files:
|
|
775
780
|
- app/pb_kits/playbook/pb_date_stacked/docs/_footer.md
|
776
781
|
- app/pb_kits/playbook/pb_date_stacked/docs/example.yml
|
777
782
|
- app/pb_kits/playbook/pb_date_stacked/docs/index.js
|
783
|
+
- app/pb_kits/playbook/pb_date_time/_date_time.html.erb
|
784
|
+
- app/pb_kits/playbook/pb_date_time/_date_time.jsx
|
785
|
+
- app/pb_kits/playbook/pb_date_time/_date_time.scss
|
786
|
+
- app/pb_kits/playbook/pb_date_time/date_time.rb
|
787
|
+
- app/pb_kits/playbook/pb_date_time/docs/_date_time_align.html.erb
|
788
|
+
- app/pb_kits/playbook/pb_date_time/docs/_date_time_align.jsx
|
789
|
+
- app/pb_kits/playbook/pb_date_time/docs/_date_time_default.html.erb
|
790
|
+
- app/pb_kits/playbook/pb_date_time/docs/_date_time_default.jsx
|
791
|
+
- app/pb_kits/playbook/pb_date_time/docs/_date_time_size.html.erb
|
792
|
+
- app/pb_kits/playbook/pb_date_time/docs/_date_time_size.jsx
|
793
|
+
- app/pb_kits/playbook/pb_date_time/docs/_description.md
|
794
|
+
- app/pb_kits/playbook/pb_date_time/docs/example.yml
|
795
|
+
- app/pb_kits/playbook/pb_date_time/docs/index.js
|
778
796
|
- app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.html.erb
|
779
797
|
- app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.jsx
|
780
798
|
- app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.scss
|
@@ -1752,6 +1770,7 @@ files:
|
|
1752
1770
|
- app/pb_kits/playbook/pb_typeahead/_typeahead.html.erb
|
1753
1771
|
- app/pb_kits/playbook/pb_typeahead/_typeahead.jsx
|
1754
1772
|
- app/pb_kits/playbook/pb_typeahead/_typeahead.scss
|
1773
|
+
- app/pb_kits/playbook/pb_typeahead/components/ClearIndicator.jsx
|
1755
1774
|
- app/pb_kits/playbook/pb_typeahead/components/Control.jsx
|
1756
1775
|
- app/pb_kits/playbook/pb_typeahead/components/IndicatorsContainer.jsx
|
1757
1776
|
- app/pb_kits/playbook/pb_typeahead/components/MenuList.jsx
|
@@ -1871,7 +1890,7 @@ homepage: http://playbook.powerapp.cloud
|
|
1871
1890
|
licenses:
|
1872
1891
|
- MIT
|
1873
1892
|
metadata: {}
|
1874
|
-
post_install_message:
|
1893
|
+
post_install_message:
|
1875
1894
|
rdoc_options: []
|
1876
1895
|
require_paths:
|
1877
1896
|
- lib
|
@@ -1886,8 +1905,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1886
1905
|
- !ruby/object:Gem::Version
|
1887
1906
|
version: 1.3.1
|
1888
1907
|
requirements: []
|
1889
|
-
|
1890
|
-
|
1908
|
+
rubyforge_project:
|
1909
|
+
rubygems_version: 2.7.3
|
1910
|
+
signing_key:
|
1891
1911
|
specification_version: 4
|
1892
1912
|
summary: Playbook Design System
|
1893
1913
|
test_files: []
|
@@ -1,134 +0,0 @@
|
|
1
|
-
/* @flow */
|
2
|
-
|
3
|
-
import classnames from "classnames"
|
4
|
-
import { get } from "lodash"
|
5
|
-
import { Flex, FlexItem } from "../"
|
6
|
-
import React, { useState } from "react"
|
7
|
-
import AnimateHeight from "react-animate-height"
|
8
|
-
import { buildAriaProps, buildCss, buildDataProps } from "../utilities/props"
|
9
|
-
import { globalProps } from "../utilities/globalProps.js"
|
10
|
-
|
11
|
-
type CollapsibleProps = {
|
12
|
-
children: React.ChildrenArray<React.Element<typeof Main | Content>>,
|
13
|
-
aria?: object,
|
14
|
-
className?: string,
|
15
|
-
data?: object,
|
16
|
-
id?: string,
|
17
|
-
}
|
18
|
-
|
19
|
-
type CollapsibleMainProps = {
|
20
|
-
children: array<React.ReactNode> | React.ReactNode,
|
21
|
-
className?: string,
|
22
|
-
padding?: string,
|
23
|
-
}
|
24
|
-
|
25
|
-
type CollapsibleContentProps = {
|
26
|
-
children: array<React.ReactNode> | React.ReactNode | string,
|
27
|
-
className?: string,
|
28
|
-
padding?: string,
|
29
|
-
}
|
30
|
-
|
31
|
-
const Main = (props: CollapsibleMainProps) => {
|
32
|
-
const { children, className, padding = "sm" } = props
|
33
|
-
const mainCSS = buildCss("pb_collapsible_main_kit")
|
34
|
-
const mainSpacing = globalProps(props, { padding })
|
35
|
-
|
36
|
-
return (
|
37
|
-
<div className={classnames(mainCSS, className, mainSpacing)}>
|
38
|
-
{children}
|
39
|
-
</div>
|
40
|
-
)
|
41
|
-
}
|
42
|
-
|
43
|
-
const Content = (props: CollapsibleContentProps) => {
|
44
|
-
const { children, className, padding = "md" } = props
|
45
|
-
const contentCSS = buildCss("pb_collapsible_content_kit")
|
46
|
-
const contentSpacing = globalProps(props, { padding })
|
47
|
-
|
48
|
-
return (
|
49
|
-
<div className={classnames(contentCSS, className, contentSpacing)}>
|
50
|
-
{children}
|
51
|
-
</div>
|
52
|
-
)
|
53
|
-
}
|
54
|
-
|
55
|
-
const Collapsible = (props: CollapsibleProps) => {
|
56
|
-
const { aria = {}, className, children = [], data = {}, id } = props
|
57
|
-
|
58
|
-
const ariaProps = buildAriaProps(aria)
|
59
|
-
const dataProps = buildDataProps(data)
|
60
|
-
const classes = classnames(
|
61
|
-
buildCss("pb_collapsible"),
|
62
|
-
className,
|
63
|
-
globalProps(props)
|
64
|
-
)
|
65
|
-
|
66
|
-
const [height, setHeight] = useState(0)
|
67
|
-
const toggleExpand = () => {
|
68
|
-
setHeight(height === 0 ? "auto" : 0)
|
69
|
-
}
|
70
|
-
|
71
|
-
const collapsibleChildren =
|
72
|
-
typeof children === "object" && children.length ? children : [children]
|
73
|
-
|
74
|
-
console.log("CollapsibleChildren:", collapsibleChildren)
|
75
|
-
|
76
|
-
const subComponentTags = (tagName) => {
|
77
|
-
console.log("TagName:", tagName)
|
78
|
-
return collapsibleChildren
|
79
|
-
.filter((c) => get(c, "type.displayName") === tagName)
|
80
|
-
.map((child, i) => {
|
81
|
-
console.log("the child:", child)
|
82
|
-
return React.cloneElement(child, {
|
83
|
-
key: `${tagName.toLowerCase()}-${i}`,
|
84
|
-
})
|
85
|
-
})
|
86
|
-
}
|
87
|
-
|
88
|
-
const renderChevron = (height) => {
|
89
|
-
const direction = height === 0 ? "down" : "up"
|
90
|
-
|
91
|
-
return (
|
92
|
-
<div key={direction} style={{ verticalAlign: "middle" }}>
|
93
|
-
<i className={`far fa-chevron-${direction} fa-fw`} />
|
94
|
-
</div>
|
95
|
-
)
|
96
|
-
}
|
97
|
-
|
98
|
-
const renderMain = () => {
|
99
|
-
const mainTags = subComponentTags("Main")
|
100
|
-
|
101
|
-
return (
|
102
|
-
<div onClick={toggleExpand}>
|
103
|
-
<Flex spacing='between' vertical='center'>
|
104
|
-
<FlexItem>{mainTags}</FlexItem>
|
105
|
-
<FlexItem>{renderChevron(height)}</FlexItem>
|
106
|
-
</Flex>
|
107
|
-
</div>
|
108
|
-
)
|
109
|
-
}
|
110
|
-
|
111
|
-
const renderContent = () => {
|
112
|
-
const nonMainChildren = collapsibleChildren.filter(
|
113
|
-
(child) => get(child, "type.displayName") !== "Main"
|
114
|
-
)
|
115
|
-
console.log("NonMainChildren:", nonMainChildren)
|
116
|
-
return (
|
117
|
-
<AnimateHeight duration={500} height={height} id='bottom-section'>
|
118
|
-
{nonMainChildren}
|
119
|
-
</AnimateHeight>
|
120
|
-
)
|
121
|
-
}
|
122
|
-
|
123
|
-
return (
|
124
|
-
<div {...ariaProps} {...dataProps} className={classes} id={id}>
|
125
|
-
{renderMain()}
|
126
|
-
{renderContent()}
|
127
|
-
</div>
|
128
|
-
)
|
129
|
-
}
|
130
|
-
|
131
|
-
Collapsible.Main = Main
|
132
|
-
Collapsible.Content = Content
|
133
|
-
|
134
|
-
export default Collapsible
|
@@ -1,17 +0,0 @@
|
|
1
|
-
|
2
|
-
[class^=pb_collapsible_kit] {
|
3
|
-
|
4
|
-
.toggle-content {
|
5
|
-
display: none;
|
6
|
-
height: 0;
|
7
|
-
padding-bottom: 0 !important;
|
8
|
-
padding-top: 0 !important;
|
9
|
-
overflow: hidden;
|
10
|
-
transition: height 500ms, padding 500ms ease-in-out;
|
11
|
-
}
|
12
|
-
|
13
|
-
.toggle-content.is-visible {
|
14
|
-
display: block;
|
15
|
-
height: auto;
|
16
|
-
}
|
17
|
-
}
|
@@ -1,16 +0,0 @@
|
|
1
|
-
<%= content_tag(:div,
|
2
|
-
id: object.id,
|
3
|
-
data: object.data,
|
4
|
-
class: object.classname,
|
5
|
-
aria: object.aria) do %>
|
6
|
-
|
7
|
-
<%= pb_rails("flex", props: {vertical: "center", spacing: "between"}) do %>
|
8
|
-
<%= pb_rails("flex/flex_item") do %>
|
9
|
-
<%= capture(&object.children) %>
|
10
|
-
<% end %>
|
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>
|
14
|
-
<% end %>
|
15
|
-
<% end %>
|
16
|
-
<% end %>
|
@@ -1,21 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Playbook
|
4
|
-
module PbCollapsible
|
5
|
-
class CollapsibleContent
|
6
|
-
include Playbook::Props
|
7
|
-
|
8
|
-
partial "pb_collapsible/child_kits/collapsible_content"
|
9
|
-
|
10
|
-
def data
|
11
|
-
Hash(values[:data]).merge(
|
12
|
-
collapsible_content: true
|
13
|
-
)
|
14
|
-
end
|
15
|
-
|
16
|
-
def classname
|
17
|
-
generate_classname("pb_collapsible_content_kit", "toggle-content", padding, separator: " ")
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Playbook
|
4
|
-
module PbCollapsible
|
5
|
-
class CollapsibleMain
|
6
|
-
include Playbook::Props
|
7
|
-
|
8
|
-
partial "pb_collapsible/child_kits/collapsible_main"
|
9
|
-
|
10
|
-
def data
|
11
|
-
Hash(values[:data]).merge(
|
12
|
-
collapsible_main: true
|
13
|
-
)
|
14
|
-
end
|
15
|
-
|
16
|
-
def classname
|
17
|
-
generate_classname("pb_collapsible_main_kit", padding, separator: " ")
|
18
|
-
end
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
@@ -1,10 +0,0 @@
|
|
1
|
-
<%= pb_rails("collapsible", props: { dark: true }) do %>
|
2
|
-
<%= pb_rails("collapsible/collapsible_main", props: { padding: "sm", name: "dark-example" }) do %>
|
3
|
-
<%= pb_rails("body", props: { text: "Main Section", dark: true}) %>
|
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 %>
|