playbook_ui 4.5.2 → 4.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (179) hide show
  1. checksums.yaml +4 -4
  2. data/app/helpers/playbook/pb_sample_helper.rb +37 -0
  3. data/app/pb_kits/playbook/_playbook.scss +1 -0
  4. data/app/pb_kits/playbook/config/_kit_ui.html.erb +3 -3
  5. data/app/pb_kits/playbook/data/menu.yml +1 -1
  6. data/app/pb_kits/playbook/index.js +2 -0
  7. data/app/pb_kits/playbook/packs/application.js +44 -4
  8. data/app/pb_kits/playbook/packs/examples.js +2 -6
  9. data/app/pb_kits/playbook/packs/samples.js +1 -36
  10. data/app/pb_kits/playbook/packs/site_styles/_samples.scss +3 -2
  11. data/app/pb_kits/playbook/packs/site_styles/docs/_kit_doc.scss +3 -3
  12. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_monogram.md +2 -0
  13. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_status.md +2 -0
  14. data/app/pb_kits/playbook/pb_avatar/docs/_description.md +2 -0
  15. data/app/pb_kits/playbook/pb_avatar/docs/_footer.md +3 -0
  16. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_default.html.erb +0 -2
  17. data/app/pb_kits/playbook/pb_bar_graph/docs/_description.md +1 -0
  18. data/app/pb_kits/playbook/pb_body/docs/_description.md +2 -0
  19. data/app/pb_kits/playbook/pb_body/docs/_footer.md +2 -0
  20. data/app/pb_kits/playbook/pb_button/docs/_button_default.md +1 -0
  21. data/app/pb_kits/playbook/pb_button/docs/_button_full_width.md +1 -0
  22. data/app/pb_kits/playbook/pb_button/docs/_button_loading.md +1 -0
  23. data/app/pb_kits/playbook/pb_button/docs/_footer.md +2 -0
  24. data/app/pb_kits/playbook/pb_caption/docs/_description.md +1 -0
  25. data/app/pb_kits/playbook/pb_caption/docs/_footer.md +2 -0
  26. data/app/pb_kits/playbook/pb_checkbox/docs/_description.md +1 -0
  27. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_default.html.erb +1 -1
  28. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_description.md +1 -0
  29. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_footer.md +2 -0
  30. data/app/pb_kits/playbook/pb_contact/docs/_description.md +1 -0
  31. data/app/pb_kits/playbook/pb_currency/docs/_description.md +2 -0
  32. data/app/pb_kits/playbook/pb_dashboard_value/docs/_description.md +1 -0
  33. data/app/pb_kits/playbook/pb_date/docs/_description.md +1 -0
  34. data/app/pb_kits/playbook/pb_date_range_inline/docs/_description.md +1 -0
  35. data/app/pb_kits/playbook/pb_date_stacked/docs/_description.md +1 -0
  36. data/app/pb_kits/playbook/pb_date_stacked/docs/_footer.md +2 -0
  37. data/app/pb_kits/playbook/pb_date_year_stacked/docs/_date_year_stacked_default.md +1 -0
  38. data/app/pb_kits/playbook/pb_date_year_stacked/docs/_description.md +1 -0
  39. data/app/pb_kits/playbook/pb_date_year_stacked/docs/_footer.md +4 -0
  40. data/app/pb_kits/playbook/pb_distribution_bar/docs/_description.md +1 -0
  41. data/app/pb_kits/playbook/{pb_editor/_editor.html.erb → pb_filter/_filter.html.erb} +1 -1
  42. data/app/pb_kits/playbook/pb_filter/_filter.jsx +88 -0
  43. data/app/pb_kits/playbook/pb_filter/_filter.scss +82 -0
  44. data/app/pb_kits/playbook/pb_filter/docs/_filter_default.html.erb +45 -0
  45. data/app/pb_kits/playbook/pb_filter/docs/_filter_default.jsx +9 -0
  46. data/app/pb_kits/playbook/pb_filter/docs/_filter_single.html.erb +46 -0
  47. data/app/pb_kits/playbook/pb_filter/docs/example.yml +9 -0
  48. data/app/pb_kits/playbook/pb_filter/docs/index.js +1 -0
  49. data/app/pb_kits/playbook/pb_filter/filter.rb +34 -0
  50. data/app/pb_kits/playbook/pb_filter/templates/_default.html.erb +43 -0
  51. data/app/pb_kits/playbook/pb_filter/templates/_single.html.erb +42 -0
  52. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_description.md +2 -0
  53. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_multi_line.html.erb +1 -1
  54. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_multi_line.md +2 -0
  55. data/app/pb_kits/playbook/pb_flex/docs/_description.md +1 -0
  56. data/app/pb_kits/playbook/pb_flex/docs/_flex_default.md +1 -0
  57. data/app/pb_kits/playbook/pb_flex/docs/_flex_inline.md +1 -0
  58. data/app/pb_kits/playbook/pb_form/docs/_description.md +10 -0
  59. data/app/pb_kits/playbook/pb_form/docs/_footer.md +2 -0
  60. data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.md +1 -0
  61. data/app/pb_kits/playbook/pb_form/docs/_form_simple_form_validate.md +1 -0
  62. data/app/pb_kits/playbook/pb_hashtag/docs/_description.md +1 -0
  63. data/app/pb_kits/playbook/pb_hashtag/docs/_footer.md +2 -0
  64. data/app/pb_kits/playbook/pb_highlight/docs/_description.md +1 -0
  65. data/app/pb_kits/playbook/pb_highlight/docs/_footer.md +2 -0
  66. data/app/pb_kits/playbook/pb_home_address_street/docs/_description.md +1 -0
  67. data/app/pb_kits/playbook/pb_home_address_street/docs/_footer.md +2 -0
  68. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_default.md +1 -0
  69. data/app/pb_kits/playbook/pb_icon/docs/_description.md +1 -0
  70. data/app/pb_kits/playbook/pb_icon/docs/_footer.md +2 -0
  71. data/app/pb_kits/playbook/pb_icon/docs/_icon_animate.md +1 -0
  72. data/app/pb_kits/playbook/pb_icon/docs/_icon_pull.md +1 -0
  73. data/app/pb_kits/playbook/pb_icon_circle/docs/_description.md +1 -0
  74. data/app/pb_kits/playbook/pb_icon_circle/docs/_footer.md +2 -0
  75. data/app/pb_kits/playbook/pb_icon_value/docs/_description.md +1 -0
  76. data/app/pb_kits/playbook/pb_image/docs/_description.md +1 -0
  77. data/app/pb_kits/playbook/pb_label_pill/docs/_description.md +1 -0
  78. data/app/pb_kits/playbook/pb_label_pill/docs/_footer.md +2 -0
  79. data/app/pb_kits/playbook/pb_label_pill/docs/_label_pill_default.md +1 -0
  80. data/app/pb_kits/playbook/pb_label_value/docs/_description.md +1 -0
  81. data/app/pb_kits/playbook/pb_label_value/docs/_footer.md +2 -0
  82. data/app/pb_kits/playbook/pb_label_value/docs/_label_value_default.md +1 -0
  83. data/app/pb_kits/playbook/pb_label_value/docs/index.html.erb +25 -0
  84. data/app/pb_kits/playbook/pb_layout/docs/_description.md +1 -0
  85. data/app/pb_kits/playbook/pb_legend/docs/_description.md +1 -0
  86. data/app/pb_kits/playbook/pb_legend/docs/_footer.md +2 -0
  87. data/app/pb_kits/playbook/pb_legend/docs/_legend_default.html.erb +1 -1
  88. data/app/pb_kits/playbook/pb_line_graph/docs/_description.md +1 -0
  89. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_default.html.erb +0 -3
  90. data/app/pb_kits/playbook/pb_list/docs/_description.md +1 -0
  91. data/app/pb_kits/playbook/pb_loading_inline/docs/_description.md +1 -0
  92. data/app/pb_kits/playbook/pb_message/docs/_description.md +1 -0
  93. data/app/pb_kits/playbook/pb_message/docs/_footer.md +2 -0
  94. data/app/pb_kits/playbook/pb_message/docs/_message_default.md +1 -0
  95. data/app/pb_kits/playbook/pb_multiple_users/docs/_description.md +1 -0
  96. data/app/pb_kits/playbook/pb_multiple_users_stacked/docs/_description.md +1 -0
  97. data/app/pb_kits/playbook/pb_nav/docs/_description.md +1 -0
  98. data/app/pb_kits/playbook/pb_online_status/docs/_description.md +1 -0
  99. data/app/pb_kits/playbook/pb_person/docs/_description.md +1 -0
  100. data/app/pb_kits/playbook/pb_person/docs/_footer.md +3 -0
  101. data/app/pb_kits/playbook/pb_person/docs/_person_default.md +1 -0
  102. data/app/pb_kits/playbook/pb_person_contact/docs/_description.md +1 -0
  103. data/app/pb_kits/playbook/pb_person_contact/docs/_footer.md +3 -0
  104. data/app/pb_kits/playbook/pb_pill/docs/_description.md +1 -0
  105. data/app/pb_kits/playbook/pb_popover/docs/_description.md +1 -0
  106. data/app/pb_kits/playbook/pb_progress_pills/docs/_description.md +1 -0
  107. data/app/pb_kits/playbook/pb_progress_simple/docs/_description.md +1 -0
  108. data/app/pb_kits/playbook/pb_progress_simple/docs/_footer.md +2 -0
  109. data/app/pb_kits/playbook/pb_radio/docs/_description.md +1 -0
  110. data/app/pb_kits/playbook/pb_radio/docs/_footer.md +2 -0
  111. data/app/pb_kits/playbook/pb_radio/docs/_radio_error.md +1 -0
  112. data/app/pb_kits/playbook/pb_section_separator/docs/_description.md +1 -3
  113. data/app/pb_kits/playbook/pb_section_separator/docs/_footer.md +1 -1
  114. data/app/pb_kits/playbook/pb_select/docs/_description.md +1 -0
  115. data/app/pb_kits/playbook/pb_select/docs/_footer.md +2 -0
  116. data/app/pb_kits/playbook/pb_select/docs/_select_error.md +1 -0
  117. data/app/pb_kits/playbook/pb_selectable_card/docs/_description.md +1 -0
  118. data/app/pb_kits/playbook/pb_selectable_card/docs/_footer.md +2 -0
  119. data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_block.md +1 -0
  120. data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_default.md +1 -0
  121. data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_single_select.md +2 -0
  122. data/app/pb_kits/playbook/pb_source/docs/_description.md +1 -0
  123. data/app/pb_kits/playbook/pb_star_rating/docs/_description.md +1 -0
  124. data/app/pb_kits/playbook/pb_stat_change/docs/_description.md +1 -0
  125. data/app/pb_kits/playbook/pb_stat_value/docs/_description.md +1 -0
  126. data/app/pb_kits/playbook/pb_stat_value/docs/_footer.md +2 -0
  127. data/app/pb_kits/playbook/pb_stat_value/docs/_stat_value_default.md +1 -0
  128. data/app/pb_kits/playbook/pb_table/docs/_description.md +1 -0
  129. data/app/pb_kits/playbook/pb_table/docs/_table_lg.md +1 -0
  130. data/app/pb_kits/playbook/pb_table/docs/_table_md.md +1 -0
  131. data/app/pb_kits/playbook/pb_table/docs/_table_sm.md +1 -0
  132. data/app/pb_kits/playbook/pb_text_input/docs/_description.md +1 -0
  133. data/app/pb_kits/playbook/pb_text_input/docs/_footer.md +2 -0
  134. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_error.md +1 -0
  135. data/app/pb_kits/playbook/pb_textarea/docs/_description.md +1 -0
  136. data/app/pb_kits/playbook/pb_textarea/docs/_footer.md +2 -0
  137. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_error.md +1 -0
  138. data/app/pb_kits/playbook/pb_time/docs/_description.md +1 -0
  139. data/app/pb_kits/playbook/pb_time/docs/_footer.md +2 -0
  140. data/app/pb_kits/playbook/pb_time/docs/_time_default.md +1 -0
  141. data/app/pb_kits/playbook/pb_timestamp/docs/_description.md +1 -0
  142. data/app/pb_kits/playbook/pb_timestamp/docs/_footer.md +2 -0
  143. data/app/pb_kits/playbook/pb_timestamp/docs/_time_stamp_default.md +1 -0
  144. data/app/pb_kits/playbook/pb_title/docs/_description.md +2 -0
  145. data/app/pb_kits/playbook/pb_title_count/_title_count.jsx +33 -15
  146. data/app/pb_kits/playbook/pb_title_count/docs/_description.md +1 -0
  147. data/app/pb_kits/playbook/pb_title_count/docs/_footer.md +2 -0
  148. data/app/pb_kits/playbook/pb_title_count/docs/_title_count_default.jsx +12 -1
  149. data/app/pb_kits/playbook/pb_title_count/docs/_title_count_default.md +1 -0
  150. data/app/pb_kits/playbook/pb_title_detail/docs/_description.md +1 -0
  151. data/app/pb_kits/playbook/pb_title_detail/docs/_footer.md +2 -0
  152. data/app/pb_kits/playbook/pb_title_detail/docs/_title_detail_default.md +1 -0
  153. data/app/pb_kits/playbook/pb_toggle/docs/_description.md +1 -0
  154. data/app/pb_kits/playbook/pb_toggle/docs/_footer.md +3 -0
  155. data/app/pb_kits/playbook/pb_typeahead/_typeahead.scss +2 -2
  156. data/app/pb_kits/playbook/pb_typeahead/docs/_description.md +1 -0
  157. data/app/pb_kits/playbook/pb_typeahead/docs/_footer.md +2 -0
  158. data/app/pb_kits/playbook/pb_user/docs/_description.md +1 -0
  159. data/app/pb_kits/playbook/pb_user/docs/_footer.md +0 -0
  160. data/app/pb_kits/playbook/pb_user_badge/docs/_description.md +1 -0
  161. data/app/pb_kits/playbook/pb_user_badge/docs/_footer.md +2 -0
  162. data/app/pb_kits/playbook/pb_user_badge/docs/_user_badge_default.md +1 -0
  163. data/app/pb_kits/playbook/vendor.js +3 -0
  164. data/app/views/layouts/playbook/samples.html.erb +0 -17
  165. data/app/views/playbook/samples/dashboards/{dashboards.html.erb → index.html.erb} +17 -20
  166. data/app/views/playbook/samples/dashboards/index.jsx +130 -0
  167. data/app/views/playbook/samples/sample_show.html.erb +14 -3
  168. data/fonts/{fontawesome.min.js → fontawesome-min.js} +2 -2
  169. data/fonts/regular-min.js +5 -0
  170. data/lib/generators/kit/kit_generator.rb +0 -6
  171. data/lib/playbook/version.rb +1 -1
  172. metadata +147 -12
  173. data/app/pb_kits/playbook/kits/pb_flex.js +0 -4
  174. data/app/pb_kits/playbook/kits/pb_highlight.js +0 -4
  175. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_text.md +0 -1
  176. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_text_background.md +0 -1
  177. data/app/views/playbook/samples/dashboards/dashboards.jsx +0 -35
  178. data/fonts/regular.min.js +0 -5
  179. data/lib/generators/kit/templates/kit_pack.erb.tt +0 -4
