playbook_ui 13.12.0 → 13.13.0.pre.alpha.PLAY1090csstokens1675
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/index.js +13 -1
- 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 +6 -2
- 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 +7 -2
- 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_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_filter/docs/_filter_default.md +1 -0
- 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 +6 -2
- 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 +9 -3
- 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_section_separator/docs/_section_separator_children_swift.md +14 -0
- data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_dashed_swift.md +7 -0
- data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_line_swift.md +8 -0
- data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_props_swift.md +8 -0
- data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_text_swift.md +7 -0
- data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_vertical_swift.md +18 -0
- data/app/pb_kits/playbook/pb_section_separator/docs/example.yml +8 -0
- 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_textarea/docs/_textarea_default_swift.md +27 -0
- data/app/pb_kits/playbook/pb_textarea/docs/_textarea_error_swift.md +11 -0
- data/app/pb_kits/playbook/pb_textarea/docs/_textarea_props_swift.md +9 -0
- data/app/pb_kits/playbook/pb_textarea/docs/example.yml +5 -0
- 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 +9 -3
- data/app/pb_kits/playbook/pb_typeahead/_typeahead.tsx +7 -2
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_highlight.jsx +2 -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 +6 -6
- data/lib/playbook/version.rb +2 -2
- metadata +33 -7
@@ -3,7 +3,7 @@ import classnames from 'classnames'
|
|
3
3
|
import inlineFocus from './inlineFocus'
|
4
4
|
import useFocus from './useFocus'
|
5
5
|
import { globalProps, GlobalProps } from '../utilities/globalProps'
|
6
|
-
import { buildAriaProps, buildDataProps, noop } from '../utilities/props'
|
6
|
+
import { buildAriaProps, buildDataProps, noop, buildHtmlProps } from '../utilities/props'
|
7
7
|
|
8
8
|
try {
|
9
9
|
const Trix = require('trix')
|
@@ -35,6 +35,7 @@ type RichTextEditorProps = {
|
|
35
35
|
className?: string,
|
36
36
|
data?: { [key: string]: string },
|
37
37
|
focus?: boolean,
|
38
|
+
htmlOptions?: {[key: string]: string | number | boolean | Function},
|
38
39
|
id?: string,
|
39
40
|
inline?: boolean,
|
40
41
|
extensions?: { [key: string]: string }[],
|
@@ -58,6 +59,7 @@ const RichTextEditor = (props: RichTextEditorProps) => {
|
|
58
59
|
className,
|
59
60
|
data = {},
|
60
61
|
focus = false,
|
62
|
+
htmlOptions = {},
|
61
63
|
inline = false,
|
62
64
|
extensions,
|
63
65
|
name,
|
@@ -74,9 +76,12 @@ const RichTextEditor = (props: RichTextEditorProps) => {
|
|
74
76
|
dataProps = buildDataProps(data),
|
75
77
|
[editor, setEditor] = useState<Editor>()
|
76
78
|
|
79
|
+
const htmlProps = buildHtmlProps(htmlOptions)
|
80
|
+
|
77
81
|
const handleOnEditorReady = (editorInstance: Editor) => setEditor(editorInstance),
|
78
82
|
element = editor?.element
|
79
83
|
|
84
|
+
|
80
85
|
// DOM manipulation must wait for editor to be ready
|
81
86
|
if (editor) {
|
82
87
|
const toolbarElement = element.parentElement.querySelector('trix-toolbar') as HTMLElement,
|
@@ -161,6 +166,7 @@ const RichTextEditor = (props: RichTextEditorProps) => {
|
|
161
166
|
<div
|
162
167
|
{...ariaProps}
|
163
168
|
{...dataProps}
|
169
|
+
{...htmlProps}
|
164
170
|
className={css}
|
165
171
|
>
|
166
172
|
{
|
@@ -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
|
>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
|
2
|
+

|
3
|
+
|
4
|
+
```swift
|
5
|
+
|
6
|
+
PBSectionSeparator(variant: .dashed) {
|
7
|
+
PBCard(alignment: .center, borderRadius: BorderRadius.rounded, padding: Spacing.xxSmall, width: 70) {
|
8
|
+
Text("Today")
|
9
|
+
.pbFont(.caption)
|
10
|
+
.frame(maxWidth: .infinity, alignment: .center)
|
11
|
+
}
|
12
|
+
}
|
13
|
+
|
14
|
+
```
|
@@ -0,0 +1,8 @@
|
|
1
|
+
### Props
|
2
|
+
| Name | Type | Description | Default | Values |
|
3
|
+
| --- | ----------- | --------- | --------- | --------- |
|
4
|
+
| **text** | `String` | Adds text to the Section Separator | `nil` | |
|
5
|
+
| **orientation** | `Orientation` | Changes the orientation | `.horizontal` | `.horizontal` `.vertical` |
|
6
|
+
| **variant** | `Variant` | Changes the style of the Section Separator | `.card` | `.dashed` `.card` |
|
7
|
+
| **dividerOpacity** | `CGFloat` | Adjusts the opacity of the divider | `1` | |
|
8
|
+
| **margin** | `CGFloat` | Adds margin between text and the divider | `Spacing.xSmall` | `Spacing.none` `Spacing.xxSmall` `Spacing.xSmall` `Spacing.small` `Spacing.medium` `Spacing.large` `Spacing.xLarge` |
|
@@ -0,0 +1,18 @@
|
|
1
|
+

|
2
|
+
|
3
|
+
```swift
|
4
|
+
|
5
|
+
let loremIpsum: some View = Text(
|
6
|
+
"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididt labore et dolore"
|
7
|
+
)
|
8
|
+
|
9
|
+
HStack(spacing: Spacing.none) {
|
10
|
+
"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididt labore et dolore"
|
11
|
+
PBSectionSeparator(orientation: .vertical)
|
12
|
+
"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididt labore et dolore"
|
13
|
+
}
|
14
|
+
.frame(maxWidth: .infinity)
|
15
|
+
.frame(height: 120, alignment: .center)
|
16
|
+
.listRowSeparator(.hidden)
|
17
|
+
|
18
|
+
```
|
@@ -13,3 +13,11 @@ examples:
|
|
13
13
|
- section_separator_text: Text Separator
|
14
14
|
- section_separator_vertical: Vertical
|
15
15
|
- section_separator_children: Children
|
16
|
+
|
17
|
+
swift:
|
18
|
+
- section_separator_line_swift: Line Separator
|
19
|
+
- section_separator_dashed_swift: Dashed Separator
|
20
|
+
- section_separator_text_swift: Text Separator
|
21
|
+
- section_separator_vertical_swift: Vertical
|
22
|
+
- section_separator_children_swift: Children
|
23
|
+
- section_separator_props_swift: ""
|
@@ -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
|
>
|