playbook_ui 4.15.1.alpha1 → 4.16.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (186) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +0 -1
  3. data/app/pb_kits/playbook/_playbook.scss +6 -1
  4. data/app/pb_kits/playbook/data/menu.yml +7 -0
  5. data/app/pb_kits/playbook/index.js +6 -1
  6. data/app/pb_kits/playbook/packs/examples.js +6 -0
  7. data/app/pb_kits/playbook/packs/kits/pb_progress_step.js +2 -0
  8. data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.jsx +6 -0
  9. data/app/pb_kits/playbook/pb_bar_graph/bar_graph.rb +5 -1
  10. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_default.html.erb +2 -2
  11. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_default.jsx +2 -2
  12. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_height.html.erb +26 -0
  13. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_height.jsx +36 -0
  14. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend.html.erb +14 -0
  15. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend.jsx +23 -0
  16. data/app/pb_kits/playbook/pb_bar_graph/docs/_description.md +3 -1
  17. data/app/pb_kits/playbook/pb_bar_graph/docs/example.yml +4 -0
  18. data/app/pb_kits/playbook/pb_bar_graph/docs/index.js +2 -0
  19. data/app/pb_kits/playbook/pb_button/_button.jsx +9 -1
  20. data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.html.erb +12 -0
  21. data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.scss +6 -0
  22. data/app/pb_kits/playbook/pb_circle_chart/circle_chart.rb +81 -0
  23. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_default.html.erb +19 -0
  24. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_inner_sizes.html.erb +136 -0
  25. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_labels.html.erb +37 -0
  26. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_legend_kit.html.erb +22 -0
  27. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_title.html.erb +38 -0
  28. data/app/pb_kits/playbook/pb_circle_chart/docs/example.yml +9 -0
  29. data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.html.erb +1 -1
  30. data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.jsx +6 -0
  31. data/app/pb_kits/playbook/pb_circle_icon_button/circle_icon_button.rb +3 -1
  32. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_link.html.erb +11 -0
  33. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_link.jsx +25 -0
  34. data/app/pb_kits/playbook/pb_circle_icon_button/docs/example.yml +3 -1
  35. data/app/pb_kits/playbook/pb_circle_icon_button/docs/index.js +1 -0
  36. data/app/pb_kits/playbook/pb_contact/_contact.jsx +1 -0
  37. data/app/pb_kits/playbook/pb_contact/contact.rb +2 -0
  38. data/app/pb_kits/playbook/pb_contact/docs/_contact_default.html.erb +5 -0
  39. data/app/pb_kits/playbook/pb_contact/docs/_contact_default.jsx +4 -0
  40. data/app/pb_kits/playbook/pb_contact/docs/_contact_with_detail.html.erb +6 -0
  41. data/app/pb_kits/playbook/pb_contact/docs/_contact_with_detail.jsx +5 -0
  42. data/app/pb_kits/playbook/pb_currency/_currency.html.erb +6 -9
  43. data/app/pb_kits/playbook/pb_currency/currency.rb +22 -29
  44. data/app/pb_kits/playbook/pb_dashboard/pbChartsLightTheme.js +26 -1
  45. data/app/pb_kits/playbook/pb_date_year_stacked/_date_year_stacked.jsx +2 -2
  46. data/app/pb_kits/playbook/pb_filter/Filter/CurrentFilters.jsx +56 -0
  47. data/app/pb_kits/playbook/pb_filter/Filter/FilterBackground.jsx +26 -0
  48. data/app/pb_kits/playbook/pb_filter/Filter/FilterDouble.jsx +58 -0
  49. data/app/pb_kits/playbook/pb_filter/Filter/FilterSingle.jsx +46 -0
  50. data/app/pb_kits/playbook/pb_filter/Filter/FiltersPopover.jsx +37 -0
  51. data/app/pb_kits/playbook/pb_filter/Filter/ResultsCount.jsx +34 -0
  52. data/app/pb_kits/playbook/pb_filter/Filter/SortMenu.jsx +85 -0
  53. data/app/pb_kits/playbook/pb_filter/Filter/index.jsx +26 -0
  54. data/app/pb_kits/playbook/pb_filter/_filter.jsx +1 -222
  55. data/app/pb_kits/playbook/pb_filter/_filter.scss +16 -13
  56. data/app/pb_kits/playbook/pb_filter/docs/_filter_default.html.erb +34 -41
  57. data/app/pb_kits/playbook/pb_filter/docs/_filter_default.jsx +13 -9
  58. data/app/pb_kits/playbook/pb_filter/docs/_filter_no_background.html.erb +69 -74
  59. data/app/pb_kits/playbook/pb_filter/docs/_filter_no_background.jsx +12 -9
  60. data/app/pb_kits/playbook/pb_filter/docs/_filter_only.html.erb +28 -35
  61. data/app/pb_kits/playbook/pb_filter/docs/_filter_only.jsx +5 -6
  62. data/app/pb_kits/playbook/pb_filter/docs/_filter_single.html.erb +35 -41
  63. data/app/pb_kits/playbook/pb_filter/docs/_filter_single.jsx +12 -10
  64. data/app/pb_kits/playbook/pb_filter/docs/_sort_only.html.erb +12 -18
  65. data/app/pb_kits/playbook/pb_filter/docs/_sort_only.jsx +14 -44
  66. data/app/pb_kits/playbook/pb_filter/templates/_default.html.erb +1 -1
  67. data/app/pb_kits/playbook/pb_label_pill/_label_pill.html.erb +1 -0
  68. data/app/pb_kits/playbook/pb_label_pill/_label_pill.jsx +59 -14
  69. data/app/pb_kits/playbook/pb_label_pill/docs/_label_pill_default.jsx +50 -0
  70. data/app/pb_kits/playbook/pb_label_pill/docs/example.yml +4 -3
  71. data/app/pb_kits/playbook/pb_label_pill/docs/index.js +1 -0
  72. data/app/pb_kits/playbook/pb_label_pill/label_pill.rb +1 -1
  73. data/app/pb_kits/playbook/pb_layout/_layout.jsx +66 -14
  74. data/app/pb_kits/playbook/pb_layout/docs/_layout_colors.jsx +63 -0
  75. data/app/pb_kits/playbook/pb_layout/docs/_layout_sizes.jsx +87 -0
  76. data/app/pb_kits/playbook/pb_layout/docs/_layout_sizes_dark.jsx +92 -0
  77. data/app/pb_kits/playbook/pb_layout/docs/_layout_transparent.jsx +24 -0
  78. data/app/pb_kits/playbook/pb_layout/docs/example.yml +4 -1
  79. data/app/pb_kits/playbook/pb_layout/docs/index.js +4 -1
  80. data/app/pb_kits/playbook/pb_line_graph/_line_graph.jsx +6 -0
  81. data/app/pb_kits/playbook/pb_line_graph/docs/_description.md +3 -1
  82. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_default.html.erb +8 -8
  83. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_default.jsx +1 -1
  84. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_height.html.erb +26 -0
  85. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_height.jsx +35 -0
  86. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend.html.erb +15 -0
  87. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend.jsx +23 -0
  88. data/app/pb_kits/playbook/pb_line_graph/docs/example.yml +5 -1
  89. data/app/pb_kits/playbook/pb_line_graph/docs/index.js +2 -0
  90. data/app/pb_kits/playbook/pb_line_graph/line_graph.rb +6 -0
  91. data/app/pb_kits/playbook/pb_online_status/_online_status.jsx +31 -14
  92. data/app/pb_kits/playbook/pb_online_status/docs/_online_status_default.jsx +19 -0
  93. data/app/pb_kits/playbook/pb_online_status/docs/example.yml +3 -3
  94. data/app/pb_kits/playbook/pb_online_status/docs/index.js +1 -0
  95. data/app/pb_kits/playbook/pb_popover/_popover.jsx +26 -19
  96. data/app/pb_kits/playbook/pb_popover/docs/example.yml +0 -3
  97. data/app/pb_kits/playbook/pb_popover/docs/index.js +0 -2
  98. data/app/pb_kits/playbook/pb_progress_step/_progress_step.html.erb +6 -0
  99. data/app/pb_kits/playbook/pb_progress_step/_progress_step.jsx +35 -0
  100. data/app/pb_kits/playbook/pb_progress_step/_progress_step.scss +388 -0
  101. data/app/pb_kits/playbook/pb_progress_step/_progress_step_item.html.erb +23 -0
  102. data/app/pb_kits/playbook/pb_progress_step/_progress_step_item.jsx +44 -0
  103. data/app/pb_kits/playbook/pb_progress_step/docs/_description.md +1 -0
  104. data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_dark.html.erb +8 -0
  105. data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_dark.jsx +18 -0
  106. data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_default.html.erb +33 -0
  107. data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_default.jsx +39 -0
  108. data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_vertical.html.erb +33 -0
  109. data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_vertical.jsx +40 -0
  110. data/app/pb_kits/playbook/pb_progress_step/docs/example.yml +12 -0
  111. data/app/pb_kits/playbook/pb_progress_step/docs/index.js +3 -0
  112. data/app/pb_kits/playbook/pb_progress_step/progress_step.rb +33 -0
  113. data/app/pb_kits/playbook/pb_progress_step/progress_step_item.rb +19 -0
  114. data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.html.erb +30 -0
  115. data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.jsx +97 -0
  116. data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.scss +74 -0
  117. data/app/pb_kits/playbook/pb_selectable_card_icon/docs/_selectable_card_icon_checkmark.html.erb +29 -0
  118. data/app/pb_kits/playbook/pb_selectable_card_icon/docs/_selectable_card_icon_checkmark.jsx +41 -0
  119. data/app/pb_kits/playbook/pb_selectable_card_icon/docs/_selectable_card_icon_dark.html.erb +30 -0
  120. data/app/pb_kits/playbook/pb_selectable_card_icon/docs/_selectable_card_icon_dark.jsx +40 -0
  121. data/app/pb_kits/playbook/pb_selectable_card_icon/docs/_selectable_card_icon_default.html.erb +26 -0
  122. data/app/pb_kits/playbook/pb_selectable_card_icon/docs/_selectable_card_icon_default.jsx +37 -0
  123. data/app/pb_kits/playbook/pb_selectable_card_icon/docs/_selectable_card_icon_single_select.html.erb +27 -0
  124. data/app/pb_kits/playbook/pb_selectable_card_icon/docs/_selectable_card_icon_single_select.jsx +40 -0
  125. data/app/pb_kits/playbook/pb_selectable_card_icon/docs/example.yml +16 -0
  126. data/app/pb_kits/playbook/pb_selectable_card_icon/docs/index.js +4 -0
  127. data/app/pb_kits/playbook/pb_selectable_card_icon/selectable_card_icon.rb +50 -0
  128. data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.html.erb +24 -0
  129. data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.jsx +107 -0
  130. data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.scss +85 -0
  131. data/app/pb_kits/playbook/pb_selectable_icon/docs/_selectable_icon_dark.html.erb +26 -0
  132. data/app/pb_kits/playbook/pb_selectable_icon/docs/_selectable_icon_dark.jsx +43 -0
  133. data/app/pb_kits/playbook/pb_selectable_icon/docs/_selectable_icon_default.html.erb +23 -0
  134. data/app/pb_kits/playbook/pb_selectable_icon/docs/_selectable_icon_default.jsx +40 -0
  135. data/app/pb_kits/playbook/pb_selectable_icon/docs/_selectable_icon_single_select.html.erb +27 -0
  136. data/app/pb_kits/playbook/pb_selectable_icon/docs/_selectable_icon_single_select.jsx +46 -0
  137. data/app/pb_kits/playbook/pb_selectable_icon/docs/example.yml +12 -0
  138. data/app/pb_kits/playbook/pb_selectable_icon/docs/index.js +3 -0
  139. data/app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb +55 -0
  140. data/app/pb_kits/playbook/pb_source/_source.jsx +113 -13
  141. data/app/pb_kits/playbook/pb_source/docs/_source_default.html.erb +3 -1
  142. data/app/pb_kits/playbook/pb_source/docs/_source_default.jsx +37 -0
  143. data/app/pb_kits/playbook/pb_source/docs/_source_noicon.jsx +40 -0
  144. data/app/pb_kits/playbook/pb_source/docs/_source_types.jsx +85 -0
  145. data/app/pb_kits/playbook/pb_source/docs/example.yml +3 -0
  146. data/app/pb_kits/playbook/pb_source/docs/index.js +5 -0
  147. data/app/pb_kits/playbook/pb_star_rating/_star_rating.html.erb +6 -2
  148. data/app/pb_kits/playbook/pb_star_rating/_star_rating.jsx +98 -13
  149. data/app/pb_kits/playbook/pb_star_rating/docs/_star_rating_default.jsx +28 -0
  150. data/app/pb_kits/playbook/pb_star_rating/docs/_star_rating_hide.jsx +13 -0
  151. data/app/pb_kits/playbook/pb_star_rating/docs/example.yml +2 -1
  152. data/app/pb_kits/playbook/pb_star_rating/docs/index.js +3 -0
  153. data/app/pb_kits/playbook/pb_star_rating/star_rating.rb +2 -1
  154. data/app/pb_kits/playbook/pb_stat_change/docs/_stat_change_default.html.erb +1 -1
  155. data/app/pb_kits/playbook/pb_stat_change/docs/_stat_change_default.jsx +1 -1
  156. data/app/pb_kits/playbook/pb_stat_change/stat_change.rb +1 -1
  157. data/app/pb_kits/playbook/pb_text_input/_text_input.html.erb +5 -3
  158. data/app/pb_kits/playbook/pb_text_input/_text_input.jsx +19 -1
  159. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_default.html.erb +31 -5
  160. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_default.jsx +3 -0
  161. data/app/pb_kits/playbook/pb_text_input/text_input.rb +1 -1
  162. data/app/pb_kits/playbook/pb_timestamp/_timestamp.jsx +39 -14
  163. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_default.jsx +8 -0
  164. data/app/pb_kits/playbook/pb_timestamp/docs/example.yml +3 -3
  165. data/app/pb_kits/playbook/pb_timestamp/docs/index.js +1 -0
  166. data/app/pb_kits/playbook/pb_title_detail/_title_detail.jsx +47 -14
  167. data/app/pb_kits/playbook/pb_title_detail/docs/_title_detail_default.jsx +26 -0
  168. data/app/pb_kits/playbook/pb_title_detail/docs/example.yml +3 -3
  169. data/app/pb_kits/playbook/pb_title_detail/docs/index.js +1 -0
  170. data/app/pb_kits/playbook/pb_tooltip/_tooltip.html.erb +10 -0
  171. data/app/pb_kits/playbook/pb_tooltip/_tooltip.scss +105 -0
  172. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_default.html.erb +10 -0
  173. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_white.html.erb +9 -0
  174. data/app/pb_kits/playbook/pb_tooltip/docs/example.yml +5 -0
  175. data/app/pb_kits/playbook/pb_tooltip/index.js +80 -0
  176. data/app/pb_kits/playbook/pb_tooltip/tooltip.rb +34 -0
  177. data/app/pb_kits/playbook/plugins/pb_chart.js +53 -1
  178. data/app/pb_kits/playbook/tokens/_colors.scss +7 -3
  179. data/app/pb_kits/playbook/vendor.js +3 -0
  180. data/lib/playbook/version.rb +1 -1
  181. metadata +96 -11
  182. data/app/pb_kits/playbook/pb_layout/_body.jsx +0 -26
  183. data/app/pb_kits/playbook/pb_layout/_sidebar.jsx +0 -26
  184. data/app/pb_kits/playbook/pb_layout/docs/_layout_default.jsx +0 -14
  185. data/app/pb_kits/playbook/pb_popover/docs/_popover_portal.jsx +0 -34
  186. data/app/pb_kits/playbook/pb_popover/docs/_popover_with_button.html.erb +0 -4
