@airtable/blocks 0.0.0-experimental-f52bc4e5e-20250709 → 0.0.0-experimental-75d011284-20250904

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (481) hide show
  1. package/dist/cjs/base/assert_run_context.js +12 -0
  2. package/dist/cjs/base/index.js +30 -30
  3. package/dist/cjs/base/models/abstract_model_with_async_data.js +154 -237
  4. package/dist/cjs/base/models/base.js +188 -267
  5. package/dist/cjs/base/models/create_aggregators.js +29 -46
  6. package/dist/cjs/base/models/cursor.js +206 -294
  7. package/dist/cjs/base/models/field.js +307 -395
  8. package/dist/cjs/base/models/grouped_record_query_result.js +219 -338
  9. package/dist/cjs/base/models/linked_records_query_result.js +450 -625
  10. package/dist/cjs/base/models/models.js +19 -22
  11. package/dist/cjs/base/models/mutations.js +267 -293
  12. package/dist/cjs/base/models/object_pool.js +117 -156
  13. package/dist/cjs/base/models/record.js +191 -256
  14. package/dist/cjs/base/models/record_coloring.js +6 -6
  15. package/dist/cjs/base/models/record_query_result.js +351 -435
  16. package/dist/cjs/base/models/record_store.js +403 -753
  17. package/dist/cjs/base/models/session.js +125 -153
  18. package/dist/cjs/base/models/table.js +457 -605
  19. package/dist/cjs/base/models/table_or_view_query_result.js +656 -920
  20. package/dist/cjs/base/models/view.js +284 -389
  21. package/dist/cjs/base/models/view_data_store.js +218 -356
  22. package/dist/cjs/base/models/view_metadata_query_result.js +109 -157
  23. package/dist/cjs/base/perform_record_action.js +89 -131
  24. package/dist/cjs/base/sdk.js +129 -184
  25. package/dist/cjs/base/settings_button.js +54 -74
  26. package/dist/cjs/base/types/airtable_interface.js +1 -1
  27. package/dist/cjs/base/types/mutations.js +5 -11
  28. package/dist/cjs/base/types/undo_redo.js +1 -1
  29. package/dist/cjs/base/types/view.js +1 -1
  30. package/dist/cjs/base/ui/base_provider.js +6 -8
  31. package/dist/cjs/base/ui/baymax_utils.js +436 -108
  32. package/dist/cjs/base/ui/block_wrapper.js +81 -106
  33. package/dist/cjs/base/ui/box.js +34 -60
  34. package/dist/cjs/base/ui/button.js +44 -74
  35. package/dist/cjs/base/ui/cell_renderer.js +132 -189
  36. package/dist/cjs/base/ui/choice_token.js +25 -42
  37. package/dist/cjs/base/ui/collaborator_token.js +31 -53
  38. package/dist/cjs/base/ui/color_palette.js +130 -173
  39. package/dist/cjs/base/ui/color_palette_synced.js +41 -70
  40. package/dist/cjs/base/ui/confirmation_dialog.js +70 -120
  41. package/dist/cjs/base/ui/control_sizes.js +24 -22
  42. package/dist/cjs/base/ui/create_detect_element_resize.js +6 -10
  43. package/dist/cjs/base/ui/css_helpers.js +1 -1
  44. package/dist/cjs/base/ui/dialog.js +57 -98
  45. package/dist/cjs/base/ui/dialog_close_button.js +52 -98
  46. package/dist/cjs/base/ui/expand_record.js +1 -2
  47. package/dist/cjs/base/ui/expand_record_list.js +3 -4
  48. package/dist/cjs/base/ui/expand_record_picker_async.js +28 -57
  49. package/dist/cjs/base/ui/field_icon.js +15 -33
  50. package/dist/cjs/base/ui/field_picker.js +25 -70
  51. package/dist/cjs/base/ui/field_picker_synced.js +18 -40
  52. package/dist/cjs/base/ui/form_field.js +27 -55
  53. package/dist/cjs/base/ui/geometry/geometry.js +5 -5
  54. package/dist/cjs/base/ui/geometry/point.js +10 -12
  55. package/dist/cjs/base/ui/geometry/rect.js +36 -52
  56. package/dist/cjs/base/ui/geometry/size.js +10 -12
  57. package/dist/cjs/base/ui/global_alert.js +31 -52
  58. package/dist/cjs/base/ui/heading.js +45 -94
  59. package/dist/cjs/base/ui/icon.js +39 -59
  60. package/dist/cjs/base/ui/icon_config.js +6 -12
  61. package/dist/cjs/base/ui/initialize_block.js +16 -35
  62. package/dist/cjs/base/ui/input.js +62 -101
  63. package/dist/cjs/base/ui/input_synced.js +17 -40
  64. package/dist/cjs/base/ui/key_codes.js +2 -3
  65. package/dist/cjs/base/ui/label.js +30 -55
  66. package/dist/cjs/base/ui/link.js +54 -87
  67. package/dist/cjs/base/ui/loader.js +15 -36
  68. package/dist/cjs/base/ui/modal.js +88 -127
  69. package/dist/cjs/base/ui/model_picker_select.js +18 -44
  70. package/dist/cjs/base/ui/popover.js +236 -328
  71. package/dist/cjs/base/ui/progress_bar.js +34 -47
  72. package/dist/cjs/base/ui/record_card.js +389 -478
  73. package/dist/cjs/base/ui/record_card_list.js +150 -224
  74. package/dist/cjs/base/ui/select.js +60 -116
  75. package/dist/cjs/base/ui/select_and_select_buttons_helpers.js +15 -39
  76. package/dist/cjs/base/ui/select_buttons.js +50 -83
  77. package/dist/cjs/base/ui/select_buttons_synced.js +17 -39
  78. package/dist/cjs/base/ui/select_synced.js +17 -39
  79. package/dist/cjs/base/ui/switch.js +42 -71
  80. package/dist/cjs/base/ui/switch_synced.js +16 -38
  81. package/dist/cjs/base/ui/synced.js +27 -48
  82. package/dist/cjs/base/ui/system/all_styles_set.js +4 -12
  83. package/dist/cjs/base/ui/system/appearance/appearance_set.js +10 -13
  84. package/dist/cjs/base/ui/system/appearance/background_color.js +3 -6
  85. package/dist/cjs/base/ui/system/appearance/border.js +3 -6
  86. package/dist/cjs/base/ui/system/appearance/border_radius.js +3 -6
  87. package/dist/cjs/base/ui/system/appearance/box_shadow.js +3 -6
  88. package/dist/cjs/base/ui/system/appearance/opacity.js +3 -6
  89. package/dist/cjs/base/ui/system/dimensions/dimensions_set.js +11 -13
  90. package/dist/cjs/base/ui/system/dimensions/height.js +3 -6
  91. package/dist/cjs/base/ui/system/dimensions/max_height.js +3 -6
  92. package/dist/cjs/base/ui/system/dimensions/max_width.js +3 -6
  93. package/dist/cjs/base/ui/system/dimensions/min_height.js +3 -6
  94. package/dist/cjs/base/ui/system/dimensions/min_width.js +3 -6
  95. package/dist/cjs/base/ui/system/dimensions/width.js +3 -6
  96. package/dist/cjs/base/ui/system/display.js +3 -6
  97. package/dist/cjs/base/ui/system/flex_container/align_content.js +3 -6
  98. package/dist/cjs/base/ui/system/flex_container/align_items.js +3 -6
  99. package/dist/cjs/base/ui/system/flex_container/flex_container_set.js +11 -13
  100. package/dist/cjs/base/ui/system/flex_container/flex_direction.js +3 -6
  101. package/dist/cjs/base/ui/system/flex_container/flex_wrap.js +3 -6
  102. package/dist/cjs/base/ui/system/flex_container/justify_content.js +3 -6
  103. package/dist/cjs/base/ui/system/flex_container/justify_items.js +3 -6
  104. package/dist/cjs/base/ui/system/flex_item/align_self.js +3 -6
  105. package/dist/cjs/base/ui/system/flex_item/flex.js +3 -6
  106. package/dist/cjs/base/ui/system/flex_item/flex_basis.js +3 -6
  107. package/dist/cjs/base/ui/system/flex_item/flex_grow.js +3 -6
  108. package/dist/cjs/base/ui/system/flex_item/flex_item_set.js +12 -13
  109. package/dist/cjs/base/ui/system/flex_item/flex_shrink.js +3 -6
  110. package/dist/cjs/base/ui/system/flex_item/justify_self.js +3 -6
  111. package/dist/cjs/base/ui/system/flex_item/order.js +3 -6
  112. package/dist/cjs/base/ui/system/index.js +104 -416
  113. package/dist/cjs/base/ui/system/overflow.js +3 -6
  114. package/dist/cjs/base/ui/system/position/bottom.js +4 -6
  115. package/dist/cjs/base/ui/system/position/left.js +4 -6
  116. package/dist/cjs/base/ui/system/position/position.js +3 -6
  117. package/dist/cjs/base/ui/system/position/position_set.js +11 -13
  118. package/dist/cjs/base/ui/system/position/right.js +4 -6
  119. package/dist/cjs/base/ui/system/position/top.js +4 -6
  120. package/dist/cjs/base/ui/system/position/z_index.js +3 -6
  121. package/dist/cjs/base/ui/system/spacing/margin.js +4 -6
  122. package/dist/cjs/base/ui/system/spacing/padding.js +4 -6
  123. package/dist/cjs/base/ui/system/spacing/spacing_set.js +7 -13
  124. package/dist/cjs/base/ui/system/typography/font_family.js +3 -6
  125. package/dist/cjs/base/ui/system/typography/font_size.js +3 -6
  126. package/dist/cjs/base/ui/system/typography/font_style.js +3 -6
  127. package/dist/cjs/base/ui/system/typography/font_weight.js +3 -6
  128. package/dist/cjs/base/ui/system/typography/letter_spacing.js +3 -6
  129. package/dist/cjs/base/ui/system/typography/line_height.js +3 -6
  130. package/dist/cjs/base/ui/system/typography/text_align.js +3 -6
  131. package/dist/cjs/base/ui/system/typography/text_color.js +3 -6
  132. package/dist/cjs/base/ui/system/typography/text_decoration.js +3 -6
  133. package/dist/cjs/base/ui/system/typography/text_transform.js +3 -6
  134. package/dist/cjs/base/ui/system/typography/typography_set.js +15 -13
  135. package/dist/cjs/base/ui/system/utils/ensure_numbers_are_within_scale.js +3 -4
  136. package/dist/cjs/base/ui/system/utils/get_style_props_for_responsive_prop.js +47 -87
  137. package/dist/cjs/base/ui/table_picker.js +18 -42
  138. package/dist/cjs/base/ui/table_picker_synced.js +17 -39
  139. package/dist/cjs/base/ui/text.js +40 -73
  140. package/dist/cjs/base/ui/text_button.js +51 -83
  141. package/dist/cjs/base/ui/theme/default_theme/button_variants.js +3 -3
  142. package/dist/cjs/base/ui/theme/default_theme/control_sizes.js +51 -45
  143. package/dist/cjs/base/ui/theme/default_theme/heading_styles.js +1 -1
  144. package/dist/cjs/base/ui/theme/default_theme/index.js +9 -15
  145. package/dist/cjs/base/ui/theme/default_theme/input_variants.js +3 -3
  146. package/dist/cjs/base/ui/theme/default_theme/link_variants.js +3 -3
  147. package/dist/cjs/base/ui/theme/default_theme/select_buttons_variants.js +4 -4
  148. package/dist/cjs/base/ui/theme/default_theme/select_variants.js +8 -17
  149. package/dist/cjs/base/ui/theme/default_theme/switch_variants.js +23 -29
  150. package/dist/cjs/base/ui/theme/default_theme/text_button_variants.js +5 -5
  151. package/dist/cjs/base/ui/theme/default_theme/text_styles.js +1 -1
  152. package/dist/cjs/base/ui/theme/default_theme/tokens.js +14 -14
  153. package/dist/cjs/base/ui/theme/theme_context.js +2 -2
  154. package/dist/cjs/base/ui/theme/use_theme.js +2 -2
  155. package/dist/cjs/base/ui/tooltip.js +134 -174
  156. package/dist/cjs/base/ui/types/aria_props.js +1 -23
  157. package/dist/cjs/base/ui/types/data_attributes_prop.js +1 -18
  158. package/dist/cjs/base/ui/types/tooltip_anchor_props.js +1 -17
  159. package/dist/cjs/base/ui/ui.js +48 -49
  160. package/dist/cjs/base/ui/unstable_standalone_ui.js +27 -27
  161. package/dist/cjs/base/ui/use_base.js +1 -1
  162. package/dist/cjs/base/ui/use_cursor.js +5 -4
  163. package/dist/cjs/base/ui/use_form_field.js +1 -1
  164. package/dist/cjs/base/ui/use_loadable.js +25 -91
  165. package/dist/cjs/base/ui/use_record_action_data.js +4 -3
  166. package/dist/cjs/base/ui/use_records.js +9 -13
  167. package/dist/cjs/base/ui/use_session.js +1 -1
  168. package/dist/cjs/base/ui/use_settings_button.js +4 -3
  169. package/dist/cjs/base/ui/use_styled_system.js +7 -14
  170. package/dist/cjs/base/ui/use_text_color_for_background_color.js +4 -3
  171. package/dist/cjs/base/ui/use_view_metadata.js +4 -4
  172. package/dist/cjs/base/ui/use_viewport.js +2 -2
  173. package/dist/cjs/base/ui/view_picker.js +26 -70
  174. package/dist/cjs/base/ui/view_picker_synced.js +18 -40
  175. package/dist/cjs/base/ui/viewport_constraint.js +67 -114
  176. package/dist/cjs/base/ui/with_styled_system.js +25 -61
  177. package/dist/cjs/base/undo_redo.js +21 -32
  178. package/dist/cjs/base/unstable_testing_utils.js +27 -27
  179. package/dist/cjs/base/viewport.js +268 -312
  180. package/dist/cjs/injected/airtable_interface.js +4 -4
  181. package/dist/cjs/interface/assert_run_context.js +12 -0
  182. package/dist/cjs/interface/index.js +4 -18
  183. package/dist/cjs/interface/models/base.js +15 -34
  184. package/dist/cjs/interface/models/field.js +5 -19
  185. package/dist/cjs/interface/models/models.js +8 -7
  186. package/dist/cjs/interface/models/mutations.js +50 -66
  187. package/dist/cjs/interface/models/record.js +29 -49
  188. package/dist/cjs/interface/models/record_store.js +25 -57
  189. package/dist/cjs/interface/models/session.js +2 -16
  190. package/dist/cjs/interface/models/table.js +66 -95
  191. package/dist/cjs/interface/sdk.js +61 -87
  192. package/dist/cjs/interface/types/airtable_interface.js +2 -2
  193. package/dist/cjs/interface/types/mutations.js +3 -10
  194. package/dist/cjs/interface/ui/block_wrapper.js +56 -48
  195. package/dist/cjs/interface/ui/initialize_block.js +13 -28
  196. package/dist/cjs/interface/ui/ui.js +20 -19
  197. package/dist/cjs/interface/ui/use_base.js +1 -1
  198. package/dist/cjs/interface/ui/use_custom_properties.js +19 -35
  199. package/dist/cjs/interface/ui/use_records.js +6 -5
  200. package/dist/cjs/interface/ui/use_run_info.js +2 -2
  201. package/dist/cjs/interface/ui/use_session.js +1 -1
  202. package/dist/cjs/shared/color_utils.js +9 -16
  203. package/dist/cjs/shared/colors.js +2 -2
  204. package/dist/cjs/shared/error_utils.js +9 -11
  205. package/dist/cjs/shared/event_tracker.js +3 -3
  206. package/dist/cjs/shared/global_config.js +337 -449
  207. package/dist/cjs/shared/models/abstract_model.js +72 -97
  208. package/dist/cjs/shared/models/base_core.js +394 -514
  209. package/dist/cjs/shared/models/field_core.js +236 -279
  210. package/dist/cjs/shared/models/mutations_core.js +283 -379
  211. package/dist/cjs/shared/models/record_core.js +174 -231
  212. package/dist/cjs/shared/models/record_store_core.js +119 -172
  213. package/dist/cjs/shared/models/session_core.js +116 -170
  214. package/dist/cjs/shared/models/table_core.js +1258 -1501
  215. package/dist/cjs/shared/private_utils.js +54 -124
  216. package/dist/cjs/shared/sdk_core.js +68 -70
  217. package/dist/cjs/shared/types/field_core.js +1 -1
  218. package/dist/cjs/shared/types/mutation_constants.js +4 -4
  219. package/dist/cjs/shared/types/mutations_core.js +1 -1
  220. package/dist/cjs/shared/types/permission_levels.js +1 -1
  221. package/dist/cjs/shared/ui/global_config_synced_component_helpers.js +9 -9
  222. package/dist/cjs/shared/ui/loader.js +14 -35
  223. package/dist/cjs/shared/ui/remote_utils.js +5 -7
  224. package/dist/cjs/shared/ui/sdk_context.js +4 -8
  225. package/dist/cjs/shared/ui/use_array_identity.js +2 -2
  226. package/dist/cjs/shared/ui/use_base.js +6 -5
  227. package/dist/cjs/shared/ui/use_color_scheme.js +3 -8
  228. package/dist/cjs/shared/ui/use_global_config.js +5 -4
  229. package/dist/cjs/shared/ui/use_session.js +6 -5
  230. package/dist/cjs/shared/ui/use_synced.js +7 -5
  231. package/dist/cjs/shared/ui/use_watchable.js +13 -42
  232. package/dist/cjs/shared/ui/with_hooks.js +6 -13
  233. package/dist/cjs/shared/unstable_private_utils.js +4 -6
  234. package/dist/cjs/shared/warning.js +5 -5
  235. package/dist/cjs/shared/watchable.js +110 -176
  236. package/dist/cjs/stats/block_stats.js +62 -85
  237. package/dist/cjs/testing/base/abstract_mock_airtable_interface.js +208 -0
  238. package/dist/cjs/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/models.d.ts +1 -0
  244. package/dist/types/src/base/models/models.d.ts.map +1 -1
  245. package/dist/types/src/base/models/mutations.d.ts.map +1 -1
  246. package/dist/types/src/base/sdk.d.ts.map +1 -1
  247. package/dist/types/src/base/ui/block_wrapper.d.ts +1 -1
  248. package/dist/types/src/base/ui/box.d.ts.map +1 -1
  249. package/dist/types/src/base/ui/button.d.ts +0 -5
  250. package/dist/types/src/base/ui/button.d.ts.map +1 -1
  251. package/dist/types/src/base/ui/cell_renderer.d.ts +1 -22
  252. package/dist/types/src/base/ui/cell_renderer.d.ts.map +1 -1
  253. package/dist/types/src/base/ui/choice_token.d.ts +1 -21
  254. package/dist/types/src/base/ui/choice_token.d.ts.map +1 -1
  255. package/dist/types/src/base/ui/collaborator_token.d.ts +0 -20
  256. package/dist/types/src/base/ui/collaborator_token.d.ts.map +1 -1
  257. package/dist/types/src/base/ui/color_palette.d.ts +1 -32
  258. package/dist/types/src/base/ui/color_palette.d.ts.map +1 -1
  259. package/dist/types/src/base/ui/color_palette_synced.d.ts +0 -14
  260. package/dist/types/src/base/ui/color_palette_synced.d.ts.map +1 -1
  261. package/dist/types/src/base/ui/confirmation_dialog.d.ts +0 -17
  262. package/dist/types/src/base/ui/confirmation_dialog.d.ts.map +1 -1
  263. package/dist/types/src/base/ui/control_sizes.d.ts +0 -1
  264. package/dist/types/src/base/ui/control_sizes.d.ts.map +1 -1
  265. package/dist/types/src/base/ui/dialog.d.ts +1 -23
  266. package/dist/types/src/base/ui/dialog.d.ts.map +1 -1
  267. package/dist/types/src/base/ui/dialog_close_button.d.ts +2 -24
  268. package/dist/types/src/base/ui/dialog_close_button.d.ts.map +1 -1
  269. package/dist/types/src/base/ui/field_icon.d.ts +1 -17
  270. package/dist/types/src/base/ui/field_icon.d.ts.map +1 -1
  271. package/dist/types/src/base/ui/field_picker.d.ts +0 -23
  272. package/dist/types/src/base/ui/field_picker.d.ts.map +1 -1
  273. package/dist/types/src/base/ui/field_picker_synced.d.ts.map +1 -1
  274. package/dist/types/src/base/ui/form_field.d.ts +0 -4
  275. package/dist/types/src/base/ui/form_field.d.ts.map +1 -1
  276. package/dist/types/src/base/ui/heading.d.ts +1 -1
  277. package/dist/types/src/base/ui/heading.d.ts.map +1 -1
  278. package/dist/types/src/base/ui/icon.d.ts +0 -16
  279. package/dist/types/src/base/ui/icon.d.ts.map +1 -1
  280. package/dist/types/src/base/ui/icon_config.d.ts +50 -51
  281. package/dist/types/src/base/ui/icon_config.d.ts.map +1 -1
  282. package/dist/types/src/base/ui/initialize_block.d.ts.map +1 -1
  283. package/dist/types/src/base/ui/input.d.ts +12 -46
  284. package/dist/types/src/base/ui/input.d.ts.map +1 -1
  285. package/dist/types/src/base/ui/input_synced.d.ts.map +1 -1
  286. package/dist/types/src/base/ui/label.d.ts.map +1 -1
  287. package/dist/types/src/base/ui/link.d.ts +1 -5
  288. package/dist/types/src/base/ui/link.d.ts.map +1 -1
  289. package/dist/types/src/base/ui/loader.d.ts +3 -20
  290. package/dist/types/src/base/ui/loader.d.ts.map +1 -1
  291. package/dist/types/src/base/ui/modal.d.ts +1 -14
  292. package/dist/types/src/base/ui/modal.d.ts.map +1 -1
  293. package/dist/types/src/base/ui/model_picker_select.d.ts.map +1 -1
  294. package/dist/types/src/base/ui/popover.d.ts +1 -17
  295. package/dist/types/src/base/ui/popover.d.ts.map +1 -1
  296. package/dist/types/src/base/ui/progress_bar.d.ts +1 -24
  297. package/dist/types/src/base/ui/progress_bar.d.ts.map +1 -1
  298. package/dist/types/src/base/ui/record_card.d.ts +1 -23
  299. package/dist/types/src/base/ui/record_card.d.ts.map +1 -1
  300. package/dist/types/src/base/ui/record_card_list.d.ts +1 -18
  301. package/dist/types/src/base/ui/record_card_list.d.ts.map +1 -1
  302. package/dist/types/src/base/ui/select.d.ts +0 -44
  303. package/dist/types/src/base/ui/select.d.ts.map +1 -1
  304. package/dist/types/src/base/ui/select_and_select_buttons_helpers.d.ts +0 -2
  305. package/dist/types/src/base/ui/select_and_select_buttons_helpers.d.ts.map +1 -1
  306. package/dist/types/src/base/ui/select_buttons.d.ts +0 -22
  307. package/dist/types/src/base/ui/select_buttons.d.ts.map +1 -1
  308. package/dist/types/src/base/ui/select_buttons_synced.d.ts.map +1 -1
  309. package/dist/types/src/base/ui/select_synced.d.ts.map +1 -1
  310. package/dist/types/src/base/ui/switch.d.ts +0 -22
  311. package/dist/types/src/base/ui/switch.d.ts.map +1 -1
  312. package/dist/types/src/base/ui/switch_synced.d.ts.map +1 -1
  313. package/dist/types/src/base/ui/synced.d.ts +2 -8
  314. package/dist/types/src/base/ui/synced.d.ts.map +1 -1
  315. package/dist/types/src/base/ui/system/all_styles_set.d.ts +0 -3
  316. package/dist/types/src/base/ui/system/all_styles_set.d.ts.map +1 -1
  317. package/dist/types/src/base/ui/system/appearance/appearance_set.d.ts +0 -1
  318. package/dist/types/src/base/ui/system/appearance/appearance_set.d.ts.map +1 -1
  319. package/dist/types/src/base/ui/system/appearance/background_color.d.ts +0 -1
  320. package/dist/types/src/base/ui/system/appearance/background_color.d.ts.map +1 -1
  321. package/dist/types/src/base/ui/system/appearance/border.d.ts +0 -1
  322. package/dist/types/src/base/ui/system/appearance/border.d.ts.map +1 -1
  323. package/dist/types/src/base/ui/system/appearance/border_radius.d.ts +0 -1
  324. package/dist/types/src/base/ui/system/appearance/border_radius.d.ts.map +1 -1
  325. package/dist/types/src/base/ui/system/appearance/box_shadow.d.ts +0 -1
  326. package/dist/types/src/base/ui/system/appearance/box_shadow.d.ts.map +1 -1
  327. package/dist/types/src/base/ui/system/appearance/opacity.d.ts +0 -1
  328. package/dist/types/src/base/ui/system/appearance/opacity.d.ts.map +1 -1
  329. package/dist/types/src/base/ui/system/dimensions/dimensions_set.d.ts +0 -1
  330. package/dist/types/src/base/ui/system/dimensions/dimensions_set.d.ts.map +1 -1
  331. package/dist/types/src/base/ui/system/dimensions/height.d.ts +0 -1
  332. package/dist/types/src/base/ui/system/dimensions/height.d.ts.map +1 -1
  333. package/dist/types/src/base/ui/system/dimensions/max_height.d.ts +0 -1
  334. package/dist/types/src/base/ui/system/dimensions/max_height.d.ts.map +1 -1
  335. package/dist/types/src/base/ui/system/dimensions/max_width.d.ts +0 -1
  336. package/dist/types/src/base/ui/system/dimensions/max_width.d.ts.map +1 -1
  337. package/dist/types/src/base/ui/system/dimensions/min_height.d.ts +0 -1
  338. package/dist/types/src/base/ui/system/dimensions/min_height.d.ts.map +1 -1
  339. package/dist/types/src/base/ui/system/dimensions/min_width.d.ts +0 -1
  340. package/dist/types/src/base/ui/system/dimensions/min_width.d.ts.map +1 -1
  341. package/dist/types/src/base/ui/system/dimensions/width.d.ts +0 -1
  342. package/dist/types/src/base/ui/system/dimensions/width.d.ts.map +1 -1
  343. package/dist/types/src/base/ui/system/display.d.ts +0 -1
  344. package/dist/types/src/base/ui/system/display.d.ts.map +1 -1
  345. package/dist/types/src/base/ui/system/flex_container/align_content.d.ts +0 -1
  346. package/dist/types/src/base/ui/system/flex_container/align_content.d.ts.map +1 -1
  347. package/dist/types/src/base/ui/system/flex_container/align_items.d.ts +0 -1
  348. package/dist/types/src/base/ui/system/flex_container/align_items.d.ts.map +1 -1
  349. package/dist/types/src/base/ui/system/flex_container/flex_container_set.d.ts +0 -1
  350. package/dist/types/src/base/ui/system/flex_container/flex_container_set.d.ts.map +1 -1
  351. package/dist/types/src/base/ui/system/flex_container/flex_direction.d.ts +0 -1
  352. package/dist/types/src/base/ui/system/flex_container/flex_direction.d.ts.map +1 -1
  353. package/dist/types/src/base/ui/system/flex_container/flex_wrap.d.ts +0 -1
  354. package/dist/types/src/base/ui/system/flex_container/flex_wrap.d.ts.map +1 -1
  355. package/dist/types/src/base/ui/system/flex_container/justify_content.d.ts +0 -1
  356. package/dist/types/src/base/ui/system/flex_container/justify_content.d.ts.map +1 -1
  357. package/dist/types/src/base/ui/system/flex_container/justify_items.d.ts +0 -1
  358. package/dist/types/src/base/ui/system/flex_container/justify_items.d.ts.map +1 -1
  359. package/dist/types/src/base/ui/system/flex_item/align_self.d.ts +0 -1
  360. package/dist/types/src/base/ui/system/flex_item/align_self.d.ts.map +1 -1
  361. package/dist/types/src/base/ui/system/flex_item/flex.d.ts +0 -1
  362. package/dist/types/src/base/ui/system/flex_item/flex.d.ts.map +1 -1
  363. package/dist/types/src/base/ui/system/flex_item/flex_basis.d.ts +0 -1
  364. package/dist/types/src/base/ui/system/flex_item/flex_basis.d.ts.map +1 -1
  365. package/dist/types/src/base/ui/system/flex_item/flex_grow.d.ts +0 -1
  366. package/dist/types/src/base/ui/system/flex_item/flex_grow.d.ts.map +1 -1
  367. package/dist/types/src/base/ui/system/flex_item/flex_item_set.d.ts +0 -1
  368. package/dist/types/src/base/ui/system/flex_item/flex_item_set.d.ts.map +1 -1
  369. package/dist/types/src/base/ui/system/flex_item/flex_shrink.d.ts +0 -1
  370. package/dist/types/src/base/ui/system/flex_item/flex_shrink.d.ts.map +1 -1
  371. package/dist/types/src/base/ui/system/flex_item/justify_self.d.ts +0 -1
  372. package/dist/types/src/base/ui/system/flex_item/justify_self.d.ts.map +1 -1
  373. package/dist/types/src/base/ui/system/flex_item/order.d.ts +0 -1
  374. package/dist/types/src/base/ui/system/flex_item/order.d.ts.map +1 -1
  375. package/dist/types/src/base/ui/system/index.d.ts +52 -52
  376. package/dist/types/src/base/ui/system/index.d.ts.map +1 -1
  377. package/dist/types/src/base/ui/system/overflow.d.ts +0 -1
  378. package/dist/types/src/base/ui/system/overflow.d.ts.map +1 -1
  379. package/dist/types/src/base/ui/system/position/bottom.d.ts +0 -1
  380. package/dist/types/src/base/ui/system/position/bottom.d.ts.map +1 -1
  381. package/dist/types/src/base/ui/system/position/left.d.ts +0 -1
  382. package/dist/types/src/base/ui/system/position/left.d.ts.map +1 -1
  383. package/dist/types/src/base/ui/system/position/position.d.ts +0 -1
  384. package/dist/types/src/base/ui/system/position/position.d.ts.map +1 -1
  385. package/dist/types/src/base/ui/system/position/position_set.d.ts +0 -1
  386. package/dist/types/src/base/ui/system/position/position_set.d.ts.map +1 -1
  387. package/dist/types/src/base/ui/system/position/right.d.ts +0 -1
  388. package/dist/types/src/base/ui/system/position/right.d.ts.map +1 -1
  389. package/dist/types/src/base/ui/system/position/top.d.ts +0 -1
  390. package/dist/types/src/base/ui/system/position/top.d.ts.map +1 -1
  391. package/dist/types/src/base/ui/system/position/z_index.d.ts +0 -1
  392. package/dist/types/src/base/ui/system/position/z_index.d.ts.map +1 -1
  393. package/dist/types/src/base/ui/system/spacing/margin.d.ts +0 -1
  394. package/dist/types/src/base/ui/system/spacing/margin.d.ts.map +1 -1
  395. package/dist/types/src/base/ui/system/spacing/padding.d.ts +0 -1
  396. package/dist/types/src/base/ui/system/spacing/padding.d.ts.map +1 -1
  397. package/dist/types/src/base/ui/system/spacing/spacing_set.d.ts +0 -1
  398. package/dist/types/src/base/ui/system/spacing/spacing_set.d.ts.map +1 -1
  399. package/dist/types/src/base/ui/system/typography/font_family.d.ts +0 -1
  400. package/dist/types/src/base/ui/system/typography/font_family.d.ts.map +1 -1
  401. package/dist/types/src/base/ui/system/typography/font_size.d.ts +0 -1
  402. package/dist/types/src/base/ui/system/typography/font_size.d.ts.map +1 -1
  403. package/dist/types/src/base/ui/system/typography/font_style.d.ts +0 -1
  404. package/dist/types/src/base/ui/system/typography/font_style.d.ts.map +1 -1
  405. package/dist/types/src/base/ui/system/typography/font_weight.d.ts +0 -1
  406. package/dist/types/src/base/ui/system/typography/font_weight.d.ts.map +1 -1
  407. package/dist/types/src/base/ui/system/typography/letter_spacing.d.ts +0 -1
  408. package/dist/types/src/base/ui/system/typography/letter_spacing.d.ts.map +1 -1
  409. package/dist/types/src/base/ui/system/typography/line_height.d.ts +0 -1
  410. package/dist/types/src/base/ui/system/typography/line_height.d.ts.map +1 -1
  411. package/dist/types/src/base/ui/system/typography/text_align.d.ts +0 -1
  412. package/dist/types/src/base/ui/system/typography/text_align.d.ts.map +1 -1
  413. package/dist/types/src/base/ui/system/typography/text_color.d.ts +0 -1
  414. package/dist/types/src/base/ui/system/typography/text_color.d.ts.map +1 -1
  415. package/dist/types/src/base/ui/system/typography/text_decoration.d.ts +0 -1
  416. package/dist/types/src/base/ui/system/typography/text_decoration.d.ts.map +1 -1
  417. package/dist/types/src/base/ui/system/typography/text_transform.d.ts +0 -1
  418. package/dist/types/src/base/ui/system/typography/text_transform.d.ts.map +1 -1
  419. package/dist/types/src/base/ui/system/typography/typography_set.d.ts +0 -1
  420. package/dist/types/src/base/ui/system/typography/typography_set.d.ts.map +1 -1
  421. package/dist/types/src/base/ui/table_picker.d.ts +0 -21
  422. package/dist/types/src/base/ui/table_picker.d.ts.map +1 -1
  423. package/dist/types/src/base/ui/table_picker_synced.d.ts.map +1 -1
  424. package/dist/types/src/base/ui/text.d.ts +0 -3
  425. package/dist/types/src/base/ui/text.d.ts.map +1 -1
  426. package/dist/types/src/base/ui/text_button.d.ts +1 -5
  427. package/dist/types/src/base/ui/text_button.d.ts.map +1 -1
  428. package/dist/types/src/base/ui/theme/default_theme/index.d.ts +1 -1
  429. package/dist/types/src/base/ui/theme/theme_context.d.ts +1 -1
  430. package/dist/types/src/base/ui/theme/use_theme.d.ts +1 -1
  431. package/dist/types/src/base/ui/tooltip.d.ts +0 -16
  432. package/dist/types/src/base/ui/tooltip.d.ts.map +1 -1
  433. package/dist/types/src/base/ui/types/aria_props.d.ts.map +1 -1
  434. package/dist/types/src/base/ui/types/data_attributes_prop.d.ts +0 -4
  435. package/dist/types/src/base/ui/types/data_attributes_prop.d.ts.map +1 -1
  436. package/dist/types/src/base/ui/types/tooltip_anchor_props.d.ts +0 -7
  437. package/dist/types/src/base/ui/types/tooltip_anchor_props.d.ts.map +1 -1
  438. package/dist/types/src/base/ui/ui.d.ts +1 -0
  439. package/dist/types/src/base/ui/ui.d.ts.map +1 -1
  440. package/dist/types/src/base/ui/view_picker.d.ts +0 -23
  441. package/dist/types/src/base/ui/view_picker.d.ts.map +1 -1
  442. package/dist/types/src/base/ui/view_picker_synced.d.ts.map +1 -1
  443. package/dist/types/src/base/ui/viewport_constraint.d.ts +1 -14
  444. package/dist/types/src/base/ui/viewport_constraint.d.ts.map +1 -1
  445. package/dist/types/src/base/unstable_testing_utils.d.ts +1 -1
  446. package/dist/types/src/base/unstable_testing_utils.d.ts.map +1 -1
  447. package/dist/types/src/interface/assert_run_context.d.ts +2 -0
  448. package/dist/types/src/interface/assert_run_context.d.ts.map +1 -0
  449. package/dist/types/src/interface/index.d.ts +1 -6
  450. package/dist/types/src/interface/index.d.ts.map +1 -1
  451. package/dist/types/src/interface/models/models.d.ts +1 -0
  452. package/dist/types/src/interface/models/models.d.ts.map +1 -1
  453. package/dist/types/src/interface/models/mutations.d.ts.map +1 -1
  454. package/dist/types/src/interface/ui/initialize_block.d.ts.map +1 -1
  455. package/dist/types/src/interface/ui/ui.d.ts +1 -0
  456. package/dist/types/src/interface/ui/ui.d.ts.map +1 -1
  457. package/dist/types/src/interface/ui/use_custom_properties.d.ts +1 -1
  458. package/dist/types/src/shared/models/mutations_core.d.ts.map +1 -1
  459. package/dist/types/src/shared/private_utils.d.ts +0 -9
  460. package/dist/types/src/shared/private_utils.d.ts.map +1 -1
  461. package/dist/types/src/shared/ui/global_config_synced_component_helpers.d.ts +0 -2
  462. package/dist/types/src/shared/ui/global_config_synced_component_helpers.d.ts.map +1 -1
  463. package/dist/types/src/shared/ui/loader.d.ts.map +1 -1
  464. package/dist/types/src/shared/ui/with_hooks.d.ts +2 -2
  465. package/dist/types/src/shared/ui/with_hooks.d.ts.map +1 -1
  466. package/dist/types/src/testing/{abstract_mock_airtable_interface.d.ts → base/abstract_mock_airtable_interface.d.ts} +13 -13
  467. package/dist/types/src/testing/base/abstract_mock_airtable_interface.d.ts.map +1 -0
  468. package/dist/types/src/testing/interface/abstract_mock_airtable_interface.d.ts +51 -0
  469. package/dist/types/src/testing/interface/abstract_mock_airtable_interface.d.ts.map +1 -0
  470. package/package.json +13 -13
  471. package/dist/cjs/base/ui/system/utils/create_responsive_prop_type.js +0 -19
  472. package/dist/cjs/base/ui/system/utils/create_style_prop_types.js +0 -24
  473. package/dist/cjs/base/ui/system/utils/enum_prop_type_utils.js +0 -35
  474. package/dist/cjs/testing/abstract_mock_airtable_interface.js +0 -277
  475. package/dist/types/src/base/ui/system/utils/create_responsive_prop_type.d.ts +0 -2
  476. package/dist/types/src/base/ui/system/utils/create_responsive_prop_type.d.ts.map +0 -1
  477. package/dist/types/src/base/ui/system/utils/create_style_prop_types.d.ts +0 -4
  478. package/dist/types/src/base/ui/system/utils/create_style_prop_types.d.ts.map +0 -1
  479. package/dist/types/src/base/ui/system/utils/enum_prop_type_utils.d.ts +0 -21
  480. package/dist/types/src/base/ui/system/utils/enum_prop_type_utils.d.ts.map +0 -1
  481. package/dist/types/src/testing/abstract_mock_airtable_interface.d.ts.map +0 -1
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ var _airtable_interface = _interopRequireDefault(require("../injected/airtable_interface"));
4
+ var _error_utils = require("../shared/error_utils");
5
+ var _airtable_interface2 = require("./types/airtable_interface");
6
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
7
+ if (window.__getAirtableInterfaceAtVersion) {
8
+ const runContextType = (0, _airtable_interface.default)().sdkInitData.runContext.type;
9
+ if (runContextType !== _airtable_interface2.BlockRunContextType.DASHBOARD_APP && runContextType !== _airtable_interface2.BlockRunContextType.VIEW) {
10
+ throw (0, _error_utils.spawnError)('Unexpected import when running block in base');
11
+ }
12
+ }
@@ -1,39 +1,36 @@
1
1
  "use strict";