@@ -0,0 +1,82 @@
1
+ @import "../tokens/spacing";
2
+ @import "../tokens/colors";
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{
14
+ padding: 0 $space_sm !important;
15
+ }
16
+ [class^=pb-form]{
17
+ padding: $space_sm ;
18
+ }
19
+ [class^=pb_button_kit][class*=_link]{
20
+ flex-shrink:0;
21
+ padding: 0 $space_xs !important;
22
+ [id^="sort"]{
23
+ margin-left: $space_xs !important;
24
+ }
25
+ }
26
+ .sort-by{
27
+ flex-shrink:0;
28
+ margin-left: $space_xs !important;
29
+ }
30
+ .filter-results{
31
+ margin-left: $space_xs !important;
32
+ margin-right: $space_xs !important;
33
+ flex-shrink:0 !important;
34
+ }
35
+ .filter-bottom{
36
+ padding-left: $space_sm !important;
37
+ padding-right: $space_sm !important;
38
+ }
39
+ .maskContainer{
40
+ display: flex;
41
+ overflow-x: hidden;
42
+ align-items: center;
43
+ flex-grow: 1;
44
+ }
45
+ .filters {
46
+ display: flex;
47
+ flex-shrink: 1;
48
+ flex-wrap: nowrap;
49
+ overflow-x: scroll;
50
+ padding-right: 80px;
51
+ padding-top: $space_md;
52
+ padding-bottom: $space_md;
53
+
54
+ &::-webkit-scrollbar{
55
+ display: none;
56
+ }
57
+ .filter {
58
+ flex: 0 0 auto;
59
+ padding-left: $space_xs;
60
+ padding-right: $space_xs;
61
+ border-right: 1px solid $border_light !important;
62
+ }
63
+
64
+ }
65
+ .maskContainer::after {
66
+ content: " ";
67
+ background-image: linear-gradient(to right, rgba($card_light,.3) , rgba($card_light,1));
68
+ height: 48px;
69
+ padding-left: $space_xl;
70
+ margin-left: -$space_lg;
71
+ z-index: 1;
72
+ }
73
+ .maskContainer::before {
74
+ content: " ";
75
+ background-image: linear-gradient(to left, rgba($card_light,.3) , rgba($card_light,1));
76
+ height: 48px;
77
+ padding-right: $space_sm;
78
+ margin-right: -$space_xs;
79
+ z-index: 1;
80
+ }
81
+
82
+ }
@@ -0,0 +1,45 @@
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"}
9
+ ],
10
+ sort_menu: [
11
+ {item:"Popularity", link:"#", active: true, direction:"des"},
12
+ {item:"Title", link:"#", active: false},
13
+ {item:"Name", link:"#", active: false},
14
+ ],
15
+ results: 546
16
+ }) do%>
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
+ %>
31
+
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 } %>
35
+
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 %>
40
+ <% end %>
41
+
42
+ <% end %>
43
+ <% 5.times do%>
44
+ <br>
45
+ <%end%>
@@ -0,0 +1,9 @@
1
+ import React from 'react'
2
+
3
+ const FilterDefault = () => (
4
+ <div>
5
+ <h1>{'Coming Soon!'}</h1>
6
+ </div>
7
+ )
8
+
9
+ export default FilterDefault
@@ -0,0 +1,46 @@
1
+ <% 5.times do%>
2
+ <br>
3
+ <%end%>
4
+
5
+ <%= pb_rails("filter", props: {
6
+ id:"2",
7
+ filters: [
8
+ {name: "name", value: "John Wick"}
9
+ ],
10
+ sort_menu: [
11
+ {item:"Popularity", link:"#", active: true, direction:"des"},
12
+ {item:"Title", link:"#", active: false},
13
+ {item:"Name", link:"#", active: false},
14
+ ],
15
+ results: 546,
16
+ template: "single"
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
+ ]
31
+ %>
32
+
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" } %>
40
+ <% end %>
41
+ <% end %>
42
+
43
+ <% end %>
44
+ <% 5.times do%>
45
+ <br>
46
+ <%end%>
@@ -0,0 +1,9 @@
1
+ examples:
2
+
3
+ rails:
4
+ - filter_default: Default
5
+ - filter_single: Single
6
+
7
+ react:
8
+ - filter_default: Default
9
+
@@ -0,0 +1 @@
1
+ export { default as FilterDefault } from './_filter_default.jsx'
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Playbook
4
+ module PbFilter
5
+ class Filter
6
+ include Playbook::Props
7
+
8
+ partial "pb_filter/filter"
9
+
10
+ prop :filters, type: Playbook::Props::HashArray, default: [{name: ''}]
11
+ prop :sort_menu, type: Playbook::Props::HashArray, default: [{}]
12
+ prop :results, type: Playbook::Props::Numeric
13
+ prop :template, type: Playbook::Props::Enum,
14
+ values: %w[default single],
15
+ default: "default"
16
+
17
+
18
+ def classname
19
+ generate_classname("pb_filter_kit")
20
+ end
21
+
22
+ def sort_icon(direction)
23
+ case direction
24
+ when "asc"
25
+ "sort-amount-up"
26
+ when "des"
27
+ "sort-amount-down"
28
+ else
29
+ ""
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,43 @@
1
+ <%= pb_rails("card",props: {padding:"none"}) do%>
2
+ <%= pb_rails("flex", props: {orientation: "row", vertical: "center"}) do %>
3
+ <%= pb_rails("circle_icon_button", props: { variant: "secondary", icon: "filter", id:"filter"}) %>
4
+ <div class="maskContainer">
5
+ <div class="filters">
6
+ <div class="left_gradient"></div> <% object.filters.each do |filter| %>
7
+ <div class="filter">
8
+ <%= pb_rails("caption", props: { text: filter[:name]}) %>
9
+ <%= pb_rails("title", props: { size: 4, tag:"h4", text: filter[:value]}) %>
10
+ </div>
11
+ <% end %>
12
+ <div class="right_gradient"></div>
13
+ </div>
14
+ </div>
15
+ <% end %>
16
+ <%= pb_rails("section_separator") %>
17
+ <%= pb_rails("flex", props: {orientation: "row", vertical: "center", spacing: "between", classname: "filter-bottom"}) do %>
18
+ <%= pb_rails("title_count", props: {title: "Results:",count: object.results, align:"center"}) %>
19
+ <%= pb_rails("flex", props: {orientation: "row", vertical: "center"}) do %>
20
+ <%= pb_rails("caption", props: { text: "sort by:"}) %>
21
+ <%= pb_rails("button", props: {variant: "link" ,classname: "p-0 ml-3",id: "sort-button"}) do %>
22
+ <% object.sort_menu.each do |item| %>
23
+ <% if item[:active] == true %>
24
+ <%= item[:item] %>
25
+ <%= pb_rails("icon", props: { icon: object.sort_icon(item[:direction]), fixed_width: true }) %>
26
+ <%end%>
27
+ <% end %>
28
+ <% end %>
29
+ <% end %>
30
+ <% end %>
31
+ <% end %>
32
+
33
+ <%= pb_rails("popover", props: {trigger_element_id: "filter", tooltip_id: "filter-form", position: 'bottom'}) do %>
34
+ <%= capture(&object.children) %>
35
+ <% end %>
36
+
37
+ <%= pb_rails("popover", props: { trigger_element_id: "sort-button", tooltip_id: "sort-filter-btn-tooltip", position: 'bottom'}) do %>
38
+ <%= pb_rails("list") do %>
39
+ <% object.sort_menu.each do |item| %>
40
+ <%= pb_rails("list/item") do%> <%= pb_rails("button", props: {variant: "link" ,classname: "p-0", text: item[:item], link: item[:url]}) %><% end %>
41
+ <% end %>
42
+ <% end %>
43
+ <% end %>
@@ -0,0 +1,42 @@
1
+ <%= pb_rails("card",props: {padding:"none"}) do%>
2
+ <%= pb_rails("flex", props: {orientation: "row", vertical: "center"}) do %>
3
+ <%= pb_rails("circle_icon_button", props: { variant: "secondary", icon: "filter", id:"filter#{object.id}"}) %>
4
+
5
+ <div class="maskContainer">
6
+ <div class="filters">
7
+ <div class="left_gradient"></div>
8
+ <% object.filters.each do |filter| %>
9
+ <div class="filter">
10
+ <%= pb_rails("caption", props: { text: filter[:name]}) %>
11
+ <%= pb_rails("title", props: { size: 4, tag:"h4", text: filter[:value]}) %>
12
+ </div>
13
+ <% end %>
14
+ <div class="right_gradient"></div>
15
+ </div>
16
+ </div>
17
+
18
+ <%= pb_rails("caption", props: {text: "#{object.results} Results", size:"xs", classname:"filter-results"}) %>
19
+ <%= pb_rails("button", props: {variant: "link",id: "sort-button#{object.id}"}) do %>
20
+ <% object.sort_menu.each do |item| %>
21
+ <% if item[:active] == true %>
22
+ <%= item[:item] %>
23
+ <%= pb_rails("icon", props: { icon: object.sort_icon(item[:direction]), fixed_width: true }) %>
24
+ <%end%>
25
+ <% end %>
26
+ <% end %>
27
+
28
+
29
+ <% end %>
30
+ <% end %>
31
+
32
+ <%= pb_rails("popover", props: {trigger_element_id: "filter#{object.id}", tooltip_id: "filter-form#{object.id}", position: 'bottom'}) do %>
33
+ <%= capture(&object.children) %>
34
+ <% end %>
35
+
36
+ <%= pb_rails("popover", props: { trigger_element_id: "sort-button#{object.id}", tooltip_id: "sort-filter-btn-tooltip#{object.id}", position: 'bottom'}) do %>
37
+ <%= pb_rails("list") do %>
38
+ <% object.sort_menu.each do |item| %>
39
+ <%= pb_rails("list/item") do%> <%= pb_rails("button", props: {variant: "link" ,classname: "p-0", text: item[:item]}) %><% end %>
40
+ <% end %>
41
+ <% end %>
42
+ <% end %>
@@ -0,0 +1,2 @@
1
+
2
+ Fixed Confirmation Toast is used as an alert. Success is used when a user successfully completes an action. Error is used when there is an error and the user cannot proceed. Neutral is used to display information to a user to complete a task.
@@ -1,4 +1,4 @@
1
1
  <%= pb_rails("fixed_confirmation_toast", props: {
2
2
  text: "Scan to Assign Selected Items.\nClick X to close at any time",
3
3
  status: "tip",
4
- }) %>
4
+ }) %>
@@ -0,0 +1,2 @@
1
+
2
+ Multi-line is used when the given text will not fit on one line. Using Multi Line allows the height of the confirmation toast to grow.
@@ -0,0 +1 @@
1
+ This kit is used to build most of the complex interfaces. The Flex Kit is used the same way flex box is used.
@@ -0,0 +1 @@
1
+ Display: block
@@ -0,0 +1 @@
1
+ Display: inline
@@ -0,0 +1,10 @@
1
+ The `form` kit provides consumers with a convenient, consistently styled `<form>` wrapper.
2
+
3
+ ### Form Helpers
4
+
5
+ There are currently two form helper options for Rails: [`form_with`](https://apidock.com/rails/ActionView/Helpers/FormHelper/form_with) and [`simple_form`](https://github.com/heartcombo/simple_form).
6
+
7
+ **Note:** It is suggested to use `form_with` for newer or more progressive Rails applications and `simple_form` for older legacy forms where simple_form is already implemented and a complete overhaul might not make sense.
8
+
9
+ This kit does make use of other kits such as text_input, select and typeahead to name a few. Doing so provides UI consistency within forms and makes adding a form to your page easier.
10
+
@@ -0,0 +1,2 @@
1
+ ### Things to Avoid
2
+ Avoid using a form without validation if fields are required and using with validation if not required.
@@ -0,0 +1 @@
1
+ Validation displays an error with red border and red text below indicating that the user must fill out the field.
@@ -0,0 +1 @@
1
+ Validation displays an error with red border and red text below indicating that the user must fill out the field.
@@ -0,0 +1 @@
1
+ Hashtag is used to display home, project and other forms of IDs. They can be used as a link.
@@ -0,0 +1,2 @@
1
+ ### Things to Avoid
2
+ Do not use as a button.
@@ -0,0 +1 @@
1
+ Highlight is used to pick out or emphasize content.
@@ -0,0 +1,2 @@
1
+ ### Things to Avoid
2
+ Avoid highlighting words that don’t apply or whole content areas.
@@ -0,0 +1 @@
1
+ This kit can be used to display the address for a homeowner/project. It contains street address, APT format, City, state and zip. A Project hashtag can be used as a prop to link back to a project.
@@ -0,0 +1,2 @@
1
+ ## Things To Avoid
2
+ Don’t change the design format (Bold fonts and light fonts), and keep the text stacked. Do not use on a singe line.
@@ -0,0 +1 @@
1
+ Use this kit on tables, card displays, or on modals. It's versatile for displaying in the most condensed areas.
@@ -0,0 +1 @@
1
+ An icon is a graphic symbol that represents an object (ie a file) or a function. They can be used to give the user feedback.
@@ -0,0 +1,2 @@
1
+ ### Things to Avoid
2
+ Be careful of use cases where there should be a clickable area around the icon. Icon Circle Button may need to be used instead.
@@ -0,0 +1 @@
1
+ A spinner icon can show a user that something is loading or saving.
@@ -0,0 +1 @@
1
+ Icon Pull can be used to indicate that the user can perform a pull action.
@@ -0,0 +1 @@
1
+ Similar to Icon, Icon Circle is a graphical symbol within a circle used to visually indicate an object or function.
@@ -0,0 +1,2 @@
1
+ ### Things to Avoid
2
+ Be careful of use cases where Icon Circle Button may need to be used instead.
@@ -0,0 +1 @@
1
+ Icon Value leverages our icon kit, to display a value of some sort in the interface. Typically, this includes a numerical value.
@@ -0,0 +1 @@
1
+ A responsive image component.
@@ -0,0 +1 @@
1
+ This kit combines the caption and pill kit with all its variants.
@@ -0,0 +1,2 @@
1
+ ## Things to Avoid
2
+ Don’t overuse this kit. Try to keep it to a single use per row if implemented on a table. Make sure it’s not used in a way that may confuse the user to think it’s a button or clickable.
@@ -0,0 +1 @@
1
+ Use this kit to display a label and a value with a certain status or color to highlight its significance or meaning. It can be a good design use to highlight the value incase it is important.
@@ -0,0 +1 @@
1
+ This kit can be very versatile when used to display text data. It includes the caption kit and the body text kit.