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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (667) hide show
  1. package/dist/esm/base/assert_run_context.js +12 -0
  2. package/dist/{cjs → esm}/base/index.js +30 -32
  3. package/dist/esm/base/models/abstract_model_with_async_data.js +190 -0
  4. package/dist/esm/base/models/base.js +252 -0
  5. package/dist/esm/base/models/create_aggregators.js +90 -0
  6. package/dist/esm/base/models/cursor.js +305 -0
  7. package/dist/esm/base/models/field.js +338 -0
  8. package/dist/esm/base/models/grouped_record_query_result.js +280 -0
  9. package/dist/esm/base/models/linked_records_query_result.js +553 -0
  10. package/dist/{cjs → esm}/base/models/models.js +19 -40
  11. package/dist/esm/base/models/mutations.js +312 -0
  12. package/dist/esm/base/models/object_pool.js +145 -0
  13. package/dist/esm/base/models/record.js +239 -0
  14. package/dist/{cjs → esm}/base/models/record_coloring.js +6 -6
  15. package/dist/esm/base/models/record_query_result.js +657 -0
  16. package/dist/esm/base/models/record_store.js +475 -0
  17. package/dist/esm/base/models/session.js +154 -0
  18. package/dist/esm/base/models/table.js +520 -0
  19. package/dist/esm/base/models/table_or_view_query_result.js +749 -0
  20. package/dist/esm/base/models/view.js +326 -0
  21. package/dist/esm/base/models/view_data_store.js +265 -0
  22. package/dist/esm/base/models/view_metadata_query_result.js +176 -0
  23. package/dist/esm/base/perform_record_action.js +215 -0
  24. package/dist/esm/base/sdk.js +178 -0
  25. package/dist/esm/base/settings_button.js +118 -0
  26. package/dist/{cjs → esm}/base/types/airtable_interface.js +1 -1
  27. package/dist/{cjs → esm}/base/types/mutations.js +5 -11
  28. package/dist/{cjs → esm}/base/types/undo_redo.js +1 -1
  29. package/dist/{cjs → esm}/base/types/view.js +1 -1
  30. package/dist/{cjs → esm}/base/ui/base_provider.js +6 -8
  31. package/dist/esm/base/ui/baymax_utils.js +461 -0
  32. package/dist/esm/base/ui/block_wrapper.js +118 -0
  33. package/dist/esm/base/ui/box.js +84 -0
  34. package/dist/esm/base/ui/button.js +152 -0
  35. package/dist/esm/base/ui/cell_renderer.js +198 -0
  36. package/dist/esm/base/ui/choice_token.js +93 -0
  37. package/dist/esm/base/ui/collaborator_token.js +123 -0
  38. package/dist/esm/base/ui/color_palette.js +196 -0
  39. package/dist/esm/base/ui/color_palette_synced.js +69 -0
  40. package/dist/esm/base/ui/confirmation_dialog.js +103 -0
  41. package/dist/{cjs → esm}/base/ui/control_sizes.js +24 -22
  42. package/dist/{cjs → esm}/base/ui/create_detect_element_resize.js +6 -10
  43. package/dist/{cjs → esm}/base/ui/css_helpers.js +1 -1
  44. package/dist/esm/base/ui/dialog.js +101 -0
  45. package/dist/esm/base/ui/dialog_close_button.js +106 -0
  46. package/dist/{cjs → esm}/base/ui/expand_record.js +1 -2
  47. package/dist/{cjs → esm}/base/ui/expand_record_list.js +3 -4
  48. package/dist/esm/base/ui/expand_record_picker_async.js +71 -0
  49. package/dist/esm/base/ui/field_icon.js +44 -0
  50. package/dist/esm/base/ui/field_picker.js +98 -0
  51. package/dist/esm/base/ui/field_picker_synced.js +66 -0
  52. package/dist/esm/base/ui/form_field.js +109 -0
  53. package/dist/{cjs → esm}/base/ui/geometry/geometry.js +5 -5
  54. package/dist/esm/base/ui/geometry/point.js +19 -0
  55. package/dist/esm/base/ui/geometry/rect.js +51 -0
  56. package/dist/esm/base/ui/geometry/size.js +19 -0
  57. package/dist/esm/base/ui/global_alert.js +71 -0
  58. package/dist/esm/base/ui/heading.js +132 -0
  59. package/dist/esm/base/ui/icon.js +109 -0
  60. package/dist/{cjs → esm}/base/ui/icon_config.js +6 -12
  61. package/dist/{cjs → esm}/base/ui/initialize_block.js +16 -35
  62. package/dist/esm/base/ui/input.js +161 -0
  63. package/dist/esm/base/ui/input_synced.js +66 -0
  64. package/dist/{cjs → esm}/base/ui/key_codes.js +2 -3
  65. package/dist/esm/base/ui/label.js +80 -0
  66. package/dist/esm/base/ui/link.js +196 -0
  67. package/dist/esm/base/ui/loader.js +61 -0
  68. package/dist/esm/base/ui/modal.js +145 -0
  69. package/dist/esm/base/ui/model_picker_select.js +57 -0
  70. package/dist/esm/base/ui/popover.js +315 -0
  71. package/dist/esm/base/ui/progress_bar.js +115 -0
  72. package/dist/esm/base/ui/record_card.js +564 -0
  73. package/dist/esm/base/ui/record_card_list.js +303 -0
  74. package/dist/esm/base/ui/select.js +191 -0
  75. package/dist/esm/base/ui/select_and_select_buttons_helpers.js +63 -0
  76. package/dist/esm/base/ui/select_buttons.js +159 -0
  77. package/dist/esm/base/ui/select_buttons_synced.js +62 -0
  78. package/dist/esm/base/ui/select_synced.js +65 -0
  79. package/dist/esm/base/ui/switch.js +167 -0
  80. package/dist/esm/base/ui/switch_synced.js +53 -0
  81. package/dist/esm/base/ui/synced.js +49 -0
  82. package/dist/{cjs → esm}/base/ui/system/all_styles_set.js +4 -12
  83. package/dist/esm/base/ui/system/appearance/appearance_set.js +27 -0
  84. package/dist/esm/base/ui/system/appearance/background_color.js +18 -0
  85. package/dist/{cjs → esm}/base/ui/system/appearance/border.js +3 -6
  86. package/dist/esm/base/ui/system/appearance/border_radius.js +18 -0
  87. package/dist/esm/base/ui/system/appearance/box_shadow.js +18 -0
  88. package/dist/esm/base/ui/system/appearance/opacity.js +18 -0
  89. package/dist/esm/base/ui/system/dimensions/dimensions_set.js +29 -0
  90. package/dist/esm/base/ui/system/dimensions/height.js +18 -0
  91. package/dist/esm/base/ui/system/dimensions/max_height.js +18 -0
  92. package/dist/esm/base/ui/system/dimensions/max_width.js +18 -0
  93. package/dist/esm/base/ui/system/dimensions/min_height.js +18 -0
  94. package/dist/esm/base/ui/system/dimensions/min_width.js +18 -0
  95. package/dist/esm/base/ui/system/dimensions/width.js +18 -0
  96. package/dist/esm/base/ui/system/display.js +19 -0
  97. package/dist/esm/base/ui/system/flex_container/align_content.js +15 -0
  98. package/dist/esm/base/ui/system/flex_container/align_items.js +15 -0
  99. package/dist/esm/base/ui/system/flex_container/flex_container_set.js +29 -0
  100. package/dist/esm/base/ui/system/flex_container/flex_direction.js +15 -0
  101. package/dist/esm/base/ui/system/flex_container/flex_wrap.js +15 -0
  102. package/dist/esm/base/ui/system/flex_container/justify_content.js +15 -0
  103. package/dist/esm/base/ui/system/flex_container/justify_items.js +16 -0
  104. package/dist/esm/base/ui/system/flex_item/align_self.js +15 -0
  105. package/dist/esm/base/ui/system/flex_item/flex.js +15 -0
  106. package/dist/esm/base/ui/system/flex_item/flex_basis.js +15 -0
  107. package/dist/esm/base/ui/system/flex_item/flex_grow.js +15 -0
  108. package/dist/esm/base/ui/system/flex_item/flex_item_set.js +31 -0
  109. package/dist/esm/base/ui/system/flex_item/flex_shrink.js +15 -0
  110. package/dist/esm/base/ui/system/flex_item/justify_self.js +16 -0
  111. package/dist/esm/base/ui/system/flex_item/order.js +15 -0
  112. package/dist/{cjs → esm}/base/ui/system/index.js +104 -416
  113. package/dist/esm/base/ui/system/overflow.js +21 -0
  114. package/dist/{cjs → esm}/base/ui/system/position/bottom.js +4 -6
  115. package/dist/{cjs → esm}/base/ui/system/position/left.js +4 -6
  116. package/dist/esm/base/ui/system/position/position.js +15 -0
  117. package/dist/esm/base/ui/system/position/position_set.js +29 -0
  118. package/dist/{cjs → esm}/base/ui/system/position/right.js +4 -6
  119. package/dist/{cjs → esm}/base/ui/system/position/top.js +4 -6
  120. package/dist/esm/base/ui/system/position/z_index.js +18 -0
  121. package/dist/{cjs → esm}/base/ui/system/spacing/margin.js +4 -6
  122. package/dist/{cjs → esm}/base/ui/system/spacing/padding.js +4 -6
  123. package/dist/esm/base/ui/system/spacing/spacing_set.js +21 -0
  124. package/dist/esm/base/ui/system/typography/font_family.js +18 -0
  125. package/dist/esm/base/ui/system/typography/font_size.js +18 -0
  126. package/dist/esm/base/ui/system/typography/font_style.js +15 -0
  127. package/dist/esm/base/ui/system/typography/font_weight.js +18 -0
  128. package/dist/esm/base/ui/system/typography/letter_spacing.js +18 -0
  129. package/dist/esm/base/ui/system/typography/line_height.js +15 -0
  130. package/dist/esm/base/ui/system/typography/text_align.js +15 -0
  131. package/dist/esm/base/ui/system/typography/text_color.js +18 -0
  132. package/dist/esm/base/ui/system/typography/text_decoration.js +15 -0
  133. package/dist/esm/base/ui/system/typography/text_transform.js +15 -0
  134. package/dist/esm/base/ui/system/typography/typography_set.js +37 -0
  135. package/dist/{cjs → esm}/base/ui/system/utils/ensure_numbers_are_within_scale.js +3 -4
  136. package/dist/esm/base/ui/system/utils/get_style_props_for_responsive_prop.js +73 -0
  137. package/dist/esm/base/ui/table_picker.js +71 -0
  138. package/dist/esm/base/ui/table_picker_synced.js +62 -0
  139. package/dist/esm/base/ui/text.js +117 -0
  140. package/dist/esm/base/ui/text_button.js +196 -0
  141. package/dist/{cjs → esm}/base/ui/theme/default_theme/button_variants.js +3 -3
  142. package/dist/esm/base/ui/theme/default_theme/control_sizes.js +102 -0
  143. package/dist/{cjs → esm}/base/ui/theme/default_theme/heading_styles.js +1 -1
  144. package/dist/{cjs → esm}/base/ui/theme/default_theme/index.js +9 -15
  145. package/dist/{cjs → esm}/base/ui/theme/default_theme/input_variants.js +3 -3
  146. package/dist/{cjs → esm}/base/ui/theme/default_theme/link_variants.js +3 -3
  147. package/dist/{cjs → esm}/base/ui/theme/default_theme/select_buttons_variants.js +4 -4
  148. package/dist/esm/base/ui/theme/default_theme/select_variants.js +50 -0
  149. package/dist/esm/base/ui/theme/default_theme/switch_variants.js +85 -0
  150. package/dist/{cjs → esm}/base/ui/theme/default_theme/text_button_variants.js +5 -5
  151. package/dist/{cjs → esm}/base/ui/theme/default_theme/text_styles.js +1 -1
  152. package/dist/{cjs → esm}/base/ui/theme/default_theme/tokens.js +14 -14
  153. package/dist/{cjs → esm}/base/ui/theme/theme_context.js +2 -2
  154. package/dist/{cjs → esm}/base/ui/theme/use_theme.js +2 -2
  155. package/dist/esm/base/ui/tooltip.js +175 -0
  156. package/dist/{cjs → esm}/base/ui/ui.js +48 -49
  157. package/dist/{cjs → esm}/base/ui/unstable_standalone_ui.js +27 -27
  158. package/dist/{cjs → esm}/base/ui/use_base.js +1 -1
  159. package/dist/{cjs → esm}/base/ui/use_cursor.js +5 -4
  160. package/dist/{cjs → esm}/base/ui/use_form_field.js +1 -1
  161. package/dist/{cjs → esm}/base/ui/use_loadable.js +25 -91
  162. package/dist/{cjs → esm}/base/ui/use_record_action_data.js +4 -3
  163. package/dist/{cjs → esm}/base/ui/use_records.js +9 -13
  164. package/dist/{cjs → esm}/base/ui/use_session.js +1 -1
  165. package/dist/{cjs → esm}/base/ui/use_settings_button.js +4 -3
  166. package/dist/esm/base/ui/use_styled_system.js +25 -0
  167. package/dist/{cjs → esm}/base/ui/use_text_color_for_background_color.js +4 -3
  168. package/dist/{cjs → esm}/base/ui/use_view_metadata.js +4 -4
  169. package/dist/{cjs → esm}/base/ui/use_viewport.js +2 -2
  170. package/dist/esm/base/ui/view_picker.js +89 -0
  171. package/dist/esm/base/ui/view_picker_synced.js +66 -0
  172. package/dist/esm/base/ui/viewport_constraint.js +129 -0
  173. package/dist/esm/base/ui/with_styled_system.js +129 -0
  174. package/dist/esm/base/undo_redo.js +37 -0
  175. package/dist/{cjs → esm}/base/unstable_testing_utils.js +27 -27
  176. package/dist/esm/base/viewport.js +353 -0
  177. package/dist/esm/injected/airtable_interface.js +22 -0
  178. package/dist/esm/interface/assert_run_context.js +12 -0
  179. package/dist/esm/interface/index.js +22 -0
  180. package/dist/esm/interface/models/base.js +35 -0
  181. package/dist/esm/interface/models/field.js +28 -0
  182. package/dist/{cjs → esm}/interface/models/models.js +8 -7
  183. package/dist/esm/interface/models/mutations.js +63 -0
  184. package/dist/esm/interface/models/record.js +51 -0
  185. package/dist/esm/interface/models/record_store.js +51 -0
  186. package/dist/esm/interface/models/session.js +28 -0
  187. package/dist/esm/interface/models/table.js +97 -0
  188. package/dist/esm/interface/sdk.js +78 -0
  189. package/dist/{cjs → esm}/interface/types/airtable_interface.js +2 -2
  190. package/dist/esm/interface/types/mutations.js +17 -0
  191. package/dist/esm/interface/ui/block_wrapper.js +69 -0
  192. package/dist/{cjs → esm}/interface/ui/initialize_block.js +13 -28
  193. package/dist/{cjs → esm}/interface/ui/ui.js +20 -19
  194. package/dist/{cjs → esm}/interface/ui/use_base.js +1 -1
  195. package/dist/{cjs → esm}/interface/ui/use_custom_properties.js +19 -35
  196. package/dist/{cjs → esm}/interface/ui/use_records.js +6 -5
  197. package/dist/{cjs → esm}/interface/ui/use_run_info.js +2 -2
  198. package/dist/{cjs → esm}/interface/ui/use_session.js +1 -1
  199. package/dist/{cjs → esm}/shared/color_utils.js +9 -16
  200. package/dist/{cjs → esm}/shared/colors.js +2 -2
  201. package/dist/{cjs → esm}/shared/error_utils.js +9 -11
  202. package/dist/{cjs → esm}/shared/event_tracker.js +3 -3
  203. package/dist/esm/shared/global_config.js +399 -0
  204. package/dist/esm/shared/models/abstract_model.js +94 -0
  205. package/dist/esm/shared/models/base_core.js +482 -0
  206. package/dist/esm/shared/models/field_core.js +288 -0
  207. package/dist/esm/shared/models/mutations_core.js +343 -0
  208. package/dist/esm/shared/models/record_core.js +215 -0
  209. package/dist/esm/shared/models/record_store_core.js +160 -0
  210. package/dist/esm/shared/models/session_core.js +160 -0
  211. package/dist/esm/shared/models/table_core.js +1318 -0
  212. package/dist/{cjs → esm}/shared/private_utils.js +54 -124
  213. package/dist/esm/shared/sdk_core.js +113 -0
  214. package/dist/{cjs → esm}/shared/types/field_core.js +1 -1
  215. package/dist/esm/shared/types/mutation_constants.js +11 -0
  216. package/dist/{cjs → esm}/shared/types/mutations_core.js +1 -1
  217. package/dist/{cjs → esm}/shared/types/permission_levels.js +1 -1
  218. package/dist/esm/shared/types/record.js +1 -0
  219. package/dist/esm/shared/types/stat.js +1 -0
  220. package/dist/esm/shared/types/table_core.js +1 -0
  221. package/dist/{cjs → esm}/shared/ui/global_config_synced_component_helpers.js +9 -9
  222. package/dist/esm/shared/ui/loader.js +47 -0
  223. package/dist/{cjs → esm}/shared/ui/remote_utils.js +5 -7
  224. package/dist/{cjs → esm}/shared/ui/sdk_context.js +4 -8
  225. package/dist/{cjs → esm}/shared/ui/use_array_identity.js +2 -2
  226. package/dist/{cjs → esm}/shared/ui/use_base.js +6 -5
  227. package/dist/{cjs → esm}/shared/ui/use_color_scheme.js +3 -8
  228. package/dist/{cjs → esm}/shared/ui/use_global_config.js +5 -4
  229. package/dist/{cjs → esm}/shared/ui/use_session.js +6 -5
  230. package/dist/{cjs → esm}/shared/ui/use_synced.js +7 -5
  231. package/dist/{cjs → esm}/shared/ui/use_watchable.js +13 -42
  232. package/dist/{cjs → esm}/shared/ui/with_hooks.js +6 -13
  233. package/dist/{cjs → esm}/shared/unstable_private_utils.js +4 -6
  234. package/dist/{cjs → esm}/shared/warning.js +5 -5
  235. package/dist/esm/shared/watchable.js +150 -0
  236. package/dist/esm/stats/block_stats.js +73 -0
  237. package/dist/esm/testing/base/abstract_mock_airtable_interface.js +208 -0
  238. package/dist/esm/testing/interface/abstract_mock_airtable_interface.js +124 -0
  239. package/dist/types/src/base/assert_run_context.d.ts +2 -0
  240. package/dist/types/src/base/assert_run_context.d.ts.map +1 -0
  241. package/dist/types/src/base/index.d.ts +1 -0
  242. package/dist/types/src/base/index.d.ts.map +1 -1
  243. package/dist/types/src/base/models/base.d.ts +19 -0
  244. package/dist/types/src/base/models/base.d.ts.map +1 -1
  245. package/dist/types/src/base/models/create_aggregators.d.ts +3 -4
  246. package/dist/types/src/base/models/create_aggregators.d.ts.map +1 -1
  247. package/dist/types/src/base/models/field.d.ts +3 -2
  248. package/dist/types/src/base/models/field.d.ts.map +1 -1
  249. package/dist/types/src/base/models/models.d.ts +1 -2
  250. package/dist/types/src/base/models/models.d.ts.map +1 -1
  251. package/dist/types/src/base/models/mutations.d.ts.map +1 -1
  252. package/dist/types/src/base/sdk.d.ts.map +1 -1
  253. package/dist/types/src/base/ui/block_wrapper.d.ts +1 -1
  254. package/dist/types/src/base/ui/box.d.ts.map +1 -1
  255. package/dist/types/src/base/ui/button.d.ts +0 -5
  256. package/dist/types/src/base/ui/button.d.ts.map +1 -1
  257. package/dist/types/src/base/ui/cell_renderer.d.ts +1 -22
  258. package/dist/types/src/base/ui/cell_renderer.d.ts.map +1 -1
  259. package/dist/types/src/base/ui/choice_token.d.ts +1 -21
  260. package/dist/types/src/base/ui/choice_token.d.ts.map +1 -1
  261. package/dist/types/src/base/ui/collaborator_token.d.ts +0 -20
  262. package/dist/types/src/base/ui/collaborator_token.d.ts.map +1 -1
  263. package/dist/types/src/base/ui/color_palette.d.ts +1 -32
  264. package/dist/types/src/base/ui/color_palette.d.ts.map +1 -1
  265. package/dist/types/src/base/ui/color_palette_synced.d.ts +0 -14
  266. package/dist/types/src/base/ui/color_palette_synced.d.ts.map +1 -1
  267. package/dist/types/src/base/ui/confirmation_dialog.d.ts +0 -17
  268. package/dist/types/src/base/ui/confirmation_dialog.d.ts.map +1 -1
  269. package/dist/types/src/base/ui/control_sizes.d.ts +0 -1
  270. package/dist/types/src/base/ui/control_sizes.d.ts.map +1 -1
  271. package/dist/types/src/base/ui/dialog.d.ts +1 -23
  272. package/dist/types/src/base/ui/dialog.d.ts.map +1 -1
  273. package/dist/types/src/base/ui/dialog_close_button.d.ts +2 -24
  274. package/dist/types/src/base/ui/dialog_close_button.d.ts.map +1 -1
  275. package/dist/types/src/base/ui/field_icon.d.ts +1 -17
  276. package/dist/types/src/base/ui/field_icon.d.ts.map +1 -1
  277. package/dist/types/src/base/ui/field_picker.d.ts +0 -23
  278. package/dist/types/src/base/ui/field_picker.d.ts.map +1 -1
  279. package/dist/types/src/base/ui/field_picker_synced.d.ts.map +1 -1
  280. package/dist/types/src/base/ui/form_field.d.ts +0 -4
  281. package/dist/types/src/base/ui/form_field.d.ts.map +1 -1
  282. package/dist/types/src/base/ui/heading.d.ts +1 -1
  283. package/dist/types/src/base/ui/heading.d.ts.map +1 -1
  284. package/dist/types/src/base/ui/icon.d.ts +0 -16
  285. package/dist/types/src/base/ui/icon.d.ts.map +1 -1
  286. package/dist/types/src/base/ui/icon_config.d.ts +50 -51
  287. package/dist/types/src/base/ui/icon_config.d.ts.map +1 -1
  288. package/dist/types/src/base/ui/initialize_block.d.ts.map +1 -1
  289. package/dist/types/src/base/ui/input.d.ts +12 -46
  290. package/dist/types/src/base/ui/input.d.ts.map +1 -1
  291. package/dist/types/src/base/ui/input_synced.d.ts.map +1 -1
  292. package/dist/types/src/base/ui/label.d.ts.map +1 -1
  293. package/dist/types/src/base/ui/link.d.ts +1 -5
  294. package/dist/types/src/base/ui/link.d.ts.map +1 -1
  295. package/dist/types/src/base/ui/loader.d.ts +3 -20
  296. package/dist/types/src/base/ui/loader.d.ts.map +1 -1
  297. package/dist/types/src/base/ui/modal.d.ts +1 -14
  298. package/dist/types/src/base/ui/modal.d.ts.map +1 -1
  299. package/dist/types/src/base/ui/model_picker_select.d.ts.map +1 -1
  300. package/dist/types/src/base/ui/popover.d.ts +1 -17
  301. package/dist/types/src/base/ui/popover.d.ts.map +1 -1
  302. package/dist/types/src/base/ui/progress_bar.d.ts +1 -24
  303. package/dist/types/src/base/ui/progress_bar.d.ts.map +1 -1
  304. package/dist/types/src/base/ui/record_card.d.ts +1 -23
  305. package/dist/types/src/base/ui/record_card.d.ts.map +1 -1
  306. package/dist/types/src/base/ui/record_card_list.d.ts +1 -18
  307. package/dist/types/src/base/ui/record_card_list.d.ts.map +1 -1
  308. package/dist/types/src/base/ui/select.d.ts +0 -44
  309. package/dist/types/src/base/ui/select.d.ts.map +1 -1
  310. package/dist/types/src/base/ui/select_and_select_buttons_helpers.d.ts +0 -2
  311. package/dist/types/src/base/ui/select_and_select_buttons_helpers.d.ts.map +1 -1
  312. package/dist/types/src/base/ui/select_buttons.d.ts +0 -22
  313. package/dist/types/src/base/ui/select_buttons.d.ts.map +1 -1
  314. package/dist/types/src/base/ui/select_buttons_synced.d.ts.map +1 -1
  315. package/dist/types/src/base/ui/select_synced.d.ts.map +1 -1
  316. package/dist/types/src/base/ui/switch.d.ts +0 -22
  317. package/dist/types/src/base/ui/switch.d.ts.map +1 -1
  318. package/dist/types/src/base/ui/switch_synced.d.ts.map +1 -1
  319. package/dist/types/src/base/ui/synced.d.ts +2 -8
  320. package/dist/types/src/base/ui/synced.d.ts.map +1 -1
  321. package/dist/types/src/base/ui/system/all_styles_set.d.ts +0 -3
  322. package/dist/types/src/base/ui/system/all_styles_set.d.ts.map +1 -1
  323. package/dist/types/src/base/ui/system/appearance/appearance_set.d.ts +0 -1
  324. package/dist/types/src/base/ui/system/appearance/appearance_set.d.ts.map +1 -1
  325. package/dist/types/src/base/ui/system/appearance/background_color.d.ts +0 -1
  326. package/dist/types/src/base/ui/system/appearance/background_color.d.ts.map +1 -1
  327. package/dist/types/src/base/ui/system/appearance/border.d.ts +0 -1
  328. package/dist/types/src/base/ui/system/appearance/border.d.ts.map +1 -1
  329. package/dist/types/src/base/ui/system/appearance/border_radius.d.ts +0 -1
  330. package/dist/types/src/base/ui/system/appearance/border_radius.d.ts.map +1 -1
  331. package/dist/types/src/base/ui/system/appearance/box_shadow.d.ts +0 -1
  332. package/dist/types/src/base/ui/system/appearance/box_shadow.d.ts.map +1 -1
  333. package/dist/types/src/base/ui/system/appearance/opacity.d.ts +0 -1
  334. package/dist/types/src/base/ui/system/appearance/opacity.d.ts.map +1 -1
  335. package/dist/types/src/base/ui/system/dimensions/dimensions_set.d.ts +0 -1
  336. package/dist/types/src/base/ui/system/dimensions/dimensions_set.d.ts.map +1 -1
  337. package/dist/types/src/base/ui/system/dimensions/height.d.ts +0 -1
  338. package/dist/types/src/base/ui/system/dimensions/height.d.ts.map +1 -1
  339. package/dist/types/src/base/ui/system/dimensions/max_height.d.ts +0 -1
  340. package/dist/types/src/base/ui/system/dimensions/max_height.d.ts.map +1 -1
  341. package/dist/types/src/base/ui/system/dimensions/max_width.d.ts +0 -1
  342. package/dist/types/src/base/ui/system/dimensions/max_width.d.ts.map +1 -1
  343. package/dist/types/src/base/ui/system/dimensions/min_height.d.ts +0 -1
  344. package/dist/types/src/base/ui/system/dimensions/min_height.d.ts.map +1 -1
  345. package/dist/types/src/base/ui/system/dimensions/min_width.d.ts +0 -1
  346. package/dist/types/src/base/ui/system/dimensions/min_width.d.ts.map +1 -1
  347. package/dist/types/src/base/ui/system/dimensions/width.d.ts +0 -1
  348. package/dist/types/src/base/ui/system/dimensions/width.d.ts.map +1 -1
  349. package/dist/types/src/base/ui/system/display.d.ts +0 -1
  350. package/dist/types/src/base/ui/system/display.d.ts.map +1 -1
  351. package/dist/types/src/base/ui/system/flex_container/align_content.d.ts +0 -1
  352. package/dist/types/src/base/ui/system/flex_container/align_content.d.ts.map +1 -1
  353. package/dist/types/src/base/ui/system/flex_container/align_items.d.ts +0 -1
  354. package/dist/types/src/base/ui/system/flex_container/align_items.d.ts.map +1 -1
  355. package/dist/types/src/base/ui/system/flex_container/flex_container_set.d.ts +0 -1
  356. package/dist/types/src/base/ui/system/flex_container/flex_container_set.d.ts.map +1 -1
  357. package/dist/types/src/base/ui/system/flex_container/flex_direction.d.ts +0 -1
  358. package/dist/types/src/base/ui/system/flex_container/flex_direction.d.ts.map +1 -1
  359. package/dist/types/src/base/ui/system/flex_container/flex_wrap.d.ts +0 -1
  360. package/dist/types/src/base/ui/system/flex_container/flex_wrap.d.ts.map +1 -1
  361. package/dist/types/src/base/ui/system/flex_container/justify_content.d.ts +0 -1
  362. package/dist/types/src/base/ui/system/flex_container/justify_content.d.ts.map +1 -1
  363. package/dist/types/src/base/ui/system/flex_container/justify_items.d.ts +0 -1
  364. package/dist/types/src/base/ui/system/flex_container/justify_items.d.ts.map +1 -1
  365. package/dist/types/src/base/ui/system/flex_item/align_self.d.ts +0 -1
  366. package/dist/types/src/base/ui/system/flex_item/align_self.d.ts.map +1 -1
  367. package/dist/types/src/base/ui/system/flex_item/flex.d.ts +0 -1
  368. package/dist/types/src/base/ui/system/flex_item/flex.d.ts.map +1 -1
  369. package/dist/types/src/base/ui/system/flex_item/flex_basis.d.ts +0 -1
  370. package/dist/types/src/base/ui/system/flex_item/flex_basis.d.ts.map +1 -1
  371. package/dist/types/src/base/ui/system/flex_item/flex_grow.d.ts +0 -1
  372. package/dist/types/src/base/ui/system/flex_item/flex_grow.d.ts.map +1 -1
  373. package/dist/types/src/base/ui/system/flex_item/flex_item_set.d.ts +0 -1
  374. package/dist/types/src/base/ui/system/flex_item/flex_item_set.d.ts.map +1 -1
  375. package/dist/types/src/base/ui/system/flex_item/flex_shrink.d.ts +0 -1
  376. package/dist/types/src/base/ui/system/flex_item/flex_shrink.d.ts.map +1 -1
  377. package/dist/types/src/base/ui/system/flex_item/justify_self.d.ts +0 -1
  378. package/dist/types/src/base/ui/system/flex_item/justify_self.d.ts.map +1 -1
  379. package/dist/types/src/base/ui/system/flex_item/order.d.ts +0 -1
  380. package/dist/types/src/base/ui/system/flex_item/order.d.ts.map +1 -1
  381. package/dist/types/src/base/ui/system/index.d.ts +52 -52
  382. package/dist/types/src/base/ui/system/index.d.ts.map +1 -1
  383. package/dist/types/src/base/ui/system/overflow.d.ts +0 -1
  384. package/dist/types/src/base/ui/system/overflow.d.ts.map +1 -1
  385. package/dist/types/src/base/ui/system/position/bottom.d.ts +0 -1
  386. package/dist/types/src/base/ui/system/position/bottom.d.ts.map +1 -1
  387. package/dist/types/src/base/ui/system/position/left.d.ts +0 -1
  388. package/dist/types/src/base/ui/system/position/left.d.ts.map +1 -1
  389. package/dist/types/src/base/ui/system/position/position.d.ts +0 -1
  390. package/dist/types/src/base/ui/system/position/position.d.ts.map +1 -1
  391. package/dist/types/src/base/ui/system/position/position_set.d.ts +0 -1
  392. package/dist/types/src/base/ui/system/position/position_set.d.ts.map +1 -1
  393. package/dist/types/src/base/ui/system/position/right.d.ts +0 -1
  394. package/dist/types/src/base/ui/system/position/right.d.ts.map +1 -1
  395. package/dist/types/src/base/ui/system/position/top.d.ts +0 -1
  396. package/dist/types/src/base/ui/system/position/top.d.ts.map +1 -1
  397. package/dist/types/src/base/ui/system/position/z_index.d.ts +0 -1
  398. package/dist/types/src/base/ui/system/position/z_index.d.ts.map +1 -1
  399. package/dist/types/src/base/ui/system/spacing/margin.d.ts +0 -1
  400. package/dist/types/src/base/ui/system/spacing/margin.d.ts.map +1 -1
  401. package/dist/types/src/base/ui/system/spacing/padding.d.ts +0 -1
  402. package/dist/types/src/base/ui/system/spacing/padding.d.ts.map +1 -1
  403. package/dist/types/src/base/ui/system/spacing/spacing_set.d.ts +0 -1
  404. package/dist/types/src/base/ui/system/spacing/spacing_set.d.ts.map +1 -1
  405. package/dist/types/src/base/ui/system/typography/font_family.d.ts +0 -1
  406. package/dist/types/src/base/ui/system/typography/font_family.d.ts.map +1 -1
  407. package/dist/types/src/base/ui/system/typography/font_size.d.ts +0 -1
  408. package/dist/types/src/base/ui/system/typography/font_size.d.ts.map +1 -1
  409. package/dist/types/src/base/ui/system/typography/font_style.d.ts +0 -1
  410. package/dist/types/src/base/ui/system/typography/font_style.d.ts.map +1 -1
  411. package/dist/types/src/base/ui/system/typography/font_weight.d.ts +0 -1
  412. package/dist/types/src/base/ui/system/typography/font_weight.d.ts.map +1 -1
  413. package/dist/types/src/base/ui/system/typography/letter_spacing.d.ts +0 -1
  414. package/dist/types/src/base/ui/system/typography/letter_spacing.d.ts.map +1 -1
  415. package/dist/types/src/base/ui/system/typography/line_height.d.ts +0 -1
  416. package/dist/types/src/base/ui/system/typography/line_height.d.ts.map +1 -1
  417. package/dist/types/src/base/ui/system/typography/text_align.d.ts +0 -1
  418. package/dist/types/src/base/ui/system/typography/text_align.d.ts.map +1 -1
  419. package/dist/types/src/base/ui/system/typography/text_color.d.ts +0 -1
  420. package/dist/types/src/base/ui/system/typography/text_color.d.ts.map +1 -1
  421. package/dist/types/src/base/ui/system/typography/text_decoration.d.ts +0 -1
  422. package/dist/types/src/base/ui/system/typography/text_decoration.d.ts.map +1 -1
  423. package/dist/types/src/base/ui/system/typography/text_transform.d.ts +0 -1
  424. package/dist/types/src/base/ui/system/typography/text_transform.d.ts.map +1 -1
  425. package/dist/types/src/base/ui/system/typography/typography_set.d.ts +0 -1
  426. package/dist/types/src/base/ui/system/typography/typography_set.d.ts.map +1 -1
  427. package/dist/types/src/base/ui/table_picker.d.ts +0 -21
  428. package/dist/types/src/base/ui/table_picker.d.ts.map +1 -1
  429. package/dist/types/src/base/ui/table_picker_synced.d.ts.map +1 -1
  430. package/dist/types/src/base/ui/text.d.ts +0 -3
  431. package/dist/types/src/base/ui/text.d.ts.map +1 -1
  432. package/dist/types/src/base/ui/text_button.d.ts +1 -5
  433. package/dist/types/src/base/ui/text_button.d.ts.map +1 -1
  434. package/dist/types/src/base/ui/theme/default_theme/index.d.ts +1 -1
  435. package/dist/types/src/base/ui/theme/theme_context.d.ts +1 -1
  436. package/dist/types/src/base/ui/theme/use_theme.d.ts +1 -1
  437. package/dist/types/src/base/ui/tooltip.d.ts +0 -16
  438. package/dist/types/src/base/ui/tooltip.d.ts.map +1 -1
  439. package/dist/types/src/base/ui/types/aria_props.d.ts.map +1 -1
  440. package/dist/types/src/base/ui/types/data_attributes_prop.d.ts +0 -4
  441. package/dist/types/src/base/ui/types/data_attributes_prop.d.ts.map +1 -1
  442. package/dist/types/src/base/ui/types/tooltip_anchor_props.d.ts +0 -7
  443. package/dist/types/src/base/ui/types/tooltip_anchor_props.d.ts.map +1 -1
  444. package/dist/types/src/base/ui/ui.d.ts +1 -0
  445. package/dist/types/src/base/ui/ui.d.ts.map +1 -1
  446. package/dist/types/src/base/ui/view_picker.d.ts +0 -23
  447. package/dist/types/src/base/ui/view_picker.d.ts.map +1 -1
  448. package/dist/types/src/base/ui/view_picker_synced.d.ts.map +1 -1
  449. package/dist/types/src/base/ui/viewport_constraint.d.ts +1 -14
  450. package/dist/types/src/base/ui/viewport_constraint.d.ts.map +1 -1
  451. package/dist/types/src/base/unstable_testing_utils.d.ts +1 -1
  452. package/dist/types/src/base/unstable_testing_utils.d.ts.map +1 -1
  453. package/dist/types/src/interface/assert_run_context.d.ts +2 -0
  454. package/dist/types/src/interface/assert_run_context.d.ts.map +1 -0
  455. package/dist/types/src/interface/index.d.ts +1 -6
  456. package/dist/types/src/interface/index.d.ts.map +1 -1
  457. package/dist/types/src/interface/models/models.d.ts +1 -0
  458. package/dist/types/src/interface/models/models.d.ts.map +1 -1
  459. package/dist/types/src/interface/models/mutations.d.ts.map +1 -1
  460. package/dist/types/src/interface/ui/initialize_block.d.ts.map +1 -1
  461. package/dist/types/src/interface/ui/ui.d.ts +1 -0
  462. package/dist/types/src/interface/ui/ui.d.ts.map +1 -1
  463. package/dist/types/src/interface/ui/use_custom_properties.d.ts +1 -1
  464. package/dist/types/src/shared/models/mutations_core.d.ts.map +1 -1
  465. package/dist/types/src/shared/private_utils.d.ts +0 -9
  466. package/dist/types/src/shared/private_utils.d.ts.map +1 -1
  467. package/dist/types/src/shared/ui/global_config_synced_component_helpers.d.ts +0 -2
  468. package/dist/types/src/shared/ui/global_config_synced_component_helpers.d.ts.map +1 -1
  469. package/dist/types/src/shared/ui/loader.d.ts.map +1 -1
  470. package/dist/types/src/shared/ui/with_hooks.d.ts +2 -2
  471. package/dist/types/src/shared/ui/with_hooks.d.ts.map +1 -1
  472. package/dist/types/src/testing/{abstract_mock_airtable_interface.d.ts → base/abstract_mock_airtable_interface.d.ts} +13 -13
  473. package/dist/types/src/testing/base/abstract_mock_airtable_interface.d.ts.map +1 -0
  474. package/dist/types/src/testing/interface/abstract_mock_airtable_interface.d.ts +51 -0
  475. package/dist/types/src/testing/interface/abstract_mock_airtable_interface.d.ts.map +1 -0
  476. package/models.js +1 -1
  477. package/package.json +24 -23
  478. package/types.js +1 -1
  479. package/dist/cjs/base/models/abstract_model_with_async_data.js +0 -273
  480. package/dist/cjs/base/models/base.js +0 -306
  481. package/dist/cjs/base/models/create_aggregators.js +0 -115
  482. package/dist/cjs/base/models/cursor.js +0 -393
  483. package/dist/cjs/base/models/field.js +0 -427
  484. package/dist/cjs/base/models/grouped_record_query_result.js +0 -399
  485. package/dist/cjs/base/models/linked_records_query_result.js +0 -728
  486. package/dist/cjs/base/models/mutations.js +0 -338
  487. package/dist/cjs/base/models/object_pool.js +0 -184
  488. package/dist/cjs/base/models/record.js +0 -304
  489. package/dist/cjs/base/models/record_query_result.js +0 -741
  490. package/dist/cjs/base/models/record_store.js +0 -825
  491. package/dist/cjs/base/models/session.js +0 -182
  492. package/dist/cjs/base/models/table.js +0 -668
  493. package/dist/cjs/base/models/table_or_view_query_result.js +0 -1013
  494. package/dist/cjs/base/models/view.js +0 -431
  495. package/dist/cjs/base/models/view_data_store.js +0 -403
  496. package/dist/cjs/base/models/view_metadata_query_result.js +0 -224
  497. package/dist/cjs/base/perform_record_action.js +0 -257
  498. package/dist/cjs/base/sdk.js +0 -233
  499. package/dist/cjs/base/settings_button.js +0 -138
  500. package/dist/cjs/base/ui/baymax_utils.js +0 -133
  501. package/dist/cjs/base/ui/block_wrapper.js +0 -143
  502. package/dist/cjs/base/ui/box.js +0 -110
  503. package/dist/cjs/base/ui/button.js +0 -182
  504. package/dist/cjs/base/ui/cell_renderer.js +0 -255
  505. package/dist/cjs/base/ui/choice_token.js +0 -110
  506. package/dist/cjs/base/ui/collaborator_token.js +0 -145
  507. package/dist/cjs/base/ui/color_palette.js +0 -239
  508. package/dist/cjs/base/ui/color_palette_synced.js +0 -98
  509. package/dist/cjs/base/ui/confirmation_dialog.js +0 -153
  510. package/dist/cjs/base/ui/dialog.js +0 -142
  511. package/dist/cjs/base/ui/dialog_close_button.js +0 -152
  512. package/dist/cjs/base/ui/expand_record_picker_async.js +0 -100
  513. package/dist/cjs/base/ui/field_icon.js +0 -62
  514. package/dist/cjs/base/ui/field_picker.js +0 -143
  515. package/dist/cjs/base/ui/field_picker_synced.js +0 -88
  516. package/dist/cjs/base/ui/form_field.js +0 -137
  517. package/dist/cjs/base/ui/geometry/point.js +0 -21
  518. package/dist/cjs/base/ui/geometry/rect.js +0 -67
  519. package/dist/cjs/base/ui/geometry/size.js +0 -21
  520. package/dist/cjs/base/ui/global_alert.js +0 -92
  521. package/dist/cjs/base/ui/heading.js +0 -181
  522. package/dist/cjs/base/ui/icon.js +0 -129
  523. package/dist/cjs/base/ui/input.js +0 -200
  524. package/dist/cjs/base/ui/input_synced.js +0 -89
  525. package/dist/cjs/base/ui/label.js +0 -105
  526. package/dist/cjs/base/ui/link.js +0 -229
  527. package/dist/cjs/base/ui/loader.js +0 -82
  528. package/dist/cjs/base/ui/modal.js +0 -184
  529. package/dist/cjs/base/ui/model_picker_select.js +0 -83
  530. package/dist/cjs/base/ui/popover.js +0 -407
  531. package/dist/cjs/base/ui/progress_bar.js +0 -128
  532. package/dist/cjs/base/ui/record_card.js +0 -653
  533. package/dist/cjs/base/ui/record_card_list.js +0 -377
  534. package/dist/cjs/base/ui/select.js +0 -247
  535. package/dist/cjs/base/ui/select_and_select_buttons_helpers.js +0 -87
  536. package/dist/cjs/base/ui/select_buttons.js +0 -192
  537. package/dist/cjs/base/ui/select_buttons_synced.js +0 -84
  538. package/dist/cjs/base/ui/select_synced.js +0 -87
  539. package/dist/cjs/base/ui/switch.js +0 -196
  540. package/dist/cjs/base/ui/switch_synced.js +0 -75
  541. package/dist/cjs/base/ui/synced.js +0 -70
  542. package/dist/cjs/base/ui/system/appearance/appearance_set.js +0 -30
  543. package/dist/cjs/base/ui/system/appearance/background_color.js +0 -21
  544. package/dist/cjs/base/ui/system/appearance/border_radius.js +0 -21
  545. package/dist/cjs/base/ui/system/appearance/box_shadow.js +0 -21
  546. package/dist/cjs/base/ui/system/appearance/opacity.js +0 -21
  547. package/dist/cjs/base/ui/system/dimensions/dimensions_set.js +0 -31
  548. package/dist/cjs/base/ui/system/dimensions/height.js +0 -21
  549. package/dist/cjs/base/ui/system/dimensions/max_height.js +0 -21
  550. package/dist/cjs/base/ui/system/dimensions/max_width.js +0 -21
  551. package/dist/cjs/base/ui/system/dimensions/min_height.js +0 -21
  552. package/dist/cjs/base/ui/system/dimensions/min_width.js +0 -21
  553. package/dist/cjs/base/ui/system/dimensions/width.js +0 -21
  554. package/dist/cjs/base/ui/system/display.js +0 -22
  555. package/dist/cjs/base/ui/system/flex_container/align_content.js +0 -18
  556. package/dist/cjs/base/ui/system/flex_container/align_items.js +0 -18
  557. package/dist/cjs/base/ui/system/flex_container/flex_container_set.js +0 -31
  558. package/dist/cjs/base/ui/system/flex_container/flex_direction.js +0 -18
  559. package/dist/cjs/base/ui/system/flex_container/flex_wrap.js +0 -18
  560. package/dist/cjs/base/ui/system/flex_container/justify_content.js +0 -18
  561. package/dist/cjs/base/ui/system/flex_container/justify_items.js +0 -19
  562. package/dist/cjs/base/ui/system/flex_item/align_self.js +0 -18
  563. package/dist/cjs/base/ui/system/flex_item/flex.js +0 -18
  564. package/dist/cjs/base/ui/system/flex_item/flex_basis.js +0 -18
  565. package/dist/cjs/base/ui/system/flex_item/flex_grow.js +0 -18
  566. package/dist/cjs/base/ui/system/flex_item/flex_item_set.js +0 -32
  567. package/dist/cjs/base/ui/system/flex_item/flex_shrink.js +0 -18
  568. package/dist/cjs/base/ui/system/flex_item/justify_self.js +0 -19
  569. package/dist/cjs/base/ui/system/flex_item/order.js +0 -18
  570. package/dist/cjs/base/ui/system/overflow.js +0 -24
  571. package/dist/cjs/base/ui/system/position/position.js +0 -18
  572. package/dist/cjs/base/ui/system/position/position_set.js +0 -31
  573. package/dist/cjs/base/ui/system/position/z_index.js +0 -21
  574. package/dist/cjs/base/ui/system/spacing/spacing_set.js +0 -27
  575. package/dist/cjs/base/ui/system/typography/font_family.js +0 -21
  576. package/dist/cjs/base/ui/system/typography/font_size.js +0 -21
  577. package/dist/cjs/base/ui/system/typography/font_style.js +0 -18
  578. package/dist/cjs/base/ui/system/typography/font_weight.js +0 -21
  579. package/dist/cjs/base/ui/system/typography/letter_spacing.js +0 -21
  580. package/dist/cjs/base/ui/system/typography/line_height.js +0 -18
  581. package/dist/cjs/base/ui/system/typography/text_align.js +0 -18
  582. package/dist/cjs/base/ui/system/typography/text_color.js +0 -21
  583. package/dist/cjs/base/ui/system/typography/text_decoration.js +0 -18
  584. package/dist/cjs/base/ui/system/typography/text_transform.js +0 -18
  585. package/dist/cjs/base/ui/system/typography/typography_set.js +0 -35
  586. package/dist/cjs/base/ui/system/utils/create_responsive_prop_type.js +0 -19
  587. package/dist/cjs/base/ui/system/utils/create_style_prop_types.js +0 -24
  588. package/dist/cjs/base/ui/system/utils/enum_prop_type_utils.js +0 -35
  589. package/dist/cjs/base/ui/system/utils/get_style_props_for_responsive_prop.js +0 -113
  590. package/dist/cjs/base/ui/table_picker.js +0 -95
  591. package/dist/cjs/base/ui/table_picker_synced.js +0 -84
  592. package/dist/cjs/base/ui/text.js +0 -150
  593. package/dist/cjs/base/ui/text_button.js +0 -228
  594. package/dist/cjs/base/ui/theme/default_theme/control_sizes.js +0 -96
  595. package/dist/cjs/base/ui/theme/default_theme/select_variants.js +0 -59
  596. package/dist/cjs/base/ui/theme/default_theme/switch_variants.js +0 -91
  597. package/dist/cjs/base/ui/tooltip.js +0 -215
  598. package/dist/cjs/base/ui/types/aria_props.js +0 -23
  599. package/dist/cjs/base/ui/types/data_attributes_prop.js +0 -18
  600. package/dist/cjs/base/ui/types/tooltip_anchor_props.js +0 -17
  601. package/dist/cjs/base/ui/use_styled_system.js +0 -32
  602. package/dist/cjs/base/ui/view_picker.js +0 -133
  603. package/dist/cjs/base/ui/view_picker_synced.js +0 -88
  604. package/dist/cjs/base/ui/viewport_constraint.js +0 -176
  605. package/dist/cjs/base/ui/with_styled_system.js +0 -165
  606. package/dist/cjs/base/undo_redo.js +0 -48
  607. package/dist/cjs/base/viewport.js +0 -397
  608. package/dist/cjs/injected/airtable_interface.js +0 -22
  609. package/dist/cjs/interface/index.js +0 -36
  610. package/dist/cjs/interface/models/base.js +0 -54
  611. package/dist/cjs/interface/models/field.js +0 -42
  612. package/dist/cjs/interface/models/mutations.js +0 -79
  613. package/dist/cjs/interface/models/record.js +0 -71
  614. package/dist/cjs/interface/models/record_store.js +0 -83
  615. package/dist/cjs/interface/models/session.js +0 -42
  616. package/dist/cjs/interface/models/table.js +0 -126
  617. package/dist/cjs/interface/sdk.js +0 -104
  618. package/dist/cjs/interface/types/mutations.js +0 -24
  619. package/dist/cjs/interface/ui/block_wrapper.js +0 -61
  620. package/dist/cjs/shared/global_config.js +0 -511
  621. package/dist/cjs/shared/models/abstract_model.js +0 -119
  622. package/dist/cjs/shared/models/base_core.js +0 -602
  623. package/dist/cjs/shared/models/field_core.js +0 -331
  624. package/dist/cjs/shared/models/mutations_core.js +0 -439
  625. package/dist/cjs/shared/models/record_core.js +0 -272
  626. package/dist/cjs/shared/models/record_store_core.js +0 -213
  627. package/dist/cjs/shared/models/session_core.js +0 -214
  628. package/dist/cjs/shared/models/table_core.js +0 -1561
  629. package/dist/cjs/shared/sdk_core.js +0 -115
  630. package/dist/cjs/shared/types/mutation_constants.js +0 -11
  631. package/dist/cjs/shared/ui/loader.js +0 -68
  632. package/dist/cjs/shared/watchable.js +0 -216
  633. package/dist/cjs/stats/block_stats.js +0 -96
  634. package/dist/cjs/testing/abstract_mock_airtable_interface.js +0 -277
  635. package/dist/types/src/base/ui/system/utils/create_responsive_prop_type.d.ts +0 -2
  636. package/dist/types/src/base/ui/system/utils/create_responsive_prop_type.d.ts.map +0 -1
  637. package/dist/types/src/base/ui/system/utils/create_style_prop_types.d.ts +0 -4
  638. package/dist/types/src/base/ui/system/utils/create_style_prop_types.d.ts.map +0 -1
  639. package/dist/types/src/base/ui/system/utils/enum_prop_type_utils.d.ts +0 -21
  640. package/dist/types/src/base/ui/system/utils/enum_prop_type_utils.d.ts.map +0 -1
  641. package/dist/types/src/testing/abstract_mock_airtable_interface.d.ts.map +0 -1
  642. /package/dist/{cjs → esm}/base/types/aggregators.js +0 -0
  643. /package/dist/{cjs → esm}/base/types/backend_fetch_types.js +0 -0
  644. /package/dist/{cjs → esm}/base/types/base.js +0 -0
  645. /package/dist/{cjs → esm}/base/types/cursor.js +0 -0
  646. /package/dist/{cjs → esm}/base/types/field.js +0 -0
  647. /package/dist/{cjs → esm}/base/types/record.js +0 -0
  648. /package/dist/{cjs → esm}/base/types/record_action_data.js +0 -0
  649. /package/dist/{cjs → esm}/base/types/table.js +0 -0
  650. /package/dist/{cjs → esm}/base/types/viewport.js +0 -0
  651. /package/dist/{cjs → esm}/base/ui/system/utils/csstype.js +0 -0
  652. /package/dist/{cjs → esm}/base/ui/system/utils/types.js +0 -0
  653. /package/dist/{cjs/interface/types/base.js → esm/base/ui/types/aria_props.js} +0 -0
  654. /package/dist/{cjs/interface/types/field.js → esm/base/ui/types/data_attributes_prop.js} +0 -0
  655. /package/dist/{cjs/interface/types/record.js → esm/base/ui/types/tooltip_anchor_props.js} +0 -0
  656. /package/dist/{cjs/interface/types/table.js → esm/interface/types/base.js} +0 -0
  657. /package/dist/{cjs/sdk_mode.js → esm/interface/types/field.js} +0 -0
  658. /package/dist/{cjs/shared → esm/interface}/types/record.js +0 -0
  659. /package/dist/{cjs/shared/types/airtable_interface_core.js → esm/interface/types/table.js} +0 -0
  660. /package/dist/{cjs → esm}/interface/ui/expand_record.js +0 -0
  661. /package/dist/{cjs/shared/types/attachment.js → esm/sdk_mode.js} +0 -0
  662. /package/dist/{cjs/shared/types/base_core.js → esm/shared/types/airtable_interface_core.js} +0 -0
  663. /package/dist/{cjs/shared/types/collaborator.js → esm/shared/types/attachment.js} +0 -0
  664. /package/dist/{cjs/shared/types/global_config.js → esm/shared/types/base_core.js} +0 -0
  665. /package/dist/{cjs/shared/types/hyper_ids.js → esm/shared/types/collaborator.js} +0 -0
  666. /package/dist/{cjs/shared/types/stat.js → esm/shared/types/global_config.js} +0 -0
  667. /package/dist/{cjs/shared/types/table_core.js → esm/shared/types/hyper_ids.js} +0 -0
