@airtable/blocks 0.0.0-experimental-3e47d4d04-20250909 → 0.0.0-experimental-e625869e5-20251002
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.
- package/dist/esm/base/types/airtable_interface.js +1 -3
- package/dist/esm/base/ui/block_wrapper.js +131 -96
- package/dist/esm/base/ui/cell_renderer.js +5 -176
- package/dist/esm/base/ui/global_alert.js +7 -3
- package/dist/esm/base/ui/global_css_helpers.js +28 -0
- package/dist/esm/base/ui/ui.js +1 -21
- package/dist/esm/base/ui/unstable_standalone_ui.js +28 -26
- package/dist/esm/base/ui/use_loadable.js +2 -3
- package/dist/esm/interface/types/airtable_interface.js +2 -3
- package/dist/esm/interface/ui/block_wrapper.js +45 -54
- package/dist/esm/interface/ui/cell_renderer.js +19 -0
- package/dist/esm/interface/ui/global_css_helpers.js +17 -0
- package/dist/esm/interface/ui/ui.js +1 -1
- package/dist/esm/interface/ui/use_custom_properties.js +43 -14
- package/dist/esm/shared/private_utils.js +51 -1
- package/dist/esm/shared/sdk_core.js +1 -1
- package/dist/esm/shared/ui/cell_renderer.js +137 -0
- package/dist/esm/shared/ui/use_watchable.js +2 -3
- package/dist/types/src/base/types/airtable_interface.d.ts +1 -3
- package/dist/types/src/base/types/airtable_interface.d.ts.map +1 -1
- package/dist/types/src/base/ui/block_wrapper.d.ts +2 -16
- package/dist/types/src/base/ui/block_wrapper.d.ts.map +1 -1
- package/dist/types/src/base/ui/cell_renderer.d.ts +6 -58
- package/dist/types/src/base/ui/cell_renderer.d.ts.map +1 -1
- package/dist/types/src/base/ui/global_css_helpers.d.ts +4 -0
- package/dist/types/src/base/ui/global_css_helpers.d.ts.map +1 -0
- package/dist/types/src/base/ui/ui.d.ts +1 -21
- package/dist/types/src/base/ui/ui.d.ts.map +1 -1
- package/dist/types/src/base/ui/unstable_standalone_ui.d.ts +2 -22
- package/dist/types/src/base/ui/unstable_standalone_ui.d.ts.map +1 -1
- package/dist/types/src/base/ui/use_loadable.d.ts.map +1 -1
- package/dist/types/src/interface/types/airtable_interface.d.ts +6 -4
- package/dist/types/src/interface/types/airtable_interface.d.ts.map +1 -1
- package/dist/types/src/interface/ui/block_wrapper.d.ts +1 -4
- package/dist/types/src/interface/ui/block_wrapper.d.ts.map +1 -1
- package/dist/types/src/interface/ui/cell_renderer.d.ts +19 -0
- package/dist/types/src/interface/ui/cell_renderer.d.ts.map +1 -0
- package/dist/types/src/interface/ui/global_css_helpers.d.ts +3 -0
- package/dist/types/src/interface/ui/global_css_helpers.d.ts.map +1 -0
- package/dist/types/src/interface/ui/ui.d.ts +1 -1
- package/dist/types/src/interface/ui/ui.d.ts.map +1 -1
- package/dist/types/src/interface/ui/use_custom_properties.d.ts +7 -0
- package/dist/types/src/interface/ui/use_custom_properties.d.ts.map +1 -1
- package/dist/types/src/shared/private_utils.d.ts +9 -1
- package/dist/types/src/shared/private_utils.d.ts.map +1 -1
- package/dist/types/src/shared/ui/cell_renderer.d.ts +32 -0
- package/dist/types/src/shared/ui/cell_renderer.d.ts.map +1 -0
- package/dist/types/src/shared/ui/use_watchable.d.ts.map +1 -1
- package/package.json +5 -39
- package/dist/esm/base/ui/baymax_utils.js +0 -455
- package/dist/esm/base/ui/box.js +0 -77
- package/dist/esm/base/ui/button.js +0 -143
- package/dist/esm/base/ui/choice_token.js +0 -84
- package/dist/esm/base/ui/collaborator_token.js +0 -115
- package/dist/esm/base/ui/color_palette.js +0 -185
- package/dist/esm/base/ui/color_palette_synced.js +0 -62
- package/dist/esm/base/ui/confirmation_dialog.js +0 -96
- package/dist/esm/base/ui/control_sizes.js +0 -92
- package/dist/esm/base/ui/create_detect_element_resize.js +0 -197
- package/dist/esm/base/ui/css_helpers.js +0 -17
- package/dist/esm/base/ui/dialog.js +0 -93
- package/dist/esm/base/ui/dialog_close_button.js +0 -96
- package/dist/esm/base/ui/field_icon.js +0 -37
- package/dist/esm/base/ui/field_picker.js +0 -91
- package/dist/esm/base/ui/field_picker_synced.js +0 -59
- package/dist/esm/base/ui/form_field.js +0 -102
- package/dist/esm/base/ui/geometry/geometry.js +0 -9
- package/dist/esm/base/ui/geometry/point.js +0 -12
- package/dist/esm/base/ui/geometry/rect.js +0 -44
- package/dist/esm/base/ui/geometry/size.js +0 -12
- package/dist/esm/base/ui/heading.js +0 -125
- package/dist/esm/base/ui/icon.js +0 -102
- package/dist/esm/base/ui/icon_config.js +0 -423
- package/dist/esm/base/ui/input.js +0 -152
- package/dist/esm/base/ui/input_synced.js +0 -59
- package/dist/esm/base/ui/key_codes.js +0 -66
- package/dist/esm/base/ui/label.js +0 -73
- package/dist/esm/base/ui/link.js +0 -189
- package/dist/esm/base/ui/loader.js +0 -52
- package/dist/esm/base/ui/modal.js +0 -135
- package/dist/esm/base/ui/model_picker_select.js +0 -50
- package/dist/esm/base/ui/popover.js +0 -312
- package/dist/esm/base/ui/progress_bar.js +0 -106
- package/dist/esm/base/ui/record_card.js +0 -556
- package/dist/esm/base/ui/record_card_list.js +0 -292
- package/dist/esm/base/ui/select.js +0 -182
- package/dist/esm/base/ui/select_and_select_buttons_helpers.js +0 -53
- package/dist/esm/base/ui/select_buttons.js +0 -150
- package/dist/esm/base/ui/select_buttons_synced.js +0 -55
- package/dist/esm/base/ui/select_synced.js +0 -58
- package/dist/esm/base/ui/switch.js +0 -160
- package/dist/esm/base/ui/switch_synced.js +0 -46
- package/dist/esm/base/ui/synced.js +0 -39
- package/dist/esm/base/ui/system/all_styles_set.js +0 -86
- package/dist/esm/base/ui/system/appearance/appearance_set.js +0 -21
- package/dist/esm/base/ui/system/appearance/background_color.js +0 -12
- package/dist/esm/base/ui/system/appearance/border.js +0 -48
- package/dist/esm/base/ui/system/appearance/border_radius.js +0 -12
- package/dist/esm/base/ui/system/appearance/box_shadow.js +0 -12
- package/dist/esm/base/ui/system/appearance/opacity.js +0 -12
- package/dist/esm/base/ui/system/dimensions/dimensions_set.js +0 -23
- package/dist/esm/base/ui/system/dimensions/height.js +0 -12
- package/dist/esm/base/ui/system/dimensions/max_height.js +0 -12
- package/dist/esm/base/ui/system/dimensions/max_width.js +0 -12
- package/dist/esm/base/ui/system/dimensions/min_height.js +0 -12
- package/dist/esm/base/ui/system/dimensions/min_width.js +0 -12
- package/dist/esm/base/ui/system/dimensions/width.js +0 -12
- package/dist/esm/base/ui/system/display.js +0 -13
- package/dist/esm/base/ui/system/flex_container/align_content.js +0 -9
- package/dist/esm/base/ui/system/flex_container/align_items.js +0 -9
- package/dist/esm/base/ui/system/flex_container/flex_container_set.js +0 -23
- package/dist/esm/base/ui/system/flex_container/flex_direction.js +0 -9
- package/dist/esm/base/ui/system/flex_container/flex_wrap.js +0 -9
- package/dist/esm/base/ui/system/flex_container/justify_content.js +0 -9
- package/dist/esm/base/ui/system/flex_container/justify_items.js +0 -10
- package/dist/esm/base/ui/system/flex_item/align_self.js +0 -9
- package/dist/esm/base/ui/system/flex_item/flex.js +0 -9
- package/dist/esm/base/ui/system/flex_item/flex_basis.js +0 -9
- package/dist/esm/base/ui/system/flex_item/flex_grow.js +0 -9
- package/dist/esm/base/ui/system/flex_item/flex_item_set.js +0 -25
- package/dist/esm/base/ui/system/flex_item/flex_shrink.js +0 -9
- package/dist/esm/base/ui/system/flex_item/justify_self.js +0 -10
- package/dist/esm/base/ui/system/flex_item/order.js +0 -9
- package/dist/esm/base/ui/system/index.js +0 -96
- package/dist/esm/base/ui/system/overflow.js +0 -15
- package/dist/esm/base/ui/system/position/bottom.js +0 -17
- package/dist/esm/base/ui/system/position/left.js +0 -17
- package/dist/esm/base/ui/system/position/position.js +0 -9
- package/dist/esm/base/ui/system/position/position_set.js +0 -23
- package/dist/esm/base/ui/system/position/right.js +0 -17
- package/dist/esm/base/ui/system/position/top.js +0 -17
- package/dist/esm/base/ui/system/position/z_index.js +0 -12
- package/dist/esm/base/ui/system/spacing/margin.js +0 -65
- package/dist/esm/base/ui/system/spacing/padding.js +0 -58
- package/dist/esm/base/ui/system/spacing/spacing_set.js +0 -15
- package/dist/esm/base/ui/system/typography/font_family.js +0 -12
- package/dist/esm/base/ui/system/typography/font_size.js +0 -12
- package/dist/esm/base/ui/system/typography/font_style.js +0 -9
- package/dist/esm/base/ui/system/typography/font_weight.js +0 -12
- package/dist/esm/base/ui/system/typography/letter_spacing.js +0 -12
- package/dist/esm/base/ui/system/typography/line_height.js +0 -9
- package/dist/esm/base/ui/system/typography/text_align.js +0 -9
- package/dist/esm/base/ui/system/typography/text_color.js +0 -12
- package/dist/esm/base/ui/system/typography/text_decoration.js +0 -9
- package/dist/esm/base/ui/system/typography/text_transform.js +0 -9
- package/dist/esm/base/ui/system/typography/typography_set.js +0 -31
- package/dist/esm/base/ui/system/utils/csstype.js +0 -1
- package/dist/esm/base/ui/system/utils/ensure_numbers_are_within_scale.js +0 -36
- package/dist/esm/base/ui/system/utils/get_style_props_for_responsive_prop.js +0 -67
- package/dist/esm/base/ui/system/utils/types.js +0 -1
- package/dist/esm/base/ui/table_picker.js +0 -64
- package/dist/esm/base/ui/table_picker_synced.js +0 -55
- package/dist/esm/base/ui/text.js +0 -109
- package/dist/esm/base/ui/text_button.js +0 -189
- package/dist/esm/base/ui/theme/default_theme/button_variants.js +0 -53
- package/dist/esm/base/ui/theme/default_theme/control_sizes.js +0 -96
- package/dist/esm/base/ui/theme/default_theme/heading_styles.js +0 -93
- package/dist/esm/base/ui/theme/default_theme/index.js +0 -31
- package/dist/esm/base/ui/theme/default_theme/input_variants.js +0 -32
- package/dist/esm/base/ui/theme/default_theme/link_variants.js +0 -29
- package/dist/esm/base/ui/theme/default_theme/select_buttons_variants.js +0 -66
- package/dist/esm/base/ui/theme/default_theme/select_variants.js +0 -44
- package/dist/esm/base/ui/theme/default_theme/switch_variants.js +0 -78
- package/dist/esm/base/ui/theme/default_theme/text_button_variants.js +0 -38
- package/dist/esm/base/ui/theme/default_theme/text_styles.js +0 -75
- package/dist/esm/base/ui/theme/default_theme/tokens.js +0 -205
- package/dist/esm/base/ui/theme/theme_context.js +0 -7
- package/dist/esm/base/ui/theme/use_theme.js +0 -4
- package/dist/esm/base/ui/tooltip.js +0 -165
- package/dist/esm/base/ui/types/aria_props.js +0 -1
- package/dist/esm/base/ui/types/data_attributes_prop.js +0 -1
- package/dist/esm/base/ui/types/tooltip_anchor_props.js +0 -1
- package/dist/esm/base/ui/use_form_field.js +0 -14
- package/dist/esm/base/ui/use_styled_system.js +0 -19
- package/dist/esm/base/ui/use_text_color_for_background_color.js +0 -9
- package/dist/esm/base/ui/view_picker.js +0 -82
- package/dist/esm/base/ui/view_picker_synced.js +0 -59
- package/dist/esm/base/ui/viewport_constraint.js +0 -120
- package/dist/esm/base/ui/with_styled_system.js +0 -120
- package/dist/types/src/base/ui/baymax_utils.d.ts +0 -2
- package/dist/types/src/base/ui/baymax_utils.d.ts.map +0 -1
- package/dist/types/src/base/ui/box.d.ts +0 -35
- package/dist/types/src/base/ui/box.d.ts.map +0 -1
- package/dist/types/src/base/ui/button.d.ts +0 -86
- package/dist/types/src/base/ui/button.d.ts.map +0 -1
- package/dist/types/src/base/ui/choice_token.d.ts +0 -49
- package/dist/types/src/base/ui/choice_token.d.ts.map +0 -1
- package/dist/types/src/base/ui/collaborator_token.d.ts +0 -45
- package/dist/types/src/base/ui/collaborator_token.d.ts.map +0 -1
- package/dist/types/src/base/ui/color_palette.d.ts +0 -77
- package/dist/types/src/base/ui/color_palette.d.ts.map +0 -1
- package/dist/types/src/base/ui/color_palette_synced.d.ts +0 -30
- package/dist/types/src/base/ui/color_palette_synced.d.ts.map +0 -1
- package/dist/types/src/base/ui/confirmation_dialog.d.ts +0 -66
- package/dist/types/src/base/ui/confirmation_dialog.d.ts.map +0 -1
- package/dist/types/src/base/ui/control_sizes.d.ts +0 -16
- package/dist/types/src/base/ui/control_sizes.d.ts.map +0 -1
- package/dist/types/src/base/ui/css_helpers.d.ts +0 -6
- package/dist/types/src/base/ui/css_helpers.d.ts.map +0 -1
- package/dist/types/src/base/ui/dialog.d.ts +0 -58
- package/dist/types/src/base/ui/dialog.d.ts.map +0 -1
- package/dist/types/src/base/ui/dialog_close_button.d.ts +0 -40
- package/dist/types/src/base/ui/dialog_close_button.d.ts.map +0 -1
- package/dist/types/src/base/ui/field_icon.d.ts +0 -25
- package/dist/types/src/base/ui/field_icon.d.ts.map +0 -1
- package/dist/types/src/base/ui/field_picker.d.ts +0 -34
- package/dist/types/src/base/ui/field_picker.d.ts.map +0 -1
- package/dist/types/src/base/ui/field_picker_synced.d.ts +0 -18
- package/dist/types/src/base/ui/field_picker_synced.d.ts.map +0 -1
- package/dist/types/src/base/ui/form_field.d.ts +0 -42
- package/dist/types/src/base/ui/form_field.d.ts.map +0 -1
- package/dist/types/src/base/ui/geometry/geometry.d.ts +0 -3
- package/dist/types/src/base/ui/geometry/geometry.d.ts.map +0 -1
- package/dist/types/src/base/ui/geometry/point.d.ts +0 -2
- package/dist/types/src/base/ui/geometry/point.d.ts.map +0 -1
- package/dist/types/src/base/ui/geometry/rect.d.ts +0 -2
- package/dist/types/src/base/ui/geometry/rect.d.ts.map +0 -1
- package/dist/types/src/base/ui/geometry/size.d.ts +0 -2
- package/dist/types/src/base/ui/geometry/size.d.ts.map +0 -1
- package/dist/types/src/base/ui/heading.d.ts +0 -64
- package/dist/types/src/base/ui/heading.d.ts.map +0 -1
- package/dist/types/src/base/ui/icon.d.ts +0 -45
- package/dist/types/src/base/ui/icon.d.ts.map +0 -1
- package/dist/types/src/base/ui/icon_config.d.ts +0 -424
- package/dist/types/src/base/ui/icon_config.d.ts.map +0 -1
- package/dist/types/src/base/ui/input.d.ts +0 -120
- package/dist/types/src/base/ui/input.d.ts.map +0 -1
- package/dist/types/src/base/ui/input_synced.d.ts +0 -18
- package/dist/types/src/base/ui/input_synced.d.ts.map +0 -1
- package/dist/types/src/base/ui/key_codes.d.ts +0 -2
- package/dist/types/src/base/ui/key_codes.d.ts.map +0 -1
- package/dist/types/src/base/ui/label.d.ts +0 -35
- package/dist/types/src/base/ui/label.d.ts.map +0 -1
- package/dist/types/src/base/ui/link.d.ts +0 -84
- package/dist/types/src/base/ui/link.d.ts.map +0 -1
- package/dist/types/src/base/ui/loader.d.ts +0 -38
- package/dist/types/src/base/ui/loader.d.ts.map +0 -1
- package/dist/types/src/base/ui/modal.d.ts +0 -54
- package/dist/types/src/base/ui/modal.d.ts.map +0 -1
- package/dist/types/src/base/ui/model_picker_select.d.ts +0 -19
- package/dist/types/src/base/ui/model_picker_select.d.ts.map +0 -1
- package/dist/types/src/base/ui/popover.d.ts +0 -106
- package/dist/types/src/base/ui/popover.d.ts.map +0 -1
- package/dist/types/src/base/ui/progress_bar.d.ts +0 -60
- package/dist/types/src/base/ui/progress_bar.d.ts.map +0 -1
- package/dist/types/src/base/ui/record_card.d.ts +0 -80
- package/dist/types/src/base/ui/record_card.d.ts.map +0 -1
- package/dist/types/src/base/ui/record_card_list.d.ts +0 -88
- package/dist/types/src/base/ui/record_card_list.d.ts.map +0 -1
- package/dist/types/src/base/ui/select.d.ts +0 -82
- package/dist/types/src/base/ui/select.d.ts.map +0 -1
- package/dist/types/src/base/ui/select_and_select_buttons_helpers.d.ts +0 -25
- package/dist/types/src/base/ui/select_and_select_buttons_helpers.d.ts.map +0 -1
- package/dist/types/src/base/ui/select_buttons.d.ts +0 -56
- package/dist/types/src/base/ui/select_buttons.d.ts.map +0 -1
- package/dist/types/src/base/ui/select_buttons_synced.d.ts +0 -18
- package/dist/types/src/base/ui/select_buttons_synced.d.ts.map +0 -1
- package/dist/types/src/base/ui/select_synced.d.ts +0 -18
- package/dist/types/src/base/ui/select_synced.d.ts.map +0 -1
- package/dist/types/src/base/ui/switch.d.ts +0 -82
- package/dist/types/src/base/ui/switch.d.ts.map +0 -1
- package/dist/types/src/base/ui/switch_synced.d.ts +0 -18
- package/dist/types/src/base/ui/switch_synced.d.ts.map +0 -1
- package/dist/types/src/base/ui/synced.d.ts +0 -23
- package/dist/types/src/base/ui/synced.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/all_styles_set.d.ts +0 -85
- package/dist/types/src/base/ui/system/all_styles_set.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/appearance/appearance_set.d.ts +0 -14
- package/dist/types/src/base/ui/system/appearance/appearance_set.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/appearance/background_color.d.ts +0 -12
- package/dist/types/src/base/ui/system/appearance/background_color.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/appearance/border.d.ts +0 -30
- package/dist/types/src/base/ui/system/appearance/border.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/appearance/border_radius.d.ts +0 -12
- package/dist/types/src/base/ui/system/appearance/border_radius.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/appearance/box_shadow.d.ts +0 -12
- package/dist/types/src/base/ui/system/appearance/box_shadow.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/appearance/opacity.d.ts +0 -12
- package/dist/types/src/base/ui/system/appearance/opacity.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/dimensions/dimensions_set.d.ts +0 -15
- package/dist/types/src/base/ui/system/dimensions/dimensions_set.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/dimensions/height.d.ts +0 -12
- package/dist/types/src/base/ui/system/dimensions/height.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/dimensions/max_height.d.ts +0 -12
- package/dist/types/src/base/ui/system/dimensions/max_height.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/dimensions/max_width.d.ts +0 -12
- package/dist/types/src/base/ui/system/dimensions/max_width.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/dimensions/min_height.d.ts +0 -12
- package/dist/types/src/base/ui/system/dimensions/min_height.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/dimensions/min_width.d.ts +0 -12
- package/dist/types/src/base/ui/system/dimensions/min_width.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/dimensions/width.d.ts +0 -12
- package/dist/types/src/base/ui/system/dimensions/width.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/display.d.ts +0 -13
- package/dist/types/src/base/ui/system/display.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/flex_container/align_content.d.ts +0 -12
- package/dist/types/src/base/ui/system/flex_container/align_content.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/flex_container/align_items.d.ts +0 -12
- package/dist/types/src/base/ui/system/flex_container/align_items.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/flex_container/flex_container_set.d.ts +0 -15
- package/dist/types/src/base/ui/system/flex_container/flex_container_set.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/flex_container/flex_direction.d.ts +0 -12
- package/dist/types/src/base/ui/system/flex_container/flex_direction.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/flex_container/flex_wrap.d.ts +0 -12
- package/dist/types/src/base/ui/system/flex_container/flex_wrap.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/flex_container/justify_content.d.ts +0 -12
- package/dist/types/src/base/ui/system/flex_container/justify_content.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/flex_container/justify_items.d.ts +0 -12
- package/dist/types/src/base/ui/system/flex_container/justify_items.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/flex_item/align_self.d.ts +0 -12
- package/dist/types/src/base/ui/system/flex_item/align_self.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/flex_item/flex.d.ts +0 -12
- package/dist/types/src/base/ui/system/flex_item/flex.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/flex_item/flex_basis.d.ts +0 -12
- package/dist/types/src/base/ui/system/flex_item/flex_basis.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/flex_item/flex_grow.d.ts +0 -12
- package/dist/types/src/base/ui/system/flex_item/flex_grow.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/flex_item/flex_item_set.d.ts +0 -16
- package/dist/types/src/base/ui/system/flex_item/flex_item_set.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/flex_item/flex_shrink.d.ts +0 -12
- package/dist/types/src/base/ui/system/flex_item/flex_shrink.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/flex_item/justify_self.d.ts +0 -12
- package/dist/types/src/base/ui/system/flex_item/justify_self.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/flex_item/order.d.ts +0 -12
- package/dist/types/src/base/ui/system/flex_item/order.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/index.d.ts +0 -106
- package/dist/types/src/base/ui/system/index.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/overflow.d.ts +0 -17
- package/dist/types/src/base/ui/system/overflow.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/position/bottom.d.ts +0 -12
- package/dist/types/src/base/ui/system/position/bottom.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/position/left.d.ts +0 -12
- package/dist/types/src/base/ui/system/position/left.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/position/position.d.ts +0 -12
- package/dist/types/src/base/ui/system/position/position.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/position/position_set.d.ts +0 -15
- package/dist/types/src/base/ui/system/position/position_set.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/position/right.d.ts +0 -12
- package/dist/types/src/base/ui/system/position/right.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/position/top.d.ts +0 -12
- package/dist/types/src/base/ui/system/position/top.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/position/z_index.d.ts +0 -12
- package/dist/types/src/base/ui/system/position/z_index.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/spacing/margin.d.ts +0 -24
- package/dist/types/src/base/ui/system/spacing/margin.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/spacing/padding.d.ts +0 -24
- package/dist/types/src/base/ui/system/spacing/padding.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/spacing/spacing_set.d.ts +0 -11
- package/dist/types/src/base/ui/system/spacing/spacing_set.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/typography/font_family.d.ts +0 -12
- package/dist/types/src/base/ui/system/typography/font_family.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/typography/font_size.d.ts +0 -12
- package/dist/types/src/base/ui/system/typography/font_size.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/typography/font_style.d.ts +0 -12
- package/dist/types/src/base/ui/system/typography/font_style.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/typography/font_weight.d.ts +0 -12
- package/dist/types/src/base/ui/system/typography/font_weight.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/typography/letter_spacing.d.ts +0 -12
- package/dist/types/src/base/ui/system/typography/letter_spacing.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/typography/line_height.d.ts +0 -12
- package/dist/types/src/base/ui/system/typography/line_height.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/typography/text_align.d.ts +0 -12
- package/dist/types/src/base/ui/system/typography/text_align.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/typography/text_color.d.ts +0 -16
- package/dist/types/src/base/ui/system/typography/text_color.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/typography/text_decoration.d.ts +0 -14
- package/dist/types/src/base/ui/system/typography/text_decoration.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/typography/text_transform.d.ts +0 -12
- package/dist/types/src/base/ui/system/typography/text_transform.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/typography/typography_set.d.ts +0 -19
- package/dist/types/src/base/ui/system/typography/typography_set.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/utils/csstype.d.ts +0 -3977
- package/dist/types/src/base/ui/system/utils/csstype.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/utils/ensure_numbers_are_within_scale.d.ts +0 -2
- package/dist/types/src/base/ui/system/utils/ensure_numbers_are_within_scale.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/utils/get_style_props_for_responsive_prop.d.ts +0 -2
- package/dist/types/src/base/ui/system/utils/get_style_props_for_responsive_prop.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/utils/types.d.ts +0 -31
- package/dist/types/src/base/ui/system/utils/types.d.ts.map +0 -1
- package/dist/types/src/base/ui/table_picker.d.ts +0 -28
- package/dist/types/src/base/ui/table_picker.d.ts.map +0 -1
- package/dist/types/src/base/ui/table_picker_synced.d.ts +0 -18
- package/dist/types/src/base/ui/table_picker_synced.d.ts.map +0 -1
- package/dist/types/src/base/ui/text.d.ts +0 -66
- package/dist/types/src/base/ui/text.d.ts.map +0 -1
- package/dist/types/src/base/ui/text_button.d.ts +0 -83
- package/dist/types/src/base/ui/text_button.d.ts.map +0 -1
- package/dist/types/src/base/ui/theme/default_theme/button_variants.d.ts +0 -8
- package/dist/types/src/base/ui/theme/default_theme/button_variants.d.ts.map +0 -1
- package/dist/types/src/base/ui/theme/default_theme/control_sizes.d.ts +0 -107
- package/dist/types/src/base/ui/theme/default_theme/control_sizes.d.ts.map +0 -1
- package/dist/types/src/base/ui/theme/default_theme/heading_styles.d.ts +0 -11
- package/dist/types/src/base/ui/theme/default_theme/heading_styles.d.ts.map +0 -1
- package/dist/types/src/base/ui/theme/default_theme/index.d.ts +0 -342
- package/dist/types/src/base/ui/theme/default_theme/index.d.ts.map +0 -1
- package/dist/types/src/base/ui/theme/default_theme/input_variants.d.ts +0 -5
- package/dist/types/src/base/ui/theme/default_theme/input_variants.d.ts.map +0 -1
- package/dist/types/src/base/ui/theme/default_theme/link_variants.d.ts +0 -7
- package/dist/types/src/base/ui/theme/default_theme/link_variants.d.ts.map +0 -1
- package/dist/types/src/base/ui/theme/default_theme/select_buttons_variants.d.ts +0 -8
- package/dist/types/src/base/ui/theme/default_theme/select_buttons_variants.d.ts.map +0 -1
- package/dist/types/src/base/ui/theme/default_theme/select_variants.d.ts +0 -5
- package/dist/types/src/base/ui/theme/default_theme/select_variants.d.ts.map +0 -1
- package/dist/types/src/base/ui/theme/default_theme/switch_variants.d.ts +0 -16
- package/dist/types/src/base/ui/theme/default_theme/switch_variants.d.ts.map +0 -1
- package/dist/types/src/base/ui/theme/default_theme/text_button_variants.d.ts +0 -7
- package/dist/types/src/base/ui/theme/default_theme/text_button_variants.d.ts.map +0 -1
- package/dist/types/src/base/ui/theme/default_theme/text_styles.d.ts +0 -76
- package/dist/types/src/base/ui/theme/default_theme/text_styles.d.ts.map +0 -1
- package/dist/types/src/base/ui/theme/default_theme/tokens.d.ts +0 -111
- package/dist/types/src/base/ui/theme/default_theme/tokens.d.ts.map +0 -1
- package/dist/types/src/base/ui/theme/theme_context.d.ts +0 -342
- package/dist/types/src/base/ui/theme/theme_context.d.ts.map +0 -1
- package/dist/types/src/base/ui/theme/use_theme.d.ts +0 -342
- package/dist/types/src/base/ui/theme/use_theme.d.ts.map +0 -1
- package/dist/types/src/base/ui/tooltip.d.ts +0 -64
- package/dist/types/src/base/ui/tooltip.d.ts.map +0 -1
- package/dist/types/src/base/ui/types/aria_props.d.ts +0 -22
- package/dist/types/src/base/ui/types/aria_props.d.ts.map +0 -1
- package/dist/types/src/base/ui/types/data_attributes_prop.d.ts +0 -10
- package/dist/types/src/base/ui/types/data_attributes_prop.d.ts.map +0 -1
- package/dist/types/src/base/ui/types/tooltip_anchor_props.d.ts +0 -13
- package/dist/types/src/base/ui/types/tooltip_anchor_props.d.ts.map +0 -1
- package/dist/types/src/base/ui/use_form_field.d.ts +0 -2
- package/dist/types/src/base/ui/use_form_field.d.ts.map +0 -1
- package/dist/types/src/base/ui/use_styled_system.d.ts +0 -2
- package/dist/types/src/base/ui/use_styled_system.d.ts.map +0 -1
- package/dist/types/src/base/ui/use_text_color_for_background_color.d.ts +0 -2
- package/dist/types/src/base/ui/use_text_color_for_background_color.d.ts.map +0 -1
- package/dist/types/src/base/ui/view_picker.d.ts +0 -34
- package/dist/types/src/base/ui/view_picker.d.ts.map +0 -1
- package/dist/types/src/base/ui/view_picker_synced.d.ts +0 -18
- package/dist/types/src/base/ui/view_picker_synced.d.ts.map +0 -1
- package/dist/types/src/base/ui/viewport_constraint.d.ts +0 -57
- package/dist/types/src/base/ui/viewport_constraint.d.ts.map +0 -1
- package/dist/types/src/base/ui/with_styled_system.d.ts +0 -2
- package/dist/types/src/base/ui/with_styled_system.d.ts.map +0 -1
- package/types/styled-system__core.d.ts +0 -41
|
@@ -1,58 +1,49 @@
|
|
|
1
1
|
/** @hidden */ /** */
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import { css, keyframes } from 'emotion';
|
|
4
3
|
import Loader from '../../shared/ui/loader';
|
|
5
4
|
import { SdkContext } from '../../shared/ui/sdk_context';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
fallback: /*#__PURE__*/React.createElement("div", {
|
|
52
|
-
className: suspenseFallbackClassName
|
|
53
|
-
}, /*#__PURE__*/React.createElement(Loader, {
|
|
54
|
-
className: animateSpinnerClassName
|
|
55
|
-
}))
|
|
56
|
-
}, this.props.children));
|
|
57
|
-
}
|
|
58
|
-
}
|
|
5
|
+
import { getCssContentToAddToHead, SPIN_SCALE_ANIMATION_NAME } from './global_css_helpers';
|
|
6
|
+
const suspenseFallbackStyle = {
|
|
7
|
+
position: 'absolute',
|
|
8
|
+
top: 0,
|
|
9
|
+
left: 0,
|
|
10
|
+
right: 0,
|
|
11
|
+
bottom: 0,
|
|
12
|
+
display: 'flex',
|
|
13
|
+
alignItems: 'center',
|
|
14
|
+
justifyContent: 'center'
|
|
15
|
+
};
|
|
16
|
+
const animateSpinnerStyle = {
|
|
17
|
+
animationIterationCount: 'infinite',
|
|
18
|
+
animationName: SPIN_SCALE_ANIMATION_NAME,
|
|
19
|
+
animationDuration: '1800ms',
|
|
20
|
+
animationTimingFunction: 'cubic-bezier(0.785, 0.135, 0.15, 0.86)'
|
|
21
|
+
};
|
|
22
|
+
export const BlockWrapper = _ref => {
|
|
23
|
+
let {
|
|
24
|
+
sdk,
|
|
25
|
+
children
|
|
26
|
+
} = _ref;
|
|
27
|
+
React.useLayoutEffect(() => {
|
|
28
|
+
// Create a style element and inject the global CSS into document head
|
|
29
|
+
const styleElement = document.createElement('style');
|
|
30
|
+
styleElement.textContent = getCssContentToAddToHead();
|
|
31
|
+
document.head.appendChild(styleElement);
|
|
32
|
+
|
|
33
|
+
// Cleanup: remove the style element when component unmounts
|
|
34
|
+
return () => {
|
|
35
|
+
if (document.head.contains(styleElement)) {
|
|
36
|
+
document.head.removeChild(styleElement);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
}, []);
|
|
40
|
+
return /*#__PURE__*/React.createElement(SdkContext.Provider, {
|
|
41
|
+
value: sdk
|
|
42
|
+
}, /*#__PURE__*/React.createElement(React.Suspense, {
|
|
43
|
+
fallback: /*#__PURE__*/React.createElement("div", {
|
|
44
|
+
style: suspenseFallbackStyle
|
|
45
|
+
}, /*#__PURE__*/React.createElement(Loader, {
|
|
46
|
+
style: animateSpinnerStyle
|
|
47
|
+
}))
|
|
48
|
+
}, children));
|
|
49
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { CellRenderer as CellRendererSharedImpl } from '../../shared/ui/cell_renderer';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Props for the {@link CellRenderer} component.
|
|
6
|
+
*
|
|
7
|
+
* @docsPath UI/components/CellRenderer
|
|
8
|
+
* @noInheritDoc
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Displays the contents of a cell given a field and record.
|
|
13
|
+
*
|
|
14
|
+
* @component
|
|
15
|
+
* @docsPath UI/components/CellRenderer
|
|
16
|
+
*/
|
|
17
|
+
export function CellRenderer(props) {
|
|
18
|
+
return /*#__PURE__*/React.createElement(CellRendererSharedImpl, props);
|
|
19
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export const SPIN_SCALE_ANIMATION_NAME = `spinScale_${Math.random().toString(36).substring(2, 11)}`;
|
|
2
|
+
const spinScaleKeyframesStyle = `
|
|
3
|
+
@keyframes ${SPIN_SCALE_ANIMATION_NAME} {
|
|
4
|
+
0% {
|
|
5
|
+
transform: rotate(0) scale(1);
|
|
6
|
+
}
|
|
7
|
+
50% {
|
|
8
|
+
transform: rotate(360deg) scale(0.9);
|
|
9
|
+
}
|
|
10
|
+
100% {
|
|
11
|
+
transform: rotate(720deg) scale(1);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
`;
|
|
15
|
+
export const getCssContentToAddToHead = () => {
|
|
16
|
+
return `${spinScaleKeyframesStyle}`;
|
|
17
|
+
};
|
|
@@ -3,6 +3,7 @@ import '../assert_run_context';
|
|
|
3
3
|
// Import the top-level entry point so that an Sdk instance is created from the
|
|
4
4
|
// globally-available AirtableInterface instance.
|
|
5
5
|
import '..';
|
|
6
|
+
export { CellRenderer } from './cell_renderer';
|
|
6
7
|
export { expandRecord } from './expand_record';
|
|
7
8
|
export { initializeBlock } from './initialize_block';
|
|
8
9
|
export { useBase } from './use_base';
|
|
@@ -14,7 +15,6 @@ export { useSession } from './use_session';
|
|
|
14
15
|
export { default as useGlobalConfig } from '../../shared/ui/use_global_config';
|
|
15
16
|
export { default as useSynced } from '../../shared/ui/use_synced';
|
|
16
17
|
export { default as useWatchable } from '../../shared/ui/use_watchable';
|
|
17
|
-
export { default as withHooks } from '../../shared/ui/with_hooks';
|
|
18
18
|
export { default as colors } from '../../shared/colors';
|
|
19
19
|
export { default as colorUtils } from '../../shared/color_utils';
|
|
20
20
|
export { loadCSSFromString, loadCSSFromURLAsync, loadScriptFromURLAsync } from '../../shared/ui/remote_utils';
|
|
@@ -29,6 +29,10 @@ import { spawnUnknownSwitchCaseError } from '../../shared/error_utils';
|
|
|
29
29
|
* possibleValues?: Array<Field>; // If not provided, all visible fields in the table will be shown in the dropdown.
|
|
30
30
|
* defaultValue?: Field;
|
|
31
31
|
* }
|
|
32
|
+
* | {
|
|
33
|
+
* type: 'table';
|
|
34
|
+
* defaultValue?: Table;
|
|
35
|
+
* }
|
|
32
36
|
* );
|
|
33
37
|
* ```
|
|
34
38
|
*/
|
|
@@ -143,6 +147,13 @@ function convertBlockPageElementCustomPropertyToBlockInstallationPageElementCust
|
|
|
143
147
|
possibleValues: property.possibleValues?.map(field => field.id),
|
|
144
148
|
defaultValue: property.defaultValue?.id
|
|
145
149
|
};
|
|
150
|
+
case 'table':
|
|
151
|
+
return {
|
|
152
|
+
key: property.key,
|
|
153
|
+
label: property.label,
|
|
154
|
+
type: BlockInstallationPageElementCustomPropertyTypeForAirtableInterface.TABLE_ID,
|
|
155
|
+
defaultValue: property.defaultValue?.id
|
|
156
|
+
};
|
|
146
157
|
default:
|
|
147
158
|
throw spawnUnknownSwitchCaseError('property type', property, 'type');
|
|
148
159
|
}
|
|
@@ -154,28 +165,46 @@ function getCustomPropertyValue(base, globalConfig, property) {
|
|
|
154
165
|
const rawValue = globalConfig.get(property.key) ?? defaultValue;
|
|
155
166
|
switch (property.type) {
|
|
156
167
|
case 'boolean':
|
|
157
|
-
|
|
158
|
-
|
|
168
|
+
{
|
|
169
|
+
if (typeof rawValue === 'boolean') {
|
|
170
|
+
return rawValue;
|
|
171
|
+
}
|
|
172
|
+
return defaultValue;
|
|
159
173
|
}
|
|
160
|
-
return defaultValue;
|
|
161
174
|
case 'string':
|
|
162
|
-
|
|
163
|
-
|
|
175
|
+
{
|
|
176
|
+
if (typeof rawValue === 'string') {
|
|
177
|
+
return rawValue;
|
|
178
|
+
}
|
|
179
|
+
return defaultValue;
|
|
164
180
|
}
|
|
165
|
-
return defaultValue;
|
|
166
181
|
case 'enum':
|
|
167
|
-
|
|
168
|
-
|
|
182
|
+
{
|
|
183
|
+
if (typeof rawValue === 'string' && property.possibleValues.some(value => value.value === rawValue)) {
|
|
184
|
+
return rawValue;
|
|
185
|
+
}
|
|
186
|
+
return defaultValue;
|
|
169
187
|
}
|
|
170
|
-
return defaultValue;
|
|
171
188
|
case 'field':
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
189
|
+
{
|
|
190
|
+
if (typeof rawValue === 'string' && property.table === base.getTableById(property.table.id)) {
|
|
191
|
+
const fieldModel = property.table.fields.find(field => field.id === rawValue);
|
|
192
|
+
if (fieldModel && (!property.possibleValues || property.possibleValues.includes(fieldModel))) {
|
|
193
|
+
return fieldModel;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
return defaultValue;
|
|
197
|
+
}
|
|
198
|
+
case 'table':
|
|
199
|
+
{
|
|
200
|
+
if (typeof rawValue === 'string') {
|
|
201
|
+
const tableIfExists = base.getTableByIdIfExists(rawValue);
|
|
202
|
+
if (tableIfExists) {
|
|
203
|
+
return tableIfExists;
|
|
204
|
+
}
|
|
176
205
|
}
|
|
206
|
+
return defaultValue;
|
|
177
207
|
}
|
|
178
|
-
return defaultValue;
|
|
179
208
|
default:
|
|
180
209
|
throw spawnUnknownSwitchCaseError('property type', property, 'type');
|
|
181
210
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import getAirtableInterface from '../injected/airtable_interface';
|
|
2
2
|
import { spawnError } from './error_utils';
|
|
3
|
-
export { default as isDeepEqual } from 'fast-deep-equal';
|
|
4
3
|
|
|
5
4
|
/** @hidden */
|
|
6
5
|
|
|
@@ -79,6 +78,57 @@ export function cloneDeep(obj) {
|
|
|
79
78
|
return JSON.parse(jsonString);
|
|
80
79
|
}
|
|
81
80
|
|
|
81
|
+
/**
|
|
82
|
+
* This is basically taken from https://github.com/epoberezkin/fast-deep-equal/blob/a8e7172b6c411ec320d6045fd4afbd2abc1b4bde/src/index.jst
|
|
83
|
+
* with some minor adjustments based on our needs.
|
|
84
|
+
* Differences:
|
|
85
|
+
* - Removed RegExp support because we don't need it
|
|
86
|
+
* - Removed .valueOf() and .toString() support because we don't need it
|
|
87
|
+
*/
|
|
88
|
+
export function isDeepEqual(a, b) {
|
|
89
|
+
if (a === b) {
|
|
90
|
+
return true;
|
|
91
|
+
}
|
|
92
|
+
if (a && b && typeof a === 'object' && typeof b === 'object') {
|
|
93
|
+
if (a.constructor !== b.constructor) {
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
if (Array.isArray(a)) {
|
|
97
|
+
const length = a.length;
|
|
98
|
+
if (length !== b.length) {
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
for (let i = length - 1; i >= 0; i--) {
|
|
102
|
+
if (!isDeepEqual(a[i], b[i])) {
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return true;
|
|
107
|
+
}
|
|
108
|
+
const keys = Object.keys(a);
|
|
109
|
+
const length = keys.length;
|
|
110
|
+
if (length !== Object.keys(b).length) {
|
|
111
|
+
return false;
|
|
112
|
+
}
|
|
113
|
+
for (let i = length - 1; i >= 0; i--) {
|
|
114
|
+
if (!Object.prototype.hasOwnProperty.call(b, keys[i])) {
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
for (let i = length - 1; i >= 0; i--) {
|
|
119
|
+
const key = keys[i];
|
|
120
|
+
if (!isDeepEqual(a[key], b[key])) {
|
|
121
|
+
return false;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
return true;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
// true if both NaN, false otherwise
|
|
128
|
+
// eslint-disable-next-line no-self-compare
|
|
129
|
+
return a !== a && b !== b;
|
|
130
|
+
}
|
|
131
|
+
|
|
82
132
|
// typescript has a stricter definition for Object.values and Object.entries that return mixed in place
|
|
83
133
|
// of the actual values. This is because for non-exact objects, that's the only sound definition.
|
|
84
134
|
// You can call Object.values with a value typed as {x: number} that actually looks like
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
|
+
/** @module @airtable/blocks/ui: CellRenderer */ /** */
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { spawnError } from '../../shared/error_utils';
|
|
5
|
+
import { FieldType } from '../../shared/types/field_core';
|
|
6
|
+
import useWatchable from '../../shared/ui/use_watchable';
|
|
7
|
+
import { useSdk } from '../../shared/ui/sdk_context';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @hidden
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @internal
|
|
15
|
+
*/
|
|
16
|
+
function validateRecordAndFieldProps(props) {
|
|
17
|
+
if (props.record && !props.record.isDeleted && !props.field.isDeleted && props.record.parentTable.id !== props.field.parentTable.id) {
|
|
18
|
+
throw spawnError('CellRenderer: record %s and field %s do not have the same parent table', props.record.parentTable.id, props.field.parentTable.id);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* @hidden
|
|
24
|
+
*/
|
|
25
|
+
export function CellRenderer(props) {
|
|
26
|
+
const {
|
|
27
|
+
record,
|
|
28
|
+
cellValue,
|
|
29
|
+
field,
|
|
30
|
+
shouldWrap = true,
|
|
31
|
+
onMouseEnter,
|
|
32
|
+
onMouseLeave,
|
|
33
|
+
onClick,
|
|
34
|
+
className,
|
|
35
|
+
style,
|
|
36
|
+
cellClassName,
|
|
37
|
+
cellStyle,
|
|
38
|
+
renderInvalidCellValue
|
|
39
|
+
} = props;
|
|
40
|
+
validateRecordAndFieldProps({
|
|
41
|
+
record,
|
|
42
|
+
field
|
|
43
|
+
});
|
|
44
|
+
const sdk = useSdk();
|
|
45
|
+
useWatchable(record, [`cellValueInField:${field.id}`]);
|
|
46
|
+
useWatchable(field, ['type', 'options']);
|
|
47
|
+
if (field.isDeleted) {
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
const airtableInterface = sdk.__airtableInterface;
|
|
51
|
+
const appInterface = sdk.__appInterface;
|
|
52
|
+
let cellValueToRender;
|
|
53
|
+
if (record) {
|
|
54
|
+
if (cellValue !== undefined) {
|
|
55
|
+
// eslint-disable-next-line
|
|
56
|
+
console.warn('CellRenderer was given both record and cellValue, choosing to render record value');
|
|
57
|
+
}
|
|
58
|
+
if (record.isDeleted) {
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
cellValueToRender = record.getCellValue(field.id);
|
|
62
|
+
} else {
|
|
63
|
+
// NOTE: this will not work if you want to render a cell value for
|
|
64
|
+
// foreign record, single/multi select, or single/multi collaborator
|
|
65
|
+
// fields and the cell value is not *currently* valid for that field.
|
|
66
|
+
// i.e. if you want to render a foreign record for a record that
|
|
67
|
+
// does not yet exist, this will throw.
|
|
68
|
+
// TODO: handle "preview" cell values that are not yet valid in the given field
|
|
69
|
+
// but that *could* be.
|
|
70
|
+
// To validate public cell values, we only have validateCellValueForUpdate
|
|
71
|
+
// However, this is not implemented for computed fields (since you can't update them)
|
|
72
|
+
// so we just skip the check.
|
|
73
|
+
// TODO(emma): actually check this somehow.
|
|
74
|
+
if (!field.isComputed) {
|
|
75
|
+
const validationResult = airtableInterface.fieldTypeProvider.validateCellValueForUpdate(appInterface, cellValue, null, field._data);
|
|
76
|
+
if (!validationResult.isValid) {
|
|
77
|
+
if (renderInvalidCellValue) {
|
|
78
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
79
|
+
onMouseEnter: onMouseEnter,
|
|
80
|
+
onMouseLeave: onMouseLeave,
|
|
81
|
+
onClick: onClick,
|
|
82
|
+
className: className,
|
|
83
|
+
style: style
|
|
84
|
+
}, renderInvalidCellValue(cellValue, field));
|
|
85
|
+
} else {
|
|
86
|
+
throw spawnError('Cannot render invalid cell value %s: %s', cellValue, validationResult.reason);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
cellValueToRender = cellValue;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
// in record.getCellValue, we reformat the cell value to the new public format. in order to
|
|
94
|
+
// make it work with the cell renderer, we need to format it back the other way.
|
|
95
|
+
// Note: we can't use _getRawCellValue here since we also need to handle formatting
|
|
96
|
+
// these in the case where the user passed cellValue instead of a record.
|
|
97
|
+
if (cellValueToRender && field.type === FieldType.MULTIPLE_LOOKUP_VALUES && !airtableInterface.sdkInitData.isUsingNewLookupCellValueFormat) {
|
|
98
|
+
const originalCellValue = cellValueToRender;
|
|
99
|
+
const linkedRecordIdsSet = new Set();
|
|
100
|
+
const valuesByLinkedRecordId = {};
|
|
101
|
+
for (const {
|
|
102
|
+
linkedRecordId,
|
|
103
|
+
value
|
|
104
|
+
} of originalCellValue) {
|
|
105
|
+
linkedRecordIdsSet.add(linkedRecordId);
|
|
106
|
+
if (!valuesByLinkedRecordId[linkedRecordId]) {
|
|
107
|
+
valuesByLinkedRecordId[linkedRecordId] = [];
|
|
108
|
+
}
|
|
109
|
+
valuesByLinkedRecordId[linkedRecordId].push(value);
|
|
110
|
+
}
|
|
111
|
+
cellValueToRender = {
|
|
112
|
+
linkedRecordIds: Array.from(linkedRecordIdsSet),
|
|
113
|
+
valuesByLinkedRecordId
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
const {
|
|
117
|
+
cellValueHtml,
|
|
118
|
+
attributes
|
|
119
|
+
} = airtableInterface.fieldTypeProvider.getCellRendererData(appInterface, cellValueToRender, field._data, !!shouldWrap);
|
|
120
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
121
|
+
// TODO (stephen): remove tooltip anchor props
|
|
122
|
+
onMouseEnter: onMouseEnter,
|
|
123
|
+
onMouseLeave: onMouseLeave,
|
|
124
|
+
onClick: onClick,
|
|
125
|
+
className: `baymax ${className ?? ''}`,
|
|
126
|
+
style: {
|
|
127
|
+
display: 'block',
|
|
128
|
+
...style
|
|
129
|
+
}
|
|
130
|
+
}, /*#__PURE__*/React.createElement("div", _extends({}, attributes, {
|
|
131
|
+
className: `cell read ${cellClassName ?? ''}`,
|
|
132
|
+
style: cellStyle,
|
|
133
|
+
dangerouslySetInnerHTML: {
|
|
134
|
+
__html: cellValueHtml
|
|
135
|
+
}
|
|
136
|
+
})));
|
|
137
|
+
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/** @module @airtable/blocks/ui: useWatchable */ /** */
|
|
2
|
-
import { useMemo, useRef } from 'react';
|
|
3
|
-
import { useSubscription } from 'use-subscription';
|
|
2
|
+
import { useMemo, useRef, useSyncExternalStore } from 'react';
|
|
4
3
|
import { spawnError } from '../error_utils';
|
|
5
4
|
import { compact } from '../private_utils';
|
|
6
5
|
import useArrayIdentity from './use_array_identity';
|
|
@@ -112,5 +111,5 @@ export default function useWatchable(models, keys, callback) {
|
|
|
112
111
|
|
|
113
112
|
// we don't care about the return value - we just want useSubscription to correctly handle
|
|
114
113
|
// re-rendering the component for us
|
|
115
|
-
|
|
114
|
+
useSyncExternalStore(watchSubscription.subscribe, watchSubscription.getCurrentValue);
|
|
116
115
|
}
|
|
@@ -107,9 +107,7 @@ export interface VisList {
|
|
|
107
107
|
}
|
|
108
108
|
/**
|
|
109
109
|
* AirtableInterface is designed as the communication interface between the
|
|
110
|
-
* Block SDK and Airtable.
|
|
111
|
-
* depends on the context in which the block is running (i.e. frontend or backend),
|
|
112
|
-
* but the interface should remain consistent.
|
|
110
|
+
* Block SDK and Airtable.
|
|
113
111
|
*
|
|
114
112
|
* @hidden
|
|
115
113
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"airtable_interface.d.ts","sourceRoot":"","sources":["../../../../../src/base/types/airtable_interface.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"airtable_interface.d.ts","sourceRoot":"","sources":["../../../../../src/base/types/airtable_interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,oBAAoB,EAAC,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAC,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,MAAM,EAAC,MAAM,8BAA8B,CAAC;AACtF,OAAO,EACH,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,eAAe,EACvB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAC,KAAK,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAC,KAAK,SAAS,EAAC,MAAM,SAAS,CAAC;AACvC,OAAO,EAAC,KAAK,UAAU,EAAC,MAAM,UAAU,CAAC;AACzC,OAAO,EAAC,KAAK,sBAAsB,EAAC,MAAM,YAAY,CAAC;AACvD,OAAO,EAAC,KAAK,aAAa,EAAC,MAAM,eAAe,CAAC;AACjD,OAAO,EAAC,KAAK,QAAQ,EAAC,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAC,KAAK,UAAU,EAAC,MAAM,UAAU,CAAC;AACzC,OAAO,EAAC,KAAK,gBAAgB,EAAE,KAAK,wBAAwB,EAAC,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAAC,KAAK,YAAY,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAC,KAAK,sBAAsB,EAAC,MAAM,aAAa,CAAC;AACxD,OAAO,EACH,KAAK,SAAS,EACd,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACtB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAC,KAAK,WAAW,EAAE,KAAK,YAAY,EAAC,MAAM,uBAAuB,CAAC;AAI1E,cAAc;AACd,oBAAY,mBAAmB;IAC3B,aAAa,iBAAiB;IAC9B,IAAI,SAAS;CAChB;AAED,cAAc;AACd,MAAM,WAAW,oCAAoC;IACjD,IAAI,EAAE,mBAAmB,CAAC,aAAa,CAAC;CAC3C;AAED,cAAc;AACd,MAAM,WAAW,mBAAmB;IAChC,IAAI,EAAE,mBAAmB,CAAC,IAAI,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,cAAc;AACd,MAAM,MAAM,eAAe,GAAG,oCAAoC,GAAG,mBAAmB,CAAC;AAEzF,cAAc;AACd,KAAK,2BAA2B,GAAG;IAAC,OAAO,EAAE,IAAI,CAAA;CAAC,GAAG;IAAC,OAAO,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,CAAC;AACtF,cAAc;AACd,UAAU,aAAa;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,6BAA6B,EAAE,MAAM,CAAC;IACtC,6BAA6B,EAAE,MAAM,CAAC;CACzC;AACD,cAAc;AACd,MAAM,WAAW,iBAAkB,SAAQ,qBAAqB;IAC5D,uBAAuB,CACnB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,eAAe,EAC1B,aAAa,EAAE,eAAe,GAAG,IAAI,EACrC,SAAS,EAAE,SAAS,GAAG,IAAI,EAC3B,mBAAmB,EAAE,MAAM,EAC3B,IAAI,CAAC,EAAE,sBAAsB,GAC9B,2BAA2B,CAAC;IAC/B,YAAY,CACR,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,eAAe,EACvB,mBAAmB,EAAE,MAAM,GAC5B,OAAO,CAAC;IACX,WAAW,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,KAAK,aAAa,CAAC;CACpF;AAED,cAAc;AACd,MAAM,WAAW,eAAe;IAC5B,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,UAAU,EAAE,kBAAkB,CAAC;IAC/B,gBAAgB,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAEnD,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IACjC,WAAW,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;CAC9C;AAID,cAAc;AACd,MAAM,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAElD,cAAc;AACd,MAAM,WAAW,sBAAsB;IACnC,6FAA6F;IAC7F,WAAW,CAAC,EAAE,KAAK,CAAC,oBAAoB,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;CAChE;AAED,cAAc;AACd,MAAM,WAAW,WAAY,SAAQ,eAAe;IAChD,UAAU,EAAE,eAAe,CAAC;IAC5B,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IAEtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,cAAc;AACd,MAAM,WAAW,WAAW;IACxB,gBAAgB,IAAI,MAAM,CAAC;IAC3B,eAAe,IAAI,MAAM,CAAC;IAC1B,eAAe,IAAI,MAAM,CAAC;CAC7B;AAED,cAAc;AACd,MAAM,WAAW,cAAc;IAC3B,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC;IACtC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC;IACrD,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3D,sBAAsB,CAClB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,GACtB,MAAM,CAAC;CACb;AAED,cAAc;AACd,MAAM,WAAW,gBAAgB;IAC7B,GAAG,EAAE,aAAa,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;CAC5B;AAED,cAAc;AACd,MAAM,WAAW,WAAW;IACxB,SAAS,CACL,YAAY,EAAE,YAAY,EAC1B,kBAAkB,EAAE,aAAa,EACjC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,EAC1B,SAAS,EAAE,SAAS,GACrB,OAAO,CAAC;IACX,iBAAiB,CACb,YAAY,EAAE,YAAY,EAC1B,kBAAkB,EAAE,aAAa,EACjC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,EAC1B,SAAS,EAAE,SAAS,GACrB,MAAM,CAAC;IACV,mBAAmB,CAAC,kBAAkB,EAAE,aAAa,GAAG,gBAAgB,CAAC;IACzE,6BAA6B,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;IACtD,kCAAkC,CAAC,SAAS,EAAE,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;CAClF;AAED,cAAc;AACd,MAAM,WAAW,OAAO;IACpB,eAAe,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IAClD,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC5C,mBAAmB,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;CAC1C;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAkB,SAAQ,qBAAqB,CAAC,WAAW,CAAC;IACzE,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,cAAc,CAAC;IAC/B,WAAW,EAAE,WAAW,CAAC;IAEzB,iBAAiB,EAAE,iBAAiB,CAAC;IAErC;;OAEG;IACH,iCAAiC,CAC7B,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC;QAAC,WAAW,EAAE;YAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAA;SAAC,CAAA;KAAC,CAAC,CAAC;IAC5D,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChD,0CAA0C,CACtC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,GACxB,OAAO,CAAC,GAAG,CAAC,CAAC;IAChB,iCAAiC,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAElF;;OAEG;IACH,gCAAgC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC5F,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/D,oCAAoC,CAChC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GAAG,IAAI,GACtB,OAAO,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAAC,CAAC;IAGrC,8BAA8B,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAC3D,0BAA0B,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IACvD,yBAAyB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IACtD,gBAAgB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAC7C,kCAAkC,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IAC1D,yBAAyB,IAAI,IAAI,CAAC;IAClC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IACvF,gBAAgB,CACZ,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,EACxB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,GAC/B,IAAI,CAAC;IACR,uBAAuB,CACnB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,EACxB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,EAC9B,yBAAyB,EAAE,OAAO,GACnC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC1B,2BAA2B,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IACtD,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IAC1C,oBAAoB,CAAC,iBAAiB,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACtE,eAAe,IAAI,IAAI,CAAC;IACxB,cAAc,IAAI,IAAI,CAAC;IACvB,aAAa,CACT,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,EAC9B,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,EAC5B,KAAK,EAAE,KAAK,CAAC,oBAAoB,CAAC,GACnC,OAAO,CAAC;IACX,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9D,2CAA2C,CACvC,QAAQ,EAAE,wBAAwB,GACnC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACpC,wBAAwB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CAC7E"}
|
|
@@ -5,20 +5,6 @@ interface BlockWrapperProps {
|
|
|
5
5
|
sdk: Sdk;
|
|
6
6
|
children: React.ReactNode;
|
|
7
7
|
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
constructor(props: BlockWrapperProps);
|
|
11
|
-
/** @hidden */
|
|
12
|
-
UNSAFE_componentWillMount(): void;
|
|
13
|
-
/** @hidden */
|
|
14
|
-
componentDidMount(): void;
|
|
15
|
-
/** @hidden */
|
|
16
|
-
UNSAFE_componentWillUpdate(): void;
|
|
17
|
-
/** @hidden */
|
|
18
|
-
componentDidUpdate(): void;
|
|
19
|
-
/** @hidden */
|
|
20
|
-
render(): React.JSX.Element;
|
|
21
|
-
}
|
|
22
|
-
declare const _default: React.ForwardRefExoticComponent<Omit<BlockWrapperProps, never> & React.RefAttributes<BlockWrapper>>;
|
|
23
|
-
export default _default;
|
|
8
|
+
export default function BlockWrapper(props: BlockWrapperProps): React.JSX.Element;
|
|
9
|
+
export {};
|
|
24
10
|
//# sourceMappingURL=block_wrapper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block_wrapper.d.ts","sourceRoot":"","sources":["../../../../../src/base/ui/block_wrapper.tsx"],"names":[],"mappings":"AAAA,cAAc,CAAC,MAAM;AACrB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"block_wrapper.d.ts","sourceRoot":"","sources":["../../../../../src/base/ui/block_wrapper.tsx"],"names":[],"mappings":"AAAA,cAAc,CAAC,MAAM;AACrB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAC;AAU9B,UAAU,iBAAiB;IACvB,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B;AA2CD,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,KAAK,EAAE,iBAAiB,qBAqG5D"}
|
|
@@ -1,71 +1,19 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import
|
|
3
|
-
import type
|
|
4
|
-
import { type MaxWidthProps, type MinWidthProps, type WidthProps, type FlexItemSetProps, type PositionSetProps, type MarginProps } from './system';
|
|
5
|
-
import { type OptionalResponsiveProp } from './system/utils/types';
|
|
6
|
-
import { type TooltipAnchorProps } from './types/tooltip_anchor_props';
|
|
2
|
+
import { CellRenderer as CellRendererSharedImpl } from '../../shared/ui/cell_renderer';
|
|
3
|
+
import { type BaseSdkMode } from '../../sdk_mode';
|
|
7
4
|
/**
|
|
8
|
-
*
|
|
9
|
-
* * {@link FlexItemSetProps}
|
|
10
|
-
* * {@link MarginProps}
|
|
11
|
-
* * {@link MaxWidthProps}
|
|
12
|
-
* * {@link MinWidthProps}
|
|
13
|
-
* * {@link PositionSetProps}
|
|
14
|
-
* * {@link WidthProps}
|
|
15
|
-
*
|
|
16
|
-
* @noInheritDoc
|
|
17
|
-
*/
|
|
18
|
-
interface CellRendererStyleProps extends FlexItemSetProps, MarginProps, MaxWidthProps, MinWidthProps, PositionSetProps, WidthProps {
|
|
19
|
-
/** Defines the display type of an element, which consists of the two basic qualities of how an element generates boxes — the outer display type defining how the box participates in flow layout, and the inner display type defining how the children of the box are laid out. */
|
|
20
|
-
display?: OptionalResponsiveProp<'block' | 'inline' | 'inline-block'>;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Props for the {@link CellRenderer} component. Also accepts:
|
|
24
|
-
* * {@link CellRendererStyleProps}
|
|
5
|
+
* Props for the {@link CellRenderer} component.
|
|
25
6
|
*
|
|
26
7
|
* @docsPath UI/components/CellRenderer
|
|
27
8
|
* @noInheritDoc
|
|
28
9
|
*/
|
|
29
|
-
|
|
30
|
-
/** The {@link Record} from which to render a cell. Either `record` or `cellValue` must be provided to the CellRenderer. If both are provided, `record` will be used. */
|
|
31
|
-
record?: Record | null | undefined;
|
|
32
|
-
/** The cell value to render. Either `record` or `cellValue` must be provided to the CellRenderer. If both are provided, `record` will be used. */
|
|
33
|
-
cellValue?: unknown;
|
|
34
|
-
/** The {@link Field} for a given {@link Record} being rendered as a cell. */
|
|
35
|
-
field: Field;
|
|
36
|
-
/** Whether to wrap cell contents. Defaults to true. */
|
|
37
|
-
shouldWrap?: boolean;
|
|
38
|
-
/** Additional class names to apply to the cell renderer container, separated by spaces. */
|
|
39
|
-
className?: string;
|
|
40
|
-
/** Additional styles to apply to the cell renderer container. */
|
|
41
|
-
style?: React.CSSProperties;
|
|
42
|
-
/** Additional class names to apply to the cell itself, separated by spaces. */
|
|
43
|
-
cellClassName?: string;
|
|
44
|
-
/** Additional styles to apply to the cell itself. */
|
|
45
|
-
cellStyle?: React.CSSProperties;
|
|
46
|
-
/** Render function if provided and validation fails. */
|
|
47
|
-
renderInvalidCellValue?: (cellValue: unknown, field: Field) => React.ReactElement;
|
|
48
|
-
}
|
|
10
|
+
type CellRendererProps = React.ComponentProps<typeof CellRendererSharedImpl<BaseSdkMode>>;
|
|
49
11
|
/**
|
|
50
12
|
* Displays the contents of a cell given a field and record.
|
|
51
13
|
*
|
|
52
|
-
* [[ Story id="cellrenderer--example" title="Cell renderer example" ]]
|
|
53
|
-
*
|
|
54
14
|
* @component
|
|
55
15
|
* @docsPath UI/components/CellRenderer
|
|
56
16
|
*/
|
|
57
|
-
export
|
|
58
|
-
|
|
59
|
-
static defaultProps: {
|
|
60
|
-
shouldWrap: boolean;
|
|
61
|
-
};
|
|
62
|
-
/** @hidden */
|
|
63
|
-
constructor(props: CellRendererProps);
|
|
64
|
-
/** @hidden */
|
|
65
|
-
UNSAFE_componentWillReceiveProps(nextProps: CellRendererProps): void;
|
|
66
|
-
/** @hidden */
|
|
67
|
-
render(): React.JSX.Element | null;
|
|
68
|
-
}
|
|
69
|
-
declare const _default: React.ForwardRefExoticComponent<Omit<CellRendererProps, "className" | "sdk"> & React.RefAttributes<CellRenderer>>;
|
|
70
|
-
export default _default;
|
|
17
|
+
export default function CellRenderer(props: CellRendererProps): React.JSX.Element;
|
|
18
|
+
export {};
|
|
71
19
|
//# sourceMappingURL=cell_renderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cell_renderer.d.ts","sourceRoot":"","sources":["../../../../../src/base/ui/cell_renderer.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cell_renderer.d.ts","sourceRoot":"","sources":["../../../../../src/base/ui/cell_renderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAC,YAAY,IAAI,sBAAsB,EAAC,MAAM,+BAA+B,CAAC;AACrF,OAAO,EAAC,KAAK,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAEhD;;;;;GAKG;AACH,KAAK,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC;AAE1F;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,KAAK,EAAE,iBAAiB,qBAE5D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global_css_helpers.d.ts","sourceRoot":"","sources":["../../../../../src/base/ui/global_css_helpers.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB,QAA6D,CAAC;AACpG,eAAO,MAAM,sBAAsB,QAA8D,CAAC;AA2BlG,eAAO,MAAM,wBAAwB,cAEpC,CAAC"}
|