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.
Files changed (136) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling.md +8 -5
  3. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_rails.html.erb +0 -1
  4. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_rails.md +3 -6
  5. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_width.md +6 -6
  6. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pinned_rows_rails.html.erb +5 -5
  7. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pinned_rows_rails.md +3 -3
  8. data/app/pb_kits/playbook/pb_advanced_table/docs/_playground.json +0 -1
  9. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +1 -4
  10. data/app/pb_kits/playbook/pb_advanced_table/index.js +11 -28
  11. data/app/pb_kits/playbook/pb_advanced_table/kit.schema.json +2 -4
  12. data/app/pb_kits/playbook/pb_advanced_table/table_body.html.erb +5 -17
  13. data/app/pb_kits/playbook/pb_advanced_table/table_body.rb +17 -54
  14. data/app/pb_kits/playbook/pb_advanced_table/table_header.rb +3 -15
  15. data/app/pb_kits/playbook/pb_advanced_table/table_row.rb +2 -19
  16. data/app/pb_kits/playbook/pb_advanced_table/table_subrow_header.rb +0 -4
  17. data/app/pb_kits/playbook/pb_avatar/docs/_playground.json +0 -1
  18. data/app/pb_kits/playbook/pb_avatar/kit.schema.json +2 -4
  19. data/app/pb_kits/playbook/pb_background/kit.schema.json +3 -3
  20. data/app/pb_kits/playbook/pb_card/docs/_playground.json +0 -1
  21. data/app/pb_kits/playbook/pb_card/kit.schema.json +3 -5
  22. data/app/pb_kits/playbook/pb_currency/docs/_playground.json +0 -1
  23. data/app/pb_kits/playbook/pb_currency/kit.schema.json +2 -4
  24. data/app/pb_kits/playbook/pb_date_picker/docs/_playground.json +0 -1
  25. data/app/pb_kits/playbook/pb_date_picker/kit.schema.json +2 -18
  26. data/app/pb_kits/playbook/pb_date_range_inline/docs/_playground.json +0 -1
  27. data/app/pb_kits/playbook/pb_date_range_inline/kit.schema.json +2 -4
  28. data/app/pb_kits/playbook/pb_date_range_stacked/docs/_playground.json +1 -3
  29. data/app/pb_kits/playbook/pb_date_range_stacked/kit.schema.json +2 -4
  30. data/app/pb_kits/playbook/pb_date_stacked/docs/_playground.json +0 -1
  31. data/app/pb_kits/playbook/pb_date_stacked/kit.schema.json +2 -4
  32. data/app/pb_kits/playbook/pb_date_time/kit.schema.json +0 -7
  33. data/app/pb_kits/playbook/pb_date_time_stacked/docs/_playground.json +0 -1
  34. data/app/pb_kits/playbook/pb_date_time_stacked/kit.schema.json +2 -4
  35. data/app/pb_kits/playbook/pb_date_year_stacked/docs/_playground.json +1 -2
  36. data/app/pb_kits/playbook/pb_date_year_stacked/kit.schema.json +2 -4
  37. data/app/pb_kits/playbook/pb_distribution_bar/distribution_bar.html.erb +1 -8
  38. data/app/pb_kits/playbook/pb_distribution_bar/distribution_bar.rb +6 -3
  39. data/app/pb_kits/playbook/pb_docs/kit_example.html.erb +14 -7
  40. data/app/pb_kits/playbook/pb_docs/kit_example.rb +17 -2
  41. data/app/pb_kits/playbook/pb_dropdown/docs/example.yml +0 -2
  42. data/app/pb_kits/playbook/pb_dropdown/docs/index.js +0 -1
  43. data/app/pb_kits/playbook/pb_filter/docs/_playground.json +1 -1
  44. data/app/pb_kits/playbook/pb_filter/kit.schema.json +3 -6
  45. data/app/pb_kits/playbook/pb_flex/kit.schema.json +3 -6
  46. data/app/pb_kits/playbook/pb_home_address_street/docs/_playground.json +0 -1
  47. data/app/pb_kits/playbook/pb_home_address_street/kit.schema.json +2 -4
  48. data/app/pb_kits/playbook/pb_icon/docs/_playground.json +0 -1
  49. data/app/pb_kits/playbook/pb_icon/kit.schema.json +5 -18
  50. data/app/pb_kits/playbook/pb_icon_circle/kit.schema.json +4 -12
  51. data/app/pb_kits/playbook/pb_icon_stat_value/kit.schema.json +3 -3
  52. data/app/pb_kits/playbook/pb_layout/docs/_playground.json +0 -1
  53. data/app/pb_kits/playbook/pb_layout/kit.schema.json +2 -4
  54. data/app/pb_kits/playbook/pb_list/docs/_playground.json +0 -1
  55. data/app/pb_kits/playbook/pb_list/kit.schema.json +2 -4
  56. data/app/pb_kits/playbook/pb_loading_inline/docs/_playground.json +0 -1
  57. data/app/pb_kits/playbook/pb_loading_inline/kit.schema.json +2 -4
  58. data/app/pb_kits/playbook/pb_map/docs/_playground.json +0 -7
  59. data/app/pb_kits/playbook/pb_map/docs/_playground.overrides.json +0 -5
  60. data/app/pb_kits/playbook/pb_message/kit.schema.json +1 -1
  61. data/app/pb_kits/playbook/pb_multi_level_select/docs/_playground.json +0 -1
  62. data/app/pb_kits/playbook/pb_multi_level_select/kit.schema.json +1 -2
  63. data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_playground.json +0 -9
  64. data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_playground.overrides.json +0 -6
  65. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_playground.json +0 -9
  66. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_playground.overrides.json +0 -6
  67. data/app/pb_kits/playbook/pb_pb_gauge_chart/docs/_playground.json +0 -9
  68. data/app/pb_kits/playbook/pb_pb_gauge_chart/docs/_playground.overrides.json +0 -6
  69. data/app/pb_kits/playbook/pb_pb_line_graph/docs/_playground.json +0 -9
  70. data/app/pb_kits/playbook/pb_pb_line_graph/docs/_playground.overrides.json +0 -6
  71. data/app/pb_kits/playbook/pb_phone_number_input/docs/_playground.json +0 -1
  72. data/app/pb_kits/playbook/pb_phone_number_input/kit.schema.json +2 -4
  73. data/app/pb_kits/playbook/pb_pill/_pill.scss +4 -25
  74. data/app/pb_kits/playbook/pb_pill/_pill.tsx +1 -3
  75. data/app/pb_kits/playbook/pb_pill/docs/_playground.json +0 -11
  76. data/app/pb_kits/playbook/pb_pill/docs/_playground.overrides.json +1 -11
  77. data/app/pb_kits/playbook/pb_pill/docs/example.yml +0 -2
  78. data/app/pb_kits/playbook/pb_pill/docs/index.js +0 -1
  79. data/app/pb_kits/playbook/pb_pill/kit.schema.json +2 -13
  80. data/app/pb_kits/playbook/pb_pill/pill.rb +1 -4
  81. data/app/pb_kits/playbook/pb_popover/kit.schema.json +2 -54
  82. data/app/pb_kits/playbook/pb_progress_simple/docs/_playground.json +2 -2
  83. data/app/pb_kits/playbook/pb_progress_simple/kit.schema.json +2 -4
  84. data/app/pb_kits/playbook/pb_progress_step/kit.schema.json +2 -2
  85. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_playground.json +0 -11
  86. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_playground.overrides.json +0 -11
  87. data/app/pb_kits/playbook/pb_section_separator/docs/_playground.json +0 -1
  88. data/app/pb_kits/playbook/pb_section_separator/kit.schema.json +2 -4
  89. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_playground.json +4 -5
  90. data/app/pb_kits/playbook/pb_skeleton_loading/kit.schema.json +14 -43
  91. data/app/pb_kits/playbook/pb_time_picker/docs/_playground.json +0 -1
  92. data/app/pb_kits/playbook/pb_time_picker/kit.schema.json +2 -4
  93. data/app/pb_kits/playbook/pb_time_range_inline/docs/_playground.json +0 -1
  94. data/app/pb_kits/playbook/pb_time_range_inline/kit.schema.json +2 -4
  95. data/app/pb_kits/playbook/pb_timeline/kit.schema.json +1 -1
  96. data/app/pb_kits/playbook/pb_timestamp/_timestamp.tsx +5 -7
  97. data/app/pb_kits/playbook/pb_timestamp/docs/_playground.json +0 -1
  98. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones.html.erb +0 -15
  99. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones.jsx +0 -19
  100. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones.md +1 -3
  101. data/app/pb_kits/playbook/pb_timestamp/kit.schema.json +2 -4
  102. data/app/pb_kits/playbook/pb_timestamp/timestamp.test.js +0 -44
  103. data/app/pb_kits/playbook/pb_tooltip/kit.schema.json +7 -21
  104. data/app/pb_kits/playbook/pb_typeahead/_typeahead.test.jsx +1 -145
  105. data/app/pb_kits/playbook/pb_typeahead/_typeahead.tsx +4 -30
  106. data/app/pb_kits/playbook/pb_typeahead/components/IndicatorsContainer.tsx +10 -33
  107. data/app/pb_kits/playbook/pb_typeahead/docs/_playground.json +0 -2
  108. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.html.erb +0 -7
  109. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.md +1 -11
  110. data/app/pb_kits/playbook/pb_typeahead/kit.schema.json +33 -36
  111. data/app/pb_kits/playbook/utilities/global-props.schema.json +1 -318
  112. data/dist/chunks/_typeahead-CXg3ungD.js +5 -0
  113. data/dist/chunks/vendor.js +2 -2
  114. data/dist/menu.yml +11 -2
  115. data/dist/playbook-rails-react-bindings.js +1 -1
  116. data/dist/playbook-rails.js +1 -1
  117. data/dist/playbook.css +1 -1
  118. data/lib/playbook/pb_doc_helper.rb +2 -0
  119. data/lib/playbook/version.rb +1 -1
  120. metadata +3 -18
  121. data/app/pb_kits/playbook/pb_advanced_table/column_layout_helper.rb +0 -76
  122. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_width_rails.html.erb +0 -41
  123. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_width_rails.md +0 -49
  124. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pinned_rows_both_rails.html.erb +0 -57
  125. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pinned_rows_both_rails.md +0 -1
  126. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pinned_rows_bottom_rails.html.erb +0 -57
  127. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pinned_rows_bottom_rails.md +0 -1
  128. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_grouped_options.html.erb +0 -67
  129. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_grouped_options.jsx +0 -95
  130. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_grouped_options.md +0 -1
  131. data/app/pb_kits/playbook/pb_pill/_pill.test.jsx +0 -83
  132. data/app/pb_kits/playbook/pb_pill/docs/_pill_size.html.erb +0 -1
  133. data/app/pb_kits/playbook/pb_pill/docs/_pill_size.jsx +0 -16
  134. data/app/pb_kits/playbook/pb_pill/docs/_pill_size.md +0 -1
  135. data/app/pb_kits/playbook/pb_timestamp/activeSupportTimeZones.ts +0 -165
  136. data/dist/chunks/_typeahead-DqA5Pxcc.js +0 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dc8efac2071a693a945c9ad2b6bdd0ce9e7c092250ad1912188e33a24a2ed86e