@@ -1,825 +0,0 @@
1
- "use strict";
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.slice.js");
7
- require("core-js/modules/es.object.get-own-property-descriptors.js");
8
- require("core-js/modules/es.regexp.exec.js");
9
- require("core-js/modules/es.regexp.to-string.js");
10
- require("core-js/modules/es.weak-map.js");
11
- require("core-js/modules/web.dom-collections.for-each.js");
12
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
13
- Object.defineProperty(exports, "__esModule", {
14
- value: true
15
- });
16
- exports.default = exports.WatchableRecordStoreKeys = void 0;
17
- require("core-js/modules/es.array.filter.js");
18
- require("core-js/modules/es.array.iterator.js");
19
- require("core-js/modules/es.array.map.js");
20
- require("core-js/modules/es.object.entries.js");
21
- require("core-js/modules/es.object.to-string.js");
22
- require("core-js/modules/es.promise.js");
23
- require("core-js/modules/es.string.starts-with.js");
24
- require("core-js/modules/web.dom-collections.iterator.js");
25
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
26
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
27
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
28
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
29
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
30
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
31
- var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
32
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
33
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
34
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
35
- var _private_utils = require("../../shared/private_utils");
36
- var _error_utils = require("../../shared/error_utils");
37
- var _record_store_core = _interopRequireWildcard(require("../../shared/models/record_store_core"));
38
- var _abstract_model_with_async_data = _interopRequireDefault(require("./abstract_model_with_async_data"));
39
- var _record = _interopRequireDefault(require("./record"));
40
- var _view_data_store = _interopRequireDefault(require("./view_data_store"));
41
- 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); }
42
- 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; }
43
- 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; } } }; }
44
- 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; } }
45
- 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; }
46
- 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)); }
47
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
48
- 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; }
49
- 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; }
50
- var WatchableRecordStoreKeys = exports.WatchableRecordStoreKeys = Object.freeze(_objectSpread({}, _record_store_core.WatchableRecordStoreKeysCore));
51
-
52
- /**
53
- * The string case is to accommodate prefix keys
54
- *
55
- * @internal
56
- */
57
- /**
58
- * One RecordStore exists per table, and contains all the record data associated with that table.
59
- * Table itself is for schema information only, so isn't the appropriate place for this data.
60
- *
61
- * @internal
62
- */
63
- var RecordStore = /*#__PURE__*/function (_RecordStoreCore) {
64
- function RecordStore(sdk, tableId) {
65
- var _this;
66
- (0, _classCallCheck2.default)(this, RecordStore);
67
- _this = _callSuper(this, RecordStore, [sdk, tableId]);
68
- (0, _defineProperty2.default)(_this, "_viewDataStoresByViewId", {});
69
- (0, _defineProperty2.default)(_this, "_loader", void 0);
70
- var onChange = _this._onChange.bind(_this);
71
- var clearRecordModels = () => {
72
- _this._recordModelsById = {};
73
- };
74
- _this._loader = new RecordStoreAsyncLoader(sdk, tableId, onChange, clearRecordModels);
75
- return _this;
76
- }
77
- (0, _inherits2.default)(RecordStore, _RecordStoreCore);
78
- return (0, _createClass2.default)(RecordStore, [{
79
- key: "_constructRecord",
80
- value: function _constructRecord(recordId, parentTable) {
81
- return new _record.default(this._sdk, this, parentTable, recordId);
82
- }
83
- }, {
84
- key: "_dataOrNullIfDeleted",
85
- get: function get() {
86
- return this._loader._dataOrNullIfDeleted;
87
- }
88
- }, {
89
- key: "getViewDataStore",
90
- value: function getViewDataStore(viewId) {
91
- if (this._viewDataStoresByViewId[viewId]) {
92
- return this._viewDataStoresByViewId[viewId];
93
- }
94
- (0, _error_utils.invariant)(this._data.viewsById[viewId], 'view must exist');
95
- var viewDataStore = new _view_data_store.default(this._sdk, this, viewId);
96
- this._viewDataStoresByViewId[viewId] = viewDataStore;
97
- return viewDataStore;
98
- }
99
- }, {
100
- key: "watch",
101
- value: function watch(keys, callback, context) {
102
- var _this2 = this;
103
- var validKeys = (0, _get2.default)((0, _getPrototypeOf2.default)(RecordStore.prototype), "watch", this).call(this, keys, callback, context);
104
- var fieldIdsToLoad = this._loader._getFieldIdsToLoadFromWatchableKeys(validKeys);
105
- if (fieldIdsToLoad.length > 0) {
106
- (0, _private_utils.fireAndForgetPromise)( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
107
- return _regenerator.default.wrap(function _callee$(_context) {
108
- while (1) switch (_context.prev = _context.next) {
109
- case 0:
110
- _context.next = 2;
111
- return _this2._loader.loadCellValuesInFieldIdsAsync(fieldIdsToLoad, _this2._onChange.bind(_this2));
112
- case 2:
113
- case "end":
114
- return _context.stop();
115
- }
116
- }, _callee);
117
- })));
118
- }
119
- return validKeys;
120
- }
121
- }, {
122
- key: "unwatch",
123
- value: function unwatch(keys, callback, context) {
124
- var validKeys = (0, _get2.default)((0, _getPrototypeOf2.default)(RecordStore.prototype), "unwatch", this).call(this, keys, callback, context);
125
- var fieldIdsToUnload = this._loader._getFieldIdsToLoadFromWatchableKeys(validKeys);
126
- if (fieldIdsToUnload.length > 0) {
127
- this._loader.unloadCellValuesInFieldIds(fieldIdsToUnload);
128
- }
129
- return validKeys;
130
- }
131
-
132
- /**
133
- * The record IDs in this table. The order is arbitrary since records are
134
- * only ordered in the context of a specific view.
135
- */
136
- }, {
137
- key: "recordIds",
138
- get: function get() {
139
- var recordsById = this._data.recordsById;
140
- (0, _error_utils.invariant)(recordsById, 'Record metadata is not loaded');
141
- return Object.keys(recordsById);
142
- }
143
- }, {
144
- key: "__onDataDeletion",
145
- value: function __onDataDeletion() {
146
- // also need to call unloadCellValuesInFieldIds because otherwise
147
- // on the hyperbase side, the old record store would still be subscribed
148
- // to the cell values and it will refuse a request for new subscription
149
- for (var _i = 0, _Object$keys = Object.keys(this._loader._cellValuesRetainCountByFieldId); _i < _Object$keys.length; _i++) {
150
- var fieldId = _Object$keys[_i];
151
- while (this._loader._cellValuesRetainCountByFieldId[fieldId] && this._loader._cellValuesRetainCountByFieldId[fieldId] > 0) {
152
- this._loader.unloadCellValuesInFieldIds([fieldId]);
153
- }
154
- }
155
- this._loader._forceUnload();
156
-
157
- // similarly unsubscribe from the view data.
158
- // this comes after _forceUnload to avoid over releasing the table data.
159
- var _iterator = _createForOfIteratorHelper((0, _private_utils.values)(this._viewDataStoresByViewId)),
160
- _step;
161
- try {
162
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
163
- var viewDataStore = _step.value;
164
- viewDataStore.__onDataDeletion();
165
- }
166
- } catch (err) {
167
- _iterator.e(err);
168
- } finally {
169
- _iterator.f();
170
- }
171
- }
172
-
173
- // #region async data loading
174
- // wrapper methods over RecordStoreAsyncLoader
175
- }, {
176
- key: "isDeleted",
177
- get: function get() {
178
- return this._loader.isDeleted || (0, _get2.default)((0, _getPrototypeOf2.default)(RecordStore.prototype), "isDeleted", this);
179
- }
180
- }, {
181
- key: "isDataLoaded",
182
- get: function get() {
183
- return !this.isDeleted && this._loader.isDataLoaded;
184
- }
185
- }, {
186
- key: "loadDataAsync",
187
- value: function () {
188
- var _loadDataAsync = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
189
- return _regenerator.default.wrap(function _callee2$(_context2) {
190
- while (1) switch (_context2.prev = _context2.next) {
191
- case 0:
192
- _context2.next = 2;
193
- return this._loader.loadDataAsync();
194
- case 2:
195
- return _context2.abrupt("return", _context2.sent);
196
- case 3:
197
- case "end":
198
- return _context2.stop();
199
- }
200
- }, _callee2, this);
201
- }));
202
- function loadDataAsync() {
203
- return _loadDataAsync.apply(this, arguments);
204
- }
205
- return loadDataAsync;
206
- }()
207
- }, {
208
- key: "unloadData",
209
- value: function unloadData() {
210
- return this._loader.unloadData();
211
- }
212
- }, {
213
- key: "isRecordMetadataLoaded",
214
- get: function get() {
215
- return this._loader.isRecordMetadataLoaded;
216
- }
217
- }, {
218
- key: "loadRecordMetadataAsync",
219
- value: function () {
220
- var _loadRecordMetadataAsync = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
221
- return _regenerator.default.wrap(function _callee3$(_context3) {
222
- while (1) switch (_context3.prev = _context3.next) {
223
- case 0:
224
- _context3.next = 2;
225
- return this._loader.loadRecordMetadataAsync(this._onChange.bind(this));
226
- case 2:
227
- return _context3.abrupt("return", _context3.sent);
228
- case 3:
229
- case "end":
230
- return _context3.stop();
231
- }
232
- }, _callee3, this);
233
- }));
234
- function loadRecordMetadataAsync() {
235
- return _loadRecordMetadataAsync.apply(this, arguments);
236
- }
237
- return loadRecordMetadataAsync;
238
- }()
239
- }, {
240
- key: "unloadRecordMetadata",
241
- value: function unloadRecordMetadata() {
242
- return this._loader.unloadRecordMetadata();
243
- }
244
- }, {
245
- key: "areCellValuesLoadedForFieldId",
246
- value: function areCellValuesLoadedForFieldId(fieldId) {
247
- return this._loader.areCellValuesLoadedForFieldId(fieldId);
248
- }
249
- }, {
250
- key: "loadCellValuesInFieldIdsAsync",
251
- value: function () {
252
- var _loadCellValuesInFieldIdsAsync = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(fieldIds) {
253
- return _regenerator.default.wrap(function _callee4$(_context4) {
254
- while (1) switch (_context4.prev = _context4.next) {
255
- case 0:
256
- _context4.next = 2;
257
- return this._loader.loadCellValuesInFieldIdsAsync(fieldIds, this._onChange.bind(this));
258
- case 2:
259
- return _context4.abrupt("return", _context4.sent);
260
- case 3:
261
- case "end":
262
- return _context4.stop();
263
- }
264
- }, _callee4, this);
265
- }));
266
- function loadCellValuesInFieldIdsAsync(_x) {
267
- return _loadCellValuesInFieldIdsAsync.apply(this, arguments);
268
- }
269
- return loadCellValuesInFieldIdsAsync;
270
- }()
271
- }, {
272
- key: "unloadCellValuesInFieldIds",
273
- value: function unloadCellValuesInFieldIds(fieldIds) {
274
- return this._loader.unloadCellValuesInFieldIds(fieldIds);
275
- }
276
- // #endregion
277
- }, {
278
- key: "triggerOnChangeForDirtyPaths",
279
- value: function triggerOnChangeForDirtyPaths(dirtyPaths) {
280
- if (this.isRecordMetadataLoaded && dirtyPaths.recordsById) {
281
- (0, _get2.default)((0, _getPrototypeOf2.default)(RecordStore.prototype), "triggerOnChangeForDirtyPaths", this).call(this, dirtyPaths);
282
- }
283
- if (dirtyPaths.viewOrder) {
284
- // clean up deleted views
285
- var _iterator2 = _createForOfIteratorHelper((0, _private_utils.entries)(this._viewDataStoresByViewId)),
286
- _step2;
287
- try {
288
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
289
- var _step2$value = (0, _slicedToArray2.default)(_step2.value, 2),
290
- viewId = _step2$value[0],
291
- viewDataStore = _step2$value[1];
292
- if (viewDataStore.isDeleted) {
293
- viewDataStore.__onDataDeletion();
294
- delete this._viewDataStoresByViewId[viewId];
295
- }
296
- }
297
- } catch (err) {
298
- _iterator2.e(err);
299
- } finally {
300
- _iterator2.f();
301
- }
302
- }
303
- }
304
- }], [{
305
- key: "_isWatchableKey",
306
- value: function _isWatchableKey(key) {
307
- return (0, _private_utils.isEnumValue)(WatchableRecordStoreKeys, key) || key.startsWith(_record_store_core.WatchableCellValuesInFieldKeyPrefix);
308
- }
309
- }]);
310
- }(_record_store_core.default);
311
- /** @internal */
312
- (0, _defineProperty2.default)(RecordStore, "_className", 'RecordStore');
313
- var RecordStoreAsyncLoader = /*#__PURE__*/function (_AbstractModelWithAsy) {
314
- function RecordStoreAsyncLoader(sdk, tableId, onChange, clearRecordModels) {
315
- var _this3;
316
- (0, _classCallCheck2.default)(this, RecordStoreAsyncLoader);
317
- _this3 = _callSuper(this, RecordStoreAsyncLoader, [sdk, "".concat(tableId, "-RecordStore")]);
318
- (0, _defineProperty2.default)(_this3, "tableId", void 0);
319
- (0, _defineProperty2.default)(_this3, "_airtableInterface", void 0);
320
- (0, _defineProperty2.default)(_this3, "_primaryFieldId", void 0);
321
- (0, _defineProperty2.default)(_this3, "_onChange", void 0);
322
- (0, _defineProperty2.default)(_this3, "_clearRecordModels", void 0);
323
- // There is a lot of duplication here and in AbstractModelWithAsyncData.
324
- // Alternatively, phase out AbstractModelWithAsyncData as a superclass
325
- // and instead create a helper class for managing each part of the data
326
- // tree that is loaded.
327
- (0, _defineProperty2.default)(_this3, "_areCellValuesLoadedByFieldId", {});
328
- (0, _defineProperty2.default)(_this3, "_pendingCellValuesLoadPromiseByFieldId", {});
329
- (0, _defineProperty2.default)(_this3, "_cellValuesRetainCountByFieldId", {});
330
- (0, _defineProperty2.default)(_this3, "_timeoutForRemovingFieldIds", null);
331
- _this3._airtableInterface = sdk.__airtableInterface;
332
- _this3.tableId = tableId;
333
- _this3._onChange = onChange;
334
- _this3._clearRecordModels = clearRecordModels;
335
- // A bit of a hack, but we use the primary field ID to load record
336
- // metadata (see _getFieldIdForCausingRecordMetadataToLoad). We copy the
337
- // ID here instead of calling this.primaryField.id since that would crash
338
- // when the table is getting unloaded after being deleted.
339
- _this3._primaryFieldId = _this3._data.primaryFieldId;
340
- return _this3;
341
- }
342
- (0, _inherits2.default)(RecordStoreAsyncLoader, _AbstractModelWithAsy);
343
- return (0, _createClass2.default)(RecordStoreAsyncLoader, [{
344
- key: "_onChangeIsDataLoaded",
345
- value: function _onChangeIsDataLoaded() {
346
- // noop
347
- }
348
-
349
- /**
350
- * Record metadata means record IDs, createdTime, and commentCount are loaded.
351
- * Record metadata must be loaded before creating, deleting, or updating records.
352
- */
353
- }, {
354
- key: "isRecordMetadataLoaded",
355
- get: function get() {
356
- return !!this._data.recordsById;
357
- }
358
- }, {
359
- key: "loadRecordMetadataAsync",
360
- value: function () {
361
- var _loadRecordMetadataAsync2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(onChange) {
362
- return _regenerator.default.wrap(function _callee5$(_context5) {
363
- while (1) switch (_context5.prev = _context5.next) {
364
- case 0:
365
- _context5.next = 2;
366
- return this.loadCellValuesInFieldIdsAsync([this._getFieldIdForCausingRecordMetadataToLoad()], onChange);
367
- case 2:
368
- return _context5.abrupt("return", _context5.sent);
369
- case 3:
370
- case "end":
371
- return _context5.stop();
372
- }
373
- }, _callee5, this);
374
- }));
375
- function loadRecordMetadataAsync(_x2) {
376
- return _loadRecordMetadataAsync2.apply(this, arguments);
377
- }
378
- return loadRecordMetadataAsync;
379
- }()
380
- }, {
381
- key: "unloadRecordMetadata",
382
- value: function unloadRecordMetadata() {
383
- this.unloadCellValuesInFieldIds([this._getFieldIdForCausingRecordMetadataToLoad()]);
384
- }
385
- }, {
386
- key: "_getFieldIdsToLoadFromWatchableKeys",
387
- value: function _getFieldIdsToLoadFromWatchableKeys(keys) {
388
- var fieldIdsToLoad = [];
389
- var _iterator3 = _createForOfIteratorHelper(keys),
390
- _step3;
391
- try {
392
- for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
393
- var key = _step3.value;
394
- if (key.startsWith(_record_store_core.WatchableCellValuesInFieldKeyPrefix)) {
395
- var fieldId = key.substring(_record_store_core.WatchableCellValuesInFieldKeyPrefix.length);
396
- fieldIdsToLoad.push(fieldId);
397
- } else if (key === WatchableRecordStoreKeys.records || key === WatchableRecordStoreKeys.recordIds) {
398
- fieldIdsToLoad.push(this._getFieldIdForCausingRecordMetadataToLoad());
399
- }
400
- }
401
- } catch (err) {
402
- _iterator3.e(err);
403
- } finally {
404
- _iterator3.f();
405
- }
406
- return fieldIdsToLoad;
407
- }
408
- }, {
409
- key: "_getFieldIdForCausingRecordMetadataToLoad",
410
- value: function _getFieldIdForCausingRecordMetadataToLoad() {
411
- // As a shortcut, we'll load the primary field cell values to
412
- // cause record metadata (id, createdTime, commentCount) to be loaded
413
- // and subscribed to. In the future, we could add an explicit model
414
- // bridge to fetch and subscribe to row metadata.
415
- return this._primaryFieldId;
416
- }
417
- }, {
418
- key: "areCellValuesLoadedForFieldId",
419
- value: function areCellValuesLoadedForFieldId(fieldId) {
420
- return this.isDataLoaded || this._areCellValuesLoadedByFieldId[fieldId] || false;
421
- }
422
- }, {
423
- key: "loadCellValuesInFieldIdsAsync",
424
- value: function () {
425
- var _loadCellValuesInFieldIdsAsync2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6(fieldIds, onChange) {
426
- var fieldIdsWhichAreNotAlreadyLoadedOrLoading, pendingLoadPromises, _iterator4, _step4, _fieldId, pendingLoadPromise, loadFieldsWhichAreNotAlreadyLoadedOrLoadingPromise, _iterator5, _step5, fieldId;
427
- return _regenerator.default.wrap(function _callee6$(_context6) {
428
- while (1) switch (_context6.prev = _context6.next) {
429
- case 0:
430
- this._assertNotForceUnloaded();
431
- fieldIdsWhichAreNotAlreadyLoadedOrLoading = [];
432
- pendingLoadPromises = [];
433
- _iterator4 = _createForOfIteratorHelper(fieldIds);
434
- try {
435
- for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
436
- _fieldId = _step4.value;
437
- if (this._cellValuesRetainCountByFieldId[_fieldId] !== undefined) {
438
- this._cellValuesRetainCountByFieldId[_fieldId]++;
439
- } else {
440
- this._cellValuesRetainCountByFieldId[_fieldId] = 1;
441
- }
442
-
443
- // NOTE: we don't use this.areCellValuesLoadedForFieldId() here because
444
- // that will return true if the cell values are loaded as a result
445
- // of the entire table being loaded. In that scenario, we still
446
- // want to separately load the cell values for the field so there
447
- // is a separate subscription. Otherwise, when the table data unloads,
448
- // the field data would unload as well. This can be improved by just
449
- // subscribing to the field data without fetching it, since the cell
450
- // values are already in the block frame.
451
- if (!this._areCellValuesLoadedByFieldId[_fieldId]) {
452
- pendingLoadPromise = this._pendingCellValuesLoadPromiseByFieldId[_fieldId];
453
- if (pendingLoadPromise) {
454
- pendingLoadPromises.push(pendingLoadPromise);
455
- } else {
456
- fieldIdsWhichAreNotAlreadyLoadedOrLoading.push(_fieldId);
457
- }
458
- }
459
- }
460
- } catch (err) {
461
- _iterator4.e(err);
462
- } finally {
463
- _iterator4.f();
464
- }
465
- if (fieldIdsWhichAreNotAlreadyLoadedOrLoading.length > 0) {
466
- // Could inline _loadCellValuesInFieldIdsAsync, but following the
467
- // pattern from AbstractModelWithAsyncData where the public method
468
- // is responsible for updating retain counts and the private method
469
- // actually fetches data.
470
- loadFieldsWhichAreNotAlreadyLoadedOrLoadingPromise = this._loadCellValuesInFieldIdsAsync(fieldIdsWhichAreNotAlreadyLoadedOrLoading);
471
- pendingLoadPromises.push(loadFieldsWhichAreNotAlreadyLoadedOrLoadingPromise);
472
- _iterator5 = _createForOfIteratorHelper(fieldIdsWhichAreNotAlreadyLoadedOrLoading);
473
- try {
474
- for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
475
- fieldId = _step5.value;
476
- this._pendingCellValuesLoadPromiseByFieldId[fieldId] = loadFieldsWhichAreNotAlreadyLoadedOrLoadingPromise;
477
- }
478
- // Doing `.then` instead of performing these actions directly in
479
- // _loadCellValuesInFieldIdsAsync so this is similar to
480
- // AbstractModelWithAsyncData. The idea is to refactor to avoid code
481
- // duplication, so keeping them similar for now hopefully will make the
482
- // refactor simpler.
483
- } catch (err) {
484
- _iterator5.e(err);
485
- } finally {
486
- _iterator5.f();
487
- }
488
- loadFieldsWhichAreNotAlreadyLoadedOrLoadingPromise.then(changedKeys => {
489
- var _iterator6 = _createForOfIteratorHelper(fieldIdsWhichAreNotAlreadyLoadedOrLoading),
490
- _step6;
491
- try {
492
- for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
493
- var fieldId = _step6.value;
494
- this._areCellValuesLoadedByFieldId[fieldId] = true;
495
- this._pendingCellValuesLoadPromiseByFieldId[fieldId] = undefined;
496
- }
497
- } catch (err) {
498
- _iterator6.e(err);
499
- } finally {
500
- _iterator6.f();
501
- }
502
- var _iterator7 = _createForOfIteratorHelper(changedKeys),
503
- _step7;
504
- try {
505
- for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
506
- var key = _step7.value;
507
- onChange(key);
508
- }
509
- } catch (err) {
510
- _iterator7.e(err);
511
- } finally {
512
- _iterator7.f();
513
- }
514
- });
515
- }
516
- // Since we are incrementing fieldIds, it's necessary to restart any pending timeouts
517
- // to unload data. This is because it's possible for a timeout to fire while a queryResult
518
- // is actively unloading, and erroneously unload data. Data must be unloaded _after_ the queryResult.
519
- this._restartTimeoutToUnloadFieldIdsIfTimeoutIsActive();
520
- _context6.next = 9;
521
- return Promise.all(pendingLoadPromises);
522
- case 9:
523
- case "end":
524
- return _context6.stop();
525
- }
526
- }, _callee6, this);
527
- }));
528
- function loadCellValuesInFieldIdsAsync(_x3, _x4) {
529
- return _loadCellValuesInFieldIdsAsync2.apply(this, arguments);
530
- }
531
- return loadCellValuesInFieldIdsAsync;
532
- }()
533
- }, {
534
- key: "_loadCellValuesInFieldIdsAsync",
535
- value: function () {
536
- var _loadCellValuesInFieldIdsAsync3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7(fieldIds) {
537
- var _yield$this$_airtable, newRecordsById, existingRecordsById, _iterator8, _step8, _step8$value, recordId, newRecordObj, existingRecordObj, isCommentCountTypesSame, isCreatedTimeTypesSame, existingCellValuesByFieldId, i, fieldId, changedKeys;
538
- return _regenerator.default.wrap(function _callee7$(_context7) {
539
- while (1) switch (_context7.prev = _context7.next) {
540
- case 0:
541
- _context7.next = 2;
542
- return this._airtableInterface.fetchAndSubscribeToCellValuesInFieldsAsync(this.tableId, fieldIds);
543
- case 2:
544
- _yield$this$_airtable = _context7.sent;
545
- newRecordsById = _yield$this$_airtable.recordsById;
546
- // Merge with existing data.
547
- if (!this._data.recordsById) {
548
- this._data.recordsById = {};
549
- }
550
- existingRecordsById = this._data.recordsById;
551
- _iterator8 = _createForOfIteratorHelper((0, _private_utils.entries)((0, _private_utils.cast)(newRecordsById)));
552
- try {
553
- for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
554
- _step8$value = (0, _slicedToArray2.default)(_step8.value, 2), recordId = _step8$value[0], newRecordObj = _step8$value[1];
555
- if (!(0, _private_utils.has)(existingRecordsById, recordId)) {
556
- existingRecordsById[recordId] = newRecordObj;
557
- } else {
558
- existingRecordObj = existingRecordsById[recordId]; // Metadata (createdTime, commentCount) should generally be up to date,
559
- // but can be out of date in the rare scenario where realtime
560
- // data has not yet been delivered to the SDK, but is populated in hyperbase
561
- // at the time this new fetch is executed.
562
- // istanbul ignore next
563
- if (existingRecordObj.commentCount !== newRecordObj.commentCount) {
564
- isCommentCountTypesSame = typeof existingRecordObj.commentCount !== typeof newRecordObj.commentCount;
565
- (0, _error_utils.logErrorToSentry)('comment count out of sync - types are same: %s', {
566
- isCommentCountTypesSame
567
- });
568
- }
569
-
570
- // istanbul ignore next
571
- if (existingRecordObj.createdTime !== newRecordObj.createdTime) {
572
- isCreatedTimeTypesSame = typeof existingRecordObj.createdTime !== typeof newRecordObj.createdTime;
573
- (0, _error_utils.logErrorToSentry)('created time out of sync - types are same: %s', {
574
- isCreatedTimeTypesSame
575
- });
576
- }
577
- if (!existingRecordObj.cellValuesByFieldId) {
578
- existingRecordObj.cellValuesByFieldId = {};
579
- }
580
- existingCellValuesByFieldId = existingRecordObj.cellValuesByFieldId;
581
- for (i = 0; i < fieldIds.length; i++) {
582
- fieldId = fieldIds[i];
583
- existingCellValuesByFieldId[fieldId] = newRecordObj.cellValuesByFieldId ? newRecordObj.cellValuesByFieldId[fieldId] : undefined;
584
- }
585
- }
586
- }
587
- } catch (err) {
588
- _iterator8.e(err);
589
- } finally {
590
- _iterator8.f();
591
- }
592
- changedKeys = fieldIds.map(fieldId => _record_store_core.WatchableCellValuesInFieldKeyPrefix + fieldId); // Need to trigger onChange for records and recordIds since watching either
593
- // of those causes record metadata to be loaded (via _getFieldIdForCausingRecordMetadataToLoad)
594
- // and by convention we trigger a change event when data loads.
595
- changedKeys.push(WatchableRecordStoreKeys.records);
596
- changedKeys.push(WatchableRecordStoreKeys.recordIds);
597
- // Also trigger cellValues changes since the cell values in the fields
598
- // are now loaded.
599
- changedKeys.push(WatchableRecordStoreKeys.cellValues);
600
- return _context7.abrupt("return", changedKeys);
601
- case 13:
602
- case "end":
603
- return _context7.stop();
604
- }
605
- }, _callee7, this);
606
- }));
607
- function _loadCellValuesInFieldIdsAsync(_x5) {
608
- return _loadCellValuesInFieldIdsAsync3.apply(this, arguments);
609
- }
610
- return _loadCellValuesInFieldIdsAsync;
611
- }()
612
- }, {
613
- key: "unloadCellValuesInFieldIds",
614
- value: function unloadCellValuesInFieldIds(fieldIds) {
615
- if (this._isForceUnloaded) {
616
- return;
617
- }
618
- var _iterator9 = _createForOfIteratorHelper(fieldIds),
619
- _step9;
620
- try {
621
- for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
622
- var fieldId = _step9.value;
623
- var fieldRetainCount = this._cellValuesRetainCountByFieldId[fieldId] || 0;
624
- fieldRetainCount--;
625
- if (fieldRetainCount < 0) {
626
- console.log('Field data over-released'); // eslint-disable-line no-console
627
- fieldRetainCount = 0;
628
- }
629
- this._cellValuesRetainCountByFieldId[fieldId] = fieldRetainCount;
630
- }
631
- // Don't unload immediately. Wait a while in case something else
632
- // requests the data, so we can avoid going back to liveapp or
633
- // the network.
634
- } catch (err) {
635
- _iterator9.e(err);
636
- } finally {
637
- _iterator9.f();
638
- }
639
- this._startTimeoutToUnloadForFieldIdsIfNeeded();
640
- }
641
-
642
- // This unloads all fields where the retain count is at zero, and if any other
643
- // request to unload fields is pending - cancels it and restarts it.
644
- // This is important because fields must always be unloaded at least __DATA_UNLOAD_DELAY_MS
645
- // after the unload is requested so that any QueryResults relying on them properly
646
- // unload either first, or at the same time
647
- }, {
648
- key: "_startTimeoutToUnloadForFieldIdsIfNeeded",
649
- value: function _startTimeoutToUnloadForFieldIdsIfNeeded() {
650
- var fieldIdsWithZeroRetainCount = [];
651
- for (var _i2 = 0, _Object$entries = Object.entries(this._cellValuesRetainCountByFieldId); _i2 < _Object$entries.length; _i2++) {
652
- var _Object$entries$_i = (0, _slicedToArray2.default)(_Object$entries[_i2], 2),
653
- fieldId = _Object$entries$_i[0],
654
- retainCount = _Object$entries$_i[1];
655
- if (retainCount === 0) {
656
- fieldIdsWithZeroRetainCount.push(fieldId);
657
- }
658
- }
659
-
660
- // Cancel any pending timeouts before proceeding
661
- // This should be canceled even if there aren't any fields to unload as that means
662
- // that there has been loading that's occured that makes the pending request invalid
663
- if (this._timeoutForRemovingFieldIds) {
664
- clearTimeout(this._timeoutForRemovingFieldIds);
665
- this._timeoutForRemovingFieldIds = null;
666
- }
667
- if (fieldIdsWithZeroRetainCount.length > 0) {
668
- this._timeoutForRemovingFieldIds = setTimeout(() => {
669
- // Make sure the retain count is still zero, since it may
670
- // have been incremented before the timeout fired.
671
- var fieldIdsToUnload = fieldIdsWithZeroRetainCount.filter(fieldId => {
672
- // It's necessary to also check that the field is loaded, as it's possible
673
- // for an unload to trigger with fields that have already been removed.
674
- return this._cellValuesRetainCountByFieldId[fieldId] === 0 && this._areCellValuesLoadedByFieldId[fieldId];
675
- });
676
- // istanbul ignore else
677
- if (fieldIdsToUnload.length > 0) {
678
- // Set _areCellValuesLoadedByFieldId to false before calling _unloadCellValuesInFieldIds
679
- // since _unloadCellValuesInFieldIds will check if *any* fields are still loaded.
680
- var _iterator10 = _createForOfIteratorHelper(fieldIdsToUnload),
681
- _step10;
682
- try {
683
- for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {
684
- var _fieldId2 = _step10.value;
685
- this._areCellValuesLoadedByFieldId[_fieldId2] = false;
686
- }
687
- } catch (err) {
688
- _iterator10.e(err);
689
- } finally {
690
- _iterator10.f();
691
- }
692
- this._unloadCellValuesInFieldIds(fieldIdsToUnload);
693
- } else {
694
- // This shouldn't be possible because we always cancel the timer if fieldIds loadedness
695
- // status ever changes
696
- (0, _error_utils.logErrorToSentry)('fieldIdsToUnload is empty, this likely means the unload timer is not properly reset.');
697
- }
698
- this._timeoutForRemovingFieldIds = null;
699
- }, _abstract_model_with_async_data.default.__DATA_UNLOAD_DELAY_MS);
700
- }
701
- }
702
- }, {
703
- key: "_restartTimeoutToUnloadFieldIdsIfTimeoutIsActive",
704
- value: function _restartTimeoutToUnloadFieldIdsIfTimeoutIsActive() {
705
- if (this._timeoutForRemovingFieldIds) {
706
- this._startTimeoutToUnloadForFieldIdsIfNeeded();
707
- }
708
- }
709
- }, {
710
- key: "_unloadCellValuesInFieldIds",
711
- value: function _unloadCellValuesInFieldIds(fieldIds) {
712
- this._airtableInterface.unsubscribeFromCellValuesInFields(this.tableId, fieldIds);
713
- this._afterUnloadDataOrUnloadCellValuesInFieldIds(fieldIds);
714
- }
715
- }, {
716
- key: "_loadDataAsync",
717
- value: function () {
718
- var _loadDataAsync2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8() {
719
- var tableData, changedKeys, _iterator11, _step11, fieldId;
720
- return _regenerator.default.wrap(function _callee8$(_context8) {
721
- while (1) switch (_context8.prev = _context8.next) {
722
- case 0:
723
- _context8.next = 2;
724
- return this._airtableInterface.fetchAndSubscribeToTableDataAsync(this.tableId);
725
- case 2:
726
- tableData = _context8.sent;
727
- this._data.recordsById = tableData.recordsById;
728
- changedKeys = [WatchableRecordStoreKeys.records, WatchableRecordStoreKeys.recordIds, WatchableRecordStoreKeys.cellValues];
729
- _iterator11 = _createForOfIteratorHelper((0, _private_utils.keys)(this._data.fieldsById));
730
- try {
731
- for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {
732
- fieldId = _step11.value;
733
- changedKeys.push(_record_store_core.WatchableCellValuesInFieldKeyPrefix + fieldId);
734
- }
735
- } catch (err) {
736
- _iterator11.e(err);
737
- } finally {
738
- _iterator11.f();
739
- }
740
- return _context8.abrupt("return", changedKeys);
741
- case 8:
742
- case "end":
743
- return _context8.stop();
744
- }
745
- }, _callee8, this);
746
- }));
747
- function _loadDataAsync() {
748
- return _loadDataAsync2.apply(this, arguments);
749
- }
750
- return _loadDataAsync;
751
- }()
752
- }, {
753
- key: "_unloadData",
754
- value: function _unloadData() {
755
- this._airtableInterface.unsubscribeFromTableData(this.tableId);
756
- this._afterUnloadDataOrUnloadCellValuesInFieldIds();
757
- }
758
- }, {
759
- key: "_afterUnloadDataOrUnloadCellValuesInFieldIds",
760
- value: function _afterUnloadDataOrUnloadCellValuesInFieldIds(unloadedFieldIds) {
761
- var areAnyFieldsLoaded = this.isDataLoaded || (0, _private_utils.values)(this._areCellValuesLoadedByFieldId).some(isLoaded => isLoaded);
762
- if (!this.isDeleted) {
763
- if (!areAnyFieldsLoaded) {
764
- this._data.recordsById = undefined;
765
- } else if (!this.isDataLoaded) {
766
- var fieldIdsToClear;
767
- // This should be impossible - for fields should always be loaded
768
- // when attempting to unload specific fields. This codepath was previously possible
769
- // due to a bug. It could be converted to an invariant, but that is higher risk.
770
- // istanbul ignore if
771
- if (unloadedFieldIds) {
772
- // Specific fields were unloaded, so clear out the cell values for those fields.
773
- fieldIdsToClear = unloadedFieldIds;
774
- (0, _error_utils.logErrorToSentry)('Field Ids are being unloaded when record_store is unloaded');
775
- } else {
776
- // The entire table was unloaded, but some individual fields are still loaded.
777
- // We need to clear out the cell values of every field that was unloaded.
778
- // This is kind of slow, but hopefully uncommon.
779
- var fieldIds = Object.keys(this._data.fieldsById);
780
- fieldIdsToClear = fieldIds.filter(fieldId => !this._areCellValuesLoadedByFieldId[fieldId]);
781
- }
782
- var recordsById = this._data.recordsById;
783
- var _iterator12 = _createForOfIteratorHelper((0, _private_utils.values)(recordsById || {})),
784
- _step12;
785
- try {
786
- for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {
787
- var recordObj = _step12.value;
788
- for (var i = 0; i < fieldIdsToClear.length; i++) {
789
- var fieldId = fieldIdsToClear[i];
790
- if (recordObj.cellValuesByFieldId) {
791
- recordObj.cellValuesByFieldId[fieldId] = undefined;
792
- }
793
- }
794
- }
795
- } catch (err) {
796
- _iterator12.e(err);
797
- } finally {
798
- _iterator12.f();
799
- }
800
- }
801
- }
802
- if (!areAnyFieldsLoaded) {
803
- this._clearRecordModels();
804
- }
805
- }
806
- }, {
807
- key: "_dataOrNullIfDeleted",
808
- get: function get() {
809
- var _this$_baseData$table;
810
- return (_this$_baseData$table = this._baseData.tablesById[this.tableId]) !== null && _this$_baseData$table !== void 0 ? _this$_baseData$table : null;
811
- }
812
- }], [{
813
- key: "_shouldLoadDataForKey",
814
- value: function _shouldLoadDataForKey(key) {
815
- // "Data" means *all* cell values in the table. If only watching records/recordIds,
816
- // we'll just load record metadata (id, createdTime, commentCount).
817
- // If only watching specific fields, we'll just load cell values in those
818
- // fields. Both of those scenarios are handled manually by this class,
819
- // instead of relying on AbstractModelWithAsyncData.
820
- return key === WatchableRecordStoreKeys.cellValues;
821
- }
822
- }]);
823
- }(_abstract_model_with_async_data.default);
824
- /** @internal */
825
- var _default = exports.default = RecordStore;