2
2
 
3
- require("core-js/modules/es.array.iterator.js");
4
- require("core-js/modules/es.object.to-string.js");
5
- require("core-js/modules/es.weak-map.js");
6
- require("core-js/modules/web.dom-collections.iterator.js");
7
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
8
3
  Object.defineProperty(exports, "__esModule", {
9
4
  value: true
10
5
  });
11
6
  exports.__reset = __reset;
12
7
  exports.viewport = exports.unstable_fetchAsync = exports.undoRedo = exports.settingsButton = exports.session = exports.runInfo = exports.reload = exports.installationId = exports.globalConfig = exports.cursor = exports.base = exports.__sdk = void 0;
8
+ require("./assert_run_context");
13
9
  var _warning = _interopRequireWildcard(require("../shared/warning"));
14
10
  var _airtable_interface = _interopRequireDefault(require("../injected/airtable_interface"));
15
11
  var _perform_record_action = require("./perform_record_action");
16
- var _sdk2 = _interopRequireDefault(require("./sdk"));
12
+ var _sdk = _interopRequireDefault(require("./sdk"));
17
13
  var _create_aggregators = require("./models/create_aggregators");
18
14
  var _initialize_block = require("./ui/initialize_block");
19
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
15
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
20
17
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
21
18
  /** @internal */
