@airtable/blocks 0.0.0-experimental-c4b2228f4-20250630 → 0.0.0-experimental-3649c7162-20250904

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (679) 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 +17 -44
  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/models/table.d.ts.map +1 -1
  461. package/dist/types/src/interface/types/field.d.ts +6 -0
  462. package/dist/types/src/interface/types/field.d.ts.map +1 -1
  463. package/dist/types/src/interface/ui/initialize_block.d.ts.map +1 -1
  464. package/dist/types/src/interface/ui/ui.d.ts +1 -0
  465. package/dist/types/src/interface/ui/ui.d.ts.map +1 -1
  466. package/dist/types/src/interface/ui/use_custom_properties.d.ts +1 -1
  467. package/dist/types/src/shared/models/field_core.d.ts +3 -1
  468. package/dist/types/src/shared/models/field_core.d.ts.map +1 -1
  469. package/dist/types/src/shared/models/mutations_core.d.ts.map +1 -1
  470. package/dist/types/src/shared/models/table_core.d.ts.map +1 -1
  471. package/dist/types/src/shared/private_utils.d.ts +0 -9
  472. package/dist/types/src/shared/private_utils.d.ts.map +1 -1
  473. package/dist/types/src/shared/types/field_core.d.ts +19 -1
  474. package/dist/types/src/shared/types/field_core.d.ts.map +1 -1
  475. package/dist/types/src/shared/types/mutations_core.d.ts +8 -4
  476. package/dist/types/src/shared/types/mutations_core.d.ts.map +1 -1
  477. package/dist/types/src/shared/ui/global_config_synced_component_helpers.d.ts +0 -2
  478. package/dist/types/src/shared/ui/global_config_synced_component_helpers.d.ts.map +1 -1
  479. package/dist/types/src/shared/ui/loader.d.ts.map +1 -1
  480. package/dist/types/src/shared/ui/use_watchable.d.ts +4 -2
  481. package/dist/types/src/shared/ui/use_watchable.d.ts.map +1 -1
  482. package/dist/types/src/shared/ui/with_hooks.d.ts +2 -2
  483. package/dist/types/src/shared/ui/with_hooks.d.ts.map +1 -1
  484. package/dist/types/src/testing/{abstract_mock_airtable_interface.d.ts → base/abstract_mock_airtable_interface.d.ts} +13 -13
  485. package/dist/types/src/testing/base/abstract_mock_airtable_interface.d.ts.map +1 -0
  486. package/dist/types/src/testing/interface/abstract_mock_airtable_interface.d.ts +51 -0
  487. package/dist/types/src/testing/interface/abstract_mock_airtable_interface.d.ts.map +1 -0
  488. package/models.js +1 -1
  489. package/package.json +24 -23
  490. package/types.js +1 -1
  491. package/dist/cjs/base/models/abstract_model_with_async_data.js +0 -273
  492. package/dist/cjs/base/models/base.js +0 -306
  493. package/dist/cjs/base/models/create_aggregators.js +0 -115
  494. package/dist/cjs/base/models/cursor.js +0 -393
  495. package/dist/cjs/base/models/field.js +0 -427
  496. package/dist/cjs/base/models/grouped_record_query_result.js +0 -399
  497. package/dist/cjs/base/models/linked_records_query_result.js +0 -728
  498. package/dist/cjs/base/models/mutations.js +0 -338
  499. package/dist/cjs/base/models/object_pool.js +0 -184
  500. package/dist/cjs/base/models/record.js +0 -304
  501. package/dist/cjs/base/models/record_query_result.js +0 -741
  502. package/dist/cjs/base/models/record_store.js +0 -825
  503. package/dist/cjs/base/models/session.js +0 -182
  504. package/dist/cjs/base/models/table.js +0 -668
  505. package/dist/cjs/base/models/table_or_view_query_result.js +0 -1013
  506. package/dist/cjs/base/models/view.js +0 -431
  507. package/dist/cjs/base/models/view_data_store.js +0 -403
  508. package/dist/cjs/base/models/view_metadata_query_result.js +0 -224
  509. package/dist/cjs/base/perform_record_action.js +0 -257
  510. package/dist/cjs/base/sdk.js +0 -233
  511. package/dist/cjs/base/settings_button.js +0 -138
  512. package/dist/cjs/base/ui/baymax_utils.js +0 -133
  513. package/dist/cjs/base/ui/block_wrapper.js +0 -143
  514. package/dist/cjs/base/ui/box.js +0 -110
  515. package/dist/cjs/base/ui/button.js +0 -182
  516. package/dist/cjs/base/ui/cell_renderer.js +0 -255
  517. package/dist/cjs/base/ui/choice_token.js +0 -110
  518. package/dist/cjs/base/ui/collaborator_token.js +0 -145
  519. package/dist/cjs/base/ui/color_palette.js +0 -239
  520. package/dist/cjs/base/ui/color_palette_synced.js +0 -98
  521. package/dist/cjs/base/ui/confirmation_dialog.js +0 -153
  522. package/dist/cjs/base/ui/dialog.js +0 -142
  523. package/dist/cjs/base/ui/dialog_close_button.js +0 -152
  524. package/dist/cjs/base/ui/expand_record_picker_async.js +0 -100
  525. package/dist/cjs/base/ui/field_icon.js +0 -62
  526. package/dist/cjs/base/ui/field_picker.js +0 -143
  527. package/dist/cjs/base/ui/field_picker_synced.js +0 -88
  528. package/dist/cjs/base/ui/form_field.js +0 -137
  529. package/dist/cjs/base/ui/geometry/point.js +0 -21
  530. package/dist/cjs/base/ui/geometry/rect.js +0 -67
  531. package/dist/cjs/base/ui/geometry/size.js +0 -21
  532. package/dist/cjs/base/ui/global_alert.js +0 -92
  533. package/dist/cjs/base/ui/heading.js +0 -181
  534. package/dist/cjs/base/ui/icon.js +0 -129
  535. package/dist/cjs/base/ui/input.js +0 -200
  536. package/dist/cjs/base/ui/input_synced.js +0 -89
  537. package/dist/cjs/base/ui/label.js +0 -105
  538. package/dist/cjs/base/ui/link.js +0 -229
  539. package/dist/cjs/base/ui/loader.js +0 -82
  540. package/dist/cjs/base/ui/modal.js +0 -184
  541. package/dist/cjs/base/ui/model_picker_select.js +0 -83
  542. package/dist/cjs/base/ui/popover.js +0 -407
  543. package/dist/cjs/base/ui/progress_bar.js +0 -128
  544. package/dist/cjs/base/ui/record_card.js +0 -653
  545. package/dist/cjs/base/ui/record_card_list.js +0 -377
  546. package/dist/cjs/base/ui/select.js +0 -247
  547. package/dist/cjs/base/ui/select_and_select_buttons_helpers.js +0 -87
  548. package/dist/cjs/base/ui/select_buttons.js +0 -192
  549. package/dist/cjs/base/ui/select_buttons_synced.js +0 -84
  550. package/dist/cjs/base/ui/select_synced.js +0 -87
  551. package/dist/cjs/base/ui/switch.js +0 -196
  552. package/dist/cjs/base/ui/switch_synced.js +0 -75
  553. package/dist/cjs/base/ui/synced.js +0 -70
  554. package/dist/cjs/base/ui/system/appearance/appearance_set.js +0 -30
  555. package/dist/cjs/base/ui/system/appearance/background_color.js +0 -21
  556. package/dist/cjs/base/ui/system/appearance/border_radius.js +0 -21
  557. package/dist/cjs/base/ui/system/appearance/box_shadow.js +0 -21
  558. package/dist/cjs/base/ui/system/appearance/opacity.js +0 -21
  559. package/dist/cjs/base/ui/system/dimensions/dimensions_set.js +0 -31
  560. package/dist/cjs/base/ui/system/dimensions/height.js +0 -21
  561. package/dist/cjs/base/ui/system/dimensions/max_height.js +0 -21
  562. package/dist/cjs/base/ui/system/dimensions/max_width.js +0 -21
  563. package/dist/cjs/base/ui/system/dimensions/min_height.js +0 -21
  564. package/dist/cjs/base/ui/system/dimensions/min_width.js +0 -21
  565. package/dist/cjs/base/ui/system/dimensions/width.js +0 -21
  566. package/dist/cjs/base/ui/system/display.js +0 -22
  567. package/dist/cjs/base/ui/system/flex_container/align_content.js +0 -18
  568. package/dist/cjs/base/ui/system/flex_container/align_items.js +0 -18
  569. package/dist/cjs/base/ui/system/flex_container/flex_container_set.js +0 -31
  570. package/dist/cjs/base/ui/system/flex_container/flex_direction.js +0 -18
  571. package/dist/cjs/base/ui/system/flex_container/flex_wrap.js +0 -18
  572. package/dist/cjs/base/ui/system/flex_container/justify_content.js +0 -18
  573. package/dist/cjs/base/ui/system/flex_container/justify_items.js +0 -19
  574. package/dist/cjs/base/ui/system/flex_item/align_self.js +0 -18
  575. package/dist/cjs/base/ui/system/flex_item/flex.js +0 -18
  576. package/dist/cjs/base/ui/system/flex_item/flex_basis.js +0 -18
  577. package/dist/cjs/base/ui/system/flex_item/flex_grow.js +0 -18
  578. package/dist/cjs/base/ui/system/flex_item/flex_item_set.js +0 -32
  579. package/dist/cjs/base/ui/system/flex_item/flex_shrink.js +0 -18
  580. package/dist/cjs/base/ui/system/flex_item/justify_self.js +0 -19
  581. package/dist/cjs/base/ui/system/flex_item/order.js +0 -18
  582. package/dist/cjs/base/ui/system/overflow.js +0 -24
  583. package/dist/cjs/base/ui/system/position/position.js +0 -18
  584. package/dist/cjs/base/ui/system/position/position_set.js +0 -31
  585. package/dist/cjs/base/ui/system/position/z_index.js +0 -21
  586. package/dist/cjs/base/ui/system/spacing/spacing_set.js +0 -27
  587. package/dist/cjs/base/ui/system/typography/font_family.js +0 -21
  588. package/dist/cjs/base/ui/system/typography/font_size.js +0 -21
  589. package/dist/cjs/base/ui/system/typography/font_style.js +0 -18
  590. package/dist/cjs/base/ui/system/typography/font_weight.js +0 -21
  591. package/dist/cjs/base/ui/system/typography/letter_spacing.js +0 -21
  592. package/dist/cjs/base/ui/system/typography/line_height.js +0 -18
  593. package/dist/cjs/base/ui/system/typography/text_align.js +0 -18
  594. package/dist/cjs/base/ui/system/typography/text_color.js +0 -21
  595. package/dist/cjs/base/ui/system/typography/text_decoration.js +0 -18
  596. package/dist/cjs/base/ui/system/typography/text_transform.js +0 -18
  597. package/dist/cjs/base/ui/system/typography/typography_set.js +0 -35
  598. package/dist/cjs/base/ui/system/utils/create_responsive_prop_type.js +0 -19
  599. package/dist/cjs/base/ui/system/utils/create_style_prop_types.js +0 -24
  600. package/dist/cjs/base/ui/system/utils/enum_prop_type_utils.js +0 -35
  601. package/dist/cjs/base/ui/system/utils/get_style_props_for_responsive_prop.js +0 -113
  602. package/dist/cjs/base/ui/table_picker.js +0 -95
  603. package/dist/cjs/base/ui/table_picker_synced.js +0 -84
  604. package/dist/cjs/base/ui/text.js +0 -150
  605. package/dist/cjs/base/ui/text_button.js +0 -228
  606. package/dist/cjs/base/ui/theme/default_theme/control_sizes.js +0 -96
  607. package/dist/cjs/base/ui/theme/default_theme/select_variants.js +0 -59
  608. package/dist/cjs/base/ui/theme/default_theme/switch_variants.js +0 -91
  609. package/dist/cjs/base/ui/tooltip.js +0 -215
  610. package/dist/cjs/base/ui/types/aria_props.js +0 -23
  611. package/dist/cjs/base/ui/types/data_attributes_prop.js +0 -18
  612. package/dist/cjs/base/ui/types/tooltip_anchor_props.js +0 -17
  613. package/dist/cjs/base/ui/use_styled_system.js +0 -32
  614. package/dist/cjs/base/ui/view_picker.js +0 -133
  615. package/dist/cjs/base/ui/view_picker_synced.js +0 -88
  616. package/dist/cjs/base/ui/viewport_constraint.js +0 -176
  617. package/dist/cjs/base/ui/with_styled_system.js +0 -165
  618. package/dist/cjs/base/undo_redo.js +0 -48
  619. package/dist/cjs/base/viewport.js +0 -397
  620. package/dist/cjs/injected/airtable_interface.js +0 -22
  621. package/dist/cjs/interface/index.js +0 -36
  622. package/dist/cjs/interface/models/base.js +0 -54
  623. package/dist/cjs/interface/models/field.js +0 -42
  624. package/dist/cjs/interface/models/mutations.js +0 -79
  625. package/dist/cjs/interface/models/record.js +0 -71
  626. package/dist/cjs/interface/models/record_store.js +0 -83
  627. package/dist/cjs/interface/models/session.js +0 -42
  628. package/dist/cjs/interface/models/table.js +0 -92
  629. package/dist/cjs/interface/sdk.js +0 -104
  630. package/dist/cjs/interface/types/mutations.js +0 -24
  631. package/dist/cjs/interface/ui/block_wrapper.js +0 -61
  632. package/dist/cjs/shared/global_config.js +0 -511
  633. package/dist/cjs/shared/models/abstract_model.js +0 -119
  634. package/dist/cjs/shared/models/base_core.js +0 -602
  635. package/dist/cjs/shared/models/field_core.js +0 -329
  636. package/dist/cjs/shared/models/mutations_core.js +0 -439
  637. package/dist/cjs/shared/models/record_core.js +0 -272
  638. package/dist/cjs/shared/models/record_store_core.js +0 -213
  639. package/dist/cjs/shared/models/session_core.js +0 -214
  640. package/dist/cjs/shared/models/table_core.js +0 -1530
  641. package/dist/cjs/shared/sdk_core.js +0 -115
  642. package/dist/cjs/shared/types/mutation_constants.js +0 -11
  643. package/dist/cjs/shared/ui/loader.js +0 -68
  644. package/dist/cjs/shared/watchable.js +0 -216
  645. package/dist/cjs/stats/block_stats.js +0 -96
  646. package/dist/cjs/testing/abstract_mock_airtable_interface.js +0 -277
  647. package/dist/types/src/base/ui/system/utils/create_responsive_prop_type.d.ts +0 -2
  648. package/dist/types/src/base/ui/system/utils/create_responsive_prop_type.d.ts.map +0 -1
  649. package/dist/types/src/base/ui/system/utils/create_style_prop_types.d.ts +0 -4
  650. package/dist/types/src/base/ui/system/utils/create_style_prop_types.d.ts.map +0 -1
  651. package/dist/types/src/base/ui/system/utils/enum_prop_type_utils.d.ts +0 -21
  652. package/dist/types/src/base/ui/system/utils/enum_prop_type_utils.d.ts.map +0 -1
  653. package/dist/types/src/testing/abstract_mock_airtable_interface.d.ts.map +0 -1
  654. /package/dist/{cjs → esm}/base/types/aggregators.js +0 -0
  655. /package/dist/{cjs → esm}/base/types/backend_fetch_types.js +0 -0
  656. /package/dist/{cjs → esm}/base/types/base.js +0 -0
  657. /package/dist/{cjs → esm}/base/types/cursor.js +0 -0
  658. /package/dist/{cjs → esm}/base/types/field.js +0 -0
  659. /package/dist/{cjs → esm}/base/types/record.js +0 -0
  660. /package/dist/{cjs → esm}/base/types/record_action_data.js +0 -0
  661. /package/dist/{cjs → esm}/base/types/table.js +0 -0
  662. /package/dist/{cjs → esm}/base/types/viewport.js +0 -0
  663. /package/dist/{cjs → esm}/base/ui/system/utils/csstype.js +0 -0
  664. /package/dist/{cjs → esm}/base/ui/system/utils/types.js +0 -0
  665. /package/dist/{cjs/interface/types/base.js → esm/base/ui/types/aria_props.js} +0 -0
  666. /package/dist/{cjs/interface/types/field.js → esm/base/ui/types/data_attributes_prop.js} +0 -0
  667. /package/dist/{cjs/interface/types/record.js → esm/base/ui/types/tooltip_anchor_props.js} +0 -0
  668. /package/dist/{cjs/interface/types/table.js → esm/interface/types/base.js} +0 -0
  669. /package/dist/{cjs/sdk_mode.js → esm/interface/types/field.js} +0 -0
  670. /package/dist/{cjs/shared → esm/interface}/types/record.js +0 -0
  671. /package/dist/{cjs/shared/types/airtable_interface_core.js → esm/interface/types/table.js} +0 -0
  672. /package/dist/{cjs → esm}/interface/ui/expand_record.js +0 -0
  673. /package/dist/{cjs/shared/types/attachment.js → esm/sdk_mode.js} +0 -0
  674. /package/dist/{cjs/shared/types/base_core.js → esm/shared/types/airtable_interface_core.js} +0 -0
  675. /package/dist/{cjs/shared/types/collaborator.js → esm/shared/types/attachment.js} +0 -0
  676. /package/dist/{cjs/shared/types/global_config.js → esm/shared/types/base_core.js} +0 -0
  677. /package/dist/{cjs/shared/types/hyper_ids.js → esm/shared/types/collaborator.js} +0 -0
  678. /package/dist/{cjs/shared/types/stat.js → esm/shared/types/global_config.js} +0 -0
  679. /package/dist/{cjs/shared/types/table_core.js → esm/shared/types/hyper_ids.js} +0 -0
