playbook_ui 6.0.1 → 6.1.0.pre.alpha5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (205) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +4 -1
  3. data/app/pb_kits/playbook/data/menu.yml +5 -2
  4. data/app/pb_kits/playbook/index.js +4 -0
  5. data/app/pb_kits/playbook/packs/examples.js +7 -0
  6. data/app/pb_kits/playbook/pb_avatar/_avatar.jsx +2 -2
  7. data/app/pb_kits/playbook/pb_badge/_badge.jsx +2 -5
  8. data/app/pb_kits/playbook/pb_badge/_badge.scss +1 -1
  9. data/app/pb_kits/playbook/pb_badge/badge.rb +1 -6
  10. data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.jsx +2 -2
  11. data/app/pb_kits/playbook/pb_body/_body.jsx +3 -6
  12. data/app/pb_kits/playbook/pb_body/_body.scss +6 -0
  13. data/app/pb_kits/playbook/pb_body/body.rb +2 -8
  14. data/app/pb_kits/playbook/pb_button/_button.jsx +2 -5
  15. data/app/pb_kits/playbook/pb_button/_button.scss +1 -1
  16. data/app/pb_kits/playbook/pb_button/button.rb +1 -7
  17. data/app/pb_kits/playbook/pb_button/docs/_button_default.jsx +2 -0
  18. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.html.erb +7 -0
  19. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.jsx +52 -0
  20. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.scss +101 -0
  21. data/app/pb_kits/playbook/pb_button_toolbar/button_toolbar.rb +29 -0
  22. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_default.html.erb +7 -0
  23. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_default.jsx +29 -0
  24. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_secondary.html.erb +7 -0
  25. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_secondary.jsx +34 -0
  26. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_vertical.html.erb +11 -0
  27. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_vertical.jsx +29 -0
  28. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_vertical_secondary.html.erb +11 -0
  29. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_vertical_secondary.jsx +34 -0
  30. data/app/pb_kits/playbook/pb_button_toolbar/docs/_description.md +1 -0
  31. data/app/pb_kits/playbook/pb_button_toolbar/docs/example.yml +15 -0
  32. data/app/pb_kits/playbook/pb_button_toolbar/docs/index.js +4 -0
  33. data/app/pb_kits/playbook/pb_caption/_caption.jsx +3 -7
  34. data/app/pb_kits/playbook/pb_caption/_caption.scss +0 -4
  35. data/app/pb_kits/playbook/pb_caption/caption.rb +1 -8
  36. data/app/pb_kits/playbook/pb_card/_card.jsx +17 -14
  37. data/app/pb_kits/playbook/pb_card/_card.scss +4 -1
  38. data/app/pb_kits/playbook/pb_card/card.rb +2 -9
  39. data/app/pb_kits/playbook/pb_card/docs/_card_dark.html.erb +1 -1
  40. data/app/pb_kits/playbook/pb_checkbox/_checkbox.jsx +2 -2
  41. data/app/pb_kits/playbook/pb_checkbox/checkbox.rb +1 -8
  42. data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.jsx +2 -2
  43. data/app/pb_kits/playbook/pb_circle_icon_button/circle_icon_button.rb +0 -2
  44. data/app/pb_kits/playbook/pb_contact/_contact.jsx +2 -2
  45. data/app/pb_kits/playbook/pb_currency/_currency.jsx +2 -2
  46. data/app/pb_kits/playbook/pb_dashboard/pbChartsLightTheme.js +26 -0
  47. data/app/pb_kits/playbook/pb_dashboard_value/_dashboard_value.jsx +2 -2
  48. data/app/pb_kits/playbook/pb_date/_date.jsx +4 -4
  49. data/app/pb_kits/playbook/pb_date_picker/_date_picker.html.erb +40 -0
  50. data/app/pb_kits/playbook/pb_date_picker/_date_picker.jsx +105 -0
  51. data/app/pb_kits/playbook/pb_date_picker/_date_picker.scss +846 -0
  52. data/app/pb_kits/playbook/pb_date_picker/date_picker.rb +43 -0
  53. data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.js +91 -0
  54. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default.html.erb +1 -0
  55. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default.jsx +12 -0
  56. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.html.erb +24 -0
  57. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.jsx +30 -0
  58. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_disabled.html.erb +43 -0
  59. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_disabled.jsx +48 -0
  60. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_error.html.erb +4 -0
  61. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_error.jsx +13 -0
  62. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_format.html.erb +19 -0
  63. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_format.jsx +25 -0
  64. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_label.html.erb +9 -0
  65. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_label.jsx +17 -0
  66. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_min_max.html.erb +14 -0
  67. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_min_max.jsx +22 -0
  68. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range.html.erb +4 -0
  69. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range.jsx +13 -0
  70. data/app/pb_kits/playbook/pb_date_picker/docs/example.yml +23 -0
  71. data/app/pb_kits/playbook/pb_date_picker/docs/index.js +8 -0
  72. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.jsx +2 -2
  73. data/app/pb_kits/playbook/pb_date_range_stacked/_date_range_stacked.jsx +2 -2
  74. data/app/pb_kits/playbook/pb_date_stacked/_date_stacked.jsx +2 -2
  75. data/app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.jsx +2 -2
  76. data/app/pb_kits/playbook/pb_date_year_stacked/_date_year_stacked.jsx +2 -2
  77. data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.jsx +2 -2
  78. data/app/pb_kits/playbook/pb_file_upload/_file_upload.jsx +2 -2
  79. data/app/pb_kits/playbook/pb_filter/Filter/FilterBackground.jsx +2 -2
  80. data/app/pb_kits/playbook/pb_filter/docs/_filter_default.html.erb +2 -1
  81. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.jsx +2 -2
  82. data/app/pb_kits/playbook/pb_flex/_flex.jsx +2 -2
  83. data/app/pb_kits/playbook/pb_flex/_flex_item.jsx +2 -2
  84. data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +2 -1
  85. data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +2 -1
  86. data/app/pb_kits/playbook/pb_form/docs/_form_simple_form.html.erb +3 -1
  87. data/app/pb_kits/playbook/pb_form/docs/_form_simple_form_validate.html.erb +3 -1
  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 +41 -0
  90. data/app/pb_kits/playbook/pb_form_pill/_form_pill.jsx +2 -2
  91. data/app/pb_kits/playbook/pb_gauge/_gauge.html.erb +12 -0
  92. data/app/pb_kits/playbook/pb_gauge/_gauge.jsx +110 -0
  93. data/app/pb_kits/playbook/pb_gauge/_gauge.scss +11 -0
  94. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_default.html.erb +11 -0
  95. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_default.jsx +17 -0
  96. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_disable_animation.html.erb +12 -0
  97. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_disable_animation.jsx +18 -0
  98. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_full_circle.html.erb +14 -0
  99. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_full_circle.jsx +20 -0
  100. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_height.html.erb +15 -0
  101. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_height.jsx +23 -0
  102. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_live_data.jsx +40 -0
  103. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.html.erb +15 -0
  104. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.jsx +21 -0
  105. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.md +1 -0
  106. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.html.erb +26 -0
  107. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.jsx +37 -0
  108. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.md +1 -0
  109. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_title.html.erb +14 -0
  110. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_title.jsx +20 -0
  111. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units.html.erb +29 -0
  112. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units.jsx +29 -0
  113. data/app/pb_kits/playbook/pb_gauge/docs/example.yml +24 -0
  114. data/app/pb_kits/playbook/pb_gauge/docs/index.js +9 -0
  115. data/app/pb_kits/playbook/pb_gauge/gauge.rb +57 -0
  116. data/app/pb_kits/playbook/pb_hashtag/_hashtag.jsx +2 -2
  117. data/app/pb_kits/playbook/pb_highlight/_highlight.jsx +2 -2
  118. data/app/pb_kits/playbook/pb_home_address_street/_home_address_street.jsx +2 -2
  119. data/app/pb_kits/playbook/pb_icon/_icon.jsx +2 -2
  120. data/app/pb_kits/playbook/pb_icon_circle/_icon_circle.jsx +2 -2
  121. data/app/pb_kits/playbook/pb_icon_value/_icon_value.jsx +2 -2
  122. data/app/pb_kits/playbook/pb_image/_image.jsx +2 -2
  123. data/app/pb_kits/playbook/pb_kit/dateTime.js +5 -1
  124. data/app/pb_kits/playbook/pb_label_pill/_label_pill.jsx +2 -2
  125. data/app/pb_kits/playbook/pb_label_value/_label_value.jsx +2 -2
  126. data/app/pb_kits/playbook/pb_layout/_layout.jsx +6 -6
  127. data/app/pb_kits/playbook/pb_legend/_legend.jsx +2 -2
  128. data/app/pb_kits/playbook/pb_line_graph/_line_graph.jsx +2 -2
  129. data/app/pb_kits/playbook/pb_list/_list.jsx +2 -2
  130. data/app/pb_kits/playbook/pb_list/_list_item.jsx +2 -2
  131. data/app/pb_kits/playbook/pb_loading_inline/_loading_inline.jsx +2 -2
  132. data/app/pb_kits/playbook/pb_logistic/_logistic.jsx +111 -0
  133. data/app/pb_kits/playbook/pb_message/_message.jsx +2 -2
  134. data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.jsx +2 -2
  135. data/app/pb_kits/playbook/pb_multiple_users_stacked/_multiple_users_stacked.jsx +2 -2
  136. data/app/pb_kits/playbook/pb_nav/_nav.jsx +2 -2
  137. data/app/pb_kits/playbook/pb_online_status/_online_status.jsx +2 -2
  138. data/app/pb_kits/playbook/pb_person/_person.jsx +2 -2
  139. data/app/pb_kits/playbook/pb_person_contact/_person_contact.jsx +2 -2
  140. data/app/pb_kits/playbook/pb_pill/_pill.jsx +2 -2
  141. data/app/pb_kits/playbook/pb_popover/_popover.jsx +2 -2
  142. data/app/pb_kits/playbook/pb_popover/docs/_popover_list.jsx +5 -5
  143. data/app/pb_kits/playbook/pb_progress_pills/_progress_pills.jsx +2 -2
  144. data/app/pb_kits/playbook/pb_progress_simple/_progress_simple.jsx +2 -2
  145. data/app/pb_kits/playbook/pb_progress_step/_progress_step.jsx +2 -2
  146. data/app/pb_kits/playbook/pb_radio/_radio.jsx +2 -2
  147. data/app/pb_kits/playbook/pb_section_separator/_section_separator.jsx +2 -2
  148. data/app/pb_kits/playbook/pb_select/_select.jsx +2 -2
  149. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.jsx +12 -16
  150. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +1 -1
  151. data/app/pb_kits/playbook/pb_selectable_card/selectable_card.rb +1 -7
  152. data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.jsx +26 -26
  153. data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.scss +1 -1
  154. data/app/pb_kits/playbook/pb_selectable_card_icon/selectable_card_icon.rb +1 -8
  155. data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.jsx +8 -10
  156. data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.scss +1 -1
  157. data/app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb +1 -7
  158. data/app/pb_kits/playbook/pb_stat_change/_stat_change.jsx +2 -2
  159. data/app/pb_kits/playbook/pb_stat_value/_stat_value.jsx +2 -2
  160. data/app/pb_kits/playbook/pb_table/_table.jsx +2 -2
  161. data/app/pb_kits/playbook/pb_table/_table_row.jsx +2 -2
  162. data/app/pb_kits/playbook/pb_text_input/_text_input.jsx +2 -2
  163. data/app/pb_kits/playbook/pb_textarea/_textarea.html.erb +1 -1
  164. data/app/pb_kits/playbook/pb_textarea/_textarea.jsx +2 -2
  165. data/app/pb_kits/playbook/pb_textarea/_textarea.scss +2 -1
  166. data/app/pb_kits/playbook/pb_time/_time.jsx +57 -14
  167. data/app/pb_kits/playbook/pb_time/_time.scss +17 -0
  168. data/app/pb_kits/playbook/pb_time/docs/_time_align.jsx +27 -0
  169. data/app/pb_kits/playbook/pb_time/docs/_time_dark.jsx +28 -0
  170. data/app/pb_kits/playbook/pb_time/docs/_time_default.jsx +28 -0
  171. data/app/pb_kits/playbook/pb_time/docs/_time_timestamp.jsx +32 -0
  172. data/app/pb_kits/playbook/pb_time/docs/example.yml +4 -0
  173. data/app/pb_kits/playbook/pb_time/docs/index.js +4 -0
  174. data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.jsx +2 -2
  175. data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.jsx +2 -2
  176. data/app/pb_kits/playbook/pb_timestamp/_timestamp.jsx +2 -2
  177. data/app/pb_kits/playbook/pb_title/_title.jsx +3 -6
  178. data/app/pb_kits/playbook/pb_title/_title.scss +1 -1
  179. data/app/pb_kits/playbook/pb_title/title.rb +1 -9
  180. data/app/pb_kits/playbook/pb_title_count/_title_count.jsx +2 -2
  181. data/app/pb_kits/playbook/pb_title_detail/_title_detail.jsx +2 -2
  182. data/app/pb_kits/playbook/pb_toggle/_toggle.jsx +39 -31
  183. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_custom.jsx +31 -0
  184. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_custom_radio.html.erb +6 -6
  185. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_custom_radio.jsx +72 -0
  186. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_default.html.erb +1 -3
  187. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_default.jsx +6 -19
  188. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_name.jsx +57 -0
  189. data/app/pb_kits/playbook/pb_toggle/docs/{_toggle_checked.html.erb → _toggle_size.html.erb} +2 -2
  190. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_size.jsx +44 -0
  191. data/app/pb_kits/playbook/pb_toggle/docs/example.yml +8 -5
  192. data/app/pb_kits/playbook/pb_toggle/docs/index.js +4 -2
  193. data/app/pb_kits/playbook/pb_user/_user.jsx +2 -2
  194. data/app/pb_kits/playbook/pb_user_badge/_user_badge.jsx +2 -2
  195. data/app/pb_kits/playbook/pb_weekday_stacked/_weekday_stacked.jsx +2 -2
  196. data/app/pb_kits/playbook/plugins/pb_chart.js +74 -0
  197. data/app/pb_kits/playbook/props.rb +6 -0
  198. data/app/pb_kits/playbook/utilities/{spacing.js → globalProps.js} +14 -1
  199. data/app/pb_kits/playbook/utilities/props.js +1 -0
  200. data/app/pb_kits/playbook/vendor.js +6 -0
  201. data/lib/generators/kit/templates/kit_jsx.erb.tt +2 -2
  202. data/lib/playbook/version.rb +1 -1
  203. metadata +81 -9
  204. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_accessibility.jsx +0 -12
  205. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_data.jsx +0 -15
