@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
@@ -1,32 +1,16 @@
1
1
  "use strict";
2
2
 
3
- require("core-js/modules/es.symbol.js");
4
- require("core-js/modules/es.array.filter.js");
5
- require("core-js/modules/es.object.get-own-property-descriptors.js");
6
- require("core-js/modules/es.object.to-string.js");
7
- require("core-js/modules/web.dom-collections.for-each.js");
8
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
9
3
  Object.defineProperty(exports, "__esModule", {
10
4
  value: true
11
5
  });
12
6
  exports.default = void 0;
13
- require("core-js/modules/es.array.map.js");
14
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
15
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
16
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
17
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
18
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
20
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
22
7
  var _error_utils = require("../../shared/error_utils");
23
8
  var _private_utils = require("../../shared/private_utils");
24
9
  var _abstract_model_with_async_data = _interopRequireDefault(require("./abstract_model_with_async_data"));
25
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
26
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
27
- 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)); }
28
- 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: View */ /** */
29
- var WatchableViewMetadataKeys = {
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ /** @module @airtable/blocks/models: View */ /** */
12
+
13
+ const WatchableViewMetadataKeys = {
30
14
  allFields: 'allFields',
31
15
  visibleFields: 'visibleFields',
32
16
  isDataLoaded: 'isDataLoaded',
@@ -49,6 +33,7 @@ var WatchableViewMetadataKeys = {
49
33
  /**
50
34
  * @hidden
51
35
  */
36
+
52
37
  /**
53
38
  * Contains information about a view that isn't loaded by default e.g. field order and visible fields.
54
39
  *
@@ -71,154 +56,121 @@ var WatchableViewMetadataKeys = {
71
56
  * ```
72
57
  * @docsPath models/query results/ViewMetadataQueryResult
73
58
  */
74
- var ViewMetadataQueryResult = /*#__PURE__*/function (_AbstractModelWithAsy) {
59
+ class ViewMetadataQueryResult extends _abstract_model_with_async_data.default {
60
+ /** @internal */
61
+ static _className = 'ViewMetadataQueryResult';
62
+
75
63
  /** @internal */
76
- function ViewMetadataQueryResult(sdk, parentView, viewDataStore) {
77
- var _this;
78
- (0, _classCallCheck2.default)(this, ViewMetadataQueryResult);
79
- _this = _callSuper(this, ViewMetadataQueryResult, [sdk, (0, _private_utils.getLocallyUniqueId)('ViewMetadataQueryResult')]);
80
- /** */
81
- (0, _defineProperty2.default)(_this, "parentView", void 0);
82
- /** @internal */
83
- (0, _defineProperty2.default)(_this, "_viewDataStore", void 0);
84
- /** @internal */
85
- (0, _defineProperty2.default)(_this, "_onVisibleFieldIdsChange", () => {
86
- _this._onChange(WatchableViewMetadataKeys.visibleFields);
87
- });
88
- /** @internal */
89
- (0, _defineProperty2.default)(_this, "_onAllFieldIdsChange", () => {
90
- _this._onChange(WatchableViewMetadataKeys.allFields);
91
- });
92
- /** @internal */
93
- (0, _defineProperty2.default)(_this, "_onGroupLevelsChange", () => {
94
- _this._onChange(WatchableViewMetadataKeys.groupLevels);
95
- });
96
- _this.parentView = parentView;
97
- _this._viewDataStore = viewDataStore;
98
- return _this;
64
+ static _isWatchableKey(key) {
65
+ return (0, _private_utils.isEnumValue)(WatchableViewMetadataKeys, key);
99
66
  }
100
67
 
101
68
  /** @internal */
102
- (0, _inherits2.default)(ViewMetadataQueryResult, _AbstractModelWithAsy);
103
- return (0, _createClass2.default)(ViewMetadataQueryResult, [{
104
- key: "__poolKey",
105
- get: function get() {
106
- return this.parentView.id;
107
- }
69
+ static _shouldLoadDataForKey(key) {
70
+ return key === WatchableViewMetadataKeys.allFields || key === WatchableViewMetadataKeys.visibleFields || key === WatchableViewMetadataKeys.groupLevels;
71
+ }
108
72
 
109
- /** @internal */
110
- }, {
111
- key: "_dataOrNullIfDeleted",
112
- get: function get() {
113
- if (this._viewDataStore.isDeleted) {
114
- return null;
115
- }
116
- if (!this._viewDataStore.isDataLoaded) {
117
- return {
118
- visibleFieldIds: null,
119
- allFieldIds: null,
120
- groupLevels: null
121
- };
122
- }
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) {
123
95
  return {
124
- visibleFieldIds: this._viewDataStore.visibleFieldIds,
125
- allFieldIds: this._viewDataStore.allFieldIds,
126
- groupLevels: this._viewDataStore.groupLevels
96
+ visibleFieldIds: null,
97
+ allFieldIds: null,
98
+ groupLevels: null
127
99
  };
128
100
  }
101
+ return {
102
+ visibleFieldIds: this._viewDataStore.visibleFieldIds,
103
+ allFieldIds: this._viewDataStore.allFieldIds,
104
+ groupLevels: this._viewDataStore.groupLevels
105
+ };
106
+ }
129
107
 
130
- /** @internal */
131
- }, {
132
- key: "_onChangeIsDataLoaded",
133
- value: function _onChangeIsDataLoaded() {
134
- this._onChange(WatchableViewMetadataKeys.isDataLoaded);
135
- }
108
+ /** @internal */
109
+ _onChangeIsDataLoaded() {
110
+ this._onChange(WatchableViewMetadataKeys.isDataLoaded);
111
+ }
136
112
 
137
- /** @internal */
138
- }, {
139
- key: "_loadDataAsync",
140
- value: (function () {
141
- var _loadDataAsync2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
142
- return _regenerator.default.wrap(function _callee$(_context) {
143
- while (1) switch (_context.prev = _context.next) {
144
- case 0:
145
- _context.next = 2;
146
- return this._viewDataStore.loadDataAsync();
147
- case 2:
148
- this._viewDataStore.watch('visibleFieldIds', this._onVisibleFieldIdsChange);
149
- this._viewDataStore.watch('allFieldIds', this._onAllFieldIdsChange);
150
- this._viewDataStore.watch('groupLevels', this._onGroupLevelsChange);
151
- return _context.abrupt("return", [WatchableViewMetadataKeys.visibleFields, WatchableViewMetadataKeys.allFields, WatchableViewMetadataKeys.groupLevels]);
152
- case 6:
153
- case "end":
154
- return _context.stop();
155
- }
156
- }, _callee, this);
157
- }));
158
- function _loadDataAsync() {
159
- return _loadDataAsync2.apply(this, arguments);
160
- }
161
- return _loadDataAsync;
162
- }() /** @internal */)
163
- }, {
164
- key: "_unloadData",
165
- value: function _unloadData() {
166
- this._viewDataStore.unwatch('visibleFieldIds', this._onVisibleFieldIdsChange);
167
- this._viewDataStore.unwatch('allFieldIds', this._onAllFieldIdsChange);
168
- this._viewDataStore.unwatch('groupLevels', this._onGroupLevelsChange);
169
- this._viewDataStore.unloadData();
170
- }
171
- }, {
172
- key: "allFields",
173
- get:
174
- /**
175
- * Returns every field in the table in the order they appear in this view. Watchable.
176
- */
177
- function get() {
178
- var allFieldIds = this._data.allFieldIds;
179
- (0, _error_utils.invariant)(allFieldIds, 'view meta data is not loaded');
180
- return allFieldIds.map(fieldId => this.parentView.parentTable.getFieldById(fieldId));
181
- }
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
+ }
182
121
 
183
- /**
184
- * Returns every field visible in this view. Watchable.
185
- */
186
- }, {
187
- key: "visibleFields",
188
- get: function get() {
189
- var visibleFieldIds = this._data.visibleFieldIds;
190
- (0, _error_utils.invariant)(visibleFieldIds, 'view meta data is not loaded');
191
- return visibleFieldIds.map(fieldId => this.parentView.parentTable.getFieldById(fieldId));
192
- }
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
+ }
193
129
 
194
- /**
195
- * Returns group levels for this view. Watchable.
196
- *
197
- * @hidden
198
- */
199
- }, {
200
- key: "groupLevels",
201
- get: function get() {
202
- var groupLevels = this._data.groupLevels;
203
- return groupLevels ? groupLevels.map(singleConfig => _objectSpread(_objectSpread({}, singleConfig), {}, {
204
- field: this.parentView.parentTable.getFieldById(singleConfig.fieldId)
205
- })) : null;
206
- }
207
- }], [{
208
- key: "_isWatchableKey",
209
- value: /** @internal */
210
- function _isWatchableKey(key) {
211
- return (0, _private_utils.isEnumValue)(WatchableViewMetadataKeys, key);
212
- }
130
+ /** @internal */
131
+ _onVisibleFieldIdsChange = () => {
132
+ this._onChange(WatchableViewMetadataKeys.visibleFields);
133
+ };
213
134
 
214
- /** @internal */
215
- }, {
216
- key: "_shouldLoadDataForKey",
217
- value: function _shouldLoadDataForKey(key) {
218
- return key === WatchableViewMetadataKeys.allFields || key === WatchableViewMetadataKeys.visibleFields || key === WatchableViewMetadataKeys.groupLevels;
219
- }
220
- }]);
221
- }(_abstract_model_with_async_data.default);
222
- /** @internal */
223
- (0, _defineProperty2.default)(ViewMetadataQueryResult, "_className", 'ViewMetadataQueryResult');
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
+ }
224
176
  var _default = exports.default = ViewMetadataQueryResult;
