@airtable/blocks 0.0.0-experimental-f52bc4e5e-20250709 → 0.0.0-experimental-3649c7162-20250904

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (667) hide show
  1. package/dist/esm/base/assert_run_context.js +12 -0
  2. package/dist/{cjs → esm}/base/index.js +30 -32
  3. package/dist/esm/base/models/abstract_model_with_async_data.js +190 -0
  4. package/dist/esm/base/models/base.js +252 -0
  5. package/dist/esm/base/models/create_aggregators.js +90 -0
  6. package/dist/esm/base/models/cursor.js +305 -0
  7. package/dist/esm/base/models/field.js +338 -0
  8. package/dist/esm/base/models/grouped_record_query_result.js +280 -0
  9. package/dist/esm/base/models/linked_records_query_result.js +553 -0
  10. package/dist/{cjs → esm}/base/models/models.js +19 -40
  11. package/dist/esm/base/models/mutations.js +312 -0
  12. package/dist/esm/base/models/object_pool.js +145 -0
  13. package/dist/esm/base/models/record.js +239 -0
  14. package/dist/{cjs → esm}/base/models/record_coloring.js +6 -6
  15. package/dist/esm/base/models/record_query_result.js +657 -0
  16. package/dist/esm/base/models/record_store.js +475 -0
  17. package/dist/esm/base/models/session.js +154 -0
  18. package/dist/esm/base/models/table.js +520 -0
  19. package/dist/esm/base/models/table_or_view_query_result.js +749 -0
  20. package/dist/esm/base/models/view.js +326 -0
  21. package/dist/esm/base/models/view_data_store.js +265 -0
  22. package/dist/esm/base/models/view_metadata_query_result.js +176 -0
  23. package/dist/esm/base/perform_record_action.js +215 -0
  24. package/dist/esm/base/sdk.js +178 -0
  25. package/dist/esm/base/settings_button.js +118 -0
  26. package/dist/{cjs → esm}/base/types/airtable_interface.js +1 -1
  27. package/dist/{cjs → esm}/base/types/mutations.js +5 -11
  28. package/dist/{cjs → esm}/base/types/undo_redo.js +1 -1
  29. package/dist/{cjs → esm}/base/types/view.js +1 -1
  30. package/dist/{cjs → esm}/base/ui/base_provider.js +6 -8
  31. package/dist/esm/base/ui/baymax_utils.js +461 -0
  32. package/dist/esm/base/ui/block_wrapper.js +118 -0
  33. package/dist/esm/base/ui/box.js +84 -0
  34. package/dist/esm/base/ui/button.js +152 -0
  35. package/dist/esm/base/ui/cell_renderer.js +198 -0
  36. package/dist/esm/base/ui/choice_token.js +93 -0
  37. package/dist/esm/base/ui/collaborator_token.js +123 -0
  38. package/dist/esm/base/ui/color_palette.js +196 -0
  39. package/dist/esm/base/ui/color_palette_synced.js +69 -0
  40. package/dist/esm/base/ui/confirmation_dialog.js +103 -0
  41. package/dist/{cjs → esm}/base/ui/control_sizes.js +24 -22
  42. package/dist/{cjs → esm}/base/ui/create_detect_element_resize.js +6 -10
  43. package/dist/{cjs → esm}/base/ui/css_helpers.js +1 -1
  44. package/dist/esm/base/ui/dialog.js +101 -0
  45. package/dist/esm/base/ui/dialog_close_button.js +106 -0
  46. package/dist/{cjs → esm}/base/ui/expand_record.js +1 -2
  47. package/dist/{cjs → esm}/base/ui/expand_record_list.js +3 -4
  48. package/dist/esm/base/ui/expand_record_picker_async.js +71 -0
  49. package/dist/esm/base/ui/field_icon.js +44 -0
  50. package/dist/esm/base/ui/field_picker.js +98 -0
  51. package/dist/esm/base/ui/field_picker_synced.js +66 -0
  52. package/dist/esm/base/ui/form_field.js +109 -0
  53. package/dist/{cjs → esm}/base/ui/geometry/geometry.js +5 -5
  54. package/dist/esm/base/ui/geometry/point.js +19 -0
  55. package/dist/esm/base/ui/geometry/rect.js +51 -0
  56. package/dist/esm/base/ui/geometry/size.js +19 -0
  57. package/dist/esm/base/ui/global_alert.js +71 -0
  58. package/dist/esm/base/ui/heading.js +132 -0
  59. package/dist/esm/base/ui/icon.js +109 -0
  60. package/dist/{cjs → esm}/base/ui/icon_config.js +6 -12
  61. package/dist/{cjs → esm}/base/ui/initialize_block.js +16 -35
  62. package/dist/esm/base/ui/input.js +161 -0
  63. package/dist/esm/base/ui/input_synced.js +66 -0
  64. package/dist/{cjs → esm}/base/ui/key_codes.js +2 -3
  65. package/dist/esm/base/ui/label.js +80 -0
  66. package/dist/esm/base/ui/link.js +196 -0
  67. package/dist/esm/base/ui/loader.js +61 -0
  68. package/dist/esm/base/ui/modal.js +145 -0
  69. package/dist/esm/base/ui/model_picker_select.js +57 -0
  70. package/dist/esm/base/ui/popover.js +315 -0
  71. package/dist/esm/base/ui/progress_bar.js +115 -0
  72. package/dist/esm/base/ui/record_card.js +564 -0
  73. package/dist/esm/base/ui/record_card_list.js +303 -0
  74. package/dist/esm/base/ui/select.js +191 -0
  75. package/dist/esm/base/ui/select_and_select_buttons_helpers.js +63 -0
  76. package/dist/esm/base/ui/select_buttons.js +159 -0
  77. package/dist/esm/base/ui/select_buttons_synced.js +62 -0
  78. package/dist/esm/base/ui/select_synced.js +65 -0
  79. package/dist/esm/base/ui/switch.js +167 -0
  80. package/dist/esm/base/ui/switch_synced.js +53 -0
  81. package/dist/esm/base/ui/synced.js +49 -0
  82. package/dist/{cjs → esm}/base/ui/system/all_styles_set.js +4 -12
  83. package/dist/esm/base/ui/system/appearance/appearance_set.js +27 -0
  84. package/dist/esm/base/ui/system/appearance/background_color.js +18 -0
  85. package/dist/{cjs → esm}/base/ui/system/appearance/border.js +3 -6
  86. package/dist/esm/base/ui/system/appearance/border_radius.js +18 -0
  87. package/dist/esm/base/ui/system/appearance/box_shadow.js +18 -0
  88. package/dist/esm/base/ui/system/appearance/opacity.js +18 -0
  89. package/dist/esm/base/ui/system/dimensions/dimensions_set.js +29 -0
  90. package/dist/esm/base/ui/system/dimensions/height.js +18 -0
  91. package/dist/esm/base/ui/system/dimensions/max_height.js +18 -0
  92. package/dist/esm/base/ui/system/dimensions/max_width.js +18 -0
  93. package/dist/esm/base/ui/system/dimensions/min_height.js +18 -0
  94. package/dist/esm/base/ui/system/dimensions/min_width.js +18 -0
  95. package/dist/esm/base/ui/system/dimensions/width.js +18 -0
  96. package/dist/esm/base/ui/system/display.js +19 -0
  97. package/dist/esm/base/ui/system/flex_container/align_content.js +15 -0
  98. package/dist/esm/base/ui/system/flex_container/align_items.js +15 -0
  99. package/dist/esm/base/ui/system/flex_container/flex_container_set.js +29 -0
  100. package/dist/esm/base/ui/system/flex_container/flex_direction.js +15 -0
  101. package/dist/esm/base/ui/system/flex_container/flex_wrap.js +15 -0
  102. package/dist/esm/base/ui/system/flex_container/justify_content.js +15 -0
  103. package/dist/esm/base/ui/system/flex_container/justify_items.js +16 -0
  104. package/dist/esm/base/ui/system/flex_item/align_self.js +15 -0
  105. package/dist/esm/base/ui/system/flex_item/flex.js +15 -0
  106. package/dist/esm/base/ui/system/flex_item/flex_basis.js +15 -0
  107. package/dist/esm/base/ui/system/flex_item/flex_grow.js +15 -0
  108. package/dist/esm/base/ui/system/flex_item/flex_item_set.js +31 -0
  109. package/dist/esm/base/ui/system/flex_item/flex_shrink.js +15 -0
  110. package/dist/esm/base/ui/system/flex_item/justify_self.js +16 -0
  111. package/dist/esm/base/ui/system/flex_item/order.js +15 -0
  112. package/dist/{cjs → esm}/base/ui/system/index.js +104 -416
  113. package/dist/esm/base/ui/system/overflow.js +21 -0
  114. package/dist/{cjs → esm}/base/ui/system/position/bottom.js +4 -6
  115. package/dist/{cjs → esm}/base/ui/system/position/left.js +4 -6
  116. package/dist/esm/base/ui/system/position/position.js +15 -0
  117. package/dist/esm/base/ui/system/position/position_set.js +29 -0
  118. package/dist/{cjs → esm}/base/ui/system/position/right.js +4 -6
  119. package/dist/{cjs → esm}/base/ui/system/position/top.js +4 -6
  120. package/dist/esm/base/ui/system/position/z_index.js +18 -0
  121. package/dist/{cjs → esm}/base/ui/system/spacing/margin.js +4 -6
  122. package/dist/{cjs → esm}/base/ui/system/spacing/padding.js +4 -6
  123. package/dist/esm/base/ui/system/spacing/spacing_set.js +21 -0
  124. package/dist/esm/base/ui/system/typography/font_family.js +18 -0
  125. package/dist/esm/base/ui/system/typography/font_size.js +18 -0
  126. package/dist/esm/base/ui/system/typography/font_style.js +15 -0
  127. package/dist/esm/base/ui/system/typography/font_weight.js +18 -0
  128. package/dist/esm/base/ui/system/typography/letter_spacing.js +18 -0
  129. package/dist/esm/base/ui/system/typography/line_height.js +15 -0
  130. package/dist/esm/base/ui/system/typography/text_align.js +15 -0
  131. package/dist/esm/base/ui/system/typography/text_color.js +18 -0
  132. package/dist/esm/base/ui/system/typography/text_decoration.js +15 -0
  133. package/dist/esm/base/ui/system/typography/text_transform.js +15 -0
  134. package/dist/esm/base/ui/system/typography/typography_set.js +37 -0
  135. package/dist/{cjs → esm}/base/ui/system/utils/ensure_numbers_are_within_scale.js +3 -4
  136. package/dist/esm/base/ui/system/utils/get_style_props_for_responsive_prop.js +73 -0
  137. package/dist/esm/base/ui/table_picker.js +71 -0
  138. package/dist/esm/base/ui/table_picker_synced.js +62 -0
  139. package/dist/esm/base/ui/text.js +117 -0
  140. package/dist/esm/base/ui/text_button.js +196 -0
  141. package/dist/{cjs → esm}/base/ui/theme/default_theme/button_variants.js +3 -3
  142. package/dist/esm/base/ui/theme/default_theme/control_sizes.js +102 -0
  143. package/dist/{cjs → esm}/base/ui/theme/default_theme/heading_styles.js +1 -1
  144. package/dist/{cjs → esm}/base/ui/theme/default_theme/index.js +9 -15
  145. package/dist/{cjs → esm}/base/ui/theme/default_theme/input_variants.js +3 -3
  146. package/dist/{cjs → esm}/base/ui/theme/default_theme/link_variants.js +3 -3
  147. package/dist/{cjs → esm}/base/ui/theme/default_theme/select_buttons_variants.js +4 -4
  148. package/dist/esm/base/ui/theme/default_theme/select_variants.js +50 -0
  149. package/dist/esm/base/ui/theme/default_theme/switch_variants.js +85 -0
  150. package/dist/{cjs → esm}/base/ui/theme/default_theme/text_button_variants.js +5 -5
  151. package/dist/{cjs → esm}/base/ui/theme/default_theme/text_styles.js +1 -1
  152. package/dist/{cjs → esm}/base/ui/theme/default_theme/tokens.js +14 -14
  153. package/dist/{cjs → esm}/base/ui/theme/theme_context.js +2 -2
  154. package/dist/{cjs → esm}/base/ui/theme/use_theme.js +2 -2
  155. package/dist/esm/base/ui/tooltip.js +175 -0
  156. package/dist/{cjs → esm}/base/ui/ui.js +48 -49
  157. package/dist/{cjs → esm}/base/ui/unstable_standalone_ui.js +27 -27
  158. package/dist/{cjs → esm}/base/ui/use_base.js +1 -1
  159. package/dist/{cjs → esm}/base/ui/use_cursor.js +5 -4
  160. package/dist/{cjs → esm}/base/ui/use_form_field.js +1 -1
  161. package/dist/{cjs → esm}/base/ui/use_loadable.js +25 -91
  162. package/dist/{cjs → esm}/base/ui/use_record_action_data.js +4 -3
  163. package/dist/{cjs → esm}/base/ui/use_records.js +9 -13
  164. package/dist/{cjs → esm}/base/ui/use_session.js +1 -1
  165. package/dist/{cjs → esm}/base/ui/use_settings_button.js +4 -3
  166. package/dist/esm/base/ui/use_styled_system.js +25 -0
  167. package/dist/{cjs → esm}/base/ui/use_text_color_for_background_color.js +4 -3
  168. package/dist/{cjs → esm}/base/ui/use_view_metadata.js +4 -4
  169. package/dist/{cjs → esm}/base/ui/use_viewport.js +2 -2
  170. package/dist/esm/base/ui/view_picker.js +89 -0
  171. package/dist/esm/base/ui/view_picker_synced.js +66 -0
  172. package/dist/esm/base/ui/viewport_constraint.js +129 -0
  173. package/dist/esm/base/ui/with_styled_system.js +129 -0
  174. package/dist/esm/base/undo_redo.js +37 -0
  175. package/dist/{cjs → esm}/base/unstable_testing_utils.js +27 -27
  176. package/dist/esm/base/viewport.js +353 -0
  177. package/dist/esm/injected/airtable_interface.js +22 -0
  178. package/dist/esm/interface/assert_run_context.js +12 -0
  179. package/dist/esm/interface/index.js +22 -0
  180. package/dist/esm/interface/models/base.js +35 -0
  181. package/dist/esm/interface/models/field.js +28 -0
  182. package/dist/{cjs → esm}/interface/models/models.js +8 -7
  183. package/dist/esm/interface/models/mutations.js +63 -0
  184. package/dist/esm/interface/models/record.js +51 -0
  185. package/dist/esm/interface/models/record_store.js +51 -0
  186. package/dist/esm/interface/models/session.js +28 -0
  187. package/dist/esm/interface/models/table.js +97 -0
  188. package/dist/esm/interface/sdk.js +78 -0
  189. package/dist/{cjs → esm}/interface/types/airtable_interface.js +2 -2
  190. package/dist/esm/interface/types/mutations.js +17 -0
  191. package/dist/esm/interface/ui/block_wrapper.js +69 -0
  192. package/dist/{cjs → esm}/interface/ui/initialize_block.js +13 -28
  193. package/dist/{cjs → esm}/interface/ui/ui.js +20 -19
  194. package/dist/{cjs → esm}/interface/ui/use_base.js +1 -1
  195. package/dist/{cjs → esm}/interface/ui/use_custom_properties.js +19 -35
  196. package/dist/{cjs → esm}/interface/ui/use_records.js +6 -5
  197. package/dist/{cjs → esm}/interface/ui/use_run_info.js +2 -2
  198. package/dist/{cjs → esm}/interface/ui/use_session.js +1 -1
  199. package/dist/{cjs → esm}/shared/color_utils.js +9 -16
  200. package/dist/{cjs → esm}/shared/colors.js +2 -2
  201. package/dist/{cjs → esm}/shared/error_utils.js +9 -11
  202. package/dist/{cjs → esm}/shared/event_tracker.js +3 -3
  203. package/dist/esm/shared/global_config.js +399 -0
  204. package/dist/esm/shared/models/abstract_model.js +94 -0
  205. package/dist/esm/shared/models/base_core.js +482 -0
  206. package/dist/esm/shared/models/field_core.js +288 -0
  207. package/dist/esm/shared/models/mutations_core.js +343 -0
  208. package/dist/esm/shared/models/record_core.js +215 -0
  209. package/dist/esm/shared/models/record_store_core.js +160 -0
  210. package/dist/esm/shared/models/session_core.js +160 -0
  211. package/dist/esm/shared/models/table_core.js +1318 -0
  212. package/dist/{cjs → esm}/shared/private_utils.js +54 -124
  213. package/dist/esm/shared/sdk_core.js +113 -0
  214. package/dist/{cjs → esm}/shared/types/field_core.js +1 -1
  215. package/dist/esm/shared/types/mutation_constants.js +11 -0
  216. package/dist/{cjs → esm}/shared/types/mutations_core.js +1 -1
  217. package/dist/{cjs → esm}/shared/types/permission_levels.js +1 -1
  218. package/dist/esm/shared/types/record.js +1 -0
  219. package/dist/esm/shared/types/stat.js +1 -0
  220. package/dist/esm/shared/types/table_core.js +1 -0
  221. package/dist/{cjs → esm}/shared/ui/global_config_synced_component_helpers.js +9 -9
  222. package/dist/esm/shared/ui/loader.js +47 -0
  223. package/dist/{cjs → esm}/shared/ui/remote_utils.js +5 -7
  224. package/dist/{cjs → esm}/shared/ui/sdk_context.js +4 -8
  225. package/dist/{cjs → esm}/shared/ui/use_array_identity.js +2 -2
  226. package/dist/{cjs → esm}/shared/ui/use_base.js +6 -5
  227. package/dist/{cjs → esm}/shared/ui/use_color_scheme.js +3 -8
  228. package/dist/{cjs → esm}/shared/ui/use_global_config.js +5 -4
  229. package/dist/{cjs → esm}/shared/ui/use_session.js +6 -5
  230. package/dist/{cjs → esm}/shared/ui/use_synced.js +7 -5
  231. package/dist/{cjs → esm}/shared/ui/use_watchable.js +13 -42
  232. package/dist/{cjs → esm}/shared/ui/with_hooks.js +6 -13
  233. package/dist/{cjs → esm}/shared/unstable_private_utils.js +4 -6
  234. package/dist/{cjs → esm}/shared/warning.js +5 -5
  235. package/dist/esm/shared/watchable.js +150 -0
  236. package/dist/esm/stats/block_stats.js +73 -0
  237. package/dist/esm/testing/base/abstract_mock_airtable_interface.js +208 -0
  238. package/dist/esm/testing/interface/abstract_mock_airtable_interface.js +124 -0
  239. package/dist/types/src/base/assert_run_context.d.ts +2 -0
  240. package/dist/types/src/base/assert_run_context.d.ts.map +1 -0
  241. package/dist/types/src/base/index.d.ts +1 -0
  242. package/dist/types/src/base/index.d.ts.map +1 -1
  243. package/dist/types/src/base/models/base.d.ts +19 -0
  244. package/dist/types/src/base/models/base.d.ts.map +1 -1
  245. package/dist/types/src/base/models/create_aggregators.d.ts +3 -4
  246. package/dist/types/src/base/models/create_aggregators.d.ts.map +1 -1
  247. package/dist/types/src/base/models/field.d.ts +3 -2
  248. package/dist/types/src/base/models/field.d.ts.map +1 -1
  249. package/dist/types/src/base/models/models.d.ts +1 -2
  250. package/dist/types/src/base/models/models.d.ts.map +1 -1
  251. package/dist/types/src/base/models/mutations.d.ts.map +1 -1
  252. package/dist/types/src/base/sdk.d.ts.map +1 -1
  253. package/dist/types/src/base/ui/block_wrapper.d.ts +1 -1
  254. package/dist/types/src/base/ui/box.d.ts.map +1 -1
  255. package/dist/types/src/base/ui/button.d.ts +0 -5
  256. package/dist/types/src/base/ui/button.d.ts.map +1 -1
  257. package/dist/types/src/base/ui/cell_renderer.d.ts +1 -22
  258. package/dist/types/src/base/ui/cell_renderer.d.ts.map +1 -1
  259. package/dist/types/src/base/ui/choice_token.d.ts +1 -21
  260. package/dist/types/src/base/ui/choice_token.d.ts.map +1 -1
  261. package/dist/types/src/base/ui/collaborator_token.d.ts +0 -20
  262. package/dist/types/src/base/ui/collaborator_token.d.ts.map +1 -1
  263. package/dist/types/src/base/ui/color_palette.d.ts +1 -32
  264. package/dist/types/src/base/ui/color_palette.d.ts.map +1 -1
  265. package/dist/types/src/base/ui/color_palette_synced.d.ts +0 -14
  266. package/dist/types/src/base/ui/color_palette_synced.d.ts.map +1 -1
  267. package/dist/types/src/base/ui/confirmation_dialog.d.ts +0 -17
  268. package/dist/types/src/base/ui/confirmation_dialog.d.ts.map +1 -1
  269. package/dist/types/src/base/ui/control_sizes.d.ts +0 -1
  270. package/dist/types/src/base/ui/control_sizes.d.ts.map +1 -1
  271. package/dist/types/src/base/ui/dialog.d.ts +1 -23
  272. package/dist/types/src/base/ui/dialog.d.ts.map +1 -1
  273. package/dist/types/src/base/ui/dialog_close_button.d.ts +2 -24
  274. package/dist/types/src/base/ui/dialog_close_button.d.ts.map +1 -1
  275. package/dist/types/src/base/ui/field_icon.d.ts +1 -17
  276. package/dist/types/src/base/ui/field_icon.d.ts.map +1 -1
  277. package/dist/types/src/base/ui/field_picker.d.ts +0 -23
  278. package/dist/types/src/base/ui/field_picker.d.ts.map +1 -1
  279. package/dist/types/src/base/ui/field_picker_synced.d.ts.map +1 -1
  280. package/dist/types/src/base/ui/form_field.d.ts +0 -4
  281. package/dist/types/src/base/ui/form_field.d.ts.map +1 -1
  282. package/dist/types/src/base/ui/heading.d.ts +1 -1
  283. package/dist/types/src/base/ui/heading.d.ts.map +1 -1
  284. package/dist/types/src/base/ui/icon.d.ts +0 -16
  285. package/dist/types/src/base/ui/icon.d.ts.map +1 -1
  286. package/dist/types/src/base/ui/icon_config.d.ts +50 -51
  287. package/dist/types/src/base/ui/icon_config.d.ts.map +1 -1
  288. package/dist/types/src/base/ui/initialize_block.d.ts.map +1 -1
  289. package/dist/types/src/base/ui/input.d.ts +12 -46
  290. package/dist/types/src/base/ui/input.d.ts.map +1 -1
  291. package/dist/types/src/base/ui/input_synced.d.ts.map +1 -1
  292. package/dist/types/src/base/ui/label.d.ts.map +1 -1
  293. package/dist/types/src/base/ui/link.d.ts +1 -5
  294. package/dist/types/src/base/ui/link.d.ts.map +1 -1
  295. package/dist/types/src/base/ui/loader.d.ts +3 -20
  296. package/dist/types/src/base/ui/loader.d.ts.map +1 -1
  297. package/dist/types/src/base/ui/modal.d.ts +1 -14
  298. package/dist/types/src/base/ui/modal.d.ts.map +1 -1
  299. package/dist/types/src/base/ui/model_picker_select.d.ts.map +1 -1
  300. package/dist/types/src/base/ui/popover.d.ts +1 -17
  301. package/dist/types/src/base/ui/popover.d.ts.map +1 -1
  302. package/dist/types/src/base/ui/progress_bar.d.ts +1 -24
  303. package/dist/types/src/base/ui/progress_bar.d.ts.map +1 -1
  304. package/dist/types/src/base/ui/record_card.d.ts +1 -23
  305. package/dist/types/src/base/ui/record_card.d.ts.map +1 -1
  306. package/dist/types/src/base/ui/record_card_list.d.ts +1 -18
  307. package/dist/types/src/base/ui/record_card_list.d.ts.map +1 -1
  308. package/dist/types/src/base/ui/select.d.ts +0 -44
  309. package/dist/types/src/base/ui/select.d.ts.map +1 -1
  310. package/dist/types/src/base/ui/select_and_select_buttons_helpers.d.ts +0 -2
  311. package/dist/types/src/base/ui/select_and_select_buttons_helpers.d.ts.map +1 -1
  312. package/dist/types/src/base/ui/select_buttons.d.ts +0 -22
  313. package/dist/types/src/base/ui/select_buttons.d.ts.map +1 -1
  314. package/dist/types/src/base/ui/select_buttons_synced.d.ts.map +1 -1
  315. package/dist/types/src/base/ui/select_synced.d.ts.map +1 -1
  316. package/dist/types/src/base/ui/switch.d.ts +0 -22
  317. package/dist/types/src/base/ui/switch.d.ts.map +1 -1
  318. package/dist/types/src/base/ui/switch_synced.d.ts.map +1 -1
  319. package/dist/types/src/base/ui/synced.d.ts +2 -8
  320. package/dist/types/src/base/ui/synced.d.ts.map +1 -1
  321. package/dist/types/src/base/ui/system/all_styles_set.d.ts +0 -3
  322. package/dist/types/src/base/ui/system/all_styles_set.d.ts.map +1 -1
  323. package/dist/types/src/base/ui/system/appearance/appearance_set.d.ts +0 -1
  324. package/dist/types/src/base/ui/system/appearance/appearance_set.d.ts.map +1 -1
  325. package/dist/types/src/base/ui/system/appearance/background_color.d.ts +0 -1
  326. package/dist/types/src/base/ui/system/appearance/background_color.d.ts.map +1 -1
  327. package/dist/types/src/base/ui/system/appearance/border.d.ts +0 -1
  328. package/dist/types/src/base/ui/system/appearance/border.d.ts.map +1 -1
  329. package/dist/types/src/base/ui/system/appearance/border_radius.d.ts +0 -1
  330. package/dist/types/src/base/ui/system/appearance/border_radius.d.ts.map +1 -1
  331. package/dist/types/src/base/ui/system/appearance/box_shadow.d.ts +0 -1
  332. package/dist/types/src/base/ui/system/appearance/box_shadow.d.ts.map +1 -1
  333. package/dist/types/src/base/ui/system/appearance/opacity.d.ts +0 -1
  334. package/dist/types/src/base/ui/system/appearance/opacity.d.ts.map +1 -1
  335. package/dist/types/src/base/ui/system/dimensions/dimensions_set.d.ts +0 -1
  336. package/dist/types/src/base/ui/system/dimensions/dimensions_set.d.ts.map +1 -1
  337. package/dist/types/src/base/ui/system/dimensions/height.d.ts +0 -1
  338. package/dist/types/src/base/ui/system/dimensions/height.d.ts.map +1 -1
  339. package/dist/types/src/base/ui/system/dimensions/max_height.d.ts +0 -1
  340. package/dist/types/src/base/ui/system/dimensions/max_height.d.ts.map +1 -1
  341. package/dist/types/src/base/ui/system/dimensions/max_width.d.ts +0 -1
  342. package/dist/types/src/base/ui/system/dimensions/max_width.d.ts.map +1 -1
  343. package/dist/types/src/base/ui/system/dimensions/min_height.d.ts +0 -1
  344. package/dist/types/src/base/ui/system/dimensions/min_height.d.ts.map +1 -1
  345. package/dist/types/src/base/ui/system/dimensions/min_width.d.ts +0 -1
  346. package/dist/types/src/base/ui/system/dimensions/min_width.d.ts.map +1 -1
  347. package/dist/types/src/base/ui/system/dimensions/width.d.ts +0 -1
  348. package/dist/types/src/base/ui/system/dimensions/width.d.ts.map +1 -1
  349. package/dist/types/src/base/ui/system/display.d.ts +0 -1
  350. package/dist/types/src/base/ui/system/display.d.ts.map +1 -1
  351. package/dist/types/src/base/ui/system/flex_container/align_content.d.ts +0 -1
  352. package/dist/types/src/base/ui/system/flex_container/align_content.d.ts.map +1 -1
  353. package/dist/types/src/base/ui/system/flex_container/align_items.d.ts +0 -1
  354. package/dist/types/src/base/ui/system/flex_container/align_items.d.ts.map +1 -1
  355. package/dist/types/src/base/ui/system/flex_container/flex_container_set.d.ts +0 -1
  356. package/dist/types/src/base/ui/system/flex_container/flex_container_set.d.ts.map +1 -1
  357. package/dist/types/src/base/ui/system/flex_container/flex_direction.d.ts +0 -1
  358. package/dist/types/src/base/ui/system/flex_container/flex_direction.d.ts.map +1 -1
  359. package/dist/types/src/base/ui/system/flex_container/flex_wrap.d.ts +0 -1
  360. package/dist/types/src/base/ui/system/flex_container/flex_wrap.d.ts.map +1 -1
  361. package/dist/types/src/base/ui/system/flex_container/justify_content.d.ts +0 -1
  362. package/dist/types/src/base/ui/system/flex_container/justify_content.d.ts.map +1 -1
  363. package/dist/types/src/base/ui/system/flex_container/justify_items.d.ts +0 -1
  364. package/dist/types/src/base/ui/system/flex_container/justify_items.d.ts.map +1 -1
  365. package/dist/types/src/base/ui/system/flex_item/align_self.d.ts +0 -1
  366. package/dist/types/src/base/ui/system/flex_item/align_self.d.ts.map +1 -1
  367. package/dist/types/src/base/ui/system/flex_item/flex.d.ts +0 -1
  368. package/dist/types/src/base/ui/system/flex_item/flex.d.ts.map +1 -1
  369. package/dist/types/src/base/ui/system/flex_item/flex_basis.d.ts +0 -1
  370. package/dist/types/src/base/ui/system/flex_item/flex_basis.d.ts.map +1 -1
  371. package/dist/types/src/base/ui/system/flex_item/flex_grow.d.ts +0 -1
  372. package/dist/types/src/base/ui/system/flex_item/flex_grow.d.ts.map +1 -1
  373. package/dist/types/src/base/ui/system/flex_item/flex_item_set.d.ts +0 -1
  374. package/dist/types/src/base/ui/system/flex_item/flex_item_set.d.ts.map +1 -1
  375. package/dist/types/src/base/ui/system/flex_item/flex_shrink.d.ts +0 -1
  376. package/dist/types/src/base/ui/system/flex_item/flex_shrink.d.ts.map +1 -1
  377. package/dist/types/src/base/ui/system/flex_item/justify_self.d.ts +0 -1
  378. package/dist/types/src/base/ui/system/flex_item/justify_self.d.ts.map +1 -1
  379. package/dist/types/src/base/ui/system/flex_item/order.d.ts +0 -1
  380. package/dist/types/src/base/ui/system/flex_item/order.d.ts.map +1 -1
  381. package/dist/types/src/base/ui/system/index.d.ts +52 -52
  382. package/dist/types/src/base/ui/system/index.d.ts.map +1 -1
  383. package/dist/types/src/base/ui/system/overflow.d.ts +0 -1
  384. package/dist/types/src/base/ui/system/overflow.d.ts.map +1 -1
  385. package/dist/types/src/base/ui/system/position/bottom.d.ts +0 -1
  386. package/dist/types/src/base/ui/system/position/bottom.d.ts.map +1 -1
  387. package/dist/types/src/base/ui/system/position/left.d.ts +0 -1
  388. package/dist/types/src/base/ui/system/position/left.d.ts.map +1 -1
  389. package/dist/types/src/base/ui/system/position/position.d.ts +0 -1
  390. package/dist/types/src/base/ui/system/position/position.d.ts.map +1 -1
  391. package/dist/types/src/base/ui/system/position/position_set.d.ts +0 -1
  392. package/dist/types/src/base/ui/system/position/position_set.d.ts.map +1 -1
  393. package/dist/types/src/base/ui/system/position/right.d.ts +0 -1
  394. package/dist/types/src/base/ui/system/position/right.d.ts.map +1 -1
  395. package/dist/types/src/base/ui/system/position/top.d.ts +0 -1
  396. package/dist/types/src/base/ui/system/position/top.d.ts.map +1 -1
  397. package/dist/types/src/base/ui/system/position/z_index.d.ts +0 -1
  398. package/dist/types/src/base/ui/system/position/z_index.d.ts.map +1 -1
  399. package/dist/types/src/base/ui/system/spacing/margin.d.ts +0 -1
  400. package/dist/types/src/base/ui/system/spacing/margin.d.ts.map +1 -1
  401. package/dist/types/src/base/ui/system/spacing/padding.d.ts +0 -1
  402. package/dist/types/src/base/ui/system/spacing/padding.d.ts.map +1 -1
  403. package/dist/types/src/base/ui/system/spacing/spacing_set.d.ts +0 -1
  404. package/dist/types/src/base/ui/system/spacing/spacing_set.d.ts.map +1 -1
  405. package/dist/types/src/base/ui/system/typography/font_family.d.ts +0 -1
  406. package/dist/types/src/base/ui/system/typography/font_family.d.ts.map +1 -1
  407. package/dist/types/src/base/ui/system/typography/font_size.d.ts +0 -1
  408. package/dist/types/src/base/ui/system/typography/font_size.d.ts.map +1 -1
  409. package/dist/types/src/base/ui/system/typography/font_style.d.ts +0 -1
  410. package/dist/types/src/base/ui/system/typography/font_style.d.ts.map +1 -1
  411. package/dist/types/src/base/ui/system/typography/font_weight.d.ts +0 -1
  412. package/dist/types/src/base/ui/system/typography/font_weight.d.ts.map +1 -1
  413. package/dist/types/src/base/ui/system/typography/letter_spacing.d.ts +0 -1
  414. package/dist/types/src/base/ui/system/typography/letter_spacing.d.ts.map +1 -1
  415. package/dist/types/src/base/ui/system/typography/line_height.d.ts +0 -1
  416. package/dist/types/src/base/ui/system/typography/line_height.d.ts.map +1 -1
  417. package/dist/types/src/base/ui/system/typography/text_align.d.ts +0 -1
  418. package/dist/types/src/base/ui/system/typography/text_align.d.ts.map +1 -1
  419. package/dist/types/src/base/ui/system/typography/text_color.d.ts +0 -1
  420. package/dist/types/src/base/ui/system/typography/text_color.d.ts.map +1 -1
  421. package/dist/types/src/base/ui/system/typography/text_decoration.d.ts +0 -1
  422. package/dist/types/src/base/ui/system/typography/text_decoration.d.ts.map +1 -1
  423. package/dist/types/src/base/ui/system/typography/text_transform.d.ts +0 -1
  424. package/dist/types/src/base/ui/system/typography/text_transform.d.ts.map +1 -1
  425. package/dist/types/src/base/ui/system/typography/typography_set.d.ts +0 -1
  426. package/dist/types/src/base/ui/system/typography/typography_set.d.ts.map +1 -1
  427. package/dist/types/src/base/ui/table_picker.d.ts +0 -21
  428. package/dist/types/src/base/ui/table_picker.d.ts.map +1 -1
  429. package/dist/types/src/base/ui/table_picker_synced.d.ts.map +1 -1
  430. package/dist/types/src/base/ui/text.d.ts +0 -3
  431. package/dist/types/src/base/ui/text.d.ts.map +1 -1
  432. package/dist/types/src/base/ui/text_button.d.ts +1 -5
  433. package/dist/types/src/base/ui/text_button.d.ts.map +1 -1
  434. package/dist/types/src/base/ui/theme/default_theme/index.d.ts +1 -1
  435. package/dist/types/src/base/ui/theme/theme_context.d.ts +1 -1
  436. package/dist/types/src/base/ui/theme/use_theme.d.ts +1 -1
  437. package/dist/types/src/base/ui/tooltip.d.ts +0 -16
  438. package/dist/types/src/base/ui/tooltip.d.ts.map +1 -1
  439. package/dist/types/src/base/ui/types/aria_props.d.ts.map +1 -1
  440. package/dist/types/src/base/ui/types/data_attributes_prop.d.ts +0 -4
  441. package/dist/types/src/base/ui/types/data_attributes_prop.d.ts.map +1 -1
  442. package/dist/types/src/base/ui/types/tooltip_anchor_props.d.ts +0 -7
  443. package/dist/types/src/base/ui/types/tooltip_anchor_props.d.ts.map +1 -1
  444. package/dist/types/src/base/ui/ui.d.ts +1 -0
  445. package/dist/types/src/base/ui/ui.d.ts.map +1 -1
  446. package/dist/types/src/base/ui/view_picker.d.ts +0 -23
  447. package/dist/types/src/base/ui/view_picker.d.ts.map +1 -1
  448. package/dist/types/src/base/ui/view_picker_synced.d.ts.map +1 -1
  449. package/dist/types/src/base/ui/viewport_constraint.d.ts +1 -14
  450. package/dist/types/src/base/ui/viewport_constraint.d.ts.map +1 -1
  451. package/dist/types/src/base/unstable_testing_utils.d.ts +1 -1
  452. package/dist/types/src/base/unstable_testing_utils.d.ts.map +1 -1
  453. package/dist/types/src/interface/assert_run_context.d.ts +2 -0
  454. package/dist/types/src/interface/assert_run_context.d.ts.map +1 -0
  455. package/dist/types/src/interface/index.d.ts +1 -6
  456. package/dist/types/src/interface/index.d.ts.map +1 -1
  457. package/dist/types/src/interface/models/models.d.ts +1 -0
  458. package/dist/types/src/interface/models/models.d.ts.map +1 -1
  459. package/dist/types/src/interface/models/mutations.d.ts.map +1 -1
  460. package/dist/types/src/interface/ui/initialize_block.d.ts.map +1 -1
  461. package/dist/types/src/interface/ui/ui.d.ts +1 -0
  462. package/dist/types/src/interface/ui/ui.d.ts.map +1 -1
  463. package/dist/types/src/interface/ui/use_custom_properties.d.ts +1 -1
  464. package/dist/types/src/shared/models/mutations_core.d.ts.map +1 -1
  465. package/dist/types/src/shared/private_utils.d.ts +0 -9
  466. package/dist/types/src/shared/private_utils.d.ts.map +1 -1
  467. package/dist/types/src/shared/ui/global_config_synced_component_helpers.d.ts +0 -2
  468. package/dist/types/src/shared/ui/global_config_synced_component_helpers.d.ts.map +1 -1
  469. package/dist/types/src/shared/ui/loader.d.ts.map +1 -1
  470. package/dist/types/src/shared/ui/with_hooks.d.ts +2 -2
  471. package/dist/types/src/shared/ui/with_hooks.d.ts.map +1 -1
  472. package/dist/types/src/testing/{abstract_mock_airtable_interface.d.ts → base/abstract_mock_airtable_interface.d.ts} +13 -13
  473. package/dist/types/src/testing/base/abstract_mock_airtable_interface.d.ts.map +1 -0
  474. package/dist/types/src/testing/interface/abstract_mock_airtable_interface.d.ts +51 -0
  475. package/dist/types/src/testing/interface/abstract_mock_airtable_interface.d.ts.map +1 -0
  476. package/models.js +1 -1
  477. package/package.json +24 -23
  478. package/types.js +1 -1
  479. package/dist/cjs/base/models/abstract_model_with_async_data.js +0 -273
  480. package/dist/cjs/base/models/base.js +0 -306
  481. package/dist/cjs/base/models/create_aggregators.js +0 -115
  482. package/dist/cjs/base/models/cursor.js +0 -393
  483. package/dist/cjs/base/models/field.js +0 -427
  484. package/dist/cjs/base/models/grouped_record_query_result.js +0 -399
  485. package/dist/cjs/base/models/linked_records_query_result.js +0 -728
  486. package/dist/cjs/base/models/mutations.js +0 -338
  487. package/dist/cjs/base/models/object_pool.js +0 -184
  488. package/dist/cjs/base/models/record.js +0 -304
  489. package/dist/cjs/base/models/record_query_result.js +0 -741
  490. package/dist/cjs/base/models/record_store.js +0 -825
  491. package/dist/cjs/base/models/session.js +0 -182
  492. package/dist/cjs/base/models/table.js +0 -668
  493. package/dist/cjs/base/models/table_or_view_query_result.js +0 -1013
  494. package/dist/cjs/base/models/view.js +0 -431
  495. package/dist/cjs/base/models/view_data_store.js +0 -403
  496. package/dist/cjs/base/models/view_metadata_query_result.js +0 -224
  497. package/dist/cjs/base/perform_record_action.js +0 -257
  498. package/dist/cjs/base/sdk.js +0 -233
  499. package/dist/cjs/base/settings_button.js +0 -138
  500. package/dist/cjs/base/ui/baymax_utils.js +0 -133
  501. package/dist/cjs/base/ui/block_wrapper.js +0 -143
  502. package/dist/cjs/base/ui/box.js +0 -110
  503. package/dist/cjs/base/ui/button.js +0 -182
  504. package/dist/cjs/base/ui/cell_renderer.js +0 -255
  505. package/dist/cjs/base/ui/choice_token.js +0 -110
  506. package/dist/cjs/base/ui/collaborator_token.js +0 -145
  507. package/dist/cjs/base/ui/color_palette.js +0 -239
  508. package/dist/cjs/base/ui/color_palette_synced.js +0 -98
  509. package/dist/cjs/base/ui/confirmation_dialog.js +0 -153
  510. package/dist/cjs/base/ui/dialog.js +0 -142
  511. package/dist/cjs/base/ui/dialog_close_button.js +0 -152
  512. package/dist/cjs/base/ui/expand_record_picker_async.js +0 -100
  513. package/dist/cjs/base/ui/field_icon.js +0 -62
  514. package/dist/cjs/base/ui/field_picker.js +0 -143
  515. package/dist/cjs/base/ui/field_picker_synced.js +0 -88
  516. package/dist/cjs/base/ui/form_field.js +0 -137
  517. package/dist/cjs/base/ui/geometry/point.js +0 -21
  518. package/dist/cjs/base/ui/geometry/rect.js +0 -67
  519. package/dist/cjs/base/ui/geometry/size.js +0 -21
  520. package/dist/cjs/base/ui/global_alert.js +0 -92
  521. package/dist/cjs/base/ui/heading.js +0 -181
  522. package/dist/cjs/base/ui/icon.js +0 -129
  523. package/dist/cjs/base/ui/input.js +0 -200
  524. package/dist/cjs/base/ui/input_synced.js +0 -89
  525. package/dist/cjs/base/ui/label.js +0 -105
  526. package/dist/cjs/base/ui/link.js +0 -229
  527. package/dist/cjs/base/ui/loader.js +0 -82
  528. package/dist/cjs/base/ui/modal.js +0 -184
  529. package/dist/cjs/base/ui/model_picker_select.js +0 -83
  530. package/dist/cjs/base/ui/popover.js +0 -407
  531. package/dist/cjs/base/ui/progress_bar.js +0 -128
  532. package/dist/cjs/base/ui/record_card.js +0 -653
  533. package/dist/cjs/base/ui/record_card_list.js +0 -377
  534. package/dist/cjs/base/ui/select.js +0 -247
  535. package/dist/cjs/base/ui/select_and_select_buttons_helpers.js +0 -87
  536. package/dist/cjs/base/ui/select_buttons.js +0 -192
  537. package/dist/cjs/base/ui/select_buttons_synced.js +0 -84
  538. package/dist/cjs/base/ui/select_synced.js +0 -87
  539. package/dist/cjs/base/ui/switch.js +0 -196
  540. package/dist/cjs/base/ui/switch_synced.js +0 -75
  541. package/dist/cjs/base/ui/synced.js +0 -70
  542. package/dist/cjs/base/ui/system/appearance/appearance_set.js +0 -30
  543. package/dist/cjs/base/ui/system/appearance/background_color.js +0 -21
  544. package/dist/cjs/base/ui/system/appearance/border_radius.js +0 -21
  545. package/dist/cjs/base/ui/system/appearance/box_shadow.js +0 -21
  546. package/dist/cjs/base/ui/system/appearance/opacity.js +0 -21
  547. package/dist/cjs/base/ui/system/dimensions/dimensions_set.js +0 -31
  548. package/dist/cjs/base/ui/system/dimensions/height.js +0 -21
  549. package/dist/cjs/base/ui/system/dimensions/max_height.js +0 -21
  550. package/dist/cjs/base/ui/system/dimensions/max_width.js +0 -21
  551. package/dist/cjs/base/ui/system/dimensions/min_height.js +0 -21
  552. package/dist/cjs/base/ui/system/dimensions/min_width.js +0 -21
  553. package/dist/cjs/base/ui/system/dimensions/width.js +0 -21
  554. package/dist/cjs/base/ui/system/display.js +0 -22
  555. package/dist/cjs/base/ui/system/flex_container/align_content.js +0 -18
  556. package/dist/cjs/base/ui/system/flex_container/align_items.js +0 -18
  557. package/dist/cjs/base/ui/system/flex_container/flex_container_set.js +0 -31
  558. package/dist/cjs/base/ui/system/flex_container/flex_direction.js +0 -18
  559. package/dist/cjs/base/ui/system/flex_container/flex_wrap.js +0 -18
  560. package/dist/cjs/base/ui/system/flex_container/justify_content.js +0 -18
  561. package/dist/cjs/base/ui/system/flex_container/justify_items.js +0 -19
  562. package/dist/cjs/base/ui/system/flex_item/align_self.js +0 -18
  563. package/dist/cjs/base/ui/system/flex_item/flex.js +0 -18
  564. package/dist/cjs/base/ui/system/flex_item/flex_basis.js +0 -18
  565. package/dist/cjs/base/ui/system/flex_item/flex_grow.js +0 -18
  566. package/dist/cjs/base/ui/system/flex_item/flex_item_set.js +0 -32
  567. package/dist/cjs/base/ui/system/flex_item/flex_shrink.js +0 -18
  568. package/dist/cjs/base/ui/system/flex_item/justify_self.js +0 -19
  569. package/dist/cjs/base/ui/system/flex_item/order.js +0 -18
  570. package/dist/cjs/base/ui/system/overflow.js +0 -24
  571. package/dist/cjs/base/ui/system/position/position.js +0 -18
  572. package/dist/cjs/base/ui/system/position/position_set.js +0 -31
  573. package/dist/cjs/base/ui/system/position/z_index.js +0 -21
  574. package/dist/cjs/base/ui/system/spacing/spacing_set.js +0 -27
  575. package/dist/cjs/base/ui/system/typography/font_family.js +0 -21
  576. package/dist/cjs/base/ui/system/typography/font_size.js +0 -21
  577. package/dist/cjs/base/ui/system/typography/font_style.js +0 -18
  578. package/dist/cjs/base/ui/system/typography/font_weight.js +0 -21
  579. package/dist/cjs/base/ui/system/typography/letter_spacing.js +0 -21
  580. package/dist/cjs/base/ui/system/typography/line_height.js +0 -18
  581. package/dist/cjs/base/ui/system/typography/text_align.js +0 -18
  582. package/dist/cjs/base/ui/system/typography/text_color.js +0 -21
  583. package/dist/cjs/base/ui/system/typography/text_decoration.js +0 -18
  584. package/dist/cjs/base/ui/system/typography/text_transform.js +0 -18
  585. package/dist/cjs/base/ui/system/typography/typography_set.js +0 -35
  586. package/dist/cjs/base/ui/system/utils/create_responsive_prop_type.js +0 -19
  587. package/dist/cjs/base/ui/system/utils/create_style_prop_types.js +0 -24
  588. package/dist/cjs/base/ui/system/utils/enum_prop_type_utils.js +0 -35
  589. package/dist/cjs/base/ui/system/utils/get_style_props_for_responsive_prop.js +0 -113
  590. package/dist/cjs/base/ui/table_picker.js +0 -95
  591. package/dist/cjs/base/ui/table_picker_synced.js +0 -84
  592. package/dist/cjs/base/ui/text.js +0 -150
  593. package/dist/cjs/base/ui/text_button.js +0 -228
  594. package/dist/cjs/base/ui/theme/default_theme/control_sizes.js +0 -96
  595. package/dist/cjs/base/ui/theme/default_theme/select_variants.js +0 -59
  596. package/dist/cjs/base/ui/theme/default_theme/switch_variants.js +0 -91
  597. package/dist/cjs/base/ui/tooltip.js +0 -215
  598. package/dist/cjs/base/ui/types/aria_props.js +0 -23
  599. package/dist/cjs/base/ui/types/data_attributes_prop.js +0 -18
  600. package/dist/cjs/base/ui/types/tooltip_anchor_props.js +0 -17
  601. package/dist/cjs/base/ui/use_styled_system.js +0 -32
  602. package/dist/cjs/base/ui/view_picker.js +0 -133
  603. package/dist/cjs/base/ui/view_picker_synced.js +0 -88
  604. package/dist/cjs/base/ui/viewport_constraint.js +0 -176
  605. package/dist/cjs/base/ui/with_styled_system.js +0 -165
  606. package/dist/cjs/base/undo_redo.js +0 -48
  607. package/dist/cjs/base/viewport.js +0 -397
  608. package/dist/cjs/injected/airtable_interface.js +0 -22
  609. package/dist/cjs/interface/index.js +0 -36
  610. package/dist/cjs/interface/models/base.js +0 -54
  611. package/dist/cjs/interface/models/field.js +0 -42
  612. package/dist/cjs/interface/models/mutations.js +0 -79
  613. package/dist/cjs/interface/models/record.js +0 -71
  614. package/dist/cjs/interface/models/record_store.js +0 -83
  615. package/dist/cjs/interface/models/session.js +0 -42
  616. package/dist/cjs/interface/models/table.js +0 -126
  617. package/dist/cjs/interface/sdk.js +0 -104
  618. package/dist/cjs/interface/types/mutations.js +0 -24
  619. package/dist/cjs/interface/ui/block_wrapper.js +0 -61
  620. package/dist/cjs/shared/global_config.js +0 -511
  621. package/dist/cjs/shared/models/abstract_model.js +0 -119
  622. package/dist/cjs/shared/models/base_core.js +0 -602
  623. package/dist/cjs/shared/models/field_core.js +0 -331
  624. package/dist/cjs/shared/models/mutations_core.js +0 -439
  625. package/dist/cjs/shared/models/record_core.js +0 -272
  626. package/dist/cjs/shared/models/record_store_core.js +0 -213
  627. package/dist/cjs/shared/models/session_core.js +0 -214
  628. package/dist/cjs/shared/models/table_core.js +0 -1561
  629. package/dist/cjs/shared/sdk_core.js +0 -115
  630. package/dist/cjs/shared/types/mutation_constants.js +0 -11
  631. package/dist/cjs/shared/ui/loader.js +0 -68
  632. package/dist/cjs/shared/watchable.js +0 -216
  633. package/dist/cjs/stats/block_stats.js +0 -96
  634. package/dist/cjs/testing/abstract_mock_airtable_interface.js +0 -277
  635. package/dist/types/src/base/ui/system/utils/create_responsive_prop_type.d.ts +0 -2
  636. package/dist/types/src/base/ui/system/utils/create_responsive_prop_type.d.ts.map +0 -1
  637. package/dist/types/src/base/ui/system/utils/create_style_prop_types.d.ts +0 -4
  638. package/dist/types/src/base/ui/system/utils/create_style_prop_types.d.ts.map +0 -1
  639. package/dist/types/src/base/ui/system/utils/enum_prop_type_utils.d.ts +0 -21
  640. package/dist/types/src/base/ui/system/utils/enum_prop_type_utils.d.ts.map +0 -1
  641. package/dist/types/src/testing/abstract_mock_airtable_interface.d.ts.map +0 -1
  642. /package/dist/{cjs → esm}/base/types/aggregators.js +0 -0
  643. /package/dist/{cjs → esm}/base/types/backend_fetch_types.js +0 -0
  644. /package/dist/{cjs → esm}/base/types/base.js +0 -0
  645. /package/dist/{cjs → esm}/base/types/cursor.js +0 -0
  646. /package/dist/{cjs → esm}/base/types/field.js +0 -0
  647. /package/dist/{cjs → esm}/base/types/record.js +0 -0
  648. /package/dist/{cjs → esm}/base/types/record_action_data.js +0 -0
  649. /package/dist/{cjs → esm}/base/types/table.js +0 -0
  650. /package/dist/{cjs → esm}/base/types/viewport.js +0 -0
  651. /package/dist/{cjs → esm}/base/ui/system/utils/csstype.js +0 -0
  652. /package/dist/{cjs → esm}/base/ui/system/utils/types.js +0 -0
  653. /package/dist/{cjs/interface/types/base.js → esm/base/ui/types/aria_props.js} +0 -0
  654. /package/dist/{cjs/interface/types/field.js → esm/base/ui/types/data_attributes_prop.js} +0 -0
  655. /package/dist/{cjs/interface/types/record.js → esm/base/ui/types/tooltip_anchor_props.js} +0 -0
  656. /package/dist/{cjs/interface/types/table.js → esm/interface/types/base.js} +0 -0
  657. /package/dist/{cjs/sdk_mode.js → esm/interface/types/field.js} +0 -0
  658. /package/dist/{cjs/shared → esm/interface}/types/record.js +0 -0
  659. /package/dist/{cjs/shared/types/airtable_interface_core.js → esm/interface/types/table.js} +0 -0
  660. /package/dist/{cjs → esm}/interface/ui/expand_record.js +0 -0
  661. /package/dist/{cjs/shared/types/attachment.js → esm/sdk_mode.js} +0 -0
  662. /package/dist/{cjs/shared/types/base_core.js → esm/shared/types/airtable_interface_core.js} +0 -0
  663. /package/dist/{cjs/shared/types/collaborator.js → esm/shared/types/attachment.js} +0 -0
  664. /package/dist/{cjs/shared/types/global_config.js → esm/shared/types/base_core.js} +0 -0
  665. /package/dist/{cjs/shared/types/hyper_ids.js → esm/shared/types/collaborator.js} +0 -0
  666. /package/dist/{cjs/shared/types/stat.js → esm/shared/types/global_config.js} +0 -0
  667. /package/dist/{cjs/shared/types/table_core.js → esm/shared/types/hyper_ids.js} +0 -0
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _error_utils = require("../../shared/error_utils");
8
+ var _private_utils = require("../../shared/private_utils");
9
+ var _abstract_model_with_async_data = _interopRequireDefault(require("./abstract_model_with_async_data"));
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ /** @module @airtable/blocks/models: View */ /** */
12
+
13
+ const WatchableViewMetadataKeys = {
14
+ allFields: 'allFields',
15
+ visibleFields: 'visibleFields',
16
+ isDataLoaded: 'isDataLoaded',
17
+ groupLevels: 'groupLevels'
18
+ };
19
+
20
+ /**
21
+ * A key in {@link ViewMetadataQueryResult} that can be watched.
22
+ * - `allFields`
23
+ * - `visibleFields`
24
+ * - `isDataLoaded`
25
+ */
26
+
27
+ /** @hidden */
28
+
29
+ /**
30
+ * @hidden
31
+ */
32
+
33
+ /**
34
+ * @hidden
35
+ */
36
+
37
+ /**
38
+ * Contains information about a view that isn't loaded by default e.g. field order and visible fields.
39
+ *
40
+ * In a React component, we recommend using {@link useViewMetadata} instead.
41
+ *
42
+ * @example
43
+ * ```js
44
+ * async function loadMetadataForViewAsync(view) {
45
+ * const viewMetadata = view.selectMetadata();
46
+ * await viewMetadata.loadDataAsync();
47
+ *
48
+ * console.log(viewMetadata.visibleFields);
49
+ * // => [Field, Field, Field]
50
+ *
51
+ * console.log(viewMetadata.allFields);
52
+ * // => [Field, Field, Field, Field, Field]
53
+ *
54
+ * viewMetadata.unloadData();
55
+ * }
56
+ * ```
57
+ * @docsPath models/query results/ViewMetadataQueryResult
58
+ */
59
+ class ViewMetadataQueryResult extends _abstract_model_with_async_data.default {
60
+ /** @internal */
61
+ static _className = 'ViewMetadataQueryResult';
62
+
63
+ /** @internal */
64
+ static _isWatchableKey(key) {
65
+ return (0, _private_utils.isEnumValue)(WatchableViewMetadataKeys, key);
66
+ }
67
+
68
+ /** @internal */
69
+ static _shouldLoadDataForKey(key) {
70
+ return key === WatchableViewMetadataKeys.allFields || key === WatchableViewMetadataKeys.visibleFields || key === WatchableViewMetadataKeys.groupLevels;
71
+ }
72
+
73
+ /** */
74
+
75
+ /** @internal */
76
+
77
+ /** @internal */
78
+ constructor(sdk, parentView, viewDataStore) {
79
+ super(sdk, (0, _private_utils.getLocallyUniqueId)('ViewMetadataQueryResult'));
80
+ this.parentView = parentView;
81
+ this._viewDataStore = viewDataStore;
82
+ }
83
+
84
+ /** @internal */
85
+ get __poolKey() {
86
+ return this.parentView.id;
87
+ }
88
+
89
+ /** @internal */
90
+ get _dataOrNullIfDeleted() {
91
+ if (this._viewDataStore.isDeleted) {
92
+ return null;
93
+ }
94
+ if (!this._viewDataStore.isDataLoaded) {
95
+ return {
96
+ visibleFieldIds: null,
97
+ allFieldIds: null,
98
+ groupLevels: null
99
+ };
100
+ }
101
+ return {
102
+ visibleFieldIds: this._viewDataStore.visibleFieldIds,
103
+ allFieldIds: this._viewDataStore.allFieldIds,
104
+ groupLevels: this._viewDataStore.groupLevels
105
+ };
106
+ }
107
+
108
+ /** @internal */
109
+ _onChangeIsDataLoaded() {
110
+ this._onChange(WatchableViewMetadataKeys.isDataLoaded);
111
+ }
112
+
113
+ /** @internal */
114
+ async _loadDataAsync() {
115
+ await this._viewDataStore.loadDataAsync();
116
+ this._viewDataStore.watch('visibleFieldIds', this._onVisibleFieldIdsChange);
117
+ this._viewDataStore.watch('allFieldIds', this._onAllFieldIdsChange);
118
+ this._viewDataStore.watch('groupLevels', this._onGroupLevelsChange);
119
+ return [WatchableViewMetadataKeys.visibleFields, WatchableViewMetadataKeys.allFields, WatchableViewMetadataKeys.groupLevels];
120
+ }
121
+
122
+ /** @internal */
123
+ _unloadData() {
124
+ this._viewDataStore.unwatch('visibleFieldIds', this._onVisibleFieldIdsChange);
125
+ this._viewDataStore.unwatch('allFieldIds', this._onAllFieldIdsChange);
126
+ this._viewDataStore.unwatch('groupLevels', this._onGroupLevelsChange);
127
+ this._viewDataStore.unloadData();
128
+ }
129
+
130
+ /** @internal */
131
+ _onVisibleFieldIdsChange = () => {
132
+ this._onChange(WatchableViewMetadataKeys.visibleFields);
133
+ };
134
+
135
+ /** @internal */
136
+ _onAllFieldIdsChange = () => {
137
+ this._onChange(WatchableViewMetadataKeys.allFields);
138
+ };
139
+
140
+ /** @internal */
141
+ _onGroupLevelsChange = () => {
142
+ this._onChange(WatchableViewMetadataKeys.groupLevels);
143
+ };
144
+
145
+ /**
146
+ * Returns every field in the table in the order they appear in this view. Watchable.
147
+ */
148
+ get allFields() {
149
+ const allFieldIds = this._data.allFieldIds;
150
+ (0, _error_utils.invariant)(allFieldIds, 'view meta data is not loaded');
151
+ return allFieldIds.map(fieldId => this.parentView.parentTable.getFieldById(fieldId));
152
+ }
153
+
154
+ /**
155
+ * Returns every field visible in this view. Watchable.
156
+ */
157
+ get visibleFields() {
158
+ const visibleFieldIds = this._data.visibleFieldIds;
159
+ (0, _error_utils.invariant)(visibleFieldIds, 'view meta data is not loaded');
160
+ return visibleFieldIds.map(fieldId => this.parentView.parentTable.getFieldById(fieldId));
161
+ }
162
+
163
+ /**
164
+ * Returns group levels for this view. Watchable.
165
+ *
166
+ * @hidden
167
+ */
168
+ get groupLevels() {
169
+ const groupLevels = this._data.groupLevels;
170
+ return groupLevels ? groupLevels.map(singleConfig => ({
171
+ ...singleConfig,
172
+ field: this.parentView.parentTable.getFieldById(singleConfig.fieldId)
173
+ })) : null;
174
+ }
175
+ }
176
+ var _default = exports.default = ViewMetadataQueryResult;
@@ -0,0 +1,215 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.WatchablePerformRecordActionKeys = exports.PerformRecordAction = void 0;
7
+ exports.__injectSdkIntoPerformRecordAction = __injectSdkIntoPerformRecordAction;
8
+ exports.registerRecordActionDataCallback = registerRecordActionDataCallback;
9
+ var _error_utils = require("../shared/error_utils");
10
+ var _private_utils = require("../shared/private_utils");
11
+ var _abstract_model_with_async_data = _interopRequireDefault(require("./models/abstract_model_with_async_data"));
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ /** @hidden */
14
+ const WatchablePerformRecordActionKeys = exports.WatchablePerformRecordActionKeys = Object.freeze({
15
+ // isDataLoaded must be a watchable key for a LoadableModel.
16
+ isDataLoaded: 'isDataLoaded',
17
+ recordActionData: 'recordActionData'
18
+ });
19
+
20
+ /** @hidden */
21
+
22
+ /**
23
+ * Returned by {@link registerRecordActionDataCallback}. Call it to unregister the previously
24
+ * registered function. Do this before registering another function or unmounting the component.
25
+ * */
26
+
27
+ /**
28
+ * This class exists to manage registering a callback to receive "Open block" / "Perform record
29
+ * action" messages.
30
+ * This is different to other message handlers (_registerHandlers) since the callback is specified
31
+ * by the block: it registers it during first render (vs the SDK registering during initialisation).
32
+ *
33
+ * On the liveapp side, we ensure that pending messages are held until the block registers the
34
+ * callback (or another message is sent). If there's a pending message, it is returned at
35
+ * registration.
36
+ *
37
+ * This class implements AbstractModelWithAsyncData in order to take advantage of useLoadable's
38
+ * suspense handling. "Loading" the model means registering the handler with liveapp. This allows us
39
+ * to suspend the block and return the initial pending message on first render.
40
+ *
41
+ * One difference is that _unloadData will not unregister the airtableInterface handler. We don't
42
+ * support unregistering it at this time for simplicity.
43
+ *
44
+ * This class is internal: users should use registerRecordActionDataCallback or useRecordActionData.
45
+ *
46
+ * @internal
47
+ * */
48
+ class PerformRecordAction extends _abstract_model_with_async_data.default {
49
+ /** @internal */
50
+
51
+ /** @internal */
52
+
53
+ /** @internal */
54
+
55
+ /**
56
+ * The data from the latest record action, or null if none have occurred yet.
57
+ *
58
+ * @internal */
59
+
60
+ /** @hidden */
61
+ constructor(sdk, airtableInterface) {
62
+ super(sdk, 'performRecordAction');
63
+ this._airtableInterface = airtableInterface;
64
+ this._hasRegisteredHandler = false;
65
+ this._hasCompletedInitialDataLoad = false;
66
+ this.recordActionData = null;
67
+ this._handlePerformRecordAction = this._handlePerformRecordAction.bind(this);
68
+ }
69
+
70
+ /** @internal */
71
+ static _isWatchableKey(key) {
72
+ return (0, _private_utils.isEnumValue)(WatchablePerformRecordActionKeys, key);
73
+ }
74
+
75
+ /** @hidden */
76
+ _handlePerformRecordAction(data) {
77
+ this.recordActionData = data;
78
+ this._onChange(WatchablePerformRecordActionKeys.recordActionData, data);
79
+ }
80
+
81
+ /**
82
+ * This accessor method is defined solely to satisfy the contract of the
83
+ * AbstractModel class.
84
+ *
85
+ * @internal */
86
+ get _dataOrNullIfDeleted() {
87
+ return (0, _error_utils.invariant)(false, 'The `data` property of PerformRecordAction should not be referenced');
88
+ }
89
+
90
+ /**
91
+ * This accessor method is defined because the parent implementation uses _dataOrNullIfDeleted
92
+ *
93
+ * @inheritdoc */
94
+ get isDeleted() {
95
+ return false;
96
+ }
97
+
98
+ /**
99
+ * AbstractModelWithAsyncData implementation
100
+ */
101
+
102
+ /** @internal */
103
+ _onChangeIsDataLoaded() {
104
+ this._onChange(WatchablePerformRecordActionKeys.isDataLoaded);
105
+
106
+ // Handle the case where there was a pending action whilst we were registering the handler.
107
+ // We only want to do this on the very initial load when we're actually registering the
108
+ // handler: avoid triggering this when the data is "unloaded" and "loaded".
109
+ if (!this._hasCompletedInitialDataLoad) {
110
+ this._hasCompletedInitialDataLoad = true;
111
+ if (this.recordActionData) {
112
+ this._handlePerformRecordAction(this.recordActionData);
113
+ }
114
+ }
115
+ }
116
+
117
+ /** @internal */
118
+ async _loadDataAsync() {
119
+ // Note: Liveapp will throw if a handler has already been registered, so we only register
120
+ // it once.
121
+ if (!this._hasRegisteredHandler) {
122
+ this._hasRegisteredHandler = true;
123
+ this.recordActionData = await this._airtableInterface.fetchAndSubscribeToPerformRecordActionAsync(this._handlePerformRecordAction);
124
+ }
125
+ return [];
126
+ }
127
+
128
+ /** @internal */
129
+ _unloadData() {
130
+ // Hack: Don't do anything, since "loading" means registering a handler, and we don't need
131
+ // to unregister it.
132
+ }
133
+
134
+ /** @internal */
135
+ static _shouldLoadDataForKey(key) {
136
+ // Watching recordActionData will load data (aka register handler with liveapp) and trigger
137
+ // callback when done.
138
+ return key === WatchablePerformRecordActionKeys.recordActionData;
139
+ }
140
+ }
141
+
142
+ /**
143
+ * Registers a callback to handle "open block" / "perform record action" events (from button field).
144
+ *
145
+ * Returns a unsubscribe function that should be used to unregister the callback for cleanup on
146
+ * component unmount, or if you wish to register a different function.
147
+ *
148
+ * Also see {@link useRecordActionData}, which subscribes to the same events in a synchronous way.
149
+ *
150
+ * Your block will not receive "perform record action" events until a callback is registered -
151
+ * they're held until registration to ensure the block is ready to handle the event (e.g. has
152
+ * finished loading).
153
+ *
154
+ * Because of this, we recommend only registering a callback once, in your top level component -
155
+ * otherwise, messages could be received while not all callbacks have been successfully registered.
156
+ * Similarly, using both `registerRecordActionDataCallback` and `useRecordActionData` is not
157
+ * supported.
158
+ *
159
+ * You can test your block in development by sending "perform record action" events to your block
160
+ * in the "Advanced" panel of the block developer tools.
161
+ *
162
+ * After releasing your block, you can use it with a button field by choosing the "Open custom
163
+ * block" action and selecting your block.
164
+ *
165
+ * @example
166
+ * ```js
167
+ * import React, {useEffect, useState} from 'react';
168
+ * import {registerRecordActionDataCallback} from '@airtable/blocks/base/ui';
169
+ *
170
+ * function LatestRecordAction() {
171
+ * const [recordActionData, setRecordActionData] = useState(null);
172
+ *
173
+ * const callback = (data) => {
174
+ * console.log('Record action received', data);
175
+ * setRecordActionData(data);
176
+ * }
177
+ *
178
+ * useEffect(() => {
179
+ * // Return the unsubscribe function so it's run on cleanup.
180
+ * return registerRecordActionDataCallback(callback);
181
+ * }, [callback]);
182
+ *
183
+ * if (recordActionData === null) {
184
+ * return <span>No events yet</span>;
185
+ * }
186
+ *
187
+ * return (
188
+ * <ul>
189
+ * <li>Record id: {recordActionData.recordId}</li>
190
+ * <li>View id: {recordActionData.viewId}</li>
191
+ * <li>Table id: {recordActionData.tableId}</li>
192
+ * </ul>
193
+ * );
194
+ * }
195
+ * ```
196
+ *
197
+ */
198
+ exports.PerformRecordAction = PerformRecordAction;
199
+ function registerRecordActionDataCallback(callback) {
200
+ const {
201
+ performRecordAction
202
+ } = sdk;
203
+ const wrappedCallback = (model, key, data) => {
204
+ callback(data);
205
+ };
206
+ performRecordAction.watch(WatchablePerformRecordActionKeys.recordActionData, wrappedCallback);
207
+ return () => performRecordAction.unwatch(WatchablePerformRecordActionKeys.recordActionData, wrappedCallback);
208
+ }
209
+ let sdk;
210
+
211
+ // The application-level Sdk instance must be injected dynamically to avoid
212
+ // circular dependencies at the time of module resolution.
213
+ function __injectSdkIntoPerformRecordAction(_sdk) {
214
+ sdk = _sdk;
215
+ }
@@ -0,0 +1,178 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _sdk_core = require("../shared/sdk_core");
8
+ var _viewport = _interopRequireDefault(require("./viewport"));
9
+ var _base = _interopRequireDefault(require("./models/base"));
10
+ var _session = _interopRequireDefault(require("./models/session"));
11
+ var _mutations = _interopRequireDefault(require("./models/mutations"));
12
+ var _cursor = _interopRequireDefault(require("./models/cursor"));
13
+ var _settings_button = _interopRequireDefault(require("./settings_button"));
14
+ var _undo_redo = _interopRequireDefault(require("./undo_redo"));
15
+ var _perform_record_action = require("./perform_record_action");
16
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
+ /** @hidden */ /** */
18
+ // NOTE: The version of React running in the Block SDK is controlled by the block.
19
+ // The SDK should not make too many assumptions about which version of React or
20
+ // ReactDOM is running.
21
+
22
+ /** @hidden */
23
+
24
+ /** @internal */
25
+ function defaultUpdateBatcher(applyUpdates) {
26
+ applyUpdates();
27
+ }
28
+
29
+ /**
30
+ * We document this manually.
31
+ *
32
+ * @hidden
33
+ */
34
+ class BaseBlockSdk extends _sdk_core.BlockSdkCore {
35
+ /** Controls the block's viewport. You can fullscreen the block and add size
36
+ * constrains using `viewport`.
37
+ */
38
+
39
+ /** Returns information about the active table, active view, and selected records. */
40
+
41
+ /**
42
+ * Controls the block's {@link settingsButton settings button}.
43
+ */
44
+
45
+ /** @hidden */
46
+
47
+ /** @internal */
48
+
49
+ // When models are updated on the frontend, we want to batch them together and have React do a
50
+ // single render.
51
+ //
52
+ // Without this, in sync-mode React (the current default), anything that triggers an update
53
+ // (like .setState or .forceUpdate) will instantly, synchronously re-render. So if you have an
54
+ // update that triggers multiple updates across your tree, you get multiple renders in an
55
+ // unpredictable order. This is bad because it's unnecessary work and the update order can
56
+ // contradict react's normal top-down data flow which can cause subtle bugs.
57
+ //
58
+ // We set _runWithUpdateBatching to ReactDOM.unstable_batchedUpdates to facilitate this. We
59
+ // don't know for sure though that React is in use on the page, so we leave actually setting
60
+ // this when the developer sets up their block with React, in UI.initializeBlock.
61
+ //
62
+ // This can be eliminated if we stop supporting versions of React below 18. In React 18,
63
+ // updates are always batched by default.
64
+ /** @internal */
65
+ _runWithUpdateBatching = defaultUpdateBatcher;
66
+
67
+ /** @hidden */
68
+ constructor(airtableInterface) {
69
+ super(airtableInterface);
70
+ const sdkInitData = airtableInterface.sdkInitData;
71
+
72
+ // Bind the public methods on this class so users can import
73
+ // just the method, e.g.
74
+ // import {reload} from '@airtable/blocks/base';
75
+ this.unstable_fetchAsync = this.unstable_fetchAsync.bind(this);
76
+ this.viewport = new _viewport.default(sdkInitData.isFullscreen, airtableInterface);
77
+ this.cursor = new _cursor.default(this);
78
+ this.settingsButton = new _settings_button.default(airtableInterface);
79
+ this.undoRedo = new _undo_redo.default(airtableInterface);
80
+ this.performRecordAction = new _perform_record_action.PerformRecordAction(this, airtableInterface);
81
+
82
+ // Now that we've constructed our models, let's hook them up to realtime changes.
83
+ this._registerHandlers();
84
+
85
+ // TODO: freeze this object before we ship the code editor.
86
+ }
87
+ /** @internal */
88
+ _constructSession() {
89
+ return new _session.default(this);
90
+ }
91
+ /** @internal */
92
+ _constructBase() {
93
+ return new _base.default(this);
94
+ }
95
+ /** @internal */
96
+ _constructMutations() {
97
+ return new _mutations.default(this, this.session, this.base, changes => this.__applyModelChanges(changes), updates => this.__applyGlobalConfigUpdates(updates));
98
+ }
99
+ /** @internal */
100
+ __applyModelChanges(changes) {
101
+ this._runWithUpdateBatching(() => {
102
+ const changedBasePaths = this.base.__applyChangesWithoutTriggeringEvents(changes);
103
+ const changedCursorKeys = this.cursor.__applyChangesWithoutTriggeringEvents(changes);
104
+ const changedSessionKeys = this.session.__applyChangesWithoutTriggeringEvents(changes);
105
+ this.base.__triggerOnChangeForChangedPaths(changedBasePaths);
106
+ this.cursor.__triggerOnChangeForChangedKeys(changedCursorKeys);
107
+ this.session.__triggerOnChangeForChangedKeys(changedSessionKeys);
108
+ });
109
+ }
110
+ /** @internal */
111
+ __applyGlobalConfigUpdates(updates) {
112
+ this._runWithUpdateBatching(() => {
113
+ this.globalConfig.__setMultipleKvPaths(updates);
114
+ });
115
+ }
116
+ /** @internal */
117
+ _registerHandlers() {
118
+ // base
119
+
120
+ this.__airtableInterface.subscribeToModelUpdates(_ref => {
121
+ let {
122
+ changes
123
+ } = _ref;
124
+ this.__applyModelChanges(changes);
125
+ });
126
+
127
+ // global config
128
+ this.__airtableInterface.subscribeToGlobalConfigUpdates(_ref2 => {
129
+ let {
130
+ updates
131
+ } = _ref2;
132
+ this.__applyGlobalConfigUpdates(updates);
133
+ });
134
+
135
+ // settings button
136
+ this.__airtableInterface.subscribeToSettingsButtonClick(() => {
137
+ if (this.settingsButton.isVisible) {
138
+ this._runWithUpdateBatching(() => {
139
+ // Since there's an async gap when communicating with liveapp,
140
+ // no-op if the button has been hidden since it was clicked.
141
+ this.settingsButton.__onClick();
142
+ });
143
+ }
144
+ });
145
+
146
+ // viewport
147
+ this.__airtableInterface.subscribeToEnterFullScreen(() => {
148
+ this._runWithUpdateBatching(() => {
149
+ this.viewport.__onEnterFullscreen();
150
+ });
151
+ });
152
+ this.__airtableInterface.subscribeToExitFullScreen(() => {
153
+ this._runWithUpdateBatching(() => {
154
+ this.viewport.__onExitFullscreen();
155
+ });
156
+ });
157
+ this.__airtableInterface.subscribeToFocus(() => {
158
+ this._runWithUpdateBatching(() => {
159
+ this.viewport.__focus();
160
+ });
161
+ });
162
+ }
163
+ /** @internal */
164
+ __setBatchedUpdatesFn(newUpdateBatcher) {
165
+ this._runWithUpdateBatching = newUpdateBatcher;
166
+ }
167
+
168
+ /** @hidden */
169
+ async unstable_fetchAsync(requestJson) {
170
+ return await this.__airtableInterface.performBackendFetchAsync(requestJson);
171
+ }
172
+
173
+ /** @hidden */
174
+ getBlockRunContext() {
175
+ return this.__airtableInterface.sdkInitData.runContext;
176
+ }
177
+ }
178
+ exports.default = BaseBlockSdk;
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _watchable = _interopRequireDefault(require("../shared/watchable"));
8
+ var _private_utils = require("../shared/private_utils");
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ /** @module @airtable/blocks: settingsButton */ /** */
11
+
12
+ const WatchableSettingsButtonKeys = Object.freeze({
13
+ isVisible: 'isVisible',
14
+ click: 'click'
15
+ });
16
+
17
+ /**
18
+ * A watchable key in {@link SettingsButton}.
19
+ * - `isVisible`
20
+ * - `click`
21
+ */
22
+
23
+ /**
24
+ * Interface to the settings button that lives outside the extension's viewport.
25
+ *
26
+ * The {@link useSettingsButton} hook is the recommended way to use the settings button, but you can
27
+ * also use it with {@link useWatchable} if you want more granular control (for example, to only
28
+ * show the button conditionally).
29
+ *
30
+ * @alias settingsButton
31
+ * @example
32
+ * ```js
33
+ * import {settingsButton} from '@airtable/blocks/base';
34
+ * import {useWatchable} from '@airtable/blocks/base/ui';
35
+ *
36
+ * function AppWithSettings({shouldShowSettingsButton}) {
37
+ * useEffect(() => {
38
+ * // A count of calls to `show()` and `hide()` is maintained internally. The button will
39
+ * // stay visible if there are more calls to `show()` than `hide()` - so here, we check
40
+ * // `isVisible` so we only we only call them when necessary.
41
+ * // The button is not visible by default.
42
+ * if (shouldShowSettingsButton && !settingsButton.isVisible) {
43
+ * settingsButton.show();
44
+ * } else if (!shouldShowSettingsButton && settingsButton.isVisible) {
45
+ * settingsButton.hide();
46
+ * }
47
+ * });
48
+ *
49
+ * useWatchable(settingsButton, 'click', function() {
50
+ * alert('Clicked!');
51
+ * });
52
+ * }
53
+ * ```
54
+ * @docsPath models/SettingsButton
55
+ */
56
+ class SettingsButton extends _watchable.default {
57
+ /** @internal */
58
+ static _className = 'SettingsButton';
59
+ /** @internal */
60
+ static _isWatchableKey(key) {
61
+ return (0, _private_utils.isEnumValue)(WatchableSettingsButtonKeys, key);
62
+ }
63
+ /** @internal */
64
+
65
+ /** @internal */
66
+
67
+ /** @internal */
68
+ constructor(airtableInterface) {
69
+ super();
70
+ this._refCount = 0;
71
+ this._airtableInterface = airtableInterface;
72
+ }
73
+
74
+ /**
75
+ * Whether the settings button is being shown.
76
+ * Can be watched.
77
+ */
78
+ get isVisible() {
79
+ return this._refCount > 0;
80
+ }
81
+
82
+ /**
83
+ * Show the settings button.
84
+ */
85
+ show() {
86
+ // Is now visible: trigger change watches and set it to be visible
87
+ if (this._refCount === 0) {
88
+ this._onChange(WatchableSettingsButtonKeys.isVisible, true);
89
+ this._airtableInterface.setSettingsButtonVisibility(true);
90
+ }
91
+ this._refCount += 1;
92
+ }
93
+
94
+ /**
95
+ * Hide the settings button.
96
+ *
97
+ * Note: A count of calls to `show()` and `hide()` is maintained internally. The button will
98
+ * stay visible if there are more calls to `show()` than `hide()`.
99
+ */
100
+ hide() {
101
+ // Be forgiving if hide() is called too many times, since we don't expose the count
102
+ if (this._refCount > 0) {
103
+ this._refCount -= 1;
104
+ }
105
+
106
+ // Should no longer be visible: trigger change watches and set it to be not visible
107
+ if (this._refCount === 0) {
108
+ this._onChange(WatchableSettingsButtonKeys.isVisible, false);
109
+ this._airtableInterface.setSettingsButtonVisibility(false);
110
+ }
111
+ }
112
+
113
+ /** @internal */
114
+ __onClick() {
115
+ this._onChange(WatchableSettingsButtonKeys.click);
116
+ }
117
+ }
118
+ var _default = exports.default = SettingsButton;
@@ -7,7 +7,7 @@ exports.BlockRunContextType = void 0;
7
7
  // BlockRunContextType, BlockInstallationPageBlockRunContext, ViewBlockRunContext, BlockRunContext
8
8
  // must be kept in sync with block_run_context.tsx in hyperbase repo
9
9
  /** @hidden */
10
- var BlockRunContextType = exports.BlockRunContextType = /*#__PURE__*/function (BlockRunContextType) {
10
+ let BlockRunContextType = exports.BlockRunContextType = /*#__PURE__*/function (BlockRunContextType) {
11
11
  BlockRunContextType["DASHBOARD_APP"] = "dashboardApp";
12
12
  BlockRunContextType["VIEW"] = "view";
13
13
  return BlockRunContextType;