playbook_ui 16.11.0.pre.alpha.bettermetadata18084 → 16.11.0.pre.alpha.doublealpha17836
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_advanced_table/docs/_advanced_table_column_styling.md +8 -5
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_rails.html.erb +0 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_rails.md +3 -6
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_width.md +6 -6
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pinned_rows_rails.html.erb +5 -5
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pinned_rows_rails.md +3 -3
- data/app/pb_kits/playbook/pb_advanced_table/docs/_playground.json +0 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +1 -4
- data/app/pb_kits/playbook/pb_advanced_table/index.js +11 -28
- data/app/pb_kits/playbook/pb_advanced_table/kit.schema.json +2 -4
- data/app/pb_kits/playbook/pb_advanced_table/table_body.html.erb +5 -17
- data/app/pb_kits/playbook/pb_advanced_table/table_body.rb +17 -54
- data/app/pb_kits/playbook/pb_advanced_table/table_header.rb +3 -15
- data/app/pb_kits/playbook/pb_advanced_table/table_row.rb +2 -19
- data/app/pb_kits/playbook/pb_advanced_table/table_subrow_header.rb +0 -4
- data/app/pb_kits/playbook/pb_avatar/docs/_playground.json +0 -1
- data/app/pb_kits/playbook/pb_avatar/kit.schema.json +2 -4
- data/app/pb_kits/playbook/pb_background/kit.schema.json +3 -3
- data/app/pb_kits/playbook/pb_card/docs/_playground.json +0 -1
- data/app/pb_kits/playbook/pb_card/kit.schema.json +3 -5
- data/app/pb_kits/playbook/pb_currency/docs/_playground.json +0 -1
- data/app/pb_kits/playbook/pb_currency/kit.schema.json +2 -4
- data/app/pb_kits/playbook/pb_date_picker/docs/_playground.json +0 -1
- data/app/pb_kits/playbook/pb_date_picker/kit.schema.json +2 -18
- data/app/pb_kits/playbook/pb_date_range_inline/docs/_playground.json +0 -1
- data/app/pb_kits/playbook/pb_date_range_inline/kit.schema.json +2 -4
- data/app/pb_kits/playbook/pb_date_range_stacked/docs/_playground.json +1 -3
- data/app/pb_kits/playbook/pb_date_range_stacked/kit.schema.json +2 -4
- data/app/pb_kits/playbook/pb_date_stacked/docs/_playground.json +0 -1
- data/app/pb_kits/playbook/pb_date_stacked/kit.schema.json +2 -4
- data/app/pb_kits/playbook/pb_date_time/kit.schema.json +0 -7
- data/app/pb_kits/playbook/pb_date_time_stacked/docs/_playground.json +0 -1
- data/app/pb_kits/playbook/pb_date_time_stacked/kit.schema.json +2 -4
- data/app/pb_kits/playbook/pb_date_year_stacked/docs/_playground.json +1 -2
- data/app/pb_kits/playbook/pb_date_year_stacked/kit.schema.json +2 -4
- data/app/pb_kits/playbook/pb_distribution_bar/distribution_bar.html.erb +1 -8
- data/app/pb_kits/playbook/pb_distribution_bar/distribution_bar.rb +6 -3
- data/app/pb_kits/playbook/pb_docs/kit_example.html.erb +14 -7
- data/app/pb_kits/playbook/pb_docs/kit_example.rb +17 -2
- data/app/pb_kits/playbook/pb_dropdown/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_dropdown/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_filter/docs/_playground.json +1 -1
- data/app/pb_kits/playbook/pb_filter/kit.schema.json +3 -6
- data/app/pb_kits/playbook/pb_flex/kit.schema.json +3 -6
- data/app/pb_kits/playbook/pb_home_address_street/docs/_playground.json +0 -1
- data/app/pb_kits/playbook/pb_home_address_street/kit.schema.json +2 -4
- data/app/pb_kits/playbook/pb_icon/docs/_playground.json +0 -1
- data/app/pb_kits/playbook/pb_icon/kit.schema.json +5 -18
- data/app/pb_kits/playbook/pb_icon_circle/kit.schema.json +4 -12
- data/app/pb_kits/playbook/pb_icon_stat_value/kit.schema.json +3 -3
- data/app/pb_kits/playbook/pb_layout/docs/_playground.json +0 -1
- data/app/pb_kits/playbook/pb_layout/kit.schema.json +2 -4
- data/app/pb_kits/playbook/pb_list/docs/_playground.json +0 -1
- data/app/pb_kits/playbook/pb_list/kit.schema.json +2 -4
- data/app/pb_kits/playbook/pb_loading_inline/docs/_playground.json +0 -1
- data/app/pb_kits/playbook/pb_loading_inline/kit.schema.json +2 -4
- data/app/pb_kits/playbook/pb_map/docs/_playground.json +0 -7
- data/app/pb_kits/playbook/pb_map/docs/_playground.overrides.json +0 -5
- data/app/pb_kits/playbook/pb_message/kit.schema.json +1 -1
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_playground.json +0 -1
- data/app/pb_kits/playbook/pb_multi_level_select/kit.schema.json +1 -2
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_playground.json +0 -9
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_playground.overrides.json +0 -6
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_playground.json +0 -9
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_playground.overrides.json +0 -6
- data/app/pb_kits/playbook/pb_pb_gauge_chart/docs/_playground.json +0 -9
- data/app/pb_kits/playbook/pb_pb_gauge_chart/docs/_playground.overrides.json +0 -6
- data/app/pb_kits/playbook/pb_pb_line_graph/docs/_playground.json +0 -9
- data/app/pb_kits/playbook/pb_pb_line_graph/docs/_playground.overrides.json +0 -6
- data/app/pb_kits/playbook/pb_phone_number_input/docs/_playground.json +0 -1
- data/app/pb_kits/playbook/pb_phone_number_input/kit.schema.json +2 -4
- data/app/pb_kits/playbook/pb_pill/_pill.scss +4 -25
- data/app/pb_kits/playbook/pb_pill/_pill.tsx +1 -3
- data/app/pb_kits/playbook/pb_pill/docs/_playground.json +0 -11
- data/app/pb_kits/playbook/pb_pill/docs/_playground.overrides.json +1 -11
- data/app/pb_kits/playbook/pb_pill/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_pill/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_pill/kit.schema.json +2 -13
- data/app/pb_kits/playbook/pb_pill/pill.rb +1 -4
- data/app/pb_kits/playbook/pb_popover/kit.schema.json +2 -54
- data/app/pb_kits/playbook/pb_progress_simple/docs/_playground.json +2 -2
- data/app/pb_kits/playbook/pb_progress_simple/kit.schema.json +2 -4
- data/app/pb_kits/playbook/pb_progress_step/kit.schema.json +2 -2
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_playground.json +0 -11
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_playground.overrides.json +0 -11
- data/app/pb_kits/playbook/pb_section_separator/docs/_playground.json +0 -1
- data/app/pb_kits/playbook/pb_section_separator/kit.schema.json +2 -4
- data/app/pb_kits/playbook/pb_skeleton_loading/docs/_playground.json +4 -5
- data/app/pb_kits/playbook/pb_skeleton_loading/kit.schema.json +14 -43
- data/app/pb_kits/playbook/pb_time_picker/docs/_playground.json +0 -1
- data/app/pb_kits/playbook/pb_time_picker/kit.schema.json +2 -4
- data/app/pb_kits/playbook/pb_time_range_inline/docs/_playground.json +0 -1
- data/app/pb_kits/playbook/pb_time_range_inline/kit.schema.json +2 -4
- data/app/pb_kits/playbook/pb_timeline/kit.schema.json +1 -1
- data/app/pb_kits/playbook/pb_timestamp/_timestamp.tsx +5 -7
- data/app/pb_kits/playbook/pb_timestamp/docs/_playground.json +0 -1
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones.html.erb +0 -15
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones.jsx +0 -19
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones.md +1 -3
- data/app/pb_kits/playbook/pb_timestamp/kit.schema.json +2 -4
- data/app/pb_kits/playbook/pb_timestamp/timestamp.test.js +0 -44
- data/app/pb_kits/playbook/pb_tooltip/kit.schema.json +7 -21
- data/app/pb_kits/playbook/pb_typeahead/_typeahead.test.jsx +1 -145
- data/app/pb_kits/playbook/pb_typeahead/_typeahead.tsx +4 -30
- data/app/pb_kits/playbook/pb_typeahead/components/IndicatorsContainer.tsx +10 -33
- data/app/pb_kits/playbook/pb_typeahead/docs/_playground.json +0 -2
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.html.erb +0 -7
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.md +1 -11
- data/app/pb_kits/playbook/pb_typeahead/kit.schema.json +33 -36
- data/app/pb_kits/playbook/utilities/global-props.schema.json +1 -318
- data/dist/chunks/_typeahead-CXg3ungD.js +5 -0
- data/dist/chunks/vendor.js +2 -2
- data/dist/menu.yml +11 -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/pb_doc_helper.rb +2 -0
- data/lib/playbook/version.rb +1 -1
- metadata +3 -18
- data/app/pb_kits/playbook/pb_advanced_table/column_layout_helper.rb +0 -76
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_width_rails.html.erb +0 -41
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_width_rails.md +0 -49
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pinned_rows_both_rails.html.erb +0 -57
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pinned_rows_both_rails.md +0 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pinned_rows_bottom_rails.html.erb +0 -57
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pinned_rows_bottom_rails.md +0 -1
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_grouped_options.html.erb +0 -67
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_grouped_options.jsx +0 -95
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_grouped_options.md +0 -1
- data/app/pb_kits/playbook/pb_pill/_pill.test.jsx +0 -83
- data/app/pb_kits/playbook/pb_pill/docs/_pill_size.html.erb +0 -1
- data/app/pb_kits/playbook/pb_pill/docs/_pill_size.jsx +0 -16
- data/app/pb_kits/playbook/pb_pill/docs/_pill_size.md +0 -1
- data/app/pb_kits/playbook/pb_timestamp/activeSupportTimeZones.ts +0 -165
- data/dist/chunks/_typeahead-DqA5Pxcc.js +0 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 79b45f2b67aeb4fa377761f1766b42a5a42d933f551775ab9438ff24610d5827
|
|
4
|
+
data.tar.gz: 578692dffae05005a1f3f30cd86d12060ff73cc667b8c2d5d9fe495fd10044b2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 96cac4feeec493c42d7b0a45af5372db920bda94369cc4dd92588c4c943a7a182f4c322377c2e83d7d42b49375ce2f18787c5032e4910daa17a4a49447ff5e3a
|
|
7
|
+
data.tar.gz: 0f0d19afcd066a7596002a83f952debf24ae6494cdac84f9ae9beb991bc5f45cfa05ff16e51561d711a7a4cf32c55b284542489e53518422ed7024d18dfa2a85
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
The `columnStyling` prop is an optional item that can be used within `columnDefinitions` as shown in the code snippet below. It is an object that has several optional key/value pairs, this doc example highlights the following:
|
|
2
2
|
|
|
3
|
-
1
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
1) `headerAlignment`: This will allow you to control alignment of header content which is set to right aligned by default. you can set this to `left`, `right` or `center`.
|
|
4
|
+
|
|
5
|
+
2) `cellAlignment`: This will allow you to control alignment of content within all cells in the given column. This is set to right aligned by default. you can set this to `left`, `right` or `center`.
|
|
6
|
+
|
|
7
|
+
3) `fontColor`: This will allow you to control the font color for a given column.
|
|
8
|
+
|
|
9
|
+
4) Column width: optional keys on `columnStyling` are `minWidth`, `width`, and `maxWidth` (numbers = pixels; CSS strings allowed). This example sets `width` on Year for a fixed hierarchy column (see the width doc for `minWidth` and bands).
|
|
7
10
|
|
|
8
11
|
Fixed width: pass `width` only (or TanStack `size` only) and Playbook sets min and max to the same value automatically — you do not need all three for an exact width.
|
|
9
12
|
|
|
10
|
-
See [Column Styling: Width](https://playbook.powerapp.cloud/kits/advanced_table/
|
|
13
|
+
See [Column Styling: Width](https://playbook.powerapp.cloud/kits/advanced_table/react#column-styling-width) for the full guide (Playbook ↔ TanStack mapping, floor-only vs bands, and when to use one vs three values).
|
|
11
14
|
|
|
12
15
|
`columnStyling` can be used within the columnDefinition of all the columns or some of them, as shown. Each column has its own individual control in this way.
|
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
The `column_styling` prop is an optional item that can be used within `column_definitions` as shown in the code snippet below. It is an object that has several optional key/value pairs, this doc example highlights the following:
|
|
2
2
|
|
|
3
3
|
1) `header_alignment`: This will allow you to control alignment of header content which is set to right aligned by default. you can set this to `left`, `right` or `center`.
|
|
4
|
-
2) `cell_alignment`: This will allow you to control alignment of content within all cells in the given column. This is set to right aligned by default. you can set this to `left`, `right` or `center`.
|
|
5
|
-
3) `font_color`: This will allow you to control the font color for a given column.
|
|
6
|
-
4) Column width: optional keys on `column_styling` are `min_width`, `width`, and `max_width` (numbers = pixels; CSS strings allowed). This example sets `width` on Year for a fixed hierarchy column (see the width doc for `min_width` and bands).
|
|
7
4
|
|
|
8
|
-
|
|
5
|
+
2) `cell_alignment`: This will allow you to control alignment of content within all cells in the given column. This is set to right aligned by default. you can set this to `left`, `right` or `center`.
|
|
9
6
|
|
|
10
|
-
|
|
7
|
+
3) `font_color`: This will allow you to control the font color for a given column.
|
|
11
8
|
|
|
12
|
-
`column_styling` can be used within the column_definition of all the columns or some of them, as shown. Each column has its own individual control in this way.
|
|
9
|
+
`column_styling` can be used within the column_definition of all the columns or some of them, as shown. Each column has its own individual control in this way.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
AdvancedTable column width is controlled in two equivalent places on each leaf `columnDefinitions` entry. Playbook maps them to inline styles on header and body cells (and forwards numeric values into TanStack Table’s column model).
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
1) Playbook `columnStyling` and TanStack `ColumnDef` use the same three ideas:
|
|
4
4
|
|
|
5
5
|
- Preferred / target width: `columnStyling` `width` maps to TanStack `size` on the same column object.
|
|
6
6
|
- Minimum width (floor): `columnStyling` `minWidth` maps to TanStack `minSize`.
|
|
@@ -10,7 +10,7 @@ Numbers are pixels. You can also pass CSS length strings on `columnStyling` (e.g
|
|
|
10
10
|
|
|
11
11
|
If both APIs set the same axis, `columnStyling` wins for that axis when Playbook builds cell styles.
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
2) Fixed width: set `width` only
|
|
14
14
|
|
|
15
15
|
If you pass only `width` (or only `size`) and do not set `minWidth` / `maxWidth` (or `minSize` / `maxSize`), Playbook treats that as a fixed column: it sets all three to the same value under the hood so you do not have to repeat yourself.
|
|
16
16
|
|
|
@@ -26,7 +26,7 @@ size: 200
|
|
|
26
26
|
|
|
27
27
|
Use this when the column should stay one width (e.g. a hierarchy column with expand controls).
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
3) Floor only: `minWidth` / `minSize`
|
|
30
30
|
|
|
31
31
|
Set only a minimum when the column may grow with the table or content but must not shrink below a baseline (common fix for horizontal “jump” when rows expand):
|
|
32
32
|
|
|
@@ -34,7 +34,7 @@ Set only a minimum when the column may grow with the table or content but must n
|
|
|
34
34
|
columnStyling: { minWidth: 160 }
|
|
35
35
|
```
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
4) Flexible band: min + preferred + max
|
|
38
38
|
|
|
39
39
|
Set two or three values when you want a range. CSS uses preferred `width` clamped between `minWidth` and `maxWidth`:
|
|
40
40
|
|
|
@@ -46,7 +46,7 @@ Example from the table below (Attendance): `minWidth: 108`, `width: 124`, `maxWi
|
|
|
46
46
|
|
|
47
47
|
You only need all three when you want that band. If min and max are omitted, `width` alone is enough for a fixed column.
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
5) TanStack band without `columnStyling`
|
|
50
50
|
|
|
51
51
|
The Meetings column uses only TanStack fields:
|
|
52
52
|
|
|
@@ -56,7 +56,7 @@ The Meetings column uses only TanStack fields:
|
|
|
56
56
|
|
|
57
57
|
Playbook applies the same min / preferred / max idea to cell styles. Setting only `size: 200` would lock all three to 200, same as `width: 200` in `columnStyling`.
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
6) What the example table shows
|
|
60
60
|
|
|
61
61
|
- Year (fixed): `columnStyling: { width: 128 }` — locked to 128px.
|
|
62
62
|
- Enrollments (floor): `columnStyling: { minWidth: 160 }` — at least 160px; can grow.
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
label: "Year",
|
|
20
20
|
cellAccessors: ["quarter", "month", "day"],
|
|
21
21
|
sort_menu: [
|
|
22
|
-
{ item: "Year", link: "?sort=year_asc#
|
|
23
|
-
{ item: "Year", link: "?sort=year_desc#
|
|
22
|
+
{ item: "Year", link: "?sort=year_asc#pinned_rows_table", active: params["sort"] == "year_asc", direction: "asc" },
|
|
23
|
+
{ item: "Year", link: "?sort=year_desc#pinned_rows_table", active: params["sort"] == "year_desc", direction: "desc" }
|
|
24
24
|
],
|
|
25
25
|
},
|
|
26
26
|
{
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
|
|
52
52
|
<% pinned_rows = { top: ["8"] } %>
|
|
53
53
|
|
|
54
|
-
<%= pb_rails("advanced_table", props: { id: "
|
|
55
|
-
<%= pb_rails("advanced_table/table_header", props: { table_id: "
|
|
56
|
-
<%= pb_rails("advanced_table/table_body", props: { table_id: "
|
|
54
|
+
<%= pb_rails("advanced_table", props: { id: "pinned_rows_table", table_data: @table_data_with_id, column_definitions: column_definitions, max_height: "xs", pinned_rows: pinned_rows, responsive: "none", table_props: { sticky: true }}) do %>
|
|
55
|
+
<%= pb_rails("advanced_table/table_header", props: { table_id: "pinned_rows_table", column_definitions: column_definitions }) %>
|
|
56
|
+
<%= pb_rails("advanced_table/table_body", props: { table_id: "pinned_rows_table", table_data: @table_data_with_id, column_definitions: column_definitions, pinned_rows: pinned_rows }) %>
|
|
57
57
|
<% end %>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
Use the `pinned_rows` prop to pin specific rows to the top
|
|
1
|
+
Use the `pinned_rows` prop to pin specific rows to the top of an Advanced Table. Pinned rows will remain at the top when scrolling through table data and will not change position if sorting is used.
|
|
2
2
|
|
|
3
3
|
**NOTE:**
|
|
4
4
|
- Sticky header required: Pinned rows must be used with `sticky: true` via `table_props` (works with both responsive and non-responsive tables)
|
|
5
5
|
- Row ids required: Each object within the `table_data` array must contain a unique `id` in order to attach an id to all Rows for this to function.
|
|
6
|
-
- `pinned_rows` takes a hash with a `top`
|
|
7
|
-
- For expandable rows, use the parent id in `pinned_rows[:top]
|
|
6
|
+
- `pinned_rows` takes a hash with a `top` key containing an array of row ids, as shown in the code snippet below.
|
|
7
|
+
- For expandable rows, use the parent id in `pinned_rows[:top]`; all its children will automatically be pinned with it. If a child id is passed without the parent being pinned, nothing will be pinned.
|
|
@@ -9,9 +9,7 @@ examples:
|
|
|
9
9
|
- advanced_table_table_props: Table Props
|
|
10
10
|
- advanced_table_sticky_header_rails: Sticky Header
|
|
11
11
|
- advanced_table_table_props_sticky_header: Sticky Header for Responsive Table
|
|
12
|
-
- advanced_table_pinned_rows_rails: Pinned Rows
|
|
13
|
-
- advanced_table_pinned_rows_bottom_rails: Pinned Rows (Bottom)
|
|
14
|
-
- advanced_table_pinned_rows_both_rails: Pinned Rows (Both)
|
|
12
|
+
- advanced_table_pinned_rows_rails: Pinned Rows
|
|
15
13
|
- advanced_table_beta_sort: Enable Sorting
|
|
16
14
|
- advanced_table_responsive: Responsive Tables
|
|
17
15
|
- advanced_table_custom_cell_rails: Custom Components for Cells
|
|
@@ -30,7 +28,6 @@ examples:
|
|
|
30
28
|
- advanced_table_row_styling: Row Styling
|
|
31
29
|
- advanced_table_padding_control_per_row_rails: Padding Control using Row Styling
|
|
32
30
|
- advanced_table_column_styling_rails: Column Styling
|
|
33
|
-
- advanced_table_column_styling_width_rails: Column Styling Width
|
|
34
31
|
- advanced_table_column_styling_column_headers_rails: Column Styling with Multiple Headers
|
|
35
32
|
- advanced_table_padding_control_rails: Padding Control using Column Styling
|
|
36
33
|
- advanced_table_background_control_rails: Column Styling Background Color
|
|
@@ -356,40 +356,23 @@ export default class PbAdvancedTable extends PbEnhancedElement {
|
|
|
356
356
|
}
|
|
357
357
|
|
|
358
358
|
/**
|
|
359
|
-
* Recompute sticky top
|
|
359
|
+
* Recompute sticky top for visible pinned rows so collapsed rows don't leave a gap.
|
|
360
360
|
* Call after expand/collapse and on load.
|
|
361
361
|
*/
|
|
362
362
|
static updatePinnedRowsStickyTops(advancedTableWrapper) {
|
|
363
|
-
const
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
const pinnedTopTbody = advancedTableWrapper?.querySelector("tbody.pinned-rows-tbody");
|
|
367
|
-
if (pinnedTopTbody) {
|
|
368
|
-
const pinnedRows = Array.from(pinnedTopTbody.querySelectorAll("tr.pinned-row"));
|
|
369
|
-
const visibleRows = pinnedRows.filter(
|
|
370
|
-
(tr) => tr.style.display !== "none" && tr.offsetParent !== null
|
|
371
|
-
);
|
|
372
|
-
|
|
373
|
-
visibleRows.forEach((tr, index) => {
|
|
374
|
-
tr.style.top = `calc(${headerOffset} + 2.5em * ${index})`;
|
|
375
|
-
tr.style.bottom = "";
|
|
376
|
-
});
|
|
377
|
-
}
|
|
363
|
+
const pinnedTbody = advancedTableWrapper?.querySelector("tbody.pinned-rows-tbody");
|
|
364
|
+
if (!pinnedTbody) return;
|
|
378
365
|
|
|
379
|
-
const
|
|
380
|
-
|
|
366
|
+
const pinnedRows = Array.from(pinnedTbody.querySelectorAll("tr.pinned-row"));
|
|
367
|
+
const visibleRows = pinnedRows.filter(
|
|
368
|
+
(tr) => tr.style.display !== "none" && tr.offsetParent !== null
|
|
381
369
|
);
|
|
382
|
-
if (pinnedBottomTbody) {
|
|
383
|
-
const pinnedRows = Array.from(pinnedBottomTbody.querySelectorAll("tr.pinned-row"));
|
|
384
|
-
const visibleRows = pinnedRows.filter(
|
|
385
|
-
(tr) => tr.style.display !== "none" && tr.offsetParent !== null
|
|
386
|
-
);
|
|
387
370
|
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
})
|
|
392
|
-
}
|
|
371
|
+
const headerOffset =
|
|
372
|
+
"calc(var(--advanced-table-header-height, 44px) + var(--advanced-table-action-bar-height, 0px))";
|
|
373
|
+
visibleRows.forEach((tr, index) => {
|
|
374
|
+
tr.style.top = `calc(${headerOffset} + 2.5em * ${index})`;
|
|
375
|
+
});
|
|
393
376
|
}
|
|
394
377
|
|
|
395
378
|
hideCloseIcon() {
|
|
@@ -125,8 +125,7 @@
|
|
|
125
125
|
"maxHeight": {
|
|
126
126
|
"type": "enum",
|
|
127
127
|
"platforms": [
|
|
128
|
-
"react"
|
|
129
|
-
"rails"
|
|
128
|
+
"react"
|
|
130
129
|
],
|
|
131
130
|
"values": [
|
|
132
131
|
"auto",
|
|
@@ -137,8 +136,7 @@
|
|
|
137
136
|
"xl",
|
|
138
137
|
"xxl",
|
|
139
138
|
"xxxl"
|
|
140
|
-
]
|
|
141
|
-
"default": "auto"
|
|
139
|
+
]
|
|
142
140
|
},
|
|
143
141
|
"onRowToggleClick": {
|
|
144
142
|
"type": "function",
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
<% table_data = object.table_data || [] %>
|
|
2
2
|
<% if object.has_pinned_rows? %>
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
<% object.
|
|
7
|
-
|
|
8
|
-
<%= row_output %>
|
|
9
|
-
<% end %>
|
|
3
|
+
<%= pb_content_tag(:tbody, class: "pinned-rows-tbody") do %>
|
|
4
|
+
<% next_index = 0 %>
|
|
5
|
+
<% object.pinned_root_rows.each do |root_info| %>
|
|
6
|
+
<% row_output, next_index = object.render_row_and_children(root_info[:row], object.column_definitions, root_info[:depth], root_info[:depth] > 0, root_info[:ancestor_ids] || [], root_info[:ancestor_ids]&.first, immediate_parent_row_id: object.row_id_for(root_info[:parent_row]), is_pinned_row: true, pinned_index: next_index, initial_table_data_attributes: root_info[:depth].to_i > 0 ? object.pinned_root_initial_data_attributes(root_info) : nil) %>
|
|
7
|
+
<%= row_output %>
|
|
10
8
|
<% end %>
|
|
11
9
|
<% end %>
|
|
12
10
|
<%= pb_content_tag(:tbody) do %>
|
|
@@ -15,16 +13,6 @@
|
|
|
15
13
|
<%= result.is_a?(Array) ? result[0] : result %>
|
|
16
14
|
<% end %>
|
|
17
15
|
<% end %>
|
|
18
|
-
<% if object.has_pinned_bottom_rows? %>
|
|
19
|
-
<%= pb_content_tag(:tbody, class: "pinned-rows-tbody-bottom") do %>
|
|
20
|
-
<% next_index = 0 %>
|
|
21
|
-
<% bottom_total = object.pinned_bottom_row_count %>
|
|
22
|
-
<% object.pinned_bottom_root_rows.each do |root_info| %>
|
|
23
|
-
<% row_output, next_index = object.render_row_and_children(root_info[:row], object.column_definitions, root_info[:depth], root_info[:depth] > 0, root_info[:ancestor_ids] || [], root_info[:ancestor_ids]&.first, immediate_parent_row_id: object.row_id_for(root_info[:parent_row]), is_pinned_row: true, pinned_index: next_index, pinned_position: "bottom", pinned_bottom_total: bottom_total, initial_table_data_attributes: root_info[:depth].to_i > 0 ? object.pinned_root_initial_data_attributes(root_info) : nil) %>
|
|
24
|
-
<%= row_output %>
|
|
25
|
-
<% end %>
|
|
26
|
-
<% end %>
|
|
27
|
-
<% end %>
|
|
28
16
|
<% else %>
|
|
29
17
|
<%= pb_content_tag(:tbody) do %>
|
|
30
18
|
<% table_data.each do |row| %>
|
|
@@ -46,7 +46,7 @@ module Playbook
|
|
|
46
46
|
end.compact
|
|
47
47
|
end
|
|
48
48
|
|
|
49
|
-
def render_row_and_children(row, column_definitions, current_depth, first_parent_child, ancestor_ids = [], top_parent_id = nil, additional_classes: "", table_data_attributes: {}, immediate_parent_row_id: nil, is_pinned_row: false, pinned_index: nil, skip_pinned_ids: nil, initial_table_data_attributes: nil
|
|
49
|
+
def render_row_and_children(row, column_definitions, current_depth, first_parent_child, ancestor_ids = [], top_parent_id = nil, additional_classes: "", table_data_attributes: {}, immediate_parent_row_id: nil, is_pinned_row: false, pinned_index: nil, skip_pinned_ids: nil, initial_table_data_attributes: nil)
|
|
50
50
|
if skip_pinned_ids && row_id_for(row) && skip_pinned_ids.include?(row_id_for(row).to_s)
|
|
51
51
|
return is_pinned_row ? [ActiveSupport::SafeBuffer.new, pinned_index] : ActiveSupport::SafeBuffer.new
|
|
52
52
|
end
|
|
@@ -71,11 +71,10 @@ module Playbook
|
|
|
71
71
|
# Subrow header if applicable
|
|
72
72
|
if is_first_child_of_subrow && enable_toggle_expansion == "all"
|
|
73
73
|
subrow_props = { row: row, column_definitions: leaf_columns, depth: current_depth, subrow_header: subrow_headers_arr[current_depth - 1], collapsible_trail: collapsible_trail, classname: "toggle-content", responsive: responsive, subrow_data_attributes: subrow_data_attributes, last_row: last_row, immediate_parent_row_id: immediate_parent_row_id }
|
|
74
|
-
if is_pinned_row &&
|
|
74
|
+
if is_pinned_row && next_pinned_index
|
|
75
75
|
subrow_props[:is_pinned_row] = true
|
|
76
|
-
subrow_props[:pinned_position] = pinned_position.to_s
|
|
77
76
|
subrow_props[:pinned_index] = next_pinned_index
|
|
78
|
-
subrow_props[:html_options] = { style: build_pinned_row_style(next_pinned_index, background: "var(--pb_table_sticky_bg, #f5f5f5)"
|
|
77
|
+
subrow_props[:html_options] = { style: build_pinned_row_style(next_pinned_index, background: "var(--pb_table_sticky_bg, #f5f5f5)") }
|
|
79
78
|
next_pinned_index += 1
|
|
80
79
|
end
|
|
81
80
|
output << pb_rails("advanced_table/table_subrow_header", props: subrow_props)
|
|
@@ -93,12 +92,11 @@ module Playbook
|
|
|
93
92
|
|
|
94
93
|
# Additional class and data attributes needed for toggle logic
|
|
95
94
|
row_props = { table_id: table_id, row: row, column_definitions: leaf_columns, depth: current_depth, collapsible_trail: collapsible_trail, classname: additional_classes, table_data_attributes: current_data_attributes, responsive: responsive, loading: loading, selectable_rows: selectable_rows, row_id: row[:id], enable_toggle_expansion: enable_toggle_expansion, row_styling: row_styling, last_row: last_row, immediate_parent_row_id: immediate_parent_row_id, inline_row_loading: inline_row_loading, full_width_cell: full_width_cell }
|
|
96
|
-
if is_pinned_row &&
|
|
95
|
+
if is_pinned_row && next_pinned_index
|
|
97
96
|
row_props[:is_pinned_row] = true
|
|
98
|
-
row_props[:pinned_position] = pinned_position.to_s
|
|
99
97
|
row_props[:pinned_index] = next_pinned_index
|
|
100
98
|
row_bg = (row_styling || []).find { |s| s[:row_id].to_s == row_id_for(row).to_s }&.[](:background_color) || "white"
|
|
101
|
-
row_props[:html_options] = { style: build_pinned_row_style(next_pinned_index, background: row_bg
|
|
99
|
+
row_props[:html_options] = { style: build_pinned_row_style(next_pinned_index, background: row_bg) }
|
|
102
100
|
next_pinned_index += 1
|
|
103
101
|
end
|
|
104
102
|
output << pb_rails("advanced_table/table_row", props: row_props)
|
|
@@ -136,8 +134,6 @@ module Playbook
|
|
|
136
134
|
child_opts = { additional_classes: "toggle-content", table_data_attributes: child_data_attributes, immediate_parent_row_id: row[:id] }
|
|
137
135
|
child_opts[:is_pinned_row] = is_pinned_row
|
|
138
136
|
child_opts[:pinned_index] = next_pinned_index if is_pinned_row
|
|
139
|
-
child_opts[:pinned_position] = pinned_position if is_pinned_row
|
|
140
|
-
child_opts[:pinned_bottom_total] = pinned_bottom_total if is_pinned_row
|
|
141
137
|
child_opts[:skip_pinned_ids] = skip_pinned_ids if skip_pinned_ids
|
|
142
138
|
|
|
143
139
|
child_output, next_pinned_index = render_row_and_children(child_row, column_definitions, current_depth + 1, is_first_child, new_ancestor_ids, top_parent_id, **child_opts)
|
|
@@ -191,16 +187,17 @@ module Playbook
|
|
|
191
187
|
end
|
|
192
188
|
|
|
193
189
|
def pinned_top_ids
|
|
194
|
-
|
|
195
|
-
end
|
|
190
|
+
return [] if pinned_rows.nil? || !pinned_rows.respond_to?(:[])
|
|
196
191
|
|
|
197
|
-
|
|
198
|
-
|
|
192
|
+
top = pinned_rows["top"] || pinned_rows[:top]
|
|
193
|
+
Array(top).map(&:to_s)
|
|
199
194
|
end
|
|
200
195
|
|
|
201
196
|
def pinned_ids_set
|
|
197
|
+
return Set.new if pinned_top_ids.blank?
|
|
198
|
+
|
|
202
199
|
set = Set.new
|
|
203
|
-
|
|
200
|
+
pinned_root_rows.each do |root|
|
|
204
201
|
collect_row_and_descendant_ids(root[:row], set)
|
|
205
202
|
end
|
|
206
203
|
set
|
|
@@ -223,55 +220,21 @@ module Playbook
|
|
|
223
220
|
nil
|
|
224
221
|
end
|
|
225
222
|
|
|
226
|
-
def
|
|
223
|
+
def pinned_root_rows
|
|
227
224
|
return [] if pinned_top_ids.blank?
|
|
228
225
|
|
|
229
226
|
pinned_top_ids.filter_map { |id| find_row_by_id(table_data, id) }
|
|
230
227
|
end
|
|
231
228
|
|
|
232
|
-
# Alias kept for existing call sites / specs
|
|
233
|
-
alias pinned_root_rows pinned_top_root_rows
|
|
234
|
-
|
|
235
|
-
def pinned_bottom_root_rows
|
|
236
|
-
return [] if pinned_bottom_ids.blank?
|
|
237
|
-
|
|
238
|
-
pinned_bottom_ids.filter_map { |id| find_row_by_id(table_data, id) }
|
|
239
|
-
end
|
|
240
|
-
|
|
241
|
-
def pinned_bottom_row_count
|
|
242
|
-
pinned_bottom_root_rows.size
|
|
243
|
-
end
|
|
244
|
-
|
|
245
|
-
def has_pinned_top_rows?
|
|
246
|
-
pinned_top_root_rows.any?
|
|
247
|
-
end
|
|
248
|
-
|
|
249
|
-
def has_pinned_bottom_rows?
|
|
250
|
-
pinned_bottom_root_rows.any?
|
|
251
|
-
end
|
|
252
|
-
|
|
253
229
|
def has_pinned_rows?
|
|
254
|
-
|
|
230
|
+
pinned_root_rows.any?
|
|
255
231
|
end
|
|
256
232
|
|
|
257
233
|
# Build inline style for sticky pinned row (matches React). Pass via html_options so the tr gets the attribute.
|
|
258
|
-
def build_pinned_row_style(pinned_index, background: "white"
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
else
|
|
263
|
-
header_offset = "calc(var(--advanced-table-header-height, 44px) + var(--advanced-table-action-bar-height, 0px))"
|
|
264
|
-
row_offset = "calc(2.5em * #{pinned_index})"
|
|
265
|
-
"position: sticky; top: calc(#{header_offset} + #{row_offset}); z-index: 3; background: #{background};"
|
|
266
|
-
end
|
|
267
|
-
end
|
|
268
|
-
|
|
269
|
-
def pinned_ids_for(position)
|
|
270
|
-
return [] if pinned_rows.nil? || !pinned_rows.respond_to?(:[])
|
|
271
|
-
|
|
272
|
-
key = position.to_s
|
|
273
|
-
ids = pinned_rows[key] || pinned_rows[key.to_sym]
|
|
274
|
-
Array(ids).map(&:to_s)
|
|
234
|
+
def build_pinned_row_style(pinned_index, background: "white")
|
|
235
|
+
header_offset = "calc(var(--advanced-table-header-height, 44px) + var(--advanced-table-action-bar-height, 0px))"
|
|
236
|
+
row_offset = "calc(2.5em * #{pinned_index})"
|
|
237
|
+
"position: sticky; top: calc(#{header_offset} + #{row_offset}); z-index: 3; background: #{background};"
|
|
275
238
|
end
|
|
276
239
|
|
|
277
240
|
def pinned_root_initial_data_attributes(root_info)
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require_relative "column_layout_helper"
|
|
4
|
-
|
|
5
3
|
module Playbook
|
|
6
4
|
module PbAdvancedTable
|
|
7
5
|
class TableHeader < Playbook::KitBase
|
|
8
|
-
include Playbook::PbAdvancedTable::ColumnLayoutHelper
|
|
9
6
|
prop :table_id, type: Playbook::Props::String,
|
|
10
7
|
default: ""
|
|
11
8
|
prop :column_definitions, type: Playbook::Props::Array,
|
|
@@ -167,9 +164,6 @@ module Playbook
|
|
|
167
164
|
def header_component_info(cell, cell_index, row_index)
|
|
168
165
|
header_id = cell[:accessor].present? ? cell[:accessor] : "header_#{row_index}_#{cell_index}"
|
|
169
166
|
classname = [th_classname(is_first_column: cell_index.zero?), ("last-header-cell" if cell[:is_last_in_group] && cell_index != 0)].compact.join(" ")
|
|
170
|
-
layout_styles = header_layout_styles(cell)
|
|
171
|
-
style_hash = layout_styles.dup
|
|
172
|
-
style_hash[:color] = cell[:header_font_color] if cell[:header_font_color].present?
|
|
173
167
|
|
|
174
168
|
if has_custom_header_background_color?(cell)
|
|
175
169
|
component_name = "background"
|
|
@@ -181,8 +175,9 @@ module Playbook
|
|
|
181
175
|
component_props[:html_options] = {
|
|
182
176
|
id: header_id,
|
|
183
177
|
colspan: cell[:colspan],
|
|
184
|
-
style:
|
|
178
|
+
style: { color: cell[:header_font_color] },
|
|
185
179
|
}
|
|
180
|
+
component_props[:html_options][:style].delete(:color) unless cell[:header_font_color].present?
|
|
186
181
|
else
|
|
187
182
|
component_name = "table/table_header"
|
|
188
183
|
component_props = {
|
|
@@ -191,7 +186,7 @@ module Playbook
|
|
|
191
186
|
classname: classname,
|
|
192
187
|
sort_menu: cell[:accessor] ? cell[:sort_menu] : nil,
|
|
193
188
|
}
|
|
194
|
-
component_props[:html_options] = { style:
|
|
189
|
+
component_props[:html_options] = { style: { color: cell[:header_font_color] } } if cell[:header_font_color].present?
|
|
195
190
|
end
|
|
196
191
|
|
|
197
192
|
{ name: component_name, props: component_props }
|
|
@@ -212,13 +207,6 @@ module Playbook
|
|
|
212
207
|
|
|
213
208
|
private
|
|
214
209
|
|
|
215
|
-
def header_layout_styles(cell)
|
|
216
|
-
original_def = find_original_column_def_for_cell(cell)
|
|
217
|
-
return {} unless original_def
|
|
218
|
-
|
|
219
|
-
build_column_layout_styles_from_column(original_def)
|
|
220
|
-
end
|
|
221
|
-
|
|
222
210
|
# Find the original column definition for a cell
|
|
223
211
|
def find_original_column_def_for_cell(cell)
|
|
224
212
|
# Try accessor first (for leaf columns)
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require_relative "column_layout_helper"
|
|
4
|
-
|
|
5
3
|
module Playbook
|
|
6
4
|
module PbAdvancedTable
|
|
7
5
|
class TableRow < Playbook::KitBase
|
|
8
|
-
include Playbook::PbAdvancedTable::ColumnLayoutHelper
|
|
9
6
|
prop :table_id, type: Playbook::Props::String,
|
|
10
7
|
default: ""
|
|
11
8
|
prop :column_definitions, type: Playbook::Props::Array,
|
|
@@ -42,9 +39,6 @@ module Playbook
|
|
|
42
39
|
default: false
|
|
43
40
|
prop :is_pinned_row, type: Playbook::Props::Boolean,
|
|
44
41
|
default: false
|
|
45
|
-
prop :pinned_position, type: Playbook::Props::Enum,
|
|
46
|
-
values: %w[top bottom],
|
|
47
|
-
default: "top"
|
|
48
42
|
prop :pinned_index, type: Playbook::Props::Numeric,
|
|
49
43
|
default: nil
|
|
50
44
|
prop :html_options, type: Playbook::Props::HashProp,
|
|
@@ -59,7 +53,6 @@ module Playbook
|
|
|
59
53
|
def classname
|
|
60
54
|
classes = ["pb_table_tr", "pb-bg-row-white", subrow_depth_classname]
|
|
61
55
|
classes << "pinned-row" if is_pinned_row
|
|
62
|
-
classes << "pinned-row-bottom" if is_pinned_row && pinned_position.to_s == "bottom"
|
|
63
56
|
classes.reject!(&:blank?)
|
|
64
57
|
generate_classname(*classes, separator: " ")
|
|
65
58
|
end
|
|
@@ -120,7 +113,6 @@ module Playbook
|
|
|
120
113
|
column_font_color = cell_font_color(column)
|
|
121
114
|
effective_font_color = column_font_color || font_color
|
|
122
115
|
effective_font_weight = font_weight_value(font_weight)
|
|
123
|
-
layout_styles = cell_layout_styles(column)
|
|
124
116
|
|
|
125
117
|
if has_custom_background_color?(column)
|
|
126
118
|
custom_bg_color = cell_background_color(column)
|
|
@@ -130,13 +122,13 @@ module Playbook
|
|
|
130
122
|
tag: "td",
|
|
131
123
|
classname: td_classname(column, index),
|
|
132
124
|
}
|
|
133
|
-
style_hash =
|
|
125
|
+
style_hash = {}
|
|
134
126
|
style_hash[:color] = effective_font_color if effective_font_color.present?
|
|
135
127
|
style_hash[:"font-weight"] = effective_font_weight if effective_font_weight.present?
|
|
136
128
|
component_props[:html_options] = { style: style_hash } if style_hash.present?
|
|
137
129
|
else
|
|
138
130
|
component_name = "table/table_cell"
|
|
139
|
-
style_hash =
|
|
131
|
+
style_hash = { "background-color": bg_color }
|
|
140
132
|
style_hash[:color] = effective_font_color if effective_font_color.present?
|
|
141
133
|
style_hash[:"font-weight"] = effective_font_weight if effective_font_weight.present?
|
|
142
134
|
component_props = {
|
|
@@ -242,15 +234,6 @@ module Playbook
|
|
|
242
234
|
|
|
243
235
|
private
|
|
244
236
|
|
|
245
|
-
def cell_layout_styles(column)
|
|
246
|
-
return {} unless column[:accessor].present?
|
|
247
|
-
|
|
248
|
-
orig_def = find_column_def_by_accessor(column_definitions, column[:accessor])
|
|
249
|
-
return {} unless orig_def
|
|
250
|
-
|
|
251
|
-
build_column_layout_styles_from_column(orig_def)
|
|
252
|
-
end
|
|
253
|
-
|
|
254
237
|
def custom_renderer_value(column, index)
|
|
255
238
|
return nil unless column[:accessor].present?
|
|
256
239
|
|
|
@@ -21,9 +21,6 @@ module Playbook
|
|
|
21
21
|
default: "scroll"
|
|
22
22
|
prop :is_pinned_row, type: Playbook::Props::Boolean,
|
|
23
23
|
default: false
|
|
24
|
-
prop :pinned_position, type: Playbook::Props::Enum,
|
|
25
|
-
values: %w[top bottom],
|
|
26
|
-
default: "top"
|
|
27
24
|
prop :pinned_index, type: Playbook::Props::Numeric,
|
|
28
25
|
default: nil
|
|
29
26
|
prop :html_options, type: Playbook::Props::HashProp,
|
|
@@ -36,7 +33,6 @@ module Playbook
|
|
|
36
33
|
def classname
|
|
37
34
|
classes = ["pb_table_tr", "bg-silver", "pb_subrow_header", subrow_depth_classname]
|
|
38
35
|
classes << "pinned-row" if is_pinned_row
|
|
39
|
-
classes << "pinned-row-bottom" if is_pinned_row && pinned_position.to_s == "bottom"
|
|
40
36
|
generate_classname(*classes, separator: " ")
|
|
41
37
|
end
|
|
42
38
|
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
]
|
|
15
15
|
},
|
|
16
16
|
"backgroundColor": {
|
|
17
|
-
"type": "
|
|
17
|
+
"type": "ResponsiveProp<BackgroundColors> | BackgroundColors",
|
|
18
18
|
"platforms": [
|
|
19
19
|
"react",
|
|
20
20
|
"rails"
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
"default": "light"
|
|
86
86
|
},
|
|
87
87
|
"backgroundSize": {
|
|
88
|
-
"type": "
|
|
88
|
+
"type": "ResponsiveProp<BackgroundSizes> | BackgroundSizes",
|
|
89
89
|
"platforms": [
|
|
90
90
|
"react",
|
|
91
91
|
"rails"
|
|
@@ -106,7 +106,7 @@
|
|
|
106
106
|
"default": null
|
|
107
107
|
},
|
|
108
108
|
"backgroundRepeat": {
|
|
109
|
-
"type": "
|
|
109
|
+
"type": "ResponsiveProp<BackgroundRepeat> | BackgroundRepeat",
|
|
110
110
|
"platforms": [
|
|
111
111
|
"react",
|
|
112
112
|
"rails"
|