playbook_ui 13.12.0.pre.alpha.play1051testhighcharts1581 → 13.12.0.pre.alpha.play10281596
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/pb_avatar/_avatar.tsx +5 -1
- data/app/pb_kits/playbook/pb_avatar_action_button/_avatar_action_button.tsx +6 -2
- data/app/pb_kits/playbook/pb_background/_background.tsx +9 -5
- data/app/pb_kits/playbook/pb_badge/_badge.tsx +5 -1
- data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.tsx +39 -39
- data/app/pb_kits/playbook/pb_body/_body.tsx +5 -1
- data/app/pb_kits/playbook/pb_bread_crumbs/_bread_crumb_item.tsx +5 -1
- data/app/pb_kits/playbook/pb_bread_crumbs/_bread_crumbs.tsx +5 -2
- data/app/pb_kits/playbook/pb_button/_button.tsx +8 -1
- data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.tsx +5 -1
- data/app/pb_kits/playbook/pb_caption/_caption.tsx +6 -1
- data/app/pb_kits/playbook/pb_card/_card.tsx +5 -1
- data/app/pb_kits/playbook/pb_checkbox/_checkbox.tsx +7 -2
- data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.tsx +71 -71
- data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.tsx +5 -3
- data/app/pb_kits/playbook/pb_collapsible/_collapsible.tsx +5 -1
- data/app/pb_kits/playbook/pb_contact/_contact.tsx +5 -1
- data/app/pb_kits/playbook/pb_currency/_currency.tsx +5 -1
- data/app/pb_kits/playbook/pb_dashboard/pbChartsDarkTheme.ts +208 -210
- data/app/pb_kits/playbook/pb_dashboard/pbChartsLightTheme.ts +207 -209
- data/app/pb_kits/playbook/pb_dashboard_value/_dashboard_value.tsx +5 -1
- data/app/pb_kits/playbook/pb_date/_date.tsx +12 -7
- data/app/pb_kits/playbook/pb_date_picker/_date_picker.tsx +5 -1
- data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.tsx +5 -1
- data/app/pb_kits/playbook/pb_date_range_stacked/_date_range_stacked.tsx +15 -4
- data/app/pb_kits/playbook/pb_date_stacked/_date_stacked.tsx +12 -5
- data/app/pb_kits/playbook/pb_date_time/_date_time.tsx +5 -1
- data/app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.tsx +5 -1
- data/app/pb_kits/playbook/pb_date_year_stacked/_date_year_stacked.tsx +15 -4
- data/app/pb_kits/playbook/pb_detail/_detail.tsx +5 -1
- data/app/pb_kits/playbook/pb_dialog/_dialog.tsx +11 -3
- data/app/pb_kits/playbook/pb_dialog/child_kits/_dialog_footer.tsx +8 -3
- data/app/pb_kits/playbook/pb_dialog/child_kits/_dialog_header.tsx +5 -1
- data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.tsx +8 -1
- data/app/pb_kits/playbook/pb_file_upload/_file_upload.tsx +6 -2
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.tsx +6 -1
- data/app/pb_kits/playbook/pb_flex/_flex.tsx +6 -1
- data/app/pb_kits/playbook/pb_flex/_flex_item.tsx +6 -1
- data/app/pb_kits/playbook/pb_form_group/_form_group.tsx +5 -1
- data/app/pb_kits/playbook/pb_form_pill/_form_pill.tsx +7 -1
- data/app/pb_kits/playbook/pb_gauge/_gauge.tsx +54 -62
- data/app/pb_kits/playbook/pb_hashtag/_hashtag.tsx +5 -1
- data/app/pb_kits/playbook/pb_highlight/_highlight.tsx +5 -0
- data/app/pb_kits/playbook/pb_home_address_street/_home_address_street.tsx +10 -3
- data/app/pb_kits/playbook/pb_icon/_icon.tsx +7 -1
- data/app/pb_kits/playbook/pb_icon_circle/_icon_circle.tsx +5 -1
- data/app/pb_kits/playbook/pb_icon_stat_value/_icon_stat_value.tsx +5 -1
- data/app/pb_kits/playbook/pb_icon_value/_icon_value.tsx +5 -1
- data/app/pb_kits/playbook/pb_image/_image.tsx +6 -1
- data/app/pb_kits/playbook/pb_label_pill/_label_pill.tsx +5 -1
- data/app/pb_kits/playbook/pb_label_value/_label_value.tsx +6 -2
- data/app/pb_kits/playbook/pb_layout/_layout.tsx +6 -1
- data/app/pb_kits/playbook/pb_legend/_legend.tsx +5 -1
- data/app/pb_kits/playbook/pb_lightbox/Header/_lightbox_header.tsx +6 -1
- data/app/pb_kits/playbook/pb_lightbox/_lightbox.tsx +5 -1
- data/app/pb_kits/playbook/pb_line_graph/_line_graph.tsx +44 -44
- data/app/pb_kits/playbook/pb_list/_list.tsx +7 -2
- data/app/pb_kits/playbook/pb_list/_list_item.tsx +5 -1
- data/app/pb_kits/playbook/pb_loading_inline/_loading_inline.tsx +5 -1
- data/app/pb_kits/playbook/pb_map/_map.tsx +6 -1
- data/app/pb_kits/playbook/pb_message/_message.tsx +5 -1
- data/app/pb_kits/playbook/pb_message/_message_mention.tsx +5 -1
- data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.tsx +5 -1
- data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.tsx +5 -1
- data/app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_default_swift.md +11 -0
- data/app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_props_swift.md +7 -0
- data/app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_reverse_swift.md +13 -0
- data/app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_size_swift.md +11 -0
- data/app/pb_kits/playbook/pb_multiple_users/docs/example.yml +6 -0
- data/app/pb_kits/playbook/pb_multiple_users_stacked/_multiple_users_stacked.tsx +5 -1
- data/app/pb_kits/playbook/pb_multiple_users_stacked/docs/_multiple_users_stacked_default_swift.md +15 -0
- data/app/pb_kits/playbook/pb_multiple_users_stacked/docs/_multiple_users_stacked_props_swift.md +5 -0
- data/app/pb_kits/playbook/pb_multiple_users_stacked/docs/_multiple_users_stacked_small_swift.md +15 -0
- data/app/pb_kits/playbook/pb_multiple_users_stacked/docs/_multiple_users_stacked_xsmall_swift.md +15 -0
- data/app/pb_kits/playbook/pb_multiple_users_stacked/docs/example.yml +6 -0
- data/app/pb_kits/playbook/pb_nav/_item.tsx +7 -2
- data/app/pb_kits/playbook/pb_nav/_nav.tsx +5 -1
- data/app/pb_kits/playbook/pb_online_status/_online_status.tsx +5 -1
- data/app/pb_kits/playbook/pb_passphrase/_passphrase.tsx +6 -2
- data/app/pb_kits/playbook/pb_person/_person.tsx +5 -0
- data/app/pb_kits/playbook/pb_person_contact/_person_contact.tsx +5 -1
- data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.tsx +8 -2
- data/app/pb_kits/playbook/pb_pill/_pill.tsx +5 -1
- data/app/pb_kits/playbook/pb_popover/_popover.tsx +6 -1
- data/app/pb_kits/playbook/pb_progress_pills/_progress_pills.tsx +5 -1
- data/app/pb_kits/playbook/pb_progress_simple/_progress_simple.tsx +9 -3
- data/app/pb_kits/playbook/pb_progress_step/_progress_step.tsx +5 -1
- data/app/pb_kits/playbook/pb_progress_step/_progress_step_item.tsx +6 -2
- data/app/pb_kits/playbook/pb_radio/_radio.tsx +5 -1
- data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.tsx +7 -1
- data/app/pb_kits/playbook/pb_section_separator/_section_separator.tsx +5 -1
- data/app/pb_kits/playbook/pb_select/_select.tsx +6 -1
- data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.tsx +6 -2
- data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.tsx +5 -0
- data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.tsx +5 -0
- data/app/pb_kits/playbook/pb_selectable_list/_item.tsx +11 -3
- data/app/pb_kits/playbook/pb_selectable_list/_selectable_list.tsx +5 -1
- data/app/pb_kits/playbook/pb_source/_source.tsx +5 -1
- data/app/pb_kits/playbook/pb_star_rating/_star_rating.tsx +5 -1
- data/app/pb_kits/playbook/pb_stat_change/_stat_change.tsx +14 -2
- data/app/pb_kits/playbook/pb_stat_value/_stat_value.tsx +6 -0
- data/app/pb_kits/playbook/pb_table/_table.tsx +5 -1
- data/app/pb_kits/playbook/pb_table/_table_row.tsx +5 -1
- data/app/pb_kits/playbook/pb_text_input/_text_input.tsx +5 -1
- data/app/pb_kits/playbook/pb_text_input/docs/_text_input_add_on_swift.md +35 -0
- data/app/pb_kits/playbook/pb_text_input/docs/_text_input_default_swift.md +29 -0
- data/app/pb_kits/playbook/pb_text_input/docs/_text_input_disabled_swift.md +13 -0
- data/app/pb_kits/playbook/pb_text_input/docs/_text_input_error_swift.md +24 -0
- data/app/pb_kits/playbook/pb_text_input/docs/_text_input_props_swift.md +13 -0
- data/app/pb_kits/playbook/pb_text_input/docs/example.yml +7 -0
- data/app/pb_kits/playbook/pb_textarea/_textarea.tsx +5 -2
- data/app/pb_kits/playbook/pb_time/_time.tsx +9 -2
- data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.tsx +5 -1
- data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.tsx +6 -2
- data/app/pb_kits/playbook/pb_timeline/_item.tsx +9 -2
- data/app/pb_kits/playbook/pb_timeline/_timeline.tsx +5 -1
- data/app/pb_kits/playbook/pb_timestamp/_timestamp.tsx +5 -1
- data/app/pb_kits/playbook/pb_title/_title.tsx +5 -1
- data/app/pb_kits/playbook/pb_title_count/_title_count.tsx +5 -1
- data/app/pb_kits/playbook/pb_title_detail/_title_detail.tsx +16 -3
- data/app/pb_kits/playbook/pb_toggle/_toggle.tsx +5 -0
- data/app/pb_kits/playbook/pb_toggle/docs/_toggle_default_swift.md +11 -0
- data/app/pb_kits/playbook/pb_toggle/docs/_toggle_name_swift.md +10 -0
- data/app/pb_kits/playbook/pb_toggle/docs/_toggle_props_swift.md +6 -0
- data/app/pb_kits/playbook/pb_toggle/docs/example.yml +4 -0
- data/app/pb_kits/playbook/pb_tooltip/_tooltip.tsx +5 -1
- data/app/pb_kits/playbook/pb_treemap_chart/_treemap_chart.tsx +38 -38
- data/app/pb_kits/playbook/pb_typeahead/_typeahead.tsx +7 -2
- data/app/pb_kits/playbook/pb_user/_user.tsx +5 -1
- data/app/pb_kits/playbook/pb_user_badge/_user_badge.tsx +5 -1
- data/app/pb_kits/playbook/pb_walkthrough/_walkthrough.tsx +5 -1
- data/app/pb_kits/playbook/pb_weekday_stacked/_weekday_stacked.tsx +5 -1
- data/app/pb_kits/playbook/utilities/props.ts +16 -0
- data/dist/playbook-rails.js +7 -7
- data/lib/playbook/version.rb +1 -1
- metadata +18 -2
@@ -1,7 +1,7 @@
|
|
1
1
|
import React from 'react'
|
2
2
|
import classnames from 'classnames'
|
3
3
|
|
4
|
-
import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
|
4
|
+
import { buildAriaProps, buildCss, buildDataProps, buildHtmlProps } from '../utilities/props'
|
5
5
|
import { globalProps } from '../utilities/globalProps'
|
6
6
|
|
7
7
|
import Caption from '../pb_caption/_caption'
|
@@ -12,6 +12,7 @@ type SectionSeparatorProps = {
|
|
12
12
|
className?: string,
|
13
13
|
dark?: boolean,
|
14
14
|
data?: { [key: string]: string; },
|
15
|
+
htmlOptions?: {[key: string]: string | number | boolean | Function},
|
15
16
|
id?: string,
|
16
17
|
lineStyle?: "solid" | "dashed",
|
17
18
|
orientation?: "horizontal" | "vertical",
|
@@ -25,6 +26,7 @@ const SectionSeparator = (props: SectionSeparatorProps) => {
|
|
25
26
|
children,
|
26
27
|
className,
|
27
28
|
data = {},
|
29
|
+
htmlOptions = {},
|
28
30
|
id,
|
29
31
|
lineStyle = 'solid',
|
30
32
|
orientation = 'horizontal',
|
@@ -34,6 +36,7 @@ const SectionSeparator = (props: SectionSeparatorProps) => {
|
|
34
36
|
} = props
|
35
37
|
const ariaProps = buildAriaProps(aria)
|
36
38
|
const dataProps = buildDataProps(data)
|
39
|
+
const htmlProps = buildHtmlProps(htmlOptions)
|
37
40
|
const classes = classnames(buildCss('pb_section_separator_kit', variant, orientation, lineStyle === "dashed" ? lineStyle : ""), globalProps(props), className)
|
38
41
|
|
39
42
|
return (
|
@@ -41,6 +44,7 @@ const SectionSeparator = (props: SectionSeparatorProps) => {
|
|
41
44
|
<div
|
42
45
|
{...ariaProps}
|
43
46
|
{...dataProps}
|
47
|
+
{...htmlProps}
|
44
48
|
className={classes}
|
45
49
|
id={id}
|
46
50
|
>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import React, { forwardRef } from 'react'
|
2
2
|
import classnames from 'classnames'
|
3
3
|
|
4
|
-
import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
|
4
|
+
import { buildAriaProps, buildCss, buildDataProps, buildHtmlProps } from '../utilities/props'
|
5
5
|
import { globalProps, GlobalProps, domSafeProps } from '../utilities/globalProps'
|
6
6
|
import type { InputCallback } from '../types'
|
7
7
|
|
@@ -24,6 +24,7 @@ type SelectProps = {
|
|
24
24
|
data?: { [key: string]: string },
|
25
25
|
disabled?: boolean,
|
26
26
|
error?: string,
|
27
|
+
htmlOptions?: {[key: string]: string | number | boolean | Function},
|
27
28
|
id?: string,
|
28
29
|
includeBlank?: string,
|
29
30
|
inline?: boolean,
|
@@ -58,6 +59,7 @@ const Select = ({
|
|
58
59
|
disabled = false,
|
59
60
|
error,
|
60
61
|
label,
|
62
|
+
htmlOptions = {},
|
61
63
|
inline = false,
|
62
64
|
multiple = false,
|
63
65
|
name,
|
@@ -69,6 +71,7 @@ const Select = ({
|
|
69
71
|
}: SelectProps, ref: React.LegacyRef<HTMLSelectElement>) => {
|
70
72
|
const ariaProps = buildAriaProps(aria)
|
71
73
|
const dataProps = buildDataProps(data)
|
74
|
+
const htmlProps = buildHtmlProps(htmlOptions)
|
72
75
|
const optionsList = createOptions(options)
|
73
76
|
|
74
77
|
const inlineClass = inline ? 'inline' : null
|
@@ -89,6 +92,7 @@ const Select = ({
|
|
89
92
|
if (children) return children
|
90
93
|
return (
|
91
94
|
<select
|
95
|
+
{...htmlOptions}
|
92
96
|
{...domSafeProps(props)}
|
93
97
|
disabled={disabled}
|
94
98
|
id={name}
|
@@ -109,6 +113,7 @@ const Select = ({
|
|
109
113
|
<div
|
110
114
|
{...ariaProps}
|
111
115
|
{...dataProps}
|
116
|
+
{...htmlProps}
|
112
117
|
className={classes}
|
113
118
|
>
|
114
119
|
{label &&
|
@@ -9,7 +9,7 @@ import {
|
|
9
9
|
buildCss,
|
10
10
|
buildDataProps,
|
11
11
|
noop,
|
12
|
-
} from '../utilities/props'
|
12
|
+
buildHtmlProps } from '../utilities/props'
|
13
13
|
|
14
14
|
import Icon from '../pb_icon/_icon'
|
15
15
|
import Checkbox from '../pb_checkbox/_checkbox'
|
@@ -28,8 +28,9 @@ type SelectableCardProps = {
|
|
28
28
|
disabled?: boolean,
|
29
29
|
error?: boolean,
|
30
30
|
icon?: boolean,
|
31
|
-
|
31
|
+
htmlOptions?: {[key: string]: string | number | boolean | Function},
|
32
32
|
inputId?: string,
|
33
|
+
id?: string,
|
33
34
|
multi?: boolean,
|
34
35
|
name?: string,
|
35
36
|
onChange: (event: React.FormEvent<HTMLInputElement>) => void,
|
@@ -48,6 +49,7 @@ const SelectableCard = (props: SelectableCardProps) => {
|
|
48
49
|
data = {},
|
49
50
|
disabled = false,
|
50
51
|
error = false,
|
52
|
+
htmlOptions = {},
|
51
53
|
icon = false,
|
52
54
|
inputId = null,
|
53
55
|
multi = true,
|
@@ -59,6 +61,7 @@ const SelectableCard = (props: SelectableCardProps) => {
|
|
59
61
|
} = props
|
60
62
|
const ariaProps = buildAriaProps(aria)
|
61
63
|
const dataProps = buildDataProps(data)
|
64
|
+
const htmlProps = buildHtmlProps(htmlOptions)
|
62
65
|
|
63
66
|
const classes = classnames(buildCss('pb_selectable_card_kit',
|
64
67
|
{
|
@@ -109,6 +112,7 @@ const SelectableCard = (props: SelectableCardProps) => {
|
|
109
112
|
<div
|
110
113
|
{...ariaProps}
|
111
114
|
{...dataProps}
|
115
|
+
{...htmlProps}
|
112
116
|
className={classes}
|
113
117
|
>
|
114
118
|
<input
|
@@ -6,6 +6,7 @@ import {
|
|
6
6
|
buildAriaProps,
|
7
7
|
buildCss,
|
8
8
|
buildDataProps,
|
9
|
+
buildHtmlProps,
|
9
10
|
} from '../utilities/props'
|
10
11
|
|
11
12
|
import Body from '../pb_body/_body'
|
@@ -21,6 +22,7 @@ type SelectableCardIconProps = {
|
|
21
22
|
dark?: boolean,
|
22
23
|
data?: { [key: string]: string },
|
23
24
|
disabled?: boolean,
|
25
|
+
htmlOptions?: {[key: string]: string | number | boolean | Function},
|
24
26
|
icon?: string,
|
25
27
|
inputId?: string,
|
26
28
|
multi?: boolean,
|
@@ -41,6 +43,7 @@ const SelectableCardIcon = (props: SelectableCardIconProps) => {
|
|
41
43
|
dark = false,
|
42
44
|
data = {},
|
43
45
|
disabled = false,
|
46
|
+
htmlOptions = {},
|
44
47
|
icon,
|
45
48
|
inputId,
|
46
49
|
multi = true,
|
@@ -53,6 +56,7 @@ const SelectableCardIcon = (props: SelectableCardIconProps) => {
|
|
53
56
|
|
54
57
|
const ariaProps = buildAriaProps(aria)
|
55
58
|
const dataProps = buildDataProps(data)
|
59
|
+
const htmlProps = buildHtmlProps(htmlOptions)
|
56
60
|
|
57
61
|
const classes = classnames(
|
58
62
|
buildCss('pb_selectable_card_icon_kit', {
|
@@ -68,6 +72,7 @@ const SelectableCardIcon = (props: SelectableCardIconProps) => {
|
|
68
72
|
<div
|
69
73
|
{...ariaProps}
|
70
74
|
{...dataProps}
|
75
|
+
{...htmlProps}
|
71
76
|
className={classes}
|
72
77
|
>
|
73
78
|
<SelectableCard
|
@@ -6,6 +6,7 @@ import {
|
|
6
6
|
buildAriaProps,
|
7
7
|
buildCss,
|
8
8
|
buildDataProps,
|
9
|
+
buildHtmlProps
|
9
10
|
} from '../utilities/props'
|
10
11
|
import Icon from '../pb_icon/_icon'
|
11
12
|
import Title from '../pb_title/_title'
|
@@ -17,6 +18,7 @@ type SelectableIconProps = {
|
|
17
18
|
customIcon?: {[key: string] :SVGElement},
|
18
19
|
disabled?: boolean,
|
19
20
|
data?: Object,
|
21
|
+
htmlOptions?: {[key: string]: string | number | boolean | Function},
|
20
22
|
icon: string,
|
21
23
|
inputId: string,
|
22
24
|
inputs: string,
|
@@ -33,6 +35,7 @@ const SelectableIcon = ({
|
|
33
35
|
customIcon,
|
34
36
|
data = {},
|
35
37
|
disabled = false,
|
38
|
+
htmlOptions = {},
|
36
39
|
icon,
|
37
40
|
inputId,
|
38
41
|
inputs = 'enabled',
|
@@ -44,6 +47,7 @@ const SelectableIcon = ({
|
|
44
47
|
}: SelectableIconProps) => {
|
45
48
|
const ariaProps = buildAriaProps(aria)
|
46
49
|
const dataProps = buildDataProps(data)
|
50
|
+
const htmlProps = buildHtmlProps(htmlOptions)
|
47
51
|
|
48
52
|
const classes = classnames(
|
49
53
|
buildCss('pb_selectable_icon_kit', {
|
@@ -62,6 +66,7 @@ const SelectableIcon = ({
|
|
62
66
|
<div
|
63
67
|
{...ariaProps}
|
64
68
|
{...dataProps}
|
69
|
+
{...htmlProps}
|
65
70
|
className={classes}
|
66
71
|
>
|
67
72
|
{inputs === 'disabled' && (
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import React, { useState } from "react";
|
2
2
|
import classnames from "classnames";
|
3
3
|
|
4
|
-
import { buildAriaProps, buildCss, buildDataProps } from "../utilities/props";
|
4
|
+
import { buildAriaProps, buildCss, buildDataProps, buildHtmlProps } from "../utilities/props";
|
5
5
|
import { globalProps } from "../utilities/globalProps";
|
6
6
|
|
7
7
|
import Checkbox from "../pb_checkbox/_checkbox";
|
@@ -15,6 +15,7 @@ export type SelectableListItemProps = {
|
|
15
15
|
className?: string;
|
16
16
|
data?: object;
|
17
17
|
defaultChecked?: boolean;
|
18
|
+
htmlOptions?: { [key: string]: string | number | boolean | Function };
|
18
19
|
id?: string;
|
19
20
|
label?: string;
|
20
21
|
text?: string;
|
@@ -31,6 +32,7 @@ const SelectableListItem = ({
|
|
31
32
|
className,
|
32
33
|
data = {},
|
33
34
|
defaultChecked,
|
35
|
+
htmlOptions = {},
|
34
36
|
id,
|
35
37
|
label,
|
36
38
|
text = "",
|
@@ -41,7 +43,8 @@ const SelectableListItem = ({
|
|
41
43
|
...props
|
42
44
|
}: SelectableListItemProps) => {
|
43
45
|
const ariaProps = buildAriaProps(aria);
|
44
|
-
const dataProps = buildDataProps(data)
|
46
|
+
const dataProps = buildDataProps(data)
|
47
|
+
const htmlProps = buildHtmlProps(htmlOptions);
|
45
48
|
const classes = classnames(
|
46
49
|
buildCss("pb_selectable_list_item_kit"),
|
47
50
|
globalProps(props),
|
@@ -61,7 +64,12 @@ const SelectableListItem = ({
|
|
61
64
|
{...props}
|
62
65
|
className={classnames(checkedState ? "checked_item" : "", className)}
|
63
66
|
>
|
64
|
-
<div
|
67
|
+
<div
|
68
|
+
{...ariaProps}
|
69
|
+
{...dataProps}
|
70
|
+
{...htmlProps}
|
71
|
+
className={classes}
|
72
|
+
>
|
65
73
|
{variant == "checkbox" && (
|
66
74
|
<>
|
67
75
|
<Checkbox
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import React, { useState } from 'react'
|
2
2
|
import classnames from 'classnames'
|
3
3
|
|
4
|
-
import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
|
4
|
+
import { buildAriaProps, buildCss, buildDataProps, buildHtmlProps } from '../utilities/props'
|
5
5
|
import { globalProps } from '../utilities/globalProps'
|
6
6
|
import { SelectableListItemProps } from './_item.js'
|
7
7
|
|
@@ -13,6 +13,7 @@ type SelectableListProps = {
|
|
13
13
|
children?: React.ReactElement[],
|
14
14
|
className?: string,
|
15
15
|
data?: object,
|
16
|
+
htmlOptions?: {[key: string]: string | number | boolean | Function},
|
16
17
|
id?: string,
|
17
18
|
variant?: 'checkbox' | 'radio',
|
18
19
|
}
|
@@ -23,12 +24,14 @@ const SelectableList = (props: SelectableListProps) => {
|
|
23
24
|
children,
|
24
25
|
className,
|
25
26
|
data = {},
|
27
|
+
htmlOptions = {},
|
26
28
|
id,
|
27
29
|
} = props
|
28
30
|
|
29
31
|
const ariaProps = buildAriaProps(aria)
|
30
32
|
const classes = classnames(buildCss('pb_selectable_list_kit'), globalProps(props), className)
|
31
33
|
const dataProps = buildDataProps(data)
|
34
|
+
const htmlProps = buildHtmlProps(htmlOptions)
|
32
35
|
const isRadio = props.variant === "radio"
|
33
36
|
const defaultCheckedRadioValue = children.filter((item: {props:SelectableListItemProps} ) => item.props.defaultChecked)[0]?.props?.value
|
34
37
|
|
@@ -58,6 +61,7 @@ const SelectableList = (props: SelectableListProps) => {
|
|
58
61
|
<div
|
59
62
|
{...ariaProps}
|
60
63
|
{...dataProps}
|
64
|
+
{...htmlProps}
|
61
65
|
className={classes}
|
62
66
|
id={id}
|
63
67
|
>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import React from 'react'
|
2
2
|
import classnames from 'classnames'
|
3
3
|
|
4
|
-
import { buildDataProps, buildAriaProps } from '../utilities/props'
|
4
|
+
import { buildDataProps, buildAriaProps, buildHtmlProps } from '../utilities/props'
|
5
5
|
import { titleize } from '../utilities/text'
|
6
6
|
|
7
7
|
import Avatar, { AvatarProps } from '../pb_avatar/_avatar'
|
@@ -15,6 +15,7 @@ type SourceProps = {
|
|
15
15
|
className?: string,
|
16
16
|
data?: { [key: string]: string },
|
17
17
|
hideIcon: boolean,
|
18
|
+
htmlOptions?: {[key: string]: string | number | boolean | Function},
|
18
19
|
id?: string,
|
19
20
|
source?: string,
|
20
21
|
type: "events" | "inbound" | "outbound" | "prospecting" | "referral" | "retail" | "user",
|
@@ -26,12 +27,14 @@ const Source = ({
|
|
26
27
|
className,
|
27
28
|
data = {},
|
28
29
|
hideIcon = false,
|
30
|
+
htmlOptions = {},
|
29
31
|
id,
|
30
32
|
source,
|
31
33
|
type = 'inbound',
|
32
34
|
user = {},
|
33
35
|
}: SourceProps) => {
|
34
36
|
const dataProps = buildDataProps(data)
|
37
|
+
const htmlProps = buildHtmlProps(htmlOptions)
|
35
38
|
const ariaProps = buildAriaProps(aria)
|
36
39
|
|
37
40
|
const css = classnames([
|
@@ -71,6 +74,7 @@ const Source = ({
|
|
71
74
|
<div
|
72
75
|
{...ariaProps}
|
73
76
|
{...dataProps}
|
77
|
+
{...htmlProps}
|
74
78
|
className={css}
|
75
79
|
id={id}
|
76
80
|
>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import React from "react"
|
2
2
|
import classnames from "classnames"
|
3
3
|
|
4
|
-
import { buildAriaProps, buildDataProps } from "../utilities/props"
|
4
|
+
import { buildAriaProps, buildDataProps, buildHtmlProps } from "../utilities/props"
|
5
5
|
|
6
6
|
import Icon from "../pb_icon/_icon"
|
7
7
|
|
@@ -11,6 +11,7 @@ type StarRatingProps = {
|
|
11
11
|
data?: object,
|
12
12
|
fixedWidth?: boolean,
|
13
13
|
hideRating: boolean,
|
14
|
+
htmlOptions?: {[key: string]: string | number | boolean | Function},
|
14
15
|
icon?: string,
|
15
16
|
id?: string,
|
16
17
|
rating: number,
|
@@ -20,12 +21,14 @@ const StarRating = ({
|
|
20
21
|
aria = {},
|
21
22
|
className,
|
22
23
|
data = {},
|
24
|
+
htmlOptions = {},
|
23
25
|
hideRating = false,
|
24
26
|
id,
|
25
27
|
rating = 0,
|
26
28
|
}: StarRatingProps) => {
|
27
29
|
const ariaProps = buildAriaProps(aria)
|
28
30
|
const dataProps = buildDataProps(data)
|
31
|
+
const htmlProps = buildHtmlProps(htmlOptions)
|
29
32
|
const css = classnames([
|
30
33
|
"pb_star_rating_kit", className,
|
31
34
|
])
|
@@ -42,6 +45,7 @@ const StarRating = ({
|
|
42
45
|
<div
|
43
46
|
{...ariaProps}
|
44
47
|
{...dataProps}
|
48
|
+
{...htmlProps}
|
45
49
|
className={css}
|
46
50
|
id={id}
|
47
51
|
>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import React from 'react'
|
2
2
|
import classnames from 'classnames'
|
3
3
|
|
4
|
-
import { buildCss } from '../utilities/props'
|
4
|
+
import { buildCss, buildHtmlProps } from '../utilities/props'
|
5
5
|
import { globalProps } from '../utilities/globalProps'
|
6
6
|
|
7
7
|
import Body from '../pb_body/_body'
|
@@ -22,18 +22,29 @@ type StatChangeProps = {
|
|
22
22
|
change?: 'increase' | 'decrease' | 'neutral',
|
23
23
|
className?: string,
|
24
24
|
icon?: string,
|
25
|
+
htmlOptions?: {[key: string]: string | number | boolean | Function},
|
25
26
|
id?: string,
|
26
27
|
value?: string | number,
|
27
28
|
}
|
28
29
|
|
29
30
|
const StatChange = (props: StatChangeProps): React.ReactElement => {
|
30
|
-
const {
|
31
|
+
const {
|
32
|
+
change = 'neutral',
|
33
|
+
className,
|
34
|
+
htmlOptions = {},
|
35
|
+
icon,
|
36
|
+
id,
|
37
|
+
value
|
38
|
+
} = props
|
39
|
+
|
31
40
|
const status = statusMap[change as keyof typeof statusMap]
|
32
41
|
let returnedIcon = iconMap[change as keyof typeof iconMap]
|
33
42
|
if (icon) {
|
34
43
|
returnedIcon = icon
|
35
44
|
}
|
36
45
|
|
46
|
+
const htmlProps = buildHtmlProps(htmlOptions)
|
47
|
+
|
37
48
|
return (
|
38
49
|
<>
|
39
50
|
{value &&
|
@@ -44,6 +55,7 @@ const StatChange = (props: StatChangeProps): React.ReactElement => {
|
|
44
55
|
className
|
45
56
|
)}
|
46
57
|
id={id}
|
58
|
+
{...htmlProps}
|
47
59
|
>
|
48
60
|
<Body status={status}>
|
49
61
|
{returnedIcon &&
|
@@ -2,10 +2,12 @@ import React from 'react'
|
|
2
2
|
import classnames from 'classnames'
|
3
3
|
|
4
4
|
import { globalProps } from '../utilities/globalProps'
|
5
|
+
import { buildHtmlProps } from '../utilities/props'
|
5
6
|
import Title from '../pb_title/_title'
|
6
7
|
|
7
8
|
type StatValueProps = {
|
8
9
|
className?: string,
|
10
|
+
htmlOptions?: {[key: string]: string | number | boolean | Function},
|
9
11
|
id?: string,
|
10
12
|
unit?: string,
|
11
13
|
value: string | number,
|
@@ -14,11 +16,14 @@ type StatValueProps = {
|
|
14
16
|
const StatValue = (props: StatValueProps): React.ReactElement => {
|
15
17
|
const {
|
16
18
|
className,
|
19
|
+
htmlOptions = {},
|
17
20
|
id,
|
18
21
|
unit,
|
19
22
|
value = 0,
|
20
23
|
} = props
|
21
24
|
|
25
|
+
const htmlProps = buildHtmlProps(htmlOptions)
|
26
|
+
|
22
27
|
const displayValue = function(value: string | number) {
|
23
28
|
if (value || value === 0) {
|
24
29
|
return (
|
@@ -47,6 +52,7 @@ const StatValue = (props: StatValueProps): React.ReactElement => {
|
|
47
52
|
<div
|
48
53
|
className={classnames('pb_stat_value_kit', globalProps(props), className)}
|
49
54
|
id={id}
|
55
|
+
{...htmlProps}
|
50
56
|
>
|
51
57
|
<div className="pb_stat_value_wrapper">
|
52
58
|
{displayValue(value)}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import React, { useEffect } from 'react'
|
2
2
|
import classnames from 'classnames'
|
3
|
-
import { buildAriaProps, buildDataProps } from '../utilities/props'
|
3
|
+
import { buildAriaProps, buildDataProps, buildHtmlProps } from '../utilities/props'
|
4
4
|
import { globalProps } from '../utilities/globalProps'
|
5
5
|
import PbTable from '.'
|
6
6
|
|
@@ -14,6 +14,7 @@ type TableProps = {
|
|
14
14
|
data?: { [key: string]: string },
|
15
15
|
dataTable: boolean,
|
16
16
|
disableHover: boolean,
|
17
|
+
htmlOptions?: {[key: string]: string | number | boolean | Function},
|
17
18
|
id?: string,
|
18
19
|
responsive: "collapse" | "scroll" | "none",
|
19
20
|
singleLine: boolean,
|
@@ -33,6 +34,7 @@ const Table = (props: TableProps) => {
|
|
33
34
|
data = {},
|
34
35
|
dataTable = false,
|
35
36
|
disableHover = false,
|
37
|
+
htmlOptions = {},
|
36
38
|
id,
|
37
39
|
responsive = 'collapse',
|
38
40
|
singleLine = false,
|
@@ -43,6 +45,7 @@ const Table = (props: TableProps) => {
|
|
43
45
|
|
44
46
|
const ariaProps = buildAriaProps(aria)
|
45
47
|
const dataProps = buildDataProps(data)
|
48
|
+
const htmlProps = buildHtmlProps(htmlOptions)
|
46
49
|
const tableCollapseCss = responsive !== 'none' ? `table-collapse-${collapse}` : ''
|
47
50
|
const verticalBorderCss = verticalBorder ? 'vertical-border' : ''
|
48
51
|
|
@@ -55,6 +58,7 @@ const Table = (props: TableProps) => {
|
|
55
58
|
<table
|
56
59
|
{...ariaProps}
|
57
60
|
{...dataProps}
|
61
|
+
{...htmlProps}
|
58
62
|
className={classnames(
|
59
63
|
'pb_table',
|
60
64
|
`table-${size}`,
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import React from 'react'
|
2
2
|
import classnames from 'classnames'
|
3
|
-
import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
|
3
|
+
import { buildAriaProps, buildCss, buildDataProps, buildHtmlProps } from '../utilities/props'
|
4
4
|
import { globalProps } from '../utilities/globalProps'
|
5
5
|
|
6
6
|
type TableRowPropTypes = {
|
@@ -8,6 +8,7 @@ type TableRowPropTypes = {
|
|
8
8
|
children: React.ReactNode[] | React.ReactNode,
|
9
9
|
className: string,
|
10
10
|
data?: { [key: string]: string },
|
11
|
+
htmlOptions?: {[key: string]: string | number | boolean | Function},
|
11
12
|
id?: string,
|
12
13
|
sideHighlightColor: string,
|
13
14
|
}
|
@@ -18,12 +19,14 @@ const TableRow = (props: TableRowPropTypes) => {
|
|
18
19
|
children,
|
19
20
|
className,
|
20
21
|
data = {},
|
22
|
+
htmlOptions = {},
|
21
23
|
id,
|
22
24
|
sideHighlightColor = 'windows',
|
23
25
|
} = props
|
24
26
|
|
25
27
|
const ariaProps = buildAriaProps(aria)
|
26
28
|
const dataProps = buildDataProps(data)
|
29
|
+
const htmlProps = buildHtmlProps(htmlOptions)
|
27
30
|
const sideHighlightClass =
|
28
31
|
sideHighlightColor != '' ? `side_highlight_${sideHighlightColor}` : null
|
29
32
|
const classes = classnames(buildCss('pb_table_row_kit', sideHighlightClass), globalProps(props), className)
|
@@ -32,6 +35,7 @@ const TableRow = (props: TableRowPropTypes) => {
|
|
32
35
|
<tr
|
33
36
|
{...ariaProps}
|
34
37
|
{...dataProps}
|
38
|
+
{...htmlProps}
|
35
39
|
className={classes}
|
36
40
|
id={id}
|
37
41
|
>
|
@@ -2,7 +2,7 @@ import React, { forwardRef } from 'react'
|
|
2
2
|
import classnames from 'classnames'
|
3
3
|
|
4
4
|
import { globalProps, GlobalProps, domSafeProps } from '../utilities/globalProps'
|
5
|
-
import { buildAriaProps, buildDataProps } from '../utilities/props'
|
5
|
+
import { buildAriaProps, buildDataProps, buildHtmlProps } from '../utilities/props'
|
6
6
|
|
7
7
|
import Flex from '../pb_flex/_flex'
|
8
8
|
import Card from '../pb_card/_card'
|
@@ -17,6 +17,7 @@ type TextInputProps = {
|
|
17
17
|
dark?: boolean,
|
18
18
|
disabled?: boolean,
|
19
19
|
error?: string,
|
20
|
+
htmlOptions?: {[key: string]: string | number | boolean | Function},
|
20
21
|
id?: string,
|
21
22
|
inline?: boolean,
|
22
23
|
name: string,
|
@@ -43,6 +44,7 @@ const TextInput = (props: TextInputProps, ref: React.LegacyRef<HTMLInputElement>
|
|
43
44
|
data = {},
|
44
45
|
disabled,
|
45
46
|
error,
|
47
|
+
htmlOptions = {},
|
46
48
|
id,
|
47
49
|
inline = false,
|
48
50
|
name,
|
@@ -57,6 +59,7 @@ const TextInput = (props: TextInputProps, ref: React.LegacyRef<HTMLInputElement>
|
|
57
59
|
|
58
60
|
const ariaProps = buildAriaProps(aria)
|
59
61
|
const dataProps = buildDataProps(data)
|
62
|
+
const htmlProps = buildHtmlProps(htmlOptions)
|
60
63
|
|
61
64
|
const { alignment, border, icon } = addOn
|
62
65
|
const addOnAlignment = alignment === 'left' ? 'left' : 'right'
|
@@ -138,6 +141,7 @@ const TextInput = (props: TextInputProps, ref: React.LegacyRef<HTMLInputElement>
|
|
138
141
|
<div
|
139
142
|
{...ariaProps}
|
140
143
|
{...dataProps}
|
144
|
+
{...htmlProps}
|
141
145
|
className={css}
|
142
146
|
>
|
143
147
|
{label &&
|
@@ -0,0 +1,35 @@
|
|
1
|
+

|
2
|
+
|
3
|
+
```swift
|
4
|
+
|
5
|
+
PBTextInput(
|
6
|
+
"ADD ON WITH DEFAULTS",
|
7
|
+
text: $textAddOn,
|
8
|
+
style: .rightIcon(.user, divider: true)
|
9
|
+
)
|
10
|
+
|
11
|
+
PBTextInput(
|
12
|
+
"RIGHT-ALIGNED ADD ON WITH BORDER",
|
13
|
+
text: $textAddOnRight,
|
14
|
+
style: .rightIcon(.user, divider: true)
|
15
|
+
)
|
16
|
+
|
17
|
+
PBTextInput(
|
18
|
+
"RIGHT-ALIGNED ADD ON WITH NO BORDER",
|
19
|
+
text: $textAddOnRightNoBorder,
|
20
|
+
style: .rightIcon(.user, divider: false)
|
21
|
+
)
|
22
|
+
|
23
|
+
PBTextInput(
|
24
|
+
"LEFT-ALIGNED ADD ON WITH NO BORDER",
|
25
|
+
text: $textAddOnLeft,
|
26
|
+
style: .leftIcon(.user, divider: false)
|
27
|
+
)
|
28
|
+
|
29
|
+
PBTextInput(
|
30
|
+
"LEFT-ALIGNED ADD ON WITH BORDER",
|
31
|
+
text: $textAddOnLeftNoBorder,
|
32
|
+
style: .leftIcon(.user, divider: true)
|
33
|
+
)
|
34
|
+
|
35
|
+
```
|
@@ -0,0 +1,29 @@
|
|
1
|
+

|
2
|
+
|
3
|
+
|
4
|
+
```swift
|
5
|
+
|
6
|
+
@State private var textFirstName: String = ""
|
7
|
+
@State private var textLastName: String = ""
|
8
|
+
@State private var textPhone: String = ""
|
9
|
+
|
10
|
+
PBTextInput(
|
11
|
+
"First name",
|
12
|
+
text: $textFirstName,
|
13
|
+
placeholder: "Enter first name"
|
14
|
+
)
|
15
|
+
|
16
|
+
PBTextInput(
|
17
|
+
"Last name",
|
18
|
+
text: $textLastName,
|
19
|
+
placeholder: "Enter last name"
|
20
|
+
)
|
21
|
+
|
22
|
+
PBTextInput(
|
23
|
+
"Phone number",
|
24
|
+
text: $textPhone,
|
25
|
+
placeholder: "Enter phone number",
|
26
|
+
keyboardType: .phonePad
|
27
|
+
)
|
28
|
+
|
29
|
+
```
|
@@ -0,0 +1,24 @@
|
|
1
|
+

|
2
|
+
|
3
|
+
|
4
|
+
```swift
|
5
|
+
|
6
|
+
@State private var textError: String = ""
|
7
|
+
@State private var textConfirmError: String = ""
|
8
|
+
|
9
|
+
PBTextInput(
|
10
|
+
"Email address",
|
11
|
+
text: $textError,
|
12
|
+
placeholder: "Enter email address",
|
13
|
+
error: (true, "Insert a valid email"),
|
14
|
+
style: .leftIcon(.user, divider: true)
|
15
|
+
)
|
16
|
+
|
17
|
+
PBTextInput(
|
18
|
+
"Confirm email address",
|
19
|
+
text: $textConfirmError,
|
20
|
+
placeholder: "Confirm email address",
|
21
|
+
style: .leftIcon(.user, divider: true)
|
22
|
+
)
|
23
|
+
|
24
|
+
```
|