playbook_ui 7.0.1.pre.alpha8 → 7.0.1.pre.alpha9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (263) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/playbook/application_controller.rb +2 -3
  3. data/app/controllers/playbook/pages_controller.rb +6 -2
  4. data/app/helpers/playbook/application_helper.rb +3 -3
  5. data/app/helpers/playbook/pb_doc_helper.rb +0 -1
  6. data/app/helpers/playbook/pb_kit_helper.rb +3 -5
  7. data/app/pb_kits/playbook/_playbook.scss +1 -0
  8. data/app/pb_kits/playbook/config/_kit_ui.html.erb +1 -1
  9. data/app/pb_kits/playbook/data/menu.yml +1 -0
  10. data/app/pb_kits/playbook/index.js +2 -0
  11. data/app/pb_kits/playbook/packs/examples.js +2 -1
  12. data/app/pb_kits/playbook/packs/site_styles/docs/_kit_doc.scss +4 -5
  13. data/app/pb_kits/playbook/packs/site_styles/docs/_markdown.scss +1 -1
  14. data/app/pb_kits/playbook/pb_body/_body.jsx +1 -1
  15. data/app/pb_kits/playbook/pb_body/_body.scss +17 -1
  16. data/app/pb_kits/playbook/pb_body/body.rb +1 -1
  17. data/app/pb_kits/playbook/pb_button/_button.jsx +1 -0
  18. data/app/pb_kits/playbook/pb_button/_button_mixins.scss +32 -18
  19. data/app/pb_kits/playbook/pb_button/docs/_button_default.jsx +2 -0
  20. data/app/pb_kits/playbook/pb_button/docs/_button_link.jsx +2 -0
  21. data/app/pb_kits/playbook/pb_button/docs/_button_loading.jsx +2 -0
  22. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.scss +16 -8
  23. data/app/pb_kits/playbook/pb_caption/_caption.jsx +3 -1
  24. data/app/pb_kits/playbook/pb_caption/_caption.scss +3 -0
  25. data/app/pb_kits/playbook/pb_caption/caption.rb +4 -1
  26. data/app/pb_kits/playbook/pb_caption/docs/_caption_variants.html.erb +1 -0
  27. data/app/pb_kits/playbook/pb_caption/docs/_caption_variants.jsx +16 -0
  28. data/app/pb_kits/playbook/pb_caption/docs/_caption_variants.md +3 -0
  29. data/app/pb_kits/playbook/pb_caption/docs/index.js +1 -0
  30. data/app/pb_kits/playbook/pb_card/_card_mixin.scss +1 -0
  31. data/app/pb_kits/playbook/pb_checkbox/_checkbox.scss +12 -6
  32. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_link.html.erb +2 -1
  33. data/app/pb_kits/playbook/pb_date_picker/_date_picker.html.erb +39 -0
  34. data/app/pb_kits/playbook/pb_date_picker/_date_picker.jsx +146 -0
  35. data/app/pb_kits/playbook/pb_date_picker/_date_picker.scss +37 -0
  36. data/app/pb_kits/playbook/pb_date_picker/date_picker.rb +85 -0
  37. data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.js +171 -0
  38. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_dark.html.erb +4 -0
  39. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_dark.jsx +13 -0
  40. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default.html.erb +1 -0
  41. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default.jsx +12 -0
  42. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.html.erb +24 -0
  43. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.jsx +30 -0
  44. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_disabled.html.erb +43 -0
  45. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_disabled.jsx +48 -0
  46. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_error.html.erb +4 -0
  47. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_error.jsx +13 -0
  48. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_format.html.erb +19 -0
  49. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_format.jsx +25 -0
  50. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_format.md +1 -0
  51. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_hide_icon.html.erb +4 -0
  52. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_hide_icon.jsx +13 -0
  53. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_hooks.html.erb +37 -0
  54. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_hooks.jsx +37 -0
  55. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_hooks.md +1 -0
  56. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_input.html.erb +26 -0
  57. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_input.jsx +32 -0
  58. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_input.md +3 -0
  59. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_label.html.erb +9 -0
  60. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_label.jsx +17 -0
  61. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_label.md +1 -0
  62. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_min_max.html.erb +14 -0
  63. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_min_max.jsx +22 -0
  64. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range.html.erb +4 -0
  65. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range.jsx +13 -0
  66. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_read_only.html.erb +4 -0
  67. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_read_only.jsx +13 -0
  68. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_read_only.md +1 -0
  69. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_year_range.html.erb +7 -0
  70. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_year_range.jsx +16 -0
  71. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_year_range.md +1 -0
  72. data/app/pb_kits/playbook/pb_date_picker/docs/_description.md +7 -0
  73. data/app/pb_kits/playbook/pb_date_picker/docs/example.yml +35 -0
  74. data/app/pb_kits/playbook/pb_date_picker/docs/index.js +14 -0
  75. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_calendar_input_icon.scss +32 -0
  76. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_day_styles.scss +53 -0
  77. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_flatpickr_styles.scss +785 -0
  78. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_header_styles.scss +108 -0
  79. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_overrides.scss +44 -0
  80. data/app/pb_kits/playbook/pb_date_time_stacked/docs/_date_time_stacked_dark.jsx +1 -1
  81. data/app/pb_kits/playbook/pb_date_time_stacked/docs/_date_time_stacked_default.jsx +1 -1
  82. data/app/pb_kits/playbook/pb_file_upload/_file_upload.jsx +1 -1
  83. data/app/pb_kits/playbook/pb_filter/_filter.scss +1 -1
  84. data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +1 -0
  85. data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +1 -0
  86. data/app/pb_kits/playbook/pb_form/docs/_form_simple_form.html.erb +2 -0
  87. data/app/pb_kits/playbook/pb_form/docs/_form_simple_form_validate.html.erb +2 -0
  88. data/app/pb_kits/playbook/pb_form/form_builder.rb +1 -0
  89. data/app/pb_kits/playbook/pb_form/form_builder/date_picker_field.rb +20 -0
  90. data/app/pb_kits/playbook/pb_form_pill/_form_pill.scss +5 -2
  91. data/app/pb_kits/playbook/pb_icon/docs/_icon_default_dark.html.erb +3 -1
  92. data/app/pb_kits/playbook/pb_icon/docs/_icon_default_dark.jsx +7 -5
  93. data/app/pb_kits/playbook/pb_label_value/docs/example.yml +1 -7
  94. data/app/pb_kits/playbook/pb_label_value/docs/index.js +0 -4
  95. data/app/pb_kits/playbook/pb_legend/docs/example.yml +1 -5
  96. data/app/pb_kits/playbook/pb_legend/docs/index.js +0 -2
  97. data/app/pb_kits/playbook/pb_list/docs/example.yml +1 -11
  98. data/app/pb_kits/playbook/pb_list/docs/index.js +0 -6
  99. data/app/pb_kits/playbook/pb_loading_inline/docs/example.yml +1 -3
  100. data/app/pb_kits/playbook/pb_loading_inline/docs/index.js +0 -1
  101. data/app/pb_kits/playbook/pb_multiple_users/docs/example.yml +1 -2
  102. data/app/pb_kits/playbook/pb_multiple_users/docs/index.js +0 -1
  103. data/app/pb_kits/playbook/pb_multiple_users_stacked/docs/example.yml +1 -2
  104. data/app/pb_kits/playbook/pb_multiple_users_stacked/docs/index.js +0 -1
  105. data/app/pb_kits/playbook/pb_nav/_horizontal_nav.scss +6 -4
  106. data/app/pb_kits/playbook/pb_nav/_nav.jsx +7 -2
  107. data/app/pb_kits/playbook/pb_nav/_vertical_nav.scss +18 -14
  108. data/app/pb_kits/playbook/pb_pill/docs/example.yml +1 -3
  109. data/app/pb_kits/playbook/pb_pill/docs/index.js +0 -1
  110. data/app/pb_kits/playbook/pb_progress_pills/docs/example.yml +1 -4
  111. data/app/pb_kits/playbook/pb_progress_pills/docs/index.js +0 -2
  112. data/app/pb_kits/playbook/pb_progress_step/docs/example.yml +0 -2
  113. data/app/pb_kits/playbook/pb_progress_step/docs/index.js +0 -1
  114. data/app/pb_kits/playbook/pb_progress_step/progress_step.rb +2 -2
  115. data/app/pb_kits/playbook/pb_progress_step/progress_step_item.rb +0 -1
  116. data/app/pb_kits/playbook/pb_radio/_radio.scss +9 -4
  117. data/app/pb_kits/playbook/pb_radio/docs/example.yml +0 -4
  118. data/app/pb_kits/playbook/pb_radio/docs/index.js +0 -3
  119. data/app/pb_kits/playbook/pb_section_separator/docs/example.yml +1 -2
  120. data/app/pb_kits/playbook/pb_section_separator/docs/index.js +0 -1
  121. data/app/pb_kits/playbook/pb_select/_select.scss +8 -4
  122. data/app/pb_kits/playbook/pb_select/docs/example.yml +1 -4
  123. data/app/pb_kits/playbook/pb_select/docs/index.js +0 -2
  124. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +6 -3
  125. data/app/pb_kits/playbook/pb_selectable_card/docs/example.yml +1 -2
  126. data/app/pb_kits/playbook/pb_selectable_card/docs/index.js +0 -1
  127. data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.jsx +9 -5
  128. data/app/pb_kits/playbook/pb_selectable_card_icon/docs/example.yml +1 -4
  129. data/app/pb_kits/playbook/pb_selectable_card_icon/docs/index.js +0 -1
  130. data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.jsx +9 -5
  131. data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.scss +35 -37
  132. data/app/pb_kits/playbook/pb_selectable_icon/docs/example.yml +1 -3
  133. data/app/pb_kits/playbook/pb_selectable_icon/docs/index.js +0 -1
  134. data/app/pb_kits/playbook/pb_table/docs/example.yml +1 -4
  135. data/app/pb_kits/playbook/pb_table/docs/index.js +0 -2
  136. data/app/pb_kits/playbook/pb_table/styles/_hover.scss +15 -12
  137. data/app/pb_kits/playbook/pb_table/styles/_mobile.scss +6 -4
  138. data/app/pb_kits/playbook/pb_table/styles/_table-dark.scss +6 -4
  139. data/app/pb_kits/playbook/pb_table/table.rb +3 -3
  140. data/app/pb_kits/playbook/pb_text_input/_text_input.html.erb +1 -0
  141. data/app/pb_kits/playbook/pb_text_input/_text_input.jsx +21 -17
  142. data/app/pb_kits/playbook/pb_text_input/_text_input.scss +4 -4
  143. data/app/pb_kits/playbook/pb_text_input/docs/example.yml +0 -5
  144. data/app/pb_kits/playbook/pb_text_input/docs/index.js +0 -2
  145. data/app/pb_kits/playbook/pb_text_input/text_input.rb +2 -0
  146. data/app/pb_kits/playbook/pb_textarea/docs/example.yml +1 -4
  147. data/app/pb_kits/playbook/pb_textarea/docs/index.js +0 -2
  148. data/app/pb_kits/playbook/pb_time/_time.jsx +7 -5
  149. data/app/pb_kits/playbook/pb_time/docs/_time_default.jsx +1 -3
  150. data/app/pb_kits/playbook/pb_time/docs/_time_timestamp.jsx +0 -3
  151. data/app/pb_kits/playbook/pb_time/docs/_time_timezone.jsx +59 -0
  152. data/app/pb_kits/playbook/pb_time/docs/_time_timezone.md +11 -0
  153. data/app/pb_kits/playbook/pb_time/docs/example.yml +1 -1
  154. data/app/pb_kits/playbook/pb_time/docs/index.js +1 -1
  155. data/app/pb_kits/playbook/pb_time_range_inline/docs/example.yml +0 -3
  156. data/app/pb_kits/playbook/pb_time_range_inline/docs/index.js +0 -1
  157. data/app/pb_kits/playbook/pb_time_stacked/docs/example.yml +1 -3
  158. data/app/pb_kits/playbook/pb_time_stacked/docs/index.js +0 -1
  159. data/app/pb_kits/playbook/pb_title/_title.jsx +1 -1
  160. data/app/pb_kits/playbook/pb_title/_title.scss +5 -5
  161. data/app/pb_kits/playbook/pb_title/docs/_title_variants.html.erb +1 -0
  162. data/app/pb_kits/playbook/pb_title/docs/_title_variants.jsx +17 -0
  163. data/app/pb_kits/playbook/pb_title/docs/_title_variants.md +3 -0
  164. data/app/pb_kits/playbook/pb_title/docs/example.yml +3 -2
  165. data/app/pb_kits/playbook/pb_title/docs/index.js +1 -1
  166. data/app/pb_kits/playbook/pb_title_count/docs/example.yml +0 -4
  167. data/app/pb_kits/playbook/pb_title_count/docs/index.js +0 -2
  168. data/app/pb_kits/playbook/pb_typeahead/_typeahead.scss +4 -2
  169. data/app/pb_kits/playbook/pb_user/docs/example.yml +1 -4
  170. data/app/pb_kits/playbook/pb_user/docs/index.js +0 -3
  171. data/app/pb_kits/playbook/pb_user_badge/docs/example.yml +0 -5
  172. data/app/pb_kits/playbook/pb_user_badge/docs/index.js +0 -1
  173. data/app/pb_kits/playbook/pb_weekday_stacked/docs/example.yml +0 -3
  174. data/app/pb_kits/playbook/pb_weekday_stacked/docs/index.js +0 -1
  175. data/app/pb_kits/playbook/vendor.js +6 -0
  176. data/app/views/layouts/playbook/_nav.html.erb +3 -4
  177. data/app/views/layouts/playbook/application.html.erb +2 -2
  178. data/app/views/playbook/pages/kit_show.html.erb +3 -3
  179. data/lib/playbook/version.rb +1 -2
  180. metadata +58 -85
  181. data/app/pb_kits/playbook/pb_label_value/docs/_label_value_dark.html.erb +0 -24
  182. data/app/pb_kits/playbook/pb_label_value/docs/_label_value_dark.jsx +0 -35
  183. data/app/pb_kits/playbook/pb_label_value/docs/_label_value_details_dark.html.erb +0 -43
  184. data/app/pb_kits/playbook/pb_label_value/docs/_label_value_details_dark.jsx +0 -54
  185. data/app/pb_kits/playbook/pb_label_value/docs/_label_value_details_examples_dark.html.erb +0 -80
  186. data/app/pb_kits/playbook/pb_label_value/docs/_label_value_details_examples_dark.jsx +0 -101
  187. data/app/pb_kits/playbook/pb_legend/docs/_legend_dark.html.erb +0 -5
  188. data/app/pb_kits/playbook/pb_legend/docs/_legend_dark.jsx +0 -21
  189. data/app/pb_kits/playbook/pb_legend/docs/_legend_dark_prefix.html.erb +0 -1
  190. data/app/pb_kits/playbook/pb_legend/docs/_legend_dark_prefix.jsx +0 -15
  191. data/app/pb_kits/playbook/pb_list/docs/_list_dark.html.erb +0 -7
  192. data/app/pb_kits/playbook/pb_list/docs/_list_dark.jsx +0 -19
  193. data/app/pb_kits/playbook/pb_list/docs/_list_dark_borderless.html.erb +0 -7
  194. data/app/pb_kits/playbook/pb_list/docs/_list_dark_borderless.jsx +0 -22
  195. data/app/pb_kits/playbook/pb_list/docs/_list_dark_lg.html.erb +0 -7
  196. data/app/pb_kits/playbook/pb_list/docs/_list_dark_lg.jsx +0 -22
  197. data/app/pb_kits/playbook/pb_list/docs/_list_dark_ordered.html.erb +0 -7
  198. data/app/pb_kits/playbook/pb_list/docs/_list_dark_ordered.jsx +0 -22
  199. data/app/pb_kits/playbook/pb_list/docs/_list_dark_xpadding.html.erb +0 -7
  200. data/app/pb_kits/playbook/pb_list/docs/_list_dark_xpadding.jsx +0 -22
  201. data/app/pb_kits/playbook/pb_loading_inline/docs/_loading_inline_dark.html.erb +0 -13
  202. data/app/pb_kits/playbook/pb_loading_inline/docs/_loading_inline_dark.jsx +0 -20
  203. data/app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_dark.html.erb +0 -41
  204. data/app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_dark.jsx +0 -52
  205. data/app/pb_kits/playbook/pb_multiple_users_stacked/docs/_multiple_users_stacked_dark.html.erb +0 -53
  206. data/app/pb_kits/playbook/pb_multiple_users_stacked/docs/_multiple_users_stacked_dark.jsx +0 -62
  207. data/app/pb_kits/playbook/pb_pill/docs/_pill_dark.html.erb +0 -52
  208. data/app/pb_kits/playbook/pb_pill/docs/_pill_dark.jsx +0 -69
  209. data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_dark.html.erb +0 -1
  210. data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_dark.jsx +0 -20
  211. data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_status_dark.html.erb +0 -1
  212. data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_status_dark.jsx +0 -19
  213. data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_dark.html.erb +0 -34
  214. data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_dark.jsx +0 -18
  215. data/app/pb_kits/playbook/pb_radio/docs/_radio_dark.html.erb +0 -25
  216. data/app/pb_kits/playbook/pb_radio/docs/_radio_dark.jsx +0 -33
  217. data/app/pb_kits/playbook/pb_radio/docs/_radio_dark_error.html.erb +0 -7
  218. data/app/pb_kits/playbook/pb_radio/docs/_radio_dark_error.jsx +0 -17
  219. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_dark.html.erb +0 -1
  220. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_dark.jsx +0 -14
  221. data/app/pb_kits/playbook/pb_select/docs/_select_dark.html.erb +0 -24
  222. data/app/pb_kits/playbook/pb_select/docs/_select_dark.jsx +0 -33
  223. data/app/pb_kits/playbook/pb_select/docs/_select_dark_error.html.erb +0 -25
  224. data/app/pb_kits/playbook/pb_select/docs/_select_dark_error.jsx +0 -39
  225. data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_dark.html.erb +0 -45
  226. data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_dark.jsx +0 -72
  227. data/app/pb_kits/playbook/pb_selectable_card_icon/docs/_selectable_card_icon_dark.html.erb +0 -30
  228. data/app/pb_kits/playbook/pb_selectable_card_icon/docs/_selectable_card_icon_dark.jsx +0 -40
  229. data/app/pb_kits/playbook/pb_selectable_icon/docs/_selectable_icon_dark.html.erb +0 -26
  230. data/app/pb_kits/playbook/pb_selectable_icon/docs/_selectable_icon_dark.jsx +0 -43
  231. data/app/pb_kits/playbook/pb_table/docs/_table_container_dark.html.erb +0 -34
  232. data/app/pb_kits/playbook/pb_table/docs/_table_container_dark.jsx +0 -47
  233. data/app/pb_kits/playbook/pb_table/docs/_table_dark.html.erb +0 -34
  234. data/app/pb_kits/playbook/pb_table/docs/_table_dark.jsx +0 -46
  235. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_dark.html.erb +0 -5
  236. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_dark.jsx +0 -78
  237. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_dark_error.html.erb +0 -14
  238. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_dark_error.jsx +0 -18
  239. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_dark.html.erb +0 -9
  240. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_dark.jsx +0 -34
  241. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_dark_error.html.erb +0 -6
  242. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_dark_error.jsx +0 -19
  243. data/app/pb_kits/playbook/pb_time/docs/_time_dark.jsx +0 -28
  244. data/app/pb_kits/playbook/pb_time_range_inline/docs/_time_range_inline_dark.html.erb +0 -72
  245. data/app/pb_kits/playbook/pb_time_range_inline/docs/_time_range_inline_dark.jsx +0 -81
  246. data/app/pb_kits/playbook/pb_time_stacked/docs/_time_stacked_dark.html.erb +0 -1
  247. data/app/pb_kits/playbook/pb_time_stacked/docs/_time_stacked_dark.jsx +0 -15
  248. data/app/pb_kits/playbook/pb_title/docs/_title_dark.html.erb +0 -8
  249. data/app/pb_kits/playbook/pb_title/docs/_title_dark.jsx +0 -35
  250. data/app/pb_kits/playbook/pb_title_count/docs/_title_count_align_dark.html.erb +0 -23
  251. data/app/pb_kits/playbook/pb_title_count/docs/_title_count_align_dark.jsx +0 -34
  252. data/app/pb_kits/playbook/pb_title_count/docs/_title_count_dark.html.erb +0 -23
  253. data/app/pb_kits/playbook/pb_title_count/docs/_title_count_dark.jsx +0 -34
  254. data/app/pb_kits/playbook/pb_title_detail/docs/_title_detail_dark.html.erb +0 -19
  255. data/app/pb_kits/playbook/pb_title_detail/docs/_title_detail_dark.jsx +0 -29
  256. data/app/pb_kits/playbook/pb_user/docs/_user_dark.html.erb +0 -42
  257. data/app/pb_kits/playbook/pb_user/docs/_user_dark.jsx +0 -55
  258. data/app/pb_kits/playbook/pb_user/docs/_user_text_only_dark.html.erb +0 -19
  259. data/app/pb_kits/playbook/pb_user/docs/_user_text_only_dark.jsx +0 -26
  260. data/app/pb_kits/playbook/pb_user_badge/docs/_user_badge_dark.html.erb +0 -13
  261. data/app/pb_kits/playbook/pb_user_badge/docs/_user_badge_dark.jsx +0 -27
  262. data/app/pb_kits/playbook/pb_weekday_stacked/docs/_weekday_stacked_dark.html.erb +0 -1
  263. data/app/pb_kits/playbook/pb_weekday_stacked/docs/_weekday_stacked_dark.jsx +0 -14
