playbook_ui 16.4.0.pre.alpha.testingmetadata15488 → 16.4.0.pre.rc.0
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/Context/AdvancedTableContext.tsx +2 -5
- data/app/pb_kits/playbook/pb_advanced_table/Hooks/useTableState.ts +2 -5
- data/app/pb_kits/playbook/pb_advanced_table/SubKits/TableHeader.tsx +11 -9
- data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +1 -65
- data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.tsx +1 -7
- data/app/pb_kits/playbook/pb_advanced_table/advanced_table.html.erb +2 -2
- data/app/pb_kits/playbook/pb_advanced_table/advanced_table.rb +0 -9
- data/app/pb_kits/playbook/pb_advanced_table/advanced_table.test.jsx +1 -35
- data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +0 -3
- data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +1 -3
- data/app/pb_kits/playbook/pb_advanced_table/index.js +29 -130
- data/app/pb_kits/playbook/pb_advanced_table/scss_partials/advanced_table_sticky_mixin.scss +2 -6
- data/app/pb_kits/playbook/pb_advanced_table/table_body.html.erb +4 -21
- data/app/pb_kits/playbook/pb_advanced_table/table_body.rb +9 -115
- data/app/pb_kits/playbook/pb_advanced_table/table_row.html.erb +1 -3
- data/app/pb_kits/playbook/pb_advanced_table/table_row.rb +1 -12
- data/app/pb_kits/playbook/pb_advanced_table/table_subrow_header.html.erb +1 -4
- data/app/pb_kits/playbook/pb_advanced_table/table_subrow_header.rb +1 -9
- data/app/pb_kits/playbook/pb_button/_button_mixins.scss +1 -6
- data/app/pb_kits/playbook/pb_button/docs/_button_full_width.md +1 -0
- data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.scss +0 -5
- data/app/pb_kits/playbook/pb_collapsible/index.js +26 -15
- data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.ts +1 -3
- data/app/pb_kits/playbook/pb_dialog/docs/_dialog_compound_components.html.erb +1 -1
- data/app/pb_kits/playbook/pb_dialog/docs/_dialog_compound_components.jsx +3 -6
- data/app/pb_kits/playbook/pb_dialog/docs/_dialog_full_height.html.erb +3 -3
- data/app/pb_kits/playbook/pb_dialog/docs/_dialog_full_height.jsx +3 -6
- data/app/pb_kits/playbook/pb_dialog/docs/_dialog_full_height_placement.html.erb +3 -3
- data/app/pb_kits/playbook/pb_dialog/docs/_dialog_full_height_placement.jsx +3 -6
- data/app/pb_kits/playbook/pb_dropdown/_dropdown.scss +0 -3
- data/app/pb_kits/playbook/pb_dropdown/_dropdown.tsx +0 -1
- data/app/pb_kits/playbook/pb_dropdown/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_dropdown/dropdown.rb +1 -8
- data/app/pb_kits/playbook/pb_dropdown/index.js +46 -255
- data/app/pb_kits/playbook/pb_dropdown/subcomponents/DropdownTrigger.tsx +14 -19
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.scss +0 -4
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.tsx +0 -3
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/index.js +1 -2
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/fixed_confirmation_toast.rb +1 -7
- data/app/pb_kits/playbook/pb_icon/icon.rb +1 -7
- data/app/pb_kits/playbook/pb_list/_list_mixin.scss +4 -4
- data/app/pb_kits/playbook/pb_multi_level_select/_helper_functions.tsx +1 -1
- data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.tsx +16 -27
- data/app/pb_kits/playbook/pb_multi_level_select/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_multi_level_select/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_multi_level_select/multi_level_select.rb +0 -3
- data/app/pb_kits/playbook/pb_multi_level_select/multi_level_select.test.jsx +0 -27
- data/app/pb_kits/playbook/pb_popover/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_popover/docs/index.js +1 -2
- data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.tsx +134 -35
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_attributes.html.erb +5 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_attributes.jsx +15 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_default.html.erb +1 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_default.jsx +0 -56
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_focus.html.erb +3 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_focus.jsx +17 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_inline.html.erb +6 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_inline.jsx +16 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_label.jsx +28 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_label.md +1 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_preview.html.erb +35 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_preview.jsx +45 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_required_indicator.html.erb +10 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_required_indicator.jsx +22 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_required_indicator.md +3 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_simple.html.erb +1 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_simple.jsx +13 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_sticky.html.erb +1 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_sticky.jsx +15 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_templates.html.erb +115 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_templates.jsx +42 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_toolbar_bottom.html.erb +4 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_toolbar_bottom.jsx +14 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/example.yml +21 -13
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/index.js +10 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/inlineFocus.ts +4 -5
- data/app/pb_kits/playbook/pb_rich_text_editor/rich_text_editor.html.erb +5 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/rich_text_editor.rb +63 -0
- data/app/pb_kits/playbook/pb_select/docs/_select_attributes.html.erb +0 -1
- data/app/pb_kits/playbook/pb_select/docs/_select_blank.html.erb +0 -1
- data/app/pb_kits/playbook/pb_select/docs/_select_custom_select.html.erb +1 -1
- data/app/pb_kits/playbook/pb_select/docs/_select_custom_select_subheaders.html.erb +1 -1
- data/app/pb_kits/playbook/pb_select/docs/_select_default.html.erb +0 -1
- data/app/pb_kits/playbook/pb_select/docs/_select_disabled.html.erb +0 -1
- data/app/pb_kits/playbook/pb_select/docs/_select_disabled_options.html.erb +0 -1
- data/app/pb_kits/playbook/pb_select/docs/_select_error.html.erb +0 -1
- data/app/pb_kits/playbook/pb_select/docs/_select_inline.html.erb +0 -1
- data/app/pb_kits/playbook/pb_select/docs/_select_inline_compact.html.erb +0 -1
- data/app/pb_kits/playbook/pb_select/docs/_select_inline_show_arrow.html.erb +0 -1
- data/app/pb_kits/playbook/pb_select/docs/_select_multiple.html.erb +0 -1
- data/app/pb_kits/playbook/pb_select/docs/_select_required.html.erb +0 -1
- data/app/pb_kits/playbook/pb_select/docs/_select_required_indicator.html.erb +0 -1
- data/app/pb_kits/playbook/pb_select/docs/_select_value_text_same.html.erb +0 -1
- data/app/pb_kits/playbook/pb_select/select.html.erb +5 -5
- data/app/pb_kits/playbook/pb_select/select.rb +0 -5
- data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +0 -39
- data/app/pb_kits/playbook/pb_selectable_list/_selectable_list.scss +1 -19
- data/app/pb_kits/playbook/pb_table/docs/_sections.yml +0 -1
- data/app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant_rails.md +1 -2
- data/app/pb_kits/playbook/pb_table/docs/example.yml +0 -1
- data/app/pb_kits/playbook/pb_table/table.html.erb +2 -5
- data/app/pb_kits/playbook/pb_table/table.rb +0 -4
- data/app/pb_kits/playbook/pb_textarea/_textarea.scss +1 -4
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_highlight.jsx +8 -20
- data/app/pb_kits/playbook/utilities/_hover.scss +3 -6
- data/dist/chunks/{_pb_line_graph-D6s5rymw.js → _pb_line_graph-BGY7jEks.js} +1 -1
- data/dist/chunks/_typeahead-tG1K5JPP.js +1 -0
- data/dist/chunks/{globalProps-Ds_6HBhX.js → globalProps-CK2YuA9O.js} +1 -1
- data/dist/chunks/{lib-BaO72ugL.js → lib-DspaUdlc.js} +1 -1
- data/dist/chunks/vendor.js +4 -4
- data/dist/menu.yml +40 -79
- 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/align_content.rb +28 -17
- data/lib/playbook/align_items.rb +28 -17
- data/lib/playbook/align_self.rb +28 -17
- data/lib/playbook/border_radius.rb +10 -7
- data/lib/playbook/bottom.rb +12 -8
- data/lib/playbook/classnames.rb +49 -65
- data/lib/playbook/cursor.rb +10 -7
- data/lib/playbook/display.rb +22 -16
- data/lib/playbook/flex.rb +28 -17
- data/lib/playbook/flex_direction.rb +28 -17
- data/lib/playbook/flex_grow.rb +28 -17
- data/lib/playbook/flex_shrink.rb +28 -17
- data/lib/playbook/flex_wrap.rb +28 -17
- data/lib/playbook/height.rb +10 -7
- data/lib/playbook/hover.rb +27 -31
- data/lib/playbook/justify_content.rb +28 -17
- data/lib/playbook/justify_self.rb +28 -17
- data/lib/playbook/kit_base.rb +16 -33
- data/lib/playbook/left.rb +12 -8
- data/lib/playbook/line_height.rb +10 -7
- data/lib/playbook/max_height.rb +10 -7
- data/lib/playbook/min_height.rb +10 -7
- data/lib/playbook/number_spacing.rb +10 -7
- data/lib/playbook/order.rb +28 -17
- data/lib/playbook/overflow.rb +12 -13
- data/lib/playbook/position.rb +12 -7
- data/lib/playbook/props.rb +5 -24
- data/lib/playbook/right.rb +12 -8
- data/lib/playbook/shadow.rb +10 -7
- data/lib/playbook/spacing.rb +128 -100
- data/lib/playbook/text_align.rb +28 -17
- data/lib/playbook/top.rb +12 -8
- data/lib/playbook/truncate.rb +10 -7
- data/lib/playbook/version.rb +2 -2
- data/lib/playbook/vertical_align.rb +28 -17
- data/lib/playbook/z_index.rb +26 -17
- metadata +31 -146
- data/app/pb_kits/playbook/pb_advanced_table/Utilities/RowModelUtils.ts +0 -100
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_grouped_headers_composition.jsx +0 -235
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_grouped_headers_composition.md +0 -17
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pinned_rows_rails.html.erb +0 -57
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pinned_rows_rails.md +0 -7
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sort_parent_only.jsx +0 -175
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sort_parent_only.md +0 -5
- data/app/pb_kits/playbook/pb_advanced_table/docs/advanced_table_grouped_headers_composition_mock_data.json +0 -98
- data/app/pb_kits/playbook/pb_advanced_table/kit.schema.json +0 -278
- data/app/pb_kits/playbook/pb_avatar/kit.schema.json +0 -86
- data/app/pb_kits/playbook/pb_background/kit.schema.json +0 -208
- data/app/pb_kits/playbook/pb_badge/kit.schema.json +0 -73
- data/app/pb_kits/playbook/pb_body/kit.schema.json +0 -101
- data/app/pb_kits/playbook/pb_bread_crumbs/kit.schema.json +0 -28
- data/app/pb_kits/playbook/pb_button/docs/_button_full_width_rails.md +0 -19
- data/app/pb_kits/playbook/pb_button/docs/_button_full_width_react.md +0 -23
- data/app/pb_kits/playbook/pb_button/kit.schema.json +0 -207
- data/app/pb_kits/playbook/pb_button_toolbar/kit.schema.json +0 -67
- data/app/pb_kits/playbook/pb_caption/kit.schema.json +0 -91
- data/app/pb_kits/playbook/pb_card/kit.schema.json +0 -168
- data/app/pb_kits/playbook/pb_checkbox/kit.schema.json +0 -143
- data/app/pb_kits/playbook/pb_circle_icon_button/kit.schema.json +0 -117
- data/app/pb_kits/playbook/pb_collapsible/kit.schema.json +0 -90
- data/app/pb_kits/playbook/pb_contact/kit.schema.json +0 -59
- data/app/pb_kits/playbook/pb_copy_button/kit.schema.json +0 -94
- data/app/pb_kits/playbook/pb_currency/kit.schema.json +0 -142
- data/app/pb_kits/playbook/pb_dashboard_value/kit.schema.json +0 -54
- data/app/pb_kits/playbook/pb_date/kit.schema.json +0 -98
- data/app/pb_kits/playbook/pb_date_picker/kit.schema.json +0 -375
- data/app/pb_kits/playbook/pb_date_range_inline/kit.schema.json +0 -76
- data/app/pb_kits/playbook/pb_date_range_stacked/kit.schema.json +0 -36
- data/app/pb_kits/playbook/pb_date_stacked/kit.schema.json +0 -78
- data/app/pb_kits/playbook/pb_date_time/kit.schema.json +0 -96
- data/app/pb_kits/playbook/pb_date_time_stacked/kit.schema.json +0 -62
- data/app/pb_kits/playbook/pb_date_year_stacked/kit.schema.json +0 -42
- data/app/pb_kits/playbook/pb_detail/kit.schema.json +0 -72
- data/app/pb_kits/playbook/pb_dialog/kit.schema.json +0 -186
- data/app/pb_kits/playbook/pb_distribution_bar/kit.schema.json +0 -48
- data/app/pb_kits/playbook/pb_draggable/kit.schema.json +0 -60
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_closing_options_rails.html.erb +0 -16
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_closing_options_rails.md +0 -1
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_custom_event_type.html.erb +0 -224
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_custom_event_type.md +0 -7
- data/app/pb_kits/playbook/pb_dropdown/kit.schema.json +0 -244
- data/app/pb_kits/playbook/pb_empty_state/kit.schema.json +0 -117
- data/app/pb_kits/playbook/pb_file_upload/kit.schema.json +0 -124
- data/app/pb_kits/playbook/pb_filter/kit.schema.json +0 -87
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_nav_margin.html.erb +0 -46
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_nav_margin.jsx +0 -42
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_nav_margin_rails.md +0 -1
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_nav_margin_react.md +0 -1
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/kit.schema.json +0 -118
- data/app/pb_kits/playbook/pb_flex/kit.schema.json +0 -151
- data/app/pb_kits/playbook/pb_form/kit.schema.json +0 -53
- data/app/pb_kits/playbook/pb_form_group/kit.schema.json +0 -30
- data/app/pb_kits/playbook/pb_form_pill/kit.schema.json +0 -132
- data/app/pb_kits/playbook/pb_hashtag/kit.schema.json +0 -71
- data/app/pb_kits/playbook/pb_highlight/kit.schema.json +0 -35
- data/app/pb_kits/playbook/pb_home_address_street/kit.schema.json +0 -121
- data/app/pb_kits/playbook/pb_icon/kit.schema.json +0 -180
- data/app/pb_kits/playbook/pb_icon_button/kit.schema.json +0 -116
- data/app/pb_kits/playbook/pb_icon_circle/kit.schema.json +0 -65
- data/app/pb_kits/playbook/pb_icon_stat_value/kit.schema.json +0 -96
- data/app/pb_kits/playbook/pb_icon_value/kit.schema.json +0 -49
- data/app/pb_kits/playbook/pb_image/kit.schema.json +0 -74
- data/app/pb_kits/playbook/pb_label_pill/kit.schema.json +0 -52
- data/app/pb_kits/playbook/pb_label_value/kit.schema.json +0 -84
- data/app/pb_kits/playbook/pb_layout/kit.schema.json +0 -107
- data/app/pb_kits/playbook/pb_legend/kit.schema.json +0 -44
- data/app/pb_kits/playbook/pb_link/kit.schema.json +0 -118
- data/app/pb_kits/playbook/pb_list/kit.schema.json +0 -110
- data/app/pb_kits/playbook/pb_loading_inline/kit.schema.json +0 -55
- data/app/pb_kits/playbook/pb_map/kit.schema.json +0 -51
- data/app/pb_kits/playbook/pb_message/kit.schema.json +0 -104
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_placeholder.html.erb +0 -109
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_placeholder.jsx +0 -127
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_placeholder.md +0 -1
- data/app/pb_kits/playbook/pb_multi_level_select/kit.schema.json +0 -190
- data/app/pb_kits/playbook/pb_multiple_users/kit.schema.json +0 -67
- data/app/pb_kits/playbook/pb_multiple_users_stacked/kit.schema.json +0 -55
- data/app/pb_kits/playbook/pb_nav/kit.schema.json +0 -104
- data/app/pb_kits/playbook/pb_online_status/kit.schema.json +0 -62
- data/app/pb_kits/playbook/pb_overlay/kit.schema.json +0 -99
- data/app/pb_kits/playbook/pb_pagination/kit.schema.json +0 -56
- data/app/pb_kits/playbook/pb_passphrase/kit.schema.json +0 -94
- data/app/pb_kits/playbook/pb_pb_bar_graph/kit.schema.json +0 -29
- data/app/pb_kits/playbook/pb_pb_circle_chart/kit.schema.json +0 -29
- data/app/pb_kits/playbook/pb_pb_gauge_chart/kit.schema.json +0 -29
- data/app/pb_kits/playbook/pb_pb_line_graph/kit.schema.json +0 -29
- data/app/pb_kits/playbook/pb_person/kit.schema.json +0 -36
- data/app/pb_kits/playbook/pb_person_contact/kit.schema.json +0 -43
- data/app/pb_kits/playbook/pb_phone_number_input/kit.schema.json +0 -157
- data/app/pb_kits/playbook/pb_pill/kit.schema.json +0 -57
- data/app/pb_kits/playbook/pb_popover/docs/_popover_placement.jsx +0 -81
- data/app/pb_kits/playbook/pb_popover/docs/_popover_placement_react.md +0 -1
- data/app/pb_kits/playbook/pb_popover/docs/_popover_position.html.erb +0 -128
- data/app/pb_kits/playbook/pb_popover/docs/_popover_position_rails.md +0 -1
- data/app/pb_kits/playbook/pb_popover/kit.schema.json +0 -82
- data/app/pb_kits/playbook/pb_progress_pills/kit.schema.json +0 -60
- data/app/pb_kits/playbook/pb_progress_simple/kit.schema.json +0 -78
- data/app/pb_kits/playbook/pb_progress_step/kit.schema.json +0 -74
- data/app/pb_kits/playbook/pb_radio/kit.schema.json +0 -104
- data/app/pb_kits/playbook/pb_rich_text_editor/_tiptap_editor.tsx +0 -51
- data/app/pb_kits/playbook/pb_rich_text_editor/_trix_editor.tsx +0 -206
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_default.md +0 -1
- data/app/pb_kits/playbook/pb_rich_text_editor/kit.schema.json +0 -151
- data/app/pb_kits/playbook/pb_section_separator/kit.schema.json +0 -77
- data/app/pb_kits/playbook/pb_select/kit.schema.json +0 -157
- data/app/pb_kits/playbook/pb_selectable_card/kit.schema.json +0 -116
- data/app/pb_kits/playbook/pb_selectable_card_icon/kit.schema.json +0 -116
- data/app/pb_kits/playbook/pb_selectable_icon/kit.schema.json +0 -103
- data/app/pb_kits/playbook/pb_selectable_list/kit.schema.json +0 -54
- data/app/pb_kits/playbook/pb_skeleton_loading/kit.schema.json +0 -42
- data/app/pb_kits/playbook/pb_source/kit.schema.json +0 -61
- data/app/pb_kits/playbook/pb_star_rating/kit.schema.json +0 -152
- data/app/pb_kits/playbook/pb_stat_change/kit.schema.json +0 -49
- data/app/pb_kits/playbook/pb_stat_value/kit.schema.json +0 -42
- data/app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant_external_filter_rails.html.erb +0 -45
- data/app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant_external_filter_rails.md +0 -39
- data/app/pb_kits/playbook/pb_table/kit.schema.json +0 -238
- data/app/pb_kits/playbook/pb_text_input/kit.schema.json +0 -155
- data/app/pb_kits/playbook/pb_textarea/kit.schema.json +0 -163
- data/app/pb_kits/playbook/pb_time/kit.schema.json +0 -96
- data/app/pb_kits/playbook/pb_time_picker/kit.schema.json +0 -143
- data/app/pb_kits/playbook/pb_time_range_inline/kit.schema.json +0 -77
- data/app/pb_kits/playbook/pb_time_stacked/kit.schema.json +0 -60
- data/app/pb_kits/playbook/pb_timeline/kit.schema.json +0 -57
- data/app/pb_kits/playbook/pb_timestamp/kit.schema.json +0 -126
- data/app/pb_kits/playbook/pb_title/kit.schema.json +0 -106
- data/app/pb_kits/playbook/pb_title_count/kit.schema.json +0 -61
- data/app/pb_kits/playbook/pb_title_detail/kit.schema.json +0 -49
- data/app/pb_kits/playbook/pb_toggle/kit.schema.json +0 -76
- data/app/pb_kits/playbook/pb_tooltip/kit.schema.json +0 -110
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_highlight.md +0 -3
- data/app/pb_kits/playbook/pb_typeahead/kit.schema.json +0 -279
- data/app/pb_kits/playbook/pb_user/kit.schema.json +0 -147
- data/app/pb_kits/playbook/pb_user_badge/kit.schema.json +0 -47
- data/app/pb_kits/playbook/pb_weekday_stacked/kit.schema.json +0 -63
- data/app/pb_kits/playbook/utilities/domHelpers.ts +0 -50
- data/app/pb_kits/playbook/utilities/global-props.schema.json +0 -759
- data/dist/chunks/_typeahead-BNp_YiTh.js +0 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0f7d056170ce6b317f95c9d7ad73a63c8f7f3210c6cd02d17414534b2bff7c80
|
|
4
|
+
data.tar.gz: f2cb5edafbb6d1fb4ffacc6985d1422f5e3ce14930195b01dc9e08b8e41dd691
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 802232b2891b04f6890eec0e1810274a5faab50b2bba3067ccb7bc393226e70239733f941db20c0deba832bddc8591aad4782c66367389c823a7347eb1399169
|
|
7
|
+
data.tar.gz: 60a018fbfc411d74df9c01f63d419a2950069cd9cf21b90a1655baa7dcbc6690f22a67755120640e6215af7f7665dea8709bd866e58e5e3d4075cfc53d401c23
|
|
@@ -33,8 +33,7 @@ export const AdvancedTableProvider = ({ children, ...props }: {
|
|
|
33
33
|
|
|
34
34
|
const measureHeights = useCallback(() => {
|
|
35
35
|
if (headerRef.current) {
|
|
36
|
-
const
|
|
37
|
-
const headerRect = headerElement.getBoundingClientRect();
|
|
36
|
+
const headerRect = headerRef.current.getBoundingClientRect();
|
|
38
37
|
if (headerRect.height > 0) {
|
|
39
38
|
setHeaderHeight(headerRect.height);
|
|
40
39
|
}
|
|
@@ -68,11 +67,9 @@ export const AdvancedTableProvider = ({ children, ...props }: {
|
|
|
68
67
|
};
|
|
69
68
|
}, [measureHeights]);
|
|
70
69
|
|
|
71
|
-
const headerGroupCount = table?.getHeaderGroups()?.length ?? 0;
|
|
72
|
-
|
|
73
70
|
useEffect(() => {
|
|
74
71
|
measureHeights();
|
|
75
|
-
}, [table?.getRowModel().rows.length,
|
|
72
|
+
}, [table?.getRowModel().rows.length, measureHeights]);
|
|
76
73
|
|
|
77
74
|
|
|
78
75
|
// Create a flattened data array that includes ALL components for virtualization
|
|
@@ -12,7 +12,6 @@ import {
|
|
|
12
12
|
import { GenericObject } from "../../types";
|
|
13
13
|
import { createColumnHelper } from "@tanstack/react-table";
|
|
14
14
|
import { createCellFunction } from "../Utilities/CellRendererUtils";
|
|
15
|
-
import { getParentOnlySortedRowModel } from "../Utilities/RowModelUtils";
|
|
16
15
|
|
|
17
16
|
interface UseTableStateProps {
|
|
18
17
|
tableData: GenericObject[];
|
|
@@ -37,7 +36,6 @@ interface UseTableStateProps {
|
|
|
37
36
|
columnVisibilityControl?: GenericObject;
|
|
38
37
|
rowStyling?: GenericObject;
|
|
39
38
|
inlineRowLoading?: boolean;
|
|
40
|
-
sortParentOnly?: boolean;
|
|
41
39
|
}
|
|
42
40
|
|
|
43
41
|
export function useTableState({
|
|
@@ -57,8 +55,7 @@ export function useTableState({
|
|
|
57
55
|
columnVisibilityControl,
|
|
58
56
|
pinnedRows,
|
|
59
57
|
rowStyling,
|
|
60
|
-
inlineRowLoading = false
|
|
61
|
-
sortParentOnly = false
|
|
58
|
+
inlineRowLoading = false
|
|
62
59
|
}: UseTableStateProps) {
|
|
63
60
|
|
|
64
61
|
// Create a local state for expanded and setExpanded if expandedControl not used
|
|
@@ -193,7 +190,7 @@ export function useTableState({
|
|
|
193
190
|
getSubRows: (row: GenericObject) => row.children,
|
|
194
191
|
getCoreRowModel: getCoreRowModel(),
|
|
195
192
|
getExpandedRowModel: getExpandedRowModel(),
|
|
196
|
-
getSortedRowModel:
|
|
193
|
+
getSortedRowModel: getSortedRowModel(),
|
|
197
194
|
enableSortingRemoval: enableSortingRemoval,
|
|
198
195
|
sortDescFirst: true,
|
|
199
196
|
onRowSelectionChange: setRowSelection,
|
|
@@ -64,12 +64,14 @@ export const TableHeader = ({
|
|
|
64
64
|
);
|
|
65
65
|
|
|
66
66
|
const renderRegularTableHeader = () => (
|
|
67
|
-
<thead className={classes}
|
|
67
|
+
<thead className={classes}
|
|
68
68
|
id={id}
|
|
69
|
-
ref={headerRef}
|
|
70
69
|
>
|
|
71
|
-
{table.getHeaderGroups().map((headerGroup: HeaderGroup<GenericObject
|
|
72
|
-
<tr
|
|
70
|
+
{table.getHeaderGroups().map((headerGroup: HeaderGroup<GenericObject>, index: number) => (
|
|
71
|
+
<tr
|
|
72
|
+
key={`${headerGroup.id}-headerGroup`}
|
|
73
|
+
ref={index === 0 ? headerRef : null}
|
|
74
|
+
>
|
|
73
75
|
{!hasAnySubRows && selectableRows && (
|
|
74
76
|
<th className={customCellClassnames}>
|
|
75
77
|
<Checkbox
|
|
@@ -103,16 +105,16 @@ export const TableHeader = ({
|
|
|
103
105
|
);
|
|
104
106
|
|
|
105
107
|
const renderVirtualizedTableHeader = () => (
|
|
106
|
-
<thead
|
|
107
|
-
className={classes}
|
|
108
|
+
<thead
|
|
109
|
+
className={classes}
|
|
108
110
|
data-virtualized="true"
|
|
109
111
|
id={id}
|
|
110
|
-
ref={headerRef}
|
|
111
112
|
>
|
|
112
|
-
{table.getHeaderGroups().map((headerGroup: HeaderGroup<GenericObject
|
|
113
|
-
<tr
|
|
113
|
+
{table.getHeaderGroups().map((headerGroup: HeaderGroup<GenericObject>, index: number) => (
|
|
114
|
+
<tr
|
|
114
115
|
className="virtualized-header-row-header"
|
|
115
116
|
key={`${headerGroup.id}-headerGroup-virtualized`}
|
|
117
|
+
ref={index === 0 ? headerRef : null}
|
|
116
118
|
>
|
|
117
119
|
{!hasAnySubRows && selectableRows && (
|
|
118
120
|
<th className={classnames(customCellClassnames, "virtualized-header-cell")}>
|
|
@@ -63,51 +63,6 @@
|
|
|
63
63
|
width: 100%;
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
-
// Override pb_table endcap: first and last column use same padding as rest of row
|
|
67
|
-
// First column
|
|
68
|
-
.pb_table.table-sm tbody tr td:first-child,
|
|
69
|
-
.pb_table.table-sm tbody tr .pb_table_td:first-child,
|
|
70
|
-
.pb_table.table-sm tbody .pb_table_tr td:first-child,
|
|
71
|
-
.pb_table.table-sm tbody .pb_table_tr .pb_table_td:first-child,
|
|
72
|
-
.pb_table.table-sm .pb_table_tbody tr td:first-child,
|
|
73
|
-
.pb_table.table-sm .pb_table_tbody tr .pb_table_td:first-child,
|
|
74
|
-
.pb_table.table-sm .pb_table_tbody .pb_table_tr td:first-child,
|
|
75
|
-
.pb_table.table-sm .pb_table_tbody .pb_table_tr .pb_table_td:first-child {
|
|
76
|
-
padding-left: $space-xs;
|
|
77
|
-
}
|
|
78
|
-
.pb_table.table-md tbody tr td:first-child,
|
|
79
|
-
.pb_table.table-md tbody tr .pb_table_td:first-child,
|
|
80
|
-
.pb_table.table-md tbody .pb_table_tr td:first-child,
|
|
81
|
-
.pb_table.table-md tbody .pb_table_tr .pb_table_td:first-child,
|
|
82
|
-
.pb_table.table-md .pb_table_tbody tr td:first-child,
|
|
83
|
-
.pb_table.table-md .pb_table_tbody tr .pb_table_td:first-child,
|
|
84
|
-
.pb_table.table-md .pb_table_tbody .pb_table_tr td:first-child,
|
|
85
|
-
.pb_table.table-md .pb_table_tbody .pb_table_tr .pb_table_td:first-child {
|
|
86
|
-
padding-left: $space-sm;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
// Last column
|
|
90
|
-
.pb_table.table-sm tbody tr td:last-child,
|
|
91
|
-
.pb_table.table-sm tbody tr .pb_table_td:last-child,
|
|
92
|
-
.pb_table.table-sm tbody .pb_table_tr td:last-child,
|
|
93
|
-
.pb_table.table-sm tbody .pb_table_tr .pb_table_td:last-child,
|
|
94
|
-
.pb_table.table-sm .pb_table_tbody tr td:last-child,
|
|
95
|
-
.pb_table.table-sm .pb_table_tbody tr .pb_table_td:last-child,
|
|
96
|
-
.pb_table.table-sm .pb_table_tbody .pb_table_tr td:last-child,
|
|
97
|
-
.pb_table.table-sm .pb_table_tbody .pb_table_tr .pb_table_td:last-child {
|
|
98
|
-
padding-right: $space-xs;
|
|
99
|
-
}
|
|
100
|
-
.pb_table.table-md tbody tr td:last-child,
|
|
101
|
-
.pb_table.table-md tbody tr .pb_table_td:last-child,
|
|
102
|
-
.pb_table.table-md tbody .pb_table_tr td:last-child,
|
|
103
|
-
.pb_table.table-md tbody .pb_table_tr .pb_table_td:last-child,
|
|
104
|
-
.pb_table.table-md .pb_table_tbody tr td:last-child,
|
|
105
|
-
.pb_table.table-md .pb_table_tbody tr .pb_table_td:last-child,
|
|
106
|
-
.pb_table.table-md .pb_table_tbody .pb_table_tr td:last-child,
|
|
107
|
-
.pb_table.table-md .pb_table_tbody .pb_table_tr .pb_table_td:last-child {
|
|
108
|
-
padding-right: $space-sm;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
66
|
// Virtualized Table and Rows for Infinite Scroll
|
|
112
67
|
scrollbar-gutter: stable right-edges;
|
|
113
68
|
.virtualized-header-row-header {
|
|
@@ -674,18 +629,12 @@
|
|
|
674
629
|
@each $color_name, $color_value in $border_color_options {
|
|
675
630
|
&.column-group-border-#{$color_name} {
|
|
676
631
|
@if $theme == "light" {
|
|
677
|
-
&:not(.advanced-table-no-table-container) {
|
|
678
|
-
@include advanced-table-sticky-wrapper-frame($color_value);
|
|
679
|
-
}
|
|
680
632
|
@include advanced-table-sticky-mixin(
|
|
681
633
|
$color_value,
|
|
682
634
|
$white,
|
|
683
635
|
lighten($silver, $opacity_7)
|
|
684
636
|
);
|
|
685
637
|
} @else if $theme == "dark" {
|
|
686
|
-
&:not(.advanced-table-no-table-container) {
|
|
687
|
-
@include advanced-table-sticky-wrapper-frame($color_value);
|
|
688
|
-
}
|
|
689
638
|
@include advanced-table-sticky-mixin(
|
|
690
639
|
$color_value,
|
|
691
640
|
$bg_dark_card,
|
|
@@ -721,10 +670,6 @@
|
|
|
721
670
|
width: 100%;
|
|
722
671
|
@include scrollbar-styling;
|
|
723
672
|
|
|
724
|
-
&:not(.advanced-table-no-table-container) {
|
|
725
|
-
@include advanced-table-sticky-wrapper-frame($border_light);
|
|
726
|
-
}
|
|
727
|
-
|
|
728
673
|
// These are the responsive borders that should NOT inherit the custom color
|
|
729
674
|
@include advanced-table-sticky-mixin(
|
|
730
675
|
$border_light,
|
|
@@ -775,7 +720,7 @@
|
|
|
775
720
|
}
|
|
776
721
|
}
|
|
777
722
|
|
|
778
|
-
// Row Pinning -
|
|
723
|
+
// Row Pinning - additional inline styles in RegularTableView.tsx
|
|
779
724
|
.pinned-row {
|
|
780
725
|
box-shadow: 0 4px 10px 0 rgba($shadow, 0.16) !important;
|
|
781
726
|
}
|
|
@@ -1018,11 +963,6 @@
|
|
|
1018
963
|
.sticky-left {
|
|
1019
964
|
background-color: $bg_dark;
|
|
1020
965
|
}
|
|
1021
|
-
|
|
1022
|
-
&:not(.advanced-table-no-table-container) {
|
|
1023
|
-
@include advanced-table-sticky-wrapper-frame($border_dark);
|
|
1024
|
-
}
|
|
1025
|
-
|
|
1026
966
|
@include advanced-table-sticky-mixin(
|
|
1027
967
|
$border_dark,
|
|
1028
968
|
$bg_dark_card,
|
|
@@ -1041,10 +981,6 @@
|
|
|
1041
981
|
}
|
|
1042
982
|
}
|
|
1043
983
|
|
|
1044
|
-
&:not(.advanced-table-no-table-container) {
|
|
1045
|
-
@include advanced-table-sticky-wrapper-frame($border_dark);
|
|
1046
|
-
}
|
|
1047
|
-
|
|
1048
984
|
// These are the responsive borders that should NOT inherit the custom color
|
|
1049
985
|
@include advanced-table-sticky-mixin(
|
|
1050
986
|
$border_dark,
|
|
@@ -66,7 +66,6 @@ type AdvancedTableProps = {
|
|
|
66
66
|
showActionsBar?: boolean,
|
|
67
67
|
persistToggleExpansionButton?: boolean,
|
|
68
68
|
sortControl?: GenericObject
|
|
69
|
-
sortParentOnly?: boolean
|
|
70
69
|
tableData: GenericObject[]
|
|
71
70
|
tableOptions?: GenericObject
|
|
72
71
|
tableProps?: GenericObject
|
|
@@ -115,7 +114,6 @@ const AdvancedTable = (props: AdvancedTableProps) => {
|
|
|
115
114
|
selectableRows,
|
|
116
115
|
persistToggleExpansionButton = false,
|
|
117
116
|
sortControl,
|
|
118
|
-
sortParentOnly = false,
|
|
119
117
|
stickyLeftColumn,
|
|
120
118
|
tableData,
|
|
121
119
|
tableOptions,
|
|
@@ -127,8 +125,6 @@ const AdvancedTable = (props: AdvancedTableProps) => {
|
|
|
127
125
|
fullScreenControl,
|
|
128
126
|
} = props;
|
|
129
127
|
|
|
130
|
-
const noTableCardContainer = tableProps?.container === false;
|
|
131
|
-
|
|
132
128
|
// Component refs
|
|
133
129
|
const tableWrapperRef = useRef<HTMLDivElement>(null);
|
|
134
130
|
|
|
@@ -163,8 +159,7 @@ const AdvancedTable = (props: AdvancedTableProps) => {
|
|
|
163
159
|
columnVisibilityControl,
|
|
164
160
|
pinnedRows,
|
|
165
161
|
rowStyling,
|
|
166
|
-
inlineRowLoading
|
|
167
|
-
sortParentOnly
|
|
162
|
+
inlineRowLoading
|
|
168
163
|
});
|
|
169
164
|
|
|
170
165
|
// Initialize table actions
|
|
@@ -283,7 +278,6 @@ const AdvancedTable = (props: AdvancedTableProps) => {
|
|
|
283
278
|
'hidden-action-bar': (selectableRows || columnVisibilityControl) && !isActionBarVisible,
|
|
284
279
|
},
|
|
285
280
|
{'advanced-table-sticky-left-columns': stickyLeftColumn && stickyLeftColumn.length > 0},
|
|
286
|
-
{ 'advanced-table-no-table-container': noTableCardContainer },
|
|
287
281
|
columnGroupBorderColor ? `column-group-border-${columnGroupBorderColor}` : '',
|
|
288
282
|
scrollBarNone ? 'advanced-table-hide-scrollbar' : '',
|
|
289
283
|
globalProps(props),
|
|
@@ -7,12 +7,12 @@
|
|
|
7
7
|
}) %>
|
|
8
8
|
<% end %>
|
|
9
9
|
|
|
10
|
-
<%= pb_rails("table", props: { size: "sm", data_table: true, number_spacing:"tabular", responsive:"none", dark: dark, classname: object.loading ? "content-loading" : "" }.merge(object.table_props
|
|
10
|
+
<%= pb_rails("table", props: { size: "sm", data_table: true, number_spacing:"tabular", responsive:"none", dark: dark, classname: object.loading ? "content-loading" : "" }.merge(object.table_props)) do %>
|
|
11
11
|
<% if content.present? %>
|
|
12
12
|
<% content.presence %>
|
|
13
13
|
<% else %>
|
|
14
14
|
<%= pb_rails("advanced_table/table_header", props: { table_id: object.id, column_definitions: object.column_definitions, enable_toggle_expansion: object.enable_toggle_expansion, responsive: object.responsive, loading: object.loading, selectable_rows: object.selectable_rows, show_actions_bar: object.show_actions_bar, inline_row_loading: object.inline_row_loading, persist_toggle_expansion_button: object.persist_toggle_expansion_button, table_data: object.table_data }) %>
|
|
15
|
-
<%= pb_rails("advanced_table/table_body", props: { table_id: object.id, table_data: object.table_data, column_definitions: object.column_definitions, responsive: object.responsive, loading: object.loading, selectable_rows: object.selectable_rows, enable_toggle_expansion: object.enable_toggle_expansion, row_styling: object.row_styling, inline_row_loading: object.inline_row_loading
|
|
15
|
+
<%= pb_rails("advanced_table/table_body", props: { table_id: object.id, table_data: object.table_data, column_definitions: object.column_definitions, responsive: object.responsive, loading: object.loading, selectable_rows: object.selectable_rows, enable_toggle_expansion: object.enable_toggle_expansion, row_styling: object.row_styling, inline_row_loading: object.inline_row_loading }) %>
|
|
16
16
|
<% end %>
|
|
17
17
|
<% end %>
|
|
18
18
|
<% end %>
|
|
@@ -37,8 +37,6 @@ module Playbook
|
|
|
37
37
|
default: false
|
|
38
38
|
prop :persist_toggle_expansion_button, type: Playbook::Props::Boolean,
|
|
39
39
|
default: false
|
|
40
|
-
prop :pinned_rows, type: Playbook::Props::HashProp,
|
|
41
|
-
default: {}
|
|
42
40
|
|
|
43
41
|
def classname
|
|
44
42
|
additional_classes = [
|
|
@@ -48,16 +46,9 @@ module Playbook
|
|
|
48
46
|
hidden_action_bar_class,
|
|
49
47
|
]
|
|
50
48
|
additional_classes << "column-group-border-#{column_group_border_color}" if column_group_border_color != "none"
|
|
51
|
-
additional_classes << "advanced-table-no-table-container" if no_table_card_container?
|
|
52
49
|
generate_classname("pb_advanced_table", *additional_classes, separator: " ")
|
|
53
50
|
end
|
|
54
51
|
|
|
55
|
-
def no_table_card_container?
|
|
56
|
-
return false unless table_props.is_a?(Hash)
|
|
57
|
-
|
|
58
|
-
table_props[:container] == false || table_props["container"] == false
|
|
59
|
-
end
|
|
60
|
-
|
|
61
52
|
def responsive_classname
|
|
62
53
|
responsive == "scroll" ? "advanced-table-responsive-scroll" : "advanced-table-responsive-none"
|
|
63
54
|
end
|
|
@@ -495,41 +495,7 @@ test("sort button exists and sorts column data", () => {
|
|
|
495
495
|
|
|
496
496
|
const row2 = kit.getElementsByTagName('tr')[2]
|
|
497
497
|
expect(row2.id).toBe("0-0-0-row")
|
|
498
|
-
})
|
|
499
|
-
|
|
500
|
-
test("sortParentOnly sorts only parent rows and keeps children grouped under parent", () => {
|
|
501
|
-
render(
|
|
502
|
-
<AdvancedTable
|
|
503
|
-
columnDefinitions={columnDefinitions}
|
|
504
|
-
data={{ testid: testId }}
|
|
505
|
-
sortParentOnly
|
|
506
|
-
tableData={MOCK_DATA}
|
|
507
|
-
>
|
|
508
|
-
<AdvancedTable.Header enableSorting />
|
|
509
|
-
<AdvancedTable.Body />
|
|
510
|
-
</AdvancedTable>
|
|
511
|
-
)
|
|
512
|
-
|
|
513
|
-
const kit = screen.getByTestId(testId)
|
|
514
|
-
const sortButton = kit.querySelector(".header-sort-button.pb_th_link")
|
|
515
|
-
expect(sortButton).toBeInTheDocument()
|
|
516
|
-
|
|
517
|
-
const tbody = kit.querySelector('tbody')
|
|
518
|
-
const rowsBefore = tbody.getElementsByTagName('tr')
|
|
519
|
-
expect(rowsBefore[0]).toHaveTextContent('2021')
|
|
520
|
-
|
|
521
|
-
sortButton.click()
|
|
522
|
-
|
|
523
|
-
const rowsAfter = tbody.getElementsByTagName('tr')
|
|
524
|
-
expect(rowsAfter[0]).toHaveTextContent('2022')
|
|
525
|
-
|
|
526
|
-
const expandButton = kit.querySelector(".gray-icon.expand-toggle-icon")
|
|
527
|
-
expandButton.click()
|
|
528
|
-
|
|
529
|
-
const rowsExpanded = tbody.getElementsByTagName('tr')
|
|
530
|
-
expect(rowsExpanded.length).toBeGreaterThan(1)
|
|
531
|
-
expect(rowsExpanded[1]).toHaveTextContent('Q1')
|
|
532
|
-
})
|
|
498
|
+
})
|
|
533
499
|
|
|
534
500
|
test("Generates Table.Header default + custom classname", () => {
|
|
535
501
|
render(
|
|
@@ -7,7 +7,6 @@ examples:
|
|
|
7
7
|
- advanced_table_table_props: Table Props
|
|
8
8
|
- advanced_table_sticky_header_rails: Sticky Header
|
|
9
9
|
- advanced_table_table_props_sticky_header: Sticky Header for Responsive Table
|
|
10
|
-
- advanced_table_pinned_rows_rails: Pinned Rows
|
|
11
10
|
- advanced_table_beta_sort: Enable Sorting
|
|
12
11
|
- advanced_table_responsive: Responsive Tables
|
|
13
12
|
- advanced_table_custom_cell_rails: Custom Components for Cells
|
|
@@ -40,7 +39,6 @@ examples:
|
|
|
40
39
|
- advanced_table_sort_per_column: Enable Sort By Column
|
|
41
40
|
- advanced_table_sort_per_column_for_multi_column: Enable Sort By Column (Multi-Column)
|
|
42
41
|
- advanced_table_custom_sort: Custom Sort
|
|
43
|
-
- advanced_table_sort_parent_only: Sort Parent Only
|
|
44
42
|
- advanced_table_expanded_control: Expanded Control
|
|
45
43
|
- advanced_table_expand_by_depth: Expand by Depth
|
|
46
44
|
- advanced_table_subrow_headers: SubRow Headers
|
|
@@ -75,7 +73,6 @@ examples:
|
|
|
75
73
|
- advanced_table_column_visibility_with_state: Column Visibility Control With State
|
|
76
74
|
- advanced_table_column_visibility_custom: Column Visibility Control with Custom Dropdown
|
|
77
75
|
- advanced_table_column_visibility_multi: Column Visibility Control with Multi-Header Columns
|
|
78
|
-
- advanced_table_grouped_headers_composition: Grouped headers, custom headers, sort, and pinned rows
|
|
79
76
|
- advanced_table_scrollbar_none: Advanced Table Scrollbar None
|
|
80
77
|
- advanced_table_row_styling: Row Styling
|
|
81
78
|
- advanced_table_padding_control_per_row: Padding Control using Row Styling
|
|
@@ -42,7 +42,6 @@ export { default as AdvancedTableInfiniteScroll} from './_advanced_table_infinit
|
|
|
42
42
|
export {default as AdvancedTableWithCustomHeader} from './_advanced_table_with_custom_header.jsx'
|
|
43
43
|
export { default as AdvancedTableCustomSort } from './_advanced_table_custom_sort.jsx'
|
|
44
44
|
export { default as AdvancedTableWithCustomHeaderMultiHeader } from './_advanced_table_with_custom_header_multi_header.jsx'
|
|
45
|
-
export { default as AdvancedTableGroupedHeadersComposition } from './_advanced_table_grouped_headers_composition.jsx'
|
|
46
45
|
export { default as AdvancedTableSortPerColumn } from './_advanced_table_sort_per_column.jsx'
|
|
47
46
|
export { default as AdvancedTableSortPerColumnForMultiColumn } from './_advanced_table_sort_per_column_for_multi_column.jsx'
|
|
48
47
|
export { default as AdvancedTablePaddingControl } from './_advanced_table_padding_control.jsx'
|
|
@@ -50,5 +49,4 @@ export { default as AdvancedTablePaddingControlPerRow } from './_advanced_table_
|
|
|
50
49
|
export { default as AdvancedTableColumnStylingBackground } from './_advanced_table_column_styling_background.jsx'
|
|
51
50
|
export { default as AdvancedTableColumnStylingBackgroundMulti } from './_advanced_table_column_styling_background_multi.jsx'
|
|
52
51
|
export { default as AdvancedTableColumnStylingBackgroundCustom } from './_advanced_table_column_styling_background_custom.jsx'
|
|
53
|
-
export { default as AdvancedTableCascadeCollapse } from './_advanced_table_cascade_collapse.jsx'
|
|
54
|
-
export { default as AdvancedTableSortParentOnly } from './_advanced_table_sort_parent_only.jsx'
|
|
52
|
+
export { default as AdvancedTableCascadeCollapse } from './_advanced_table_cascade_collapse.jsx'
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import PbEnhancedElement from "../pb_enhanced_element";
|
|
2
2
|
import { updateSelectionActionBar } from "./advanced_table_action_bar";
|
|
3
|
-
import { setArrowVisibility, toggleVisibility } from "../utilities/domHelpers";
|
|
4
3
|
|
|
5
4
|
const ADVANCED_TABLE_SELECTOR = "[data-advanced-table]";
|
|
6
5
|
const DOWN_ARROW_SELECTOR = "#advanced-table_open_icon";
|
|
@@ -21,18 +20,10 @@ export default class PbAdvancedTable extends PbEnhancedElement {
|
|
|
21
20
|
this.childRowsMap = new Map();
|
|
22
21
|
}
|
|
23
22
|
|
|
24
|
-
get table() {
|
|
25
|
-
return this.cachedTable || (this.cachedTable = this.element.closest("table"));
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
get mainTable() {
|
|
29
|
-
return this.cachedMainTable || (this.cachedMainTable = this.element.closest(".pb_advanced_table"));
|
|
30
|
-
}
|
|
31
|
-
|
|
32
23
|
// Fetch and cache child rows for a given parent row ID
|
|
33
24
|
childRowsFor(parentId) {
|
|
34
25
|
if (!this.childRowsMap.has(parentId)) {
|
|
35
|
-
const table = this.table;
|
|
26
|
+
const table = this.element.closest("table");
|
|
36
27
|
const rows = Array.from(
|
|
37
28
|
table.querySelectorAll(`tr[data-row-parent="${parentId}"]`)
|
|
38
29
|
);
|
|
@@ -42,8 +33,7 @@ export default class PbAdvancedTable extends PbEnhancedElement {
|
|
|
42
33
|
}
|
|
43
34
|
|
|
44
35
|
updateTableSelectedRowsAttribute() {
|
|
45
|
-
const mainTable = this.
|
|
46
|
-
if (!mainTable) return;
|
|
36
|
+
const mainTable = this.element.closest(".pb_advanced_table");
|
|
47
37
|
mainTable.dataset.selectedRows = JSON.stringify(
|
|
48
38
|
Array.from(PbAdvancedTable.selectedRows)
|
|
49
39
|
);
|
|
@@ -51,8 +41,7 @@ export default class PbAdvancedTable extends PbEnhancedElement {
|
|
|
51
41
|
|
|
52
42
|
// Recalculate selected count based on all checked checkboxes
|
|
53
43
|
recalculateSelectedCount() {
|
|
54
|
-
const table = this.table;
|
|
55
|
-
if (!table) return;
|
|
44
|
+
const table = this.element.closest("table");
|
|
56
45
|
|
|
57
46
|
// Get all checkboxes that could be part of the selection
|
|
58
47
|
// This includes row checkboxes and any parent checkboxes that might be programmatically checked
|
|
@@ -106,7 +95,7 @@ export default class PbAdvancedTable extends PbEnhancedElement {
|
|
|
106
95
|
});
|
|
107
96
|
|
|
108
97
|
this.updateTableSelectedRowsAttribute();
|
|
109
|
-
updateSelectionActionBar(
|
|
98
|
+
updateSelectionActionBar(table.closest(".pb_advanced_table"), PbAdvancedTable.selectedRows.size);
|
|
110
99
|
|
|
111
100
|
// Sync header select-all state
|
|
112
101
|
if (selectAllCheckbox) {
|
|
@@ -150,7 +139,7 @@ export default class PbAdvancedTable extends PbEnhancedElement {
|
|
|
150
139
|
|
|
151
140
|
this.updateTableSelectedRowsAttribute();
|
|
152
141
|
|
|
153
|
-
const table =
|
|
142
|
+
const table = checkbox.closest("table");
|
|
154
143
|
const selectAllCheckbox = table.querySelector("#select-all-rows");
|
|
155
144
|
|
|
156
145
|
if (selectAllCheckbox) {
|
|
@@ -164,7 +153,7 @@ export default class PbAdvancedTable extends PbEnhancedElement {
|
|
|
164
153
|
);
|
|
165
154
|
selectAllInput.checked = allChecked;
|
|
166
155
|
}
|
|
167
|
-
updateSelectionActionBar(
|
|
156
|
+
updateSelectionActionBar(table.closest(".pb_advanced_table"), PbAdvancedTable.selectedRows.size);
|
|
168
157
|
}
|
|
169
158
|
|
|
170
159
|
get target() {
|
|
@@ -172,11 +161,10 @@ export default class PbAdvancedTable extends PbEnhancedElement {
|
|
|
172
161
|
}
|
|
173
162
|
|
|
174
163
|
connect() {
|
|
175
|
-
const table = this.table;
|
|
176
|
-
if (!table) return;
|
|
164
|
+
const table = this.element.closest("table");
|
|
177
165
|
|
|
178
166
|
this.hideCloseIcon();
|
|
179
|
-
const mainTable = this.
|
|
167
|
+
const mainTable = this.element.closest(".pb_advanced_table");
|
|
180
168
|
|
|
181
169
|
// This so it is hidden on first render
|
|
182
170
|
if (mainTable) {
|
|
@@ -196,17 +184,6 @@ export default class PbAdvancedTable extends PbEnhancedElement {
|
|
|
196
184
|
if (table.dataset.pbAdvancedTableInitialized) return;
|
|
197
185
|
table.dataset.pbAdvancedTableInitialized = "true";
|
|
198
186
|
|
|
199
|
-
// Measure header height so pinned rows don't overlap when header wraps (e.g. mobile)
|
|
200
|
-
if (mainTable) {
|
|
201
|
-
PbAdvancedTable.updateStickyHeaderRowHeights(mainTable);
|
|
202
|
-
const resizeObserver = new ResizeObserver(() => {
|
|
203
|
-
PbAdvancedTable.updateStickyHeaderRowHeights(mainTable);
|
|
204
|
-
PbAdvancedTable.updatePinnedRowsStickyTops(mainTable);
|
|
205
|
-
});
|
|
206
|
-
resizeObserver.observe(table);
|
|
207
|
-
mainTable._advancedTableHeaderResizeObserver = resizeObserver;
|
|
208
|
-
}
|
|
209
|
-
|
|
210
187
|
// Delegate checkbox changes
|
|
211
188
|
table.addEventListener("change", (event) => {
|
|
212
189
|
const checkbox = event.target.closest('input[type="checkbox"]');
|
|
@@ -294,7 +271,9 @@ export default class PbAdvancedTable extends PbEnhancedElement {
|
|
|
294
271
|
}
|
|
295
272
|
|
|
296
273
|
// Find direct child rows
|
|
297
|
-
const childRows =
|
|
274
|
+
const childRows = Array.from(
|
|
275
|
+
table.querySelectorAll(`[data-row-parent="${toggleBtn.id}"]`)
|
|
276
|
+
);
|
|
298
277
|
this.toggleElement(childRows);
|
|
299
278
|
|
|
300
279
|
// Restore original element context
|
|
@@ -305,8 +284,7 @@ export default class PbAdvancedTable extends PbEnhancedElement {
|
|
|
305
284
|
}
|
|
306
285
|
|
|
307
286
|
addBorderRadiusOnLastVisibleRow() {
|
|
308
|
-
const parentElement = this.
|
|
309
|
-
if (!parentElement) return;
|
|
287
|
+
const parentElement = this.element.closest(".pb_advanced_table");
|
|
310
288
|
|
|
311
289
|
const table = document.getElementById(parentElement.id);
|
|
312
290
|
|
|
@@ -326,64 +304,9 @@ export default class PbAdvancedTable extends PbEnhancedElement {
|
|
|
326
304
|
lastVisibleRow.classList.add("last-visible-row");
|
|
327
305
|
lastVisibleRow.classList.add("last-row-cell");
|
|
328
306
|
}
|
|
329
|
-
|
|
330
|
-
PbAdvancedTable.updateStickyHeaderRowHeights(parentElement);
|
|
331
|
-
PbAdvancedTable.updatePinnedRowsStickyTops(table);
|
|
332
307
|
}
|
|
333
308
|
}
|
|
334
309
|
|
|
335
|
-
/**
|
|
336
|
-
* Measure thead height and set --advanced-table-header-height so pinned rows and
|
|
337
|
-
* multi-row sticky headers use the correct offset. Re-run when header wraps (e.g. mobile).
|
|
338
|
-
*/
|
|
339
|
-
static updateStickyHeaderRowHeights(advancedTableWrapper) {
|
|
340
|
-
if (!advancedTableWrapper) return;
|
|
341
|
-
const table = advancedTableWrapper.querySelector("table.pb_table");
|
|
342
|
-
const thead = table?.querySelector("thead");
|
|
343
|
-
if (!thead) return;
|
|
344
|
-
|
|
345
|
-
const rows = Array.from(thead.querySelectorAll("tr"));
|
|
346
|
-
let totalHeight = 0;
|
|
347
|
-
rows.forEach((tr, index) => {
|
|
348
|
-
const h = tr.offsetHeight;
|
|
349
|
-
if (index === 0) {
|
|
350
|
-
advancedTableWrapper.style.setProperty(
|
|
351
|
-
"--advanced-table-header-row-0-height",
|
|
352
|
-
`${h}px`
|
|
353
|
-
);
|
|
354
|
-
} else if (index === 1) {
|
|
355
|
-
advancedTableWrapper.style.setProperty(
|
|
356
|
-
"--advanced-table-header-row-1-height",
|
|
357
|
-
`${h}px`
|
|
358
|
-
);
|
|
359
|
-
}
|
|
360
|
-
totalHeight += h;
|
|
361
|
-
});
|
|
362
|
-
advancedTableWrapper.style.setProperty(
|
|
363
|
-
"--advanced-table-header-height",
|
|
364
|
-
`${totalHeight}px`
|
|
365
|
-
);
|
|
366
|
-
}
|
|
367
|
-
|
|
368
|
-
/**
|
|
369
|
-
* Recompute sticky top for visible pinned rows so collapsed rows don't leave a gap.
|
|
370
|
-
* Call after expand/collapse and on load.
|
|
371
|
-
*/
|
|
372
|
-
static updatePinnedRowsStickyTops(advancedTableWrapper) {
|
|
373
|
-
const pinnedTbody = advancedTableWrapper?.querySelector("tbody.pinned-rows-tbody");
|
|
374
|
-
if (!pinnedTbody) return;
|
|
375
|
-
|
|
376
|
-
const pinnedRows = Array.from(pinnedTbody.querySelectorAll("tr.pinned-row"));
|
|
377
|
-
const visibleRows = pinnedRows.filter(
|
|
378
|
-
(tr) => tr.style.display !== "none" && tr.offsetParent !== null
|
|
379
|
-
);
|
|
380
|
-
|
|
381
|
-
const headerOffset = "var(--advanced-table-header-height, 44px)";
|
|
382
|
-
visibleRows.forEach((tr, index) => {
|
|
383
|
-
tr.style.top = `calc(${headerOffset} + 2.5em * ${index})`;
|
|
384
|
-
});
|
|
385
|
-
}
|
|
386
|
-
|
|
387
310
|
hideCloseIcon() {
|
|
388
311
|
const closeIcon = this.element.querySelector(UP_ARROW_SELECTOR);
|
|
389
312
|
closeIcon.style.display = "none";
|
|
@@ -393,9 +316,11 @@ export default class PbAdvancedTable extends PbEnhancedElement {
|
|
|
393
316
|
elements.forEach((elem) => {
|
|
394
317
|
elem.style.display = "table-row";
|
|
395
318
|
elem.classList.add("is-visible");
|
|
396
|
-
const childRowsAll = this.
|
|
397
|
-
|
|
398
|
-
|
|
319
|
+
const childRowsAll = this.element
|
|
320
|
+
.closest("table")
|
|
321
|
+
.querySelectorAll(
|
|
322
|
+
`[data-advanced-table-content^="${elem.dataset.advancedTableContent}-"]`
|
|
323
|
+
);
|
|
399
324
|
|
|
400
325
|
childRowsAll.forEach((childRow) => {
|
|
401
326
|
const dataContent = childRow.dataset.advancedTableContent;
|
|
@@ -457,7 +382,8 @@ export default class PbAdvancedTable extends PbEnhancedElement {
|
|
|
457
382
|
const currentDepth = parseInt(elem.dataset.rowDepth);
|
|
458
383
|
if (childrenArray.length > currentDepth) {
|
|
459
384
|
// Find the child rows corresponding to this parent row
|
|
460
|
-
const childRows = this.
|
|
385
|
+
const childRows = this.element
|
|
386
|
+
.closest("table")
|
|
461
387
|
.querySelectorAll(
|
|
462
388
|
`[data-advanced-table-content^="${elem.dataset.advancedTableContent}-"]`
|
|
463
389
|
);
|
|
@@ -475,39 +401,28 @@ export default class PbAdvancedTable extends PbEnhancedElement {
|
|
|
475
401
|
|
|
476
402
|
const isVisible = elements[0].classList.contains("is-visible");
|
|
477
403
|
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
onHide: () => this.hideElement(elements),
|
|
481
|
-
onShow: () => this.showElement(elements),
|
|
482
|
-
});
|
|
483
|
-
|
|
484
|
-
isExpanded ? this.displayUpArrow() : this.displayDownArrow();
|
|
404
|
+
isVisible ? this.hideElement(elements) : this.showElement(elements);
|
|
405
|
+
isVisible ? this.displayDownArrow() : this.displayUpArrow();
|
|
485
406
|
|
|
486
407
|
const row = this.element.closest("tr");
|
|
487
408
|
if (row) {
|
|
488
|
-
row.classList.toggle("bg-silver",
|
|
489
|
-
row.classList.toggle("pb-bg-row-white",
|
|
409
|
+
row.classList.toggle("bg-silver", !isVisible);
|
|
410
|
+
row.classList.toggle("pb-bg-row-white", isVisible);
|
|
490
411
|
}
|
|
491
412
|
|
|
492
413
|
this.addBorderRadiusOnLastVisibleRow();
|
|
493
414
|
}
|
|
494
415
|
|
|
495
416
|
displayDownArrow() {
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
upSelector: UP_ARROW_SELECTOR,
|
|
500
|
-
showDownArrow: true,
|
|
501
|
-
});
|
|
417
|
+
this.element.querySelector(DOWN_ARROW_SELECTOR).style.display =
|
|
418
|
+
"inline-block";
|
|
419
|
+
this.element.querySelector(UP_ARROW_SELECTOR).style.display = "none";
|
|
502
420
|
}
|
|
503
421
|
|
|
504
422
|
displayUpArrow() {
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
upSelector: UP_ARROW_SELECTOR,
|
|
509
|
-
showDownArrow: false,
|
|
510
|
-
});
|
|
423
|
+
this.element.querySelector(UP_ARROW_SELECTOR).style.display =
|
|
424
|
+
"inline-block";
|
|
425
|
+
this.element.querySelector(DOWN_ARROW_SELECTOR).style.display = "none";
|
|
511
426
|
}
|
|
512
427
|
|
|
513
428
|
static handleToggleAllHeaders(element) {
|
|
@@ -585,19 +500,3 @@ window.expandAllRows = (element) => {
|
|
|
585
500
|
window.expandAllSubRows = (element, rowDepth) => {
|
|
586
501
|
PbAdvancedTable.handleToggleAllSubRows(element, rowDepth);
|
|
587
502
|
};
|
|
588
|
-
|
|
589
|
-
// Fix header height and pinned row sticky tops on load (header wrap + collapsed rows)
|
|
590
|
-
function updateAllAdvancedTableStickyHeights() {
|
|
591
|
-
document.querySelectorAll(".pb_advanced_table").forEach((wrapper) => {
|
|
592
|
-
PbAdvancedTable.updateStickyHeaderRowHeights(wrapper);
|
|
593
|
-
PbAdvancedTable.updatePinnedRowsStickyTops(wrapper);
|
|
594
|
-
});
|
|
595
|
-
}
|
|
596
|
-
|
|
597
|
-
if (typeof document !== "undefined") {
|
|
598
|
-
if (document.readyState === "loading") {
|
|
599
|
-
document.addEventListener("DOMContentLoaded", updateAllAdvancedTableStickyHeights);
|
|
600
|
-
} else {
|
|
601
|
-
updateAllAdvancedTableStickyHeights();
|
|
602
|
-
}
|
|
603
|
-
}
|