4
- data.tar.gz: 4c02ea4ad383b32bc3a153172ebb4a838c5f540d2d893d635e76ff8b55fa346b
3
+ metadata.gz: 79b45f2b67aeb4fa377761f1766b42a5a42d933f551775ab9438ff24610d5827
4
+ data.tar.gz: 578692dffae05005a1f3f30cd86d12060ff73cc667b8c2d5d9fe495fd10044b2
5
5
  SHA512:
6
- metadata.gz: 37e1d808f292e4f6190b49305d9adfdedb1ee03b5e034c06f98b186164bb90c26f64d433b294e4803bb655598ad4f110d7148fbb004e53d6ac3834c0c0e5644f
7
- data.tar.gz: 58f3be19870b5bbc06d6a4852dc171c76040410536636319f74db242e255b3a5014d1f070a273d32e56a4846fd5d37392f253307824a4f386aea1335a1914cef
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. `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
- 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`.
5
- 3. `fontColor`: This will allow you to control the font color for a given column.
6
- 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).
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/styling/react#column-styling-width) for the full guide (Playbook ↔ TanStack mapping, floor-only vs bands, and when to use one vs three values).
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.
@@ -3,7 +3,6 @@
3
3
  accessor: "year",
4
4
  label: "Year",
5
5
  cellAccessors: ["quarter", "month", "day"],
