playbook_ui_docs 14.22.0.pre.alpha.PLAY22588587 → 14.22.0.pre.alpha.play2261highchartsbargraphimportedstyles8730

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.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header.jsx +69 -0
  3. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header.md +1 -0
  4. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +1 -0
  5. data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +2 -1
  6. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_colors.jsx +33 -15
  7. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_default.jsx +33 -15
  8. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_height.jsx +52 -22
  9. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_height.md +3 -0
  10. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_horizontal.jsx +12 -16
  11. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend.jsx +31 -15
  12. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_non_clickable.jsx +39 -16
  13. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_position.jsx +86 -38
  14. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_negative_numbers.jsx +33 -15
  15. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_secondary_y_axis.jsx +72 -22
  16. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_secondary_y_axis.md +1 -1
  17. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_spline.jsx +32 -15
  18. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_stacked.jsx +37 -16
  19. data/app/pb_kits/playbook/pb_bar_graph/docs/_description.md +1 -3
  20. data/app/pb_kits/playbook/pb_bar_graph/docs/example.yml +1 -3
  21. data/app/pb_kits/playbook/pb_bar_graph/docs/index.js +0 -2
  22. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_columns.jsx +8 -8
  23. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_columns_react.md +1 -1
  24. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_left_columns.jsx +12 -12
  25. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_left_columns_react.md +3 -3
  26. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_right_columns.jsx +12 -12
  27. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_right_columns_react.md +3 -3
  28. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_preserve_input.html.erb +18 -0
  29. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_preserve_input_rails.md +1 -0
  30. data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +1 -0
  31. data/dist/playbook-doc.js +2 -2
  32. metadata +8 -7
  33. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_custom.jsx +0 -72
  34. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_custom.md +0 -6
  35. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_pb_styles.jsx +0 -64
  36. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_pb_styles.md +0 -1
  37. /data/app/pb_kits/playbook/pb_typeahead/docs/{_typeahead_preserve_input.md → _typeahead_preserve_input_react.md} +0 -0
@@ -1,6 +1,9 @@
1
1
  import React from 'react'
2
2
 
3
- import BarGraph from '../_bar_graph'
3
+ import Highcharts from "highcharts";
4
+ import HighchartsReact from "highcharts-react-official";
5
+
6
+ import barGraphTheme from '../barGraphTheme';
4
7
 