@@ -1,728 +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.regexp.exec.js");
7
- require("core-js/modules/es.regexp.to-string.js");
8
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
9
- Object.defineProperty(exports, "__esModule", {
10
- value: true
11
- });
12
- exports.getLinkedTableId = exports.default = void 0;
13
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
14
- require("core-js/modules/es.array.concat.js");
15
- require("core-js/modules/es.array.filter.js");
16
- require("core-js/modules/es.array.iterator.js");
17
- require("core-js/modules/es.array.map.js");
18
- require("core-js/modules/es.array.slice.js");
19
- require("core-js/modules/es.object.to-string.js");
20
- require("core-js/modules/es.promise.js");
21
- require("core-js/modules/es.string.starts-with.js");
22
- require("core-js/modules/web.dom-collections.iterator.js");
23
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
24
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
25
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
26
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
27
- var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
28
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
29
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
30
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
31
- var _field_core = require("../../shared/types/field_core");
32
- var _error_utils = require("../../shared/error_utils");
33
- var _record_query_result = _interopRequireDefault(require("./record_query_result"));
34
- 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; } } }; }
35
- 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; } }
36
- 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; }
37
- 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)); }
38
- 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: RecordQueryResult */ /** */
39
- var getLinkedTableId = field => {
40
- var options = field.options;
41
- var linkedTableId = options && options.linkedTableId;
42
- (0, _error_utils.invariant)(typeof linkedTableId === 'string', 'linkedTableId must exist');
43
- return linkedTableId;
44
- };
45
-
46
- /** internal */
47
- exports.getLinkedTableId = getLinkedTableId;
48
- /**
49
- * Represents a set of records from a LinkedRecord cell value. See {@link RecordQueryResult} for main
50
- * documentation.
51
- *
52
- * Do not instantiate. You can get instances of this class by calling
53
- * `record.selectLinkedRecordsFromCell`.
54
- *
55
- * @docsPath models/query results/LinkedRecordsQueryResult
56
- */
57
- var LinkedRecordsQueryResult = /*#__PURE__*/function (_RecordQueryResult) {
58
- /** @internal */
59
- function LinkedRecordsQueryResult(record, field, normalizedOpts, sdk) {
60
- var _this;
61
- (0, _classCallCheck2.default)(this, LinkedRecordsQueryResult);
62
- _this = _callSuper(this, LinkedRecordsQueryResult, [sdk, normalizedOpts]);
63
- // the record containing the linked-record cell this is a query of.
64
- /** @internal */
65
- (0, _defineProperty2.default)(_this, "_record", void 0);
66
- // the cell's field in the record
67
- /** @internal */
68
- (0, _defineProperty2.default)(_this, "_field", void 0);
69
- // the table we're linking to
70
- /** @internal */
71
- (0, _defineProperty2.default)(_this, "_linkedTable", void 0);
72
- // the records store for the origin table
73
- /** @internal */
74
- (0, _defineProperty2.default)(_this, "_originRecordStore", void 0);
75
- // the records store for the linked table
76
- /** @internal */
77
- (0, _defineProperty2.default)(_this, "_linkedRecordStore", void 0);
78
- // a RecordQueryResult containing all the rows in the linked table
79
- /** @internal */
80
- (0, _defineProperty2.default)(_this, "_linkedQueryResult", void 0);
81
- // is the query result currently valid. if the field config changes to link
82
- // to another table or not be a linked record field at all, isValid will
83
- // become false. once a LinkedRecordsQueryResult has become invalid, it will
84
- // not become valid again.
85
- /** @internal */
86
- (0, _defineProperty2.default)(_this, "_isValid", true);
87
- // a lazily-generated set of the record ids in the result set.
88
- /** @internal */
89
- (0, _defineProperty2.default)(_this, "_computedRecordIdsSet", null);
90
- // a lazily-generated array of the record ids in the query result.
91
- /** @internal */
92
- (0, _defineProperty2.default)(_this, "_computedFilteredSortedRecordIds", null);
93
- // how many times has each 'cellValuesInField:$FieldId' been watched?
94
- /** @internal */
95
- (0, _defineProperty2.default)(_this, "_cellValueChangeHandlerByFieldId", {});
96
- (0, _error_utils.invariant)(record.parentTable === field.parentTable, 'record and field must belong to the same table');
97
- _this._record = record;
98
- _this._field = field;
99
- _this._linkedTable = normalizedOpts.table;
100
- _this._originRecordStore = _this._sdk.base.__getRecordStore(_this._record.parentTable.id);
101
- _this._linkedRecordStore = normalizedOpts.recordStore;
102
-
103
- // we could rely on RecordQueryResult's reuse pool to make sure we get back
104
- // the same RecordQueryResult every time, but that would make it much harder
105
- // to make sure we unwatch everything from the old RecordQueryResult if e.g.
106
- // the field config changes to point at a different table
107
- _this._linkedQueryResult = _this._linkedTable.__tableOrViewQueryResultPool.getObjectForReuse(_this._sdk, _this._linkedTable, normalizedOpts);
108
- return _this;
109
- }
110
-
111
- /**
112
- * Is the query result currently valid? This value always starts as 'true',
113
- * but can become false if the record from which this result was created is
114
- * deleted, if the field is deleted, if the field config changes to link to
115
- * a different table, or if the field config changes to link to a type
116
- * other than MULTIPLE_RECORD_LINKS. Once `isValid` has become false, it
117
- * will never become true again. Many fields will throw on attempting to
118
- * access them, and watches will no longer fire.
119
- */
120
- (0, _inherits2.default)(LinkedRecordsQueryResult, _RecordQueryResult);
121
- return (0, _createClass2.default)(LinkedRecordsQueryResult, [{
122
- key: "isValid",
123
- get: function get() {
124
- return this._isValid;
125
- }
126
-
127
- /**
128
- * The table that records in this RecordQueryResult are part of
129
- *
130
- * @internal (since we may not be able to return parent model instances in the immutable models world)
131
- */
132
- }, {
133
- key: "parentTable",
134
- get: function get() {
135
- (0, _error_utils.invariant)(this.isValid, 'LinkedRecordsQueryResult is no longer valid');
136
- return this._linkedTable;
137
- }
138
-
139
- /**
140
- * Ordered array of all the linked record ids. Watchable.
141
- */
142
- }, {
143
- key: "recordIds",
144
- get: function get() {
145
- (0, _error_utils.invariant)(this.isValid, 'LinkedRecordsQueryResult is no longer valid');
146
- (0, _error_utils.invariant)(this.isDataLoaded, 'LinkedRecordsQueryResult data is not loaded');
147
-
148
- // record ids are lazily generated
149
- this._generateComputedDataIfNeeded();
150
- (0, _error_utils.invariant)(this._computedFilteredSortedRecordIds, 'no recordIds');
151
- return this._computedFilteredSortedRecordIds;
152
- }
153
-
154
- /**
155
- * Ordered array of all the linked records. Watchable.
156
- */
157
- }, {
158
- key: "records",
159
- get: function get() {
160
- (0, _error_utils.invariant)(this.isValid, 'LinkedRecordsQueryResult is no longer valid');
161
- return this.recordIds.map(recordId => {
162
- var record = this._linkedRecordStore.getRecordByIdIfExists(recordId);
163
- (0, _error_utils.invariant)(record, 'No record for id: %s', recordId);
164
- return record;
165
- });
166
- }
167
-
168
- /**
169
- * The fields that were used to create this LinkedRecordsQueryResult.
170
- */
171
- }, {
172
- key: "fields",
173
- get: function get() {
174
- (0, _error_utils.invariant)(this.isValid, 'LinkedRecordsQueryResult is no longer valid');
175
- return this._linkedQueryResult.fields;
176
- }
177
-
178
- /** @inheritdoc */
179
- }, {
180
- key: "watch",
181
- value: function watch(keys, callback, context) {
182
- (0, _error_utils.invariant)(this.isValid, 'cannot watch an invalid LinkedRecordsQueryResult');
183
- var validKeys = (0, _get2.default)((0, _getPrototypeOf2.default)(LinkedRecordsQueryResult.prototype), "watch", this).call(this, keys, callback, context);
184
- var _iterator = _createForOfIteratorHelper(validKeys),
185
- _step;
186
- try {
187
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
188
- var key = _step.value;
189
- if (key === _record_query_result.default.WatchableKeys.cellValues) {
190
- this._watchLinkedQueryCellValuesIfNeededAfterWatch();
191
- }
192
- if (key.startsWith(_record_query_result.default.WatchableCellValuesInFieldKeyPrefix)) {
193
- var fieldId = key.substring(_record_query_result.default.WatchableCellValuesInFieldKeyPrefix.length);
194
- this._watchLinkedQueryCellValuesInFieldIfNeededAfterWatch(fieldId);
195
- }
196
- }
197
- } catch (err) {
198
- _iterator.e(err);
199
- } finally {
200
- _iterator.f();
201
- }
202
- return validKeys;
203
- }
204
-
205
- /** @inheritdoc */
206
- }, {
207
- key: "unwatch",
208
- value: function unwatch(keys, callback, context) {
209
- var arrayKeys = Array.isArray(keys) ? keys : [keys];
210
- var _iterator2 = _createForOfIteratorHelper(arrayKeys),
211
- _step2;
212
- try {
213
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
214
- var key = _step2.value;
215
- if (key === _record_query_result.default.WatchableKeys.cellValues) {
216
- this._unwatchLinkedQueryCellValuesIfPossibleBeforeUnwatch();
217
- }
218
- if (key.startsWith(_record_query_result.default.WatchableCellValuesInFieldKeyPrefix)) {
219
- var fieldId = key.substring(_record_query_result.default.WatchableCellValuesInFieldKeyPrefix.length);
220
- this._unwatchLinkedQueryCellValuesInFieldIfPossibleBeforeUnwatch(fieldId);
221
- }
222
- }
223
- } catch (err) {
224
- _iterator2.e(err);
225
- } finally {
226
- _iterator2.f();
227
- }
228
- return (0, _get2.default)((0, _getPrototypeOf2.default)(LinkedRecordsQueryResult.prototype), "unwatch", this).call(this, arrayKeys, callback, context);
229
- }
230
-
231
- /** @inheritdoc */
232
- }, {
233
- key: "loadDataAsync",
234
- value: (function () {
235
- var _loadDataAsync2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
236
- return _regenerator.default.wrap(function _callee$(_context) {
237
- while (1) switch (_context.prev = _context.next) {
238
- case 0:
239
- _context.next = 2;
240
- return (0, _get2.default)((0, _getPrototypeOf2.default)(LinkedRecordsQueryResult.prototype), "loadDataAsync", this).call(this);
241
- case 2:
242
- if (this.isDataLoaded) {
243
- _context.next = 6;
244
- break;
245
- }
246
- _context.next = 5;
247
- return this.loadDataAsync();
248
- case 5:
249
- // there has to be an unloadData call for every loadDataAsync call.
250
- // call it here to offset calling loadDataAsync a second time
251
- this.unloadData();
252
- case 6:
253
- case "end":
254
- return _context.stop();
255
- }
256
- }, _callee, this);
257
- }));
258
- function loadDataAsync() {
259
- return _loadDataAsync2.apply(this, arguments);
260
- }
261
- return loadDataAsync;
262
- }() /** @internal */)
263
- }, {
264
- key: "_loadDataAsync",
265
- value: (function () {
266
- var _loadDataAsync3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
267
- var initiallyLoaded, changedKeys, fieldIds, _iterator3, _step3, fieldId;
268
- return _regenerator.default.wrap(function _callee2$(_context2) {
269
- while (1) switch (_context2.prev = _context2.next) {
270
- case 0:
271
- this._record.__linkedRecordsQueryResultPool.registerObjectForReuseStrong(this);
272
- this._watchOrigin();
273
- this._watchLinkedQueryResult();
274
- initiallyLoaded = this._linkedQueryResult.isDataLoaded;
275
- _context2.next = 6;
276
- return Promise.all([this._sdk.base.__getRecordStore(this._record.parentTable.id).loadCellValuesInFieldIdsAsync([this._field.id]), this._linkedQueryResult.loadDataAsync(), this._loadRecordColorsAsync()]);
277
- case 6:
278
- this._invalidateComputedData();
279
- changedKeys = ['records', 'recordIds', 'recordColors']; // If the linked query result was not initially loaded, then the
280
- // `cellValues` event will be emitted via `_onLinkedCellValuesChange`.
281
- // Otherwise, it must be explicitly included here in order to promote
282
- // consistency.
283
- if (initiallyLoaded) {
284
- changedKeys.push('cellValues');
285
- }
286
- fieldIds = this._normalizedOpts.fieldIdsOrNullIfAllFields || this.parentTable.fields.map(field => field.id);
287
- _iterator3 = _createForOfIteratorHelper(fieldIds);
288
- try {
289
- for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
290
- fieldId = _step3.value;
291
- changedKeys.push(_record_query_result.default.WatchableCellValuesInFieldKeyPrefix + fieldId);
292
- }
293
- } catch (err) {
294
- _iterator3.e(err);
295
- } finally {
296
- _iterator3.f();
297
- }
298
- return _context2.abrupt("return", changedKeys);
299
- case 13:
300
- case "end":
301
- return _context2.stop();
302
- }
303
- }, _callee2, this);
304
- }));
305
- function _loadDataAsync() {
306
- return _loadDataAsync3.apply(this, arguments);
307
- }
308
- return _loadDataAsync;
309
- }() /** @internal */)
310
- }, {
311
- key: "_unloadData",
312
- value: function _unloadData() {
313
- // The inverse of this condition cannot be deterministically reproduced
314
- // in the testing environment.
315
- // istanbul ignore else
316
- if (this.isValid) {
317
- this._record.__linkedRecordsQueryResultPool.unregisterObjectForReuseStrong(this);
318
- this._unwatchOrigin();
319
- this._unwatchLinkedQueryResult();
320
- this._originRecordStore.unloadCellValuesInFieldIds([this._field.id]);
321
- this._linkedQueryResult.unloadData();
322
- this._unloadRecordColors();
323
- this._invalidateComputedData();
324
- }
325
- }
326
-
327
- /**
328
- * the key used to identify this query result in ObjectPool
329
- *
330
- * @hidden
331
- */
332
- }, {
333
- key: "__poolKey",
334
- get: function get() {
335
- return "".concat(this._serializedOpts, "::").concat(this._field.id, "::").concat(this._linkedTable.id, "::").concat(this.isValid);
336
- }
337
-
338
- /** @internal */
339
- }, {
340
- key: "_cellValuesWatchCount",
341
- get: function get() {
342
- return (this._changeWatchersByKey[_record_query_result.default.WatchableKeys.cellValues] || []).length;
343
- }
344
-
345
- /** @internal */
346
- }, {
347
- key: "_watchLinkedQueryCellValuesIfNeededAfterWatch",
348
- value: function _watchLinkedQueryCellValuesIfNeededAfterWatch() {
349
- if (this._cellValuesWatchCount === 1) {
350
- this._watchLinkedQueryCellValues();
351
- }
352
- }
353
-
354
- /** @internal */
355
- }, {
356
- key: "_unwatchLinkedQueryCellValuesIfPossibleBeforeUnwatch",
357
- value: function _unwatchLinkedQueryCellValuesIfPossibleBeforeUnwatch() {
358
- if (this._cellValuesWatchCount === 1 && this.isValid) {
359
- this._unwatchLinkedQueryCellValues();
360
- }
361
- }
362
-
363
- /** @internal */
364
- }, {
365
- key: "_cellValueWatchCountByFieldId",
366
- get: function get() {
367
- var countByFieldId = {};
368
- var watchKeys = Object.keys(this._changeWatchersByKey).filter(key => {
369
- return key.startsWith(_record_query_result.default.WatchableCellValuesInFieldKeyPrefix);
370
- });
371
- var _iterator4 = _createForOfIteratorHelper(watchKeys),
372
- _step4;
373
- try {
374
- for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
375
- var watchKey = _step4.value;
376
- var fieldId = watchKey.slice(_record_query_result.default.WatchableCellValuesInFieldKeyPrefix.length);
377
- countByFieldId[fieldId] = this._changeWatchersByKey[watchKey].length;
378
- }
379
- } catch (err) {
380
- _iterator4.e(err);
381
- } finally {
382
- _iterator4.f();
383
- }
384
- return countByFieldId;
385
- }
386
-
387
- /** @internal */
388
- }, {
389
- key: "_watchLinkedQueryCellValuesInFieldIfNeededAfterWatch",
390
- value: function _watchLinkedQueryCellValuesInFieldIfNeededAfterWatch(fieldId) {
391
- if (this._cellValueWatchCountByFieldId[fieldId] === 1 && this.isValid) {
392
- this._watchLinkedQueryCellValuesInField(fieldId);
393
- }
394
- }
395
-
396
- /** @internal */
397
- }, {
398
- key: "_unwatchLinkedQueryCellValuesInFieldIfPossibleBeforeUnwatch",
399
- value: function _unwatchLinkedQueryCellValuesInFieldIfPossibleBeforeUnwatch(fieldId) {
400
- (0, _error_utils.invariant)(this._cellValueWatchCountByFieldId[fieldId], "cellValuesInField:%s over-free'd", fieldId);
401
- if (this._cellValueWatchCountByFieldId[fieldId] === 1 && this.isValid) {
402
- this._unwatchLinkedQueryCellValuesInField(fieldId);
403
- }
404
- }
405
-
406
- /** @internal */
407
- }, {
408
- key: "_watchOrigin",
409
- value: function _watchOrigin() {
410
- // if the cell values in the record change, we need to invalidate our
411
- // cached data and notify watchers
412
- this._record.watch("cellValueInField:".concat(this._field.id), this._onOriginCellValueChange, this);
413
- // if the field config changes, we need to invalidate cached data,
414
- // and potentially start watching a different table
415
- this._field.watch('type', this._onOriginFieldConfigChange, this);
416
- this._field.watch('options', this._onOriginFieldConfigChange, this);
417
- // if the underlying record is deleted, we need to invalidate this
418
- // result
419
- this._originRecordStore.watch('recordIds', this._onOriginRecordsChange, this);
420
- // if the linked field in the origin table is deleted, we need to
421
- // invalidate this result
422
- this._record.parentTable.watch('fields', this._onOriginFieldsChange, this);
423
- }
424
-
425
- /** @internal */
426
- }, {
427
- key: "_unwatchOrigin",
428
- value: function _unwatchOrigin() {
429
- this._record.unwatch("cellValueInField:".concat(this._field.id), this._onOriginCellValueChange, this);
430
- this._field.unwatch('type', this._onOriginFieldConfigChange, this);
431
- this._field.unwatch('options', this._onOriginFieldConfigChange, this);
432
- this._originRecordStore.unwatch('recordIds', this._onOriginRecordsChange, this);
433
- this._record.parentTable.unwatch('fields', this._onOriginFieldsChange, this);
434
- }
435
-
436
- /** @internal */
437
- }, {
438
- key: "_watchLinkedQueryResult",
439
- value: function _watchLinkedQueryResult() {
440
- // in the linked table, all we care about is the set of recordIds.
441
- // this watch fire when they're added/removed and when they change
442
- // order. we only care about order, because add/remove is handled by
443
- // watching the origin record
444
- this._linkedQueryResult.watch('recordIds', this._onLinkedRecordIdsChange, this);
445
- }
446
-
447
- /** @internal */
448
- }, {
449
- key: "_unwatchLinkedQueryResult",
450
- value: function _unwatchLinkedQueryResult() {
451
- this._linkedQueryResult.unwatch('recordIds', this._onLinkedRecordIdsChange, this);
452
- }
453
-
454
- /** @internal */
455
- }, {
456
- key: "_watchLinkedQueryCellValues",
457
- value: function _watchLinkedQueryCellValues() {
458
- this._linkedQueryResult.watch('cellValues', this._onLinkedCellValuesChange, this);
459
- }
460
-
461
- /** @internal */
462
- }, {
463
- key: "_unwatchLinkedQueryCellValues",
464
- value: function _unwatchLinkedQueryCellValues() {
465
- this._linkedQueryResult.unwatch('cellValues', this._onLinkedCellValuesChange, this);
466
- }
467
-
468
- /** @internal */
469
- }, {
470
- key: "_watchLinkedQueryCellValuesInField",
471
- value: function _watchLinkedQueryCellValuesInField(fieldId) {
472
- this._linkedQueryResult.watch(_record_query_result.default.WatchableCellValuesInFieldKeyPrefix + fieldId, this._getOnLinkedCellValuesInFieldChange(fieldId), this);
473
- }
474
-
475
- /** @internal */
476
- }, {
477
- key: "_unwatchLinkedQueryCellValuesInField",
478
- value: function _unwatchLinkedQueryCellValuesInField(fieldId) {
479
- this._linkedQueryResult.unwatch(_record_query_result.default.WatchableCellValuesInFieldKeyPrefix + fieldId, this._getOnLinkedCellValuesInFieldChange(fieldId), this);
480
- }
481
-
482
- /** @internal */
483
- }, {
484
- key: "_onLinkedRecordIdsChange",
485
- value: function _onLinkedRecordIdsChange() {
486
- if (!this.isDataLoaded || this._record.isDeleted) {
487
- //TODO(jamesmoody-at): Adding this._dataOrNullIfDeleted as an exit condition here is a temporary fix to address an issue where
488
- // we are not reseting isValid to true while restoring deleted records that contain linked record fields. It seems the only way
489
- // to do this is by creating a new LinkRecordsQueryResult instance but it seems like we might be reusing the original instance
490
- // that we've already set isValid to false with. We'll need to do more investigating to figure out the right way to restore these
491
- // records while keeping the behavior of isValid consistent
492
- return;
493
- }
494
- (0, _error_utils.invariant)(this.isValid, 'watch key change event whilst invalid');
495
- this._invalidateComputedData();
496
-
497
- // we don't actually know at this stage whether anything changed or
498
- // not. it may have done though, so notify watchers
499
- this._onChange('records');
500
- this._onChange('recordIds');
501
- }
502
-
503
- /**
504
- * This model doesn't use the `_data` computed property it inherits from
505
- * AbstractModel. It implements the following method only so that internal
506
- * checks for model deletion behave appropriately (the data itself is
507
- * inconsequential).
508
- *
509
- * @internal
510
- */
511
- }, {
512
- key: "_dataOrNullIfDeleted",
513
- get: function get() {
514
- if (this._record.isDeleted || this._linkedRecordStore.isDeleted) {
515
- return null;
516
- }
517
- return {};
518
- }
519
-
520
- /** @internal */
521
- }, {
522
- key: "_onLinkedCellValuesChange",
523
- value: function _onLinkedCellValuesChange(queryResult, key, changes) {
524
- (0, _error_utils.invariant)(this.isValid, 'watch key change event whilst invalid');
525
- if (changes && changes.fieldIds && changes.recordIds) {
526
- var recordIdsSet = this._getOrGenerateRecordIdsSet();
527
- var recordIds = changes.recordIds.filter(id => recordIdsSet[id] === true);
528
- if (recordIds.length) {
529
- this._onChange('cellValues', {
530
- fieldIds: changes.fieldIds,
531
- recordIds
532
- });
533
- }
534
- } else {
535
- this._onChange('cellValues');
536
- }
537
- }
538
-
539
- /** @internal */
540
- }, {
541
- key: "_getOnLinkedCellValuesInFieldChange",
542
- value: function _getOnLinkedCellValuesInFieldChange(fieldId) {
543
- if (!this._cellValueChangeHandlerByFieldId[fieldId]) {
544
- this._cellValueChangeHandlerByFieldId[fieldId] = (queryResult, key, recordIds) => {
545
- (0, _error_utils.invariant)(this.isValid, 'watch key change event whilst invalid');
546
-
547
- // The linked record may finish loading before its parent. In
548
- // that case, the appropriate events will be triggered by the
549
- // `_loadDataAsync` method.
550
- if (!this.isDataLoaded) {
551
- return;
552
- }
553
-
554
- // The `else` branch will only be reached when the underlying
555
- // `RecordOrViewQueryResult` is loaded, unloaded, and then
556
- // loaded again. Because that query result is not directly
557
- // exposed to consumers, the condition can only be met when the
558
- // SDK is misused (e.g. repeatedly freeing related query
559
- // results). The `else` branch attempts to handle that
560
- // situation in a logical way, but it is not tested because it
561
- // is fundamentally invalid.
562
- // istanbul ignore else
563
- if (Array.isArray(recordIds)) {
564
- var recordIdsSet = this._getOrGenerateRecordIdsSet();
565
- var filteredRecordIds = recordIds.filter(id => typeof id === 'string' && recordIdsSet[id] === true);
566
- if (filteredRecordIds.length) {
567
- this._onChange(_record_query_result.default.WatchableCellValuesInFieldKeyPrefix + fieldId, filteredRecordIds);
568
- }
569
- } else {
570
- this._onChange(_record_query_result.default.WatchableCellValuesInFieldKeyPrefix + fieldId);
571
- }
572
- };
573
- }
574
- return this._cellValueChangeHandlerByFieldId[fieldId];
575
- }
576
-
577
- /** @internal */
578
- }, {
579
- key: "_onOriginCellValueChange",
580
- value: function _onOriginCellValueChange() {
581
- if (!this.isDataLoaded || this._field.isDeleted) {
582
- //TODO(jamesmoody-at): Adding this._dataOrNullIfDeleted as an exit condition here is a temporary fix to address an issue where
583
- // we are not resetting isValid to true while restoring deleted records that contain linked record fields. It seems the only way
584
- // to do this is by creating a new LinkRecordsQueryResult instance but it seems like we might be reusing the original instance
585
- // that we've already set isValid to false with. We'll need to do more investigating to figure out the right way to restore these
586
- // records while keeping the behavior of isValid consistent
587
- return;
588
- }
589
- (0, _error_utils.invariant)(this.isValid, 'watch key change event whilst invalid');
590
-
591
- // when the origin cell value (listing all the linked records) changes,
592
- // invalidate all the data we have stored - we need to completely
593
- // regenerate it
594
- this._invalidateComputedData();
595
-
596
- // notify watchers that our set of linked records has changed
597
- this._onChange('records');
598
- this._onChange('recordIds');
599
- }
600
-
601
- /** @internal */
602
- }, {
603
- key: "_onOriginRecordsChange",
604
- value: function _onOriginRecordsChange() {
605
- if (this._record.isDeleted) {
606
- this._isValid = false;
607
- }
608
- }
609
-
610
- /** @internal */
611
- }, {
612
- key: "_onOriginFieldsChange",
613
- value: function _onOriginFieldsChange() {
614
- if (this._field.isDeleted) {
615
- this._isValid = false;
616
- }
617
- }
618
-
619
- /** @internal */
620
- }, {
621
- key: "_onOriginFieldConfigChange",
622
- value: function _onOriginFieldConfigChange() {
623
- (0, _error_utils.invariant)(this.isValid, 'watch key change event whilst invalid');
624
- var type = this._field.type;
625
- if (type !== _field_core.FieldType.MULTIPLE_RECORD_LINKS) {
626
- this._invalidateQueryResult();
627
- return;
628
- }
629
- var linkedTableId = getLinkedTableId(this._field);
630
- if (linkedTableId !== this._linkedTable.id) {
631
- this._invalidateQueryResult();
632
- return;
633
- }
634
- }
635
-
636
- /** @internal */
637
- }, {
638
- key: "_invalidateQueryResult",
639
- value: function _invalidateQueryResult() {
640
- if (this.isDataLoaded) {
641
- this._unloadData();
642
- }
643
- if (this._cellValuesWatchCount > 0) {
644
- this._unwatchLinkedQueryCellValues();
645
- }
646
- for (var _i = 0, _Object$keys = Object.keys(this._cellValueWatchCountByFieldId); _i < _Object$keys.length; _i++) {
647
- var fieldId = _Object$keys[_i];
648
- this._unwatchLinkedQueryCellValuesInField(fieldId);
649
- }
650
- this._isValid = false;
651
- this._onChange('records');
652
- this._onChange('recordIds');
653
- }
654
-
655
- /** @internal */
656
- }, {
657
- key: "_invalidateComputedData",
658
- value: function _invalidateComputedData() {
659
- this._computedRecordIdsSet = null;
660
- this._computedFilteredSortedRecordIds = null;
661
- }
662
-
663
- /** @internal */
664
- }, {
665
- key: "_generateComputedDataIfNeeded",
666
- value: function _generateComputedDataIfNeeded() {
667
- if (!this._computedRecordIdsSet) {
668
- this._generateComputedData();
669
- }
670
- }
671
-
672
- /** @internal */
673
- }, {
674
- key: "_generateComputedData",
675
- value: function _generateComputedData() {
676
- var recordIdsSet = {};
677
- var rawCellValue = this._record.getCellValue(this._field);
678
- var cellValue = rawCellValue === null ? [] : rawCellValue;
679
- (0, _error_utils.invariant)(Array.isArray(cellValue), 'cellValue should be array');
680
- var _iterator5 = _createForOfIteratorHelper(cellValue),
681
- _step5;
682
- try {
683
- for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
684
- var linkedRecord = _step5.value;
685
- (0, _error_utils.invariant)(linkedRecord && typeof linkedRecord === 'object', 'linked record should be object');
686
- var recordId = linkedRecord.id;
687
- (0, _error_utils.invariant)(typeof recordId === 'string', 'id should be present');
688
-
689
- // We need to use the query result as the source of truth for
690
- // recordIds, since when the client deletes a record from the linked
691
- // table, we update it optimistically but the origin cell value
692
- // doesn't update until receiving the push payload.
693
- if (this._linkedQueryResult.hasRecord(recordId)) {
694
- recordIdsSet[recordId] = true;
695
- }
696
- }
697
- } catch (err) {
698
- _iterator5.e(err);
699
- } finally {
700
- _iterator5.f();
701
- }
702
- this._computedRecordIdsSet = recordIdsSet;
703
- if (this._normalizedOpts.sorts && this._normalizedOpts.sorts.length) {
704
- // when sorts are present, record order comes from the query result
705
- this._computedFilteredSortedRecordIds = this._linkedQueryResult.recordIds.filter(recordId => recordIdsSet[recordId] === true);
706
- } else {
707
- // with no sorts, record order is the same as in the cell in the
708
- // main Airtable UI. Since we generated recordIdsSet by iterating
709
- // over the cell value, we're guaranteed that the key order matches
710
- // the linked record order in the cell.
711
- this._computedFilteredSortedRecordIds = Object.keys(recordIdsSet);
712
- }
713
- }
714
-
715
- /** @internal */
716
- }, {
717
- key: "_getOrGenerateRecordIdsSet",
718
- value: function _getOrGenerateRecordIdsSet() {
719
- this._generateComputedDataIfNeeded();
720
- var recordIdsSet = this._computedRecordIdsSet;
721
- (0, _error_utils.invariant)(recordIdsSet, 'recordIdsSet must exist');
722
- return recordIdsSet;
723
- }
724
- }]);
725
- }(_record_query_result.default);
726
- /** @internal */
727
- (0, _defineProperty2.default)(LinkedRecordsQueryResult, "_className", 'LinkedRecordsQueryResult');
728
- var _default = exports.default = LinkedRecordsQueryResult;