@@ -0,0 +1,26 @@
1
+ /* @flow */
2
+
3
+ import React from 'react'
4
+
5
+ import FilterSingle, { FilterSingleProps } from './FilterSingle'
6
+ import FilterDouble, { FilterDoubleProps } from './FilterDouble'
7
+
8
+ type FilterProps = FilterSingleProps | FilterDoubleProps & {
9
+ double?: boolean,
10
+ }
11
+
12
+ const Filter = ({
13
+ double = false,
14
+ ...templateProps
15
+ }: FilterProps) => (
16
+ <Choose>
17
+ <When condition={double}>
18
+ <FilterDouble {...templateProps} />
19
+ </When>
20
+ <Otherwise>
21
+ <FilterSingle {...templateProps} />
22
+ </Otherwise>
23
+ </Choose>
24
+ )
25
+
26
+ export default Filter
@@ -1,224 +1,3 @@
1
1
  /* @flow */
2
2
 
3
- import React, { useState } from 'react'
4
- import {
5
- Button,
6
- Caption,
7
- Card,
8
- CircleIconButton,
9
- Flex,
10
- Icon,
11
- List,
12
- ListItem,
13
- PbReactPopover,
14
- SectionSeparator,
15
- Title,
16
- TitleCount,
17
- } from '../'
18
-
19
- type FilterProps = {
20
- background?: Boolean,
21
- className?: String,
22
- data?: String,
23
- id?: String,
24
- children?: React.Node,
25
- filters?: Array<Hash>,
26
- results?: Number,
27
- sortMenu?: Array<Hash>,
28
- template?: 'default' | 'filter_only' | 'sort_only' | 'single'
29
- }
30
-
31
- const Filter = ({
32
- background = true,
33
- className = 'pb_filter_kit',
34
- data,
35
- filters = [{}],
36
- id,
37
- children,
38
- results,
39
- sortMenu = null,
40
- template = 'default',
41
- }: FilterProps) => {
42
- const [showFilterOptions, setShowFilterOptions] = useState(false)
43
- const [showSortOptions, setShowSortOptions] = useState(false)
44
- const handleToggleFilters = () => {
45
- setShowFilterOptions(!showFilterOptions)
46
- }
47
- const handleToggleSort = () => {
48
- setShowSortOptions(!showSortOptions)
49
- }
50
-
51
- const filterButton = (
52
- <CircleIconButton
53
- icon="filter"
54
- id="filter"
55
- onClick={handleToggleFilters}
56
- text="filter"
57
- variant="secondary"
58
- />
59
- )
60
-
61
- const Filters = () => (
62
- <If condition={template != 'sort_only' && filters != null}>
63
- <PbReactPopover
64
- closeOnClick="outside"
65
- offset
66
- placement="bottom"
67
- reference={filterButton}
68
- show={showFilterOptions}
69
- >
70
- <div className="pb-form">
71
- {children}
72
- </div>
73
-
74
- </PbReactPopover>
75
- <div className="maskContainer">
76
- <div className="filters">
77
- <div className="left_gradient" />
78
- { filters.map((item, index) => (
79
- <div
80
- className="filter"
81
- key={index}
82
- >
83
- <Caption text={item.name} />
84
- <Title
85
- size={4}
86
- tag="h4"
87
- text={item.value}
88
- />
89
- </div>
90
- ))}
91
- <div className="right_gradient" />
92
- </div>
93
- </div>
94
- </If>
95
- )
96
-
97
- const activeSort = () => {
98
- return (
99
- sortMenu.map((item) => (
100
- item.active ? item.item : null
101
- ))
102
- )
103
- }
104
-
105
- const activeDirection = () => {
106
- let direction
107
- sortMenu.map((item) => {
108
- item.active ? direction = item.direction : null
109
- })
110
- const icon = direction == 'asc' ? 'sort-amount-up' : 'sort-amount-down'
111
- return icon
112
- }
113
-
114
- const sortButton = (
115
- <If condition={sortMenu != null}>
116
- <Button
117
- id="sort-button"
118
- onClick={handleToggleSort}
119
- variant="link"
120
- >
121
- {activeSort()}
122
- <Icon
123
- fixedWidth
124
- icon={`${activeDirection()}`}
125
- />
126
- </Button>
127
- </If>
128
- )
129
- const Results = () => {
130
- const resultsText = results > 1 ? 'Results' : 'Result'
131
- return (
132
- <If condition={results != undefined}>
133
- <If condition={template != 'default'}>
134
- <Caption
135
- className="filter-results"
136
- size="xs"
137
- text={`${results} ${resultsText}`}
138
- />
139
- <Else />
140
- <TitleCount
141
- align="center"
142
- count={results}
143
- title={`${resultsText}:`}
144
- />
145
- </If>
146
- </If>
147
- )
148
- }
149
- const Sort = () => (
150
- <If condition={template != 'filter_only'}>
151
- <Flex
152
- orientation="row"
153
- vertical="center"
154
- >
155
- <If condition={template == 'default'}>
156
- <Caption text="sort by:" />
157
- </If>
158
- <PbReactPopover
159
- closeOnClick="outside"
160
- offset
161
- placement="bottom"
162
- reference={sortButton}
163
- show={showSortOptions}
164
- >
165
- <List>
166
- {sortMenu ? sortMenu.map((item) => (
167
- <ListItem key={item.item}>
168
- <Button
169
- link={item.link}
170
- text={item.item}
171
- variant="link"
172
- />
173
- </ListItem>
174
- )) : null}
175
-
176
- </List>
177
- </PbReactPopover>
178
- </Flex>
179
- </If>
180
- )
181
- const Core = () => (
182
- <>
183
- <Flex
184
- orientation="row"
185
- vertical="center"
186
- >
187
- <Filters />
188
- <If condition={template != 'default'}>
189
- <Results />
190
- <Sort />
191
- </If>
192
- </Flex>
193
- <If condition={template == 'default'}>
194
- <SectionSeparator />
195
- <Flex
196
- className="filter-bottom"
197
- orientation="row"
198
- spacing="between"
199
- vertical="center"
200
- >
201
- <Results />
202
- <Sort />
203
- </Flex>
204
- </If>
205
- </>
206
- )
207
- return (
208
- <div
209
- className={className}
210
- data={data}
211
- id={id}
212
- >
213
- <If condition={background}>
214
- <Card padding="none">
215
- <Core />
216
- </Card>
217
- <Else />
218
- <Core />
219
- </If>
220
- </div>
221
- )
222
- }
223
-
224
- export default Filter
3
+ export { default } from './Filter'
@@ -1,27 +1,30 @@
1
1
  @import "../tokens/spacing";
