@airtable/blocks 0.0.0-experimental-c4b2228f4-20250630 → 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 +17 -44
- 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/models/table.d.ts.map +1 -1
- package/dist/types/src/interface/types/field.d.ts +6 -0
- package/dist/types/src/interface/types/field.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/field_core.d.ts +3 -1
- package/dist/types/src/shared/models/field_core.d.ts.map +1 -1
- package/dist/types/src/shared/models/mutations_core.d.ts.map +1 -1
- package/dist/types/src/shared/models/table_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/types/field_core.d.ts +19 -1
- package/dist/types/src/shared/types/field_core.d.ts.map +1 -1
- package/dist/types/src/shared/types/mutations_core.d.ts +8 -4
- package/dist/types/src/shared/types/mutations_core.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/use_watchable.d.ts +4 -2
- package/dist/types/src/shared/ui/use_watchable.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 -92
- 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 -329
- 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 -1530
- 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,305 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _private_utils = require("../../shared/private_utils");
|
|
8
|
+
var _error_utils = require("../../shared/error_utils");
|
|
9
|
+
var _abstract_model_with_async_data = _interopRequireDefault(require("./abstract_model_with_async_data"));
|
|
10
|
+
var _table = _interopRequireDefault(require("./table"));
|
|
11
|
+
var _view = _interopRequireDefault(require("./view"));
|
|
12
|
+
var _record = _interopRequireDefault(require("./record"));
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
|
+
/** @module @airtable/blocks/models: Cursor */ /** */
|
|
15
|
+
|
|
16
|
+
const WatchableCursorKeys = Object.freeze({
|
|
17
|
+
selectedRecordIds: 'selectedRecordIds',
|
|
18
|
+
selectedFieldIds: 'selectedFieldIds',
|
|
19
|
+
activeTableId: 'activeTableId',
|
|
20
|
+
activeViewId: 'activeViewId',
|
|
21
|
+
isDataLoaded: 'isDataLoaded'
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Watchable keys in {@link Cursor}.
|
|
26
|
+
* - `selectedRecordIds`
|
|
27
|
+
* - `selectedFieldIds`
|
|
28
|
+
* - `activeTableId`
|
|
29
|
+
* - `activeViewId`
|
|
30
|
+
* - `isDataLoaded`
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
/** @hidden */
|
|
34
|
+
|
|
35
|
+
// NOTE: cursor is an AbstractModel because it includes loadable data.
|
|
36
|
+
/**
|
|
37
|
+
* Model class containing information about the state of the user's current interactions in
|
|
38
|
+
* Airtable - specifically, their active table, active view, selected records and selected fields.
|
|
39
|
+
* Also allows you to set the active table and active view.
|
|
40
|
+
*
|
|
41
|
+
* Selected records and fields are not loaded by default and the cursor must be loaded with
|
|
42
|
+
* {@link useLoadable} to access them.
|
|
43
|
+
*
|
|
44
|
+
* ```js
|
|
45
|
+
* import {useCursor, useWatchable} from '@airtable/blocks/base/ui';
|
|
46
|
+
*
|
|
47
|
+
* function ActiveTableAndView() {
|
|
48
|
+
* const cursor = useCursor();
|
|
49
|
+
*
|
|
50
|
+
* return (
|
|
51
|
+
* <div>
|
|
52
|
+
* Active table: {cursor.activeTableId}
|
|
53
|
+
* <br />
|
|
54
|
+
* Active view: {cursor.activeViewId}
|
|
55
|
+
* </div>
|
|
56
|
+
* );
|
|
57
|
+
* }
|
|
58
|
+
* ```
|
|
59
|
+
*
|
|
60
|
+
* ```js
|
|
61
|
+
* import {useCursor, useLoadable, useWatchable} from '@airtable/blocks/base/ui';
|
|
62
|
+
*
|
|
63
|
+
* function SelectedRecordAndFieldIds() {
|
|
64
|
+
* const cursor = useCursor();
|
|
65
|
+
* // load selected records and fields
|
|
66
|
+
* useLoadable(cursor);
|
|
67
|
+
*
|
|
68
|
+
* // re-render whenever the list of selected records or fields changes
|
|
69
|
+
* useWatchable(cursor, ['selectedRecordIds', 'selectedFieldIds']);
|
|
70
|
+
*
|
|
71
|
+
* return (
|
|
72
|
+
* <div>
|
|
73
|
+
* Selected records: {cursor.selectedRecordIds.join(', ')}
|
|
74
|
+
* <br />
|
|
75
|
+
* Selected fields: {cursor.selectedFieldIds.join(', ')}
|
|
76
|
+
* </div>
|
|
77
|
+
* );
|
|
78
|
+
* }
|
|
79
|
+
* ```
|
|
80
|
+
*
|
|
81
|
+
* @docsPath models/Cursor
|
|
82
|
+
*/
|
|
83
|
+
class Cursor extends _abstract_model_with_async_data.default {
|
|
84
|
+
/** @internal */
|
|
85
|
+
static _className = 'Cursor';
|
|
86
|
+
/** @internal */
|
|
87
|
+
static _isWatchableKey(key) {
|
|
88
|
+
return (0, _private_utils.isEnumValue)(WatchableCursorKeys, key);
|
|
89
|
+
}
|
|
90
|
+
/** @internal */
|
|
91
|
+
static _shouldLoadDataForKey(key) {
|
|
92
|
+
return true;
|
|
93
|
+
}
|
|
94
|
+
/** @internal */
|
|
95
|
+
|
|
96
|
+
/** @internal */
|
|
97
|
+
constructor(sdk) {
|
|
98
|
+
super(sdk, 'cursor');
|
|
99
|
+
const baseData = sdk.__airtableInterface.sdkInitData.baseData;
|
|
100
|
+
const selectedRecordIdSet = baseData.cursorData?.selectedRecordIdSet ?? null;
|
|
101
|
+
const selectedFieldIdSet = baseData.cursorData?.selectedFieldIdSet ?? null;
|
|
102
|
+
const activeTableId = baseData.activeTableId;
|
|
103
|
+
const activeTable = activeTableId ? baseData.tablesById[activeTableId] : null;
|
|
104
|
+
const activeViewId = activeTable?.activeViewId ?? null;
|
|
105
|
+
this._cursorData = {
|
|
106
|
+
selectedRecordIdSet,
|
|
107
|
+
selectedFieldIdSet,
|
|
108
|
+
activeTableId,
|
|
109
|
+
activeViewId
|
|
110
|
+
};
|
|
111
|
+
Object.seal(this);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* @internal
|
|
116
|
+
*/
|
|
117
|
+
get _dataOrNullIfDeleted() {
|
|
118
|
+
return this._cursorData;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* @internal
|
|
122
|
+
*/
|
|
123
|
+
_onChangeIsDataLoaded() {
|
|
124
|
+
this._onChange(WatchableCursorKeys.isDataLoaded);
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* @internal
|
|
128
|
+
*/
|
|
129
|
+
async _loadDataAsync() {
|
|
130
|
+
const cursorData = await this._sdk.__airtableInterface.fetchAndSubscribeToCursorDataAsync();
|
|
131
|
+
this._cursorData.selectedRecordIdSet = cursorData.selectedRecordIdSet;
|
|
132
|
+
this._cursorData.selectedFieldIdSet = cursorData.selectedFieldIdSet;
|
|
133
|
+
return [WatchableCursorKeys.selectedRecordIds, WatchableCursorKeys.selectedFieldIds];
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* @internal
|
|
137
|
+
*/
|
|
138
|
+
_unloadData() {
|
|
139
|
+
this._sdk.__airtableInterface.unsubscribeFromCursorData();
|
|
140
|
+
this._cursorData.selectedRecordIdSet = null;
|
|
141
|
+
this._cursorData.selectedFieldIdSet = null;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* The record IDs of all currently selected records, or an empty array if no records are selected.
|
|
145
|
+
*
|
|
146
|
+
* Not loaded by default. You must load cursor data with `useLoadable(cursor)` (recommended) or
|
|
147
|
+
* `cursor.loadDataAsync()` before use.
|
|
148
|
+
*
|
|
149
|
+
* Can be watched.
|
|
150
|
+
*/
|
|
151
|
+
get selectedRecordIds() {
|
|
152
|
+
const {
|
|
153
|
+
selectedRecordIdSet
|
|
154
|
+
} = this._data;
|
|
155
|
+
(0, _error_utils.invariant)(selectedRecordIdSet, 'Cursor data is not loaded');
|
|
156
|
+
const selectedRecordIds = Object.keys(selectedRecordIdSet);
|
|
157
|
+
return selectedRecordIds;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* The field IDs of all currently selected fields, or an empty array if no fields are selected.
|
|
161
|
+
*
|
|
162
|
+
* Not loaded by default: you must load cursor data with `useLoadable(cursor)` (recommended) or
|
|
163
|
+
* `cursor.loadDataAsync()` before use.
|
|
164
|
+
*
|
|
165
|
+
* Can be watched.
|
|
166
|
+
*/
|
|
167
|
+
get selectedFieldIds() {
|
|
168
|
+
const {
|
|
169
|
+
selectedFieldIdSet
|
|
170
|
+
} = this._data;
|
|
171
|
+
(0, _error_utils.invariant)(selectedFieldIdSet, 'Cursor data is not loaded');
|
|
172
|
+
const selectedRecordIds = Object.keys(selectedFieldIdSet);
|
|
173
|
+
return selectedRecordIds;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Checks whether a given record is selected.
|
|
177
|
+
*
|
|
178
|
+
* Selected records are not loaded by default. You must load cursor data with
|
|
179
|
+
* `useLoadable(cursor)` (recommended) or `cursor.loadDataAsync()` before use.
|
|
180
|
+
*
|
|
181
|
+
* @param recordOrRecordId The record or record ID to check for.
|
|
182
|
+
*/
|
|
183
|
+
isRecordSelected(recordOrRecordId) {
|
|
184
|
+
const {
|
|
185
|
+
selectedRecordIdSet
|
|
186
|
+
} = this._data;
|
|
187
|
+
(0, _error_utils.invariant)(selectedRecordIdSet, 'Cursor data is not loaded');
|
|
188
|
+
let recordId;
|
|
189
|
+
if (recordOrRecordId instanceof _record.default) {
|
|
190
|
+
recordId = recordOrRecordId.id;
|
|
191
|
+
} else {
|
|
192
|
+
recordId = recordOrRecordId;
|
|
193
|
+
}
|
|
194
|
+
return !!selectedRecordIdSet[recordId];
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* The currently active table ID. Can be null when the active table has changed and is not yet
|
|
198
|
+
* loaded, and can also refer to a table that is not yet loaded.
|
|
199
|
+
*
|
|
200
|
+
* When fetching the {@link Table}, use `base.getTableByIdIfExists(cursor.activeTableId)` and
|
|
201
|
+
* check the return value is not `null` to be resilient to those cases.
|
|
202
|
+
*
|
|
203
|
+
* Can be watched.
|
|
204
|
+
*/
|
|
205
|
+
get activeTableId() {
|
|
206
|
+
return this._data.activeTableId;
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* The currently active view ID. This will always be a view belonging to `activeTableId`. Can be
|
|
210
|
+
* null when the active view has changed and is not yet loaded, and can also refer to a view
|
|
211
|
+
* that is not yet loaded.
|
|
212
|
+
*
|
|
213
|
+
* When fetching the {@link View}, use `table.getViewByIdIfExists(cursor.activeViewId)` and
|
|
214
|
+
* check the return value is not `null` to be resilient to those cases.
|
|
215
|
+
*
|
|
216
|
+
* Can be watched.
|
|
217
|
+
*/
|
|
218
|
+
get activeViewId() {
|
|
219
|
+
return this._data.activeViewId;
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Sets the specified table to active in the Airtable UI. If the extension installation or extensions pane
|
|
223
|
+
* is fullscreen, fullscreen mode will be exited.
|
|
224
|
+
*
|
|
225
|
+
* @param tableOrTableId The target table or table ID to set as active in the Airtable main page.
|
|
226
|
+
*/
|
|
227
|
+
setActiveTable(tableOrTableId) {
|
|
228
|
+
const tableId = tableOrTableId instanceof _table.default ? tableOrTableId.id : tableOrTableId;
|
|
229
|
+
this._sdk.__airtableInterface.setActiveViewOrTable(tableId);
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Sets the specified view (and corresponding table) to active in the Airtable UI. If the extension
|
|
233
|
+
* installation or extensions pane is fullscreen, fullscreen mode will be exited.
|
|
234
|
+
*
|
|
235
|
+
* @param tableOrTableId The table or table ID that the target view belongs to.
|
|
236
|
+
* @param viewOrViewId The target view or view ID to set as active in the Airtable main page.
|
|
237
|
+
*/
|
|
238
|
+
setActiveView(tableOrTableId, viewOrViewId) {
|
|
239
|
+
const tableId = tableOrTableId instanceof _table.default ? tableOrTableId.id : tableOrTableId;
|
|
240
|
+
const viewId = viewOrViewId instanceof _view.default ? viewOrViewId.id : viewOrViewId;
|
|
241
|
+
this._sdk.__airtableInterface.setActiveViewOrTable(tableId, viewId);
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
/**
|
|
245
|
+
* @internal
|
|
246
|
+
*/
|
|
247
|
+
__applyChangesWithoutTriggeringEvents(changes) {
|
|
248
|
+
const changedKeys = {
|
|
249
|
+
[WatchableCursorKeys.selectedRecordIds]: false,
|
|
250
|
+
[WatchableCursorKeys.activeTableId]: false,
|
|
251
|
+
[WatchableCursorKeys.activeViewId]: false
|
|
252
|
+
};
|
|
253
|
+
for (const {
|
|
254
|
+
path,
|
|
255
|
+
value
|
|
256
|
+
} of changes) {
|
|
257
|
+
if (path[0] === 'cursorData') {
|
|
258
|
+
switch (path[1]) {
|
|
259
|
+
case 'selectedRecordIdSet':
|
|
260
|
+
{
|
|
261
|
+
(0, _error_utils.invariant)(path.length === 2, 'cannot set within selectedRecordIdSet');
|
|
262
|
+
this._cursorData.selectedRecordIdSet = value;
|
|
263
|
+
changedKeys[WatchableCursorKeys.selectedRecordIds] = true;
|
|
264
|
+
break;
|
|
265
|
+
}
|
|
266
|
+
case 'selectedFieldIdSet':
|
|
267
|
+
{
|
|
268
|
+
(0, _error_utils.invariant)(path.length === 2, 'cannot set within selectedFieldIdSet');
|
|
269
|
+
this._cursorData.selectedFieldIdSet = value;
|
|
270
|
+
changedKeys[WatchableCursorKeys.selectedFieldIds] = true;
|
|
271
|
+
break;
|
|
272
|
+
}
|
|
273
|
+
default:
|
|
274
|
+
// No-op for future unknown paths.
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
if (path[0] === 'activeTableId') {
|
|
278
|
+
(0, _error_utils.invariant)(value === null || typeof value === 'string', 'activeTableId must be string or null');
|
|
279
|
+
this._cursorData.activeTableId = value;
|
|
280
|
+
changedKeys[WatchableCursorKeys.activeTableId] = true;
|
|
281
|
+
if (value === null) {
|
|
282
|
+
this._cursorData.activeViewId = null;
|
|
283
|
+
changedKeys[WatchableCursorKeys.activeViewId] = true;
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
if (path[0] === 'tablesById' && path[1] === this.activeTableId && path[2] === 'activeViewId') {
|
|
287
|
+
(0, _error_utils.invariant)(value === null || typeof value === 'string', 'activeTableId must be string or null');
|
|
288
|
+
this._cursorData.activeViewId = value;
|
|
289
|
+
changedKeys[WatchableCursorKeys.activeViewId] = true;
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
return changedKeys;
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* @internal
|
|
296
|
+
*/
|
|
297
|
+
__triggerOnChangeForChangedKeys(changedKeys) {
|
|
298
|
+
for (const [key, didChange] of (0, _private_utils.entries)(changedKeys)) {
|
|
299
|
+
if (didChange) {
|
|
300
|
+
this._onChange(key);
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
var _default = exports.default = Cursor;
|
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _field_core = require("../../shared/models/field_core");
|
|
8
|
+
var _mutations = require("../types/mutations");
|
|
9
|
+
var _private_utils = require("../../shared/private_utils");
|
|
10
|
+
/** @module @airtable/blocks/models: Field */ /** */
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Model class representing a field in a table.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```js
|
|
17
|
+
* import {base} from '@airtable/blocks/base';
|
|
18
|
+
*
|
|
19
|
+
* const table = base.getTableByName('Table 1');
|
|
20
|
+
* const field = table.getFieldByName('Name');
|
|
21
|
+
* console.log('The type of this field is', field.type);
|
|
22
|
+
* ```
|
|
23
|
+
* @docsPath models/Field
|
|
24
|
+
*/
|
|
25
|
+
class Field extends _field_core.FieldCore {
|
|
26
|
+
/** @internal */
|
|
27
|
+
static _className = 'Field';
|
|
28
|
+
|
|
29
|
+
// The following method is untested because its implementation resists
|
|
30
|
+
// testing and because it is expected to be redesigned.
|
|
31
|
+
// istanbul ignore next
|
|
32
|
+
/**
|
|
33
|
+
* A list of available aggregators given this field's configuration.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```js
|
|
37
|
+
* const fieldAggregators = myField.availableAggregators;
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
get availableAggregators() {
|
|
41
|
+
const airtableInterface = this._sdk.__airtableInterface;
|
|
42
|
+
const availableAggregatorKeysSet = new Set(airtableInterface.aggregators.getAvailableAggregatorKeysForField(this._data));
|
|
43
|
+
const base = this.parentTable.parentBase;
|
|
44
|
+
return (0, _private_utils.values)(base.aggregators).filter(aggregator => {
|
|
45
|
+
return availableAggregatorKeysSet.has(aggregator.key);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
// The following method is untested because its implementation resists
|
|
49
|
+
// testing and because it is expected to be redesigned.
|
|
50
|
+
// istanbul ignore next
|
|
51
|
+
/**
|
|
52
|
+
* Checks if the given aggregator is available for this field.
|
|
53
|
+
*
|
|
54
|
+
* @param aggregator The aggregator object or aggregator key.
|
|
55
|
+
* @example
|
|
56
|
+
* ```js
|
|
57
|
+
* import {base} from '@airtable/blocks/base';
|
|
58
|
+
*
|
|
59
|
+
* const aggregator = base.aggregators.totalAttachmentSize;
|
|
60
|
+
*
|
|
61
|
+
* // Using an aggregator object
|
|
62
|
+
* console.log(myAttachmentField.isAggregatorAvailable(aggregator));
|
|
63
|
+
* // => true
|
|
64
|
+
*
|
|
65
|
+
* // Using an aggregator key
|
|
66
|
+
* console.log(myTextField.isAggregatorAvailable('totalAttachmentSize'));
|
|
67
|
+
* // => false
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
isAggregatorAvailable(aggregator) {
|
|
71
|
+
const aggregatorKey = typeof aggregator === 'string' ? aggregator : aggregator.key;
|
|
72
|
+
const airtableInterface = this._sdk.__airtableInterface;
|
|
73
|
+
const availableAggregatorKeys = airtableInterface.aggregators.getAvailableAggregatorKeysForField(this._data);
|
|
74
|
+
return availableAggregatorKeys.some(key => key === aggregatorKey);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Checks whether the current user has permission to perform the given name update.
|
|
79
|
+
*
|
|
80
|
+
* Accepts partial input, in the same format as {@link updateNameAsync}.
|
|
81
|
+
*
|
|
82
|
+
* Returns `{hasPermission: true}` if the current user can update the specified field,
|
|
83
|
+
* `{hasPermission: false, reasonDisplayString: string}` otherwise. `reasonDisplayString` may be
|
|
84
|
+
* used to display an error message to the user.
|
|
85
|
+
*
|
|
86
|
+
* @param name new name for the field
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* ```js
|
|
90
|
+
* const updateFieldCheckResult = field.checkPermissionsForUpdateName();
|
|
91
|
+
*
|
|
92
|
+
* if (!updateFieldCheckResult.hasPermission) {
|
|
93
|
+
* alert(updateFieldCheckResult.reasonDisplayString);
|
|
94
|
+
* }
|
|
95
|
+
* ```
|
|
96
|
+
*/
|
|
97
|
+
checkPermissionsForUpdateName(name) {
|
|
98
|
+
return this._sdk.__mutations.checkPermissionsForMutation({
|
|
99
|
+
type: _mutations.MutationTypes.UPDATE_SINGLE_FIELD_NAME,
|
|
100
|
+
tableId: this.parentTable.id,
|
|
101
|
+
id: this.id,
|
|
102
|
+
name
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* An alias for `checkPermissionsForUpdateName(options).hasPermission`.
|
|
108
|
+
*
|
|
109
|
+
* Checks whether the current user has permission to perform the name update.
|
|
110
|
+
*
|
|
111
|
+
* Accepts partial input, in the same format as {@link updateNameAsync}.
|
|
112
|
+
*
|
|
113
|
+
* @param name new name for the field
|
|
114
|
+
*
|
|
115
|
+
* @example
|
|
116
|
+
* ```js
|
|
117
|
+
* const canUpdateField = field.hasPermissionToUpdateName();
|
|
118
|
+
*
|
|
119
|
+
* if (!canUpdateField) {
|
|
120
|
+
* alert('not allowed!');
|
|
121
|
+
* }
|
|
122
|
+
* ```
|
|
123
|
+
*/
|
|
124
|
+
hasPermissionToUpdateName(name) {
|
|
125
|
+
return this.checkPermissionsForUpdateName(name).hasPermission;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Updates the name for this field.
|
|
130
|
+
*
|
|
131
|
+
* Throws an error if the user does not have permission to update the field, or if an invalid
|
|
132
|
+
* name is provided.
|
|
133
|
+
*
|
|
134
|
+
* This action is asynchronous. Unlike updates to cell values, updates to field name are
|
|
135
|
+
* **not** applied optimistically locally. You must `await` the returned promise before
|
|
136
|
+
* relying on the change in your extension.
|
|
137
|
+
*
|
|
138
|
+
* @param name new name for the field
|
|
139
|
+
*
|
|
140
|
+
* @example
|
|
141
|
+
* ```js
|
|
142
|
+
* await myTextField.updateNameAsync('My New Name');
|
|
143
|
+
* ```
|
|
144
|
+
*/
|
|
145
|
+
async updateNameAsync(name) {
|
|
146
|
+
await this._sdk.__mutations.applyMutationAsync({
|
|
147
|
+
type: _mutations.MutationTypes.UPDATE_SINGLE_FIELD_NAME,
|
|
148
|
+
tableId: this.parentTable.id,
|
|
149
|
+
id: this.id,
|
|
150
|
+
name
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Checks whether the current user has permission to perform the given description update.
|
|
156
|
+
*
|
|
157
|
+
* Accepts partial input, in the same format as {@link updateDescriptionAsync}.
|
|
158
|
+
*
|
|
159
|
+
* Returns `{hasPermission: true}` if the current user can update the specified field,
|
|
160
|
+
* `{hasPermission: false, reasonDisplayString: string}` otherwise. `reasonDisplayString` may be
|
|
161
|
+
* used to display an error message to the user.
|
|
162
|
+
*
|
|
163
|
+
* @param description new description for the field
|
|
164
|
+
*
|
|
165
|
+
* @example
|
|
166
|
+
* ```js
|
|
167
|
+
* const updateFieldCheckResult = field.checkPermissionsForUpdateDescription();
|
|
168
|
+
*
|
|
169
|
+
* if (!updateFieldCheckResult.hasPermission) {
|
|
170
|
+
* alert(updateFieldCheckResult.reasonDisplayString);
|
|
171
|
+
* }
|
|
172
|
+
* ```
|
|
173
|
+
*/
|
|
174
|
+
checkPermissionsForUpdateDescription(description) {
|
|
175
|
+
return this._sdk.__mutations.checkPermissionsForMutation({
|
|
176
|
+
type: _mutations.MutationTypes.UPDATE_SINGLE_FIELD_DESCRIPTION,
|
|
177
|
+
tableId: this.parentTable.id,
|
|
178
|
+
id: this.id,
|
|
179
|
+
description
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* An alias for `checkPermissionsForUpdateDescription(options).hasPermission`.
|
|
185
|
+
*
|
|
186
|
+
* Checks whether the current user has permission to perform the description update.
|
|
187
|
+
*
|
|
188
|
+
* Accepts partial input, in the same format as {@link updateDescriptionAsync}.
|
|
189
|
+
*
|
|
190
|
+
* @param description new description for the field
|
|
191
|
+
*
|
|
192
|
+
* @example
|
|
193
|
+
* ```js
|
|
194
|
+
* const canUpdateField = field.hasPermissionToUpdateDescription();
|
|
195
|
+
*
|
|
196
|
+
* if (!canUpdateField) {
|
|
197
|
+
* alert('not allowed!');
|
|
198
|
+
* }
|
|
199
|
+
* ```
|
|
200
|
+
*/
|
|
201
|
+
hasPermissionToUpdateDescription(description) {
|
|
202
|
+
return this.checkPermissionsForUpdateDescription(description).hasPermission;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* Updates the description for this field.
|
|
207
|
+
*
|
|
208
|
+
* To remove an existing description, pass `''` as the new description.
|
|
209
|
+
* `null` is also accepted and will be coerced to `''` for consistency with field creation.
|
|
210
|
+
*
|
|
211
|
+
* Throws an error if the user does not have permission to update the field, or if an invalid
|
|
212
|
+
* description is provided.
|
|
213
|
+
*
|
|
214
|
+
* This action is asynchronous. Unlike updates to cell values, updates to field descriptions are
|
|
215
|
+
* **not** applied optimistically locally. You must `await` the returned promise before
|
|
216
|
+
* relying on the change in your extension.
|
|
217
|
+
*
|
|
218
|
+
* @param description new description for the field
|
|
219
|
+
*
|
|
220
|
+
* @example
|
|
221
|
+
* ```js
|
|
222
|
+
* await myTextField.updateDescriptionAsync('This is a text field');
|
|
223
|
+
* ```
|
|
224
|
+
*/
|
|
225
|
+
async updateDescriptionAsync(description) {
|
|
226
|
+
await this._sdk.__mutations.applyMutationAsync({
|
|
227
|
+
type: _mutations.MutationTypes.UPDATE_SINGLE_FIELD_DESCRIPTION,
|
|
228
|
+
tableId: this.parentTable.id,
|
|
229
|
+
id: this.id,
|
|
230
|
+
description
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* Checks whether the current user has permission to perform the given options update.
|
|
236
|
+
*
|
|
237
|
+
* Accepts partial input, in the same format as {@link updateOptionsAsync}.
|
|
238
|
+
*
|
|
239
|
+
* Returns `{hasPermission: true}` if the current user can update the specified field,
|
|
240
|
+
* `{hasPermission: false, reasonDisplayString: string}` otherwise. `reasonDisplayString` may be
|
|
241
|
+
* used to display an error message to the user.
|
|
242
|
+
*
|
|
243
|
+
* @param options new options for the field
|
|
244
|
+
*
|
|
245
|
+
* @example
|
|
246
|
+
* ```js
|
|
247
|
+
* const updateFieldCheckResult = field.checkPermissionsForUpdateOptions();
|
|
248
|
+
*
|
|
249
|
+
* if (!updateFieldCheckResult.hasPermission) {
|
|
250
|
+
* alert(updateFieldCheckResult.reasonDisplayString);
|
|
251
|
+
* }
|
|
252
|
+
* ```
|
|
253
|
+
*/
|
|
254
|
+
checkPermissionsForUpdateOptions(options) {
|
|
255
|
+
return this._sdk.__mutations.checkPermissionsForMutation({
|
|
256
|
+
type: _mutations.MutationTypes.UPDATE_SINGLE_FIELD_CONFIG,
|
|
257
|
+
tableId: this.parentTable.id,
|
|
258
|
+
id: this.id,
|
|
259
|
+
config: {
|
|
260
|
+
type: this.type,
|
|
261
|
+
options: options
|
|
262
|
+
}
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
/**
|
|
267
|
+
* An alias for `checkPermissionsForUpdateOptions(options).hasPermission`.
|
|
268
|
+
*
|
|
269
|
+
* Checks whether the current user has permission to perform the options update.
|
|
270
|
+
*
|
|
271
|
+
* Accepts partial input, in the same format as {@link updateOptionsAsync}.
|
|
272
|
+
*
|
|
273
|
+
* @param options new options for the field
|
|
274
|
+
*
|
|
275
|
+
* @example
|
|
276
|
+
* ```js
|
|
277
|
+
* const canUpdateField = field.hasPermissionToUpdateOptions();
|
|
278
|
+
*
|
|
279
|
+
* if (!canUpdateField) {
|
|
280
|
+
* alert('not allowed!');
|
|
281
|
+
* }
|
|
282
|
+
* ```
|
|
283
|
+
*/
|
|
284
|
+
hasPermissionToUpdateOptions(options) {
|
|
285
|
+
return this.checkPermissionsForUpdateOptions(options).hasPermission;
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
/**
|
|
289
|
+
* Updates the options for this field.
|
|
290
|
+
*
|
|
291
|
+
* Throws an error if the user does not have permission to update the field, if invalid
|
|
292
|
+
* options are provided, if this field has no writable options, or if updates to this field
|
|
293
|
+
* type is not supported.
|
|
294
|
+
*
|
|
295
|
+
* Refer to {@link FieldType} for supported field types, the write format for options, and
|
|
296
|
+
* other specifics for certain field types.
|
|
297
|
+
*
|
|
298
|
+
* This action is asynchronous. Unlike updates to cell values, updates to field options are
|
|
299
|
+
* **not** applied optimistically locally. You must `await` the returned promise before
|
|
300
|
+
* relying on the change in your extension.
|
|
301
|
+
*
|
|
302
|
+
* Optionally, you can pass an `opts` object as the second argument. See {@link UpdateFieldOptionsOpts}
|
|
303
|
+
* for available options.
|
|
304
|
+
*
|
|
305
|
+
* @param options new options for the field
|
|
306
|
+
* @param opts optional options to affect the behavior of the update
|
|
307
|
+
*
|
|
308
|
+
* @example
|
|
309
|
+
* ```js
|
|
310
|
+
* async function addChoiceToSelectField(selectField, nameForNewOption) {
|
|
311
|
+
* const updatedOptions = {
|
|
312
|
+
* choices: [
|
|
313
|
+
* ...selectField.options.choices,
|
|
314
|
+
* {name: nameForNewOption},
|
|
315
|
+
* ]
|
|
316
|
+
* };
|
|
317
|
+
*
|
|
318
|
+
* if (selectField.hasPermissionToUpdateOptions(updatedOptions)) {
|
|
319
|
+
* await selectField.updateOptionsAsync(updatedOptions);
|
|
320
|
+
* }
|
|
321
|
+
* }
|
|
322
|
+
* ```
|
|
323
|
+
*/
|
|
324
|
+
async updateOptionsAsync(options) {
|
|
325
|
+
let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
326
|
+
await this._sdk.__mutations.applyMutationAsync({
|
|
327
|
+
type: _mutations.MutationTypes.UPDATE_SINGLE_FIELD_CONFIG,
|
|
328
|
+
tableId: this.parentTable.id,
|
|
329
|
+
id: this.id,
|
|
330
|
+
config: {
|
|
331
|
+
type: this.type,
|
|
332
|
+
options: options
|
|
333
|
+
},
|
|
334
|
+
opts
|
|
335
|
+
});
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
var _default = exports.default = Field;
|