@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,668 +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.filter.js");
6
- require("core-js/modules/es.array.from.js");
7
- require("core-js/modules/es.array.iterator.js");
8
- require("core-js/modules/es.array.slice.js");
9
- require("core-js/modules/es.object.get-own-property-descriptors.js");
10
- require("core-js/modules/es.regexp.exec.js");
11
- require("core-js/modules/es.regexp.to-string.js");
12
- require("core-js/modules/web.dom-collections.iterator.js");
13
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
14
- Object.defineProperty(exports, "__esModule", {
15
- value: true
16
- });
17
- exports.default = exports.WatchableTableKeys = void 0;
18
- require("core-js/modules/es.array.find.js");
19
- require("core-js/modules/es.array.includes.js");
20
- require("core-js/modules/es.object.to-string.js");
21
- require("core-js/modules/es.string.includes.js");
22
- require("core-js/modules/web.dom-collections.for-each.js");
23
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
24
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
25
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
26
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
27
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
28
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
29
- var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
30
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
31
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
32
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
33
- var _table_core = require("../../shared/models/table_core");
34
- var _error_utils = require("../../shared/error_utils");
35
- var _private_utils = require("../../shared/private_utils");
36
- var _mutations = require("../types/mutations");
37
- var _record_query_result = _interopRequireDefault(require("./record_query_result"));
38
- var _field = _interopRequireDefault(require("./field"));
39
- var _table_or_view_query_result = _interopRequireDefault(require("./table_or_view_query_result"));
40
- var _view = _interopRequireDefault(require("./view"));
41
- var _object_pool = _interopRequireDefault(require("./object_pool"));
42
- 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; } } }; }
43
- 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; } }
44
- 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; }
45
- 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)); }
46
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
47
- 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; }
48
- 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; } /** @module @airtable/blocks/models: Table */ /** */
49
- // This doesn't follow our enum naming conventions because we want the keys
50
- // to mirror the method/getter names on the model class.
51
- var WatchableTableKeys = exports.WatchableTableKeys = Object.freeze(_objectSpread(_objectSpread({}, _table_core.WatchableTableKeysCore), {}, {
52
- views: 'views'
53
- }));
54
-
55
- /**
56
- * A key in {@link Table} that can be watched.
57
- * - `name`
58
- * - `description`
59
- * - `fields`
60
- * - `views`
61
- */
62
- /**
63
- * Model class representing a table. Every {@link Base} has one or more tables.
64
- *
65
- * @docsPath models/Table
66
- */
67
- var Table = /*#__PURE__*/function (_TableCore) {
68
- /** @internal */
69
- function Table(parentBase, recordStore, tableId, sdk) {
70
- var _this;
71
- (0, _classCallCheck2.default)(this, Table);
72
- _this = _callSuper(this, Table, [parentBase, recordStore, tableId, sdk]);
73
- /** @internal */
74
- (0, _defineProperty2.default)(_this, "_viewModelsById", void 0);
75
- /** @internal */
76
- (0, _defineProperty2.default)(_this, "__tableOrViewQueryResultPool", void 0);
77
- _this._viewModelsById = {}; // View instances are lazily created by getViewById.
78
- _this.__tableOrViewQueryResultPool = new _object_pool.default(_table_or_view_query_result.default);
79
- return _this;
80
- }
81
-
82
- /** @internal */
83
- (0, _inherits2.default)(Table, _TableCore);
84
- return (0, _createClass2.default)(Table, [{
85
- key: "_constructField",
86
- value: function _constructField(fieldId) {
87
- return new _field.default(this.parentBase.__sdk, this, fieldId);
88
- }
89
-
90
- /**
91
- * The URL for the table. You can visit this URL in the browser to be taken to the table in the Airtable UI.
92
- *
93
- * @example
94
- * ```js
95
- * console.log(myTable.url);
96
- * // => 'https://airtable.com/appxxxxxxxxxxxxxx/tblxxxxxxxxxxxxxx'
97
- * ```
98
- */
99
- }, {
100
- key: "url",
101
- get: function get() {
102
- return this._sdk.__airtableInterface.urlConstructor.getTableUrl(this.id);
103
- }
104
-
105
- // Experimental, do not document yet. Allows fetching default cell values for
106
- // a table or view. Before documenting, we should explore making this synchronous.
107
- /**
108
- * @internal
109
- */
110
- // istanbul ignore next
111
- }, {
112
- key: "getDefaultCellValuesByFieldIdAsync",
113
- value: function () {
114
- var _getDefaultCellValuesByFieldIdAsync = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(opts) {
115
- var viewId, cellValuesByFieldId;
116
- return _regenerator.default.wrap(function _callee$(_context) {
117
- while (1) switch (_context.prev = _context.next) {
118
- case 0:
119
- viewId = opts && opts.view ? opts.view.id : null;
120
- _context.next = 3;
121
- return this._sdk.__airtableInterface.fetchDefaultCellValuesByFieldIdAsync(this._id, viewId);
122
- case 3:
123
- cellValuesByFieldId = _context.sent;
124
- return _context.abrupt("return", cellValuesByFieldId);
125
- case 5:
126
- case "end":
127
- return _context.stop();
128
- }
129
- }, _callee, this);
130
- }));
131
- function getDefaultCellValuesByFieldIdAsync(_x) {
132
- return _getDefaultCellValuesByFieldIdAsync.apply(this, arguments);
133
- }
134
- return getDefaultCellValuesByFieldIdAsync;
135
- }()
136
- /**
137
- * The views in this table. Can be watched to know when views are created,
138
- * deleted, or reordered.
139
- *
140
- * @example
141
- * ```js
142
- * console.log(`This table has ${myTable.views.length} views`);
143
- * ```
144
- */
145
- }, {
146
- key: "views",
147
- get: function get() {
148
- // TODO(kasra): cache and freeze this so it isn't O(n)
149
- var views = [];
150
- this._data.viewOrder.forEach(viewId => {
151
- var view = this.getViewById(viewId);
152
- views.push(view);
153
- });
154
- return views;
155
- }
156
- /**
157
- * Gets the view matching the given ID, or `null` if that view does not exist in this table.
158
- *
159
- * @param viewId The ID of the view.
160
- * @example
161
- * ```js
162
- * const viewId = 'viwxxxxxxxxxxxxxx';
163
- * const view = myTable.getViewByIdIfExists(viewId);
164
- * if (view !== null) {
165
- * console.log(view.name);
166
- * } else {
167
- * console.log('No view exists with that ID');
168
- * }
169
- * ```
170
- */
171
- }, {
172
- key: "getViewByIdIfExists",
173
- value: function getViewByIdIfExists(viewId) {
174
- if (!this._data.viewsById[viewId]) {
175
- return null;
176
- } else {
177
- if (!this._viewModelsById[viewId]) {
178
- this._viewModelsById[viewId] = new _view.default(this._sdk, this, this._recordStore.getViewDataStore(viewId), viewId);
179
- }
180
- return this._viewModelsById[viewId];
181
- }
182
- }
183
- /**
184
- * Gets the view matching the given ID. Throws if that view does not exist in this table. Use
185
- * {@link getViewByIdIfExists} instead if you are unsure whether a view exists with the given
186
- * ID.
187
- *
188
- * @param viewId The ID of the view.
189
- * @example
190
- * ```js
191
- * const viewId = 'viwxxxxxxxxxxxxxx';
192
- * const view = myTable.getViewById(viewId);
193
- * console.log(view.name);
194
- * // => 'Grid view'
195
- * ```
196
- */
197
- }, {
198
- key: "getViewById",
199
- value: function getViewById(viewId) {
200
- var view = this.getViewByIdIfExists(viewId);
201
- if (!view) {
202
- throw (0, _error_utils.spawnError)("No view with ID %s in table '%s'", viewId, this.name);
203
- }
204
- return view;
205
- }
206
- /**
207
- * Gets the view matching the given name, or `null` if no view exists with that name in this
208
- * table.
209
- *
210
- * @param viewName The name of the view you're looking for.
211
- * @example
212
- * ```js
213
- * const view = myTable.getViewByNameIfExists('Name');
214
- * if (view !== null) {
215
- * console.log(view.id);
216
- * } else {
217
- * console.log('No view exists with that name');
218
- * }
219
- * ```
220
- */
221
- }, {
222
- key: "getViewByNameIfExists",
223
- value: function getViewByNameIfExists(viewName) {
224
- var _iterator = _createForOfIteratorHelper((0, _private_utils.entries)(this._data.viewsById)),
225
- _step;
226
- try {
227
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
228
- var _step$value = (0, _slicedToArray2.default)(_step.value, 2),
229
- viewId = _step$value[0],
230
- viewData = _step$value[1];
231
- if (viewData.name === viewName) {
232
- return this.getViewByIdIfExists(viewId);
233
- }
234
- }
235
- } catch (err) {
236
- _iterator.e(err);
237
- } finally {
238
- _iterator.f();
239
- }
240
- return null;
241
- }
242
- /**
243
- * Gets the view matching the given name. Throws if no view exists with that name in this table.
244
- * Use {@link getViewByNameIfExists} instead if you are unsure whether a view exists with the
245
- * given name.
246
- *
247
- * @param viewName The name of the view you're looking for.
248
- * @example
249
- * ```js
250
- * const view = myTable.getViewByName('Name');
251
- * console.log(view.id);
252
- * // => 'viwxxxxxxxxxxxxxx'
253
- * ```
254
- */
255
- }, {
256
- key: "getViewByName",
257
- value: function getViewByName(viewName) {
258
- var view = this.getViewByNameIfExists(viewName);
259
- if (!view) {
260
- throw (0, _error_utils.spawnError)("No view named '%s' in table '%s'", viewName, this.name);
261
- }
262
- return view;
263
- }
264
- /**
265
- * The view matching the given ID or name. Returns `null` if no matching view exists within
266
- * this table.
267
- *
268
- * This method is convenient when building an extension for a specific base, but for more generic
269
- * extensions the best practice is to use the {@link getViewByIdIfExists} or
270
- * {@link getViewByNameIfExists} methods instead.
271
- *
272
- * @param viewIdOrName The ID or name of the view you're looking for.
273
- */
274
- }, {
275
- key: "getViewIfExists",
276
- value: function getViewIfExists(viewIdOrName) {
277
- var _this$getViewByIdIfEx;
278
- return (_this$getViewByIdIfEx = this.getViewByIdIfExists(viewIdOrName)) !== null && _this$getViewByIdIfEx !== void 0 ? _this$getViewByIdIfEx : this.getViewByNameIfExists(viewIdOrName);
279
- }
280
- /**
281
- * The view matching the given ID or name. Throws if no matching view exists within this table.
282
- * Use {@link getViewIfExists} instead if you are unsure whether a view exists with the given
283
- * name/ID.
284
- *
285
- * This method is convenient when building an extension for a specific base, but for more generic
286
- * extensions the best practice is to use the {@link getViewById} or {@link getViewByName} methods
287
- * instead.
288
- *
289
- * @param viewIdOrName The ID or name of the view you're looking for.
290
- */
291
- }, {
292
- key: "getView",
293
- value: function getView(viewIdOrName) {
294
- var view = this.getViewIfExists(viewIdOrName);
295
- if (!view) {
296
- throw (0, _error_utils.spawnError)("No view with ID or name '%s' in table '%s'", viewIdOrName, this.name);
297
- }
298
- return view;
299
- }
300
- /**
301
- * Select records from the table. Returns a {@link RecordQueryResult}.
302
- *
303
- * Consider using {@link useRecords} or {@link useRecordIds} instead, unless you need the
304
- * features of a QueryResult (e.g. `queryResult.getRecordById`). Record hooks handle
305
- * loading/unloading and updating your UI automatically, but manually `select`ing records is
306
- * useful for one-off data processing.
307
- *
308
- * @param opts Options for the query, such as sorts and fields.
309
- * @example
310
- * ```js
311
- * import {useBase, useRecords} from '@airtable/blocks/base/ui';
312
- * import React from 'react';
313
- *
314
- * function TodoList() {
315
- * const base = useBase();
316
- * const table = base.getTableByName('Tasks');
317
- *
318
- * const queryResult = table.selectRecords();
319
- * const records = useRecords(queryResult);
320
- *
321
- * return (
322
- * <ul>
323
- * {records.map(record => (
324
- * <li key={record.id}>
325
- * {record.name || 'Unnamed record'}
326
- * </li>
327
- * ))}
328
- * </ul>
329
- * );
330
- * }
331
- * ```
332
- */
333
- }, {
334
- key: "selectRecords",
335
- value: function selectRecords(opts) {
336
- var normalizedOpts = _record_query_result.default._normalizeOpts(this, this._recordStore, opts || {});
337
- return this.__tableOrViewQueryResultPool.getObjectForReuse(this._sdk, this, normalizedOpts);
338
- }
339
- /**
340
- * Select and load records from the table. Returns a {@link RecordQueryResult} promise where
341
- * record data has been loaded.
342
- *
343
- * Consider using {@link useRecords} or {@link useRecordIds} instead, unless you need the
344
- * features of a QueryResult (e.g. `queryResult.getRecordById`). Record hooks handle
345
- * loading/unloading and updating your UI automatically, but manually `select`ing records is
346
- * useful for one-off data processing.
347
- *
348
- * Once you've finished with your query, remember to call `queryResult.unloadData()`.
349
- *
350
- * @param opts Options for the query, such as sorts and fields.
351
- * @example
352
- * ```js
353
- * async function logRecordCountAsync(table) {
354
- * const query = await table.selectRecordsAsync();
355
- * console.log(query.recordIds.length);
356
- * query.unloadData();
357
- * }
358
- * ```
359
- */
360
- }, {
361
- key: "selectRecordsAsync",
362
- value: (function () {
363
- var _selectRecordsAsync = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(opts) {
364
- var queryResult;
365
- return _regenerator.default.wrap(function _callee2$(_context2) {
366
- while (1) switch (_context2.prev = _context2.next) {
367
- case 0:
368
- queryResult = this.selectRecords(opts);
369
- _context2.next = 3;
370
- return queryResult.loadDataAsync();
371
- case 3:
372
- return _context2.abrupt("return", queryResult);
373
- case 4:
374
- case "end":
375
- return _context2.stop();
376
- }
377
- }, _callee2, this);
378
- }));
379
- function selectRecordsAsync(_x2) {
380
- return _selectRecordsAsync.apply(this, arguments);
381
- }
382
- return selectRecordsAsync;
383
- }()
384
- /**
385
- * Returns the first view in the table where the type is one of `allowedViewTypes`, or `null` if
386
- * no such view exists in the table.
387
- *
388
- * @param allowedViewTypes An array of view types or a single view type to match against.
389
- * @param preferredViewOrViewId If a view or view ID is supplied and that view exists & has the
390
- * correct type, that view will be returned before checking the other views in the table.
391
- * @example
392
- * ```js
393
- * import {ViewType} from '@airtable/blocks/base/models';
394
- * const firstCalendarView = myTable.getFirstViewOfType(ViewType.CALENDAR);
395
- * if (firstCalendarView !== null) {
396
- * console.log(firstCalendarView.name);
397
- * } else {
398
- * console.log('No calendar views exist in the table');
399
- * }
400
- * ```
401
- */
402
- )
403
- }, {
404
- key: "getFirstViewOfType",
405
- value: function getFirstViewOfType(allowedViewTypes, preferredViewOrViewId) {
406
- var _this$views$find;
407
- if (!Array.isArray(allowedViewTypes)) {
408
- allowedViewTypes = (0, _private_utils.cast)([allowedViewTypes]);
409
- }
410
- if (preferredViewOrViewId) {
411
- var preferredView = this.getViewByIdIfExists(typeof preferredViewOrViewId === 'string' ? preferredViewOrViewId : preferredViewOrViewId.id);
412
- if (preferredView && allowedViewTypes.includes(preferredView.type)) {
413
- return preferredView;
414
- }
415
- }
416
- return (_this$views$find = this.views.find(view => {
417
- return allowedViewTypes.includes(view.type);
418
- })) !== null && _this$views$find !== void 0 ? _this$views$find : null;
419
- }
420
- /**
421
- * @internal
422
- */
423
- }, {
424
- key: "__getViewMatching",
425
- value: function __getViewMatching(viewOrViewIdOrViewName) {
426
- var view;
427
- if (viewOrViewIdOrViewName instanceof _view.default) {
428
- if (viewOrViewIdOrViewName.parentTable.id !== this.id) {
429
- throw (0, _error_utils.spawnError)("View '%s' is from a different table than table '%s'", viewOrViewIdOrViewName.name, this.name);
430
- }
431
- view = viewOrViewIdOrViewName;
432
- } else {
433
- view = this.getViewByIdIfExists(viewOrViewIdOrViewName) || this.getViewByNameIfExists(viewOrViewIdOrViewName);
434
- if (view === null) {
435
- throw (0, _error_utils.spawnError)("View '%s' does not exist in table '%s'", viewOrViewIdOrViewName, this.name);
436
- }
437
- }
438
- if (view.isDeleted) {
439
- throw (0, _error_utils.spawnError)("View '%s' was deleted from table '%s'", view.name, this.name);
440
- }
441
- return view;
442
- }
443
-
444
- /**
445
- * Checks whether the current user has permission to create a field in this table.
446
- *
447
- * Accepts partial input, in the same format as {@link createFieldAsync}.
448
- *
449
- * Returns `{hasPermission: true}` if the current user can update the specified record,
450
- * `{hasPermission: false, reasonDisplayString: string}` otherwise. `reasonDisplayString` may be
451
- * used to display an error message to the user.
452
- *
453
- * @param name name for the field. must be case-insensitive unique for the table
454
- * @param type type for the field
455
- * @param options options for the field. omit for fields without writable options
456
- * @param description description for the field. omit to leave blank
457
- *
458
- * @example
459
- * ```js
460
- * const createFieldCheckResult = table.checkPermissionsForCreateField();
461
- *
462
- * if (!createFieldCheckResult.hasPermission) {
463
- * alert(createFieldCheckResult.reasonDisplayString);
464
- * }
465
- * ```
466
- */
467
- }, {
468
- key: "checkPermissionsForCreateField",
469
- value: function checkPermissionsForCreateField(name, type, options, description) {
470
- return this._sdk.__mutations.checkPermissionsForMutation({
471
- type: _mutations.MutationTypes.CREATE_SINGLE_FIELD,
472
- tableId: this.id,
473
- id: undefined,
474
- // Generated in createFieldAsync.
475
- name,
476
- config: type ? _objectSpread({
477
- type: type
478
- }, options ? {
479
- options
480
- } : null) : undefined,
481
- description
482
- });
483
- }
484
-
485
- /**
486
- * An alias for `checkPermissionsForCreateField(name, type, options, description).hasPermission`.
487
- *
488
- * Checks whether the current user has permission to create a field in this table.
489
- *
490
- * Accepts partial input, in the same format as {@link createFieldAsync}.
491
- *
492
- * @param name name for the field. must be case-insensitive unique for the table
493
- * @param type type for the field
494
- * @param options options for the field. omit for fields without writable options
495
- * @param description description for the field. omit to leave blank
496
- *
497
- * @example
498
- * ```js
499
- * const canCreateField = table.hasPermissionToCreateField();
500
- *
501
- * if (!canCreateField) {
502
- * alert('not allowed!');
503
- * }
504
- * ```
505
- */
506
- }, {
507
- key: "hasPermissionToCreateField",
508
- value: function hasPermissionToCreateField(name, type, options, description) {
509
- return this.checkPermissionsForCreateField(name, type, options, description).hasPermission;
510
- }
511
-
512
- /**
513
- * Creates a new field.
514
- *
515
- * Similar to creating a field from the Airtable UI, the new field will not be visible
516
- * in views that have other hidden fields and views that are publicly shared.
517
- *
518
- * Throws an error if the user does not have permission to create a field, if invalid
519
- * name, type or options are provided, or if creating fields of this type is not supported.
520
- *
521
- * Refer to {@link FieldType} for supported field types, the write format for options, and
522
- * other specifics for certain field types.
523
- *
524
- * This action is asynchronous. Unlike new records, new fields are **not** created
525
- * optimistically locally. You must `await` the returned promise before using the new
526
- * field in your extension.
527
- *
528
- * @param name name for the field. must be case-insensitive unique
529
- * @param type type for the field
530
- * @param options options for the field. omit for fields without writable options
531
- * @param description description for the field. is optional and will be `''` if not specified
532
- * or if specified as `null`.
533
- *
534
- * @example
535
- * ```js
536
- * async function createNewSingleLineTextField(table, name) {
537
- * if (table.hasPermissionToCreateField(name, FieldType.SINGLE_LINE_TEXT)) {
538
- * await table.createFieldAsync(name, FieldType.SINGLE_LINE_TEXT);
539
- * }
540
- * }
541
- *
542
- * async function createNewCheckboxField(table, name) {
543
- * const options = {
544
- * icon: 'check',
545
- * color: 'greenBright',
546
- * };
547
- * if (table.hasPermissionToCreateField(name, FieldType.CHECKBOX, options)) {
548
- * await table.createFieldAsync(name, FieldType.CHECKBOX, options);
549
- * }
550
- * }
551
- *
552
- * async function createNewDateField(table, name) {
553
- * const options = {
554
- * dateFormat: {
555
- * name: 'iso',
556
- * },
557
- * };
558
- * if (table.hasPermissionToCreateField(name, FieldType.DATE, options)) {
559
- * await table.createFieldAsync(name, FieldType.DATE, options);
560
- * }
561
- * }
562
- * ```
563
- */
564
- }, {
565
- key: "createFieldAsync",
566
- value: (function () {
567
- var _createFieldAsync = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(name, type, options, description) {
568
- var fieldId;
569
- return _regenerator.default.wrap(function _callee3$(_context3) {
570
- while (1) switch (_context3.prev = _context3.next) {
571
- case 0:
572
- fieldId = this._sdk.__airtableInterface.idGenerator.generateFieldId();
573
- _context3.next = 3;
574
- return this._sdk.__mutations.applyMutationAsync({
575
- type: _mutations.MutationTypes.CREATE_SINGLE_FIELD,
576
- tableId: this.id,
577
- id: fieldId,
578
- name,
579
- config: _objectSpread({
580
- type: type
581
- }, options ? {
582
- options
583
- } : null),
584
- // Coerce undefined to null so that only old SDKs pass "undefined" for description
585
- // '' is permitted, as we already set empty descriptions to '' when editing descriptions
586
- // from the UI
587
- description: description !== null && description !== void 0 ? description : null
588
- });
589
- case 3:
590
- return _context3.abrupt("return", this.getFieldById(fieldId));
591
- case 4:
592
- case "end":
593
- return _context3.stop();
594
- }
595
- }, _callee3, this);
596
- }));
597
- function createFieldAsync(_x3, _x4, _x5, _x6) {
598
- return _createFieldAsync.apply(this, arguments);
599
- }
600
- return createFieldAsync;
601
- }() /** @internal */)
602
- }, {
603
- key: "__triggerOnChangeForDirtyPaths",
604
- value: function __triggerOnChangeForDirtyPaths(dirtyPaths) {
605
- var didTableSchemaChange = false;
606
- if ((0, _get2.default)((0, _getPrototypeOf2.default)(Table.prototype), "__triggerOnChangeForDirtyPaths", this).call(this, dirtyPaths)) {
607
- didTableSchemaChange = true;
608
- }
609
- if (dirtyPaths.viewOrder) {
610
- this._onChange(WatchableTableKeys.views);
611
- didTableSchemaChange = true;
612
-
613
- // Clean up deleted views
614
- var _iterator2 = _createForOfIteratorHelper((0, _private_utils.entries)(this._viewModelsById)),
615
- _step2;
616
- try {
617
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
618
- var _step2$value = (0, _slicedToArray2.default)(_step2.value, 2),
619
- viewId = _step2$value[0],
620
- viewModel = _step2$value[1];
621
- if (viewModel.isDeleted) {
622
- delete this._viewModelsById[viewId];
623
- }
624
- }
625
- } catch (err) {
626
- _iterator2.e(err);
627
- } finally {
628
- _iterator2.f();
629
- }
630
- }
631
- if (dirtyPaths.viewsById) {
632
- var _iterator3 = _createForOfIteratorHelper((0, _private_utils.entries)(dirtyPaths.viewsById)),
633
- _step3;
634
- try {
635
- for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
636
- var _step3$value = (0, _slicedToArray2.default)(_step3.value, 2),
637
- _viewId = _step3$value[0],
638
- dirtyViewPaths = _step3$value[1];
639
- // Directly access from _viewModelsById to avoid creating
640
- // a view model if it doesn't already exist. If it doesn't exist,
641
- // nothing can be subscribed to any events on it.
642
- var view = this._viewModelsById[_viewId];
643
- if (view) {
644
- var didViewSchemaChange = view.__triggerOnChangeForDirtyPaths(dirtyViewPaths);
645
- if (didViewSchemaChange) {
646
- didTableSchemaChange = true;
647
- }
648
- }
649
- }
650
- } catch (err) {
651
- _iterator3.e(err);
652
- } finally {
653
- _iterator3.f();
654
- }
655
- }
656
- return didTableSchemaChange;
657
- }
658
- }], [{
659
- key: "_isWatchableKey",
660
- value: /** @internal */
661
- function _isWatchableKey(key) {
662
- return (0, _private_utils.isEnumValue)(WatchableTableKeys, key);
663
- }
664
- }]);
665
- }(_table_core.TableCore);
666
- /** @internal */
667
- (0, _defineProperty2.default)(Table, "_className", 'Table');
668
- var _default = exports.default = Table;