playbook_ui 14.25.0.pre.alpha.PLAY2425textinputaccessibility9851 → 14.25.0.pre.alpha.PLAY2431fixextragap10276
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/pb_kits/playbook/_playbook.scss +0 -1
- data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +6 -6
- data/app/pb_kits/playbook/pb_advanced_table/advanced_table.test.jsx +1 -1
- data/app/pb_kits/playbook/pb_avatar/_avatar.scss +60 -65
- data/app/pb_kits/playbook/pb_avatar/avatar.test.js +1 -1
- data/app/pb_kits/playbook/pb_background/_background.scss +3 -3
- data/app/pb_kits/playbook/pb_badge/_badge.scss +135 -29
- data/app/pb_kits/playbook/pb_body/_body.scss +108 -35
- data/app/pb_kits/playbook/pb_body/_body_mixins.scss +1 -1
- data/app/pb_kits/playbook/pb_bread_crumbs/_bread_crumbs.scss +17 -30
- data/app/pb_kits/playbook/pb_button/_button.scss +39 -31
- data/app/pb_kits/playbook/pb_button/_button.tsx +12 -12
- data/app/pb_kits/playbook/pb_button/_button_mixins.scss +1 -1
- data/app/pb_kits/playbook/pb_button/button.rb +11 -18
- data/app/pb_kits/playbook/pb_button/button.test.js +3 -3
- data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.scss +82 -73
- data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar_dark.scss +32 -33
- data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar_mixins.scss +1 -1
- data/app/pb_kits/playbook/pb_button_toolbar/button_toolbar.test.js +2 -2
- data/app/pb_kits/playbook/pb_caption/_caption.scss +100 -17
- data/app/pb_kits/playbook/pb_caption/_caption_mixin.scss +1 -8
- data/app/pb_kits/playbook/pb_card/_card.scss +116 -79
- data/app/pb_kits/playbook/pb_card/_card.tsx +26 -11
- data/app/pb_kits/playbook/pb_card/_card_mixin.scss +1 -1
- data/app/pb_kits/playbook/pb_card/card.rb +8 -7
- data/app/pb_kits/playbook/pb_card/card_header.rb +6 -2
- data/app/pb_kits/playbook/pb_card/docs/_card_header.html.erb +1 -1
- data/app/pb_kits/playbook/pb_checkbox/_checkbox.scss +11 -2
- data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.scss +7 -7
- data/app/pb_kits/playbook/pb_circle_icon_button/circle_icon_button.test.js +1 -1
- data/app/pb_kits/playbook/pb_collapsible/__snapshots__/collapsible.test.js.snap +1 -1
- data/app/pb_kits/playbook/pb_collapsible/_collapsible.scss +4 -4
- data/app/pb_kits/playbook/pb_copy_button/copy_button.test.jsx +1 -1
- data/app/pb_kits/playbook/pb_currency/_currency.scss +124 -39
- data/app/pb_kits/playbook/pb_dashboard_value/_dashboard_value.scss +16 -6
- data/app/pb_kits/playbook/pb_date/_date.scss +16 -18
- data/app/pb_kits/playbook/pb_date/date.test.js +506 -0
- data/app/pb_kits/playbook/pb_date_picker/_date_picker.scss +1 -1
- data/app/pb_kits/playbook/pb_date_picker/sass_partials/_inline_styles.scss +12 -12
- data/app/pb_kits/playbook/pb_date_picker/sass_partials/_input_styles.scss +2 -2
- data/app/pb_kits/playbook/pb_date_picker/sass_partials/_time_selection_styles.scss +6 -5
- data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.scss +29 -23
- data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.tsx +1 -1
- data/app/pb_kits/playbook/pb_date_range_stacked/_date_range_stacked.scss +1 -1
- data/app/pb_kits/playbook/pb_date_range_stacked/date_range_stacked.test.js +2 -2
- data/app/pb_kits/playbook/pb_date_stacked/_date_stacked.scss +66 -26
- data/app/pb_kits/playbook/pb_date_stacked/date_stacked.rb +1 -1
- data/app/pb_kits/playbook/pb_date_stacked/date_stacked.test.js +2 -2
- data/app/pb_kits/playbook/pb_date_time/_date_time.scss +8 -15
- data/app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.scss +6 -7
- data/app/pb_kits/playbook/pb_date_year_stacked/_date_year_stacked.scss +17 -14
- data/app/pb_kits/playbook/pb_date_year_stacked/date_year_stacked.test.js +1 -1
- data/app/pb_kits/playbook/pb_detail/_detail.scss +86 -21
- data/app/pb_kits/playbook/pb_dialog/_dialog.scss +330 -123
- data/app/pb_kits/playbook/pb_dialog/docs/_dialog_loading.html.erb +16 -2
- data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.scss +10 -7
- data/app/pb_kits/playbook/pb_draggable/draggable.test.jsx +1 -1
- data/app/pb_kits/playbook/pb_dropdown/_dropdown.scss +1 -1
- data/app/pb_kits/playbook/pb_dropdown/dropdown.test.jsx +6 -6
- data/app/pb_kits/playbook/pb_dropdown/index.js +3 -3
- data/app/pb_kits/playbook/pb_empty_state/_empty_state.scss +4 -4
- data/app/pb_kits/playbook/pb_file_upload/_file_upload.scss +20 -9
- data/app/pb_kits/playbook/pb_file_upload/file_upload.html.erb +1 -1
- data/app/pb_kits/playbook/pb_filter/_filter.scss +8 -8
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.scss +65 -29
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.tsx +1 -2
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_props_swift.md +3 -2
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/fixed_confirmation_toast.test.js +1 -1
- data/app/pb_kits/playbook/pb_flex/_flex.scss +106 -100
- data/app/pb_kits/playbook/pb_flex/_flex.tsx +32 -25
- data/app/pb_kits/playbook/pb_flex/_flex_item.scss +146 -51
- data/app/pb_kits/playbook/pb_flex/_flex_item.tsx +19 -8
- data/app/pb_kits/playbook/pb_flex/flex.rb +16 -16
- data/app/pb_kits/playbook/pb_flex/flex_item.rb +6 -6
- data/app/pb_kits/playbook/pb_form_group/_form_group.scss +1 -1
- data/app/pb_kits/playbook/pb_form_pill/_form_pill.scss +381 -344
- data/app/pb_kits/playbook/pb_form_pill/_form_pill.test.jsx +4 -4
- data/app/pb_kits/playbook/pb_form_pill/_form_pill.tsx +8 -7
- data/app/pb_kits/playbook/pb_form_pill/form_pill.rb +9 -2
- data/app/pb_kits/playbook/pb_gauge/_gauge.scss +5 -5
- data/app/pb_kits/playbook/pb_hashtag/_hashtag.scss +1 -1
- data/app/pb_kits/playbook/pb_highlight/_highlight.scss +1 -1
- data/app/pb_kits/playbook/pb_home_address_street/home_adress_street.test.js +2 -2
- data/app/pb_kits/playbook/pb_icon_button/_icon_button.scss +4 -4
- data/app/pb_kits/playbook/pb_icon_circle/_icon_circle.scss +40 -39
- data/app/pb_kits/playbook/pb_icon_circle/icon_circle.rb +1 -1
- data/app/pb_kits/playbook/pb_icon_stat_value/icon_stat_value.test.js +1 -1
- data/app/pb_kits/playbook/pb_icon_value/_icon_value.scss +16 -15
- data/app/pb_kits/playbook/pb_image/_image.scss +41 -36
- data/app/pb_kits/playbook/pb_label_pill/_label_pill.scss +1 -1
- data/app/pb_kits/playbook/pb_label_value/_label_value.scss +3 -2
- data/app/pb_kits/playbook/pb_label_value/label_value.test.js +2 -2
- data/app/pb_kits/playbook/pb_layout/_layout.scss +336 -305
- data/app/pb_kits/playbook/pb_layout/_layout.tsx +14 -11
- data/app/pb_kits/playbook/pb_layout/item.rb +1 -7
- data/app/pb_kits/playbook/pb_layout/layout.rb +16 -25
- data/app/pb_kits/playbook/pb_layout/layout.test.js +3 -3
- data/app/pb_kits/playbook/pb_legend/_legend.scss +66 -16
- data/app/pb_kits/playbook/pb_legend/legend.test.js +1 -1
- data/app/pb_kits/playbook/pb_lightbox/lightbox.scss +4 -4
- data/app/pb_kits/playbook/pb_lightbox/lightbox.test.jsx +1 -1
- data/app/pb_kits/playbook/pb_link/_link.scss +113 -19
- data/app/pb_kits/playbook/pb_list/_list.scss +1 -1
- data/app/pb_kits/playbook/pb_loading_inline/_loading_inline.scss +13 -11
- data/app/pb_kits/playbook/pb_map/_map.scss +1 -1
- data/app/pb_kits/playbook/pb_map/docs/_map_default.jsx +1 -1
- data/app/pb_kits/playbook/pb_map/docs/_map_with_custom_button.jsx +1 -1
- data/app/pb_kits/playbook/pb_map/docs/_map_with_plugin.jsx +1 -1
- data/app/pb_kits/playbook/pb_message/_message.scss +21 -16
- data/app/pb_kits/playbook/pb_message/_message.tsx +1 -0
- data/app/pb_kits/playbook/pb_message/_message_mixins.scss +5 -12
- data/app/pb_kits/playbook/pb_message/message.html.erb +1 -1
- data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.scss +6 -3
- data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.scss +16 -15
- data/app/pb_kits/playbook/pb_multiple_users_stacked/_multiple_users_stacked.scss +1 -1
- data/app/pb_kits/playbook/pb_nav/_bold_mixin.scss +1 -1
- data/app/pb_kits/playbook/pb_nav/_collapsible_nav.scss +1 -1
- data/app/pb_kits/playbook/pb_online_status/_online_status.scss +19 -15
- data/app/pb_kits/playbook/pb_online_status/_online_status.tsx +1 -1
- data/app/pb_kits/playbook/pb_online_status/online_status.rb +5 -4
- data/app/pb_kits/playbook/pb_online_status/online_status.test.js +2 -2
- data/app/pb_kits/playbook/pb_overlay/_overlay.scss +1 -1
- data/app/pb_kits/playbook/pb_overlay/overlay.rb +1 -1
- data/app/pb_kits/playbook/pb_passphrase/_passphrase.scss +5 -2
- data/app/pb_kits/playbook/pb_person/_person.scss +1 -1
- data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.scss +1 -1
- data/app/pb_kits/playbook/pb_pill/_pill.scss +23 -21
- data/app/pb_kits/playbook/pb_progress_pills/_progress_pills.scss +15 -13
- data/app/pb_kits/playbook/pb_progress_simple/_progress_simple.scss +108 -33
- data/app/pb_kits/playbook/pb_progress_step/_progress_step.scss +1 -1
- data/app/pb_kits/playbook/pb_radio/_radio.scss +71 -52
- data/app/pb_kits/playbook/pb_radio/_radio.tsx +1 -1
- data/app/pb_kits/playbook/pb_radio/docs/_radio_react_hook.jsx +0 -3
- data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.scss +4 -4
- data/app/pb_kits/playbook/pb_section_separator/_section_separator.scss +81 -70
- data/app/pb_kits/playbook/pb_section_separator/_section_separator.tsx +9 -1
- data/app/pb_kits/playbook/pb_section_separator/_section_separator_mixin.scss +1 -1
- data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_color.jsx +3 -1
- data/app/pb_kits/playbook/pb_section_separator/section_separator.rb +7 -1
- data/app/pb_kits/playbook/pb_select/_select.scss +4 -4
- data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +6 -2
- data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.scss +17 -8
- data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.scss +39 -29
- data/app/pb_kits/playbook/pb_selectable_list/_item.tsx +2 -0
- data/app/pb_kits/playbook/pb_selectable_list/_selectable_list.scss +8 -11
- data/app/pb_kits/playbook/pb_selectable_list/selectable_list.test.js +2 -3
- data/app/pb_kits/playbook/pb_selectable_list/selectable_list_item.html.erb +2 -2
- data/app/pb_kits/playbook/pb_source/_source.scss +8 -8
- data/app/pb_kits/playbook/pb_star_rating/_star_rating.scss +1 -1
- data/app/pb_kits/playbook/pb_star_rating/star_rating.test.js +1 -1
- data/app/pb_kits/playbook/pb_stat_value/_stat_value.scss +2 -2
- data/app/pb_kits/playbook/pb_text_input/_text_input.scss +5 -5
- data/app/pb_kits/playbook/pb_text_input/_text_input.tsx +6 -14
- data/app/pb_kits/playbook/pb_text_input/docs/_text_input_default.html.erb +4 -8
- data/app/pb_kits/playbook/pb_text_input/docs/_text_input_default.jsx +0 -5
- data/app/pb_kits/playbook/pb_text_input/text_input.html.erb +1 -3
- data/app/pb_kits/playbook/pb_text_input/text_input.rb +0 -6
- data/app/pb_kits/playbook/pb_textarea/_textarea.scss +6 -6
- data/app/pb_kits/playbook/pb_time/_time.scss +44 -17
- data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.scss +44 -23
- data/app/pb_kits/playbook/pb_time_range_inline/time_range_inline.rb +1 -1
- data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.scss +5 -8
- data/app/pb_kits/playbook/pb_timestamp/_timestamp.scss +16 -10
- data/app/pb_kits/playbook/pb_timestamp/_timestamp.tsx +1 -4
- data/app/pb_kits/playbook/pb_timestamp/timestamp.rb +1 -1
- data/app/pb_kits/playbook/pb_timestamp/timestamp.test.js +2 -2
- data/app/pb_kits/playbook/pb_title/_title.scss +44 -39
- data/app/pb_kits/playbook/pb_title/_title.tsx +17 -8
- data/app/pb_kits/playbook/pb_title/_title_mixin.scss +2 -2
- data/app/pb_kits/playbook/pb_title/title.rb +20 -10
- data/app/pb_kits/playbook/pb_title/title.test.js +4 -4
- data/app/pb_kits/playbook/pb_title_count/_title_count.scss +19 -8
- data/app/pb_kits/playbook/pb_title_detail/_title_detail.scss +10 -11
- data/app/pb_kits/playbook/pb_toggle/_toggle.scss +4 -1
- data/app/pb_kits/playbook/pb_tooltip/_tooltip.scss +3 -4
- data/app/pb_kits/playbook/pb_tooltip/tooltip.rb +1 -1
- data/app/pb_kits/playbook/pb_typeahead/_typeahead.test.jsx +3 -3
- 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.jsx +1 -1
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_color.html.erb +1 -22
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_color.jsx +1 -1
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_without_pills.html.erb +2 -2
- data/app/pb_kits/playbook/pb_user/_user.scss +83 -33
- data/app/pb_kits/playbook/pb_user/docs/_user_props_table.md +14 -7
- data/app/pb_kits/playbook/pb_user/user.test.js +1 -1
- data/app/pb_kits/playbook/pb_user_badge/_user_badge.scss +23 -8
- data/app/pb_kits/playbook/pb_weekday_stacked/_weekday_stacked.scss +10 -10
- data/app/pb_kits/playbook/pb_weekday_stacked/weekday_stacked.test.jsx +3 -3
- data/app/pb_kits/playbook/utilities/_gap.scss +2 -2
- data/app/pb_kits/playbook/utilities/globalProps.ts +4 -4
- data/dist/chunks/{_line_graph-D94iS5fa.js → _line_graph-CUooRbut.js} +1 -1
- data/dist/chunks/_typeahead-Bj9K0Txs.js +6 -0
- data/dist/chunks/{_weekday_stacked-DEe6-ZrA.js → _weekday_stacked-C5IaQoRI.js} +2 -2
- data/dist/chunks/vendor.js +1 -1
- data/dist/menu.yml +0 -6
- data/dist/playbook-doc.js +2 -2
- data/dist/playbook-rails-react-bindings.js +1 -1
- data/dist/playbook-rails.js +1 -1
- data/dist/playbook.css +1 -1
- data/lib/playbook/spacing.rb +6 -6
- data/lib/playbook/version.rb +1 -1
- metadata +6 -35
- data/app/pb_kits/playbook/pb_drawer/_close_icon.tsx +0 -25
- data/app/pb_kits/playbook/pb_drawer/_drawer.scss +0 -381
- data/app/pb_kits/playbook/pb_drawer/_drawer.tsx +0 -231
- data/app/pb_kits/playbook/pb_drawer/_drawer_context.tsx +0 -3
- data/app/pb_kits/playbook/pb_drawer/context.ts +0 -11
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_behavior.html.erb +0 -8
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_behavior.jsx +0 -41
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_borders.html.erb +0 -33
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_borders.jsx +0 -78
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.html.erb +0 -3
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.jsx +0 -26
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_default.html.erb +0 -20
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_default.jsx +0 -59
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.html.erb +0 -24
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.jsx +0 -61
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.md +0 -24
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.html.erb +0 -21
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.jsx +0 -54
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.md +0 -1
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_sizes.html.erb +0 -49
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_sizes.jsx +0 -99
- data/app/pb_kits/playbook/pb_drawer/docs/example.yml +0 -20
- data/app/pb_kits/playbook/pb_drawer/docs/index.js +0 -7
- data/app/pb_kits/playbook/pb_drawer/drawer.html.erb +0 -20
- data/app/pb_kits/playbook/pb_drawer/drawer.rb +0 -56
- data/app/pb_kits/playbook/pb_drawer/drawer.test.jsx +0 -81
- data/app/pb_kits/playbook/pb_drawer/hooks/useBreakpoint.tsx +0 -60
- data/app/pb_kits/playbook/pb_drawer/hooks/useDrawerAnimation.tsx +0 -21
- data/app/pb_kits/playbook/pb_drawer/index.js +0 -257
- data/app/pb_kits/playbook/pb_text_input/docs/_text_input_default.md +0 -1
- data/dist/chunks/_typeahead-Du4IsS-P.js +0 -6
@@ -2,7 +2,7 @@
|
|
2
2
|
@import "../tokens/titles";
|
3
3
|
@import "../tokens/colors";
|
4
4
|
|
5
|
-
|
5
|
+
.pb_text_input_kit {
|
6
6
|
.pb_text_input_kit_label {
|
7
7
|
margin-bottom: $space_xs;
|
8
8
|
display: block;
|
@@ -76,7 +76,7 @@
|
|
76
76
|
.text_input {
|
77
77
|
border-color: $error_dark;
|
78
78
|
}
|
79
|
-
|
79
|
+
.pb_body_kit_negative {
|
80
80
|
color: $error_dark;
|
81
81
|
}
|
82
82
|
}
|
@@ -100,7 +100,7 @@
|
|
100
100
|
}
|
101
101
|
&.error {
|
102
102
|
.text_input_wrapper {
|
103
|
-
|
103
|
+
.pb_body_kit_negative {
|
104
104
|
margin-top: $space_xs / 2;
|
105
105
|
}
|
106
106
|
// The `:not` here prevents error styling from affecting the country search input in the Phone Number Input Kit.
|
@@ -174,9 +174,9 @@
|
|
174
174
|
}
|
175
175
|
|
176
176
|
.text_input_wrapper_add_on {
|
177
|
-
& >
|
177
|
+
& > .pb_text_input_kit:not(:last-child) {
|
178
178
|
.text_input_wrapper_add_on input,
|
179
|
-
|
179
|
+
.pb_text_input_kit .text_input_wrapper_add_on .text_input {
|
180
180
|
border-bottom-right-radius: 0;
|
181
181
|
border-top-right-radius: 0;
|
182
182
|
border-right-width: 0;
|
@@ -138,14 +138,10 @@ const TextInput = (props: TextInputProps, ref: React.LegacyRef<HTMLInputElement>
|
|
138
138
|
formattedValue = value
|
139
139
|
}
|
140
140
|
|
141
|
-
const errorId = error ? `${id}-error` : undefined
|
142
|
-
|
143
141
|
const textInput = (
|
144
142
|
childInput ? React.cloneElement(children, { className: "text_input" }) :
|
145
143
|
(<input
|
146
144
|
{...domSafeProps(props)}
|
147
|
-
aria-describedby={errorId}
|
148
|
-
aria-invalid={!!error}
|
149
145
|
className="text_input"
|
150
146
|
disabled={disabled}
|
151
147
|
id={id}
|
@@ -203,20 +199,16 @@ const TextInput = (props: TextInputProps, ref: React.LegacyRef<HTMLInputElement>
|
|
203
199
|
{...htmlProps}
|
204
200
|
className={css}
|
205
201
|
>
|
206
|
-
{label &&
|
207
|
-
<
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
)}
|
202
|
+
{label &&
|
203
|
+
<Caption
|
204
|
+
className="pb_text_input_kit_label"
|
205
|
+
text={label}
|
206
|
+
/>
|
207
|
+
}
|
213
208
|
<div className={`${addOnCss} text_input_wrapper`}>
|
214
209
|
{render}
|
215
210
|
|
216
211
|
{error && <Body
|
217
|
-
aria={{ atomic: "true", live: "polite" }}
|
218
|
-
htmlOptions={{ role: "alert" }}
|
219
|
-
id={errorId}
|
220
212
|
status="negative"
|
221
213
|
text={error}
|
222
214
|
variant={null}
|
@@ -9,27 +9,23 @@
|
|
9
9
|
|
10
10
|
<%= pb_rails("text_input", props: {
|
11
11
|
label: "Last Name",
|
12
|
-
placeholder: "Enter last name"
|
13
|
-
id: "last-name"
|
12
|
+
placeholder: "Enter last name"
|
14
13
|
}) %>
|
15
14
|
|
16
15
|
<%= pb_rails("text_input", props: {
|
17
16
|
label: "Phone Number",
|
18
17
|
type: "phone",
|
19
|
-
placeholder: "Enter phone number"
|
20
|
-
id: "phone"
|
18
|
+
placeholder: "Enter phone number"
|
21
19
|
}) %>
|
22
20
|
|
23
21
|
<%= pb_rails("text_input", props: {
|
24
22
|
label: "Email Address",
|
25
23
|
type: "email",
|
26
|
-
placeholder: "Enter email address"
|
27
|
-
id: "email"
|
24
|
+
placeholder: "Enter email address"
|
28
25
|
}) %>
|
29
26
|
|
30
27
|
<%= pb_rails("text_input", props: {
|
31
28
|
label: "Zip Code",
|
32
29
|
type: "number",
|
33
|
-
placeholder: "Enter zip code"
|
34
|
-
id: "zip"
|
30
|
+
placeholder: "Enter zip code"
|
35
31
|
}) %>
|
@@ -38,7 +38,6 @@ const TextInputDefault = (props) => {
|
|
38
38
|
{...props}
|
39
39
|
/>
|
40
40
|
<TextInput
|
41
|
-
id="last-name"
|
42
41
|
label="Last Name"
|
43
42
|
name="lastName"
|
44
43
|
onChange={handleOnChangeFormField}
|
@@ -47,7 +46,6 @@ const TextInputDefault = (props) => {
|
|
47
46
|
{...props}
|
48
47
|
/>
|
49
48
|
<TextInput
|
50
|
-
id="phone"
|
51
49
|
label="Phone Number"
|
52
50
|
name="phone"
|
53
51
|
onChange={handleOnChangeFormField}
|
@@ -57,7 +55,6 @@ const TextInputDefault = (props) => {
|
|
57
55
|
{...props}
|
58
56
|
/>
|
59
57
|
<TextInput
|
60
|
-
id="email"
|
61
58
|
label="Email Address"
|
62
59
|
name="email"
|
63
60
|
onChange={handleOnChangeFormField}
|
@@ -67,7 +64,6 @@ const TextInputDefault = (props) => {
|
|
67
64
|
{...props}
|
68
65
|
/>
|
69
66
|
<TextInput
|
70
|
-
id="zip"
|
71
67
|
label="Zip Code"
|
72
68
|
name="zip"
|
73
69
|
onChange={handleOnChangeFormField}
|
@@ -88,7 +84,6 @@ const TextInputDefault = (props) => {
|
|
88
84
|
<br />
|
89
85
|
|
90
86
|
<TextInput
|
91
|
-
id="first-name"
|
92
87
|
label="First Name"
|
93
88
|
onChange={handleOnChangeFirstName}
|
94
89
|
placeholder="Enter first name"
|
@@ -1,8 +1,6 @@
|
|
1
1
|
<%= pb_content_tag(:div, id: nil ) do %>
|
2
2
|
<% if object.label.present? %>
|
3
|
-
<label for="<%= object.input_options[:id] || object.id %>" >
|
4
3
|
<%= pb_rails("caption", props: { text: object.label, dark: object.dark, classname: "pb_text_input_kit_label" }) %>
|
5
|
-
</label>
|
6
4
|
<% end %>
|
7
5
|
<%= content_tag(:div, class: "#{add_on_class} text_input_wrapper") do %>
|
8
6
|
<% if content.present? %>
|
@@ -17,7 +15,7 @@
|
|
17
15
|
<% else %>
|
18
16
|
<%= input_tag %>
|
19
17
|
<% end %>
|
20
|
-
<%= pb_rails("body", props: {dark: object.dark, status: "negative", text: object.error
|
18
|
+
<%= pb_rails("body", props: {dark: object.dark, status: "negative", text: object.error}) if object.error %>
|
21
19
|
<% end %>
|
22
20
|
<% end %>
|
23
21
|
|
@@ -65,16 +65,10 @@ module Playbook
|
|
65
65
|
"#{object.id}-sanitized" if id.present?
|
66
66
|
end
|
67
67
|
|
68
|
-
def error_id
|
69
|
-
"#{id}-error" if error.present?
|
70
|
-
end
|
71
|
-
|
72
68
|
private
|
73
69
|
|
74
70
|
def all_input_options
|
75
71
|
{
|
76
|
-
'aria-describedby': error.present? ? error_id : nil,
|
77
|
-
'aria-invalid': error.present?,
|
78
72
|
autocomplete: autocomplete ? nil : "off",
|
79
73
|
class: "text_input #{input_options.dig(:classname) || ''}",
|
80
74
|
data: validation_data,
|
@@ -3,11 +3,11 @@
|
|
3
3
|
@import "../tokens/spacing";
|
4
4
|
@import "../tokens/titles";
|
5
5
|
|
6
|
-
|
6
|
+
.pb_textarea_kit {
|
7
7
|
margin-bottom: $space_sm;
|
8
8
|
|
9
|
-
|
10
|
-
margin-bottom: $space_xs;
|
9
|
+
.pb_caption_kit_md {
|
10
|
+
margin-bottom: $space_xs !important;
|
11
11
|
display: block;
|
12
12
|
}
|
13
13
|
textarea::placeholder,
|
@@ -59,8 +59,8 @@
|
|
59
59
|
}
|
60
60
|
|
61
61
|
&.error {
|
62
|
-
|
63
|
-
margin-top: $space_xs / 2;
|
62
|
+
.pb_body_kit_negative {
|
63
|
+
margin-top: $space_xs / 2 !important;
|
64
64
|
}
|
65
65
|
textarea {
|
66
66
|
border-color: $error;
|
@@ -81,4 +81,4 @@
|
|
81
81
|
.pb_caption_kit_xs {
|
82
82
|
text-align: right;
|
83
83
|
}
|
84
|
-
}
|
84
|
+
}
|
@@ -4,16 +4,20 @@
|
|
4
4
|
@import "../pb_body/body";
|
5
5
|
@import "../pb_caption/caption";
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
7
|
+
.pb_time_kit,
|
8
|
+
.pb_time_kit_left,
|
9
|
+
.pb_time_kit_center,
|
10
|
+
.pb_time_kit_right,
|
11
|
+
.pb_time_kit_sm,
|
12
|
+
.pb_time_kit_md,
|
13
|
+
.pb_time_kit_left_sm,
|
14
|
+
.pb_time_kit_left_md,
|
15
|
+
.pb_time_kit_center_sm,
|
16
|
+
.pb_time_kit_center_md,
|
17
|
+
.pb_time_kit_right_sm,
|
18
|
+
.pb_time_kit_right_md {
|
15
19
|
|
16
|
-
|
20
|
+
.pb_time_timezone {
|
17
21
|
color: $text_lt_light;
|
18
22
|
font-weight: $bold;
|
19
23
|
|
@@ -21,13 +25,36 @@
|
|
21
25
|
content: " ";
|
22
26
|
}
|
23
27
|
}
|
28
|
+
}
|
24
29
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
30
|
+
.pb_time_kit_center,
|
31
|
+
.pb_time_kit_center_sm,
|
32
|
+
.pb_time_kit_center_md {
|
33
|
+
text-align: center;
|
34
|
+
}
|
35
|
+
|
36
|
+
.pb_time_kit_right,
|
37
|
+
.pb_time_kit_right_sm,
|
38
|
+
.pb_time_kit_right_md {
|
39
|
+
text-align: right;
|
33
40
|
}
|
41
|
+
|
42
|
+
.pb_time_kit.dark,
|
43
|
+
.pb_time_kit_left.dark,
|
44
|
+
.pb_time_kit_center.dark,
|
45
|
+
.pb_time_kit_right.dark,
|
46
|
+
.pb_time_kit_sm.dark,
|
47
|
+
.pb_time_kit_md.dark,
|
48
|
+
.pb_time_kit_left_sm.dark,
|
49
|
+
.pb_time_kit_left_md.dark,
|
50
|
+
.pb_time_kit_center_sm.dark,
|
51
|
+
.pb_time_kit_center_md.dark,
|
52
|
+
.pb_time_kit_right_sm.dark,
|
53
|
+
.pb_time_kit_right_md.dark {
|
54
|
+
& * {
|
55
|
+
@include caption_dark;
|
56
|
+
}
|
57
|
+
.pb_time {
|
58
|
+
color: $text_dk_default;
|
59
|
+
}
|
60
|
+
}
|
@@ -1,35 +1,56 @@
|
|
1
1
|
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
}
|
11
|
-
}
|
12
|
-
&[class*=_right] {
|
13
|
-
& > [class^=pb_caption],
|
14
|
-
& > [class^=pb_body] {
|
15
|
-
text-align: right;
|
16
|
-
}
|
17
|
-
& > [class*=pb_time_range_inline_wrapper] {
|
18
|
-
justify-content: flex-end;
|
19
|
-
}
|
20
|
-
}
|
21
|
-
[class^=pb_time_range_inline_wrapper] {
|
2
|
+
@import "../tokens/spacing";
|
3
|
+
|
4
|
+
// Base time range inline classes
|
5
|
+
.pb_time_range_inline_kit_left,
|
6
|
+
.pb_time_range_inline_kit_center,
|
7
|
+
.pb_time_range_inline_kit_right,
|
8
|
+
.pb_time_range_inline_kit_vertical {
|
9
|
+
.pb_time_range_inline_wrapper {
|
22
10
|
display: flex;
|
23
11
|
align-items: center;
|
24
|
-
|
12
|
+
.pb_time_range_inline_arrow {
|
25
13
|
margin-left: $space_xs/2;
|
26
14
|
margin-right: $space_xs/2;
|
27
15
|
}
|
28
|
-
|
16
|
+
.pb_time_range_inline_timezone {
|
29
17
|
margin-left: $space_xs/2;
|
30
18
|
}
|
31
|
-
|
19
|
+
.pb_time_range_inline_icon {
|
32
20
|
margin-right: $space_xs/2;
|
33
21
|
}
|
34
22
|
}
|
35
23
|
}
|
24
|
+
|
25
|
+
// Center alignment
|
26
|
+
.pb_time_range_inline_kit_center {
|
27
|
+
& > .pb_caption_kit,
|
28
|
+
& > .pb_body_kit {
|
29
|
+
text-align: center;
|
30
|
+
}
|
31
|
+
& > .pb_time_range_inline_wrapper {
|
32
|
+
justify-content: center;
|
33
|
+
}
|
34
|
+
}
|
35
|
+
|
36
|
+
// Right alignment
|
37
|
+
.pb_time_range_inline_kit_right {
|
38
|
+
& > .pb_caption_kit,
|
39
|
+
& > .pb_body_kit {
|
40
|
+
text-align: right;
|
41
|
+
}
|
42
|
+
& > .pb_time_range_inline_wrapper {
|
43
|
+
justify-content: flex-end;
|
44
|
+
}
|
45
|
+
}
|
46
|
+
|
47
|
+
// Vertical alignment
|
48
|
+
.pb_time_range_inline_kit_vertical {
|
49
|
+
& > .pb_caption_kit,
|
50
|
+
& > .pb_body_kit {
|
51
|
+
text-align: center;
|
52
|
+
}
|
53
|
+
& > .pb_time_range_inline_wrapper {
|
54
|
+
justify-content: center;
|
55
|
+
}
|
56
|
+
}
|
@@ -2,15 +2,12 @@
|
|
2
2
|
@import "../pb_caption/caption";
|
3
3
|
@import "../tokens/colors";
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
}
|
9
|
-
|
10
|
-
&[class*=_right] {
|
11
|
-
text-align: right;
|
12
|
-
}
|
5
|
+
.pb_time_stacked_kit_center {
|
6
|
+
text-align: center;
|
7
|
+
}
|
13
8
|
|
9
|
+
.pb_time_stacked_kit_right {
|
10
|
+
text-align: right;
|
14
11
|
}
|
15
12
|
|
16
13
|
.time-spacing {
|
@@ -1,16 +1,22 @@
|
|
1
1
|
@import "timestamp-mixins";
|
2
2
|
@import "../tokens/colors";
|
3
3
|
|
4
|
-
|
4
|
+
.pb_timestamp_kit_left,
|
5
|
+
.pb_timestamp_kit_center,
|
6
|
+
.pb_timestamp_kit_right {
|
5
7
|
@include pb_timestamp;
|
8
|
+
}
|
9
|
+
|
10
|
+
.pb_timestamp_kit_center {
|
11
|
+
text-align: center;
|
12
|
+
}
|
13
|
+
|
14
|
+
.pb_timestamp_kit_right {
|
15
|
+
text-align: right;
|
16
|
+
}
|
6
17
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
text-align: right;
|
12
|
-
}
|
13
|
-
&[class*=_dark] {
|
14
|
-
color: $text_dk_default;
|
15
|
-
}
|
18
|
+
.pb_timestamp_kit_left.dark,
|
19
|
+
.pb_timestamp_kit_center.dark,
|
20
|
+
.pb_timestamp_kit_right.dark {
|
21
|
+
color: $text_dk_default;
|
16
22
|
}
|
@@ -49,10 +49,7 @@ const Timestamp = (props: TimestampProps): React.ReactElement => {
|
|
49
49
|
const dataProps = buildDataProps(data)
|
50
50
|
const htmlProps = buildHtmlProps(htmlOptions)
|
51
51
|
const classes = classnames(
|
52
|
-
buildCss('pb_timestamp_kit', align,
|
53
|
-
dark: dark,
|
54
|
-
variant: variant,
|
55
|
-
}),
|
52
|
+
buildCss('pb_timestamp_kit', align),
|
56
53
|
globalProps(props),
|
57
54
|
className
|
58
55
|
)
|
@@ -36,7 +36,7 @@ describe("Timestamp Kit", () => {
|
|
36
36
|
);
|
37
37
|
|
38
38
|
const kit = screen.getByTestId(testId);
|
39
|
-
expect(kit).toHaveClass("
|
39
|
+
expect(kit).toHaveClass("pb_timestamp_kit_left");
|
40
40
|
});
|
41
41
|
|
42
42
|
test("renders Timestamp time", () => {
|
@@ -79,7 +79,7 @@ describe("Timestamp Kit", () => {
|
|
79
79
|
);
|
80
80
|
|
81
81
|
const kit = screen.getByTestId(testId);
|
82
|
-
expect(kit).toHaveClass("
|
82
|
+
expect(kit).toHaveClass("pb_timestamp_kit_center");
|
83
83
|
});
|
84
84
|
|
85
85
|
test("renders Timestamp timezone", () => {
|
@@ -1,73 +1,78 @@
|
|
1
1
|
@import "../tokens/titles";
|
2
2
|
@import "../tokens/colors";
|
3
|
+
@import "../tokens/typography";
|
3
4
|
@import "../tokens/screen_sizes";
|
4
5
|
@import './title_mixin';
|
5
6
|
|
6
|
-
|
7
|
-
|
7
|
+
.pb_title_kit {
|
8
|
+
// Base title styles - default to title 3 styling
|
9
|
+
@include pb_title_3;
|
10
|
+
@include pb_title_bold;
|
11
|
+
|
12
|
+
// Size-based styles (these will override the base)
|
13
|
+
&.pb_title_1 {
|
8
14
|
@include pb_title_1;
|
9
|
-
@include title_colors;
|
10
15
|
@include pb_title_bold;
|
11
16
|
}
|
12
17
|
|
13
|
-
|
18
|
+
&.pb_title_2 {
|
14
19
|
@include pb_title_2;
|
15
|
-
@include title_colors;
|
16
20
|
@include pb_title_bold;
|
17
21
|
}
|
18
22
|
|
19
|
-
|
23
|
+
&.pb_title_3 {
|
20
24
|
@include pb_title_3;
|
21
|
-
@include title_colors;
|
22
25
|
@include pb_title_bold;
|
23
26
|
}
|
24
27
|
|
25
|
-
|
28
|
+
&.pb_title_4 {
|
26
29
|
@include pb_title_4;
|
27
|
-
@include title_colors;
|
28
30
|
}
|
29
31
|
|
30
|
-
|
32
|
+
&.pb_title_thin {
|
31
33
|
@include pb_title_thin;
|
32
34
|
}
|
33
35
|
|
34
|
-
|
36
|
+
// Color classes
|
37
|
+
@include title_colors;
|
38
|
+
|
39
|
+
// Display sizes
|
40
|
+
&.pb_title_display {
|
35
41
|
font-size: clamp(24px, calc(1.25vw + 5.3vw), 128px);
|
42
|
+
font-weight: $bold;
|
36
43
|
}
|
37
44
|
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
}
|
50
|
-
|
51
|
-
&[class*=_lg] {
|
52
|
-
font-size: min(5vw, 192vw / 16);
|
53
|
-
}
|
54
|
-
|
55
|
-
&[class*=_xl] {
|
56
|
-
font-size: min(6vw, 224vw / 16);
|
57
|
-
}
|
58
|
-
|
59
|
-
&[class*=_xxl] {
|
60
|
-
font-size: min(8vw, 256vw / 16);
|
61
|
-
}
|
45
|
+
// Dynamic sizes
|
46
|
+
&.pb_title_dynamic_xs {
|
47
|
+
font-size: min(2vw, 80vw / 16);
|
48
|
+
}
|
49
|
+
|
50
|
+
&.pb_title_dynamic_sm {
|
51
|
+
font-size: min(2.5vw, 96vw / 16);
|
52
|
+
}
|
53
|
+
|
54
|
+
&.pb_title_dynamic_md {
|
55
|
+
font-size: min(4vw, 160vw / 16);
|
62
56
|
}
|
63
|
-
|
64
57
|
|
58
|
+
&.pb_title_dynamic_lg {
|
59
|
+
font-size: min(5vw, 192vw / 16);
|
60
|
+
}
|
61
|
+
|
62
|
+
&.pb_title_dynamic_xl {
|
63
|
+
font-size: min(6vw, 224vw / 16);
|
64
|
+
}
|
65
|
+
|
66
|
+
&.pb_title_dynamic_xxl {
|
67
|
+
font-size: min(8vw, 256vw / 16);
|
68
|
+
}
|
65
69
|
|
70
|
+
// Responsive breakpoint classes
|
66
71
|
@each $size, $size_value in $breakpoints_grid {
|
67
72
|
@for $title_size_value from 1 through 4 {
|
68
73
|
$min_size: map-get($size_value, "min");
|
69
74
|
$max_size: map-get($size_value, "max");
|
70
|
-
|
75
|
+
&.pb_title_#{$size}_#{$title_size_value} {
|
71
76
|
@include break_on($min_size, $max_size) {
|
72
77
|
@if $title_size_value == 1 { @include pb_title_1; }
|
73
78
|
@else if $title_size_value == 2 { @include pb_title_2; }
|
@@ -83,9 +88,9 @@
|
|
83
88
|
&.dark {
|
84
89
|
@include title_dark;
|
85
90
|
@each $name, $color in $pb_dark_title_colors {
|
86
|
-
|
91
|
+
&.pb_title_#{$name} {
|
87
92
|
color: $color;
|
88
93
|
}
|
89
94
|
}
|
90
95
|
}
|
91
|
-
}
|
96
|
+
}
|
@@ -43,32 +43,41 @@ const Title = (props: TitleProps): React.ReactElement => {
|
|
43
43
|
const ariaProps: {[key: string]: string | number} = buildAriaProps(aria)
|
44
44
|
const dataProps: {[key: string]: string | number} = buildDataProps(data)
|
45
45
|
const htmlProps = buildHtmlProps(htmlOptions)
|
46
|
-
const getBold = bold ? '' : 'thin'
|
47
46
|
const isSizeNumberOrString = typeof size === "number" || typeof size === "string"
|
48
47
|
|
49
48
|
const buildResponsiveSizeCss = () => {
|
50
|
-
|
49
|
+
const classes: string[] = []
|
51
50
|
|
52
51
|
if (!isSizeNumberOrString) {
|
53
52
|
Object.entries(size).forEach((sizeObj) => {
|
54
|
-
|
53
|
+
classes.push(`pb_title_${sizeObj[0]}_${sizeObj[1]}`)
|
55
54
|
})
|
56
55
|
}
|
57
56
|
|
58
|
-
return
|
57
|
+
return classes
|
59
58
|
}
|
60
59
|
|
61
60
|
const buildDisplaySize = () => {
|
62
61
|
if (displaySize) {
|
63
|
-
return `
|
62
|
+
return [`pb_title_dynamic_${displaySize}`]
|
64
63
|
}
|
64
|
+
return []
|
65
65
|
}
|
66
66
|
|
67
|
+
const titleClasses = ['pb_title_kit']
|
68
|
+
|
69
|
+
if (isSizeNumberOrString) {
|
70
|
+
titleClasses.push(`pb_title_${size}`)
|
71
|
+
}
|
72
|
+
if (variant) titleClasses.push(`pb_title_${variant}`)
|
73
|
+
if (color) titleClasses.push(`pb_title_${color}`)
|
74
|
+
if (!bold) titleClasses.push('pb_title_thin')
|
75
|
+
titleClasses.push(...buildDisplaySize())
|
76
|
+
titleClasses.push(...buildResponsiveSizeCss())
|
77
|
+
|
67
78
|
const classes = classnames(
|
68
|
-
|
79
|
+
titleClasses.join(' '),
|
69
80
|
globalProps(props),
|
70
|
-
buildDisplaySize(),
|
71
|
-
buildResponsiveSizeCss(),
|
72
81
|
className
|
73
82
|
)
|
74
83
|
const Tag: React.ReactElement | any = `${tag}`
|
@@ -20,7 +20,7 @@ $pb_dark_title_colors: (
|
|
20
20
|
|
21
21
|
@mixin title_colors {
|
22
22
|
@each $name, $color in $pb_title_colors {
|
23
|
-
|
23
|
+
&.pb_title_#{$name} {
|
24
24
|
color: $color
|
25
25
|
}
|
26
26
|
}
|
@@ -28,4 +28,4 @@ $pb_dark_title_colors: (
|
|
28
28
|
|
29
29
|
@mixin title_dark {
|
30
30
|
color: $text_dk_default;
|
31
|
-
}
|
31
|
+
}
|