6
- column_styling: { width: 124 },
7
6
  },
8
7
  {
9
8
  accessor: "newEnrollments",
@@ -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
- Fixed width: pass `width` only and Playbook sets min and max to the same value automatically you do not need all three for an exact width.
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
- See [Column Styling: Width](https://playbook.powerapp.cloud/kits/advanced_table/styling/rails#column-styling-width) for the full guide (floor-only vs bands, and when to use one vs three values).
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
- **1)** Playbook `columnStyling` and TanStack `ColumnDef` use the same three ideas:
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
- **2)** Fixed width: set `width` only
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
- **3)** Floor only: `minWidth` / `minSize`
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
- **4)** Flexible band: min + preferred + max
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
- **5)** TanStack band without `columnStyling`
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
- **6)** What the example table shows
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#pinned_rows_top_table", active: params["sort"] == "year_asc", direction: "asc" },
23
- { item: "Year", link: "?sort=year_desc#pinned_rows_top_table", active: params["sort"] == "year_desc", direction: "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: "pinned_rows_top_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_top_table", column_definitions: column_definitions }) %>
56
- <%= pb_rails("advanced_table/table_body", props: { table_id: "pinned_rows_top_table", table_data: @table_data_with_id, column_definitions: column_definitions, pinned_rows: pinned_rows }) %>
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 or bottom of an Advanced Table. Pinned rows will remain at the top or bottom when scrolling through table data and will not change position if sorting is used.
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` and/or `bottom` 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]` or `pinned_rows[:bottom]`; all its children will automatically be pinned with it. If a child id is passed without the parent being pinned, nothing will be pinned.
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.
@@ -12,7 +12,6 @@
12
12
  "fullWidthCell": false,
13
13
  "inlineRowLoading": false,
14
14
  "loading": false,
15
- "maxHeight": "auto",
16
15
  "responsive": "scroll",
17
16
  "scrollBarNone": false,
18
17
  "selectableRows": false,
@@ -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 (Top)
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/bottom for visible pinned rows so collapsed rows don't leave a gap.
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 headerOffset =
364
- "calc(var(--advanced-table-header-height, 44px) + var(--advanced-table-action-bar-height, 0px))";
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 pinnedBottomTbody = advancedTableWrapper?.querySelector(
380
- "tbody.pinned-rows-tbody-bottom"
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
- visibleRows.forEach((tr, index) => {
389
- tr.style.bottom = `calc(2.5em * ${visibleRows.length - 1 - index})`;
390
- tr.style.top = "";
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
- <% if object.has_pinned_top_rows? %>
4
- <%= pb_content_tag(:tbody, class: "pinned-rows-tbody") do %>
5
- <% next_index = 0 %>
6
- <% object.pinned_top_root_rows.each do |root_info| %>
7
- <% 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: "top", initial_table_data_attributes: root_info[:depth].to_i > 0 ? object.pinned_root_initial_data_attributes(root_info) : nil) %>
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, pinned_position: "top", pinned_bottom_total: 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 && !next_pinned_index.nil?
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)", position: pinned_position, bottom_total: pinned_bottom_total) }
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 && !next_pinned_index.nil?
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, position: pinned_position, bottom_total: pinned_bottom_total) }
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
- pinned_ids_for(:top)
195
- end
190
+ return [] if pinned_rows.nil? || !pinned_rows.respond_to?(:[])
196
191
 
