@airtable/blocks 0.0.0-experimental-f52bc4e5e-20250709 → 0.0.0-experimental-75d011284-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/cjs/base/assert_run_context.js +12 -0
- package/dist/cjs/base/index.js +30 -30
- package/dist/cjs/base/models/abstract_model_with_async_data.js +154 -237
- package/dist/cjs/base/models/base.js +188 -267
- package/dist/cjs/base/models/create_aggregators.js +29 -46
- package/dist/cjs/base/models/cursor.js +206 -294
- package/dist/cjs/base/models/field.js +307 -395
- package/dist/cjs/base/models/grouped_record_query_result.js +219 -338
- package/dist/cjs/base/models/linked_records_query_result.js +450 -625
- package/dist/cjs/base/models/models.js +19 -22
- package/dist/cjs/base/models/mutations.js +267 -293
- package/dist/cjs/base/models/object_pool.js +117 -156
- package/dist/cjs/base/models/record.js +191 -256
- package/dist/cjs/base/models/record_coloring.js +6 -6
- package/dist/cjs/base/models/record_query_result.js +351 -435
- package/dist/cjs/base/models/record_store.js +403 -753
- package/dist/cjs/base/models/session.js +125 -153
- package/dist/cjs/base/models/table.js +457 -605
- package/dist/cjs/base/models/table_or_view_query_result.js +656 -920
- package/dist/cjs/base/models/view.js +284 -389
- package/dist/cjs/base/models/view_data_store.js +218 -356
- package/dist/cjs/base/models/view_metadata_query_result.js +109 -157
- package/dist/cjs/base/perform_record_action.js +89 -131
- package/dist/cjs/base/sdk.js +129 -184
- package/dist/cjs/base/settings_button.js +54 -74
- package/dist/cjs/base/types/airtable_interface.js +1 -1
- package/dist/cjs/base/types/mutations.js +5 -11
- package/dist/cjs/base/types/undo_redo.js +1 -1
- package/dist/cjs/base/types/view.js +1 -1
- package/dist/cjs/base/ui/base_provider.js +6 -8
- package/dist/cjs/base/ui/baymax_utils.js +436 -108
- package/dist/cjs/base/ui/block_wrapper.js +81 -106
- package/dist/cjs/base/ui/box.js +34 -60
- package/dist/cjs/base/ui/button.js +44 -74
- package/dist/cjs/base/ui/cell_renderer.js +132 -189
- package/dist/cjs/base/ui/choice_token.js +25 -42
- package/dist/cjs/base/ui/collaborator_token.js +31 -53
- package/dist/cjs/base/ui/color_palette.js +130 -173
- package/dist/cjs/base/ui/color_palette_synced.js +41 -70
- package/dist/cjs/base/ui/confirmation_dialog.js +70 -120
- package/dist/cjs/base/ui/control_sizes.js +24 -22
- package/dist/cjs/base/ui/create_detect_element_resize.js +6 -10
- package/dist/cjs/base/ui/css_helpers.js +1 -1
- package/dist/cjs/base/ui/dialog.js +57 -98
- package/dist/cjs/base/ui/dialog_close_button.js +52 -98
- package/dist/cjs/base/ui/expand_record.js +1 -2
- package/dist/cjs/base/ui/expand_record_list.js +3 -4
- package/dist/cjs/base/ui/expand_record_picker_async.js +28 -57
- package/dist/cjs/base/ui/field_icon.js +15 -33
- package/dist/cjs/base/ui/field_picker.js +25 -70
- package/dist/cjs/base/ui/field_picker_synced.js +18 -40
- package/dist/cjs/base/ui/form_field.js +27 -55
- package/dist/cjs/base/ui/geometry/geometry.js +5 -5
- package/dist/cjs/base/ui/geometry/point.js +10 -12
- package/dist/cjs/base/ui/geometry/rect.js +36 -52
- package/dist/cjs/base/ui/geometry/size.js +10 -12
- package/dist/cjs/base/ui/global_alert.js +31 -52
- package/dist/cjs/base/ui/heading.js +45 -94
- package/dist/cjs/base/ui/icon.js +39 -59
- package/dist/cjs/base/ui/icon_config.js +6 -12
- package/dist/cjs/base/ui/initialize_block.js +16 -35
- package/dist/cjs/base/ui/input.js +62 -101
- package/dist/cjs/base/ui/input_synced.js +17 -40
- package/dist/cjs/base/ui/key_codes.js +2 -3
- package/dist/cjs/base/ui/label.js +30 -55
- package/dist/cjs/base/ui/link.js +54 -87
- package/dist/cjs/base/ui/loader.js +15 -36
- package/dist/cjs/base/ui/modal.js +88 -127
- package/dist/cjs/base/ui/model_picker_select.js +18 -44
- package/dist/cjs/base/ui/popover.js +236 -328
- package/dist/cjs/base/ui/progress_bar.js +34 -47
- package/dist/cjs/base/ui/record_card.js +389 -478
- package/dist/cjs/base/ui/record_card_list.js +150 -224
- package/dist/cjs/base/ui/select.js +60 -116
- package/dist/cjs/base/ui/select_and_select_buttons_helpers.js +15 -39
- package/dist/cjs/base/ui/select_buttons.js +50 -83
- package/dist/cjs/base/ui/select_buttons_synced.js +17 -39
- package/dist/cjs/base/ui/select_synced.js +17 -39
- package/dist/cjs/base/ui/switch.js +42 -71
- package/dist/cjs/base/ui/switch_synced.js +16 -38
- package/dist/cjs/base/ui/synced.js +27 -48
- package/dist/cjs/base/ui/system/all_styles_set.js +4 -12
- package/dist/cjs/base/ui/system/appearance/appearance_set.js +10 -13
- package/dist/cjs/base/ui/system/appearance/background_color.js +3 -6
- package/dist/cjs/base/ui/system/appearance/border.js +3 -6
- package/dist/cjs/base/ui/system/appearance/border_radius.js +3 -6
- package/dist/cjs/base/ui/system/appearance/box_shadow.js +3 -6
- package/dist/cjs/base/ui/system/appearance/opacity.js +3 -6
- package/dist/cjs/base/ui/system/dimensions/dimensions_set.js +11 -13
- package/dist/cjs/base/ui/system/dimensions/height.js +3 -6
- package/dist/cjs/base/ui/system/dimensions/max_height.js +3 -6
- package/dist/cjs/base/ui/system/dimensions/max_width.js +3 -6
- package/dist/cjs/base/ui/system/dimensions/min_height.js +3 -6
- package/dist/cjs/base/ui/system/dimensions/min_width.js +3 -6
- package/dist/cjs/base/ui/system/dimensions/width.js +3 -6
- package/dist/cjs/base/ui/system/display.js +3 -6
- package/dist/cjs/base/ui/system/flex_container/align_content.js +3 -6
- package/dist/cjs/base/ui/system/flex_container/align_items.js +3 -6
- package/dist/cjs/base/ui/system/flex_container/flex_container_set.js +11 -13
- package/dist/cjs/base/ui/system/flex_container/flex_direction.js +3 -6
- package/dist/cjs/base/ui/system/flex_container/flex_wrap.js +3 -6
- package/dist/cjs/base/ui/system/flex_container/justify_content.js +3 -6
- package/dist/cjs/base/ui/system/flex_container/justify_items.js +3 -6
- package/dist/cjs/base/ui/system/flex_item/align_self.js +3 -6
- package/dist/cjs/base/ui/system/flex_item/flex.js +3 -6
- package/dist/cjs/base/ui/system/flex_item/flex_basis.js +3 -6
- package/dist/cjs/base/ui/system/flex_item/flex_grow.js +3 -6
- package/dist/cjs/base/ui/system/flex_item/flex_item_set.js +12 -13
- package/dist/cjs/base/ui/system/flex_item/flex_shrink.js +3 -6
- package/dist/cjs/base/ui/system/flex_item/justify_self.js +3 -6
- package/dist/cjs/base/ui/system/flex_item/order.js +3 -6
- package/dist/cjs/base/ui/system/index.js +104 -416
- package/dist/cjs/base/ui/system/overflow.js +3 -6
- package/dist/cjs/base/ui/system/position/bottom.js +4 -6
- package/dist/cjs/base/ui/system/position/left.js +4 -6
- package/dist/cjs/base/ui/system/position/position.js +3 -6
- package/dist/cjs/base/ui/system/position/position_set.js +11 -13
- package/dist/cjs/base/ui/system/position/right.js +4 -6
- package/dist/cjs/base/ui/system/position/top.js +4 -6
- package/dist/cjs/base/ui/system/position/z_index.js +3 -6
- package/dist/cjs/base/ui/system/spacing/margin.js +4 -6
- package/dist/cjs/base/ui/system/spacing/padding.js +4 -6
- package/dist/cjs/base/ui/system/spacing/spacing_set.js +7 -13
- package/dist/cjs/base/ui/system/typography/font_family.js +3 -6
- package/dist/cjs/base/ui/system/typography/font_size.js +3 -6
- package/dist/cjs/base/ui/system/typography/font_style.js +3 -6
- package/dist/cjs/base/ui/system/typography/font_weight.js +3 -6
- package/dist/cjs/base/ui/system/typography/letter_spacing.js +3 -6
- package/dist/cjs/base/ui/system/typography/line_height.js +3 -6
- package/dist/cjs/base/ui/system/typography/text_align.js +3 -6
- package/dist/cjs/base/ui/system/typography/text_color.js +3 -6
- package/dist/cjs/base/ui/system/typography/text_decoration.js +3 -6
- package/dist/cjs/base/ui/system/typography/text_transform.js +3 -6
- package/dist/cjs/base/ui/system/typography/typography_set.js +15 -13
- package/dist/cjs/base/ui/system/utils/ensure_numbers_are_within_scale.js +3 -4
- package/dist/cjs/base/ui/system/utils/get_style_props_for_responsive_prop.js +47 -87
- package/dist/cjs/base/ui/table_picker.js +18 -42
- package/dist/cjs/base/ui/table_picker_synced.js +17 -39
- package/dist/cjs/base/ui/text.js +40 -73
- package/dist/cjs/base/ui/text_button.js +51 -83
- package/dist/cjs/base/ui/theme/default_theme/button_variants.js +3 -3
- package/dist/cjs/base/ui/theme/default_theme/control_sizes.js +51 -45
- package/dist/cjs/base/ui/theme/default_theme/heading_styles.js +1 -1
- package/dist/cjs/base/ui/theme/default_theme/index.js +9 -15
- package/dist/cjs/base/ui/theme/default_theme/input_variants.js +3 -3
- package/dist/cjs/base/ui/theme/default_theme/link_variants.js +3 -3
- package/dist/cjs/base/ui/theme/default_theme/select_buttons_variants.js +4 -4
- package/dist/cjs/base/ui/theme/default_theme/select_variants.js +8 -17
- package/dist/cjs/base/ui/theme/default_theme/switch_variants.js +23 -29
- package/dist/cjs/base/ui/theme/default_theme/text_button_variants.js +5 -5
- package/dist/cjs/base/ui/theme/default_theme/text_styles.js +1 -1
- package/dist/cjs/base/ui/theme/default_theme/tokens.js +14 -14
- package/dist/cjs/base/ui/theme/theme_context.js +2 -2
- package/dist/cjs/base/ui/theme/use_theme.js +2 -2
- package/dist/cjs/base/ui/tooltip.js +134 -174
- package/dist/cjs/base/ui/types/aria_props.js +1 -23
- package/dist/cjs/base/ui/types/data_attributes_prop.js +1 -18
- package/dist/cjs/base/ui/types/tooltip_anchor_props.js +1 -17
- package/dist/cjs/base/ui/ui.js +48 -49
- package/dist/cjs/base/ui/unstable_standalone_ui.js +27 -27
- package/dist/cjs/base/ui/use_base.js +1 -1
- package/dist/cjs/base/ui/use_cursor.js +5 -4
- package/dist/cjs/base/ui/use_form_field.js +1 -1
- package/dist/cjs/base/ui/use_loadable.js +25 -91
- package/dist/cjs/base/ui/use_record_action_data.js +4 -3
- package/dist/cjs/base/ui/use_records.js +9 -13
- package/dist/cjs/base/ui/use_session.js +1 -1
- package/dist/cjs/base/ui/use_settings_button.js +4 -3
- package/dist/cjs/base/ui/use_styled_system.js +7 -14
- package/dist/cjs/base/ui/use_text_color_for_background_color.js +4 -3
- package/dist/cjs/base/ui/use_view_metadata.js +4 -4
- package/dist/cjs/base/ui/use_viewport.js +2 -2
- package/dist/cjs/base/ui/view_picker.js +26 -70
- package/dist/cjs/base/ui/view_picker_synced.js +18 -40
- package/dist/cjs/base/ui/viewport_constraint.js +67 -114
- package/dist/cjs/base/ui/with_styled_system.js +25 -61
- package/dist/cjs/base/undo_redo.js +21 -32
- package/dist/cjs/base/unstable_testing_utils.js +27 -27
- package/dist/cjs/base/viewport.js +268 -312
- package/dist/cjs/injected/airtable_interface.js +4 -4
- package/dist/cjs/interface/assert_run_context.js +12 -0
- package/dist/cjs/interface/index.js +4 -18
- package/dist/cjs/interface/models/base.js +15 -34
- package/dist/cjs/interface/models/field.js +5 -19
- package/dist/cjs/interface/models/models.js +8 -7
- package/dist/cjs/interface/models/mutations.js +50 -66
- package/dist/cjs/interface/models/record.js +29 -49
- package/dist/cjs/interface/models/record_store.js +25 -57
- package/dist/cjs/interface/models/session.js +2 -16
- package/dist/cjs/interface/models/table.js +66 -95
- package/dist/cjs/interface/sdk.js +61 -87
- package/dist/cjs/interface/types/airtable_interface.js +2 -2
- package/dist/cjs/interface/types/mutations.js +3 -10
- package/dist/cjs/interface/ui/block_wrapper.js +56 -48
- package/dist/cjs/interface/ui/initialize_block.js +13 -28
- package/dist/cjs/interface/ui/ui.js +20 -19
- package/dist/cjs/interface/ui/use_base.js +1 -1
- package/dist/cjs/interface/ui/use_custom_properties.js +19 -35
- package/dist/cjs/interface/ui/use_records.js +6 -5
- package/dist/cjs/interface/ui/use_run_info.js +2 -2
- package/dist/cjs/interface/ui/use_session.js +1 -1
- package/dist/cjs/shared/color_utils.js +9 -16
- package/dist/cjs/shared/colors.js +2 -2
- package/dist/cjs/shared/error_utils.js +9 -11
- package/dist/cjs/shared/event_tracker.js +3 -3
- package/dist/cjs/shared/global_config.js +337 -449
- package/dist/cjs/shared/models/abstract_model.js +72 -97
- package/dist/cjs/shared/models/base_core.js +394 -514
- package/dist/cjs/shared/models/field_core.js +236 -279
- package/dist/cjs/shared/models/mutations_core.js +283 -379
- package/dist/cjs/shared/models/record_core.js +174 -231
- package/dist/cjs/shared/models/record_store_core.js +119 -172
- package/dist/cjs/shared/models/session_core.js +116 -170
- package/dist/cjs/shared/models/table_core.js +1258 -1501
- package/dist/cjs/shared/private_utils.js +54 -124
- package/dist/cjs/shared/sdk_core.js +68 -70
- package/dist/cjs/shared/types/field_core.js +1 -1
- package/dist/cjs/shared/types/mutation_constants.js +4 -4
- package/dist/cjs/shared/types/mutations_core.js +1 -1
- package/dist/cjs/shared/types/permission_levels.js +1 -1
- package/dist/cjs/shared/ui/global_config_synced_component_helpers.js +9 -9
- package/dist/cjs/shared/ui/loader.js +14 -35
- package/dist/cjs/shared/ui/remote_utils.js +5 -7
- package/dist/cjs/shared/ui/sdk_context.js +4 -8
- package/dist/cjs/shared/ui/use_array_identity.js +2 -2
- package/dist/cjs/shared/ui/use_base.js +6 -5
- package/dist/cjs/shared/ui/use_color_scheme.js +3 -8
- package/dist/cjs/shared/ui/use_global_config.js +5 -4
- package/dist/cjs/shared/ui/use_session.js +6 -5
- package/dist/cjs/shared/ui/use_synced.js +7 -5
- package/dist/cjs/shared/ui/use_watchable.js +13 -42
- package/dist/cjs/shared/ui/with_hooks.js +6 -13
- package/dist/cjs/shared/unstable_private_utils.js +4 -6
- package/dist/cjs/shared/warning.js +5 -5
- package/dist/cjs/shared/watchable.js +110 -176
- package/dist/cjs/stats/block_stats.js +62 -85
- package/dist/cjs/testing/base/abstract_mock_airtable_interface.js +208 -0
- package/dist/cjs/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/models.d.ts +1 -0
- 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/package.json +13 -13
- 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/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
|
@@ -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.DASHBOARD_APP && runContextType !== _airtable_interface2.BlockRunContextType.VIEW) {
|
|
10
|
+
throw (0, _error_utils.spawnError)('Unexpected import when running block in base');
|
|
11
|
+
}
|
|
12
|
+
}
|
package/dist/cjs/base/index.js
CHANGED
|
@@ -1,39 +1,36 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
require("core-js/modules/es.array.iterator.js");
|
|
4
|
-
require("core-js/modules/es.object.to-string.js");
|
|
5
|
-
require("core-js/modules/es.weak-map.js");
|
|
6
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
7
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
8
3
|
Object.defineProperty(exports, "__esModule", {
|
|
9
4
|
value: true
|
|
10
5
|
});
|
|
11
6
|
exports.__reset = __reset;
|
|
12
7
|
exports.viewport = exports.unstable_fetchAsync = exports.undoRedo = exports.settingsButton = exports.session = exports.runInfo = exports.reload = exports.installationId = exports.globalConfig = exports.cursor = exports.base = exports.__sdk = void 0;
|
|
8
|
+
require("./assert_run_context");
|
|
13
9
|
var _warning = _interopRequireWildcard(require("../shared/warning"));
|
|
14
10
|
var _airtable_interface = _interopRequireDefault(require("../injected/airtable_interface"));
|
|
15
11
|
var _perform_record_action = require("./perform_record_action");
|
|
16
|
-
var
|
|
12
|
+
var _sdk = _interopRequireDefault(require("./sdk"));
|
|
17
13
|
var _create_aggregators = require("./models/create_aggregators");
|
|
18
14
|
var _initialize_block = require("./ui/initialize_block");
|
|
19
|
-
function
|
|
15
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
20
17
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
21
18
|
/** @internal */
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
19
|
+
let __sdk = exports.__sdk = void 0;
|
|
20
|
+
let base = exports.base = void 0;
|
|
21
|
+
let globalConfig = exports.globalConfig = void 0;
|
|
22
|
+
let installationId = exports.installationId = void 0;
|
|
23
|
+
let reload = exports.reload = void 0;
|
|
24
|
+
let runInfo = exports.runInfo = void 0;
|
|
25
|
+
let settingsButton = exports.settingsButton = void 0;
|
|
26
|
+
let undoRedo = exports.undoRedo = void 0;
|
|
27
|
+
let viewport = exports.viewport = void 0;
|
|
28
|
+
let unstable_fetchAsync = exports.unstable_fetchAsync = void 0;
|
|
32
29
|
|
|
33
30
|
// The `cursor` binding is declared on the following line solely as a signal to
|
|
34
31
|
// the TypeScript compiler. The exported value is actually controlled by the
|
|
35
32
|
// subsequent CommonJS module property descriptor.
|
|
36
|
-
|
|
33
|
+
let cursor = exports.cursor = void 0;
|
|
37
34
|
Object.defineProperty(module.exports, 'cursor', {
|
|
38
35
|
enumerable: true,
|
|
39
36
|
get() {
|
|
@@ -45,7 +42,7 @@ Object.defineProperty(module.exports, 'cursor', {
|
|
|
45
42
|
// The `session` binding is declared on the following line solely as a signal
|
|
46
43
|
// to the TypeScript compiler. The exported value is actually controlled by the
|
|
47
44
|
// subsequent CommonJS module property descriptor.
|
|
48
|
-
|
|
45
|
+
let session = exports.session = void 0;
|
|
49
46
|
Object.defineProperty(module.exports, 'session', {
|
|
50
47
|
enumerable: true,
|
|
51
48
|
get() {
|
|
@@ -74,20 +71,23 @@ Object.defineProperty(module.exports, 'UI', {
|
|
|
74
71
|
|
|
75
72
|
/** @internal */
|
|
76
73
|
function __reset() {
|
|
77
|
-
exports.__sdk = __sdk = new
|
|
74
|
+
exports.__sdk = __sdk = new _sdk.default((0, _airtable_interface.default)());
|
|
75
|
+
({
|
|
76
|
+
base,
|
|
77
|
+
globalConfig,
|
|
78
|
+
installationId,
|
|
79
|
+
reload,
|
|
80
|
+
runInfo,
|
|
81
|
+
settingsButton,
|
|
82
|
+
undoRedo,
|
|
83
|
+
viewport,
|
|
84
|
+
unstable_fetchAsync
|
|
85
|
+
} = __sdk);
|
|
86
|
+
|
|
78
87
|
// The following injections are necessary to allow the referenced modules
|
|
79
88
|
// to be imported directly by consumer code while also avoiding cycles in
|
|
80
89
|
// the module dependency graph.
|
|
81
|
-
|
|
82
|
-
exports.base = base = _sdk.base;
|
|
83
|
-
exports.globalConfig = globalConfig = _sdk.globalConfig;
|
|
84
|
-
exports.installationId = installationId = _sdk.installationId;
|
|
85
|
-
exports.reload = reload = _sdk.reload;
|
|
86
|
-
exports.runInfo = runInfo = _sdk.runInfo;
|
|
87
|
-
exports.settingsButton = settingsButton = _sdk.settingsButton;
|
|
88
|
-
exports.undoRedo = undoRedo = _sdk.undoRedo;
|
|
89
|
-
exports.viewport = viewport = _sdk.viewport;
|
|
90
|
-
exports.unstable_fetchAsync = unstable_fetchAsync = _sdk.unstable_fetchAsync;
|
|
90
|
+
exports.base = base, exports.globalConfig = globalConfig, exports.installationId = installationId, exports.reload = reload, exports.runInfo = runInfo, exports.settingsButton = settingsButton, exports.undoRedo = undoRedo, exports.viewport = viewport, exports.unstable_fetchAsync = unstable_fetchAsync;
|
|
91
91
|
(0, _create_aggregators.__injectSdkIntoCreateAggregators)(__sdk);
|
|
92
92
|
(0, _perform_record_action.__injectSdkIntoPerformRecordAction)(__sdk);
|
|
93
93
|
(0, _initialize_block.__injectSdkIntoInitializeBlock)(__sdk);
|
|
@@ -1,72 +1,56 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
require("core-js/modules/es.symbol.js");
|
|
4
|
-
require("core-js/modules/es.symbol.description.js");
|
|
5
|
-
require("core-js/modules/es.array.from.js");
|
|
6
|
-
require("core-js/modules/es.array.iterator.js");
|
|
7
|
-
require("core-js/modules/es.array.slice.js");
|
|
8
|
-
require("core-js/modules/es.object.to-string.js");
|
|
9
|
-
require("core-js/modules/es.regexp.exec.js");
|
|
10
|
-
require("core-js/modules/es.regexp.to-string.js");
|
|
11
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
12
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
13
3
|
Object.defineProperty(exports, "__esModule", {
|
|
14
4
|
value: true
|
|
15
5
|
});
|
|
16
6
|
exports.default = void 0;
|
|
17
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
18
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
19
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
20
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
21
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
22
|
-
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
|
|
23
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
24
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
25
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
26
7
|
var _private_utils = require("../../shared/private_utils");
|
|
27
8
|
var _error_utils = require("../../shared/error_utils");
|
|
28
9
|
var _abstract_model = _interopRequireDefault(require("../../shared/models/abstract_model"));
|
|
29
|
-
function
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
|
|
33
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /** @module @airtable/blocks/models: Abstract models */ /** */
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
/** @module @airtable/blocks/models: Abstract models */ /** */
|
|
12
|
+
|
|
34
13
|
/**
|
|
35
14
|
* Abstract superclass for all Blocks SDK models that need to fetch async data.
|
|
36
15
|
*
|
|
37
16
|
* @docsPath models/advanced/AbstractModelWithAsyncData
|
|
38
17
|
*/
|
|
39
|
-
|
|
18
|
+
class AbstractModelWithAsyncData extends _abstract_model.default {
|
|
19
|
+
/** @internal */
|
|
20
|
+
static __DATA_UNLOAD_DELAY_MS = 1000;
|
|
21
|
+
/** @internal */
|
|
22
|
+
static _shouldLoadDataForKey(key) {
|
|
23
|
+
// Override to return whether watching the key should trigger the
|
|
24
|
+
// data to be loaded for this model.
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
/** @internal */
|
|
28
|
+
|
|
29
|
+
/** @internal */
|
|
30
|
+
|
|
31
|
+
/** @internal */
|
|
32
|
+
|
|
33
|
+
/** @internal */
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* This flag is used to keep track of models that have been
|
|
37
|
+
* forced to unload (regardless of the retain count). The force
|
|
38
|
+
* unload happens via _forceUnload method and the only proper use
|
|
39
|
+
* of that function is when the underlying data gets deleted while
|
|
40
|
+
* the model is still active. e.g. when a table is deleted in the
|
|
41
|
+
* main extension while an instance of record_store is still alive.
|
|
42
|
+
* NOTE: Once set to true, it never goes back to false.
|
|
43
|
+
*
|
|
44
|
+
* @internal
|
|
45
|
+
*/
|
|
46
|
+
_isForceUnloaded = false;
|
|
40
47
|
/** @hidden */
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
/** @internal */
|
|
48
|
-
(0, _defineProperty2.default)(_this, "_pendingDataLoadPromise", void 0);
|
|
49
|
-
/** @internal */
|
|
50
|
-
(0, _defineProperty2.default)(_this, "_dataRetainCount", void 0);
|
|
51
|
-
/** @internal */
|
|
52
|
-
(0, _defineProperty2.default)(_this, "_unloadDataTimeoutId", void 0);
|
|
53
|
-
/**
|
|
54
|
-
* This flag is used to keep track of models that have been
|
|
55
|
-
* forced to unload (regardless of the retain count). The force
|
|
56
|
-
* unload happens via _forceUnload method and the only proper use
|
|
57
|
-
* of that function is when the underlying data gets deleted while
|
|
58
|
-
* the model is still active. e.g. when a table is deleted in the
|
|
59
|
-
* main extension while an instance of record_store is still alive.
|
|
60
|
-
* NOTE: Once set to true, it never goes back to false.
|
|
61
|
-
*
|
|
62
|
-
* @internal
|
|
63
|
-
*/
|
|
64
|
-
(0, _defineProperty2.default)(_this, "_isForceUnloaded", false);
|
|
65
|
-
_this._isDataLoaded = false;
|
|
66
|
-
_this._pendingDataLoadPromise = null;
|
|
67
|
-
_this._dataRetainCount = 0;
|
|
68
|
-
_this._unloadDataTimeoutId = null;
|
|
69
|
-
return _this;
|
|
48
|
+
constructor(sdk, modelId) {
|
|
49
|
+
super(sdk, modelId);
|
|
50
|
+
this._isDataLoaded = false;
|
|
51
|
+
this._pendingDataLoadPromise = null;
|
|
52
|
+
this._dataRetainCount = 0;
|
|
53
|
+
this._unloadDataTimeoutId = null;
|
|
70
54
|
}
|
|
71
55
|
/**
|
|
72
56
|
* Watching a key that needs to load data asynchronously will automatically
|
|
@@ -75,199 +59,132 @@ var AbstractModelWithAsyncData = /*#__PURE__*/function (_AbstractModel) {
|
|
|
75
59
|
*
|
|
76
60
|
* @inheritdoc
|
|
77
61
|
*/
|
|
78
|
-
(
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
this.
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
88
|
-
var key = _step.value;
|
|
89
|
-
if (this.constructor._shouldLoadDataForKey(key)) {
|
|
90
|
-
// Note: for simplicity, we will call loadData for every key that needs
|
|
91
|
-
// needs data, relying on the retain count to unload once all keys have
|
|
92
|
-
// been unwatched.
|
|
93
|
-
(0, _private_utils.fireAndForgetPromise)(this.loadDataAsync.bind(this));
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
} catch (err) {
|
|
97
|
-
_iterator.e(err);
|
|
98
|
-
} finally {
|
|
99
|
-
_iterator.f();
|
|
62
|
+
watch(keys, callback, context) {
|
|
63
|
+
this._assertNotForceUnloaded();
|
|
64
|
+
const validKeys = super.watch(keys, callback, context);
|
|
65
|
+
for (const key of validKeys) {
|
|
66
|
+
if (this.constructor._shouldLoadDataForKey(key)) {
|
|
67
|
+
// Note: for simplicity, we will call loadData for every key that needs
|
|
68
|
+
// needs data, relying on the retain count to unload once all keys have
|
|
69
|
+
// been unwatched.
|
|
70
|
+
(0, _private_utils.fireAndForgetPromise)(this.loadDataAsync.bind(this));
|
|
100
71
|
}
|
|
101
|
-
return validKeys;
|
|
102
72
|
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
for
|
|
118
|
-
|
|
119
|
-
if (this.constructor._shouldLoadDataForKey(key)) {
|
|
120
|
-
// We called loadDataAsync for every key that needs data so call
|
|
121
|
-
// unloadData for every key to balance the retain count.
|
|
122
|
-
this.unloadData();
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
} catch (err) {
|
|
126
|
-
_iterator2.e(err);
|
|
127
|
-
} finally {
|
|
128
|
-
_iterator2.f();
|
|
73
|
+
return validKeys;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Unwatching a key that needs to load data asynchronously will automatically
|
|
77
|
+
* cause the data to be released. Once the data is available, the callback
|
|
78
|
+
* will be called.
|
|
79
|
+
*
|
|
80
|
+
* @inheritdoc
|
|
81
|
+
*/
|
|
82
|
+
unwatch(keys, callback, context) {
|
|
83
|
+
const validKeys = super.unwatch(keys, callback, context);
|
|
84
|
+
for (const key of validKeys) {
|
|
85
|
+
if (this.constructor._shouldLoadDataForKey(key)) {
|
|
86
|
+
// We called loadDataAsync for every key that needs data so call
|
|
87
|
+
// unloadData for every key to balance the retain count.
|
|
88
|
+
this.unloadData();
|
|
129
89
|
}
|
|
130
|
-
return validKeys;
|
|
131
90
|
}
|
|
132
|
-
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
}
|
|
139
|
-
return (0, _get2.default)((0, _getPrototypeOf2.default)(AbstractModelWithAsyncData.prototype), "isDeleted", this);
|
|
91
|
+
return validKeys;
|
|
92
|
+
}
|
|
93
|
+
/** @inheritdoc */
|
|
94
|
+
get isDeleted() {
|
|
95
|
+
if (this._isForceUnloaded) {
|
|
96
|
+
return true;
|
|
140
97
|
}
|
|
141
|
-
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
}
|
|
148
|
-
return this._isDataLoaded;
|
|
98
|
+
return super.isDeleted;
|
|
99
|
+
}
|
|
100
|
+
/** */
|
|
101
|
+
get isDataLoaded() {
|
|
102
|
+
if (this.isDeleted) {
|
|
103
|
+
return false;
|
|
149
104
|
}
|
|
150
|
-
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
value: // Override this method if your model is dependent on other models.
|
|
154
|
-
// Do NOT load other models' data from _loadDataAsync, since it can lead to
|
|
155
|
-
// unexpected behavior.
|
|
156
|
-
// IMPORTANT: always call super.loadDataAsync() from your override.
|
|
157
|
-
/**
|
|
158
|
-
* Will cause all the async data to be fetched and retained. Every call to
|
|
159
|
-
* `loadDataAsync` should have a matching call to `unloadData`.
|
|
160
|
-
*
|
|
161
|
-
* Returns a Promise that will resolve once the data is loaded.
|
|
162
|
-
*/
|
|
163
|
-
function () {
|
|
164
|
-
var _loadDataAsync2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
165
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
166
|
-
while (1) switch (_context.prev = _context.next) {
|
|
167
|
-
case 0:
|
|
168
|
-
this._assertNotForceUnloaded();
|
|
169
|
-
if (this._unloadDataTimeoutId !== null) {
|
|
170
|
-
// If we set a timeout to unload data, clear it since we are incrementing
|
|
171
|
-
// the retain count and loading data.
|
|
172
|
-
clearTimeout(this._unloadDataTimeoutId);
|
|
173
|
-
this._unloadDataTimeoutId = null;
|
|
174
|
-
}
|
|
105
|
+
return this._isDataLoaded;
|
|
106
|
+
}
|
|
107
|
+
/** @internal */
|
|
175
108
|
|
|
176
|
-
|
|
177
|
-
// actually unload the data until the retain count comes back down to zero.
|
|
178
|
-
this._dataRetainCount++;
|
|
179
|
-
if (!this._isDataLoaded) {
|
|
180
|
-
_context.next = 5;
|
|
181
|
-
break;
|
|
182
|
-
}
|
|
183
|
-
return _context.abrupt("return");
|
|
184
|
-
case 5:
|
|
185
|
-
if (!this._pendingDataLoadPromise) {
|
|
186
|
-
this._pendingDataLoadPromise = this._loadDataAsync().then(changedKeys => {
|
|
187
|
-
this._isDataLoaded = true;
|
|
188
|
-
this._pendingDataLoadPromise = null;
|
|
189
|
-
var _iterator3 = _createForOfIteratorHelper(changedKeys),
|
|
190
|
-
_step3;
|
|
191
|
-
try {
|
|
192
|
-
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
193
|
-
var key = _step3.value;
|
|
194
|
-
this._onChange(key);
|
|
195
|
-
}
|
|
196
|
-
} catch (err) {
|
|
197
|
-
_iterator3.e(err);
|
|
198
|
-
} finally {
|
|
199
|
-
_iterator3.f();
|
|
200
|
-
}
|
|
201
|
-
this._onChangeIsDataLoaded();
|
|
202
|
-
return changedKeys;
|
|
203
|
-
});
|
|
204
|
-
}
|
|
205
|
-
_context.next = 8;
|
|
206
|
-
return this._pendingDataLoadPromise;
|
|
207
|
-
case 8:
|
|
208
|
-
case "end":
|
|
209
|
-
return _context.stop();
|
|
210
|
-
}
|
|
211
|
-
}, _callee, this);
|
|
212
|
-
}));
|
|
213
|
-
function loadDataAsync() {
|
|
214
|
-
return _loadDataAsync2.apply(this, arguments);
|
|
215
|
-
}
|
|
216
|
-
return loadDataAsync;
|
|
217
|
-
}() // Override this method if your model is dependent on other models.
|
|
218
|
-
// Do NOT unload other models' data from _unloadData, since it can lead to
|
|
219
|
-
// unexpected behavior.
|
|
220
|
-
// IMPORTANT: always call super.unloadData() from your override.
|
|
221
|
-
/** */
|
|
222
|
-
}, {
|
|
223
|
-
key: "unloadData",
|
|
224
|
-
value: function unloadData() {
|
|
225
|
-
if (this._isForceUnloaded) {
|
|
226
|
-
return;
|
|
227
|
-
}
|
|
228
|
-
this._dataRetainCount--;
|
|
229
|
-
if (this._dataRetainCount < 0) {
|
|
230
|
-
console.warn("Block ".concat(this.constructor._className, " data over-released")); // eslint-disable-line no-console
|
|
231
|
-
this._dataRetainCount = 0;
|
|
232
|
-
}
|
|
233
|
-
if (this._dataRetainCount === 0) {
|
|
234
|
-
// Don't unload immediately. Wait a while in case something else
|
|
235
|
-
// requests the data, so we can avoid going back to liveapp or
|
|
236
|
-
// the network.
|
|
237
|
-
this._unloadDataTimeoutId = setTimeout(() => {
|
|
238
|
-
(0, _error_utils.invariant)(this._dataRetainCount === 0, 'Unload data timeout fired with non-zero retain count');
|
|
109
|
+
/** @internal */
|
|
239
110
|
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
111
|
+
/** @internal */
|
|
112
|
+
|
|
113
|
+
// Override this method if your model is dependent on other models.
|
|
114
|
+
// Do NOT load other models' data from _loadDataAsync, since it can lead to
|
|
115
|
+
// unexpected behavior.
|
|
116
|
+
// IMPORTANT: always call super.loadDataAsync() from your override.
|
|
117
|
+
/**
|
|
118
|
+
* Will cause all the async data to be fetched and retained. Every call to
|
|
119
|
+
* `loadDataAsync` should have a matching call to `unloadData`.
|
|
120
|
+
*
|
|
121
|
+
* Returns a Promise that will resolve once the data is loaded.
|
|
122
|
+
*/
|
|
123
|
+
async loadDataAsync() {
|
|
124
|
+
this._assertNotForceUnloaded();
|
|
125
|
+
if (this._unloadDataTimeoutId !== null) {
|
|
126
|
+
// If we set a timeout to unload data, clear it since we are incrementing
|
|
127
|
+
// the retain count and loading data.
|
|
128
|
+
clearTimeout(this._unloadDataTimeoutId);
|
|
129
|
+
this._unloadDataTimeoutId = null;
|
|
247
130
|
}
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
this._isForceUnloaded = true;
|
|
131
|
+
|
|
132
|
+
// We keep a count of how many things have loaded the data so we don't
|
|
133
|
+
// actually unload the data until the retain count comes back down to zero.
|
|
134
|
+
this._dataRetainCount++;
|
|
135
|
+
if (this._isDataLoaded) {
|
|
136
|
+
return;
|
|
255
137
|
}
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
138
|
+
if (!this._pendingDataLoadPromise) {
|
|
139
|
+
this._pendingDataLoadPromise = this._loadDataAsync().then(changedKeys => {
|
|
140
|
+
this._isDataLoaded = true;
|
|
141
|
+
this._pendingDataLoadPromise = null;
|
|
142
|
+
for (const key of changedKeys) {
|
|
143
|
+
this._onChange(key);
|
|
144
|
+
}
|
|
145
|
+
this._onChangeIsDataLoaded();
|
|
146
|
+
return changedKeys;
|
|
147
|
+
});
|
|
260
148
|
}
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
149
|
+
await this._pendingDataLoadPromise;
|
|
150
|
+
}
|
|
151
|
+
// Override this method if your model is dependent on other models.
|
|
152
|
+
// Do NOT unload other models' data from _unloadData, since it can lead to
|
|
153
|
+
// unexpected behavior.
|
|
154
|
+
// IMPORTANT: always call super.unloadData() from your override.
|
|
155
|
+
/** */
|
|
156
|
+
unloadData() {
|
|
157
|
+
if (this._isForceUnloaded) {
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
this._dataRetainCount--;
|
|
161
|
+
if (this._dataRetainCount < 0) {
|
|
162
|
+
console.warn(`Block ${this.constructor._className} data over-released`); // eslint-disable-line no-console
|
|
163
|
+
this._dataRetainCount = 0;
|
|
268
164
|
}
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
165
|
+
if (this._dataRetainCount === 0) {
|
|
166
|
+
// Don't unload immediately. Wait a while in case something else
|
|
167
|
+
// requests the data, so we can avoid going back to liveapp or
|
|
168
|
+
// the network.
|
|
169
|
+
this._unloadDataTimeoutId = setTimeout(() => {
|
|
170
|
+
(0, _error_utils.invariant)(this._dataRetainCount === 0, 'Unload data timeout fired with non-zero retain count');
|
|
171
|
+
|
|
172
|
+
// Set _isDataLoaded to false before calling _unloadData in case
|
|
173
|
+
// _unloadData reads from isDataLoaded.
|
|
174
|
+
this._isDataLoaded = false;
|
|
175
|
+
this._unloadData();
|
|
176
|
+
this._onChangeIsDataLoaded();
|
|
177
|
+
}, AbstractModelWithAsyncData.__DATA_UNLOAD_DELAY_MS);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
_forceUnload() {
|
|
181
|
+
while (this._dataRetainCount > 0) {
|
|
182
|
+
this.unloadData();
|
|
183
|
+
}
|
|
184
|
+
this._isForceUnloaded = true;
|
|
185
|
+
}
|
|
186
|
+
_assertNotForceUnloaded() {
|
|
187
|
+
(0, _error_utils.invariant)(!this._isForceUnloaded, 'model (%s) permanently deleted', this.id);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
273
190
|
var _default = exports.default = AbstractModelWithAsyncData;
|