2
2
  @import "../tokens/colors";
3
3
 
4
- [class^=pb_filter_kit] {
5
- [class^=pb_circle_icon_button_kit]{
6
- padding-left: $space_sm !important;
7
- padding-top: $space_sm !important;
8
- padding-bottom: $space_sm !important;
9
- }
10
- [class^=pb_card_body_kit][class*=_md]{
11
- padding: 0 !important;
12
- }
13
- [class^=pb_list_kit] li{
4
+ .pb_filter_sort_menu {
5
+ li {
14
6
  padding: 0 $space_sm !important;
15
7
  }
16
- [class^=pb-form]{
17
- padding: $space_sm ;
18
- }
19
8
  [class^=pb_button_kit][class*=_link]{
20
9
  flex-shrink:0;
21
10
  padding: 0 $space_xs !important;
22
11
  [id^="sort"]{
23
12
  margin-left: $space_xs !important;
24
13
  }
14
+ }
15
+ [class^=pb_card_body_kit][class*=_md]{
16
+ padding: 0 !important;
17
+ }
18
+ }
19
+
20
+ [class^=pb_filter_kit] {
21
+ [class^=pb_circle_icon_button_kit]{
22
+ padding-left: $space_sm !important;
23
+ padding-top: $space_sm !important;
24
+ padding-bottom: $space_sm !important;
25
+ }
26
+ [class^=pb-form]{
27
+ padding: $space_sm ;
25
28
  }
26
29
  .sort-by{
27
30
  flex-shrink:0;
@@ -1,46 +1,39 @@
1
- <% 5.times do%>
2
- <br>
3
- <%end%>
4
-
5
- <%= pb_rails("filter", props: {
6
- id: "1",
7
- filters: [
8
- {name: "name", value: "John Wick"}
1
+ <%=
2
+ pb_rails("filter", props: {
3
+ id: "1",
4
+ filters: [
5
+ { name: "name", value: "John Wick" }
6
+ ],
7
+ sort_menu: [
8
+ { item: "Popularity", link: "?q[sorts]=managers_popularity+asc", active: true, direction: "desc" },
9
+ { item: "Mananger's Title", link: "?q[sorts]=managers_title+asc", active: false },
10
+ { item: "Manager's Name", link: "?q[sorts]=managers_name+asc", active: false },
9
11
  ],
10
- sort_menu: [
11
- {item:"Popularity", link:"#", active: true, direction:"desc"},
12
- {item:"Title", link:"#", active: false},
13
- {item:"Name", link:"#", active: false},
14
- ],
15
- template:"default",
16
- results: 546,
17
- }) do%>
18
- <%
19
- example_collection = [
20
- OpenStruct.new(name: "Alabama", value: 1),
21
- OpenStruct.new(name: "Alaska", value: 2),
22
- OpenStruct.new(name: "Arizona", value: 3),
23
- OpenStruct.new(name: "Arkansas", value: 4),
24
- OpenStruct.new(name: "California", value: 5),
25
- OpenStruct.new(name: "Colorado", value: 6),
26
- OpenStruct.new(name: "Connecticut", value: 7),
27
- OpenStruct.new(name: "Delaware", value: 8),
28
- OpenStruct.new(name: "Florida", value: 9),
29
- OpenStruct.new(name: "Georgia", value: 10),
30
- ]
12
+ template: "default",
13
+ results: 546,
14
+ }) do
31
15
  %>
16
+ <%
17
+ example_collection = [
18
+ OpenStruct.new(name: "Alabama", value: 1),
19
+ OpenStruct.new(name: "Alaska", value: 2),
20
+ OpenStruct.new(name: "Arizona", value: 3),
21
+ OpenStruct.new(name: "Arkansas", value: 4),
22
+ OpenStruct.new(name: "California", value: 5),
23
+ OpenStruct.new(name: "Colorado", value: 6),
24
+ OpenStruct.new(name: "Connecticut", value: 7),
25
+ OpenStruct.new(name: "Delaware", value: 8),
26
+ OpenStruct.new(name: "Florida", value: 9),
27
+ OpenStruct.new(name: "Georgia", value: 10),
28
+ ]
29
+ %>
30
+ <%= pb_rails("form", props: { form_system_options: { scope: :example, method: :get } }) do |form| %>
31
+ <%= form.text_field :example_text_field, props: { label: true } %>
32
+ <%= form.collection_select :example_collection_select, example_collection, :value, :name, props: { label: true } %>
32
33
 
33
- <%= pb_rails("form", props: { form_system_options: { scope: :example, method: :get } }) do |form| %>
34
- <%= form.text_field :example_text_field, props: { label: true } %>
35
- <%= form.collection_select :example_collection_select, example_collection, :value, :name, props: { label: true } %>
36
-
37
- <%= form.actions do |action| %>
38
- <%= action.submit props: { text: "Apply", data: { disable_with: "<i class='far fa-spinner fa-spin mr-3'></i>Searching...".html_safe },}%>
39
- <%= action.button props: { type: "reset", text: "Clear", variant: "secondary" } %>
34
+ <%= form.actions do |action| %>
35
+ <%= action.submit props: { text: "Apply", data: { disable_with: "<i class='far fa-spinner fa-spin mr-3'></i>Searching...".html_safe },}%>
36
+ <%= action.button props: { type: "reset", text: "Clear", variant: "secondary" } %>
37
+ <% end %>
40
38
  <% end %>
41
39
  <% end %>
42
-
43
- <% end %>
44
- <% 5.times do%>
45
- <br>
46
- <%end%>
@@ -11,16 +11,20 @@ const FilterDefault = () => {
11
11
  ]
12
12
  return (
13
13
  <Filter
14
- filters={[
15
- { name: 'Full Name', value: 'John Wick' },
16
- { name: 'Territory', value: 'San Francisco' },
17
- ]}
14
+ double
15
+ filters={{
16
+ 'Full Name': 'John Wick',
17
+ 'Territory': 'San Francisco',
18
+ }}
18
19
  results={256}
19
- sortMenu={[
20
- { item: 'Popularity', link: '#', active: true, direction: 'desc' },
21
- { item: 'Title', link: '#', active: false },
22
- { item: 'Name', link: '#', active: false },
23
- ]}
20
+ sortOptions={{
21
+ popularity: 'Popularity',
22
+ // eslint-disable-next-line
23
+ manager_title: 'Manager\'s Title',
24
+ // eslint-disable-next-line
25
+ manager_name: 'Manager\'s Name',
26
+ }}
27
+ sortValue={[{ name: 'popularity', dir: 'asc' }]}
24
28
  >
25
29
  <TextInput
26
30
  label="Full Name"
@@ -1,88 +1,83 @@
1
-
2
- <%= pb_rails("filter", props: {
3
- id:"3",
4
- background: false,
5
- filters: [
6
- {name: "name", value: "John Wick"}
1
+ <%=
2
+ pb_rails("filter", props: {
3
+ id: "3",
4
+ background: false,
5
+ filters: [
6
+ { name: "name", value: "John Wick" }
7
7
  ],
8
- sort_menu: [
9
- {item:"Popularity", link:"#", active: true, direction:"desc"},
10
- {item:"Title", link:"#", active: false},
11
- {item:"Name", link:"#", active: false},
12
- ],
13
- results: 1,
14
- template: "single"
15
- }) do%>
16
- <%
17
- example_collection = [
18
- OpenStruct.new(name: "Alabama", value: 1),
19
- OpenStruct.new(name: "Alaska", value: 2),
20
- OpenStruct.new(name: "Arizona", value: 3),
21
- OpenStruct.new(name: "Arkansas", value: 4),
22
- OpenStruct.new(name: "California", value: 5),
23
- OpenStruct.new(name: "Colorado", value: 6),
24
- OpenStruct.new(name: "Connecticut", value: 7),
25
- OpenStruct.new(name: "Delaware", value: 8),
26
- OpenStruct.new(name: "Florida", value: 9),
27
- OpenStruct.new(name: "Georgia", value: 10),
28
- ]
8
+ sort_menu: [
9
+ { item: "Popularity", link: "?q[sorts]=managers_popularity+asc", active: true, direction: "desc" },
10
+ { item: "Mananger's Title", link: "?q[sorts]=managers_title+asc", active: false },
11
+ { item: "Manager's Name", link: "?q[sorts]=managers_name+asc", active: false },
12
+ ],
13
+ results: 1,
14
+ template: "single"
15
+ }) do
29
16
  %>
17
+ <%
18
+ example_collection = [
19
+ OpenStruct.new(name: "Alabama", value: 1),
20
+ OpenStruct.new(name: "Alaska", value: 2),
21
+ OpenStruct.new(name: "Arizona", value: 3),
22
+ OpenStruct.new(name: "Arkansas", value: 4),
23
+ OpenStruct.new(name: "California", value: 5),
24
+ OpenStruct.new(name: "Colorado", value: 6),
25
+ OpenStruct.new(name: "Connecticut", value: 7),
26
+ OpenStruct.new(name: "Delaware", value: 8),
27
+ OpenStruct.new(name: "Florida", value: 9),
28
+ OpenStruct.new(name: "Georgia", value: 10),
29
+ ]
30
+ %>
30
31
 
31
- <%= pb_rails("form", props: { form_system_options: { scope: :example, method: :get } }) do |form| %>
32
- <%= form.text_field :example_text_field, props: { label: true } %>
33
- <%= form.collection_select :example_collection_select, example_collection, :value, :name, props: { label: true } %>
32
+ <%= pb_rails("form", props: { form_system_options: { scope: :example, method: :get } }) do |form| %>
33
+ <%= form.text_field :example_text_field, props: { label: true } %>
34
+ <%= form.collection_select :example_collection_select, example_collection, :value, :name, props: { label: true } %>
34
35
 
35
- <%= form.actions do |action| %>
36
- <%= action.submit props: { text: "Apply", data: { disable_with: "<i class='far fa-spinner fa-spin mr-3'></i>Searching...".html_safe },}%>
37
- <%= action.button props: { type: "reset", text: "Clear", variant: "secondary" } %>
36
+ <%= form.actions do |action| %>
37
+ <%= action.submit props: { text: "Apply", data: { disable_with: "<i class='far fa-spinner fa-spin mr-3'></i>Searching...".html_safe },}%>
38
+ <%= action.button props: { type: "reset", text: "Clear", variant: "secondary" } %>
39
+ <% end %>
38
40
  <% end %>
39
41
  <% end %>
40
42
 
41
- <% end %>
42
-
43
- <% 2.times do%>
44
43
  <br>
45
- <%end%>
46
44
 
47
-
48
- <%= pb_rails("filter", props: {
49
- id:"4",
50
- background: false,
51
- filters: [
52
- {name: "name", value: "John Wick"}
45
+ <%=
46
+ pb_rails("filter", props: {
47
+ id: "4",
48
+ background: false,
49
+ filters: [
50
+ { name: "name", value: "John Wick" }
53
51
  ],
54
- sort_menu: [
55
- {item:"Popularity", link:"#", active: true, direction:"desc"},
56
- {item:"Title", link:"#", active: false},
57
- {item:"Name", link:"#", active: false},
58
- ],
59
- results: 546,
60
-
61
- }) do%>
62
- <%
63
- example_collection = [
64
- OpenStruct.new(name: "Alabama", value: 1),
65
- OpenStruct.new(name: "Alaska", value: 2),
66
- OpenStruct.new(name: "Arizona", value: 3),
67
- OpenStruct.new(name: "Arkansas", value: 4),
68
- OpenStruct.new(name: "California", value: 5),
69
- OpenStruct.new(name: "Colorado", value: 6),
70
- OpenStruct.new(name: "Connecticut", value: 7),
71
- OpenStruct.new(name: "Delaware", value: 8),
72
- OpenStruct.new(name: "Florida", value: 9),
73
- OpenStruct.new(name: "Georgia", value: 10),
74
- ]
52
+ sort_menu: [
53
+ { item: "Popularity", link: "?q[sorts]=managers_popularity+asc", active: true, direction: "desc" },
54
+ { item: "Mananger's Title", link: "?q[sorts]=managers_title+asc", active: false },
55
+ { item: "Manager's Name", link: "?q[sorts]=managers_name+asc", active: false },
56
+ ],
57
+ results: 546,
58
+ }) do
75
59
  %>
60
+ <%
61
+ example_collection = [
62
+ OpenStruct.new(name: "Alabama", value: 1),
63
+ OpenStruct.new(name: "Alaska", value: 2),
64
+ OpenStruct.new(name: "Arizona", value: 3),
65
+ OpenStruct.new(name: "Arkansas", value: 4),
66
+ OpenStruct.new(name: "California", value: 5),
67
+ OpenStruct.new(name: "Colorado", value: 6),
68
+ OpenStruct.new(name: "Connecticut", value: 7),
69
+ OpenStruct.new(name: "Delaware", value: 8),
70
+ OpenStruct.new(name: "Florida", value: 9),
71
+ OpenStruct.new(name: "Georgia", value: 10),
72
+ ]
73
+ %>
74
+ <%= pb_rails("form", props: { form_system_options: { scope: :example, method: :get } }) do |form| %>
75
+ <%= form.text_field :example_text_field, props: { label: true } %>
76
+ <%= form.collection_select :example_collection_select, example_collection, :value, :name, props: { label: true } %>
76
77
 
77
- <%= pb_rails("form", props: { form_system_options: { scope: :example, method: :get } }) do |form| %>
78
- <%= form.text_field :example_text_field, props: { label: true } %>
79
- <%= form.collection_select :example_collection_select, example_collection, :value, :name, props: { label: true } %>
80
-
81
- <%= form.actions do |action| %>
82
- <%= action.submit props: { text: "Apply", data: { disable_with: "<i class='far fa-spinner fa-spin mr-3'></i>Searching...".html_safe },}%>
83
- <%= action.button props: { type: "reset", text: "Clear", variant: "secondary" } %>
78
+ <%= form.actions do |action| %>
79
+ <%= action.submit props: { text: "Apply", data: { disable_with: "<i class='far fa-spinner fa-spin mr-3'></i>Searching...".html_safe },}%>
80
+ <%= action.button props: { type: "reset", text: "Clear", variant: "secondary" } %>
81
+ <% end %>
84
82
  <% end %>
85
83
  <% end %>
86
-
87
- <% end %>
88
-