@airtable/blocks 0.0.0-experimental-f52bc4e5e-20250709 → 0.0.0-experimental-3649c7162-20250904
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/assert_run_context.js +12 -0
- package/dist/{cjs → esm}/base/index.js +30 -32
- package/dist/esm/base/models/abstract_model_with_async_data.js +190 -0
- package/dist/esm/base/models/base.js +252 -0
- package/dist/esm/base/models/create_aggregators.js +90 -0
- package/dist/esm/base/models/cursor.js +305 -0
- package/dist/esm/base/models/field.js +338 -0
- package/dist/esm/base/models/grouped_record_query_result.js +280 -0
- package/dist/esm/base/models/linked_records_query_result.js +553 -0
- package/dist/{cjs → esm}/base/models/models.js +19 -40
- package/dist/esm/base/models/mutations.js +312 -0
- package/dist/esm/base/models/object_pool.js +145 -0
- package/dist/esm/base/models/record.js +239 -0
- package/dist/{cjs → esm}/base/models/record_coloring.js +6 -6
- package/dist/esm/base/models/record_query_result.js +657 -0
- package/dist/esm/base/models/record_store.js +475 -0
- package/dist/esm/base/models/session.js +154 -0
- package/dist/esm/base/models/table.js +520 -0
- package/dist/esm/base/models/table_or_view_query_result.js +749 -0
- package/dist/esm/base/models/view.js +326 -0
- package/dist/esm/base/models/view_data_store.js +265 -0
- package/dist/esm/base/models/view_metadata_query_result.js +176 -0
- package/dist/esm/base/perform_record_action.js +215 -0
- package/dist/esm/base/sdk.js +178 -0
- package/dist/esm/base/settings_button.js +118 -0
- package/dist/{cjs → esm}/base/types/airtable_interface.js +1 -1
- package/dist/{cjs → esm}/base/types/mutations.js +5 -11
- package/dist/{cjs → esm}/base/types/undo_redo.js +1 -1
- package/dist/{cjs → esm}/base/types/view.js +1 -1
- package/dist/{cjs → esm}/base/ui/base_provider.js +6 -8
- package/dist/esm/base/ui/baymax_utils.js +461 -0
- package/dist/esm/base/ui/block_wrapper.js +118 -0
- package/dist/esm/base/ui/box.js +84 -0
- package/dist/esm/base/ui/button.js +152 -0
- package/dist/esm/base/ui/cell_renderer.js +198 -0
- package/dist/esm/base/ui/choice_token.js +93 -0
- package/dist/esm/base/ui/collaborator_token.js +123 -0
- package/dist/esm/base/ui/color_palette.js +196 -0
- package/dist/esm/base/ui/color_palette_synced.js +69 -0
- package/dist/esm/base/ui/confirmation_dialog.js +103 -0
- package/dist/{cjs → esm}/base/ui/control_sizes.js +24 -22
- package/dist/{cjs → esm}/base/ui/create_detect_element_resize.js +6 -10
- package/dist/{cjs → esm}/base/ui/css_helpers.js +1 -1
- package/dist/esm/base/ui/dialog.js +101 -0
- package/dist/esm/base/ui/dialog_close_button.js +106 -0
- package/dist/{cjs → esm}/base/ui/expand_record.js +1 -2
- package/dist/{cjs → esm}/base/ui/expand_record_list.js +3 -4
- package/dist/esm/base/ui/expand_record_picker_async.js +71 -0
- package/dist/esm/base/ui/field_icon.js +44 -0
- package/dist/esm/base/ui/field_picker.js +98 -0
- package/dist/esm/base/ui/field_picker_synced.js +66 -0
- package/dist/esm/base/ui/form_field.js +109 -0
- package/dist/{cjs → esm}/base/ui/geometry/geometry.js +5 -5
- package/dist/esm/base/ui/geometry/point.js +19 -0
- package/dist/esm/base/ui/geometry/rect.js +51 -0
- package/dist/esm/base/ui/geometry/size.js +19 -0
- package/dist/esm/base/ui/global_alert.js +71 -0
- package/dist/esm/base/ui/heading.js +132 -0
- package/dist/esm/base/ui/icon.js +109 -0
- package/dist/{cjs → esm}/base/ui/icon_config.js +6 -12
- package/dist/{cjs → esm}/base/ui/initialize_block.js +16 -35
- package/dist/esm/base/ui/input.js +161 -0
- package/dist/esm/base/ui/input_synced.js +66 -0
- package/dist/{cjs → esm}/base/ui/key_codes.js +2 -3
- package/dist/esm/base/ui/label.js +80 -0
- package/dist/esm/base/ui/link.js +196 -0
- package/dist/esm/base/ui/loader.js +61 -0
- package/dist/esm/base/ui/modal.js +145 -0
- package/dist/esm/base/ui/model_picker_select.js +57 -0
- package/dist/esm/base/ui/popover.js +315 -0
- package/dist/esm/base/ui/progress_bar.js +115 -0
- package/dist/esm/base/ui/record_card.js +564 -0
- package/dist/esm/base/ui/record_card_list.js +303 -0
- package/dist/esm/base/ui/select.js +191 -0
- package/dist/esm/base/ui/select_and_select_buttons_helpers.js +63 -0
- package/dist/esm/base/ui/select_buttons.js +159 -0
- package/dist/esm/base/ui/select_buttons_synced.js +62 -0
- package/dist/esm/base/ui/select_synced.js +65 -0
- package/dist/esm/base/ui/switch.js +167 -0
- package/dist/esm/base/ui/switch_synced.js +53 -0
- package/dist/esm/base/ui/synced.js +49 -0
- package/dist/{cjs → esm}/base/ui/system/all_styles_set.js +4 -12
- package/dist/esm/base/ui/system/appearance/appearance_set.js +27 -0
- package/dist/esm/base/ui/system/appearance/background_color.js +18 -0
- package/dist/{cjs → esm}/base/ui/system/appearance/border.js +3 -6
- package/dist/esm/base/ui/system/appearance/border_radius.js +18 -0
- package/dist/esm/base/ui/system/appearance/box_shadow.js +18 -0
- package/dist/esm/base/ui/system/appearance/opacity.js +18 -0
- package/dist/esm/base/ui/system/dimensions/dimensions_set.js +29 -0
- package/dist/esm/base/ui/system/dimensions/height.js +18 -0
- package/dist/esm/base/ui/system/dimensions/max_height.js +18 -0
- package/dist/esm/base/ui/system/dimensions/max_width.js +18 -0
- package/dist/esm/base/ui/system/dimensions/min_height.js +18 -0
- package/dist/esm/base/ui/system/dimensions/min_width.js +18 -0
- package/dist/esm/base/ui/system/dimensions/width.js +18 -0
- package/dist/esm/base/ui/system/display.js +19 -0
- package/dist/esm/base/ui/system/flex_container/align_content.js +15 -0
- package/dist/esm/base/ui/system/flex_container/align_items.js +15 -0
- package/dist/esm/base/ui/system/flex_container/flex_container_set.js +29 -0
- package/dist/esm/base/ui/system/flex_container/flex_direction.js +15 -0
- package/dist/esm/base/ui/system/flex_container/flex_wrap.js +15 -0
- package/dist/esm/base/ui/system/flex_container/justify_content.js +15 -0
- package/dist/esm/base/ui/system/flex_container/justify_items.js +16 -0
- package/dist/esm/base/ui/system/flex_item/align_self.js +15 -0
- package/dist/esm/base/ui/system/flex_item/flex.js +15 -0
- package/dist/esm/base/ui/system/flex_item/flex_basis.js +15 -0
- package/dist/esm/base/ui/system/flex_item/flex_grow.js +15 -0
- package/dist/esm/base/ui/system/flex_item/flex_item_set.js +31 -0
- package/dist/esm/base/ui/system/flex_item/flex_shrink.js +15 -0
- package/dist/esm/base/ui/system/flex_item/justify_self.js +16 -0
- package/dist/esm/base/ui/system/flex_item/order.js +15 -0
- package/dist/{cjs → esm}/base/ui/system/index.js +104 -416
- package/dist/esm/base/ui/system/overflow.js +21 -0
- package/dist/{cjs → esm}/base/ui/system/position/bottom.js +4 -6
- package/dist/{cjs → esm}/base/ui/system/position/left.js +4 -6
- package/dist/esm/base/ui/system/position/position.js +15 -0
- package/dist/esm/base/ui/system/position/position_set.js +29 -0
- package/dist/{cjs → esm}/base/ui/system/position/right.js +4 -6
- package/dist/{cjs → esm}/base/ui/system/position/top.js +4 -6
- package/dist/esm/base/ui/system/position/z_index.js +18 -0
- package/dist/{cjs → esm}/base/ui/system/spacing/margin.js +4 -6
- package/dist/{cjs → esm}/base/ui/system/spacing/padding.js +4 -6
- package/dist/esm/base/ui/system/spacing/spacing_set.js +21 -0
- package/dist/esm/base/ui/system/typography/font_family.js +18 -0
- package/dist/esm/base/ui/system/typography/font_size.js +18 -0
- package/dist/esm/base/ui/system/typography/font_style.js +15 -0
- package/dist/esm/base/ui/system/typography/font_weight.js +18 -0
- package/dist/esm/base/ui/system/typography/letter_spacing.js +18 -0
- package/dist/esm/base/ui/system/typography/line_height.js +15 -0
- package/dist/esm/base/ui/system/typography/text_align.js +15 -0
- package/dist/esm/base/ui/system/typography/text_color.js +18 -0
- package/dist/esm/base/ui/system/typography/text_decoration.js +15 -0
- package/dist/esm/base/ui/system/typography/text_transform.js +15 -0
- package/dist/esm/base/ui/system/typography/typography_set.js +37 -0
- package/dist/{cjs → esm}/base/ui/system/utils/ensure_numbers_are_within_scale.js +3 -4
- package/dist/esm/base/ui/system/utils/get_style_props_for_responsive_prop.js +73 -0
- package/dist/esm/base/ui/table_picker.js +71 -0
- package/dist/esm/base/ui/table_picker_synced.js +62 -0
- package/dist/esm/base/ui/text.js +117 -0
- package/dist/esm/base/ui/text_button.js +196 -0
- package/dist/{cjs → esm}/base/ui/theme/default_theme/button_variants.js +3 -3
- package/dist/esm/base/ui/theme/default_theme/control_sizes.js +102 -0
- package/dist/{cjs → esm}/base/ui/theme/default_theme/heading_styles.js +1 -1
- package/dist/{cjs → esm}/base/ui/theme/default_theme/index.js +9 -15
- package/dist/{cjs → esm}/base/ui/theme/default_theme/input_variants.js +3 -3
- package/dist/{cjs → esm}/base/ui/theme/default_theme/link_variants.js +3 -3
- package/dist/{cjs → esm}/base/ui/theme/default_theme/select_buttons_variants.js +4 -4
- package/dist/esm/base/ui/theme/default_theme/select_variants.js +50 -0
- package/dist/esm/base/ui/theme/default_theme/switch_variants.js +85 -0
- package/dist/{cjs → esm}/base/ui/theme/default_theme/text_button_variants.js +5 -5
- package/dist/{cjs → esm}/base/ui/theme/default_theme/text_styles.js +1 -1
- package/dist/{cjs → esm}/base/ui/theme/default_theme/tokens.js +14 -14
- package/dist/{cjs → esm}/base/ui/theme/theme_context.js +2 -2
- package/dist/{cjs → esm}/base/ui/theme/use_theme.js +2 -2
- package/dist/esm/base/ui/tooltip.js +175 -0
- package/dist/{cjs → esm}/base/ui/ui.js +48 -49
- package/dist/{cjs → esm}/base/ui/unstable_standalone_ui.js +27 -27
- package/dist/{cjs → esm}/base/ui/use_base.js +1 -1
- package/dist/{cjs → esm}/base/ui/use_cursor.js +5 -4
- package/dist/{cjs → esm}/base/ui/use_form_field.js +1 -1
- package/dist/{cjs → esm}/base/ui/use_loadable.js +25 -91
- package/dist/{cjs → esm}/base/ui/use_record_action_data.js +4 -3
- package/dist/{cjs → esm}/base/ui/use_records.js +9 -13
- package/dist/{cjs → esm}/base/ui/use_session.js +1 -1
- package/dist/{cjs → esm}/base/ui/use_settings_button.js +4 -3
- package/dist/esm/base/ui/use_styled_system.js +25 -0
- package/dist/{cjs → esm}/base/ui/use_text_color_for_background_color.js +4 -3
- package/dist/{cjs → esm}/base/ui/use_view_metadata.js +4 -4
- package/dist/{cjs → esm}/base/ui/use_viewport.js +2 -2
- package/dist/esm/base/ui/view_picker.js +89 -0
- package/dist/esm/base/ui/view_picker_synced.js +66 -0
- package/dist/esm/base/ui/viewport_constraint.js +129 -0
- package/dist/esm/base/ui/with_styled_system.js +129 -0
- package/dist/esm/base/undo_redo.js +37 -0
- package/dist/{cjs → esm}/base/unstable_testing_utils.js +27 -27
- package/dist/esm/base/viewport.js +353 -0
- package/dist/esm/injected/airtable_interface.js +22 -0
- package/dist/esm/interface/assert_run_context.js +12 -0
- package/dist/esm/interface/index.js +22 -0
- package/dist/esm/interface/models/base.js +35 -0
- package/dist/esm/interface/models/field.js +28 -0
- package/dist/{cjs → esm}/interface/models/models.js +8 -7
- package/dist/esm/interface/models/mutations.js +63 -0
- package/dist/esm/interface/models/record.js +51 -0
- package/dist/esm/interface/models/record_store.js +51 -0
- package/dist/esm/interface/models/session.js +28 -0
- package/dist/esm/interface/models/table.js +97 -0
- package/dist/esm/interface/sdk.js +78 -0
- package/dist/{cjs → esm}/interface/types/airtable_interface.js +2 -2
- package/dist/esm/interface/types/mutations.js +17 -0
- package/dist/esm/interface/ui/block_wrapper.js +69 -0
- package/dist/{cjs → esm}/interface/ui/initialize_block.js +13 -28
- package/dist/{cjs → esm}/interface/ui/ui.js +20 -19
- package/dist/{cjs → esm}/interface/ui/use_base.js +1 -1
- package/dist/{cjs → esm}/interface/ui/use_custom_properties.js +19 -35
- package/dist/{cjs → esm}/interface/ui/use_records.js +6 -5
- package/dist/{cjs → esm}/interface/ui/use_run_info.js +2 -2
- package/dist/{cjs → esm}/interface/ui/use_session.js +1 -1
- package/dist/{cjs → esm}/shared/color_utils.js +9 -16
- package/dist/{cjs → esm}/shared/colors.js +2 -2
- package/dist/{cjs → esm}/shared/error_utils.js +9 -11
- package/dist/{cjs → esm}/shared/event_tracker.js +3 -3
- package/dist/esm/shared/global_config.js +399 -0
- package/dist/esm/shared/models/abstract_model.js +94 -0
- package/dist/esm/shared/models/base_core.js +482 -0
- package/dist/esm/shared/models/field_core.js +288 -0
- package/dist/esm/shared/models/mutations_core.js +343 -0
- package/dist/esm/shared/models/record_core.js +215 -0
- package/dist/esm/shared/models/record_store_core.js +160 -0
- package/dist/esm/shared/models/session_core.js +160 -0
- package/dist/esm/shared/models/table_core.js +1318 -0
- package/dist/{cjs → esm}/shared/private_utils.js +54 -124
- package/dist/esm/shared/sdk_core.js +113 -0
- package/dist/{cjs → esm}/shared/types/field_core.js +1 -1
- package/dist/esm/shared/types/mutation_constants.js +11 -0
- package/dist/{cjs → esm}/shared/types/mutations_core.js +1 -1
- package/dist/{cjs → esm}/shared/types/permission_levels.js +1 -1
- package/dist/esm/shared/types/record.js +1 -0
- package/dist/esm/shared/types/stat.js +1 -0
- package/dist/esm/shared/types/table_core.js +1 -0
- package/dist/{cjs → esm}/shared/ui/global_config_synced_component_helpers.js +9 -9
- package/dist/esm/shared/ui/loader.js +47 -0
- package/dist/{cjs → esm}/shared/ui/remote_utils.js +5 -7
- package/dist/{cjs → esm}/shared/ui/sdk_context.js +4 -8
- package/dist/{cjs → esm}/shared/ui/use_array_identity.js +2 -2
- package/dist/{cjs → esm}/shared/ui/use_base.js +6 -5
- package/dist/{cjs → esm}/shared/ui/use_color_scheme.js +3 -8
- package/dist/{cjs → esm}/shared/ui/use_global_config.js +5 -4
- package/dist/{cjs → esm}/shared/ui/use_session.js +6 -5
- package/dist/{cjs → esm}/shared/ui/use_synced.js +7 -5
- package/dist/{cjs → esm}/shared/ui/use_watchable.js +13 -42
- package/dist/{cjs → esm}/shared/ui/with_hooks.js +6 -13
- package/dist/{cjs → esm}/shared/unstable_private_utils.js +4 -6
- package/dist/{cjs → esm}/shared/warning.js +5 -5
- package/dist/esm/shared/watchable.js +150 -0
- package/dist/esm/stats/block_stats.js +73 -0
- package/dist/esm/testing/base/abstract_mock_airtable_interface.js +208 -0
- package/dist/esm/testing/interface/abstract_mock_airtable_interface.js +124 -0
- package/dist/types/src/base/assert_run_context.d.ts +2 -0
- package/dist/types/src/base/assert_run_context.d.ts.map +1 -0
- package/dist/types/src/base/index.d.ts +1 -0
- package/dist/types/src/base/index.d.ts.map +1 -1
- package/dist/types/src/base/models/base.d.ts +19 -0
- package/dist/types/src/base/models/base.d.ts.map +1 -1
- package/dist/types/src/base/models/create_aggregators.d.ts +3 -4
- package/dist/types/src/base/models/create_aggregators.d.ts.map +1 -1
- package/dist/types/src/base/models/field.d.ts +3 -2
- package/dist/types/src/base/models/field.d.ts.map +1 -1
- package/dist/types/src/base/models/models.d.ts +1 -2
- package/dist/types/src/base/models/models.d.ts.map +1 -1
- package/dist/types/src/base/models/mutations.d.ts.map +1 -1
- package/dist/types/src/base/sdk.d.ts.map +1 -1
- package/dist/types/src/base/ui/block_wrapper.d.ts +1 -1
- package/dist/types/src/base/ui/box.d.ts.map +1 -1
- package/dist/types/src/base/ui/button.d.ts +0 -5
- package/dist/types/src/base/ui/button.d.ts.map +1 -1
- package/dist/types/src/base/ui/cell_renderer.d.ts +1 -22
- package/dist/types/src/base/ui/cell_renderer.d.ts.map +1 -1
- package/dist/types/src/base/ui/choice_token.d.ts +1 -21
- package/dist/types/src/base/ui/choice_token.d.ts.map +1 -1
- package/dist/types/src/base/ui/collaborator_token.d.ts +0 -20
- package/dist/types/src/base/ui/collaborator_token.d.ts.map +1 -1
- package/dist/types/src/base/ui/color_palette.d.ts +1 -32
- package/dist/types/src/base/ui/color_palette.d.ts.map +1 -1
- package/dist/types/src/base/ui/color_palette_synced.d.ts +0 -14
- package/dist/types/src/base/ui/color_palette_synced.d.ts.map +1 -1
- package/dist/types/src/base/ui/confirmation_dialog.d.ts +0 -17
- package/dist/types/src/base/ui/confirmation_dialog.d.ts.map +1 -1
- package/dist/types/src/base/ui/control_sizes.d.ts +0 -1
- package/dist/types/src/base/ui/control_sizes.d.ts.map +1 -1
- package/dist/types/src/base/ui/dialog.d.ts +1 -23
- package/dist/types/src/base/ui/dialog.d.ts.map +1 -1
- package/dist/types/src/base/ui/dialog_close_button.d.ts +2 -24
- package/dist/types/src/base/ui/dialog_close_button.d.ts.map +1 -1
- package/dist/types/src/base/ui/field_icon.d.ts +1 -17
- package/dist/types/src/base/ui/field_icon.d.ts.map +1 -1
- package/dist/types/src/base/ui/field_picker.d.ts +0 -23
- package/dist/types/src/base/ui/field_picker.d.ts.map +1 -1
- package/dist/types/src/base/ui/field_picker_synced.d.ts.map +1 -1
- package/dist/types/src/base/ui/form_field.d.ts +0 -4
- package/dist/types/src/base/ui/form_field.d.ts.map +1 -1
- package/dist/types/src/base/ui/heading.d.ts +1 -1
- package/dist/types/src/base/ui/heading.d.ts.map +1 -1
- package/dist/types/src/base/ui/icon.d.ts +0 -16
- package/dist/types/src/base/ui/icon.d.ts.map +1 -1
- package/dist/types/src/base/ui/icon_config.d.ts +50 -51
- package/dist/types/src/base/ui/icon_config.d.ts.map +1 -1
- package/dist/types/src/base/ui/initialize_block.d.ts.map +1 -1
- package/dist/types/src/base/ui/input.d.ts +12 -46
- package/dist/types/src/base/ui/input.d.ts.map +1 -1
- package/dist/types/src/base/ui/input_synced.d.ts.map +1 -1
- package/dist/types/src/base/ui/label.d.ts.map +1 -1
- package/dist/types/src/base/ui/link.d.ts +1 -5
- package/dist/types/src/base/ui/link.d.ts.map +1 -1
- package/dist/types/src/base/ui/loader.d.ts +3 -20
- package/dist/types/src/base/ui/loader.d.ts.map +1 -1
- package/dist/types/src/base/ui/modal.d.ts +1 -14
- package/dist/types/src/base/ui/modal.d.ts.map +1 -1
- package/dist/types/src/base/ui/model_picker_select.d.ts.map +1 -1
- package/dist/types/src/base/ui/popover.d.ts +1 -17
- package/dist/types/src/base/ui/popover.d.ts.map +1 -1
- package/dist/types/src/base/ui/progress_bar.d.ts +1 -24
- package/dist/types/src/base/ui/progress_bar.d.ts.map +1 -1
- package/dist/types/src/base/ui/record_card.d.ts +1 -23
- package/dist/types/src/base/ui/record_card.d.ts.map +1 -1
- package/dist/types/src/base/ui/record_card_list.d.ts +1 -18
- package/dist/types/src/base/ui/record_card_list.d.ts.map +1 -1
- package/dist/types/src/base/ui/select.d.ts +0 -44
- package/dist/types/src/base/ui/select.d.ts.map +1 -1
- package/dist/types/src/base/ui/select_and_select_buttons_helpers.d.ts +0 -2
- package/dist/types/src/base/ui/select_and_select_buttons_helpers.d.ts.map +1 -1
- package/dist/types/src/base/ui/select_buttons.d.ts +0 -22
- package/dist/types/src/base/ui/select_buttons.d.ts.map +1 -1
- package/dist/types/src/base/ui/select_buttons_synced.d.ts.map +1 -1
- package/dist/types/src/base/ui/select_synced.d.ts.map +1 -1
- package/dist/types/src/base/ui/switch.d.ts +0 -22
- package/dist/types/src/base/ui/switch.d.ts.map +1 -1
- package/dist/types/src/base/ui/switch_synced.d.ts.map +1 -1
- package/dist/types/src/base/ui/synced.d.ts +2 -8
- package/dist/types/src/base/ui/synced.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/all_styles_set.d.ts +0 -3
- package/dist/types/src/base/ui/system/all_styles_set.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/appearance/appearance_set.d.ts +0 -1
- package/dist/types/src/base/ui/system/appearance/appearance_set.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/appearance/background_color.d.ts +0 -1
- package/dist/types/src/base/ui/system/appearance/background_color.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/appearance/border.d.ts +0 -1
- package/dist/types/src/base/ui/system/appearance/border.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/appearance/border_radius.d.ts +0 -1
- package/dist/types/src/base/ui/system/appearance/border_radius.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/appearance/box_shadow.d.ts +0 -1
- package/dist/types/src/base/ui/system/appearance/box_shadow.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/appearance/opacity.d.ts +0 -1
- package/dist/types/src/base/ui/system/appearance/opacity.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/dimensions/dimensions_set.d.ts +0 -1
- package/dist/types/src/base/ui/system/dimensions/dimensions_set.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/dimensions/height.d.ts +0 -1
- package/dist/types/src/base/ui/system/dimensions/height.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/dimensions/max_height.d.ts +0 -1
- package/dist/types/src/base/ui/system/dimensions/max_height.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/dimensions/max_width.d.ts +0 -1
- package/dist/types/src/base/ui/system/dimensions/max_width.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/dimensions/min_height.d.ts +0 -1
- package/dist/types/src/base/ui/system/dimensions/min_height.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/dimensions/min_width.d.ts +0 -1
- package/dist/types/src/base/ui/system/dimensions/min_width.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/dimensions/width.d.ts +0 -1
- package/dist/types/src/base/ui/system/dimensions/width.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/display.d.ts +0 -1
- package/dist/types/src/base/ui/system/display.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/flex_container/align_content.d.ts +0 -1
- package/dist/types/src/base/ui/system/flex_container/align_content.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/flex_container/align_items.d.ts +0 -1
- package/dist/types/src/base/ui/system/flex_container/align_items.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/flex_container/flex_container_set.d.ts +0 -1
- package/dist/types/src/base/ui/system/flex_container/flex_container_set.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/flex_container/flex_direction.d.ts +0 -1
- package/dist/types/src/base/ui/system/flex_container/flex_direction.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/flex_container/flex_wrap.d.ts +0 -1
- package/dist/types/src/base/ui/system/flex_container/flex_wrap.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/flex_container/justify_content.d.ts +0 -1
- package/dist/types/src/base/ui/system/flex_container/justify_content.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/flex_container/justify_items.d.ts +0 -1
- package/dist/types/src/base/ui/system/flex_container/justify_items.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/flex_item/align_self.d.ts +0 -1
- package/dist/types/src/base/ui/system/flex_item/align_self.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/flex_item/flex.d.ts +0 -1
- package/dist/types/src/base/ui/system/flex_item/flex.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/flex_item/flex_basis.d.ts +0 -1
- package/dist/types/src/base/ui/system/flex_item/flex_basis.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/flex_item/flex_grow.d.ts +0 -1
- package/dist/types/src/base/ui/system/flex_item/flex_grow.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/flex_item/flex_item_set.d.ts +0 -1
- package/dist/types/src/base/ui/system/flex_item/flex_item_set.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/flex_item/flex_shrink.d.ts +0 -1
- package/dist/types/src/base/ui/system/flex_item/flex_shrink.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/flex_item/justify_self.d.ts +0 -1
- package/dist/types/src/base/ui/system/flex_item/justify_self.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/flex_item/order.d.ts +0 -1
- package/dist/types/src/base/ui/system/flex_item/order.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/index.d.ts +52 -52
- package/dist/types/src/base/ui/system/index.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/overflow.d.ts +0 -1
- package/dist/types/src/base/ui/system/overflow.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/position/bottom.d.ts +0 -1
- package/dist/types/src/base/ui/system/position/bottom.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/position/left.d.ts +0 -1
- package/dist/types/src/base/ui/system/position/left.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/position/position.d.ts +0 -1
- package/dist/types/src/base/ui/system/position/position.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/position/position_set.d.ts +0 -1
- package/dist/types/src/base/ui/system/position/position_set.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/position/right.d.ts +0 -1
- package/dist/types/src/base/ui/system/position/right.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/position/top.d.ts +0 -1
- package/dist/types/src/base/ui/system/position/top.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/position/z_index.d.ts +0 -1
- package/dist/types/src/base/ui/system/position/z_index.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/spacing/margin.d.ts +0 -1
- package/dist/types/src/base/ui/system/spacing/margin.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/spacing/padding.d.ts +0 -1
- package/dist/types/src/base/ui/system/spacing/padding.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/spacing/spacing_set.d.ts +0 -1
- package/dist/types/src/base/ui/system/spacing/spacing_set.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/typography/font_family.d.ts +0 -1
- package/dist/types/src/base/ui/system/typography/font_family.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/typography/font_size.d.ts +0 -1
- package/dist/types/src/base/ui/system/typography/font_size.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/typography/font_style.d.ts +0 -1
- package/dist/types/src/base/ui/system/typography/font_style.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/typography/font_weight.d.ts +0 -1
- package/dist/types/src/base/ui/system/typography/font_weight.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/typography/letter_spacing.d.ts +0 -1
- package/dist/types/src/base/ui/system/typography/letter_spacing.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/typography/line_height.d.ts +0 -1
- package/dist/types/src/base/ui/system/typography/line_height.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/typography/text_align.d.ts +0 -1
- package/dist/types/src/base/ui/system/typography/text_align.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/typography/text_color.d.ts +0 -1
- package/dist/types/src/base/ui/system/typography/text_color.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/typography/text_decoration.d.ts +0 -1
- package/dist/types/src/base/ui/system/typography/text_decoration.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/typography/text_transform.d.ts +0 -1
- package/dist/types/src/base/ui/system/typography/text_transform.d.ts.map +1 -1
- package/dist/types/src/base/ui/system/typography/typography_set.d.ts +0 -1
- package/dist/types/src/base/ui/system/typography/typography_set.d.ts.map +1 -1
- package/dist/types/src/base/ui/table_picker.d.ts +0 -21
- package/dist/types/src/base/ui/table_picker.d.ts.map +1 -1
- package/dist/types/src/base/ui/table_picker_synced.d.ts.map +1 -1
- package/dist/types/src/base/ui/text.d.ts +0 -3
- package/dist/types/src/base/ui/text.d.ts.map +1 -1
- package/dist/types/src/base/ui/text_button.d.ts +1 -5
- package/dist/types/src/base/ui/text_button.d.ts.map +1 -1
- package/dist/types/src/base/ui/theme/default_theme/index.d.ts +1 -1
- package/dist/types/src/base/ui/theme/theme_context.d.ts +1 -1
- package/dist/types/src/base/ui/theme/use_theme.d.ts +1 -1
- package/dist/types/src/base/ui/tooltip.d.ts +0 -16
- package/dist/types/src/base/ui/tooltip.d.ts.map +1 -1
- package/dist/types/src/base/ui/types/aria_props.d.ts.map +1 -1
- package/dist/types/src/base/ui/types/data_attributes_prop.d.ts +0 -4
- package/dist/types/src/base/ui/types/data_attributes_prop.d.ts.map +1 -1
- package/dist/types/src/base/ui/types/tooltip_anchor_props.d.ts +0 -7
- package/dist/types/src/base/ui/types/tooltip_anchor_props.d.ts.map +1 -1
- package/dist/types/src/base/ui/ui.d.ts +1 -0
- package/dist/types/src/base/ui/ui.d.ts.map +1 -1
- package/dist/types/src/base/ui/view_picker.d.ts +0 -23
- package/dist/types/src/base/ui/view_picker.d.ts.map +1 -1
- package/dist/types/src/base/ui/view_picker_synced.d.ts.map +1 -1
- package/dist/types/src/base/ui/viewport_constraint.d.ts +1 -14
- package/dist/types/src/base/ui/viewport_constraint.d.ts.map +1 -1
- package/dist/types/src/base/unstable_testing_utils.d.ts +1 -1
- package/dist/types/src/base/unstable_testing_utils.d.ts.map +1 -1
- package/dist/types/src/interface/assert_run_context.d.ts +2 -0
- package/dist/types/src/interface/assert_run_context.d.ts.map +1 -0
- package/dist/types/src/interface/index.d.ts +1 -6
- package/dist/types/src/interface/index.d.ts.map +1 -1
- package/dist/types/src/interface/models/models.d.ts +1 -0
- package/dist/types/src/interface/models/models.d.ts.map +1 -1
- package/dist/types/src/interface/models/mutations.d.ts.map +1 -1
- package/dist/types/src/interface/ui/initialize_block.d.ts.map +1 -1
- package/dist/types/src/interface/ui/ui.d.ts +1 -0
- package/dist/types/src/interface/ui/ui.d.ts.map +1 -1
- package/dist/types/src/interface/ui/use_custom_properties.d.ts +1 -1
- package/dist/types/src/shared/models/mutations_core.d.ts.map +1 -1
- package/dist/types/src/shared/private_utils.d.ts +0 -9
- package/dist/types/src/shared/private_utils.d.ts.map +1 -1
- package/dist/types/src/shared/ui/global_config_synced_component_helpers.d.ts +0 -2
- package/dist/types/src/shared/ui/global_config_synced_component_helpers.d.ts.map +1 -1
- package/dist/types/src/shared/ui/loader.d.ts.map +1 -1
- package/dist/types/src/shared/ui/with_hooks.d.ts +2 -2
- package/dist/types/src/shared/ui/with_hooks.d.ts.map +1 -1
- package/dist/types/src/testing/{abstract_mock_airtable_interface.d.ts → base/abstract_mock_airtable_interface.d.ts} +13 -13
- package/dist/types/src/testing/base/abstract_mock_airtable_interface.d.ts.map +1 -0
- package/dist/types/src/testing/interface/abstract_mock_airtable_interface.d.ts +51 -0
- package/dist/types/src/testing/interface/abstract_mock_airtable_interface.d.ts.map +1 -0
- package/models.js +1 -1
- package/package.json +24 -23
- package/types.js +1 -1
- package/dist/cjs/base/models/abstract_model_with_async_data.js +0 -273
- package/dist/cjs/base/models/base.js +0 -306
- package/dist/cjs/base/models/create_aggregators.js +0 -115
- package/dist/cjs/base/models/cursor.js +0 -393
- package/dist/cjs/base/models/field.js +0 -427
- package/dist/cjs/base/models/grouped_record_query_result.js +0 -399
- package/dist/cjs/base/models/linked_records_query_result.js +0 -728
- package/dist/cjs/base/models/mutations.js +0 -338
- package/dist/cjs/base/models/object_pool.js +0 -184
- package/dist/cjs/base/models/record.js +0 -304
- package/dist/cjs/base/models/record_query_result.js +0 -741
- package/dist/cjs/base/models/record_store.js +0 -825
- package/dist/cjs/base/models/session.js +0 -182
- package/dist/cjs/base/models/table.js +0 -668
- package/dist/cjs/base/models/table_or_view_query_result.js +0 -1013
- package/dist/cjs/base/models/view.js +0 -431
- package/dist/cjs/base/models/view_data_store.js +0 -403
- package/dist/cjs/base/models/view_metadata_query_result.js +0 -224
- package/dist/cjs/base/perform_record_action.js +0 -257
- package/dist/cjs/base/sdk.js +0 -233
- package/dist/cjs/base/settings_button.js +0 -138
- package/dist/cjs/base/ui/baymax_utils.js +0 -133
- package/dist/cjs/base/ui/block_wrapper.js +0 -143
- package/dist/cjs/base/ui/box.js +0 -110
- package/dist/cjs/base/ui/button.js +0 -182
- package/dist/cjs/base/ui/cell_renderer.js +0 -255
- package/dist/cjs/base/ui/choice_token.js +0 -110
- package/dist/cjs/base/ui/collaborator_token.js +0 -145
- package/dist/cjs/base/ui/color_palette.js +0 -239
- package/dist/cjs/base/ui/color_palette_synced.js +0 -98
- package/dist/cjs/base/ui/confirmation_dialog.js +0 -153
- package/dist/cjs/base/ui/dialog.js +0 -142
- package/dist/cjs/base/ui/dialog_close_button.js +0 -152
- package/dist/cjs/base/ui/expand_record_picker_async.js +0 -100
- package/dist/cjs/base/ui/field_icon.js +0 -62
- package/dist/cjs/base/ui/field_picker.js +0 -143
- package/dist/cjs/base/ui/field_picker_synced.js +0 -88
- package/dist/cjs/base/ui/form_field.js +0 -137
- package/dist/cjs/base/ui/geometry/point.js +0 -21
- package/dist/cjs/base/ui/geometry/rect.js +0 -67
- package/dist/cjs/base/ui/geometry/size.js +0 -21
- package/dist/cjs/base/ui/global_alert.js +0 -92
- package/dist/cjs/base/ui/heading.js +0 -181
- package/dist/cjs/base/ui/icon.js +0 -129
- package/dist/cjs/base/ui/input.js +0 -200
- package/dist/cjs/base/ui/input_synced.js +0 -89
- package/dist/cjs/base/ui/label.js +0 -105
- package/dist/cjs/base/ui/link.js +0 -229
- package/dist/cjs/base/ui/loader.js +0 -82
- package/dist/cjs/base/ui/modal.js +0 -184
- package/dist/cjs/base/ui/model_picker_select.js +0 -83
- package/dist/cjs/base/ui/popover.js +0 -407
- package/dist/cjs/base/ui/progress_bar.js +0 -128
- package/dist/cjs/base/ui/record_card.js +0 -653
- package/dist/cjs/base/ui/record_card_list.js +0 -377
- package/dist/cjs/base/ui/select.js +0 -247
- package/dist/cjs/base/ui/select_and_select_buttons_helpers.js +0 -87
- package/dist/cjs/base/ui/select_buttons.js +0 -192
- package/dist/cjs/base/ui/select_buttons_synced.js +0 -84
- package/dist/cjs/base/ui/select_synced.js +0 -87
- package/dist/cjs/base/ui/switch.js +0 -196
- package/dist/cjs/base/ui/switch_synced.js +0 -75
- package/dist/cjs/base/ui/synced.js +0 -70
- package/dist/cjs/base/ui/system/appearance/appearance_set.js +0 -30
- package/dist/cjs/base/ui/system/appearance/background_color.js +0 -21
- package/dist/cjs/base/ui/system/appearance/border_radius.js +0 -21
- package/dist/cjs/base/ui/system/appearance/box_shadow.js +0 -21
- package/dist/cjs/base/ui/system/appearance/opacity.js +0 -21
- package/dist/cjs/base/ui/system/dimensions/dimensions_set.js +0 -31
- package/dist/cjs/base/ui/system/dimensions/height.js +0 -21
- package/dist/cjs/base/ui/system/dimensions/max_height.js +0 -21
- package/dist/cjs/base/ui/system/dimensions/max_width.js +0 -21
- package/dist/cjs/base/ui/system/dimensions/min_height.js +0 -21
- package/dist/cjs/base/ui/system/dimensions/min_width.js +0 -21
- package/dist/cjs/base/ui/system/dimensions/width.js +0 -21
- package/dist/cjs/base/ui/system/display.js +0 -22
- package/dist/cjs/base/ui/system/flex_container/align_content.js +0 -18
- package/dist/cjs/base/ui/system/flex_container/align_items.js +0 -18
- package/dist/cjs/base/ui/system/flex_container/flex_container_set.js +0 -31
- package/dist/cjs/base/ui/system/flex_container/flex_direction.js +0 -18
- package/dist/cjs/base/ui/system/flex_container/flex_wrap.js +0 -18
- package/dist/cjs/base/ui/system/flex_container/justify_content.js +0 -18
- package/dist/cjs/base/ui/system/flex_container/justify_items.js +0 -19
- package/dist/cjs/base/ui/system/flex_item/align_self.js +0 -18
- package/dist/cjs/base/ui/system/flex_item/flex.js +0 -18
- package/dist/cjs/base/ui/system/flex_item/flex_basis.js +0 -18
- package/dist/cjs/base/ui/system/flex_item/flex_grow.js +0 -18
- package/dist/cjs/base/ui/system/flex_item/flex_item_set.js +0 -32
- package/dist/cjs/base/ui/system/flex_item/flex_shrink.js +0 -18
- package/dist/cjs/base/ui/system/flex_item/justify_self.js +0 -19
- package/dist/cjs/base/ui/system/flex_item/order.js +0 -18
- package/dist/cjs/base/ui/system/overflow.js +0 -24
- package/dist/cjs/base/ui/system/position/position.js +0 -18
- package/dist/cjs/base/ui/system/position/position_set.js +0 -31
- package/dist/cjs/base/ui/system/position/z_index.js +0 -21
- package/dist/cjs/base/ui/system/spacing/spacing_set.js +0 -27
- package/dist/cjs/base/ui/system/typography/font_family.js +0 -21
- package/dist/cjs/base/ui/system/typography/font_size.js +0 -21
- package/dist/cjs/base/ui/system/typography/font_style.js +0 -18
- package/dist/cjs/base/ui/system/typography/font_weight.js +0 -21
- package/dist/cjs/base/ui/system/typography/letter_spacing.js +0 -21
- package/dist/cjs/base/ui/system/typography/line_height.js +0 -18
- package/dist/cjs/base/ui/system/typography/text_align.js +0 -18
- package/dist/cjs/base/ui/system/typography/text_color.js +0 -21
- package/dist/cjs/base/ui/system/typography/text_decoration.js +0 -18
- package/dist/cjs/base/ui/system/typography/text_transform.js +0 -18
- package/dist/cjs/base/ui/system/typography/typography_set.js +0 -35
- package/dist/cjs/base/ui/system/utils/create_responsive_prop_type.js +0 -19
- package/dist/cjs/base/ui/system/utils/create_style_prop_types.js +0 -24
- package/dist/cjs/base/ui/system/utils/enum_prop_type_utils.js +0 -35
- package/dist/cjs/base/ui/system/utils/get_style_props_for_responsive_prop.js +0 -113
- package/dist/cjs/base/ui/table_picker.js +0 -95
- package/dist/cjs/base/ui/table_picker_synced.js +0 -84
- package/dist/cjs/base/ui/text.js +0 -150
- package/dist/cjs/base/ui/text_button.js +0 -228
- package/dist/cjs/base/ui/theme/default_theme/control_sizes.js +0 -96
- package/dist/cjs/base/ui/theme/default_theme/select_variants.js +0 -59
- package/dist/cjs/base/ui/theme/default_theme/switch_variants.js +0 -91
- package/dist/cjs/base/ui/tooltip.js +0 -215
- package/dist/cjs/base/ui/types/aria_props.js +0 -23
- package/dist/cjs/base/ui/types/data_attributes_prop.js +0 -18
- package/dist/cjs/base/ui/types/tooltip_anchor_props.js +0 -17
- package/dist/cjs/base/ui/use_styled_system.js +0 -32
- package/dist/cjs/base/ui/view_picker.js +0 -133
- package/dist/cjs/base/ui/view_picker_synced.js +0 -88
- package/dist/cjs/base/ui/viewport_constraint.js +0 -176
- package/dist/cjs/base/ui/with_styled_system.js +0 -165
- package/dist/cjs/base/undo_redo.js +0 -48
- package/dist/cjs/base/viewport.js +0 -397
- package/dist/cjs/injected/airtable_interface.js +0 -22
- package/dist/cjs/interface/index.js +0 -36
- package/dist/cjs/interface/models/base.js +0 -54
- package/dist/cjs/interface/models/field.js +0 -42
- package/dist/cjs/interface/models/mutations.js +0 -79
- package/dist/cjs/interface/models/record.js +0 -71
- package/dist/cjs/interface/models/record_store.js +0 -83
- package/dist/cjs/interface/models/session.js +0 -42
- package/dist/cjs/interface/models/table.js +0 -126
- package/dist/cjs/interface/sdk.js +0 -104
- package/dist/cjs/interface/types/mutations.js +0 -24
- package/dist/cjs/interface/ui/block_wrapper.js +0 -61
- package/dist/cjs/shared/global_config.js +0 -511
- package/dist/cjs/shared/models/abstract_model.js +0 -119
- package/dist/cjs/shared/models/base_core.js +0 -602
- package/dist/cjs/shared/models/field_core.js +0 -331
- package/dist/cjs/shared/models/mutations_core.js +0 -439
- package/dist/cjs/shared/models/record_core.js +0 -272
- package/dist/cjs/shared/models/record_store_core.js +0 -213
- package/dist/cjs/shared/models/session_core.js +0 -214
- package/dist/cjs/shared/models/table_core.js +0 -1561
- package/dist/cjs/shared/sdk_core.js +0 -115
- package/dist/cjs/shared/types/mutation_constants.js +0 -11
- package/dist/cjs/shared/ui/loader.js +0 -68
- package/dist/cjs/shared/watchable.js +0 -216
- package/dist/cjs/stats/block_stats.js +0 -96
- package/dist/cjs/testing/abstract_mock_airtable_interface.js +0 -277
- package/dist/types/src/base/ui/system/utils/create_responsive_prop_type.d.ts +0 -2
- package/dist/types/src/base/ui/system/utils/create_responsive_prop_type.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/utils/create_style_prop_types.d.ts +0 -4
- package/dist/types/src/base/ui/system/utils/create_style_prop_types.d.ts.map +0 -1
- package/dist/types/src/base/ui/system/utils/enum_prop_type_utils.d.ts +0 -21
- package/dist/types/src/base/ui/system/utils/enum_prop_type_utils.d.ts.map +0 -1
- package/dist/types/src/testing/abstract_mock_airtable_interface.d.ts.map +0 -1
- /package/dist/{cjs → esm}/base/types/aggregators.js +0 -0
- /package/dist/{cjs → esm}/base/types/backend_fetch_types.js +0 -0
- /package/dist/{cjs → esm}/base/types/base.js +0 -0
- /package/dist/{cjs → esm}/base/types/cursor.js +0 -0
- /package/dist/{cjs → esm}/base/types/field.js +0 -0
- /package/dist/{cjs → esm}/base/types/record.js +0 -0
- /package/dist/{cjs → esm}/base/types/record_action_data.js +0 -0
- /package/dist/{cjs → esm}/base/types/table.js +0 -0
- /package/dist/{cjs → esm}/base/types/viewport.js +0 -0
- /package/dist/{cjs → esm}/base/ui/system/utils/csstype.js +0 -0
- /package/dist/{cjs → esm}/base/ui/system/utils/types.js +0 -0
- /package/dist/{cjs/interface/types/base.js → esm/base/ui/types/aria_props.js} +0 -0
- /package/dist/{cjs/interface/types/field.js → esm/base/ui/types/data_attributes_prop.js} +0 -0
- /package/dist/{cjs/interface/types/record.js → esm/base/ui/types/tooltip_anchor_props.js} +0 -0
- /package/dist/{cjs/interface/types/table.js → esm/interface/types/base.js} +0 -0
- /package/dist/{cjs/sdk_mode.js → esm/interface/types/field.js} +0 -0
- /package/dist/{cjs/shared → esm/interface}/types/record.js +0 -0
- /package/dist/{cjs/shared/types/airtable_interface_core.js → esm/interface/types/table.js} +0 -0
- /package/dist/{cjs → esm}/interface/ui/expand_record.js +0 -0
- /package/dist/{cjs/shared/types/attachment.js → esm/sdk_mode.js} +0 -0
- /package/dist/{cjs/shared/types/base_core.js → esm/shared/types/airtable_interface_core.js} +0 -0
- /package/dist/{cjs/shared/types/collaborator.js → esm/shared/types/attachment.js} +0 -0
- /package/dist/{cjs/shared/types/global_config.js → esm/shared/types/base_core.js} +0 -0
- /package/dist/{cjs/shared/types/hyper_ids.js → esm/shared/types/collaborator.js} +0 -0
- /package/dist/{cjs/shared/types/stat.js → esm/shared/types/global_config.js} +0 -0
- /package/dist/{cjs/shared/types/table_core.js → esm/shared/types/hyper_ids.js} +0 -0
|
@@ -0,0 +1,353 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _watchable = _interopRequireDefault(require("../shared/watchable"));
|
|
8
|
+
var _private_utils = require("../shared/private_utils");
|
|
9
|
+
var _error_utils = require("../shared/error_utils");
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
/** @module @airtable/blocks: viewport */ /** */
|
|
12
|
+
|
|
13
|
+
const WatchableViewportKeys = Object.freeze({
|
|
14
|
+
isFullscreen: 'isFullscreen',
|
|
15
|
+
size: 'size',
|
|
16
|
+
minSize: 'minSize',
|
|
17
|
+
maxFullscreenSize: 'maxFullscreenSize'
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Watchable keys in {@link Viewport}.
|
|
22
|
+
* - `isFullscreen`
|
|
23
|
+
* - `size`
|
|
24
|
+
* - `minSize`
|
|
25
|
+
* - `maxFullscreenSize`
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
/** */
|
|
29
|
+
|
|
30
|
+
const compareWithNulls = (a, b, compare) => {
|
|
31
|
+
if (a !== null && b !== null) {
|
|
32
|
+
return compare(a, b);
|
|
33
|
+
}
|
|
34
|
+
if (a === null) {
|
|
35
|
+
return b;
|
|
36
|
+
}
|
|
37
|
+
if (b === null) {
|
|
38
|
+
return a;
|
|
39
|
+
}
|
|
40
|
+
return null;
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Information about the current viewport
|
|
44
|
+
*
|
|
45
|
+
* The {@link useViewport} hook is the recommend way to watch for viewport changes
|
|
46
|
+
* button, but you can also use it directly.
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```js
|
|
50
|
+
* import {viewport} from '@airtable/blocks/base';
|
|
51
|
+
* ```
|
|
52
|
+
* @docsPath models/Viewport
|
|
53
|
+
*/
|
|
54
|
+
class Viewport extends _watchable.default {
|
|
55
|
+
/** @internal */
|
|
56
|
+
static _className = 'Viewport';
|
|
57
|
+
/** @internal */
|
|
58
|
+
static _isWatchableKey(key) {
|
|
59
|
+
return (0, _private_utils.isEnumValue)(WatchableViewportKeys, key);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/** @internal */
|
|
63
|
+
|
|
64
|
+
/** @internal */
|
|
65
|
+
|
|
66
|
+
/** @internal */
|
|
67
|
+
|
|
68
|
+
/** @internal */
|
|
69
|
+
|
|
70
|
+
/** @internal */
|
|
71
|
+
_minSizes = new Set();
|
|
72
|
+
/** @internal */
|
|
73
|
+
_maxFullscreenSizes = new Set();
|
|
74
|
+
/** @internal */
|
|
75
|
+
_cachedMaxFullscreenSize = null;
|
|
76
|
+
/** @internal */
|
|
77
|
+
_cachedMinSize = null;
|
|
78
|
+
|
|
79
|
+
/** @internal */
|
|
80
|
+
constructor(isFullscreen, airtableInterface) {
|
|
81
|
+
super();
|
|
82
|
+
this._isFullscreen = isFullscreen;
|
|
83
|
+
this._airtableInterface = airtableInterface;
|
|
84
|
+
|
|
85
|
+
// When size is watched, we'll increment this counter, and we'll decrement
|
|
86
|
+
// it when it is unwatched and the counter is at 0. This way we can lazily
|
|
87
|
+
// add an event listener for window resize and remove it when nobody is
|
|
88
|
+
// listening anymore.
|
|
89
|
+
this._sizeWatchCount = 0;
|
|
90
|
+
this._onSizeChangeDebounced = (0, _private_utils.debounce)(this._onSizeChange.bind(this), 200);
|
|
91
|
+
|
|
92
|
+
// whenever maxFullscreenSize changes, we want to sync it back to the
|
|
93
|
+
// containing frame
|
|
94
|
+
this.watch(WatchableViewportKeys.maxFullscreenSize, () => {
|
|
95
|
+
this._airtableInterface.setFullscreenMaxSize(this.maxFullscreenSize);
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Request to enter fullscreen mode.
|
|
100
|
+
*
|
|
101
|
+
* May fail if another extension is fullscreen or this extension doesn't have
|
|
102
|
+
* permission to fullscreen itself. Watch `isFullscreen` to know if the
|
|
103
|
+
* request succeeded.
|
|
104
|
+
*/
|
|
105
|
+
enterFullscreenIfPossible() {
|
|
106
|
+
this._airtableInterface.enterFullscreen();
|
|
107
|
+
}
|
|
108
|
+
/** Request to exit fullscreen mode */
|
|
109
|
+
exitFullscreen() {
|
|
110
|
+
this._airtableInterface.exitFullscreen();
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* The maximum dimensions of the extension when it is in
|
|
115
|
+
* fullscreen mode. Returns the smallest set of dimensions added with
|
|
116
|
+
* {@link addMaxFullscreenSize}.
|
|
117
|
+
*
|
|
118
|
+
* If `width` or `height` is null, it means there is
|
|
119
|
+
* no max size constraint on that dimension. If `maxFullscreenSize` would be
|
|
120
|
+
* smaller than {@link minSize}, it is constrained to be at least `minSize`.
|
|
121
|
+
*/
|
|
122
|
+
get maxFullscreenSize() {
|
|
123
|
+
if (!this._cachedMaxFullscreenSize) {
|
|
124
|
+
const maxFullscreenSize = Array.from(this._maxFullscreenSizes).reduce((memo, size) => ({
|
|
125
|
+
width: compareWithNulls(memo.width, size.width, Math.min),
|
|
126
|
+
height: compareWithNulls(memo.height, size.height, Math.min)
|
|
127
|
+
}), {
|
|
128
|
+
width: null,
|
|
129
|
+
height: null
|
|
130
|
+
});
|
|
131
|
+
const minSize = this.minSize;
|
|
132
|
+
this._cachedMaxFullscreenSize = {
|
|
133
|
+
width: maxFullscreenSize.width !== null && minSize.width !== null ? Math.max(maxFullscreenSize.width, minSize.width) : maxFullscreenSize.width,
|
|
134
|
+
height: maxFullscreenSize.height !== null && minSize.height !== null ? Math.max(maxFullscreenSize.height, minSize.height) : maxFullscreenSize.height
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
return this._cachedMaxFullscreenSize;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Add a maximum fullscreen size constraint. Use `.maxFullscreenSize` to get
|
|
142
|
+
* the aggregate of all added constraints.
|
|
143
|
+
*
|
|
144
|
+
* Returns a function that can be called to remove the fullscreen size constraint that was added.
|
|
145
|
+
*
|
|
146
|
+
* @param sizeConstraint The width and height constraints to add. Both
|
|
147
|
+
* `width` and `height` are optional - if either is set to null, that means
|
|
148
|
+
* there is no max size in that dimension.
|
|
149
|
+
*/
|
|
150
|
+
addMaxFullscreenSize(sizeConstraint) {
|
|
151
|
+
const {
|
|
152
|
+
width,
|
|
153
|
+
height
|
|
154
|
+
} = sizeConstraint;
|
|
155
|
+
const size = Object.freeze({
|
|
156
|
+
width: typeof width === 'number' ? width : null,
|
|
157
|
+
height: typeof height === 'number' ? height : null
|
|
158
|
+
});
|
|
159
|
+
this._cachedMaxFullscreenSize = null;
|
|
160
|
+
this._maxFullscreenSizes.add(size);
|
|
161
|
+
this._onChange(WatchableViewportKeys.maxFullscreenSize);
|
|
162
|
+
return () => {
|
|
163
|
+
(0, _error_utils.invariant)(this._maxFullscreenSizes.has(size), 'UnsetFn can only be called once');
|
|
164
|
+
this._cachedMaxFullscreenSize = null;
|
|
165
|
+
this._maxFullscreenSizes.delete(size);
|
|
166
|
+
this._onChange(WatchableViewportKeys.maxFullscreenSize);
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* The minimum dimensions of the extension - if the viewport gets smaller than this
|
|
172
|
+
* size, an overlay will be shown asking the user to resize the extension to be bigger.
|
|
173
|
+
*
|
|
174
|
+
* The largest set of dimensions added with addMinSize. If `width` or `height` is null, it means
|
|
175
|
+
* there is no minSize constraint on that dimension.
|
|
176
|
+
*/
|
|
177
|
+
get minSize() {
|
|
178
|
+
if (!this._cachedMinSize) {
|
|
179
|
+
this._cachedMinSize = Array.from(this._minSizes).reduce((memo, size) => ({
|
|
180
|
+
width: compareWithNulls(memo.width, size.width, Math.max),
|
|
181
|
+
height: compareWithNulls(memo.height, size.height, Math.max)
|
|
182
|
+
}), {
|
|
183
|
+
width: null,
|
|
184
|
+
height: null
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
return this._cachedMinSize;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* Add a minimum frame size constraint. Use `.minSize`` to get the aggregate
|
|
192
|
+
* of all added constraints.
|
|
193
|
+
*
|
|
194
|
+
* Upon adding a constraint, if the extension is focused and the frame is smaller than the
|
|
195
|
+
* minimum size, the extension will enter fullscreen mode.
|
|
196
|
+
*
|
|
197
|
+
* Returns a function that can be called to remove the size constraint that was added.
|
|
198
|
+
*
|
|
199
|
+
* @param sizeConstraint The width and height constraints to add. Both `width`
|
|
200
|
+
* and `height` are optional - if either is set to null, that means there is
|
|
201
|
+
* no min size in that dimension.
|
|
202
|
+
*/
|
|
203
|
+
addMinSize(sizeConstraint) {
|
|
204
|
+
const {
|
|
205
|
+
width,
|
|
206
|
+
height
|
|
207
|
+
} = sizeConstraint;
|
|
208
|
+
const size = Object.freeze({
|
|
209
|
+
width: typeof width === 'number' ? width : null,
|
|
210
|
+
height: typeof height === 'number' ? height : null
|
|
211
|
+
});
|
|
212
|
+
this._cachedMinSize = null;
|
|
213
|
+
// min size is also a constraint on maxFullscreenSize:
|
|
214
|
+
this._cachedMaxFullscreenSize = null;
|
|
215
|
+
this._minSizes.add(size);
|
|
216
|
+
this._onChange(WatchableViewportKeys.minSize);
|
|
217
|
+
this._onChange(WatchableViewportKeys.maxFullscreenSize);
|
|
218
|
+
if (this.isSmallerThanMinSize) {
|
|
219
|
+
this.enterFullscreenIfPossible();
|
|
220
|
+
}
|
|
221
|
+
return () => {
|
|
222
|
+
(0, _error_utils.invariant)(this._minSizes.has(size), 'UnsetFn can only be called once');
|
|
223
|
+
this._cachedMinSize = null;
|
|
224
|
+
this._cachedMaxFullscreenSize = null;
|
|
225
|
+
this._minSizes.delete(size);
|
|
226
|
+
this._onChange(WatchableViewportKeys.minSize);
|
|
227
|
+
// min size is also a constraint on maxFullscreenSize:
|
|
228
|
+
this._onChange(WatchableViewportKeys.maxFullscreenSize);
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* `true` if the extension frame is smaller than `minSize`, `false` otherwise.
|
|
234
|
+
*/
|
|
235
|
+
get isSmallerThanMinSize() {
|
|
236
|
+
const {
|
|
237
|
+
width,
|
|
238
|
+
height
|
|
239
|
+
} = this.size;
|
|
240
|
+
const isWidthTooSmall = this.minSize.width !== null && this.minSize.width > width;
|
|
241
|
+
const isHeightTooSmall = this.minSize.height !== null && this.minSize.height > height;
|
|
242
|
+
return isWidthTooSmall || isHeightTooSmall;
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* `true` if the extension is fullscreen, `false` otherwise.
|
|
246
|
+
*/
|
|
247
|
+
get isFullscreen() {
|
|
248
|
+
return this._isFullscreen;
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* The current size of the extension frame.
|
|
252
|
+
*
|
|
253
|
+
* Can be watched.
|
|
254
|
+
*/
|
|
255
|
+
get size() {
|
|
256
|
+
return {
|
|
257
|
+
width: window.innerWidth,
|
|
258
|
+
height: window.innerHeight
|
|
259
|
+
};
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Get notified of changes to the viewport.
|
|
263
|
+
*
|
|
264
|
+
* Watchable keys are:
|
|
265
|
+
* - `'isFullscreen'`
|
|
266
|
+
* - `'size'`
|
|
267
|
+
* - `'minSize'`
|
|
268
|
+
* - `'maxFullscreenSize'`
|
|
269
|
+
*
|
|
270
|
+
* Every call to `.watch` should have a matching call to `.unwatch`.
|
|
271
|
+
*
|
|
272
|
+
* Returns the array of keys that were watched.
|
|
273
|
+
*
|
|
274
|
+
* @param keys the keys to watch
|
|
275
|
+
* @param callback a function to call when those keys change
|
|
276
|
+
* @param context an optional context for `this` in `callback`.
|
|
277
|
+
*/
|
|
278
|
+
watch(keys, callback, context) {
|
|
279
|
+
const validKeys = super.watch(keys, callback, context);
|
|
280
|
+
if (validKeys.includes(WatchableViewportKeys.size)) {
|
|
281
|
+
if (this._sizeWatchCount === 0) {
|
|
282
|
+
window.addEventListener('resize', this._onSizeChangeDebounced, false);
|
|
283
|
+
}
|
|
284
|
+
this._sizeWatchCount++;
|
|
285
|
+
}
|
|
286
|
+
return validKeys;
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Unwatch keys watched with `.watch`.
|
|
290
|
+
*
|
|
291
|
+
* Should be called with the same arguments given to `.watch`.
|
|
292
|
+
*
|
|
293
|
+
* Returns the array of keys that were unwatched
|
|
294
|
+
*
|
|
295
|
+
* @param keys the keys to unwatch
|
|
296
|
+
* @param callback the function passed to `.watch` for these keys
|
|
297
|
+
* @param context the context that was passed to `.watch` for this `callback`
|
|
298
|
+
*/
|
|
299
|
+
unwatch(keys, callback, context) {
|
|
300
|
+
const validKeys = super.unwatch(keys, callback, context);
|
|
301
|
+
if (validKeys.includes(WatchableViewportKeys.size)) {
|
|
302
|
+
this._sizeWatchCount--;
|
|
303
|
+
if (this._sizeWatchCount === 0) {
|
|
304
|
+
window.removeEventListener('resize', this._onSizeChangeDebounced, false);
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
return validKeys;
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* @internal
|
|
311
|
+
*/
|
|
312
|
+
__onEnterFullscreen() {
|
|
313
|
+
this._isFullscreen = true;
|
|
314
|
+
this._onChange(WatchableViewportKeys.isFullscreen);
|
|
315
|
+
this._onChange(WatchableViewportKeys.size);
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* @internal
|
|
319
|
+
*/
|
|
320
|
+
__onExitFullscreen() {
|
|
321
|
+
this._isFullscreen = false;
|
|
322
|
+
this._onChange(WatchableViewportKeys.isFullscreen);
|
|
323
|
+
this._onChange(WatchableViewportKeys.size);
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* @internal
|
|
327
|
+
*/
|
|
328
|
+
__focus() {
|
|
329
|
+
const {
|
|
330
|
+
body,
|
|
331
|
+
activeElement
|
|
332
|
+
} = document;
|
|
333
|
+
// See comment in BlockFrame.focusIframe for why we do this.
|
|
334
|
+
if (activeElement && activeElement !== body) {
|
|
335
|
+
// If there's already an activeElement, re-focus it.
|
|
336
|
+
activeElement.focus();
|
|
337
|
+
} else if (body) {
|
|
338
|
+
// If there isn't an activeElement, create a dummy input
|
|
339
|
+
// to capture focus.
|
|
340
|
+
const input = document.createElement('input');
|
|
341
|
+
body.appendChild(input);
|
|
342
|
+
input.focus();
|
|
343
|
+
input.remove();
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
/**
|
|
347
|
+
* @internal
|
|
348
|
+
*/
|
|
349
|
+
_onSizeChange() {
|
|
350
|
+
this._onChange(WatchableViewportKeys.size);
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
var _default = exports.default = Viewport;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = getAirtableInterface;
|
|
7
|
+
var _error_utils = require("../shared/error_utils");
|
|
8
|
+
const AIRTABLE_INTERFACE_VERSION = 0;
|
|
9
|
+
let airtableInterface = null;
|
|
10
|
+
const missingAirtableInterfaceErrorMessage = ['Error: Extension environment misconfigured', '\n\n', 'Airtable Extensions can only run in the presence of an Airtable Base. If you ', 'are trying to run your Extension with a Base hosted on airtable.com, then be ', 'sure you are using the Airtable CLI to serve your code and accessing it ', 'through a Custom Extension installed inside a Base on airtable.com.', '\n\n', 'If you are trying to run automated tests for your Extension, then make sure ', 'you have loaded the `@airtable/testing-library` module *before* the ', '`@airtable/blocks` module.'].join('');
|
|
11
|
+
|
|
12
|
+
/** @hidden */
|
|
13
|
+
function getAirtableInterface() {
|
|
14
|
+
const getAirtableInterfaceAtVersion = window.__getAirtableInterfaceAtVersion;
|
|
15
|
+
if (!airtableInterface) {
|
|
16
|
+
if (!getAirtableInterfaceAtVersion) {
|
|
17
|
+
throw (0, _error_utils.spawnError)(missingAirtableInterfaceErrorMessage);
|
|
18
|
+
}
|
|
19
|
+
airtableInterface = getAirtableInterfaceAtVersion(AIRTABLE_INTERFACE_VERSION);
|
|
20
|
+
}
|
|
21
|
+
return airtableInterface;
|
|
22
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _airtable_interface = _interopRequireDefault(require("../injected/airtable_interface"));
|
|
4
|
+
var _error_utils = require("../shared/error_utils");
|
|
5
|
+
var _airtable_interface2 = require("./types/airtable_interface");
|
|
6
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
|
+
if (window.__getAirtableInterfaceAtVersion) {
|
|
8
|
+
const runContextType = (0, _airtable_interface.default)().sdkInitData.runContext.type;
|
|
9
|
+
if (runContextType !== _airtable_interface2.BlockRunContextType.PAGE_ELEMENT_IN_QUERY_CONTAINER) {
|
|
10
|
+
throw (0, _error_utils.spawnError)('Unexpected import when running block in interface');
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.__reset = __reset;
|
|
7
|
+
var _warning = require("../shared/warning");
|
|
8
|
+
var _airtable_interface = _interopRequireDefault(require("../injected/airtable_interface"));
|
|
9
|
+
var _sdk = require("./sdk");
|
|
10
|
+
var _initialize_block = require("./ui/initialize_block");
|
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
|
+
/** @internal */
|
|
13
|
+
function __reset() {
|
|
14
|
+
const __sdk = new _sdk.InterfaceBlockSdk((0, _airtable_interface.default)());
|
|
15
|
+
|
|
16
|
+
// The following injections are necessary to allow the referenced modules
|
|
17
|
+
// to be imported directly by consumer code while also avoiding cycles in
|
|
18
|
+
// the module dependency graph.
|
|
19
|
+
(0, _initialize_block.__injectSdkIntoInitializeBlock)(__sdk);
|
|
20
|
+
(0, _warning.__injectSdkIntoWarning)(__sdk);
|
|
21
|
+
}
|
|
22
|
+
__reset();
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Base = void 0;
|
|
7
|
+
var _base_core = require("../../shared/models/base_core");
|
|
8
|
+
var _table = require("./table");
|
|
9
|
+
var _record_store = require("./record_store");
|
|
10
|
+
/**
|
|
11
|
+
* Model class representing a base.
|
|
12
|
+
*
|
|
13
|
+
* If you want the base model to automatically recalculate whenever the base schema changes, try the
|
|
14
|
+
* {@link useBase} hook.
|
|
15
|
+
*
|
|
16
|
+
* @docsPath models/Base
|
|
17
|
+
*/
|
|
18
|
+
class Base extends _base_core.BaseCore {
|
|
19
|
+
/** @internal */
|
|
20
|
+
_constructTable(tableId) {
|
|
21
|
+
const recordStore = this.__getRecordStore(tableId);
|
|
22
|
+
return new _table.Table(this, recordStore, tableId, this._sdk);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/** @internal */
|
|
26
|
+
_constructRecordStore(sdk, tableId) {
|
|
27
|
+
return new _record_store.RecordStore(sdk, tableId);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/** @internal */
|
|
31
|
+
_iterateTableIds() {
|
|
32
|
+
return Object.keys(this._data.tablesById);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.Base = Base;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Field = void 0;
|
|
7
|
+
var _field_core = require("../../shared/models/field_core");
|
|
8
|
+
/**
|
|
9
|
+
* Model class representing a field in a table.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```js
|
|
13
|
+
* import {useBase} from '@airtable/blocks/interface/ui';
|
|
14
|
+
*
|
|
15
|
+
* function App() {
|
|
16
|
+
* const base = useBase();
|
|
17
|
+
* const table = base.getTableByName('Table 1');
|
|
18
|
+
* const field = table.getFieldByName('Name');
|
|
19
|
+
* console.log('The type of this field is', field.type);
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
* @docsPath models/Field
|
|
23
|
+
*/
|
|
24
|
+
class Field extends _field_core.FieldCore {
|
|
25
|
+
/** @internal */
|
|
26
|
+
static _className = 'Field';
|
|
27
|
+
}
|
|
28
|
+
exports.Field = Field;
|
|
@@ -5,46 +5,47 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
Object.defineProperty(exports, "Base", {
|
|
7
7
|
enumerable: true,
|
|
8
|
-
get: function
|
|
8
|
+
get: function () {
|
|
9
9
|
return _base.Base;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
12
|
Object.defineProperty(exports, "Field", {
|
|
13
13
|
enumerable: true,
|
|
14
|
-
get: function
|
|
14
|
+
get: function () {
|
|
15
15
|
return _field.Field;
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
18
|
Object.defineProperty(exports, "FieldConfig", {
|
|
19
19
|
enumerable: true,
|
|
20
|
-
get: function
|
|
20
|
+
get: function () {
|
|
21
21
|
return _field_core.FieldConfig;
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
24
|
Object.defineProperty(exports, "FieldType", {
|
|
25
25
|
enumerable: true,
|
|
26
|
-
get: function
|
|
26
|
+
get: function () {
|
|
27
27
|
return _field_core.FieldType;
|
|
28
28
|
}
|
|
29
29
|
});
|
|
30
30
|
Object.defineProperty(exports, "Record", {
|
|
31
31
|
enumerable: true,
|
|
32
|
-
get: function
|
|
32
|
+
get: function () {
|
|
33
33
|
return _record.Record;
|
|
34
34
|
}
|
|
35
35
|
});
|
|
36
36
|
Object.defineProperty(exports, "Session", {
|
|
37
37
|
enumerable: true,
|
|
38
|
-
get: function
|
|
38
|
+
get: function () {
|
|
39
39
|
return _session.Session;
|
|
40
40
|
}
|
|
41
41
|
});
|
|
42
42
|
Object.defineProperty(exports, "Table", {
|
|
43
43
|
enumerable: true,
|
|
44
|
-
get: function
|
|
44
|
+
get: function () {
|
|
45
45
|
return _table.Table;
|
|
46
46
|
}
|
|
47
47
|
});
|
|
48
|
+
require("../assert_run_context");
|
|
48
49
|
var _field_core = require("../../shared/types/field_core");
|
|
49
50
|
var _base = require("./base");
|
|
50
51
|
var _table = require("./table");
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Mutations = void 0;
|
|
7
|
+
var _mutations_core = require("../../shared/models/mutations_core");
|
|
8
|
+
var _mutations = require("../types/mutations");
|
|
9
|
+
/** @hidden */
|
|
10
|
+
class Mutations extends _mutations_core.MutationsCore {
|
|
11
|
+
/** @internal */
|
|
12
|
+
_isRecordStoreReadyForMutations() {
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/** @internal */
|
|
17
|
+
_isFieldAvailableForMutation() {
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/** @internal */
|
|
22
|
+
_getDefaultRecordProperties() {
|
|
23
|
+
return {
|
|
24
|
+
createdTime: new Date().toJSON()
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/** @internal */
|
|
29
|
+
_getOptimisticModelChangesForMutation(mutation) {
|
|
30
|
+
switch (mutation.type) {
|
|
31
|
+
case _mutations.MutationTypes.CREATE_MULTIPLE_RECORDS:
|
|
32
|
+
{
|
|
33
|
+
// Ideally, we'd add the recordIds to the `recordOrder` of the Table (see
|
|
34
|
+
// how we optimistically remove from this in the DELETE_MULTIPLE_RECORDS
|
|
35
|
+
// case below). But we can't really do that because we don't know how to
|
|
36
|
+
// sort the records. As a result, we'll just optimistically add the records
|
|
37
|
+
// to the store, so if the developer calls `getRecordById` for a recordId
|
|
38
|
+
// that was just created, it will exist. But if they are iterating over
|
|
39
|
+
// all records, they will only get the new records once the mutation is
|
|
40
|
+
// applied and liveapp sends an update to the recordOrder.
|
|
41
|
+
return super._getOptimisticModelChangesForMutation(mutation);
|
|
42
|
+
}
|
|
43
|
+
case _mutations.MutationTypes.DELETE_MULTIPLE_RECORDS:
|
|
44
|
+
{
|
|
45
|
+
const {
|
|
46
|
+
tableId,
|
|
47
|
+
recordIds: deletedRecordIds
|
|
48
|
+
} = mutation;
|
|
49
|
+
const recordStore = this._base.__getRecordStore(tableId);
|
|
50
|
+
const deletedRecordIdsSet = new Set(deletedRecordIds);
|
|
51
|
+
return [{
|
|
52
|
+
path: ['tablesById', tableId, 'recordOrder'],
|
|
53
|
+
value: recordStore.recordIds.filter(recordId => !deletedRecordIdsSet.has(recordId))
|
|
54
|
+
}, ...super._getOptimisticModelChangesForMutation(mutation)];
|
|
55
|
+
}
|
|
56
|
+
default:
|
|
57
|
+
{
|
|
58
|
+
return super._getOptimisticModelChangesForMutation(mutation);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
exports.Mutations = Mutations;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Record = void 0;
|
|
7
|
+
var _error_utils = require("../../shared/error_utils");
|
|
8
|
+
var _record_core = require("../../shared/models/record_core");
|
|
9
|
+
var _field_core = require("../../shared/types/field_core");
|
|
10
|
+
const WatchableRecordKeys = Object.freeze({
|
|
11
|
+
..._record_core.WatchableRecordKeysCore
|
|
12
|
+
});
|
|
13
|
+
/**
|
|
14
|
+
* Any key within record that can be watched:
|
|
15
|
+
* - `'name'`
|
|
16
|
+
* - `'cellValues'`
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Model class representing a record in a table.
|
|
21
|
+
*
|
|
22
|
+
* Do not instantiate. You can get instances of this class by calling {@link useRecords}.
|
|
23
|
+
*
|
|
24
|
+
* @docsPath models/Record
|
|
25
|
+
*/
|
|
26
|
+
class Record extends _record_core.RecordCore {
|
|
27
|
+
/** @internal */
|
|
28
|
+
static _className = 'Record';
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Fetch foreign records for a field. Subsequent calls to this method will
|
|
32
|
+
* override previous calls that are still pending. The previous call(s)
|
|
33
|
+
* will immediately resolve with an empty `records` array.
|
|
34
|
+
*
|
|
35
|
+
* @param fieldId - The ID of the field to fetch foreign records for.
|
|
36
|
+
* @param filterString - The filter string to use to filter the records.
|
|
37
|
+
* @returns A promise that resolves to the foreign records.
|
|
38
|
+
*/
|
|
39
|
+
fetchForeignRecordsAsync(field, filterString) {
|
|
40
|
+
const parentTable = this.parentTable;
|
|
41
|
+
if (field.parentTable !== parentTable) {
|
|
42
|
+
throw (0, _error_utils.spawnError)('Field %s is not in the same table as the record', field.name);
|
|
43
|
+
}
|
|
44
|
+
if (field.type !== _field_core.FieldType.MULTIPLE_RECORD_LINKS) {
|
|
45
|
+
throw (0, _error_utils.spawnError)('Field %s is not a multiple record links field', field.name);
|
|
46
|
+
}
|
|
47
|
+
const airtableInterface = this.parentTable.parentBase.__sdk.__airtableInterface;
|
|
48
|
+
return airtableInterface.fetchForeignRecordsAsync(parentTable.id, this.id, field.id, filterString);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.Record = Record;
|