5
8
  const chartData = [{
6
9
  name: 'Installation',
@@ -10,26 +13,41 @@ const chartData = [{
10
13
  name: 'Manufacturing',
11
14
  data: [1475, 200, 1000, 654, -656],
12
15
  threshold: 0
13
- },
16
+ },
14
17
  {
15
18
  name: 'Sales & Distribution',
16
19
  data: [1270, 100, -1200, 554, 756],
17
20
  threshold: 0
18
21
  }]
19
22
 
23
+ const chartOptions = {
24
+ series: chartData,
25
+ title: {
26
+ text: "Bar Graph with Negative Numbers",
27
+ },
28
+ xAxis: {
29
+ categories: ["Jan", "Feb", "Mar", "Apr", "May"],
30
+ },
31
+ yAxis: {
32
+ title: {
33
+ text: "Number of Employees",
34
+ },
35
+ },
36
+ legend: { enabled: true },
37
+ };
38
+
39
+
40
+ const BarGraphStacked = () => {
41
+ const options = Highcharts.merge({}, barGraphTheme, chartOptions)
20
42
 
21
- const BarGraphStacked = (props) => (
22
- <div>
23
- <BarGraph
24
- axisTitle="Number of Employees"
25
- chartData={chartData}
26
- id="bar-default"
27
- legend
28
- title="Bar Graph with Negative Numbers"
29
- xAxisCategories={['Jan', 'Feb', 'Mar', 'Apr', 'May']}
30
- {...props}
31
- />
32
- </div>
33
- )
43
+ return(
44
+ <div>
45
+ <HighchartsReact
46
+ highcharts={Highcharts}
47
+ options={options}
48
+ />
49
+ </div>
50
+ )
51
+ }
34
52
 
35
53
  export default BarGraphStacked
@@ -1,6 +1,11 @@
1
1
  import React from 'react'
2
+ import Highcharts from "highcharts"
3
+ import HighchartsReact from "highcharts-react-official"
2
4
 
3
- import BarGraph from '../_bar_graph'
5
+
6
+ import barGraphTheme from '../barGraphTheme';
7
+ import colors from '../../tokens/exports/_colors.module.scss'
8
+ import typography from '../../tokens/exports/_typography.module.scss'
4
9
 
5
10
  const chartData = [{
6
11
  name: 'Number of Installations',
@@ -13,24 +18,69 @@ const chartData = [{
13
18
  yAxis: 1
14
19
  }]
15
20
 
16
- const axisTitles = [ {name: "Number of Installations"}, {name: "Percentage"}]
17
-
18
- const axisFormats = [{format: ""}, {format: "{value}%"}]
19
-
20
- const BarGraphSecondaryYAxis= (props) => (
21
- <div>
22
- <BarGraph
23
- axisFormat={axisFormats}
24
- axisTitle={axisTitles}
25
- chartData={chartData}
26
- id="bar-spline"
27
- legend
28
- title="Bar Graph with Secondary Y-axis"
29
- xAxisCategories={['Jan', 'Feb', 'Mar', 'Apr', 'May']}
30
- yAxisMin={0}
31
- {...props}
32
- />
33
- </div>
34
- )
35
-
36
- export default BarGraphSecondaryYAxis
21
+ const chartOptions = {
22
+ series: chartData,
23
+ title: {
24
+ text: "Bar Graph with Secondary Y-axis",
25
+ },
26
+ xAxis: {
27
+ categories: ["Jan", "Feb", "Mar", "Apr", "May"],
28
+ },
29
+ yAxis: [{
30
+ labels: {
31
+ style: {
32
+ fontFamily: typography.font_family_base,
33
+ color: colors.text_lt_lighter,
34
+ fontWeight: typography.bold,
35
+ fontSize: typography.text_smaller,
36
+ },
37
+ },
38
+ title: {
39
+ text: "Number of Employees",
40
+ style: {
41
+ fontFamily: typography.font_family_base,
42
+ color: colors.text_lt_lighter,
43
+ fontWeight: typography.bold,
44
+ fontSize: typography.text_smaller,
45
+ },
46
+ },
47
+ }, {
48
+ labels: {
49
+ style: {
50
+ fontFamily: typography.font_family_base,
51
+ color: colors.text_lt_lighter,
52
+ fontWeight: typography.bold,
53
+ fontSize: typography.text_smaller,
54
+ },
55
+ },
56
+ title: {
57
+ text: "Percentage",
58
+ style: {
59
+ fontFamily: typography.font_family_base,
60
+ color: colors.text_lt_lighter,
61
+ fontWeight: typography.bold,
62
+ fontSize: typography.text_smaller,
63
+ },
64
+ },
65
+
66
+ opposite: true,
67
+ min: 0,
68
+ max: 100
69
+ }],
70
+ legend: { enabled: true },
71
+ }
72
+
73
+ const BarGraphSecondaryYAxis = () => {
74
+ const options = Highcharts.merge({}, barGraphTheme, chartOptions)
75
+
76
+ return (
77
+ <div>
78
+ <HighchartsReact
79
+ highcharts={Highcharts}
80
+ options={options}
81
+ />
82
+ </div>
83
+ )
84
+ }
85
+
86
+ export default BarGraphSecondaryYAxis
@@ -1,3 +1,3 @@
1
- Optionally add a second yAxis to support secondary datasets (e.x., a spline) by passing` yAxis: 1` to the second node of your `chartData` array.
1
+ Optionally add a second yAxis to support secondary datasets (e.x., a spline) by passing `yAxis: 1` to the second node of your `chartData` array.
2
2
 
3
3
  To customize the format and/or title of your secondary yAxis, pass your desired values as arrays through the `axisFormat` and `axisTitle` props, respectively.
@@ -1,6 +1,9 @@
1
1
  import React from 'react'
2
2
 
3
- import BarGraph from '../_bar_graph'
3
+ import Highcharts from "highcharts";
4
+ import HighchartsReact from "highcharts-react-official";
5
+
6
+ import barGraphTheme from '../barGraphTheme';
4
7
 
5
8
  const chartData = [{
6
9
  name: 'Number of Installations',
@@ -12,19 +15,33 @@ const chartData = [{
12
15
  color: '#F9BB00',
13
16
  }]
14
17
 
15
- const BarGraphSpline = (props) => (
16
- <div>
17
- <BarGraph
18
- axisTitle="Number of Employees"
19
- chartData={chartData}
20
- id="bar-spline"
21
- legend
22
- title="Bar Graph with Spline"
23
- xAxisCategories={['Jan', 'Feb', 'Mar', 'Apr', 'May']}
24
- yAxisMin={0}
25
- {...props}
26
- />
27
- </div>
28
- )
18
+ const chartOptions = {
19
+ series: chartData,
20
+ title: {
21
+ text: "Bar Graph with Spline",
22
+ },
23
+ xAxis: {
24
+ categories: ["Jan", "Feb", "Mar", "Apr", "May"],
25
+ },
26
+ yAxis: {
27
+ title: {
28
+ text: "Number of Employees",
29
+ },
30
+ },
31
+ legend: { enabled: true },
32
+ };
33
+
34
+ const BarGraphSpline = () => {
35
+ const options = Highcharts.merge({}, barGraphTheme, chartOptions)
36
+
37
+ return (
38
+ <div>
39
+ <HighchartsReact
40
+ highcharts={Highcharts}
41
+ options={options}
42
+ />
43
+ </div>
44
+ )
45
+ }
29
46
 
30
47
  export default BarGraphSpline
@@ -1,6 +1,8 @@
1
1
  import React from 'react'
2
+ import Highcharts from "highcharts";
3
+ import HighchartsReact from "highcharts-react-official";
2
4
 
3
- import BarGraph from '../_bar_graph'
5
+ import barGraphTheme from '../barGraphTheme';
4
6
 
5
7
  const chartData = [{
6
8
  name: 'Installation',
@@ -14,21 +16,40 @@ const chartData = [{
14
16
  data: [975, 1600, 1500, 924, 500],
15
17
  }]
16
18
 
19
+ const chartOptions = {
20
+ series: chartData,
21
+ title: {
22
+ text: "Bar Graph with Stacked Columns",
23
+ },
24
+ xAxis: {
25
+ categories: ["Jan", "Feb", "Mar", "Apr", "May"],
26
+ },
27
+ yAxis: {
28
+ title: {
29
+ text: "Number of Employees",
30
+ },
31
+ },
32
+ plotOptions: {
33
+ column: {
34
+ stacking: 'normal',
35
+ borderWidth: 0,
36
+ }
37
+ },
38
+ legend: { enabled: true },
39
+ };
17
40
 
18
- const BarGraphStacked = (props) => (
19
- <div>
20
- <BarGraph
21
- axisTitle="Number Of Employees"
22
- chartData={chartData}
23
- id="bar-default"
24
- legend
25
- stacking="normal"
26
- title="Bar Graph with Stacked Columns"
27
- xAxisCategories={['Jan', 'Feb', 'Mar', 'Apr', 'May']}
28
- yAxisMin={0}
29
- {...props}
30
- />
31
- </div>
32
- )
41
+
42
+ const BarGraphStacked = () => {
43
+ const options = Highcharts.merge({}, barGraphTheme, chartOptions)
44
+
45
+ return (
46
+ <div>
47
+ <HighchartsReact
48
+ highcharts={Highcharts}
49
+ options={options}
50
+ />
51
+ </div>
52
+ )
53
+ }
33
54
 
34
55
  export default BarGraphStacked
@@ -1,3 +1 @@
1
- Bar graphs are used to compare data. Bar graphs are not typically used to show percentages. The default height of bar graph is 400px and can be changed. The default height is in pixel units, but can also use percentage string (percentage would be that of the width. For example, `height:"50%"` would mean that the height is 50% of the width). This allows for preserving the aspect ratio across responsive sizes.
2
-
3
- For more information, see: <a href="https://api.highcharts.com/highcharts/chart.height" target="_blank"> highcharts/chart.height</a>.
1
+ To apply Playbook styles to your Highchart, import BarGraphTheme.ts and merge it with your Highchart options. Then, pass the merged value to the options prop. Playbook’s styling will be applied automatically. See the examples in the documentation below.
@@ -17,15 +17,13 @@ examples:
17
17
 
18
18
  react:
19
19
  - bar_graph_default: Default
20
- - bar_graph_pb_styles: Playbook Styles
21
20
  - bar_graph_legend: Legend
22
21
  - bar_graph_legend_position: Legend Position
23
22
  - bar_graph_legend_non_clickable: Legend Non Clickable
24
23
  - bar_graph_height: Height
25
24
  - bar_graph_spline: Spline
26
25
  - bar_graph_colors: Color Overrides
27
- - bar_graph_custom: Custom Overrides
28
26
  - bar_graph_stacked: Stacked
29
27
  - bar_graph_negative_numbers: Negative Numbers
30
28
  - bar_graph_secondary_y_axis: Secondary Y-Axis
31
- - bar_graph_horizontal: Custom Options From Highcharts
29
+ - bar_graph_horizontal: Horizontal Bar Graph
@@ -5,9 +5,7 @@ export { default as BarGraphLegendNonClickable } from './_bar_graph_legend_non_c
5
5
  export { default as BarGraphHeight } from './_bar_graph_height.jsx'
6
6
  export { default as BarGraphSpline } from './_bar_graph_spline.jsx'
7
7
  export { default as BarGraphColors } from './_bar_graph_colors.jsx'
8
- export { default as BarGraphCustom } from './_bar_graph_custom.jsx'
9
8
  export { default as BarGraphStacked } from './_bar_graph_stacked.jsx'
10
9
  export { default as BarGraphNegativeNumbers } from './_bar_graph_negative_numbers.jsx'
11
10
  export { default as BarGraphSecondaryYAxis } from './_bar_graph_secondary_y_axis.jsx'
12
11
  export { default as BarGraphHorizontal } from './_bar_graph_horizontal.jsx'
13
- export { default as BarGraphPbStyles } from './_bar_graph_pb_styles.jsx'
@@ -11,7 +11,7 @@ const TableStickyColumns = () => {
11
11
  >
12
12
  <thead>
13
13
  <tr>
14
- <th id="a">{'Column 1'}</th>
14
+ <th data-sticky-id="a">{'Column 1'}</th>
15
15
  <th>{'Column 2'}</th>
16
16
  <th>{'Column 3'}</th>
17
17
  <th>{'Column 4'}</th>
@@ -25,12 +25,12 @@ const TableStickyColumns = () => {
25
25
  <th>{'Column 12'}</th>
26
26
  <th>{'Column 13'}</th>
27
27
  <th>{'Column 14'}</th>
28
- <th id="b">{'Column 15'}</th>
28
+ <th data-sticky-id="b">{'Column 15'}</th>
29
29
  </tr>
30
30
  </thead>
31
31
  <tbody>
32
32
  <tr>
33
- <td id="a">{'Value 1'}</td>
33
+ <td data-sticky-id="a">{'Value 1'}</td>
34
34
  <td>{'Value 2'}</td>
35
35
  <td>{'Value 3'}</td>
36
36
  <td>{'Value 4'}</td>
@@ -44,10 +44,10 @@ const TableStickyColumns = () => {
44
44
  <td>{'Value 12'}</td>
45
45
  <td>{'Value 13'}</td>
46
46
  <td>{'Value 14'}</td>
47
- <td id="b">{'Value 15'}</td>
47
+ <td data-sticky-id="b">{'Value 15'}</td>
48
48
  </tr>
49
49
  <tr>
50
- <td id="a">{'Value 1'}</td>
50
+ <td data-sticky-id="a">{'Value 1'}</td>
51
51
  <td>{'Value 2'}</td>
52
52
  <td>{'Value 3'}</td>
53
53
  <td>{'Value 4'}</td>
@@ -61,10 +61,10 @@ const TableStickyColumns = () => {
61
61
  <td>{'Value 12'}</td>
62
62
  <td>{'Value 13'}</td>
63
63
  <td>{'Value 14'}</td>
64
- <td id="b">{'Value 15'}</td>
64
+ <td data-sticky-id="b">{'Value 15'}</td>
65
65
  </tr>
66
66
  <tr>
67
- <td id="a">{'Value 1'}</td>
67
+ <td data-sticky-id="a">{'Value 1'}</td>
68
68
  <td>{'Value 2'}</td>
69
69
  <td>{'Value 3'}</td>
70
70
  <td>{'Value 4'}</td>
@@ -78,7 +78,7 @@ const TableStickyColumns = () => {
78
78
  <td>{'Value 12'}</td>
79
79
  <td>{'Value 13'}</td>
80
80
  <td>{'Value 14'}</td>
81
- <td id="b">{'Value 15'}</td>
81
+ <td data-sticky-id="b">{'Value 15'}</td>
82
82
  </tr>
83
83
  </tbody>
84
84
  </Table>
@@ -1,3 +1,3 @@
1
1
  The `stickyLeftColumn` and `stickyRightColumn` props can be used together on the same table as needed.
2
2
 
3
- Please ensure that unique ids are used for all columns across multiple tables. Using the same columns ids on multiple tables can lead to issues when using props.
3
+ Please ensure that unique `data-sticky-id`s are used for all columns across multiple tables. Using the same columns `data-sticky-id`s on multiple tables can lead to issues when using props.
@@ -10,9 +10,9 @@ const TableStickyLeftColumns = () => {
10
10
  >
11
11
  <thead>
12
12
  <tr>
13
- <th id="1">{'Column 1'}</th>
14
- <th id="2">{'Column 2'}</th>
15
- <th id="3">{'Column 3'}</th>
13
+ <th data-sticky-id="1">{'Column 1'}</th>
14
+ <th data-sticky-id="2">{'Column 2'}</th>
15
+ <th data-sticky-id="3">{'Column 3'}</th>
16
16
  <th>{'Column 4'}</th>
17
17
  <th>{'Column 5'}</th>
18
18
  <th>{'Column 6'}</th>
@@ -29,9 +29,9 @@ const TableStickyLeftColumns = () => {
29
29
  </thead>
30
30
  <tbody>
31
31
  <tr>
32
- <td id="1">{'Value 1'}</td>
33
- <td id="2">{'Value 2'}</td>
34
- <td id="3">{'Value 3'}</td>
32
+ <td data-sticky-id="1">{'Value 1'}</td>
33
+ <td data-sticky-id="2">{'Value 2'}</td>
34
+ <td data-sticky-id="3">{'Value 3'}</td>
35
35
  <td>{'Value 4'}</td>
36
36
  <td>{'Value 5'}</td>
37
37
  <td>{'Value 6'}</td>
@@ -46,9 +46,9 @@ const TableStickyLeftColumns = () => {
46
46
  <td>{'Value 15'}</td>
47
47
  </tr>
48
48
  <tr>
49
- <td id="1">{'Value 1'}</td>
50
- <td id="2">{'Value 2'}</td>
51
- <td id="3">{'Value 3'}</td>
49
+ <td data-sticky-id="1">{'Value 1'}</td>
50
+ <td data-sticky-id="2">{'Value 2'}</td>
51
+ <td data-sticky-id="3">{'Value 3'}</td>
52
52
  <td>{'Value 4'}</td>
53
53
  <td>{'Value 5'}</td>
54
54
  <td>{'Value 6'}</td>
@@ -63,9 +63,9 @@ const TableStickyLeftColumns = () => {
63
63
  <td>{'Value 15'}</td>
64
64
  </tr>
65
65
  <tr>
66
- <td id="1">{'Value 1'}</td>
67
- <td id="2">{'Value 2'}</td>
68
- <td id="3">{'Value 3'}</td>
66
+ <td data-sticky-id="1">{'Value 1'}</td>
67
+ <td data-sticky-id="2">{'Value 2'}</td>
68
+ <td data-sticky-id="3">{'Value 3'}</td>
69
69
  <td>{'Value 4'}</td>
70
70
  <td>{'Value 5'}</td>
71
71
  <td>{'Value 6'}</td>
@@ -1,5 +1,5 @@
1
- The `stickyLeftColumn` prop expects an array of the column ids you want to be sticky. Make sure to add the corresponding id to the `<th>` and `<td>`.
1
+ The `stickyLeftColumn` prop expects an array of the column `data-sticky-id`s you want to be sticky. Make sure to add the corresponding `data-sticky-id` to the `<th>` and `<td>`.
2
2
 
3
- If you are using the sub-component variant, then you will pass the id to `<Table.Header>` and `<Table.Cell>`
3
+ If you are using the sub-component variant, then you will pass the `data-sticky-id` to `<Table.Header>` and `<Table.Cell>`
4
4
 
5
- Please ensure that unique ids are used for all columns across multiple tables. Using the same columns ids on multiple tables can lead to issues when using `stickyLeftColumn` prop.
5
+ Please ensure that unique `data-sticky-id`s are used for all columns across multiple tables. Using the same columns `data-sticky-id`s on multiple tables can lead to issues when using `stickyLeftColumn` prop.
@@ -22,9 +22,9 @@ const TableStickyRightColumns = () => {
22
22
  <th>{'Column 10'}</th>
23
23
  <th>{'Column 11'}</th>
24
24
  <th>{'Column 12'}</th>
25
- <th id="13">{'Column 13'}</th>
26
- <th id="14">{'Column 14'}</th>
27
- <th id="15">{'Column 15'}</th>
25
+ <th data-sticky-id="13">{'Column 13'}</th>
26
+ <th data-sticky-id="14">{'Column 14'}</th>
27
+ <th data-sticky-id="15">{'Column 15'}</th>
28
28
  </tr>
29
29
  </thead>
30
30
  <tbody>
@@ -41,9 +41,9 @@ const TableStickyRightColumns = () => {
41
41
  <td>{'Value 10'}</td>
42
42
  <td>{'Value 11'}</td>
43
43
  <td>{'Value 12'}</td>
44
- <td id="13">{'Value 13'}</td>
45
- <td id="14">{'Value 14'}</td>
46
- <td id="15">{'Value 15'}</td>
44
+ <td data-sticky-id="13">{'Value 13'}</td>
45
+ <td data-sticky-id="14">{'Value 14'}</td>
46
+ <td data-sticky-id="15">{'Value 15'}</td>
47
47
  </tr>
48
48
  <tr>
49
49
  <td>{'Value 1'}</td>
@@ -58,9 +58,9 @@ const TableStickyRightColumns = () => {
58
58
  <td>{'Value 10'}</td>
59
59
  <td>{'Value 11'}</td>
60
60
  <td>{'Value 12'}</td>
61
- <td id="13">{'Value 13'}</td>
62
- <td id="14">{'Value 14'}</td>
63
- <td id="15">{'Value 15'}</td>
61
+ <td data-sticky-id="13">{'Value 13'}</td>
62
+ <td data-sticky-id="14">{'Value 14'}</td>
63
+ <td data-sticky-id="15">{'Value 15'}</td>
64
64
  </tr>
65
65
  <tr>
66
66
  <td>{'Value 1'}</td>
@@ -75,9 +75,9 @@ const TableStickyRightColumns = () => {
75
75
  <td>{'Value 10'}</td>
76
76
  <td>{'Value 11'}</td>
77
77
  <td>{'Value 12'}</td>
78
- <td id="13">{'Value 13'}</td>
79
- <td id="14">{'Value 14'}</td>
80
- <td id="15">{'Value 15'}</td>
78
+ <td data-sticky-id="13">{'Value 13'}</td>
79
+ <td data-sticky-id="14">{'Value 14'}</td>
80
+ <td data-sticky-id="15">{'Value 15'}</td>
81
81
  </tr>
82
82
  </tbody>
83
83
  </Table>
@@ -1,5 +1,5 @@
1
- The `stickyRightColumn` prop works in the same way as the above `stickyLeftColumn` prop. It expects an array of the column ids you want to be sticky. Make sure to add the corresponding id to the `<th>` and `<td>`.
1
+ The `stickyRightColumn` prop works in the same way as the above `stickyLeftColumn` prop. It expects an array of the column `data-sticky-id`s you want to be sticky. Make sure to add the corresponding `data-sticky-id` to the `<th>` and `<td>`.
2
2
 
3
- If you are using the sub-component variant, then you will pass the id to `<Table.Header>` and `<Table.Cell>`
3
+ If you are using the sub-component variant, then you will pass the `data-sticky-id` to `<Table.Header>` and `<Table.Cell>`
4
4
 
5
- Please ensure that unique ids are used for all columns across multiple tables. Using the same columns ids on multiple tables can lead to issues when using the `stickyRightColumn` prop.
5
+ Please ensure that unique `data-sticky-id`s are used for all columns across multiple tables. Using the same columns `data-sticky-id`s on multiple tables can lead to issues when using the `stickyRightColumn` prop.
@@ -0,0 +1,18 @@
1
+ <%
2
+ options = [
3
+ { label: 'Orange', value: '#FFA500' },
4
+ { label: 'Red', value: '#FF0000' },
5
+ { label: 'Green', value: '#00FF00' },
6
+ { label: 'Blue', value: '#0000FF' },
7
+ ]
8
+ %>
9
+
10
+ <%= pb_rails("typeahead", props: {
11
+ id: "typeahead-preserve-search-input",
12
+ is_multi: false,
13
+ label: "Colors",
14
+ options: options,
15
+ placeholder: "Select...",
16
+ preserve_search_input: true,
17
+ })
18
+ %>
@@ -0,0 +1 @@
1
+ By default, text is not preserved in the typeahead kit when you click off of the input field. You can utilize the `preserve_search_input` prop in order to prevent text from being cleared when the field loses focus
@@ -15,6 +15,7 @@ examples:
15
15
  - typeahead_dynamic_options: Dynamic Options
16
16
  - typeahead_dynamic_options_pure_rails: Dynamic Options (Pure Rails)
17
17
  - typeahead_disabled: Disabled
18
+ - typeahead_preserve_input: Preserve Search Input
18
19
 
19
20
  react:
20
21
  - typeahead_default: Default