197
- def pinned_bottom_ids
198
- pinned_ids_for(:bottom)
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
- (pinned_top_root_rows + pinned_bottom_root_rows).each do |root|
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 pinned_top_root_rows
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
- has_pinned_top_rows? || has_pinned_bottom_rows?
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", position: "top", bottom_total: nil)
259
- if position.to_s == "bottom"
260
- offset_index = bottom_total ? [bottom_total - 1 - pinned_index, 0].max : pinned_index
261
- "position: sticky; bottom: calc(2.5em * #{offset_index}); z-index: 3; background: #{background};"
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: style_hash,
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: style_hash } if style_hash.present?
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 = layout_styles.dup
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 = layout_styles.merge("background-color": bg_color)
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
 
@@ -2,7 +2,6 @@
2
2
  "template": "<Avatar{{props}} />",
3
3
  "propTargets": {},
4
4
  "defaults": {
5
- "dark": false,
6
5
  "grayscale": false,
7
6
  "imageAlt": "",
8
7
  "name": "",
@@ -17,10 +17,8 @@
17
17
  "dark": {
18
18
  "type": "boolean",
19
19
  "platforms": [
20
- "react",
21
- "rails"
22
- ],
23
- "default": false
20
+ "react"
21
+ ]
24
22
  },
25
23
  "grayscale": {
26
24
  "type": "boolean",
@@ -14,7 +14,7 @@
14
14
  ]
15
15
  },
16
16
  "backgroundColor": {
17
- "type": "enum",
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": "enum",
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": "enum",
109
+ "type": "ResponsiveProp<BackgroundRepeat> | BackgroundRepeat",
110
110
  "platforms": [
111
111
  "react",
112
112
  "rails"
@@ -7,7 +7,6 @@
7
7
  "defaults": {
8
8
  "background": "none",
9
9
  "borderNone": false,
10
- "borderRadius": "md",
11
10
  "draggableItem": false,
12
11
  "dragHandle": true,
13
12
  "selected": false,