@@ -0,0 +1,171 @@
1
+ import flatpickr from 'flatpickr'
2
+
3
+ const datePickerHelper = (config) => {
4
+ const {
5
+ defaultDate,
6
+ disableDate,
7
+ disableRange,
8
+ disableWeekdays,
9
+ format,
10
+ hideIcon,
11
+ maxDate,
12
+ minDate,
13
+ mode,
14
+ pickerId,
15
+ readOnly,
16
+ yearRange,
17
+ } = config
18
+
19
+ // ===========================================================
20
+ // | Hook Definitions |
21
+ // ===========================================================
22
+
23
+ const defaultDateGetter = () => {
24
+ if (defaultDate !== '') {
25
+ if (defaultDate === 'blank') {
26
+ return ''
27
+ } else {
28
+ return defaultDate
29
+ }
30
+ }
31
+ if (mode === 'single' && defaultDate === '') {
32
+ return new Date()
33
+ } else if (mode === 'range' && defaultDate === '') {
34
+ const today = new Date()
35
+ const tomorrow = new Date(today)
36
+ tomorrow.setDate(tomorrow.getDate() + 1)
37
+ return [today, tomorrow]
38
+ }
39
+ }
40
+ const disabledParser = () => {
41
+ if (disableDate && disableDate.length > 0) {
42
+ return disableDate
43
+ } else if (disableRange && disableRange.length > 0) {
44
+ return disableRange
45
+ } else {
46
+ return []
47
+ }
48
+ }
49
+ const calendarResizer = () => {
50
+ const cal = document.querySelector(`#cal-${pickerId}.open`)
51
+ const parentInput = cal.parentElement
52
+ if (cal.getBoundingClientRect().right > window.innerWidth) {
53
+ parentInput.style.display = 'flex'
54
+ parentInput.style.justifyContent = 'center'
55
+ }
56
+ if (cal.offsetWidth <= parentInput.offsetWidth) {
57
+ parentInput.style.display = ''
58
+ parentInput.style.justifyContent = ''
59
+ }
60
+ }
61
+
62
+ // ===========================================================
63
+ // | Flatpickr initializer w/ config |
64
+ // ===========================================================
65
+
66
+ flatpickr(`#${pickerId}`, {
67
+ disableMobile: true,
68
+ allowInput: !readOnly,
69
+ dateFormat: format,
70
+ defaultDate: defaultDateGetter(),
71
+ disable: disableWeekdays && disableWeekdays.length > 0 ? [
72
+ (date) => {
73
+ const weekdayObj = {
74
+ Sunday: 0,
75
+ Monday: 1,
76
+ Tuesday: 2,
77
+ Wednesday: 3,
78
+ Thursday: 4,
79
+ Friday: 5,
80
+ Saturday: 6,
81
+ }
82
+ return (
83
+ date.getDay() === weekdayObj[disableWeekdays[0]] ||
84
+ date.getDay() === weekdayObj[disableWeekdays[1]] ||
85
+ date.getDay() === weekdayObj[disableWeekdays[2]] ||
86
+ date.getDay() === weekdayObj[disableWeekdays[3]] ||
87
+ date.getDay() === weekdayObj[disableWeekdays[4]] ||
88
+ date.getDay() === weekdayObj[disableWeekdays[5]] ||
89
+ date.getDay() === weekdayObj[disableWeekdays[6]]
90
+ )
91
+ },
92
+ ] : disabledParser(),
93
+ maxDate: maxDate,
94
+ minDate: minDate,
95
+ mode: mode,
96
+ nextArrow: '<i class="far fa-angle-right"></i>',
97
+ onOpen: [() => {
98
+ calendarResizer()
99
+ window.addEventListener('resize', calendarResizer)
100
+ }],
101
+ onClose: [() => {
102
+ window.removeEventListener('resize', calendarResizer)
103
+ }],
104
+ onYearChange: [],
105
+ prevArrow: '<i class="far fa-angle-left"></i>',
106
+ static: true,
107
+ })
108
+
109
+ // ===========================================================
110
+ // Additional JS Functionality |
111
+ // ===========================================================
112
+
113
+ // Assign dynamically sourced flatpickr instance to variable
114
+ const picker = document.querySelector(`#${pickerId}`)._flatpickr
115
+ picker.innerContainer.parentElement.id = `cal-${pickerId}`
116
+
117
+ // replace year selector with dropdown
118
+ picker.yearElements[0].parentElement.innerHTML = `<select class="numInput cur-year" type="number" tabIndex="-1" aria-label="Year" id="year-${pickerId}"></select>`
119
+
120
+ // create html option tags for desired years
121
+ let years = ''
122
+ for (let year = yearRange[1]; year >= yearRange[0]; year--) {
123
+ years += `<option value="${year}">${year}</option>`
124
+ }
125
+
126
+ // variablize each dropdown selecttor
127
+ const dropdown = document.querySelector(`#year-${pickerId}`)
128
+
129
+ // inject year options into dropdown and assign it the flatpickr's current year value
130
+ dropdown.innerHTML = years
131
+ dropdown.value = picker.currentYear
132
+
133
+ // whenever a new year is selected from dropdown update flatpickr's current year value
134
+ dropdown.addEventListener('input', (e) => {
135
+ picker.changeYear(Number(e.target.value))
136
+ })
137
+
138
+ // two way binding
139
+ const yearChangeHook = () => {
140
+ dropdown.value = picker.currentYear
141
+ }
142
+ picker.config.onYearChange.push(yearChangeHook)
143
+
144
+ // click handling for Calendar Icon
145
+ if (!hideIcon){
146
+ document.querySelector(`#cal-icon-${pickerId}`).addEventListener('click', () => {
147
+ picker.toggle()
148
+ })
149
+ }
150
+
151
+ // Adding dropdown icons to year and month selects
152
+ picker.monthElements[0].insertAdjacentHTML('afterend', '<i class="far fa-angle-down month-dropdown-icon"></i>')
153
+ dropdown.insertAdjacentHTML('afterend', '<i class="far fa-angle-down year-dropdown-icon" id="test-id"></i>')
154
+
155
+ // Set input value attribute on page load
156
+ picker.input.setAttribute('value', picker.input.value)
157
+ // logic for updating value when typing
158
+ document.querySelector(`#${pickerId}`).addEventListener('input', (e) => {
159
+ picker.input.setAttribute('value', e.target.value)
160
+ const variant = picker.config.mode
161
+ if (variant === 'single' && e.target.value.split('').length === 10) {
162
+ picker.setDate(e.target.value)
163
+ dropdown.value = picker.currentYear
164
+ } else if (variant === 'range' && e.target.value.split('').length === 24) {
165
+ picker.setDate(e.target.value)
166
+ dropdown.value = picker.currentYear
167
+ }
168
+ })
169
+ }
170
+
171
+ export default datePickerHelper
@@ -0,0 +1,4 @@
1
+ <%= pb_rails("date_picker", props: {
2
+ dark: true,
3
+ picker_id: "date-picker-dark"
4
+ }) %>
@@ -0,0 +1,13 @@
1
+ import React from 'react'
2
+ import { DatePicker } from '../../'
3
+
4
+ const DatePickerDark = () => (
5
+ <div>
6
+ <DatePicker
7
+ dark
8
+ pickerId="date-picker-dark"
9
+ />
10
+ </div>
11
+ )
12
+
13
+ export default DatePickerDark
@@ -0,0 +1 @@
1
+ <%= pb_rails("date_picker", props: { picker_id: "date-picker-default" }) %>
@@ -0,0 +1,12 @@
1
+ import React from 'react'
2
+ import { DatePicker } from '../../'
3
+
4
+ const DatePickerDefault = () => (
5
+ <div>
6
+ <DatePicker
7
+ pickerId="date-picker-default"
8
+ />
9
+ </div>
10
+ )
11
+
12
+ export default DatePickerDefault
@@ -0,0 +1,24 @@
1
+ <%= pb_rails("date_picker", props: {
2
+ default_date: "07/31/2020",
3
+ label: "Default Date String",
4
+ picker_id: "date-picker-default-date1"
5
+ }) %>
6
+
7
+ <%= pb_rails("date_picker", props: {
8
+ default_date: (Date.today + 2).httpdate,
9
+ label: "Default Date Dynamic",
10
+ picker_id: "date-picker-default-date2"
11
+ }) %>
12
+
13
+ <%= pb_rails("date_picker", props: {
14
+ default_date: [(Date.today).httpdate, (Date.today + 7).httpdate],
15
+ label: "Default Date Range",
16
+ mode: "range",
17
+ picker_id: "date-picker-default-date3"
18
+ }) %>
19
+
20
+ <%= pb_rails("date_picker", props: {
21
+ default_date: "blank",
22
+ label: "Blank",
23
+ picker_id: "date-picker-default-date4"
24
+ }) %>
@@ -0,0 +1,30 @@
1
+ import React from 'react'
2
+ import { DatePicker } from '../../'
3
+
4
+ const DatePickerDefaultDate = () => (
5
+ <div>
6
+ <DatePicker
7
+ defaultDate="07/31/2020"
8
+ label="Default Date String"
9
+ pickerId="date-picker-default-date1"
10
+ />
11
+ <DatePicker
12
+ defaultDate={new Date().fp_incr(1)}
13
+ label="Default Date Dynamic"
14
+ pickerId="date-picker-default-date2"
15
+ />
16
+ <DatePicker
17
+ defaultDate={[new Date(), new Date().fp_incr(6)]}
18
+ label="Default Date Range"
19
+ mode="range"
20
+ pickerId="date-picker-default-date3"
21
+ />
22
+ <DatePicker
23
+ defaultDate="blank"
24
+ label="Blank"
25
+ pickerId="date-picker-default-date4"
26
+ />
27
+ </div>
28
+ )
29
+
30
+ export default DatePickerDefaultDate
@@ -0,0 +1,43 @@
1
+ <%= pb_rails("date_picker", props: {
2
+ disable_date: [(Date.today + 1).httpdate],
3
+ label: "Disable Single Date",
4
+ picker_id: "single-disabled-date"
5
+ }) %>
6
+
7
+ <%= pb_rails("date_picker", props: {
8
+ disable_date: [(Date.today + 1).httpdate, (Date.today + 3).httpdate],
9
+ label: "Disable Multiple Dates",
10
+ picker_id: "multiple-disabled-dates"
11
+ }) %>
12
+
13
+ <%= pb_rails("date_picker", props: {
14
+ disable_range: [
15
+ {
16
+ from: (Date.today + 1).httpdate,
17
+ to: (Date.today + 7).httpdate,
18
+ },
19
+ ],
20
+ label: "Disable Single Range",
21
+ picker_id: "single-date-range"
22
+ }) %>
23
+
24
+ <%= pb_rails("date_picker", props: {
25
+ disable_range: [
26
+ {
27
+ from: (Date.today + 1).httpdate,
28
+ to: (Date.today + 3).httpdate,
29
+ },
30
+ {
31
+ from: (Date.today + 7).httpdate,
32
+ to: (Date.today + 14).httpdate,
33
+ },
34
+ ],
35
+ label: "Disable Multiple Ranges",
36
+ picker_id: "multiple-date-ranges"
37
+ }) %>
38
+
39
+ <%= pb_rails("date_picker", props: {
40
+ disable_weekdays: ['Sunday', 'Saturday'],
41
+ label: "Disable Specific Weekdays",
42
+ picker_id: "disabled-weekdays"
43
+ }) %>
@@ -0,0 +1,48 @@
1
+ import React from 'react'
2
+ import { DatePicker } from '../../'
3
+
4
+ const DatePickerDisabled = () => (
5
+ <div>
6
+ <DatePicker
7
+ disableDate={[new Date().fp_incr(1)]}
8
+ label="Disable Single Date"
9
+ pickerId="single-disabled-date"
10
+ />
11
+ <DatePicker
12
+ disableDate={[new Date().fp_incr(1), new Date().fp_incr(3)]}
13
+ label="Disable Multiple Dates"
14
+ pickerId="multiple-disabled-dates"
15
+ />
16
+ <DatePicker
17
+ disableRange={[
18
+ {
19
+ from: new Date().fp_incr(1),
20
+ to: new Date().fp_incr(7),
21
+ },
22
+ ]}
23
+ label="Disable Single Range"
24
+ pickerId="single-date-range"
25
+ />
26
+ <DatePicker
27
+ disableRange={[
28
+ {
29
+ from: new Date().fp_incr(1),
30
+ to: new Date().fp_incr(3),
31
+ },
32
+ {
33
+ from: new Date().fp_incr(7),
34
+ to: new Date().fp_incr(14),
35
+ },
36
+ ]}
37
+ label="Disable Multiple Ranges"
38
+ pickerId="multiple-date-ranges"
39
+ />
40
+ <DatePicker
41
+ disableWeekdays={['Sunday', 'Saturday']}
42
+ label="Disable Specific Weekdays"
43
+ pickerId="disabled-weekdays"
44
+ />
45
+ </div>
46
+ )
47
+
48
+ export default DatePickerDisabled
@@ -0,0 +1,4 @@
1
+ <%= pb_rails("date_picker", props: {
2
+ error: "Invalid date. Please pick a valid date.",
3
+ picker_id: "date-picker-error"
4
+ }) %>
@@ -0,0 +1,13 @@
1
+ import React from 'react'
2
+ import { DatePicker } from '../../'
3
+
4
+ const DatePickerError = () => (
5
+ <div>
6
+ <DatePicker
7
+ error="Invalid date. Please pick a valid date."
8
+ pickerId="date-picker-error"
9
+ />
10
+ </div>
11
+ )
12
+
13
+ export default DatePickerError
@@ -0,0 +1,19 @@
1
+ <%= pb_rails("date_picker", props: {
2
+ format: "m-d-Y",
3
+ picker_id: "date-picker-format1"
4
+ }) %>
5
+
6
+ <%= pb_rails("date_picker", props: {
7
+ format: "m/d/y",
8
+ picker_id: "date-picker-format2"
9
+ }) %>
10
+
11
+ <%= pb_rails("date_picker", props: {
12
+ format: "n-j-y",
13
+ picker_id: "date-picker-format3"
14
+ }) %>
15
+
16
+ <%= pb_rails("date_picker", props: {
17
+ format: "Y-d-m",
18
+ picker_id: "date-picker-format4"
19
+ }) %>
@@ -0,0 +1,25 @@
1
+ import React from 'react'
2
+ import { DatePicker } from '../../'
3
+
4
+ const DatePickerFormat = () => (
5
+ <div>
6
+ <DatePicker
7
+ format="m-d-Y"
8
+ pickerId="date-picker-format1"
9
+ />
10
+ <DatePicker
11
+ format="m/d/y"
12
+ pickerId="date-picker-format2"
13
+ />
14
+ <DatePicker
15
+ format="n-j-y"
16
+ pickerId="date-picker-format3"
17
+ />
18
+ <DatePicker
19
+ format="Y-d-m"
20
+ pickerId="date-picker-format4"
21
+ />
22
+ </div>
23
+ )
24
+
25
+ export default DatePickerFormat
@@ -0,0 +1 @@
1
+ A full list of formatting tokens, i.e. `"m/d/Y"` can be found [here](https://flatpickr.js.org/formatting/).
@@ -0,0 +1,4 @@
1
+ <%= pb_rails("date_picker", props: {
2
+ hide_icon: true,
3
+ picker_id: "date-picker-hide-icon"
4
+ }) %>
@@ -0,0 +1,13 @@
1
+ import React from 'react'
2
+ import { DatePicker } from '../../'
3
+
4
+ const DatePickerHideIcon = () => (
5
+ <div>
6
+ <DatePicker
7
+ hideIcon
8
+ pickerId="date-picker-hide-icon"
9
+ />
10
+ </div>
11
+ )
12
+
13
+ export default DatePickerHideIcon