playbook_ui 7.13.0 → 7.14.0.pre.alpha1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/helpers/playbook/application_helper.rb +4 -0
- data/app/helpers/playbook/pb_sample_helper.rb +1 -1
- data/app/pb_kits/playbook/_playbook.scss +1 -0
- data/app/pb_kits/playbook/pb_background/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_background/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_card/_card.jsx +3 -1
- data/app/pb_kits/playbook/pb_card/_card.scss +3 -2
- data/app/pb_kits/playbook/pb_card/_card_mixin.scss +6 -0
- data/app/pb_kits/playbook/pb_card/card.rb +9 -1
- data/app/pb_kits/playbook/pb_card/docs/_card_border_radius.html.erb +53 -0
- data/app/pb_kits/playbook/pb_card/docs/_card_border_radius.jsx +71 -0
- data/app/pb_kits/playbook/pb_card/docs/_card_border_radius.md +1 -0
- data/app/pb_kits/playbook/pb_card/docs/_card_light.md +1 -0
- data/app/pb_kits/playbook/pb_card/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_card/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_checkbox/_checkbox.html.erb +1 -0
- data/app/pb_kits/playbook/pb_checkbox/_checkbox.jsx +36 -10
- data/app/pb_kits/playbook/pb_checkbox/_checkbox.scss +26 -20
- data/app/pb_kits/playbook/pb_checkbox/checkbox.rb +5 -0
- data/app/pb_kits/playbook/pb_checkbox/checkbox.test.js +51 -0
- data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_custom.jsx +0 -1
- data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_indeterminate.html.erb +77 -0
- data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_indeterminate.jsx +78 -0
- data/app/pb_kits/playbook/pb_checkbox/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_checkbox/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_date_range_stacked/docs/example.yml +0 -4
- data/app/pb_kits/playbook/pb_date_range_stacked/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_date_stacked/docs/example.yml +0 -7
- data/app/pb_kits/playbook/pb_date_stacked/docs/index.js +0 -2
- data/app/pb_kits/playbook/pb_date_time_stacked/docs/example.yml +0 -4
- data/app/pb_kits/playbook/pb_date_time_stacked/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_date_year_stacked/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_date_year_stacked/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.jsx +9 -4
- data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.scss +12 -7
- data/app/pb_kits/playbook/pb_distribution_bar/distribution_bar.rb +4 -1
- data/app/pb_kits/playbook/pb_distribution_bar/docs/_distribution_bar_custom_colors.html.erb +4 -0
- data/app/pb_kits/playbook/pb_distribution_bar/docs/_distribution_bar_custom_colors.jsx +18 -0
- data/app/pb_kits/playbook/pb_distribution_bar/docs/_distribution_bar_custom_colors.md +1 -0
- data/app/pb_kits/playbook/pb_distribution_bar/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_distribution_bar/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_filter/Filter/CurrentFilters.jsx +12 -1
- data/app/pb_kits/playbook/pb_filter/Filter/FiltersPopover.jsx +5 -1
- data/app/pb_kits/playbook/pb_filter/docs/_filter_close_popover.jsx +61 -0
- data/app/pb_kits/playbook/pb_filter/docs/_filter_default.html.erb +41 -0
- data/app/pb_kits/playbook/pb_filter/docs/_filter_default.jsx +84 -37
- data/app/pb_kits/playbook/pb_filter/docs/_filter_default.md +1 -0
- data/app/pb_kits/playbook/pb_filter/docs/example.yml +1 -0
- data/app/pb_kits/playbook/pb_filter/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_filter/templates/_core.html.erb +18 -7
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/example.yml +0 -5
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/index.js +0 -2
- data/app/pb_kits/playbook/pb_flex/_flex.jsx +25 -9
- data/app/pb_kits/playbook/pb_flex/_flex.scss +40 -7
- data/app/pb_kits/playbook/pb_flex/_flex_item.jsx +6 -2
- data/app/pb_kits/playbook/pb_flex/_flex_item.scss +10 -0
- data/app/pb_kits/playbook/pb_flex/docs/_description.md +6 -0
- data/app/pb_kits/playbook/pb_flex/docs/_flex_align.html.erb +101 -0
- data/app/pb_kits/playbook/pb_flex/docs/{_flex_horizontal.jsx → _flex_align.jsx} +71 -77
- data/app/pb_kits/playbook/pb_flex/docs/_flex_align.md +7 -0
- data/app/pb_kits/playbook/pb_flex/docs/_flex_default.html.erb +15 -15
- data/app/pb_kits/playbook/pb_flex/docs/_flex_default.jsx +17 -15
- data/app/pb_kits/playbook/pb_flex/docs/_flex_default.md +3 -1
- data/app/pb_kits/playbook/pb_flex/docs/_flex_gap.html.erb +33 -0
- data/app/pb_kits/playbook/pb_flex/docs/_flex_gap.jsx +75 -0
- data/app/pb_kits/playbook/pb_flex/docs/_flex_gap.md +9 -0
- data/app/pb_kits/playbook/pb_flex/docs/_flex_inline.html.erb +8 -8
- data/app/pb_kits/playbook/pb_flex/docs/_flex_inline.md +5 -1
- data/app/pb_kits/playbook/pb_flex/docs/_flex_item.html.erb +49 -0
- data/app/pb_kits/playbook/pb_flex/docs/_flex_item.md +11 -0
- data/app/pb_kits/playbook/pb_flex/docs/_flex_item_example.jsx +113 -0
- data/app/pb_kits/playbook/pb_flex/docs/{_flex_horizontal.html.erb → _flex_justify.html.erb} +19 -21
- data/app/pb_kits/playbook/pb_flex/docs/{_flex_vertical.jsx → _flex_justify.jsx} +41 -99
- data/app/pb_kits/playbook/pb_flex/docs/_flex_justify.md +7 -0
- data/app/pb_kits/playbook/pb_flex/docs/_flex_reverse.html.erb +9 -9
- data/app/pb_kits/playbook/pb_flex/docs/_flex_reverse.jsx +2 -2
- data/app/pb_kits/playbook/pb_flex/docs/_flex_reverse.md +5 -0
- data/app/pb_kits/playbook/pb_flex/docs/_flex_spacing.html.erb +23 -8
- data/app/pb_kits/playbook/pb_flex/docs/_flex_spacing.jsx +4 -4
- data/app/pb_kits/playbook/pb_flex/docs/_flex_spacing.md +7 -0
- data/app/pb_kits/playbook/pb_flex/docs/_flex_wrap.jsx +1 -1
- data/app/pb_kits/playbook/pb_flex/docs/_flex_wrap.md +5 -0
- data/app/pb_kits/playbook/pb_flex/docs/example.yml +9 -4
- data/app/pb_kits/playbook/pb_flex/docs/index.js +4 -2
- data/app/pb_kits/playbook/pb_flex/flex.rb +79 -12
- data/app/pb_kits/playbook/pb_flex/flex_item.rb +18 -1
- data/app/pb_kits/playbook/pb_form_pill/_form_pill.jsx +7 -1
- data/app/pb_kits/playbook/pb_form_pill/_form_pill.scss +2 -0
- data/app/pb_kits/playbook/pb_icon/docs/example.yml +1 -2
- data/app/pb_kits/playbook/pb_icon/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_icon_circle/docs/example.yml +0 -7
- data/app/pb_kits/playbook/pb_icon_circle/docs/index.js +0 -3
- data/app/pb_kits/playbook/pb_icon_value/docs/example.yml +0 -5
- data/app/pb_kits/playbook/pb_icon_value/docs/index.js +0 -2
- data/app/pb_kits/playbook/pb_image/_image.scss +1 -0
- data/app/pb_kits/playbook/pb_layout/_layout.scss +9 -9
- data/app/pb_kits/playbook/pb_layout/docs/_layout_collection.html.erb +4 -4
- data/app/pb_kits/playbook/pb_layout/docs/_layout_collection.md +1 -0
- data/app/pb_kits/playbook/pb_layout/docs/example.yml +0 -4
- data/app/pb_kits/playbook/pb_layout/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_popover/docs/example.yml +0 -13
- data/app/pb_kits/playbook/pb_popover/docs/index.js +0 -5
- data/app/pb_kits/playbook/pb_radio/_radio.scss +1 -0
- data/app/pb_kits/playbook/pb_select/_select.scss +6 -4
- data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.html.erb +54 -11
- data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.jsx +53 -6
- data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +48 -9
- data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_block.jsx +41 -44
- data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_default.html.erb +2 -2
- data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_default.jsx +53 -62
- data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_image.jsx +43 -53
- data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_input.html.erb +105 -0
- data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_input.jsx +158 -0
- data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_input.md +1 -0
- data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_single_select.html.erb +2 -2
- data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_single_select.jsx +46 -53
- data/app/pb_kits/playbook/pb_selectable_card/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_selectable_card/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_selectable_card/selectable_card.rb +27 -2
- data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.scss +8 -8
- data/app/pb_kits/playbook/pb_table/_table.jsx +8 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_responsive_table.html.erb +56 -4
- data/app/pb_kits/playbook/pb_table/docs/_table_responsive_table.jsx +64 -3
- data/app/pb_kits/playbook/pb_table/docs/_table_sm.md +2 -0
- data/app/pb_kits/playbook/pb_table/styles/_all.scss +3 -0
- data/app/pb_kits/playbook/pb_table/styles/_desktop_collapse.scss +135 -0
- data/app/pb_kits/playbook/pb_table/styles/_mobile_collapse.scss +135 -0
- data/app/pb_kits/playbook/pb_table/styles/_tablet_collapse.scss +135 -0
- data/app/pb_kits/playbook/pb_table/table.rb +8 -1
- data/app/pb_kits/playbook/pb_timestamp/_timestamp.html.erb +6 -4
- data/app/pb_kits/playbook/pb_timestamp/_timestamp.jsx +92 -16
- data/app/pb_kits/playbook/pb_timestamp/_timestamp.scss +12 -1
- data/app/pb_kits/playbook/pb_timestamp/docs/_description.md +1 -1
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_align.jsx +26 -18
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_default.html.erb +21 -1
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_default.jsx +40 -8
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_elapsed.jsx +12 -4
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones.jsx +26 -18
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated.html.erb +0 -21
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated.jsx +6 -28
- data/app/pb_kits/playbook/pb_timestamp/docs/example.yml +8 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/index.js +4 -0
- data/app/pb_kits/playbook/pb_timestamp/timestamp.rb +83 -1
- data/app/pb_kits/playbook/pb_typeahead/_typeahead.html.erb +1 -1
- data/app/pb_kits/playbook/pb_typeahead/_typeahead.jsx +6 -1
- data/app/pb_kits/playbook/pb_typeahead/_typeahead.scss +38 -2
- data/app/pb_kits/playbook/pb_typeahead/components/Control.jsx +1 -0
- data/app/pb_kits/playbook/pb_typeahead/components/MultiValue.jsx +2 -4
- data/app/pb_kits/playbook/pb_typeahead/components/Option.jsx +8 -3
- data/app/pb_kits/playbook/pb_typeahead/docs/{_typeahead_with_context_dark.html.erb → _typeahead_with_context.html.erb} +10 -2
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.html.erb +1 -1
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async.jsx +13 -1
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_custom_options.jsx +111 -0
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_custom_options.md +1 -0
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_users.html.erb +1 -1
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_users.jsx +1 -0
- data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +3 -2
- data/app/pb_kits/playbook/pb_typeahead/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_typeahead/typeahead.rb +2 -1
- data/app/pb_kits/playbook/pb_user_badge/docs/index.js +0 -1
- data/app/pb_kits/playbook/tokens/_border_radius.scss +21 -7
- data/app/pb_kits/playbook/utilities/_max_width.scss +15 -0
- data/app/pb_kits/playbook/utilities/_spacing.scss +20 -20
- data/app/pb_kits/playbook/utilities/globalProps.js +7 -1
- data/lib/playbook.rb +11 -0
- data/lib/playbook/engine.rb +15 -0
- data/lib/playbook/props.rb +23 -1
- data/lib/playbook/version.rb +1 -1
- metadata +45 -59
- data/app/pb_kits/playbook/pb_background/docs/_background_dark.html.erb +0 -3
- data/app/pb_kits/playbook/pb_background/docs/_background_dark.jsx +0 -12
- data/app/pb_kits/playbook/pb_date_range_stacked/docs/_date_range_stacked_dark.html.erb +0 -1
- data/app/pb_kits/playbook/pb_date_range_stacked/docs/_date_range_stacked_dark.jsx +0 -15
- data/app/pb_kits/playbook/pb_date_stacked/docs/_date_stacked_dark.html.erb +0 -5
- data/app/pb_kits/playbook/pb_date_stacked/docs/_date_stacked_dark.jsx +0 -26
- data/app/pb_kits/playbook/pb_date_time_stacked/docs/_date_time_stacked_dark.html.erb +0 -1
- data/app/pb_kits/playbook/pb_date_time_stacked/docs/_date_time_stacked_dark.jsx +0 -14
- data/app/pb_kits/playbook/pb_date_year_stacked/docs/_date_year_stacked_dark.html.erb +0 -5
- data/app/pb_kits/playbook/pb_date_year_stacked/docs/_date_year_stacked_dark.jsx +0 -28
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_dark.html.erb +0 -21
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_dark.jsx +0 -43
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_multi_line_dark.html.erb +0 -5
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_multi_line_dark.jsx +0 -17
- data/app/pb_kits/playbook/pb_flex/docs/_flex_vertical.html.erb +0 -68
- data/app/pb_kits/playbook/pb_icon/docs/_icon_default_dark.html.erb +0 -3
- data/app/pb_kits/playbook/pb_icon/docs/_icon_default_dark.jsx +0 -18
- data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_color_dark.html.erb +0 -42
- data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_color_dark.jsx +0 -66
- data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_dark.html.erb +0 -4
- data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_dark.jsx +0 -17
- data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_sizes_dark.html.erb +0 -29
- data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_sizes_dark.jsx +0 -38
- data/app/pb_kits/playbook/pb_icon_value/docs/_icon_value_align_dark.html.erb +0 -23
- data/app/pb_kits/playbook/pb_icon_value/docs/_icon_value_align_dark.jsx +0 -37
- data/app/pb_kits/playbook/pb_icon_value/docs/_icon_value_dark.html.erb +0 -21
- data/app/pb_kits/playbook/pb_icon_value/docs/_icon_value_dark.jsx +0 -35
- data/app/pb_kits/playbook/pb_layout/docs/_layout_sizes_dark.html.erb +0 -32
- data/app/pb_kits/playbook/pb_layout/docs/_layout_sizes_dark.jsx +0 -97
- data/app/pb_kits/playbook/pb_popover/docs/_popover_close_dark.html.erb +0 -43
- data/app/pb_kits/playbook/pb_popover/docs/_popover_close_dark.jsx +0 -105
- data/app/pb_kits/playbook/pb_popover/docs/_popover_dark.html.erb +0 -25
- data/app/pb_kits/playbook/pb_popover/docs/_popover_dark.jsx +0 -51
- data/app/pb_kits/playbook/pb_popover/docs/_popover_list_dark.html.erb +0 -13
- data/app/pb_kits/playbook/pb_popover/docs/_popover_list_dark.jsx +0 -54
- data/app/pb_kits/playbook/pb_popover/docs/_popover_scroll_height_dark.html.erb +0 -25
- data/app/pb_kits/playbook/pb_popover/docs/_popover_scroll_height_dark.jsx +0 -57
- data/app/pb_kits/playbook/pb_popover/docs/_popover_z_index_dark.html.erb +0 -14
- data/app/pb_kits/playbook/pb_popover/docs/_popover_z_index_dark.jsx +0 -54
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_elapsed_align.html.erb +0 -54
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_elapsed_align.jsx +0 -73
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones_align.html.erb +0 -177
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones_align.jsx +0 -209
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_align.html.erb +0 -123
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_align.jsx +0 -146
- data/app/pb_kits/playbook/pb_user_badge/docs/_user_badge_size_dark.html.erb +0 -21
- data/app/pb_kits/playbook/pb_user_badge/docs/_user_badge_size_dark.jsx +0 -36
@@ -21,12 +21,15 @@ module Playbook
|
|
21
21
|
prop :responsive, type: Playbook::Props::Enum,
|
22
22
|
values: %w[collapse scroll none],
|
23
23
|
default: "collapse"
|
24
|
+
prop :collapse, type: Playbook::Props::Enum,
|
25
|
+
values: %w[sm md lg],
|
26
|
+
default: "sm"
|
24
27
|
prop :text
|
25
28
|
|
26
29
|
def classname
|
27
30
|
generate_classname(
|
28
31
|
"pb_table", "table-#{size}", single_line_class, dark_class,
|
29
|
-
disable_hover_class, container_class, data_table_class,
|
32
|
+
disable_hover_class, container_class, data_table_class, collapse_class,
|
30
33
|
"table-responsive-#{responsive}", separator: " "
|
31
34
|
)
|
32
35
|
end
|
@@ -52,6 +55,10 @@ module Playbook
|
|
52
55
|
def container_class
|
53
56
|
container ? "table-card" : nil
|
54
57
|
end
|
58
|
+
|
59
|
+
def collapse_class
|
60
|
+
responsive != "none" ? "table-collapse-#{collapse}" : ""
|
61
|
+
end
|
55
62
|
end
|
56
63
|
end
|
57
64
|
end
|
@@ -1,6 +1,8 @@
|
|
1
1
|
<%= content_tag(:div,
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
2
|
+
aria: object.aria,
|
3
|
+
id: object.id,
|
4
|
+
data: object.data,
|
5
|
+
class: object.classname) do %>
|
6
|
+
|
7
|
+
<%= pb_rails("caption", props: { text: object.caption_text, size: 'xs', dark: object.dark }) %>
|
6
8
|
<% end %>
|
@@ -2,36 +2,112 @@
|
|
2
2
|
|
3
3
|
import React from 'react'
|
4
4
|
import classnames from 'classnames'
|
5
|
-
|
5
|
+
import DateTime from '../pb_kit/dateTime.js'
|
6
|
+
import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
|
6
7
|
import { Caption } from '../'
|
7
|
-
|
8
|
-
import { buildCss, buildDataProps } from '../utilities/props'
|
9
|
-
|
10
8
|
import { globalProps } from '../utilities/globalProps.js'
|
11
9
|
|
12
10
|
type TimestampProps = {
|
11
|
+
align?: "left" | "center" | "right",
|
12
|
+
aria?: object,
|
13
|
+
className?: string | array<string>,
|
14
|
+
dark?: boolean,
|
15
|
+
data?: string,
|
16
|
+
text: string,
|
17
|
+
timestamp: string,
|
18
|
+
timezone: string,
|
13
19
|
id?: string,
|
14
|
-
|
15
|
-
|
16
|
-
|
20
|
+
showDate?: boolean,
|
21
|
+
showUser?: boolean,
|
22
|
+
showTimezone?: boolean,
|
23
|
+
variant?: "default" | "elapsed" | "updated"
|
17
24
|
}
|
18
25
|
|
19
26
|
const Timestamp = (props: TimestampProps) => {
|
20
|
-
const {
|
27
|
+
const {
|
28
|
+
align = 'left',
|
29
|
+
aria = {},
|
30
|
+
className,
|
31
|
+
dark = false,
|
32
|
+
data = {},
|
33
|
+
text,
|
34
|
+
timestamp,
|
35
|
+
timezone,
|
36
|
+
showDate = true,
|
37
|
+
showUser = false,
|
38
|
+
showTimezone = false,
|
39
|
+
variant = 'default',
|
40
|
+
} = props
|
41
|
+
|
42
|
+
const ariaProps = buildAriaProps(aria)
|
21
43
|
const dataProps = buildDataProps(data)
|
22
|
-
const
|
44
|
+
const classes = classnames(
|
45
|
+
buildCss('pb_timestamp_kit', align, {
|
46
|
+
dark: dark,
|
47
|
+
variant: variant,
|
48
|
+
}),
|
49
|
+
globalProps(props),
|
50
|
+
className
|
51
|
+
)
|
52
|
+
|
53
|
+
const currentYear = new Date().getFullYear().toString()
|
54
|
+
const dateTimestamp = new DateTime({ value: timestamp, zone: timezone })
|
55
|
+
const dateDisplay = `${dateTimestamp.toMonth()} ${dateTimestamp.toDay()}`
|
56
|
+
const shouldShowUser = showUser == true && text.length > 0
|
57
|
+
const shouldShowTimezone = showTimezone == true && timezone.length > 0
|
58
|
+
const userDisplay = shouldShowUser ? ` by ${text}` : ''
|
59
|
+
|
60
|
+
let timeDisplay = `${dateTimestamp.toHour()}:${dateTimestamp.toMinute()}${dateTimestamp.toMeridian()}`
|
61
|
+
|
62
|
+
const fullTimeDisplay = () => {
|
63
|
+
if (shouldShowTimezone) {
|
64
|
+
timeDisplay = `${timeDisplay} ${dateTimestamp.toTimezone()}`
|
65
|
+
}
|
66
|
+
return timeDisplay
|
67
|
+
}
|
68
|
+
|
69
|
+
const fullDateDisplay = () => {
|
70
|
+
let fullDisplay = `${dateTimestamp.toMonth()} ${dateTimestamp.toDay()}`
|
71
|
+
if (dateTimestamp.toYear() > currentYear) {
|
72
|
+
fullDisplay = `${fullDisplay}, ${dateTimestamp.toYear()}`
|
73
|
+
}
|
74
|
+
return `${fullDisplay} ${' \u00b7 '} ${fullTimeDisplay()}`
|
75
|
+
}
|
76
|
+
|
77
|
+
const formatUpdatedString = () => {
|
78
|
+
return `Last updated ${userDisplay} on ${dateDisplay} at ${timeDisplay}`
|
79
|
+
}
|
80
|
+
|
81
|
+
const formatElapsedString = () => {
|
82
|
+
return `Last updated ${userDisplay} ${dateTimestamp.value.fromNow()}`
|
83
|
+
}
|
84
|
+
|
85
|
+
const datetimeOrText = timestamp ? fullDateDisplay() : text
|
86
|
+
|
87
|
+
const captionText = () => {
|
88
|
+
switch (variant) {
|
89
|
+
case 'updated':
|
90
|
+
return formatUpdatedString(userDisplay, dateTimestamp)
|
91
|
+
case 'elapsed':
|
92
|
+
return formatElapsedString(userDisplay, timeDisplay)
|
93
|
+
default:
|
94
|
+
return showDate ? datetimeOrText : fullTimeDisplay()
|
95
|
+
}
|
96
|
+
}
|
23
97
|
|
24
98
|
return (
|
25
99
|
<div
|
100
|
+
{...ariaProps}
|
26
101
|
{...dataProps}
|
27
|
-
className={
|
28
|
-
id={id}
|
102
|
+
className={classes}
|
29
103
|
>
|
30
|
-
<
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
104
|
+
<div className="pb_timestamp_kit">
|
105
|
+
<Caption
|
106
|
+
dark={dark}
|
107
|
+
size="xs"
|
108
|
+
text={captionText()}
|
109
|
+
/>
|
110
|
+
</div>
|
35
111
|
</div>
|
36
112
|
)
|
37
113
|
}
|
@@ -1,5 +1,16 @@
|
|
1
1
|
@import "timestamp-mixins";
|
2
|
+
@import "../tokens/colors";
|
2
3
|
|
3
|
-
[class^=pb_timestamp_kit]
|
4
|
+
[class^=pb_timestamp_kit]{
|
4
5
|
@include pb_timestamp;
|
6
|
+
|
7
|
+
&[class*=_center] {
|
8
|
+
text-align: center;
|
9
|
+
}
|
10
|
+
&[class*=_right] {
|
11
|
+
text-align: right;
|
12
|
+
}
|
13
|
+
&[class*=_dark] {
|
14
|
+
color: $text_dk_default;
|
15
|
+
}
|
5
16
|
}
|
@@ -1 +1 @@
|
|
1
|
-
This
|
1
|
+
This low profile kit displays time. Elapsed, current, future, or otherwise.
|
@@ -1,13 +1,21 @@
|
|
1
1
|
import React from 'react'
|
2
2
|
import Timestamp from '../_timestamp.jsx'
|
3
3
|
|
4
|
+
const todaysDate = new Date()
|
5
|
+
const year = new Date().getFullYear() + 4
|
6
|
+
const month = new Date().getMonth()
|
7
|
+
const date = new Date().getDate()
|
8
|
+
const hours = new Date().getHours()
|
9
|
+
const minutes = new Date().getMinutes()
|
10
|
+
const customDate = new Date(year, month, date, hours, minutes)
|
11
|
+
|
4
12
|
const TimestampAlign = (props) => {
|
5
13
|
return (
|
6
14
|
<div>
|
7
15
|
<Timestamp
|
8
16
|
align="left"
|
9
|
-
showDate=
|
10
|
-
timestamp={
|
17
|
+
showDate={false}
|
18
|
+
timestamp={todaysDate}
|
11
19
|
{...props}
|
12
20
|
/>
|
13
21
|
|
@@ -15,8 +23,8 @@ const TimestampAlign = (props) => {
|
|
15
23
|
|
16
24
|
<Timestamp
|
17
25
|
align="left"
|
18
|
-
showDate
|
19
|
-
timestamp={
|
26
|
+
showDate
|
27
|
+
timestamp={todaysDate}
|
20
28
|
{...props}
|
21
29
|
/>
|
22
30
|
|
@@ -24,8 +32,8 @@ const TimestampAlign = (props) => {
|
|
24
32
|
|
25
33
|
<Timestamp
|
26
34
|
align="left"
|
27
|
-
showDate
|
28
|
-
timestamp={
|
35
|
+
showDate
|
36
|
+
timestamp={customDate}
|
29
37
|
{...props}
|
30
38
|
/>
|
31
39
|
|
@@ -34,8 +42,8 @@ const TimestampAlign = (props) => {
|
|
34
42
|
|
35
43
|
<Timestamp
|
36
44
|
align="center"
|
37
|
-
showDate=
|
38
|
-
timestamp={
|
45
|
+
showDate={false}
|
46
|
+
timestamp={todaysDate}
|
39
47
|
{...props}
|
40
48
|
/>
|
41
49
|
|
@@ -43,8 +51,8 @@ const TimestampAlign = (props) => {
|
|
43
51
|
|
44
52
|
<Timestamp
|
45
53
|
align="center"
|
46
|
-
showDate
|
47
|
-
timestamp={
|
54
|
+
showDate
|
55
|
+
timestamp={todaysDate}
|
48
56
|
{...props}
|
49
57
|
/>
|
50
58
|
|
@@ -52,8 +60,8 @@ const TimestampAlign = (props) => {
|
|
52
60
|
|
53
61
|
<Timestamp
|
54
62
|
align="center"
|
55
|
-
showDate
|
56
|
-
timestamp={
|
63
|
+
showDate
|
64
|
+
timestamp={customDate}
|
57
65
|
{...props}
|
58
66
|
/>
|
59
67
|
|
@@ -62,8 +70,8 @@ const TimestampAlign = (props) => {
|
|
62
70
|
|
63
71
|
<Timestamp
|
64
72
|
align="right"
|
65
|
-
showDate=
|
66
|
-
timestamp={
|
73
|
+
showDate={false}
|
74
|
+
timestamp={todaysDate}
|
67
75
|
{...props}
|
68
76
|
/>
|
69
77
|
|
@@ -71,8 +79,8 @@ const TimestampAlign = (props) => {
|
|
71
79
|
|
72
80
|
<Timestamp
|
73
81
|
align="right"
|
74
|
-
showDate
|
75
|
-
timestamp={
|
82
|
+
showDate
|
83
|
+
timestamp={todaysDate}
|
76
84
|
{...props}
|
77
85
|
/>
|
78
86
|
|
@@ -80,8 +88,8 @@ const TimestampAlign = (props) => {
|
|
80
88
|
|
81
89
|
<Timestamp
|
82
90
|
align="right"
|
83
|
-
showDate
|
84
|
-
timestamp={
|
91
|
+
showDate
|
92
|
+
timestamp={customDate}
|
85
93
|
{...props}
|
86
94
|
/>
|
87
95
|
</div>
|
@@ -1 +1,21 @@
|
|
1
|
-
<%= pb_rails("timestamp", props: {
|
1
|
+
<%= pb_rails("timestamp", props: {
|
2
|
+
timestamp: DateTime.now,
|
3
|
+
show_date: false,
|
4
|
+
align: "left"
|
5
|
+
}) %>
|
6
|
+
|
7
|
+
<br>
|
8
|
+
|
9
|
+
<%= pb_rails("timestamp", props: {
|
10
|
+
timestamp: DateTime.now,
|
11
|
+
show_date: true,
|
12
|
+
align: "left"
|
13
|
+
}) %>
|
14
|
+
|
15
|
+
<br>
|
16
|
+
|
17
|
+
<%= pb_rails("timestamp", props: {
|
18
|
+
timestamp: DateTime.now + 4.years,
|
19
|
+
show_date: true,
|
20
|
+
align: "left"
|
21
|
+
}) %>
|
@@ -1,11 +1,43 @@
|
|
1
1
|
import React from 'react'
|
2
|
-
import
|
3
|
-
|
4
|
-
const
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
)
|
2
|
+
import Timestamp from '../_timestamp.jsx'
|
3
|
+
|
4
|
+
const todaysDate = new Date()
|
5
|
+
const year = new Date().getFullYear() + 4
|
6
|
+
const month = new Date().getMonth()
|
7
|
+
const date = new Date().getDate()
|
8
|
+
const hours = new Date().getHours()
|
9
|
+
const minutes = new Date().getMinutes()
|
10
|
+
const customDate = new Date(year, month, date, hours, minutes)
|
11
|
+
|
12
|
+
const TimestampDefault = (props) => {
|
13
|
+
return (
|
14
|
+
<div>
|
15
|
+
<Timestamp
|
16
|
+
align="left"
|
17
|
+
showDate={false}
|
18
|
+
timestamp={todaysDate}
|
19
|
+
{...props}
|
20
|
+
/>
|
21
|
+
|
22
|
+
<br />
|
23
|
+
|
24
|
+
<Timestamp
|
25
|
+
align="left"
|
26
|
+
showDate
|
27
|
+
timestamp={todaysDate}
|
28
|
+
{...props}
|
29
|
+
/>
|
30
|
+
|
31
|
+
<br />
|
32
|
+
|
33
|
+
<Timestamp
|
34
|
+
align="left"
|
35
|
+
showDate
|
36
|
+
timestamp={customDate}
|
37
|
+
{...props}
|
38
|
+
/>
|
39
|
+
</div>
|
40
|
+
)
|
41
|
+
}
|
10
42
|
|
11
43
|
export default TimestampDefault
|
@@ -1,13 +1,21 @@
|
|
1
1
|
import React from 'react'
|
2
2
|
import Timestamp from '../_timestamp.jsx'
|
3
3
|
|
4
|
+
const todaysDate = new Date()
|
5
|
+
const year = new Date().getFullYear()
|
6
|
+
const month = new Date().getMonth()
|
7
|
+
const date = new Date().getDate()
|
8
|
+
const hours = new Date().getHours() - 10
|
9
|
+
const minutes = new Date().getMinutes()
|
10
|
+
const customDate = new Date(year, month, date, hours, minutes)
|
11
|
+
|
4
12
|
const TimestampElapsed = (props) => {
|
5
13
|
return (
|
6
14
|
<div>
|
7
15
|
<Timestamp
|
8
|
-
showUser
|
16
|
+
showUser
|
9
17
|
text="Maricris Nonato"
|
10
|
-
timestamp={
|
18
|
+
timestamp={todaysDate}
|
11
19
|
variant="elapsed"
|
12
20
|
{...props}
|
13
21
|
/>
|
@@ -15,8 +23,8 @@ const TimestampElapsed = (props) => {
|
|
15
23
|
<br />
|
16
24
|
|
17
25
|
<Timestamp
|
18
|
-
showUser=
|
19
|
-
timestamp={
|
26
|
+
showUser={false}
|
27
|
+
timestamp={customDate}
|
20
28
|
variant="elapsed"
|
21
29
|
{...props}
|
22
30
|
/>
|
@@ -1,14 +1,22 @@
|
|
1
1
|
import React from 'react'
|
2
2
|
import Timestamp from '../_timestamp.jsx'
|
3
3
|
|
4
|
+
const todaysDate = new Date()
|
5
|
+
const year = new Date().getFullYear() + 4
|
6
|
+
const month = new Date().getMonth()
|
7
|
+
const date = new Date().getDate()
|
8
|
+
const hours = new Date().getHours()
|
9
|
+
const minutes = new Date().getMinutes()
|
10
|
+
const customDate = new Date(year, month, date, hours, minutes)
|
11
|
+
|
4
12
|
const TimestampTimezones = (props) => {
|
5
13
|
return (
|
6
14
|
<div>
|
7
15
|
<Timestamp
|
8
16
|
align="left"
|
9
|
-
showDate=
|
10
|
-
showTimezone
|
11
|
-
timestamp={
|
17
|
+
showDate={false}
|
18
|
+
showTimezone
|
19
|
+
timestamp={todaysDate}
|
12
20
|
timezone="America/New_York"
|
13
21
|
{...props}
|
14
22
|
/>
|
@@ -17,9 +25,9 @@ const TimestampTimezones = (props) => {
|
|
17
25
|
|
18
26
|
<Timestamp
|
19
27
|
align="left"
|
20
|
-
showDate
|
21
|
-
showTimezone
|
22
|
-
timestamp={
|
28
|
+
showDate
|
29
|
+
showTimezone
|
30
|
+
timestamp={todaysDate}
|
23
31
|
timezone="America/New_York"
|
24
32
|
{...props}
|
25
33
|
/>
|
@@ -28,9 +36,9 @@ const TimestampTimezones = (props) => {
|
|
28
36
|
|
29
37
|
<Timestamp
|
30
38
|
align="left"
|
31
|
-
showDate
|
32
|
-
showTimezone
|
33
|
-
timestamp={
|
39
|
+
showDate
|
40
|
+
showTimezone
|
41
|
+
timestamp={customDate}
|
34
42
|
timezone="America/New_York"
|
35
43
|
{...props}
|
36
44
|
/>
|
@@ -39,9 +47,9 @@ const TimestampTimezones = (props) => {
|
|
39
47
|
|
40
48
|
<Timestamp
|
41
49
|
align="left"
|
42
|
-
showDate=
|
43
|
-
showTimezone
|
44
|
-
timestamp={
|
50
|
+
showDate={false}
|
51
|
+
showTimezone
|
52
|
+
timestamp={todaysDate}
|
45
53
|
timezone="Asia/Hong_Kong"
|
46
54
|
{...props}
|
47
55
|
/>
|
@@ -50,9 +58,9 @@ const TimestampTimezones = (props) => {
|
|
50
58
|
|
51
59
|
<Timestamp
|
52
60
|
align="left"
|
53
|
-
showDate
|
54
|
-
showTimezone
|
55
|
-
timestamp={
|
61
|
+
showDate
|
62
|
+
showTimezone
|
63
|
+
timestamp={todaysDate}
|
56
64
|
timezone="Asia/Hong_Kong"
|
57
65
|
{...props}
|
58
66
|
/>
|
@@ -61,9 +69,9 @@ const TimestampTimezones = (props) => {
|
|
61
69
|
|
62
70
|
<Timestamp
|
63
71
|
align="left"
|
64
|
-
showDate
|
65
|
-
showTimezone
|
66
|
-
timestamp={
|
72
|
+
showDate
|
73
|
+
showTimezone
|
74
|
+
timestamp={customDate}
|
67
75
|
timezone="Asia/Hong_Kong"
|
68
76
|
{...props}
|
69
77
|
/>
|