22
- var __sdk;
23
- var base;
24
- var globalConfig;
25
- var installationId;
26
- var reload;
27
- var runInfo;
28
- var settingsButton;
29
- var undoRedo;
30
- var viewport;
31
- var unstable_fetchAsync;
19
+ let __sdk = exports.__sdk = void 0;
20
+ let base = exports.base = void 0;
21
+ let globalConfig = exports.globalConfig = void 0;
22
+ let installationId = exports.installationId = void 0;
23
+ let reload = exports.reload = void 0;
24
+ let runInfo = exports.runInfo = void 0;
25
+ let settingsButton = exports.settingsButton = void 0;
26
+ let undoRedo = exports.undoRedo = void 0;
27
+ let viewport = exports.viewport = void 0;
28
+ let unstable_fetchAsync = exports.unstable_fetchAsync = void 0;
32
29
 
33
30
  // The `cursor` binding is declared on the following line solely as a signal to
34
31
  // the TypeScript compiler. The exported value is actually controlled by the
35
32
  // subsequent CommonJS module property descriptor.
36
- var cursor;
33
+ let cursor = exports.cursor = void 0;
37
34
  Object.defineProperty(module.exports, 'cursor', {
38
35
  enumerable: true,
39
36
  get() {
@@ -45,7 +42,7 @@ Object.defineProperty(module.exports, 'cursor', {
45
42
  // The `session` binding is declared on the following line solely as a signal
46
43
  // to the TypeScript compiler. The exported value is actually controlled by the
47
44
  // subsequent CommonJS module property descriptor.
48
- var session;
45
+ let session = exports.session = void 0;
49
46
  Object.defineProperty(module.exports, 'session', {
50
47
  enumerable: true,
51
48
  get() {
@@ -74,20 +71,23 @@ Object.defineProperty(module.exports, 'UI', {
74
71
 
75
72
  /** @internal */
76
73
  function __reset() {
77
- exports.__sdk = __sdk = new _sdk2.default((0, _airtable_interface.default)());
74
+ exports.__sdk = __sdk = new _sdk.default((0, _airtable_interface.default)());
75
+ ({
76
+ base,
77
+ globalConfig,
78
+ installationId,
79
+ reload,
80
+ runInfo,
81
+ settingsButton,
82
+ undoRedo,
83
+ viewport,
84
+ unstable_fetchAsync
85
+ } = __sdk);
86
+
78
87
  // The following injections are necessary to allow the referenced modules
79
88
  // to be imported directly by consumer code while also avoiding cycles in
80
89
  // the module dependency graph.
81
- var _sdk = __sdk;
82
- exports.base = base = _sdk.base;
83
- exports.globalConfig = globalConfig = _sdk.globalConfig;
84
- exports.installationId = installationId = _sdk.installationId;
85
- exports.reload = reload = _sdk.reload;
86
- exports.runInfo = runInfo = _sdk.runInfo;
87
- exports.settingsButton = settingsButton = _sdk.settingsButton;
88
- exports.undoRedo = undoRedo = _sdk.undoRedo;
89
- exports.viewport = viewport = _sdk.viewport;
90
- exports.unstable_fetchAsync = unstable_fetchAsync = _sdk.unstable_fetchAsync;
90
+ exports.base = base, exports.globalConfig = globalConfig, exports.installationId = installationId, exports.reload = reload, exports.runInfo = runInfo, exports.settingsButton = settingsButton, exports.undoRedo = undoRedo, exports.viewport = viewport, exports.unstable_fetchAsync = unstable_fetchAsync;
91
91
  (0, _create_aggregators.__injectSdkIntoCreateAggregators)(__sdk);
92
92
  (0, _perform_record_action.__injectSdkIntoPerformRecordAction)(__sdk);
93
93
  (0, _initialize_block.__injectSdkIntoInitializeBlock)(__sdk);
@@ -1,72 +1,56 @@
1
1
  "use strict";
2
2
 
3
- require("core-js/modules/es.symbol.js");
4
- require("core-js/modules/es.symbol.description.js");
5
- require("core-js/modules/es.array.from.js");
6
- require("core-js/modules/es.array.iterator.js");
7
- require("core-js/modules/es.array.slice.js");
8
- require("core-js/modules/es.object.to-string.js");
9
- require("core-js/modules/es.regexp.exec.js");
10
- require("core-js/modules/es.regexp.to-string.js");
11
- require("core-js/modules/web.dom-collections.iterator.js");
12
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
13
3
  Object.defineProperty(exports, "__esModule", {
14
4
  value: true
15
5
  });
16
6
  exports.default = void 0;
17
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
18
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
19
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
20
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
21
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
22
- var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
23
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
24
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
25
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
26
7
  var _private_utils = require("../../shared/private_utils");
27
8
  var _error_utils = require("../../shared/error_utils");
28
9
  var _abstract_model = _interopRequireDefault(require("../../shared/models/abstract_model"));
29
- function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
30
- function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
31
- function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
32
- function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
33
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /** @module @airtable/blocks/models: Abstract models */ /** */
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ /** @module @airtable/blocks/models: Abstract models */ /** */
12
+
34
13
  /**
35
14
  * Abstract superclass for all Blocks SDK models that need to fetch async data.
36
15
  *
37
16
  * @docsPath models/advanced/AbstractModelWithAsyncData
38
17
  */
39
- var AbstractModelWithAsyncData = /*#__PURE__*/function (_AbstractModel) {
18
+ class AbstractModelWithAsyncData extends _abstract_model.default {
19
+ /** @internal */
20
+ static __DATA_UNLOAD_DELAY_MS = 1000;
21
+ /** @internal */
22
+ static _shouldLoadDataForKey(key) {
23
+ // Override to return whether watching the key should trigger the
24
+ // data to be loaded for this model.
25
+ return false;
26
+ }
27
+ /** @internal */
28
+
29
+ /** @internal */
30
+
31
+ /** @internal */
32
+
33
+ /** @internal */
34
+
35
+ /**
36
+ * This flag is used to keep track of models that have been
37
+ * forced to unload (regardless of the retain count). The force
38
+ * unload happens via _forceUnload method and the only proper use
39
+ * of that function is when the underlying data gets deleted while
40
+ * the model is still active. e.g. when a table is deleted in the
41
+ * main extension while an instance of record_store is still alive.
42
+ * NOTE: Once set to true, it never goes back to false.
43
+ *
44
+ * @internal
45
+ */
46
+ _isForceUnloaded = false;
40
47
  /** @hidden */
41
- function AbstractModelWithAsyncData(sdk, modelId) {
42
- var _this;
43
- (0, _classCallCheck2.default)(this, AbstractModelWithAsyncData);
44
- _this = _callSuper(this, AbstractModelWithAsyncData, [sdk, modelId]);
45
- /** @internal */
46
- (0, _defineProperty2.default)(_this, "_isDataLoaded", void 0);
47
- /** @internal */
48
- (0, _defineProperty2.default)(_this, "_pendingDataLoadPromise", void 0);
49
- /** @internal */
50
- (0, _defineProperty2.default)(_this, "_dataRetainCount", void 0);
51
- /** @internal */
52
- (0, _defineProperty2.default)(_this, "_unloadDataTimeoutId", void 0);
53
- /**
54
- * This flag is used to keep track of models that have been
55
- * forced to unload (regardless of the retain count). The force
56
- * unload happens via _forceUnload method and the only proper use
57
- * of that function is when the underlying data gets deleted while
58
- * the model is still active. e.g. when a table is deleted in the
59
- * main extension while an instance of record_store is still alive.
60
- * NOTE: Once set to true, it never goes back to false.
61
- *
62
- * @internal
63
- */
64
- (0, _defineProperty2.default)(_this, "_isForceUnloaded", false);
65
- _this._isDataLoaded = false;
66
- _this._pendingDataLoadPromise = null;
67
- _this._dataRetainCount = 0;
68
- _this._unloadDataTimeoutId = null;
69
- return _this;
48
+ constructor(sdk, modelId) {
49
+ super(sdk, modelId);
50
+ this._isDataLoaded = false;
51
+ this._pendingDataLoadPromise = null;
52
+ this._dataRetainCount = 0;
53
+ this._unloadDataTimeoutId = null;
70
54
  }
71
55
  /**
72
56
  * Watching a key that needs to load data asynchronously will automatically
@@ -75,199 +59,132 @@ var AbstractModelWithAsyncData = /*#__PURE__*/function (_AbstractModel) {
75
59
  *
76
60
  * @inheritdoc
77
61
  */
78
- (0, _inherits2.default)(AbstractModelWithAsyncData, _AbstractModel);
79
- return (0, _createClass2.default)(AbstractModelWithAsyncData, [{
80
- key: "watch",
81
- value: function watch(keys, callback, context) {
82
- this._assertNotForceUnloaded();
83
- var validKeys = (0, _get2.default)((0, _getPrototypeOf2.default)(AbstractModelWithAsyncData.prototype), "watch", this).call(this, keys, callback, context);
84
- var _iterator = _createForOfIteratorHelper(validKeys),
85
- _step;
86
- try {
87
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
88
- var key = _step.value;
89
- if (this.constructor._shouldLoadDataForKey(key)) {
90
- // Note: for simplicity, we will call loadData for every key that needs
91
- // needs data, relying on the retain count to unload once all keys have
92
- // been unwatched.
93
- (0, _private_utils.fireAndForgetPromise)(this.loadDataAsync.bind(this));
94
- }
95
- }
96
- } catch (err) {
97
- _iterator.e(err);
98
- } finally {
99
- _iterator.f();
62
+ watch(keys, callback, context) {
63
+ this._assertNotForceUnloaded();
64
+ const validKeys = super.watch(keys, callback, context);
65
+ for (const key of validKeys) {
66
+ if (this.constructor._shouldLoadDataForKey(key)) {
67
+ // Note: for simplicity, we will call loadData for every key that needs
68
+ // needs data, relying on the retain count to unload once all keys have
69
+ // been unwatched.
70
+ (0, _private_utils.fireAndForgetPromise)(this.loadDataAsync.bind(this));
100
71
  }
101
- return validKeys;
102
72
  }
103
- /**
104
- * Unwatching a key that needs to load data asynchronously will automatically
105
- * cause the data to be released. Once the data is available, the callback
106
- * will be called.
107
- *
108
- * @inheritdoc
109
- */
110
- }, {
111
- key: "unwatch",
112
- value: function unwatch(keys, callback, context) {
113
- var validKeys = (0, _get2.default)((0, _getPrototypeOf2.default)(AbstractModelWithAsyncData.prototype), "unwatch", this).call(this, keys, callback, context);
114
- var _iterator2 = _createForOfIteratorHelper(validKeys),
115
- _step2;
116
- try {
117
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
118
- var key = _step2.value;
119
- if (this.constructor._shouldLoadDataForKey(key)) {
120
- // We called loadDataAsync for every key that needs data so call
121
- // unloadData for every key to balance the retain count.
122
- this.unloadData();
123
- }
124
- }
125
- } catch (err) {
126
- _iterator2.e(err);
127
- } finally {
128
- _iterator2.f();
73
+ return validKeys;
74
+ }
75
+ /**
76
+ * Unwatching a key that needs to load data asynchronously will automatically
77
+ * cause the data to be released. Once the data is available, the callback
78
+ * will be called.
79
+ *
80
+ * @inheritdoc
81
+ */
82
+ unwatch(keys, callback, context) {
83
+ const validKeys = super.unwatch(keys, callback, context);
84
+ for (const key of validKeys) {
85
+ if (this.constructor._shouldLoadDataForKey(key)) {
86
+ // We called loadDataAsync for every key that needs data so call
87
+ // unloadData for every key to balance the retain count.
88
+ this.unloadData();
129
89
  }
130
- return validKeys;
131
90
  }
132
- /** @inheritdoc */
133
- }, {
134
- key: "isDeleted",
135
- get: function get() {
136
- if (this._isForceUnloaded) {
137
- return true;
138
- }
139
- return (0, _get2.default)((0, _getPrototypeOf2.default)(AbstractModelWithAsyncData.prototype), "isDeleted", this);
91
+ return validKeys;
92
+ }
93
+ /** @inheritdoc */
94
+ get isDeleted() {
95
+ if (this._isForceUnloaded) {
96
+ return true;
140
97
  }
141
- /** */
142
- }, {
143
- key: "isDataLoaded",
144
- get: function get() {
145
- if (this.isDeleted) {
146
- return false;
147
- }
148
- return this._isDataLoaded;
98
+ return super.isDeleted;
99
+ }
100
+ /** */
101
+ get isDataLoaded() {
102
+ if (this.isDeleted) {
103
+ return false;
149
104
  }
150
- /** @internal */
151
- }, {
152
- key: "loadDataAsync",
153
- value: // Override this method if your model is dependent on other models.
154
- // Do NOT load other models' data from _loadDataAsync, since it can lead to
155
- // unexpected behavior.
156
- // IMPORTANT: always call super.loadDataAsync() from your override.
157
- /**
158
- * Will cause all the async data to be fetched and retained. Every call to
159
- * `loadDataAsync` should have a matching call to `unloadData`.
160
- *
161
- * Returns a Promise that will resolve once the data is loaded.
162
- */
163
- function () {
164
- var _loadDataAsync2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
165
- return _regenerator.default.wrap(function _callee$(_context) {
166
- while (1) switch (_context.prev = _context.next) {
167
- case 0:
168
- this._assertNotForceUnloaded();
169
- if (this._unloadDataTimeoutId !== null) {
170
- // If we set a timeout to unload data, clear it since we are incrementing
171
- // the retain count and loading data.
172
- clearTimeout(this._unloadDataTimeoutId);
173
- this._unloadDataTimeoutId = null;
174
- }
105
+ return this._isDataLoaded;
106
+ }
107
+ /** @internal */
175
108
 
176
- // We keep a count of how many things have loaded the data so we don't
177
- // actually unload the data until the retain count comes back down to zero.
178
- this._dataRetainCount++;
179
- if (!this._isDataLoaded) {
180
- _context.next = 5;
181
- break;
182
- }
183
- return _context.abrupt("return");
184
- case 5:
185
- if (!this._pendingDataLoadPromise) {
186
- this._pendingDataLoadPromise = this._loadDataAsync().then(changedKeys => {
187
- this._isDataLoaded = true;
188
- this._pendingDataLoadPromise = null;
189
- var _iterator3 = _createForOfIteratorHelper(changedKeys),
190
- _step3;
191
- try {
192
- for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
193
- var key = _step3.value;
194
- this._onChange(key);
195
- }
196
- } catch (err) {
197
- _iterator3.e(err);
198
- } finally {
199
- _iterator3.f();
200
- }
201
- this._onChangeIsDataLoaded();
202
- return changedKeys;
203
- });
204
- }
205
- _context.next = 8;
206
- return this._pendingDataLoadPromise;
207
- case 8:
208
- case "end":
209
- return _context.stop();
210
- }
211
- }, _callee, this);
212
- }));
213
- function loadDataAsync() {
214
- return _loadDataAsync2.apply(this, arguments);
215
- }
216
- return loadDataAsync;
217
- }() // Override this method if your model is dependent on other models.
218
- // Do NOT unload other models' data from _unloadData, since it can lead to
219
- // unexpected behavior.
220
- // IMPORTANT: always call super.unloadData() from your override.
221
- /** */
222
- }, {
223
- key: "unloadData",
224
- value: function unloadData() {
225
- if (this._isForceUnloaded) {
226
- return;
227
- }
228
- this._dataRetainCount--;
229
- if (this._dataRetainCount < 0) {
230
- console.warn("Block ".concat(this.constructor._className, " data over-released")); // eslint-disable-line no-console
231
- this._dataRetainCount = 0;
232
- }
233
- if (this._dataRetainCount === 0) {
234
- // Don't unload immediately. Wait a while in case something else
235
- // requests the data, so we can avoid going back to liveapp or
236
- // the network.
237
- this._unloadDataTimeoutId = setTimeout(() => {
238
- (0, _error_utils.invariant)(this._dataRetainCount === 0, 'Unload data timeout fired with non-zero retain count');
109
+ /** @internal */
239
110
 
240
- // Set _isDataLoaded to false before calling _unloadData in case
241
- // _unloadData reads from isDataLoaded.
242
- this._isDataLoaded = false;
243
- this._unloadData();
244
- this._onChangeIsDataLoaded();
245
- }, AbstractModelWithAsyncData.__DATA_UNLOAD_DELAY_MS);
246
- }
111
+ /** @internal */
112
+
113
+ // Override this method if your model is dependent on other models.
114
+ // Do NOT load other models' data from _loadDataAsync, since it can lead to
115
+ // unexpected behavior.
116
+ // IMPORTANT: always call super.loadDataAsync() from your override.
117
+ /**
118
+ * Will cause all the async data to be fetched and retained. Every call to
119
+ * `loadDataAsync` should have a matching call to `unloadData`.
120
+ *
121
+ * Returns a Promise that will resolve once the data is loaded.
122
+ */
123
+ async loadDataAsync() {
124
+ this._assertNotForceUnloaded();
125
+ if (this._unloadDataTimeoutId !== null) {
126
+ // If we set a timeout to unload data, clear it since we are incrementing
127
+ // the retain count and loading data.
128
+ clearTimeout(this._unloadDataTimeoutId);
129
+ this._unloadDataTimeoutId = null;
247
130
  }
248
- }, {
249
- key: "_forceUnload",
250
- value: function _forceUnload() {
251
- while (this._dataRetainCount > 0) {
252
- this.unloadData();
253
- }
254
- this._isForceUnloaded = true;
131
+
132
+ // We keep a count of how many things have loaded the data so we don't
133
+ // actually unload the data until the retain count comes back down to zero.
134
+ this._dataRetainCount++;
135
+ if (this._isDataLoaded) {
136
+ return;
255
137
  }
256
- }, {
257
- key: "_assertNotForceUnloaded",
258
- value: function _assertNotForceUnloaded() {
259
- (0, _error_utils.invariant)(!this._isForceUnloaded, 'model (%s) permanently deleted', this.id);
138
+ if (!this._pendingDataLoadPromise) {
139
+ this._pendingDataLoadPromise = this._loadDataAsync().then(changedKeys => {
140
+ this._isDataLoaded = true;
141
+ this._pendingDataLoadPromise = null;
142
+ for (const key of changedKeys) {
143
+ this._onChange(key);
144
+ }
145
+ this._onChangeIsDataLoaded();
146
+ return changedKeys;
147
+ });
260
148
  }
261
- }], [{
262
- key: "_shouldLoadDataForKey",
263
- value: /** @internal */
264
- function _shouldLoadDataForKey(key) {
265
- // Override to return whether watching the key should trigger the
266
- // data to be loaded for this model.
267
- return false;
149
+ await this._pendingDataLoadPromise;
150
+ }
151
+ // Override this method if your model is dependent on other models.
152
+ // Do NOT unload other models' data from _unloadData, since it can lead to
153
+ // unexpected behavior.
154
+ // IMPORTANT: always call super.unloadData() from your override.
155
+ /** */
156
+ unloadData() {
157
+ if (this._isForceUnloaded) {
158
+ return;
159
+ }
160
+ this._dataRetainCount--;
161
+ if (this._dataRetainCount < 0) {
162
+ console.warn(`Block ${this.constructor._className} data over-released`); // eslint-disable-line no-console
163
+ this._dataRetainCount = 0;
268
164
  }
269
- }]);
270
- }(_abstract_model.default);
271
- /** @internal */
272
- (0, _defineProperty2.default)(AbstractModelWithAsyncData, "__DATA_UNLOAD_DELAY_MS", 1000);
165
+ if (this._dataRetainCount === 0) {
166
+ // Don't unload immediately. Wait a while in case something else
167
+ // requests the data, so we can avoid going back to liveapp or
168
+ // the network.
169
+ this._unloadDataTimeoutId = setTimeout(() => {
170
+ (0, _error_utils.invariant)(this._dataRetainCount === 0, 'Unload data timeout fired with non-zero retain count');
171
+
172
+ // Set _isDataLoaded to false before calling _unloadData in case
173
+ // _unloadData reads from isDataLoaded.
174
+ this._isDataLoaded = false;
175
+ this._unloadData();
176
+ this._onChangeIsDataLoaded();
177
+ }, AbstractModelWithAsyncData.__DATA_UNLOAD_DELAY_MS);
178
+ }
179
+ }
180
+ _forceUnload() {
181
+ while (this._dataRetainCount > 0) {
182
+ this.unloadData();
183
+ }
184
+ this._isForceUnloaded = true;
185
+ }
186
+ _assertNotForceUnloaded() {
187
+ (0, _error_utils.invariant)(!this._isForceUnloaded, 'model (%s) permanently deleted', this.id);
188
+ }
189
+ }
273
190
  var _default = exports.default = AbstractModelWithAsyncData;