@@ -1,27 +1,17 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.WatchablePerformRecordActionKeys = exports.PerformRecordAction = void 0;
8
7
  exports.__injectSdkIntoPerformRecordAction = __injectSdkIntoPerformRecordAction;
9
8
  exports.registerRecordActionDataCallback = registerRecordActionDataCallback;
10
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
14
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
15
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
16
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
18
9
  var _error_utils = require("../shared/error_utils");
19
10
  var _private_utils = require("../shared/private_utils");
20
11
  var _abstract_model_with_async_data = _interopRequireDefault(require("./models/abstract_model_with_async_data"));
21
- 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)); }
22
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
23
13
  /** @hidden */
24
- var WatchablePerformRecordActionKeys = exports.WatchablePerformRecordActionKeys = Object.freeze({
14
+ const WatchablePerformRecordActionKeys = exports.WatchablePerformRecordActionKeys = Object.freeze({
25
15
  // isDataLoaded must be a watchable key for a LoadableModel.
26
16
  isDataLoaded: 'isDataLoaded',
27
17
  recordActionData: 'recordActionData'
@@ -33,6 +23,7 @@ var WatchablePerformRecordActionKeys = exports.WatchablePerformRecordActionKeys
33
23
  * Returned by {@link registerRecordActionDataCallback}. Call it to unregister the previously
34
24
  * registered function. Do this before registering another function or unmounting the component.
35
25
  * */
26
+
36
27
  /**
37
28
  * This class exists to manage registering a callback to receive "Open block" / "Perform record
38
29
  * action" messages.
@@ -54,135 +45,100 @@ var WatchablePerformRecordActionKeys = exports.WatchablePerformRecordActionKeys
54
45
  *
55
46
  * @internal
56
47
  * */
57
- var PerformRecordAction = exports.PerformRecordAction = /*#__PURE__*/function (_AbstractModelWithAsy) {
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
+
58
60
  /** @hidden */
59
- function PerformRecordAction(sdk, airtableInterface) {
60
- var _this;
61
- (0, _classCallCheck2.default)(this, PerformRecordAction);
62
- _this = _callSuper(this, PerformRecordAction, [sdk, 'performRecordAction']);
63
- /** @internal */
64
- (0, _defineProperty2.default)(_this, "_airtableInterface", void 0);
65
- /** @internal */
66
- (0, _defineProperty2.default)(_this, "_hasRegisteredHandler", void 0);
67
- /** @internal */
68
- (0, _defineProperty2.default)(_this, "_hasCompletedInitialDataLoad", void 0);
69
- /**
70
- * The data from the latest record action, or null if none have occurred yet.
71
- *
72
- * @internal */
73
- (0, _defineProperty2.default)(_this, "recordActionData", void 0);
74
- _this._airtableInterface = airtableInterface;
75
- _this._hasRegisteredHandler = false;
76
- _this._hasCompletedInitialDataLoad = false;
77
- _this.recordActionData = null;
78
- _this._handlePerformRecordAction = _this._handlePerformRecordAction.bind(_this);
79
- return _this;
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);
80
68
  }
81
69
 
82
70
  /** @internal */
83
- (0, _inherits2.default)(PerformRecordAction, _AbstractModelWithAsy);
84
- return (0, _createClass2.default)(PerformRecordAction, [{
85
- key: "_handlePerformRecordAction",
86
- value: /** @hidden */
87
- function _handlePerformRecordAction(data) {
88
- this.recordActionData = data;
89
- this._onChange(WatchablePerformRecordActionKeys.recordActionData, data);
90
- }
71
+ static _isWatchableKey(key) {
72
+ return (0, _private_utils.isEnumValue)(WatchablePerformRecordActionKeys, key);
73
+ }
91
74
 
92
- /**
93
- * This accessor method is defined solely to satisfy the contract of the
94
- * AbstractModel class.
95
- *
96
- * @internal */
97
- }, {
98
- key: "_dataOrNullIfDeleted",
99
- get: function get() {
100
- return (0, _error_utils.invariant)(false, 'The `data` property of PerformRecordAction should not be referenced');
101
- }
75
+ /** @hidden */
76
+ _handlePerformRecordAction(data) {
77
+ this.recordActionData = data;
78
+ this._onChange(WatchablePerformRecordActionKeys.recordActionData, data);
79
+ }
102
80
 
103
- /**
104
- * This accessor method is defined because the parent implementation uses _dataOrNullIfDeleted
105
- *
106
- * @inheritdoc */
107
- }, {
108
- key: "isDeleted",
109
- get: function get() {
110
- return false;
111
- }
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
+ }
112
89
 
113
- /**
114
- * AbstractModelWithAsyncData implementation
115
- */
90
+ /**
91
+ * This accessor method is defined because the parent implementation uses _dataOrNullIfDeleted
92
+ *
93
+ * @inheritdoc */
94
+ get isDeleted() {
95
+ return false;
96
+ }
116
97
 
117
- /** @internal */
118
- }, {
119
- key: "_onChangeIsDataLoaded",
120
- value: function _onChangeIsDataLoaded() {
121
- this._onChange(WatchablePerformRecordActionKeys.isDataLoaded);
98
+ /**
99
+ * AbstractModelWithAsyncData implementation
100
+ */
122
101
 
123
- // Handle the case where there was a pending action whilst we were registering the handler.
124
- // We only want to do this on the very initial load when we're actually registering the
125
- // handler: avoid triggering this when the data is "unloaded" and "loaded".
126
- if (!this._hasCompletedInitialDataLoad) {
127
- this._hasCompletedInitialDataLoad = true;
128
- if (this.recordActionData) {
129
- this._handlePerformRecordAction(this.recordActionData);
130
- }
131
- }
132
- }
102
+ /** @internal */
103
+ _onChangeIsDataLoaded() {
104
+ this._onChange(WatchablePerformRecordActionKeys.isDataLoaded);
133
105
 
134
- /** @internal */
135
- }, {
136
- key: "_loadDataAsync",
137
- value: (function () {
138
- var _loadDataAsync2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
139
- return _regenerator.default.wrap(function _callee$(_context) {
140
- while (1) switch (_context.prev = _context.next) {
141
- case 0:
142
- if (this._hasRegisteredHandler) {
143
- _context.next = 5;
144
- break;
145
- }
146
- this._hasRegisteredHandler = true;
147
- _context.next = 4;
148
- return this._airtableInterface.fetchAndSubscribeToPerformRecordActionAsync(this._handlePerformRecordAction);
149
- case 4:
150
- this.recordActionData = _context.sent;
151
- case 5:
152
- return _context.abrupt("return", []);
153
- case 6:
154
- case "end":
155
- return _context.stop();
156
- }
157
- }, _callee, this);
158
- }));
159
- function _loadDataAsync() {
160
- return _loadDataAsync2.apply(this, arguments);
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);
161
113
  }
162
- return _loadDataAsync;
163
- }() /** @internal */)
164
- }, {
165
- key: "_unloadData",
166
- value: function _unloadData() {
167
- // Hack: Don't do anything, since "loading" means registering a handler, and we don't need
168
- // to unregister it.
169
114
  }
115
+ }
170
116
 
171
- /** @internal */
172
- }], [{
173
- key: "_isWatchableKey",
174
- value: function _isWatchableKey(key) {
175
- return (0, _private_utils.isEnumValue)(WatchablePerformRecordActionKeys, key);
176
- }
177
- }, {
178
- key: "_shouldLoadDataForKey",
179
- value: function _shouldLoadDataForKey(key) {
180
- // Watching recordActionData will load data (aka register handler with liveapp) and trigger
181
- // callback when done.
182
- return key === WatchablePerformRecordActionKeys.recordActionData;
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);
183
124
  }
184
- }]);
185
- }(_abstract_model_with_async_data.default);
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
+
186
142
  /**
187
143
  * Registers a callback to handle "open block" / "perform record action" events (from button field).
188
144
  *
@@ -239,16 +195,18 @@ var PerformRecordAction = exports.PerformRecordAction = /*#__PURE__*/function (_
239
195
  * ```
240
196
  *
241
197
  */
198
+ exports.PerformRecordAction = PerformRecordAction;
242
199
  function registerRecordActionDataCallback(callback) {
243
- var _sdk2 = sdk,
244
- performRecordAction = _sdk2.performRecordAction;
245
- var wrappedCallback = (model, key, data) => {
200
+ const {
201
+ performRecordAction
202
+ } = sdk;
203
+ const wrappedCallback = (model, key, data) => {
246
204
  callback(data);
247
205
  };
248
206
  performRecordAction.watch(WatchablePerformRecordActionKeys.recordActionData, wrappedCallback);
249
207
  return () => performRecordAction.unwatch(WatchablePerformRecordActionKeys.recordActionData, wrappedCallback);
250
208
  }
251
- var sdk;
209
+ let sdk;
252
210
 
253
211
  // The application-level Sdk instance must be injected dynamically to avoid
254
212
  // circular dependencies at the time of module resolution.