@@ -8,7 +8,7 @@
8
8
  @include pb_card_selected;
9
9
  }
10
10
 
11
- &[class*=_dark] {
11
+ &.dark {
12
12
  @include pb_card_dark;
13
13
 
14
14
  &[class*=_selected] {
@@ -40,6 +40,9 @@
40
40
  flex-basis: auto;
41
41
  min-height: 1px;
42
42
  border: 0;
43
+ &.dark {
44
+ @include pb_card_dark;
45
+ }
43
46
  }
44
47
 
45
48
  @each $name, $shadow in $box_shadows {
@@ -13,8 +13,6 @@ module Playbook
13
13
  default: "none"
14
14
  prop :highlight, type: Playbook::Props::Hash,
15
15
  default: {}
16
- prop :dark, type: Playbook::Props::Boolean,
17
- default: false
18
16
  prop :border_none, type: Playbook::Props::Boolean,
19
17
  default: false
20
18
 
@@ -24,14 +22,13 @@ module Playbook
24
22
  shadow_class,
25
23
  highlight_position_class,
26
24
  highlight_color_class,
27
- dark_class,
28
25
  border_class)
29
26
  end
30
27
 
31
28
  def body_padding
32
- if padding.present?
29
+ if padding.present?
33
30
  ""
34
- else
31
+ else
35
32
  "p_md"
36
33
  end
37
34
  end
@@ -55,10 +52,6 @@ module Playbook
55
52
  highlight[:color].present? ? "highlight_#{highlight[:color]}" : nil
56
53
  end
57
54
 
58
- def dark_class
59
- dark ? "dark" : nil
60
- end
61
-
62
55
  def border_class
63
56
  border_none == true ? "border_none" : nil
64
57
  end
@@ -1,3 +1,3 @@
1
1
  <%= pb_rails("card", props: { dark: true }) do %>
2
- Dark Card content
2
+ Card Content
3
3
  <% end %>
@@ -5,7 +5,7 @@ import Body from '../pb_body/_body.jsx'
5
5
  import Icon from '../pb_icon/_icon.jsx'
6
6
  import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
7
7
  import classnames from 'classnames'
8
- import { spacing } from '../utilities/spacing.js'
8
+ import { globalProps } from '../utilities/globalProps.js'
9
9
 
10
10
  type CheckboxProps = {
11
11
  aria?: object,
@@ -41,7 +41,7 @@ const Checkbox = (props: CheckboxProps) => {
41
41
  const dataProps = buildDataProps(data)
42
42
  const ariaProps = buildAriaProps(aria)
43
43
  const classes = classnames(buildCss('pb_checkbox_kit',
44
- { dark: dark, checked: checked, error: error }), className, spacing(props))
44
+ { checked: checked, error: error }), className, globalProps(props))
45
45
 
46
46
  return (
47
47
  <label
@@ -7,11 +7,8 @@ module Playbook
7
7
  include ActionView::Helpers::FormTagHelper
8
8
  include ActionView::Context
9
9
 
10
-
11
-
12
10
  partial "pb_checkbox/checkbox"
13
11
 
14
- prop :dark, type: Playbook::Props::Boolean, default: false
15
12
  prop :error, type: Playbook::Props::Boolean, default: false
16
13
  prop :checked, type: Playbook::Props::Boolean, default: false
17
14
  prop :text
@@ -23,7 +20,7 @@ module Playbook
23
20
  end
24
21
 
25
22
  def classname
26
- generate_classname("pb_checkbox_kit", dark_class, checked_class) + error_class
23
+ generate_classname("pb_checkbox_kit", checked_class) + error_class
27
24
  end
28
25
 
29
26
  def input
@@ -43,10 +40,6 @@ module Playbook
43
40
  def checked_class
44
41
  checked ? "on" : "off"
45
42
  end
46
-
47
- def dark_class
48
- dark ? "dark" : nil
49
- end
50
43
  end
51
44
  end
52
45
  end
@@ -11,7 +11,7 @@ import {
11
11
  noop,
12
12
  } from '../utilities/props'
13
13
 
14
- import { spacing } from '../utilities/spacing.js'
14
+ import { globalProps } from '../utilities/globalProps.js'
15
15
 
16
16
  type CircleIconButtonProps = {
17
17
  aria?: object,
@@ -46,7 +46,7 @@ const CircleIconButton = (props: CircleIconButtonProps) => {
46
46
 
47
47
  const ariaProps = buildAriaProps(aria)
48
48
  const dataProps = buildDataProps(data)
49
- const classes = classnames(buildCss('pb_circle_icon_button_kit'), className, spacing(props))
49
+ const classes = classnames(buildCss('pb_circle_icon_button_kit'), className, globalProps(props))
50
50
 
51
51
  return (
52
52
  <div
@@ -14,8 +14,6 @@ module Playbook
14
14
  prop :disabled, type: Playbook::Props::Boolean,
15
15
  default: false
16
16
  prop :icon, required: true
17
- prop :dark, type: Playbook::Props::Boolean,
18
- default: false
19
17
  prop :link
20
18
  prop :new_window, type: Playbook::Props::Boolean,
21
19
  default: false
@@ -2,7 +2,7 @@
2
2
 
3
3
  import React from 'react'
4
4
  import classnames from 'classnames'
5
- import { spacing } from '../utilities/spacing.js'
5
+ import { globalProps } from '../utilities/globalProps.js'
6
6
  import { Body, Caption, Icon } from '../'
7
7
 
8
8
  import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
@@ -58,7 +58,7 @@ const Contact = (props: ContactProps) => {
58
58
  id } = props
59
59
  const ariaProps = buildAriaProps(aria)
60
60
  const dataProps = buildDataProps(data)
61
- const classes = classnames(buildCss('pb_contact_kit'), className, spacing(props))
61
+ const classes = classnames(buildCss('pb_contact_kit'), className, globalProps(props))
62
62
 
63
63
  return (
64
64
  <div
@@ -3,7 +3,7 @@
3
3
  import React from 'react'
4
4
  import classnames from 'classnames'
5
5
 
6
- import { spacing } from '../utilities/spacing.js'
6
+ import { globalProps } from '../utilities/globalProps.js'
7
7
  import { Body, Caption, Title } from '../'
8
8
  import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
9
9
 
@@ -45,7 +45,7 @@ const Currency = (props: CurrencyProps) => {
45
45
  const [whole, decimal = '00'] = amount.split('.')
46
46
  const ariaProps = buildAriaProps(aria)
47
47
  const dataProps = buildDataProps(data)
48
- const classes = classnames(buildCss('pb_currency_kit', align, size, { dark: dark }), className, spacing(props))
48
+ const classes = classnames(buildCss('pb_currency_kit', align, size, { dark: dark }), className, globalProps(props))
49
49
 
50
50
  return (
51
51
  <div
@@ -124,6 +124,13 @@ const highchartsTheme = {
124
124
  fontSize: typography.text_smaller,
125
125
  },
126
126
  },
127
+ // specific to gauge
128
+ // unfilled gauge color
129
+ pane: {
130
+ background: {
131
+ borderColor: colors.border_light,
132
+ },
133
+ },
127
134
 
128
135
  plotOptions: {
129
136
  series: {
@@ -144,6 +151,25 @@ const highchartsTheme = {
144
151
  threshold: null,
145
152
  },
146
153
 
154
+ // GAUGE STYLES
155
+ solidgauge: {
156
+ borderColor: colors.primary,
157
+ borderWidth: 20,
158
+ radius: 90,
159
+ innerRadius: '90%',
160
+ dataLabels: {
161
+ borderWidth: 0,
162
+ color: colors.text_lt_default,
163
+ enabled: true,
164
+ style: {
165
+ fontFamily: typography.font_family_base,
166
+ fontWeight: typography.regular,
167
+ fontSize: typography.heading_2,
168
+ },
169
+ y: -26,
170
+ },
171
+ },
172
+
147
173
  // PIE STYLES
148
174
  pie: {
149
175
  colors: [
@@ -3,7 +3,7 @@
3
3
  import React from 'react'
4
4
  import classnames from 'classnames'
5
5
  import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
6
- import { spacing } from '../utilities/spacing.js'
6
+ import { globalProps } from '../utilities/globalProps.js'
7
7
  import {
8
8
  Body,
9
9
  StatChange,
@@ -41,7 +41,7 @@ const DashboardValue = (props: DashboardValueProps) => {
41
41
 
42
42
  const ariaProps = buildAriaProps(aria)
43
43
  const dataProps = buildDataProps(data)
44
- const classes = classnames(buildCss('pb_dashboard_value_kit', align), className, spacing(props))
44
+ const classes = classnames(buildCss('pb_dashboard_value_kit', align), className, globalProps(props))
45
45
 
46
46
  return (
47
47
  <div
@@ -4,7 +4,7 @@ import React from 'react'
4
4
  import DateTime from '../pb_kit/dateTime.js'
5
5
  import { Icon } from '../'
6
6
  import classnames from 'classnames'
7
- import { spacing } from '../utilities/spacing.js'
7
+ import { globalProps } from '../utilities/globalProps.js'
8
8
 
9
9
  const defaultDateString = (value: DateTime) => {
10
10
  const weekday = value.toWeekday().toUpperCase()
@@ -26,13 +26,13 @@ type DateSubcomponent = {
26
26
  }
27
27
 
28
28
  const ExtraSmallDate = ({ value, ...props }: DateSubcomponent) => (
29
- <h3 className={classnames('pb_title_kit_4', spacing(props))}>
29
+ <h3 className={classnames('pb_title_kit_4', globalProps(props))}>
30
30
  {defaultDateString(value)}
31
31
  </h3>
32
32
  )
33
33
 
34
34
  const SmallDate = ({ value, ...props }: DateSubcomponent) => (
35
- <h3 className={classnames('pb_title_kit_4', spacing(props))}>
35
+ <h3 className={classnames('pb_title_kit_4', globalProps(props))}>
36
36
  <Icon
37
37
  fixedWidth
38
38
  icon="calendar"
@@ -42,7 +42,7 @@ const SmallDate = ({ value, ...props }: DateSubcomponent) => (
42
42
  )
43
43
 
44
44
  const LargeDate = ({ value, ...props }: DateSubcomponent) => (
45
- <h3 className={classnames('pb_title_kit_3', spacing(props))}>
45
+ <h3 className={classnames('pb_title_kit_3', globalProps(props))}>
46
46
  {largeDateString(value)}
47
47
  </h3>
48
48
  )
@@ -0,0 +1,40 @@
1
+ <%= content_tag(:div,
2
+ aria: object.aria,
3
+ class: object.classname + " " + object.error_class,
4
+ data: object.data,
5
+ id: object.id) do %>
6
+ <% if !object.hide_label %>
7
+ <%= pb_rails("caption", props: { text: object.label }) %>
8
+ <% end %>
9
+ <div class="input_wrapper">
10
+ <input
11
+ autocomplete="off"
12
+ id="<%= object.picker_id %>"
13
+ name="<%= object.name %>"
14
+ <%= object.required ? required="required" : ''%>
15
+ />
16
+ <% if object.error %>
17
+ <%= pb_rails("body", props: {
18
+ status: "negative",
19
+ text: object.error
20
+ }) %>
21
+ <% end %>
22
+ </div>
23
+
24
+ <%= javascript_tag do %>
25
+ document.addEventListener("DOMContentLoaded", () => {
26
+ datePickerHelper({
27
+ defaultDate: "<%= object.default_date %>",
28
+ disableDate: <%=raw object.disable_date %>,
29
+ disableRange: <%=raw object.disable_range.to_json %>,
30
+ disableWeekdays: <%=raw object.disable_weekdays %>,
31
+ format: "<%= object.format %>",
32
+ maxDate: "<%= object.max_date %>",
33
+ minDate: "<%= object.min_date %>",
34
+ mode: "<%= object.mode %>",
35
+ pickerId: "<%= object.picker_id %>",
36
+ propModel: "rails"
37
+ })
38
+ })
39
+ <% end %>
40
+ <% end %>
@@ -0,0 +1,105 @@
1
+ /* @flow */
2
+
3
+ import React, { useEffect } from 'react'
4
+ import classnames from 'classnames'
5
+ import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
6
+ import { globalProps } from '../utilities/globalProps.js'
7
+ // import flatpickr from 'flatpickr'
8
+ import { Body, Caption } from '../'
9
+ import datePickerHelper from './date_picker_helper.js'
10
+
11
+ type DatePickerProps = {
12
+ aria?: object,
13
+ className?: String,
14
+ data?: object,
15
+ defaultDate?: String,
16
+ disableDate?: Array,
17
+ disableRange?: Array,
18
+ disableWeekdays?: Array,
19
+ error?: String,
20
+ format?: String,
21
+ hideLabel?: Boolean,
22
+ id?: String,
23
+ label?: String,
24
+ maxDate: String,
25
+ minDate: String,
26
+ mode?: String,
27
+ name: String,
28
+ pickerId?: String,
29
+ }
30
+ const DatePicker = (props: DatePickerProps) => {
31
+ const {
32
+ aria = {},
33
+ className,
34
+ data = {},
35
+ defaultDate = '',
36
+ disableDate = null,
37
+ disableRange = null,
38
+ disableWeekdays = null,
39
+ error,
40
+ format = 'm/d/Y',
41
+ hideLabel = false,
42
+ id,
43
+ label = 'Date Picker',
44
+ maxDate,
45
+ minDate,
46
+ mode = 'single',
47
+ name,
48
+ pickerId,
49
+ } = props
50
+
51
+ const ariaProps = buildAriaProps(aria)
52
+ const dataProps = buildDataProps(data)
53
+ const classes = classnames(
54
+ buildCss('pb_date_picker_kit'),
55
+ className,
56
+ globalProps(props),
57
+ error ? 'error' : null,
58
+ )
59
+
60
+ useEffect(() => {
61
+ datePickerHelper({
62
+ defaultDate: defaultDate,
63
+ disableDate: disableDate,
64
+ disableRange: disableRange,
65
+ disableWeekdays: disableWeekdays,
66
+ format: format,
67
+ maxDate: maxDate,
68
+ minDate: minDate,
69
+ mode: mode,
70
+ pickerId: pickerId,
71
+ propModel: 'React',
72
+ })
73
+ }, [])
74
+
75
+ return (
76
+ <div
77
+ {...ariaProps}
78
+ {...dataProps}
79
+ className={classes}
80
+ id={id}
81
+ >
82
+ {className}
83
+ <If condition={!hideLabel}>
84
+ <Caption
85
+ text={label}
86
+ />
87
+ </If>
88
+ <div className="input_wrapper">
89
+ <input
90
+ autoComplete="off"
91
+ id={pickerId}
92
+ name={name}
93
+ />
94
+ <If condition={error}>
95
+ <Body
96
+ status="negative"
97
+ text={error}
98
+ />
99
+ </If>
100
+ </div>
101
+ </div>
102
+ )
103
+ }
104
+
105
+ export default DatePicker
@@ -0,0 +1,846 @@
1
+ // @import "~flatpickr/dist/flatpickr.css";
2
+ @import "../pb_textarea/textarea_mixin";
3
+ @import "../pb_title/title_mixin";
4
+ @import "../tokens/colors";
5
+ @import "../pb_caption/caption_mixin";
6
+
7
+ [class^=pb_date_picker_kit] {
8
+ // input styles
9
+ [class^=pb_caption_kit] {
10
+ margin-bottom: $space_xs;
11
+ display: block;
12
+ }
13
+ .input_wrapper {
14
+ margin-bottom: $space_sm;
15
+
16
+ .flatpickr-wrapper {
17
+ display: block;
18
+ input::placeholder {
19
+ @include pb_body_light;
20
+ }
21
+
22
+ > input:first-child {
23
+ @include pb_textarea_light;
24
+ @include pb_title_4;
25
+ overflow: hidden;
26
+ }
27
+
28
+ input:focus, input:-webkit-autofill:focus {
29
+ @include pb_textarea_focus;
30
+ -webkit-box-shadow: 0 0 0px 1000px $focus_input_light inset;
31
+ transition: background-color 5000s ease-in-out 0s;
32
+ }
33
+ }
34
+ }
35
+
36
+ &.error {
37
+ [class^=pb_body_kit] {
38
+ margin-top: $space_xs / 2;
39
+ }
40
+ .flatpickr-wrapper {
41
+ > input:first-child {
42
+ border-color: $error;
43
+ }
44
+ }
45
+ }
46
+ }
47
+
48
+ // date-picker styles
49
+
50
+ div.flatpickr-weekdays {
51
+ margin-top: 5px;
52
+ }
53
+ span.flatpickr-weekday {
54
+ @include caption;
55
+ }
56
+
57
+ .pb_popover_body {
58
+ overflow: visible !important;
59
+ }
60
+
61
+ // manual import of flatpickr styles
62
+
63
+ .flatpickr-calendar {
64
+ background: transparent;
65
+ opacity: 0;
66
+ display: none;
67
+ text-align: center;
68
+ visibility: hidden;
69
+ padding: 0;
70
+ -webkit-animation: none;
71
+ animation: none;
72
+ direction: ltr;
73
+ border: 0;
74
+ font-size: 14px;
75
+ line-height: 24px;
76
+ border-radius: 5px;
77
+ position: absolute;
78
+ width: 307.875px;
79
+ -webkit-box-sizing: border-box;
80
+ box-sizing: border-box;
81
+ -ms-touch-action: manipulation;
82
+ touch-action: manipulation;
83
+ background: #fff;
84
+ -webkit-box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0,0,0,0.08);
85
+ box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0,0,0,0.08);
86
+ }
87
+ .flatpickr-calendar.open,
88
+ .flatpickr-calendar.inline {
89
+ opacity: 1;
90
+ max-height: 640px;
91
+ visibility: visible;
92
+ }
93
+ .flatpickr-calendar.open {
94
+ display: inline-block;
95
+ z-index: 99999;
96
+ }
97
+ .flatpickr-calendar.animate.open {
98
+ -webkit-animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
99
+ animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
100
+ }
101
+ .flatpickr-calendar.inline {
102
+ display: block;
103
+ position: relative;
104
+ top: 2px;
105
+ }
106
+ .flatpickr-calendar.static {
107
+ position: absolute;
108
+ top: calc(100% + 2px);
109
+ }
110
+ .flatpickr-calendar.static.open {
111
+ z-index: 999;
112
+ display: block;
113
+ }
114
+ .flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7) {
115
+ -webkit-box-shadow: none !important;
116
+ box-shadow: none !important;
117
+ }
118
+ .flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1) {
119
+ -webkit-box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
120
+ box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
121
+ }
122
+ .flatpickr-calendar .hasWeeks .dayContainer,
123
+ .flatpickr-calendar .hasTime .dayContainer {
124
+ border-bottom: 0;
125
+ border-bottom-right-radius: 0;
126
+ border-bottom-left-radius: 0;
127
+ }
128
+ .flatpickr-calendar .hasWeeks .dayContainer {
129
+ border-left: 0;
130
+ }
131
+ .flatpickr-calendar.showTimeInput.hasTime .flatpickr-time {
132
+ height: 40px;
133
+ border-top: 1px solid #e6e6e6;
134
+ }
135
+ .flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
136
+ height: auto;
137
+ }
138
+ .flatpickr-calendar:before,
139
+ .flatpickr-calendar:after {
140
+ position: absolute;
141
+ display: block;
142
+ pointer-events: none;
143
+ border: solid transparent;
144
+ content: '';
145
+ height: 0;
146
+ width: 0;
147
+ left: 22px;
148
+ }
149
+ .flatpickr-calendar.rightMost:before,
150
+ .flatpickr-calendar.rightMost:after {
151
+ left: auto;
152
+ right: 22px;
153
+ }
154
+ .flatpickr-calendar:before {
155
+ border-width: 5px;
156
+ margin: 0 -5px;
157
+ }
158
+ .flatpickr-calendar:after {
159
+ border-width: 4px;
160
+ margin: 0 -4px;
161
+ }
162
+ .flatpickr-calendar.arrowTop:before,
163
+ .flatpickr-calendar.arrowTop:after {
164
+ bottom: 100%;
165
+ }
166
+ .flatpickr-calendar.arrowTop:before {
167
+ border-bottom-color: #e6e6e6;
168
+ }
169
+ .flatpickr-calendar.arrowTop:after {
170
+ border-bottom-color: #fff;
171
+ }
172
+ .flatpickr-calendar.arrowBottom:before,
173
+ .flatpickr-calendar.arrowBottom:after {
174
+ top: 100%;
175
+ }
176
+ .flatpickr-calendar.arrowBottom:before {
177
+ border-top-color: #e6e6e6;
178
+ }
179
+ .flatpickr-calendar.arrowBottom:after {
180
+ border-top-color: #fff;
181
+ }
182
+ .flatpickr-calendar:focus {
183
+ outline: 0;
184
+ }
185
+ .flatpickr-wrapper {
186
+ position: relative;
187
+ display: inline-block;
188
+ }
189
+ .flatpickr-months {
190
+ display: -webkit-box;
191
+ display: -webkit-flex;
192
+ display: -ms-flexbox;
193
+ display: flex;
194
+ }
195
+ .flatpickr-months .flatpickr-month {
196
+ background: transparent;
197
+ color: rgba(0,0,0,0.9);
198
+ fill: rgba(0,0,0,0.9);
199
+ height: 34px;
200
+ line-height: 1;
201
+ text-align: center;
202
+ position: relative;
203
+ -webkit-user-select: none;
204
+ -moz-user-select: none;
205
+ -ms-user-select: none;
206
+ user-select: none;
207
+ overflow: hidden;
208
+ -webkit-box-flex: 1;
209
+ -webkit-flex: 1;
210
+ -ms-flex: 1;
211
+ flex: 1;
212
+ }
213
+ .flatpickr-months .flatpickr-prev-month,
214
+ .flatpickr-months .flatpickr-next-month {
215
+ text-decoration: none;
216
+ cursor: pointer;
217
+ position: absolute;
218
+ top: 0;
219
+ height: 34px;
220
+ padding: 10px;
221
+ z-index: 3;
222
+ color: rgba(0,0,0,0.9);
223
+ fill: rgba(0,0,0,0.9);
224
+ }
225
+ .flatpickr-months .flatpickr-prev-month.flatpickr-disabled,
226
+ .flatpickr-months .flatpickr-next-month.flatpickr-disabled {
227
+ display: none;
228
+ }
229
+ .flatpickr-months .flatpickr-prev-month i,
230
+ .flatpickr-months .flatpickr-next-month i {
231
+ position: relative;
232
+ }
233
+ .flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,
234
+ .flatpickr-months .flatpickr-next-month.flatpickr-prev-month {
235
+ /*
236
+ /*rtl:begin:ignore*/
237
+ /*
238
+ */
239
+ left: 0;
240
+ /*
241
+ /*rtl:end:ignore*/
242
+ /*
243
+ */
244
+ }
245
+ /*
246
+ /*rtl:begin:ignore*/
247
+ /*
248
+ /*rtl:end:ignore*/
249
+ .flatpickr-months .flatpickr-prev-month.flatpickr-next-month,
250
+ .flatpickr-months .flatpickr-next-month.flatpickr-next-month {
251
+ /*
252
+ /*rtl:begin:ignore*/
253
+ /*
254
+ */
255
+ right: 0;
256
+ /*
257
+ /*rtl:end:ignore*/
258
+ /*
259
+ */
260
+ }
261
+ /*
262
+ /*rtl:begin:ignore*/
263
+ /*
264
+ /*rtl:end:ignore*/
265
+ .flatpickr-months .flatpickr-prev-month:hover,
266
+ .flatpickr-months .flatpickr-next-month:hover {
267
+ color: #959ea9;
268
+ }
269
+ .flatpickr-months .flatpickr-prev-month:hover svg,
270
+ .flatpickr-months .flatpickr-next-month:hover svg {
271
+ fill: #f64747;
272
+ }
273
+ .flatpickr-months .flatpickr-prev-month svg,
274
+ .flatpickr-months .flatpickr-next-month svg {
275
+ width: 14px;
276
+ height: 14px;
277
+ }
278
+ .flatpickr-months .flatpickr-prev-month svg path,
279
+ .flatpickr-months .flatpickr-next-month svg path {
280
+ -webkit-transition: fill 0.1s;
281
+ transition: fill 0.1s;
282
+ fill: inherit;
283
+ }
284
+ .numInputWrapper {
285
+ position: relative;
286
+ height: auto;
287
+ }
288
+ .numInputWrapper input,
289
+ .numInputWrapper span {
290
+ display: inline-block;
291
+ }
292
+ .numInputWrapper input {
293
+ width: 100%;
294
+ }
295
+ .numInputWrapper input::-ms-clear {
296
+ display: none;
297
+ }
298
+ .numInputWrapper input::-webkit-outer-spin-button,
299
+ .numInputWrapper input::-webkit-inner-spin-button {
300
+ margin: 0;
301
+ -webkit-appearance: none;
302
+ }
303
+ .numInputWrapper span {
304
+ position: absolute;
305
+ right: 0;
306
+ width: 14px;
307
+ padding: 0 4px 0 2px;
308
+ height: 50%;
309
+ line-height: 50%;
310
+ opacity: 0;
311
+ cursor: pointer;
312
+ border: 1px solid rgba(57,57,57,0.15);
313
+ -webkit-box-sizing: border-box;
314
+ box-sizing: border-box;
315
+ }
316
+ .numInputWrapper span:hover {
317
+ background: rgba(0,0,0,0.1);
318
+ }
319
+ .numInputWrapper span:active {
320
+ background: rgba(0,0,0,0.2);
321
+ }
322
+ .numInputWrapper span:after {
323
+ display: block;
324
+ content: "";
325
+ position: absolute;
326
+ }
327
+ .numInputWrapper span.arrowUp {
328
+ top: 0;
329
+ border-bottom: 0;
330
+ }
331
+ .numInputWrapper span.arrowUp:after {
332
+ border-left: 4px solid transparent;
333
+ border-right: 4px solid transparent;
334
+ border-bottom: 4px solid rgba(57,57,57,0.6);
335
+ top: 26%;
336
+ }
337
+ .numInputWrapper span.arrowDown {
338
+ top: 50%;
339
+ }
340
+ .numInputWrapper span.arrowDown:after {
341
+ border-left: 4px solid transparent;
342
+ border-right: 4px solid transparent;
343
+ border-top: 4px solid rgba(57,57,57,0.6);
344
+ top: 40%;
345
+ }
346
+ .numInputWrapper span svg {
347
+ width: inherit;
348
+ height: auto;
349
+ }
350
+ .numInputWrapper span svg path {
351
+ fill: rgba(0,0,0,0.5);
352
+ }
353
+ .numInputWrapper:hover {
354
+ background: rgba(0,0,0,0.05);
355
+ }
356
+ .numInputWrapper:hover span {
357
+ opacity: 1;
358
+ }
359
+ .flatpickr-current-month {
360
+ font-size: 135%;
361
+ line-height: inherit;
362
+ font-weight: 300;
363
+ color: inherit;
364
+ position: absolute;
365
+ width: 75%;
366
+ left: 12.5%;
367
+ padding: 7.48px 0 0 0;
368
+ line-height: 1;
369
+ height: 34px;
370
+ display: inline-block;
371
+ text-align: center;
372
+ -webkit-transform: translate3d(0px, 0px, 0px);
373
+ transform: translate3d(0px, 0px, 0px);
374
+ }
375
+ .flatpickr-current-month span.cur-month {
376
+ font-family: inherit;
377
+ font-weight: 700;
378
+ color: inherit;
379
+ display: inline-block;
380
+ margin-left: 0.5ch;
381
+ padding: 0;
382
+ }
383
+ .flatpickr-current-month span.cur-month:hover {
384
+ background: rgba(0,0,0,0.05);
385
+ }
386
+ .flatpickr-current-month .numInputWrapper {
387
+ width: 6ch;
388
+ width: 7ch\0;
389
+ display: inline-block;
390
+ }
391
+ .flatpickr-current-month .numInputWrapper span.arrowUp:after {
392
+ border-bottom-color: rgba(0,0,0,0.9);
393
+ }
394
+ .flatpickr-current-month .numInputWrapper span.arrowDown:after {
395
+ border-top-color: rgba(0,0,0,0.9);
396
+ }
397
+ .flatpickr-current-month input.cur-year {
398
+ background: transparent;
399
+ -webkit-box-sizing: border-box;
400
+ box-sizing: border-box;
401
+ color: inherit;
402
+ cursor: text;
403
+ padding: 0 0 0 0.5ch;
404
+ margin: 0;
405
+ display: inline-block;
406
+ font-size: inherit;
407
+ font-family: inherit;
408
+ font-weight: 300;
409
+ line-height: inherit;
410
+ height: auto;
411
+ border: 0;
412
+ border-radius: 0;
413
+ vertical-align: initial;
414
+ -webkit-appearance: textfield;
415
+ -moz-appearance: textfield;
416
+ appearance: textfield;
417
+ }
418
+ .flatpickr-current-month input.cur-year:focus {
419
+ outline: 0;
420
+ }
421
+ .flatpickr-current-month input.cur-year[disabled],
422
+ .flatpickr-current-month input.cur-year[disabled]:hover {
423
+ font-size: 100%;
424
+ color: rgba(0,0,0,0.5);
425
+ background: transparent;
426
+ pointer-events: none;
427
+ }
428
+ .flatpickr-current-month .flatpickr-monthDropdown-months {
429
+ appearance: menulist;
430
+ background: transparent;
431
+ border: none;
432
+ border-radius: 0;
433
+ box-sizing: border-box;
434
+ color: inherit;
435
+ cursor: pointer;
436
+ font-size: inherit;
437
+ font-family: inherit;
438
+ font-weight: 300;
439
+ height: auto;
440
+ line-height: inherit;
441
+ margin: -1px 0 0 0;
442
+ outline: none;
443
+ padding: 0 0 0 0.5ch;
444
+ position: relative;
445
+ vertical-align: initial;
446
+ -webkit-box-sizing: border-box;
447
+ -webkit-appearance: menulist;
448
+ -moz-appearance: menulist;
449
+ width: auto;
450
+ }
451
+ .flatpickr-current-month .flatpickr-monthDropdown-months:focus,
452
+ .flatpickr-current-month .flatpickr-monthDropdown-months:active {
453
+ outline: none;
454
+ }
455
+ .flatpickr-current-month .flatpickr-monthDropdown-months:hover {
456
+ background: rgba(0,0,0,0.05);
457
+ }
458
+ .flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
459
+ background-color: transparent;
460
+ outline: none;
461
+ padding: 0;
462
+ }
463
+ .flatpickr-weekdays {
464
+ background: transparent;
465
+ text-align: center;
466
+ overflow: hidden;
467
+ width: 100%;
468
+ display: -webkit-box;
469
+ display: -webkit-flex;
470
+ display: -ms-flexbox;
471
+ display: flex;
472
+ -webkit-box-align: center;
473
+ -webkit-align-items: center;
474
+ -ms-flex-align: center;
475
+ align-items: center;
476
+ height: 28px;
477
+ }
478
+ .flatpickr-weekdays .flatpickr-weekdaycontainer {
479
+ display: -webkit-box;
480
+ display: -webkit-flex;
481
+ display: -ms-flexbox;
482
+ display: flex;
483
+ -webkit-box-flex: 1;
484
+ -webkit-flex: 1;
485
+ -ms-flex: 1;
486
+ flex: 1;
487
+ }
488
+ span.flatpickr-weekday {
489
+ cursor: default;
490
+ font-size: 90%;
491
+ background: transparent;
492
+ color: rgba(0,0,0,0.54);
493
+ line-height: 1;
494
+ margin: 0;
495
+ text-align: center;
496
+ display: block;
497
+ -webkit-box-flex: 1;
498
+ -webkit-flex: 1;
499
+ -ms-flex: 1;
500
+ flex: 1;
501
+ font-weight: bolder;
502
+ }
503
+ .dayContainer,
504
+ .flatpickr-weeks {
505
+ padding: 1px 0 0 0;
506
+ }
507
+ .flatpickr-days {
508
+ position: relative;
509
+ overflow: hidden;
510
+ display: -webkit-box;
511
+ display: -webkit-flex;
512
+ display: -ms-flexbox;
513
+ display: flex;
514
+ -webkit-box-align: start;
515
+ -webkit-align-items: flex-start;
516
+ -ms-flex-align: start;
517
+ align-items: flex-start;
518
+ width: 307.875px;
519
+ }
520
+ .flatpickr-days:focus {
521
+ outline: 0;
522
+ }
523
+ .dayContainer {
524
+ padding: 0;
525
+ outline: 0;
526
+ text-align: left;
527
+ width: 307.875px;
528
+ min-width: 307.875px;
529
+ max-width: 307.875px;
530
+ -webkit-box-sizing: border-box;
531
+ box-sizing: border-box;
532
+ display: inline-block;
533
+ display: -ms-flexbox;
534
+ display: -webkit-box;
535
+ display: -webkit-flex;
536
+ display: flex;
537
+ -webkit-flex-wrap: wrap;
538
+ flex-wrap: wrap;
539
+ -ms-flex-wrap: wrap;
540
+ -ms-flex-pack: justify;
541
+ -webkit-justify-content: space-around;
542
+ justify-content: space-around;
543
+ -webkit-transform: translate3d(0px, 0px, 0px);
544
+ transform: translate3d(0px, 0px, 0px);
545
+ opacity: 1;
546
+ }
547
+ .dayContainer + .dayContainer {
548
+ -webkit-box-shadow: -1px 0 0 #e6e6e6;
549
+ box-shadow: -1px 0 0 #e6e6e6;
550
+ }
551
+ .flatpickr-day {
552
+ background: none;
553
+ border: 1px solid transparent;
554
+ border-radius: 150px;
555
+ -webkit-box-sizing: border-box;
556
+ box-sizing: border-box;
557
+ color: #393939;
558
+ cursor: pointer;
559
+ font-weight: 400;
560
+ width: 14.2857143%;
561
+ -webkit-flex-basis: 14.2857143%;
562
+ -ms-flex-preferred-size: 14.2857143%;
563
+ flex-basis: 14.2857143%;
564
+ max-width: 39px;
565
+ height: 39px;
566
+ line-height: 39px;
567
+ margin: 0;
568
+ display: inline-block;
569
+ position: relative;
570
+ -webkit-box-pack: center;
571
+ -webkit-justify-content: center;
572
+ -ms-flex-pack: center;
573
+ justify-content: center;
574
+ text-align: center;
575
+ }
576
+ .flatpickr-day.inRange,
577
+ .flatpickr-day.prevMonthDay.inRange,
578
+ .flatpickr-day.nextMonthDay.inRange,
579
+ .flatpickr-day.today.inRange,
580
+ .flatpickr-day.prevMonthDay.today.inRange,
581
+ .flatpickr-day.nextMonthDay.today.inRange,
582
+ .flatpickr-day:hover,
583
+ .flatpickr-day.prevMonthDay:hover,
584
+ .flatpickr-day.nextMonthDay:hover,
585
+ .flatpickr-day:focus,
586
+ .flatpickr-day.prevMonthDay:focus,
587
+ .flatpickr-day.nextMonthDay:focus {
588
+ cursor: pointer;
589
+ outline: 0;
590
+ background: #e6e6e6;
591
+ border-color: #e6e6e6;
592
+ }
593
+ .flatpickr-day.today {
594
+ border-color: #959ea9;
595
+ }
596
+ .flatpickr-day.today:hover,
597
+ .flatpickr-day.today:focus {
598
+ border-color: #959ea9;
599
+ background: #959ea9;
600
+ color: #fff;
601
+ }
602
+ .flatpickr-day.selected,
603
+ .flatpickr-day.startRange,
604
+ .flatpickr-day.endRange,
605
+ .flatpickr-day.selected.inRange,
606
+ .flatpickr-day.startRange.inRange,
607
+ .flatpickr-day.endRange.inRange,
608
+ .flatpickr-day.selected:focus,
609
+ .flatpickr-day.startRange:focus,
610
+ .flatpickr-day.endRange:focus,
611
+ .flatpickr-day.selected:hover,
612
+ .flatpickr-day.startRange:hover,
613
+ .flatpickr-day.endRange:hover,
614
+ .flatpickr-day.selected.prevMonthDay,
615
+ .flatpickr-day.startRange.prevMonthDay,
616
+ .flatpickr-day.endRange.prevMonthDay,
617
+ .flatpickr-day.selected.nextMonthDay,
618
+ .flatpickr-day.startRange.nextMonthDay,
619
+ .flatpickr-day.endRange.nextMonthDay {
620
+ background: #569ff7;
621
+ -webkit-box-shadow: none;
622
+ box-shadow: none;
623
+ color: #fff;
624
+ border-color: #569ff7;
625
+ }
626
+ .flatpickr-day.selected.startRange,
627
+ .flatpickr-day.startRange.startRange,
628
+ .flatpickr-day.endRange.startRange {
629
+ border-radius: 50px 0 0 50px;
630
+ }
631
+ .flatpickr-day.selected.endRange,
632
+ .flatpickr-day.startRange.endRange,
633
+ .flatpickr-day.endRange.endRange {
634
+ border-radius: 0 50px 50px 0;
635
+ }
636
+ .flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),
637
+ .flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),
638
+ .flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {
639
+ -webkit-box-shadow: -10px 0 0 #569ff7;
640
+ box-shadow: -10px 0 0 #569ff7;
641
+ }
642
+ .flatpickr-day.selected.startRange.endRange,
643
+ .flatpickr-day.startRange.startRange.endRange,
644
+ .flatpickr-day.endRange.startRange.endRange {
645
+ border-radius: 50px;
646
+ }
647
+ .flatpickr-day.inRange {
648
+ border-radius: 0;
649
+ -webkit-box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
650
+ box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
651
+ }
652
+ .flatpickr-day.flatpickr-disabled,
653
+ .flatpickr-day.flatpickr-disabled:hover,
654
+ .flatpickr-day.prevMonthDay,
655
+ .flatpickr-day.nextMonthDay,
656
+ .flatpickr-day.notAllowed,
657
+ .flatpickr-day.notAllowed.prevMonthDay,
658
+ .flatpickr-day.notAllowed.nextMonthDay {
659
+ color: rgba(57,57,57,0.3);
660
+ background: transparent;
661
+ border-color: transparent;
662
+ cursor: default;
663
+ }
664
+ .flatpickr-day.flatpickr-disabled,
665
+ .flatpickr-day.flatpickr-disabled:hover {
666
+ cursor: not-allowed;
667
+ color: rgba(57,57,57,0.1);
668
+ }
669
+ .flatpickr-day.week.selected {
670
+ border-radius: 0;
671
+ -webkit-box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7;
672
+ box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7;
673
+ }
674
+ .flatpickr-day.hidden {
675
+ visibility: hidden;
676
+ }
677
+ .rangeMode .flatpickr-day {
678
+ margin-top: 1px;
679
+ }
680
+ .flatpickr-weekwrapper {
681
+ float: left;
682
+ }
683
+ .flatpickr-weekwrapper .flatpickr-weeks {
684
+ padding: 0 12px;
685
+ -webkit-box-shadow: 1px 0 0 #e6e6e6;
686
+ box-shadow: 1px 0 0 #e6e6e6;
687
+ }
688
+ .flatpickr-weekwrapper .flatpickr-weekday {
689
+ float: none;
690
+ width: 100%;
691
+ line-height: 28px;
692
+ }
693
+ .flatpickr-weekwrapper span.flatpickr-day,
694
+ .flatpickr-weekwrapper span.flatpickr-day:hover {
695
+ display: block;
696
+ width: 100%;
697
+ max-width: none;
698
+ color: rgba(57,57,57,0.3);
699
+ background: transparent;
700
+ cursor: default;
701
+ border: none;
702
+ }
703
+ .flatpickr-innerContainer {
704
+ display: block;
705
+ display: -webkit-box;
706
+ display: -webkit-flex;
707
+ display: -ms-flexbox;
708
+ display: flex;
709
+ -webkit-box-sizing: border-box;
710
+ box-sizing: border-box;
711
+ overflow: hidden;
712
+ }
713
+ .flatpickr-rContainer {
714
+ display: inline-block;
715
+ padding: 0;
716
+ -webkit-box-sizing: border-box;
717
+ box-sizing: border-box;
718
+ }
719
+ .flatpickr-time {
720
+ text-align: center;
721
+ outline: 0;
722
+ display: block;
723
+ height: 0;
724
+ line-height: 40px;
725
+ max-height: 40px;
726
+ -webkit-box-sizing: border-box;
727
+ box-sizing: border-box;
728
+ overflow: hidden;
729
+ display: -webkit-box;
730
+ display: -webkit-flex;
731
+ display: -ms-flexbox;
732
+ display: flex;
733
+ }
734
+ .flatpickr-time:after {
735
+ content: "";
736
+ display: table;
737
+ clear: both;
738
+ }
739
+ .flatpickr-time .numInputWrapper {
740
+ -webkit-box-flex: 1;
741
+ -webkit-flex: 1;
742
+ -ms-flex: 1;
743
+ flex: 1;
744
+ width: 40%;
745
+ height: 40px;
746
+ float: left;
747
+ }
748
+ .flatpickr-time .numInputWrapper span.arrowUp:after {
749
+ border-bottom-color: #393939;
750
+ }
751
+ .flatpickr-time .numInputWrapper span.arrowDown:after {
752
+ border-top-color: #393939;
753
+ }
754
+ .flatpickr-time.hasSeconds .numInputWrapper {
755
+ width: 26%;
756
+ }
757
+ .flatpickr-time.time24hr .numInputWrapper {
758
+ width: 49%;
759
+ }
760
+ .flatpickr-time input {
761
+ background: transparent;
762
+ -webkit-box-shadow: none;
763
+ box-shadow: none;
764
+ border: 0;
765
+ border-radius: 0;
766
+ text-align: center;
767
+ margin: 0;
768
+ padding: 0;
769
+ height: inherit;
770
+ line-height: inherit;
771
+ color: #393939;
772
+ font-size: 14px;
773
+ position: relative;
774
+ -webkit-box-sizing: border-box;
775
+ box-sizing: border-box;
776
+ -webkit-appearance: textfield;
777
+ -moz-appearance: textfield;
778
+ appearance: textfield;
779
+ }
780
+ .flatpickr-time input.flatpickr-hour {
781
+ font-weight: bold;
782
+ }
783
+ .flatpickr-time input.flatpickr-minute,
784
+ .flatpickr-time input.flatpickr-second {
785
+ font-weight: 400;
786
+ }
787
+ .flatpickr-time input:focus {
788
+ outline: 0;
789
+ border: 0;
790
+ }
791
+ .flatpickr-time .flatpickr-time-separator,
792
+ .flatpickr-time .flatpickr-am-pm {
793
+ height: inherit;
794
+ float: left;
795
+ line-height: inherit;
796
+ color: #393939;
797
+ font-weight: bold;
798
+ width: 2%;
799
+ -webkit-user-select: none;
800
+ -moz-user-select: none;
801
+ -ms-user-select: none;
802
+ user-select: none;
803
+ -webkit-align-self: center;
804
+ -ms-flex-item-align: center;
805
+ align-self: center;
806
+ }
807
+ .flatpickr-time .flatpickr-am-pm {
808
+ outline: 0;
809
+ width: 18%;
810
+ cursor: pointer;
811
+ text-align: center;
812
+ font-weight: 400;
813
+ }
814
+ .flatpickr-time input:hover,
815
+ .flatpickr-time .flatpickr-am-pm:hover,
816
+ .flatpickr-time input:focus,
817
+ .flatpickr-time .flatpickr-am-pm:focus {
818
+ background: #eee;
819
+ }
820
+ .flatpickr-input[readonly] {
821
+ cursor: pointer;
822
+ }
823
+ @-webkit-keyframes fpFadeInDown {
824
+ from {
825
+ opacity: 0;
826
+ -webkit-transform: translate3d(0, -20px, 0);
827
+ transform: translate3d(0, -20px, 0);
828
+ }
829
+ to {
830
+ opacity: 1;
831
+ -webkit-transform: translate3d(0, 0, 0);
832
+ transform: translate3d(0, 0, 0);
833
+ }
834
+ }
835
+ @keyframes fpFadeInDown {
836
+ from {
837
+ opacity: 0;
838
+ -webkit-transform: translate3d(0, -20px, 0);
839
+ transform: translate3d(0, -20px, 0);
840
+ }
841
+ to {
842
+ opacity: 1;
843
+ -webkit-transform: translate3d(0, 0, 0);
844
+ transform: translate3d(0, 0, 0);
845
+ }
846
+ }