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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (481) hide show
  1. package/dist/cjs/base/assert_run_context.js +12 -0
  2. package/dist/cjs/base/index.js +30 -30
  3. package/dist/cjs/base/models/abstract_model_with_async_data.js +154 -237
  4. package/dist/cjs/base/models/base.js +188 -267
  5. package/dist/cjs/base/models/create_aggregators.js +29 -46
  6. package/dist/cjs/base/models/cursor.js +206 -294
  7. package/dist/cjs/base/models/field.js +307 -395
  8. package/dist/cjs/base/models/grouped_record_query_result.js +219 -338
  9. package/dist/cjs/base/models/linked_records_query_result.js +450 -625
  10. package/dist/cjs/base/models/models.js +19 -22
  11. package/dist/cjs/base/models/mutations.js +267 -293
  12. package/dist/cjs/base/models/object_pool.js +117 -156
  13. package/dist/cjs/base/models/record.js +191 -256
  14. package/dist/cjs/base/models/record_coloring.js +6 -6
  15. package/dist/cjs/base/models/record_query_result.js +351 -435
  16. package/dist/cjs/base/models/record_store.js +403 -753
  17. package/dist/cjs/base/models/session.js +125 -153
  18. package/dist/cjs/base/models/table.js +457 -605
  19. package/dist/cjs/base/models/table_or_view_query_result.js +656 -920
  20. package/dist/cjs/base/models/view.js +284 -389
  21. package/dist/cjs/base/models/view_data_store.js +218 -356
  22. package/dist/cjs/base/models/view_metadata_query_result.js +109 -157
  23. package/dist/cjs/base/perform_record_action.js +89 -131
  24. package/dist/cjs/base/sdk.js +129 -184
  25. package/dist/cjs/base/settings_button.js +54 -74
  26. package/dist/cjs/base/types/airtable_interface.js +1 -1
  27. package/dist/cjs/base/types/mutations.js +5 -11
  28. package/dist/cjs/base/types/undo_redo.js +1 -1
  29. package/dist/cjs/base/types/view.js +1 -1
  30. package/dist/cjs/base/ui/base_provider.js +6 -8
  31. package/dist/cjs/base/ui/baymax_utils.js +436 -108
  32. package/dist/cjs/base/ui/block_wrapper.js +81 -106
  33. package/dist/cjs/base/ui/box.js +34 -60
  34. package/dist/cjs/base/ui/button.js +44 -74
  35. package/dist/cjs/base/ui/cell_renderer.js +132 -189
  36. package/dist/cjs/base/ui/choice_token.js +25 -42
  37. package/dist/cjs/base/ui/collaborator_token.js +31 -53
  38. package/dist/cjs/base/ui/color_palette.js +130 -173
  39. package/dist/cjs/base/ui/color_palette_synced.js +41 -70
  40. package/dist/cjs/base/ui/confirmation_dialog.js +70 -120
  41. package/dist/cjs/base/ui/control_sizes.js +24 -22
  42. package/dist/cjs/base/ui/create_detect_element_resize.js +6 -10
  43. package/dist/cjs/base/ui/css_helpers.js +1 -1
  44. package/dist/cjs/base/ui/dialog.js +57 -98
  45. package/dist/cjs/base/ui/dialog_close_button.js +52 -98
  46. package/dist/cjs/base/ui/expand_record.js +1 -2
  47. package/dist/cjs/base/ui/expand_record_list.js +3 -4
  48. package/dist/cjs/base/ui/expand_record_picker_async.js +28 -57
  49. package/dist/cjs/base/ui/field_icon.js +15 -33
  50. package/dist/cjs/base/ui/field_picker.js +25 -70
  51. package/dist/cjs/base/ui/field_picker_synced.js +18 -40
  52. package/dist/cjs/base/ui/form_field.js +27 -55
  53. package/dist/cjs/base/ui/geometry/geometry.js +5 -5
  54. package/dist/cjs/base/ui/geometry/point.js +10 -12
  55. package/dist/cjs/base/ui/geometry/rect.js +36 -52
  56. package/dist/cjs/base/ui/geometry/size.js +10 -12
  57. package/dist/cjs/base/ui/global_alert.js +31 -52
  58. package/dist/cjs/base/ui/heading.js +45 -94
  59. package/dist/cjs/base/ui/icon.js +39 -59
  60. package/dist/cjs/base/ui/icon_config.js +6 -12
  61. package/dist/cjs/base/ui/initialize_block.js +16 -35
  62. package/dist/cjs/base/ui/input.js +62 -101
  63. package/dist/cjs/base/ui/input_synced.js +17 -40
  64. package/dist/cjs/base/ui/key_codes.js +2 -3
  65. package/dist/cjs/base/ui/label.js +30 -55
  66. package/dist/cjs/base/ui/link.js +54 -87
  67. package/dist/cjs/base/ui/loader.js +15 -36
  68. package/dist/cjs/base/ui/modal.js +88 -127
  69. package/dist/cjs/base/ui/model_picker_select.js +18 -44
  70. package/dist/cjs/base/ui/popover.js +236 -328
  71. package/dist/cjs/base/ui/progress_bar.js +34 -47
  72. package/dist/cjs/base/ui/record_card.js +389 -478
  73. package/dist/cjs/base/ui/record_card_list.js +150 -224
  74. package/dist/cjs/base/ui/select.js +60 -116
  75. package/dist/cjs/base/ui/select_and_select_buttons_helpers.js +15 -39
  76. package/dist/cjs/base/ui/select_buttons.js +50 -83
  77. package/dist/cjs/base/ui/select_buttons_synced.js +17 -39
  78. package/dist/cjs/base/ui/select_synced.js +17 -39
  79. package/dist/cjs/base/ui/switch.js +42 -71
  80. package/dist/cjs/base/ui/switch_synced.js +16 -38
  81. package/dist/cjs/base/ui/synced.js +27 -48
  82. package/dist/cjs/base/ui/system/all_styles_set.js +4 -12
  83. package/dist/cjs/base/ui/system/appearance/appearance_set.js +10 -13
  84. package/dist/cjs/base/ui/system/appearance/background_color.js +3 -6
  85. package/dist/cjs/base/ui/system/appearance/border.js +3 -6
  86. package/dist/cjs/base/ui/system/appearance/border_radius.js +3 -6
  87. package/dist/cjs/base/ui/system/appearance/box_shadow.js +3 -6
  88. package/dist/cjs/base/ui/system/appearance/opacity.js +3 -6
  89. package/dist/cjs/base/ui/system/dimensions/dimensions_set.js +11 -13
  90. package/dist/cjs/base/ui/system/dimensions/height.js +3 -6
  91. package/dist/cjs/base/ui/system/dimensions/max_height.js +3 -6
  92. package/dist/cjs/base/ui/system/dimensions/max_width.js +3 -6
  93. package/dist/cjs/base/ui/system/dimensions/min_height.js +3 -6
  94. package/dist/cjs/base/ui/system/dimensions/min_width.js +3 -6
  95. package/dist/cjs/base/ui/system/dimensions/width.js +3 -6
  96. package/dist/cjs/base/ui/system/display.js +3 -6
  97. package/dist/cjs/base/ui/system/flex_container/align_content.js +3 -6
  98. package/dist/cjs/base/ui/system/flex_container/align_items.js +3 -6
  99. package/dist/cjs/base/ui/system/flex_container/flex_container_set.js +11 -13
  100. package/dist/cjs/base/ui/system/flex_container/flex_direction.js +3 -6
  101. package/dist/cjs/base/ui/system/flex_container/flex_wrap.js +3 -6
  102. package/dist/cjs/base/ui/system/flex_container/justify_content.js +3 -6
  103. package/dist/cjs/base/ui/system/flex_container/justify_items.js +3 -6
  104. package/dist/cjs/base/ui/system/flex_item/align_self.js +3 -6
  105. package/dist/cjs/base/ui/system/flex_item/flex.js +3 -6
  106. package/dist/cjs/base/ui/system/flex_item/flex_basis.js +3 -6
  107. package/dist/cjs/base/ui/system/flex_item/flex_grow.js +3 -6
  108. package/dist/cjs/base/ui/system/flex_item/flex_item_set.js +12 -13
  109. package/dist/cjs/base/ui/system/flex_item/flex_shrink.js +3 -6
  110. package/dist/cjs/base/ui/system/flex_item/justify_self.js +3 -6
  111. package/dist/cjs/base/ui/system/flex_item/order.js +3 -6
  112. package/dist/cjs/base/ui/system/index.js +104 -416
  113. package/dist/cjs/base/ui/system/overflow.js +3 -6
  114. package/dist/cjs/base/ui/system/position/bottom.js +4 -6
  115. package/dist/cjs/base/ui/system/position/left.js +4 -6
  116. package/dist/cjs/base/ui/system/position/position.js +3 -6
  117. package/dist/cjs/base/ui/system/position/position_set.js +11 -13
  118. package/dist/cjs/base/ui/system/position/right.js +4 -6
  119. package/dist/cjs/base/ui/system/position/top.js +4 -6
  120. package/dist/cjs/base/ui/system/position/z_index.js +3 -6
  121. package/dist/cjs/base/ui/system/spacing/margin.js +4 -6
  122. package/dist/cjs/base/ui/system/spacing/padding.js +4 -6
  123. package/dist/cjs/base/ui/system/spacing/spacing_set.js +7 -13
  124. package/dist/cjs/base/ui/system/typography/font_family.js +3 -6
  125. package/dist/cjs/base/ui/system/typography/font_size.js +3 -6
  126. package/dist/cjs/base/ui/system/typography/font_style.js +3 -6
  127. package/dist/cjs/base/ui/system/typography/font_weight.js +3 -6
  128. package/dist/cjs/base/ui/system/typography/letter_spacing.js +3 -6
  129. package/dist/cjs/base/ui/system/typography/line_height.js +3 -6
  130. package/dist/cjs/base/ui/system/typography/text_align.js +3 -6
  131. package/dist/cjs/base/ui/system/typography/text_color.js +3 -6
  132. package/dist/cjs/base/ui/system/typography/text_decoration.js +3 -6
  133. package/dist/cjs/base/ui/system/typography/text_transform.js +3 -6
  134. package/dist/cjs/base/ui/system/typography/typography_set.js +15 -13
  135. package/dist/cjs/base/ui/system/utils/ensure_numbers_are_within_scale.js +3 -4
  136. package/dist/cjs/base/ui/system/utils/get_style_props_for_responsive_prop.js +47 -87
  137. package/dist/cjs/base/ui/table_picker.js +18 -42
  138. package/dist/cjs/base/ui/table_picker_synced.js +17 -39
  139. package/dist/cjs/base/ui/text.js +40 -73
  140. package/dist/cjs/base/ui/text_button.js +51 -83
  141. package/dist/cjs/base/ui/theme/default_theme/button_variants.js +3 -3
  142. package/dist/cjs/base/ui/theme/default_theme/control_sizes.js +51 -45
  143. package/dist/cjs/base/ui/theme/default_theme/heading_styles.js +1 -1
  144. package/dist/cjs/base/ui/theme/default_theme/index.js +9 -15
  145. package/dist/cjs/base/ui/theme/default_theme/input_variants.js +3 -3
  146. package/dist/cjs/base/ui/theme/default_theme/link_variants.js +3 -3
  147. package/dist/cjs/base/ui/theme/default_theme/select_buttons_variants.js +4 -4
  148. package/dist/cjs/base/ui/theme/default_theme/select_variants.js +8 -17
  149. package/dist/cjs/base/ui/theme/default_theme/switch_variants.js +23 -29
  150. package/dist/cjs/base/ui/theme/default_theme/text_button_variants.js +5 -5
  151. package/dist/cjs/base/ui/theme/default_theme/text_styles.js +1 -1
  152. package/dist/cjs/base/ui/theme/default_theme/tokens.js +14 -14
  153. package/dist/cjs/base/ui/theme/theme_context.js +2 -2
  154. package/dist/cjs/base/ui/theme/use_theme.js +2 -2
  155. package/dist/cjs/base/ui/tooltip.js +134 -174
  156. package/dist/cjs/base/ui/types/aria_props.js +1 -23
  157. package/dist/cjs/base/ui/types/data_attributes_prop.js +1 -18
  158. package/dist/cjs/base/ui/types/tooltip_anchor_props.js +1 -17
  159. package/dist/cjs/base/ui/ui.js +48 -49
  160. package/dist/cjs/base/ui/unstable_standalone_ui.js +27 -27
  161. package/dist/cjs/base/ui/use_base.js +1 -1
  162. package/dist/cjs/base/ui/use_cursor.js +5 -4
  163. package/dist/cjs/base/ui/use_form_field.js +1 -1
  164. package/dist/cjs/base/ui/use_loadable.js +25 -91
  165. package/dist/cjs/base/ui/use_record_action_data.js +4 -3
  166. package/dist/cjs/base/ui/use_records.js +9 -13
  167. package/dist/cjs/base/ui/use_session.js +1 -1
  168. package/dist/cjs/base/ui/use_settings_button.js +4 -3
  169. package/dist/cjs/base/ui/use_styled_system.js +7 -14
  170. package/dist/cjs/base/ui/use_text_color_for_background_color.js +4 -3
  171. package/dist/cjs/base/ui/use_view_metadata.js +4 -4
  172. package/dist/cjs/base/ui/use_viewport.js +2 -2
  173. package/dist/cjs/base/ui/view_picker.js +26 -70
  174. package/dist/cjs/base/ui/view_picker_synced.js +18 -40
  175. package/dist/cjs/base/ui/viewport_constraint.js +67 -114
  176. package/dist/cjs/base/ui/with_styled_system.js +25 -61
  177. package/dist/cjs/base/undo_redo.js +21 -32
  178. package/dist/cjs/base/unstable_testing_utils.js +27 -27
  179. package/dist/cjs/base/viewport.js +268 -312
  180. package/dist/cjs/injected/airtable_interface.js +4 -4
  181. package/dist/cjs/interface/assert_run_context.js +12 -0
  182. package/dist/cjs/interface/index.js +4 -18
  183. package/dist/cjs/interface/models/base.js +15 -34
  184. package/dist/cjs/interface/models/field.js +5 -19
  185. package/dist/cjs/interface/models/models.js +8 -7
  186. package/dist/cjs/interface/models/mutations.js +50 -66
  187. package/dist/cjs/interface/models/record.js +29 -49
  188. package/dist/cjs/interface/models/record_store.js +25 -57
  189. package/dist/cjs/interface/models/session.js +2 -16
  190. package/dist/cjs/interface/models/table.js +66 -95
  191. package/dist/cjs/interface/sdk.js +61 -87
  192. package/dist/cjs/interface/types/airtable_interface.js +2 -2
  193. package/dist/cjs/interface/types/mutations.js +3 -10
  194. package/dist/cjs/interface/ui/block_wrapper.js +56 -48
  195. package/dist/cjs/interface/ui/initialize_block.js +13 -28
  196. package/dist/cjs/interface/ui/ui.js +20 -19
  197. package/dist/cjs/interface/ui/use_base.js +1 -1
  198. package/dist/cjs/interface/ui/use_custom_properties.js +19 -35
  199. package/dist/cjs/interface/ui/use_records.js +6 -5
  200. package/dist/cjs/interface/ui/use_run_info.js +2 -2
  201. package/dist/cjs/interface/ui/use_session.js +1 -1
  202. package/dist/cjs/shared/color_utils.js +9 -16
  203. package/dist/cjs/shared/colors.js +2 -2
  204. package/dist/cjs/shared/error_utils.js +9 -11
  205. package/dist/cjs/shared/event_tracker.js +3 -3
  206. package/dist/cjs/shared/global_config.js +337 -449
  207. package/dist/cjs/shared/models/abstract_model.js +72 -97
  208. package/dist/cjs/shared/models/base_core.js +394 -514
  209. package/dist/cjs/shared/models/field_core.js +236 -279
  210. package/dist/cjs/shared/models/mutations_core.js +283 -379
  211. package/dist/cjs/shared/models/record_core.js +174 -231
  212. package/dist/cjs/shared/models/record_store_core.js +119 -172
  213. package/dist/cjs/shared/models/session_core.js +116 -170
  214. package/dist/cjs/shared/models/table_core.js +1258 -1501
  215. package/dist/cjs/shared/private_utils.js +54 -124
  216. package/dist/cjs/shared/sdk_core.js +68 -70
  217. package/dist/cjs/shared/types/field_core.js +1 -1
  218. package/dist/cjs/shared/types/mutation_constants.js +4 -4
  219. package/dist/cjs/shared/types/mutations_core.js +1 -1
  220. package/dist/cjs/shared/types/permission_levels.js +1 -1
  221. package/dist/cjs/shared/ui/global_config_synced_component_helpers.js +9 -9
  222. package/dist/cjs/shared/ui/loader.js +14 -35
  223. package/dist/cjs/shared/ui/remote_utils.js +5 -7
  224. package/dist/cjs/shared/ui/sdk_context.js +4 -8
  225. package/dist/cjs/shared/ui/use_array_identity.js +2 -2
  226. package/dist/cjs/shared/ui/use_base.js +6 -5
  227. package/dist/cjs/shared/ui/use_color_scheme.js +3 -8
  228. package/dist/cjs/shared/ui/use_global_config.js +5 -4
  229. package/dist/cjs/shared/ui/use_session.js +6 -5
  230. package/dist/cjs/shared/ui/use_synced.js +7 -5
  231. package/dist/cjs/shared/ui/use_watchable.js +13 -42
  232. package/dist/cjs/shared/ui/with_hooks.js +6 -13
  233. package/dist/cjs/shared/unstable_private_utils.js +4 -6
  234. package/dist/cjs/shared/warning.js +5 -5
  235. package/dist/cjs/shared/watchable.js +110 -176
  236. package/dist/cjs/stats/block_stats.js +62 -85
  237. package/dist/cjs/testing/base/abstract_mock_airtable_interface.js +208 -0
  238. package/dist/cjs/testing/interface/abstract_mock_airtable_interface.js +124 -0
  239. package/dist/types/src/base/assert_run_context.d.ts +2 -0
  240. package/dist/types/src/base/assert_run_context.d.ts.map +1 -0
  241. package/dist/types/src/base/index.d.ts +1 -0
  242. package/dist/types/src/base/index.d.ts.map +1 -1
  243. package/dist/types/src/base/models/models.d.ts +1 -0
  244. package/dist/types/src/base/models/models.d.ts.map +1 -1
  245. package/dist/types/src/base/models/mutations.d.ts.map +1 -1
  246. package/dist/types/src/base/sdk.d.ts.map +1 -1
  247. package/dist/types/src/base/ui/block_wrapper.d.ts +1 -1
  248. package/dist/types/src/base/ui/box.d.ts.map +1 -1
  249. package/dist/types/src/base/ui/button.d.ts +0 -5
  250. package/dist/types/src/base/ui/button.d.ts.map +1 -1
  251. package/dist/types/src/base/ui/cell_renderer.d.ts +1 -22
  252. package/dist/types/src/base/ui/cell_renderer.d.ts.map +1 -1
  253. package/dist/types/src/base/ui/choice_token.d.ts +1 -21
  254. package/dist/types/src/base/ui/choice_token.d.ts.map +1 -1
  255. package/dist/types/src/base/ui/collaborator_token.d.ts +0 -20
  256. package/dist/types/src/base/ui/collaborator_token.d.ts.map +1 -1
  257. package/dist/types/src/base/ui/color_palette.d.ts +1 -32
  258. package/dist/types/src/base/ui/color_palette.d.ts.map +1 -1
  259. package/dist/types/src/base/ui/color_palette_synced.d.ts +0 -14
  260. package/dist/types/src/base/ui/color_palette_synced.d.ts.map +1 -1
  261. package/dist/types/src/base/ui/confirmation_dialog.d.ts +0 -17
  262. package/dist/types/src/base/ui/confirmation_dialog.d.ts.map +1 -1
  263. package/dist/types/src/base/ui/control_sizes.d.ts +0 -1
  264. package/dist/types/src/base/ui/control_sizes.d.ts.map +1 -1
  265. package/dist/types/src/base/ui/dialog.d.ts +1 -23
  266. package/dist/types/src/base/ui/dialog.d.ts.map +1 -1
  267. package/dist/types/src/base/ui/dialog_close_button.d.ts +2 -24
  268. package/dist/types/src/base/ui/dialog_close_button.d.ts.map +1 -1
  269. package/dist/types/src/base/ui/field_icon.d.ts +1 -17
  270. package/dist/types/src/base/ui/field_icon.d.ts.map +1 -1
  271. package/dist/types/src/base/ui/field_picker.d.ts +0 -23
  272. package/dist/types/src/base/ui/field_picker.d.ts.map +1 -1
  273. package/dist/types/src/base/ui/field_picker_synced.d.ts.map +1 -1
  274. package/dist/types/src/base/ui/form_field.d.ts +0 -4
  275. package/dist/types/src/base/ui/form_field.d.ts.map +1 -1
  276. package/dist/types/src/base/ui/heading.d.ts +1 -1
  277. package/dist/types/src/base/ui/heading.d.ts.map +1 -1
  278. package/dist/types/src/base/ui/icon.d.ts +0 -16
  279. package/dist/types/src/base/ui/icon.d.ts.map +1 -1
  280. package/dist/types/src/base/ui/icon_config.d.ts +50 -51
  281. package/dist/types/src/base/ui/icon_config.d.ts.map +1 -1
  282. package/dist/types/src/base/ui/initialize_block.d.ts.map +1 -1
  283. package/dist/types/src/base/ui/input.d.ts +12 -46
  284. package/dist/types/src/base/ui/input.d.ts.map +1 -1
  285. package/dist/types/src/base/ui/input_synced.d.ts.map +1 -1
  286. package/dist/types/src/base/ui/label.d.ts.map +1 -1
  287. package/dist/types/src/base/ui/link.d.ts +1 -5
  288. package/dist/types/src/base/ui/link.d.ts.map +1 -1
  289. package/dist/types/src/base/ui/loader.d.ts +3 -20
  290. package/dist/types/src/base/ui/loader.d.ts.map +1 -1
  291. package/dist/types/src/base/ui/modal.d.ts +1 -14
  292. package/dist/types/src/base/ui/modal.d.ts.map +1 -1
  293. package/dist/types/src/base/ui/model_picker_select.d.ts.map +1 -1
  294. package/dist/types/src/base/ui/popover.d.ts +1 -17
  295. package/dist/types/src/base/ui/popover.d.ts.map +1 -1
  296. package/dist/types/src/base/ui/progress_bar.d.ts +1 -24
  297. package/dist/types/src/base/ui/progress_bar.d.ts.map +1 -1
  298. package/dist/types/src/base/ui/record_card.d.ts +1 -23
  299. package/dist/types/src/base/ui/record_card.d.ts.map +1 -1
  300. package/dist/types/src/base/ui/record_card_list.d.ts +1 -18
  301. package/dist/types/src/base/ui/record_card_list.d.ts.map +1 -1
  302. package/dist/types/src/base/ui/select.d.ts +0 -44
  303. package/dist/types/src/base/ui/select.d.ts.map +1 -1
  304. package/dist/types/src/base/ui/select_and_select_buttons_helpers.d.ts +0 -2
  305. package/dist/types/src/base/ui/select_and_select_buttons_helpers.d.ts.map +1 -1
  306. package/dist/types/src/base/ui/select_buttons.d.ts +0 -22
  307. package/dist/types/src/base/ui/select_buttons.d.ts.map +1 -1
  308. package/dist/types/src/base/ui/select_buttons_synced.d.ts.map +1 -1
  309. package/dist/types/src/base/ui/select_synced.d.ts.map +1 -1
  310. package/dist/types/src/base/ui/switch.d.ts +0 -22
  311. package/dist/types/src/base/ui/switch.d.ts.map +1 -1
  312. package/dist/types/src/base/ui/switch_synced.d.ts.map +1 -1
  313. package/dist/types/src/base/ui/synced.d.ts +2 -8
  314. package/dist/types/src/base/ui/synced.d.ts.map +1 -1
  315. package/dist/types/src/base/ui/system/all_styles_set.d.ts +0 -3
  316. package/dist/types/src/base/ui/system/all_styles_set.d.ts.map +1 -1
  317. package/dist/types/src/base/ui/system/appearance/appearance_set.d.ts +0 -1
  318. package/dist/types/src/base/ui/system/appearance/appearance_set.d.ts.map +1 -1
  319. package/dist/types/src/base/ui/system/appearance/background_color.d.ts +0 -1
  320. package/dist/types/src/base/ui/system/appearance/background_color.d.ts.map +1 -1
  321. package/dist/types/src/base/ui/system/appearance/border.d.ts +0 -1
  322. package/dist/types/src/base/ui/system/appearance/border.d.ts.map +1 -1
  323. package/dist/types/src/base/ui/system/appearance/border_radius.d.ts +0 -1
  324. package/dist/types/src/base/ui/system/appearance/border_radius.d.ts.map +1 -1
  325. package/dist/types/src/base/ui/system/appearance/box_shadow.d.ts +0 -1
  326. package/dist/types/src/base/ui/system/appearance/box_shadow.d.ts.map +1 -1
  327. package/dist/types/src/base/ui/system/appearance/opacity.d.ts +0 -1
  328. package/dist/types/src/base/ui/system/appearance/opacity.d.ts.map +1 -1
  329. package/dist/types/src/base/ui/system/dimensions/dimensions_set.d.ts +0 -1
  330. package/dist/types/src/base/ui/system/dimensions/dimensions_set.d.ts.map +1 -1
  331. package/dist/types/src/base/ui/system/dimensions/height.d.ts +0 -1
  332. package/dist/types/src/base/ui/system/dimensions/height.d.ts.map +1 -1
  333. package/dist/types/src/base/ui/system/dimensions/max_height.d.ts +0 -1
  334. package/dist/types/src/base/ui/system/dimensions/max_height.d.ts.map +1 -1
  335. package/dist/types/src/base/ui/system/dimensions/max_width.d.ts +0 -1
  336. package/dist/types/src/base/ui/system/dimensions/max_width.d.ts.map +1 -1
  337. package/dist/types/src/base/ui/system/dimensions/min_height.d.ts +0 -1
  338. package/dist/types/src/base/ui/system/dimensions/min_height.d.ts.map +1 -1
  339. package/dist/types/src/base/ui/system/dimensions/min_width.d.ts +0 -1
  340. package/dist/types/src/base/ui/system/dimensions/min_width.d.ts.map +1 -1
  341. package/dist/types/src/base/ui/system/dimensions/width.d.ts +0 -1
  342. package/dist/types/src/base/ui/system/dimensions/width.d.ts.map +1 -1
  343. package/dist/types/src/base/ui/system/display.d.ts +0 -1
  344. package/dist/types/src/base/ui/system/display.d.ts.map +1 -1
  345. package/dist/types/src/base/ui/system/flex_container/align_content.d.ts +0 -1
  346. package/dist/types/src/base/ui/system/flex_container/align_content.d.ts.map +1 -1
  347. package/dist/types/src/base/ui/system/flex_container/align_items.d.ts +0 -1
  348. package/dist/types/src/base/ui/system/flex_container/align_items.d.ts.map +1 -1
  349. package/dist/types/src/base/ui/system/flex_container/flex_container_set.d.ts +0 -1
  350. package/dist/types/src/base/ui/system/flex_container/flex_container_set.d.ts.map +1 -1
  351. package/dist/types/src/base/ui/system/flex_container/flex_direction.d.ts +0 -1
  352. package/dist/types/src/base/ui/system/flex_container/flex_direction.d.ts.map +1 -1
  353. package/dist/types/src/base/ui/system/flex_container/flex_wrap.d.ts +0 -1
  354. package/dist/types/src/base/ui/system/flex_container/flex_wrap.d.ts.map +1 -1
  355. package/dist/types/src/base/ui/system/flex_container/justify_content.d.ts +0 -1
  356. package/dist/types/src/base/ui/system/flex_container/justify_content.d.ts.map +1 -1
  357. package/dist/types/src/base/ui/system/flex_container/justify_items.d.ts +0 -1
  358. package/dist/types/src/base/ui/system/flex_container/justify_items.d.ts.map +1 -1
  359. package/dist/types/src/base/ui/system/flex_item/align_self.d.ts +0 -1
  360. package/dist/types/src/base/ui/system/flex_item/align_self.d.ts.map +1 -1
  361. package/dist/types/src/base/ui/system/flex_item/flex.d.ts +0 -1
  362. package/dist/types/src/base/ui/system/flex_item/flex.d.ts.map +1 -1
  363. package/dist/types/src/base/ui/system/flex_item/flex_basis.d.ts +0 -1
  364. package/dist/types/src/base/ui/system/flex_item/flex_basis.d.ts.map +1 -1
  365. package/dist/types/src/base/ui/system/flex_item/flex_grow.d.ts +0 -1
  366. package/dist/types/src/base/ui/system/flex_item/flex_grow.d.ts.map +1 -1
  367. package/dist/types/src/base/ui/system/flex_item/flex_item_set.d.ts +0 -1
  368. package/dist/types/src/base/ui/system/flex_item/flex_item_set.d.ts.map +1 -1
  369. package/dist/types/src/base/ui/system/flex_item/flex_shrink.d.ts +0 -1
  370. package/dist/types/src/base/ui/system/flex_item/flex_shrink.d.ts.map +1 -1
  371. package/dist/types/src/base/ui/system/flex_item/justify_self.d.ts +0 -1
  372. package/dist/types/src/base/ui/system/flex_item/justify_self.d.ts.map +1 -1
  373. package/dist/types/src/base/ui/system/flex_item/order.d.ts +0 -1
  374. package/dist/types/src/base/ui/system/flex_item/order.d.ts.map +1 -1
  375. package/dist/types/src/base/ui/system/index.d.ts +52 -52
  376. package/dist/types/src/base/ui/system/index.d.ts.map +1 -1
  377. package/dist/types/src/base/ui/system/overflow.d.ts +0 -1
  378. package/dist/types/src/base/ui/system/overflow.d.ts.map +1 -1
  379. package/dist/types/src/base/ui/system/position/bottom.d.ts +0 -1
  380. package/dist/types/src/base/ui/system/position/bottom.d.ts.map +1 -1
  381. package/dist/types/src/base/ui/system/position/left.d.ts +0 -1
  382. package/dist/types/src/base/ui/system/position/left.d.ts.map +1 -1
  383. package/dist/types/src/base/ui/system/position/position.d.ts +0 -1
  384. package/dist/types/src/base/ui/system/position/position.d.ts.map +1 -1
  385. package/dist/types/src/base/ui/system/position/position_set.d.ts +0 -1
  386. package/dist/types/src/base/ui/system/position/position_set.d.ts.map +1 -1
  387. package/dist/types/src/base/ui/system/position/right.d.ts +0 -1
  388. package/dist/types/src/base/ui/system/position/right.d.ts.map +1 -1
  389. package/dist/types/src/base/ui/system/position/top.d.ts +0 -1
  390. package/dist/types/src/base/ui/system/position/top.d.ts.map +1 -1
  391. package/dist/types/src/base/ui/system/position/z_index.d.ts +0 -1
  392. package/dist/types/src/base/ui/system/position/z_index.d.ts.map +1 -1
  393. package/dist/types/src/base/ui/system/spacing/margin.d.ts +0 -1
  394. package/dist/types/src/base/ui/system/spacing/margin.d.ts.map +1 -1
  395. package/dist/types/src/base/ui/system/spacing/padding.d.ts +0 -1
  396. package/dist/types/src/base/ui/system/spacing/padding.d.ts.map +1 -1
  397. package/dist/types/src/base/ui/system/spacing/spacing_set.d.ts +0 -1
  398. package/dist/types/src/base/ui/system/spacing/spacing_set.d.ts.map +1 -1
  399. package/dist/types/src/base/ui/system/typography/font_family.d.ts +0 -1
  400. package/dist/types/src/base/ui/system/typography/font_family.d.ts.map +1 -1
  401. package/dist/types/src/base/ui/system/typography/font_size.d.ts +0 -1
  402. package/dist/types/src/base/ui/system/typography/font_size.d.ts.map +1 -1
  403. package/dist/types/src/base/ui/system/typography/font_style.d.ts +0 -1
  404. package/dist/types/src/base/ui/system/typography/font_style.d.ts.map +1 -1
  405. package/dist/types/src/base/ui/system/typography/font_weight.d.ts +0 -1
  406. package/dist/types/src/base/ui/system/typography/font_weight.d.ts.map +1 -1
  407. package/dist/types/src/base/ui/system/typography/letter_spacing.d.ts +0 -1
  408. package/dist/types/src/base/ui/system/typography/letter_spacing.d.ts.map +1 -1
  409. package/dist/types/src/base/ui/system/typography/line_height.d.ts +0 -1
  410. package/dist/types/src/base/ui/system/typography/line_height.d.ts.map +1 -1
  411. package/dist/types/src/base/ui/system/typography/text_align.d.ts +0 -1
  412. package/dist/types/src/base/ui/system/typography/text_align.d.ts.map +1 -1
  413. package/dist/types/src/base/ui/system/typography/text_color.d.ts +0 -1
  414. package/dist/types/src/base/ui/system/typography/text_color.d.ts.map +1 -1
  415. package/dist/types/src/base/ui/system/typography/text_decoration.d.ts +0 -1
  416. package/dist/types/src/base/ui/system/typography/text_decoration.d.ts.map +1 -1
  417. package/dist/types/src/base/ui/system/typography/text_transform.d.ts +0 -1
  418. package/dist/types/src/base/ui/system/typography/text_transform.d.ts.map +1 -1
  419. package/dist/types/src/base/ui/system/typography/typography_set.d.ts +0 -1
  420. package/dist/types/src/base/ui/system/typography/typography_set.d.ts.map +1 -1
  421. package/dist/types/src/base/ui/table_picker.d.ts +0 -21
  422. package/dist/types/src/base/ui/table_picker.d.ts.map +1 -1
  423. package/dist/types/src/base/ui/table_picker_synced.d.ts.map +1 -1
  424. package/dist/types/src/base/ui/text.d.ts +0 -3
  425. package/dist/types/src/base/ui/text.d.ts.map +1 -1
  426. package/dist/types/src/base/ui/text_button.d.ts +1 -5
  427. package/dist/types/src/base/ui/text_button.d.ts.map +1 -1
  428. package/dist/types/src/base/ui/theme/default_theme/index.d.ts +1 -1
  429. package/dist/types/src/base/ui/theme/theme_context.d.ts +1 -1
  430. package/dist/types/src/base/ui/theme/use_theme.d.ts +1 -1
  431. package/dist/types/src/base/ui/tooltip.d.ts +0 -16
  432. package/dist/types/src/base/ui/tooltip.d.ts.map +1 -1
  433. package/dist/types/src/base/ui/types/aria_props.d.ts.map +1 -1
  434. package/dist/types/src/base/ui/types/data_attributes_prop.d.ts +0 -4
  435. package/dist/types/src/base/ui/types/data_attributes_prop.d.ts.map +1 -1
  436. package/dist/types/src/base/ui/types/tooltip_anchor_props.d.ts +0 -7
  437. package/dist/types/src/base/ui/types/tooltip_anchor_props.d.ts.map +1 -1
  438. package/dist/types/src/base/ui/ui.d.ts +1 -0
  439. package/dist/types/src/base/ui/ui.d.ts.map +1 -1
  440. package/dist/types/src/base/ui/view_picker.d.ts +0 -23
  441. package/dist/types/src/base/ui/view_picker.d.ts.map +1 -1
  442. package/dist/types/src/base/ui/view_picker_synced.d.ts.map +1 -1
  443. package/dist/types/src/base/ui/viewport_constraint.d.ts +1 -14
  444. package/dist/types/src/base/ui/viewport_constraint.d.ts.map +1 -1
  445. package/dist/types/src/base/unstable_testing_utils.d.ts +1 -1
  446. package/dist/types/src/base/unstable_testing_utils.d.ts.map +1 -1
  447. package/dist/types/src/interface/assert_run_context.d.ts +2 -0
  448. package/dist/types/src/interface/assert_run_context.d.ts.map +1 -0
  449. package/dist/types/src/interface/index.d.ts +1 -6
  450. package/dist/types/src/interface/index.d.ts.map +1 -1
  451. package/dist/types/src/interface/models/models.d.ts +1 -0
  452. package/dist/types/src/interface/models/models.d.ts.map +1 -1
  453. package/dist/types/src/interface/models/mutations.d.ts.map +1 -1
  454. package/dist/types/src/interface/ui/initialize_block.d.ts.map +1 -1
  455. package/dist/types/src/interface/ui/ui.d.ts +1 -0
  456. package/dist/types/src/interface/ui/ui.d.ts.map +1 -1
  457. package/dist/types/src/interface/ui/use_custom_properties.d.ts +1 -1
  458. package/dist/types/src/shared/models/mutations_core.d.ts.map +1 -1
  459. package/dist/types/src/shared/private_utils.d.ts +0 -9
  460. package/dist/types/src/shared/private_utils.d.ts.map +1 -1
  461. package/dist/types/src/shared/ui/global_config_synced_component_helpers.d.ts +0 -2
  462. package/dist/types/src/shared/ui/global_config_synced_component_helpers.d.ts.map +1 -1
  463. package/dist/types/src/shared/ui/loader.d.ts.map +1 -1
  464. package/dist/types/src/shared/ui/with_hooks.d.ts +2 -2
  465. package/dist/types/src/shared/ui/with_hooks.d.ts.map +1 -1
  466. package/dist/types/src/testing/{abstract_mock_airtable_interface.d.ts → base/abstract_mock_airtable_interface.d.ts} +13 -13
  467. package/dist/types/src/testing/base/abstract_mock_airtable_interface.d.ts.map +1 -0
  468. package/dist/types/src/testing/interface/abstract_mock_airtable_interface.d.ts +51 -0
  469. package/dist/types/src/testing/interface/abstract_mock_airtable_interface.d.ts.map +1 -0
  470. package/package.json +13 -13
  471. package/dist/cjs/base/ui/system/utils/create_responsive_prop_type.js +0 -19
  472. package/dist/cjs/base/ui/system/utils/create_style_prop_types.js +0 -24
  473. package/dist/cjs/base/ui/system/utils/enum_prop_type_utils.js +0 -35
  474. package/dist/cjs/testing/abstract_mock_airtable_interface.js +0 -277
  475. package/dist/types/src/base/ui/system/utils/create_responsive_prop_type.d.ts +0 -2
  476. package/dist/types/src/base/ui/system/utils/create_responsive_prop_type.d.ts.map +0 -1
  477. package/dist/types/src/base/ui/system/utils/create_style_prop_types.d.ts +0 -4
  478. package/dist/types/src/base/ui/system/utils/create_style_prop_types.d.ts.map +0 -1
  479. package/dist/types/src/base/ui/system/utils/enum_prop_type_utils.d.ts +0 -21
  480. package/dist/types/src/base/ui/system/utils/enum_prop_type_utils.d.ts.map +0 -1
  481. package/dist/types/src/testing/abstract_mock_airtable_interface.d.ts.map +0 -1
@@ -1,26 +1,9 @@
1
1
  "use strict";
2
2
 
3
- require("core-js/modules/es.symbol.js");
4
- require("core-js/modules/es.array.filter.js");
5
- require("core-js/modules/es.array.iterator.js");
6
- require("core-js/modules/es.object.get-own-property-descriptors.js");
7
- require("core-js/modules/es.object.to-string.js");
8
- require("core-js/modules/es.weak-map.js");
9
- require("core-js/modules/web.dom-collections.for-each.js");
10
- require("core-js/modules/web.dom-collections.iterator.js");
11
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
12
3
  Object.defineProperty(exports, "__esModule", {
13
4
  value: true
14
5
  });
15
6
  exports.default = void 0;
16
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
17
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
18
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
19
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
20
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
22
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
23
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
24
7
  var _private_utils = require("../../shared/private_utils");
25
8
  var _mutations = require("../types/mutations");
26
9
  var _abstract_model = _interopRequireDefault(require("../../shared/models/abstract_model"));
@@ -28,15 +11,14 @@ var _object_pool = _interopRequireDefault(require("./object_pool"));
28
11
  var _record_query_result = _interopRequireWildcard(require("./record_query_result"));
29
12
  var _view_metadata_query_result = _interopRequireDefault(require("./view_metadata_query_result"));
30
13
  var RecordColoring = _interopRequireWildcard(require("./record_coloring"));
31
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
14
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
32
15
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
33
- 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; }
34
- 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; }
35
- 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)); }
36
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /** @module @airtable/blocks/models: View */ /** */
16
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
+ /** @module @airtable/blocks/models: View */ /** */
18
+
37
19
  // This doesn't follow our enum naming conventions because we want the keys
38
20
  // to mirror the method/getter names on the model class.
39
- var WatchableViewKeys = Object.freeze({
21
+ const WatchableViewKeys = Object.freeze({
40
22
  name: 'name',
41
23
  isLockedView: 'isLockedView'
42
24
  });
@@ -45,387 +27,300 @@ var WatchableViewKeys = Object.freeze({
45
27
  * A key in {@link View} that can be watched.
46
28
  * - `name`
47
29
  */
30
+
48
31
  /**
49
32
  * A class that represents an Airtable view. Every {@link Table} has one or more views.
50
33
  *
51
34
  * @docsPath models/View
52
35
  */
53
- var View = /*#__PURE__*/function (_AbstractModel) {
36
+ class View extends _abstract_model.default {
37
+ /** @internal */
38
+ static _className = 'View';
39
+ /** @internal */
40
+ static _isWatchableKey(key) {
41
+ return (0, _private_utils.isEnumValue)(WatchableViewKeys, key);
42
+ }
43
+ /** @internal */
44
+
45
+ /** @internal */
46
+
47
+ /** @internal */
48
+
54
49
  /**
55
50
  * @internal
56
51
  */
57
- function View(sdk, parentTable, viewDataStore, viewId) {
58
- var _this;
59
- (0, _classCallCheck2.default)(this, View);
60
- _this = _callSuper(this, View, [sdk, viewId]);
61
- /** @internal */
62
- (0, _defineProperty2.default)(_this, "_parentTable", void 0);
63
- /** @internal */
64
- (0, _defineProperty2.default)(_this, "_viewDataStore", void 0);
65
- /** @internal */
66
- (0, _defineProperty2.default)(_this, "__viewMetadataQueryResultPool", void 0);
67
- _this._parentTable = parentTable;
68
- _this._viewDataStore = viewDataStore;
69
- _this.__viewMetadataQueryResultPool = new _object_pool.default(_view_metadata_query_result.default);
70
- return _this;
52
+ constructor(sdk, parentTable, viewDataStore, viewId) {
53
+ super(sdk, viewId);
54
+ this._parentTable = parentTable;
55
+ this._viewDataStore = viewDataStore;
56
+ this.__viewMetadataQueryResultPool = new _object_pool.default(_view_metadata_query_result.default);
71
57
  }
72
58
 
73
59
  /**
74
60
  * @internal
75
61
  */
76
- (0, _inherits2.default)(View, _AbstractModel);
77
- return (0, _createClass2.default)(View, [{
78
- key: "_dataOrNullIfDeleted",
79
- get: function get() {
80
- var _tableData$viewsById$;
81
- var tableData = this._baseData.tablesById[this.parentTable.id];
82
- return (_tableData$viewsById$ = tableData === null || tableData === void 0 ? void 0 : tableData.viewsById[this._id]) !== null && _tableData$viewsById$ !== void 0 ? _tableData$viewsById$ : null;
83
- }
84
- /**
85
- * The table that this view belongs to. Should never change because views aren't moved between tables.
86
- *
87
- * @internal (since we may not be able to return parent model instances in the immutable models world)
88
- * @example
89
- * ```js
90
- * const view = myTable.getViewByName('Grid View');
91
- * console.log(view.parentTable.id === myTable.id);
92
- * // => true
93
- * ```
94
- */
95
- }, {
96
- key: "parentTable",
97
- get: function get() {
98
- return this._parentTable;
99
- }
100
- /**
101
- * The name of the view. Can be watched.
102
- *
103
- * @example
104
- * ```js
105
- * console.log(myView.name);
106
- * // => 'Grid view'
107
- * ```
108
- */
109
- }, {
110
- key: "name",
111
- get: function get() {
112
- return this._data.name;
113
- }
114
- /**
115
- * The type of the view, such as Grid, Calendar, or Kanban. Should never change because view types cannot be modified.
116
- *
117
- * @example
118
- * ```js
119
- * console.log(myView.type);
120
- * // => 'kanban'
121
- * ```
122
- */
123
- }, {
124
- key: "type",
125
- get: function get() {
126
- return this._data.type;
127
- }
128
- /**
129
- * If the view is locked. Can be watched.
130
- *
131
- * @example
132
- * ```js
133
- * console.log(myView.isLockedView);
134
- * // => false
135
- * ```
136
- */
137
- }, {
138
- key: "isLockedView",
139
- get: function get() {
140
- return this._data.isLockedView;
141
- }
142
- /**
143
- * The URL for the view. You can visit this URL in the browser to be taken to the view in the Airtable UI.
144
- *
145
- * @example
146
- * ```js
147
- * console.log(myView.url);
148
- * // => 'https://airtable.com/appxxxxxxxxxxxxxx/tblxxxxxxxxxxxxxx/viwxxxxxxxxxxxxxx'
149
- * ```
150
- */
151
- }, {
152
- key: "url",
153
- get: function get() {
154
- return this._sdk.__airtableInterface.urlConstructor.getViewUrl(this.id, this.parentTable.id);
155
- }
156
- /**
157
- * Select records from the view. Returns a {@link RecordQueryResult}.
158
- *
159
- * Consider using {@link useRecords} or {@link useRecordIds} instead, unless you need the
160
- * features of a QueryResult (e.g. `queryResult.getRecordById`). Record hooks handle
161
- * loading/unloading and updating your UI automatically, but manually `select`ing records is
162
- * useful for one-off data processing.
163
- *
164
- * @param opts Options for the query, such as sorts, fields, and record coloring. By
165
- * default, records will be coloured according to the view.
166
- * @example
167
- * ```js
168
- * import {useBase, useRecords} from '@airtable/blocks/base/ui';
169
- * import React from 'react';
170
- *
171
- * function TodoList() {
172
- * const base = useBase();
173
- * const table = base.getTableByName('Tasks');
174
- * const view = table.getViewByName('Grid view');
175
- *
176
- * const queryResult = view.selectRecords();
177
- * const records = useRecords(queryResult);
178
- *
179
- * return (
180
- * <ul>
181
- * {records.map(record => (
182
- * <li key={record.id}>
183
- * {record.name || 'Unnamed record'}
184
- * </li>
185
- * ))}
186
- * </ul>
187
- * );
188
- * }
189
- * ```
190
- */
191
- }, {
192
- key: "selectRecords",
193
- value: function selectRecords() {
194
- var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
195
- var normalizedOpts = _record_query_result.default._normalizeOpts(this.parentTable, this._viewDataStore.parentRecordStore, _objectSpread(_objectSpread({}, opts), {}, {
196
- recordColorMode: opts.recordColorMode === undefined ? RecordColoring.modes.byView(this) : opts.recordColorMode
197
- }));
198
- return this.parentTable.__tableOrViewQueryResultPool.getObjectForReuse(this._sdk, this, normalizedOpts);
199
- }
200
- /**
201
- * Select and load records from the view. Returns a {@link RecordQueryResult} promise where
202
- * record data has been loaded.
203
- *
204
- * Consider using {@link useRecords} or {@link useRecordIds} instead, unless you need the
205
- * features of a QueryResult (e.g. `queryResult.getRecordById`). Record hooks handle
206
- * loading/unloading and updating your UI automatically, but manually `select`ing records is
207
- * useful for one-off data processing.
208
- *
209
- * Once you've finished with your query, remember to call `queryResult.unloadData()`.
210
- *
211
- * @param opts Options for the query, such as sorts, fields, and record coloring. By
212
- * default, records will be coloured according to the view.
213
- * @example
214
- * ```js
215
- * async function getRecordCountAsync(view) {
216
- * const query = await view.selectRecordsAsync();
217
- * const recordCount = query.recordIds.length;
218
- * query.unloadData();
219
- * return recordCount;
220
- * }
221
- * ```
222
- */
223
- }, {
224
- key: "selectRecordsAsync",
225
- value: (function () {
226
- var _selectRecordsAsync = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
227
- var opts,
228
- queryResult,
229
- _args = arguments;
230
- return _regenerator.default.wrap(function _callee$(_context) {
231
- while (1) switch (_context.prev = _context.next) {
232
- case 0:
233
- opts = _args.length > 0 && _args[0] !== undefined ? _args[0] : {};
234
- queryResult = this.selectRecords(opts);
235
- _context.next = 4;
236
- return queryResult.loadDataAsync();
237
- case 4:
238
- return _context.abrupt("return", queryResult);
239
- case 5:
240
- case "end":
241
- return _context.stop();
242
- }
243
- }, _callee, this);
244
- }));
245
- function selectRecordsAsync() {
246
- return _selectRecordsAsync.apply(this, arguments);
247
- }
248
- return selectRecordsAsync;
249
- }()
250
- /**
251
- * Select the field order and visible fields from the view. Returns a
252
- * {@link ViewMetadataQueryResult}.
253
- *
254
- * Consider using {@link useViewMetadata} instead if you're creating a React UI. The
255
- * {@link useViewMetadata} hook handles loading/unloading and updating your UI automatically,
256
- * but manually `select`ing data is useful for one-off data processing.
257
- *
258
- * @example
259
- * ```js
260
- * async function loadMetadataForViewAsync(view) {
261
- * const viewMetadata = view.selectMetadata();
262
- * await viewMetadata.loadDataAsync();
263
- *
264
- * console.log('Visible fields:');
265
- * console.log(viewMetadata.visibleFields.map(field => field.name));
266
- * // => ['Field 1', 'Field 2', 'Field 3']
267
- *
268
- * console.log('All fields:');
269
- * console.log(viewMetadata.allFields.map(field => field.name));
270
- * // => ['Field 1', 'Field 2', 'Field 3', 'Hidden field 4']
271
- *
272
- * viewMetadata.unloadData();
273
- * }
274
- * ```
275
- */
276
- )
277
- }, {
278
- key: "selectMetadata",
279
- value: function selectMetadata() {
280
- return this.__viewMetadataQueryResultPool.getObjectForReuse(this._sdk, this, this._viewDataStore);
281
- }
282
- /**
283
- * Select and load the field order and visible fields from the view. Returns a
284
- * {@link ViewMetadataQueryResult} promise where the metadata has already been loaded.
285
- *
286
- * Consider using {@link useViewMetadata} instead if you're creating a React UI. The
287
- * {@link useViewMetadata} hook handles loading/unloading and updating your UI automatically,
288
- * but manually `select`ing data is useful for one-off data processing.
289
- *
290
- * @example
291
- * ```js
292
- * async function loadMetadataForViewAsync(view) {
293
- * const viewMetadata = await view.selectMetadata();
294
- *
295
- * console.log('Visible fields:');
296
- * console.log(viewMetadata.visibleFields.map(field => field.name));
297
- * // => ['Field 1', 'Field 2', 'Field 3']
298
- *
299
- * console.log('All fields:');
300
- * console.log(viewMetadata.allFields.map(field => field.name));
301
- * // => ['Field 1', 'Field 2', 'Field 3', 'Hidden field 4']
302
- *
303
- * viewMetadata.unloadData();
304
- * }
305
- * ```
306
- */
307
- }, {
308
- key: "selectMetadataAsync",
309
- value: (function () {
310
- var _selectMetadataAsync = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
311
- var queryResult;
312
- return _regenerator.default.wrap(function _callee2$(_context2) {
313
- while (1) switch (_context2.prev = _context2.next) {
314
- case 0:
315
- queryResult = this.selectMetadata();
316
- _context2.next = 3;
317
- return queryResult.loadDataAsync();
318
- case 3:
319
- return _context2.abrupt("return", queryResult);
320
- case 4:
321
- case "end":
322
- return _context2.stop();
323
- }
324
- }, _callee2, this);
325
- }));
326
- function selectMetadataAsync() {
327
- return _selectMetadataAsync.apply(this, arguments);
328
- }
329
- return selectMetadataAsync;
330
- }()
331
- /**
332
- * Checks whether the current user has permission to update view metadata.
333
- *
334
- * @param viewMetadata
335
- * @hidden
336
- */
337
- )
338
- }, {
339
- key: "checkPermissionsForUpdateMetadata",
340
- value: function checkPermissionsForUpdateMetadata(viewMetadata) {
341
- var metadata = {
342
- groupLevels: (0, _record_query_result.normalizeSortsOrGroups)(this.parentTable, viewMetadata.groupLevels)
343
- };
344
- return this._sdk.__mutations.checkPermissionsForMutation({
345
- type: _mutations.MutationTypes.UPDATE_VIEW_METADATA,
346
- tableId: this.parentTable.id,
347
- viewId: this.id,
348
- metadata
349
- });
350
- }
62
+ get _dataOrNullIfDeleted() {
63
+ const tableData = this._baseData.tablesById[this.parentTable.id];
64
+ return tableData?.viewsById[this._id] ?? null;
65
+ }
66
+ /**
67
+ * The table that this view belongs to. Should never change because views aren't moved between tables.
68
+ *
69
+ * @internal (since we may not be able to return parent model instances in the immutable models world)
70
+ * @example
71
+ * ```js
72
+ * const view = myTable.getViewByName('Grid View');
73
+ * console.log(view.parentTable.id === myTable.id);
74
+ * // => true
75
+ * ```
76
+ */
77
+ get parentTable() {
78
+ return this._parentTable;
79
+ }
80
+ /**
81
+ * The name of the view. Can be watched.
82
+ *
83
+ * @example
84
+ * ```js
85
+ * console.log(myView.name);
86
+ * // => 'Grid view'
87
+ * ```
88
+ */
89
+ get name() {
90
+ return this._data.name;
91
+ }
92
+ /**
93
+ * The type of the view, such as Grid, Calendar, or Kanban. Should never change because view types cannot be modified.
94
+ *
95
+ * @example
96
+ * ```js
97
+ * console.log(myView.type);
98
+ * // => 'kanban'
99
+ * ```
100
+ */
101
+ get type() {
102
+ return this._data.type;
103
+ }
104
+ /**
105
+ * If the view is locked. Can be watched.
106
+ *
107
+ * @example
108
+ * ```js
109
+ * console.log(myView.isLockedView);
110
+ * // => false
111
+ * ```
112
+ */
113
+ get isLockedView() {
114
+ return this._data.isLockedView;
115
+ }
116
+ /**
117
+ * The URL for the view. You can visit this URL in the browser to be taken to the view in the Airtable UI.
118
+ *
119
+ * @example
120
+ * ```js
121
+ * console.log(myView.url);
122
+ * // => 'https://airtable.com/appxxxxxxxxxxxxxx/tblxxxxxxxxxxxxxx/viwxxxxxxxxxxxxxx'
123
+ * ```
124
+ */
125
+ get url() {
126
+ return this._sdk.__airtableInterface.urlConstructor.getViewUrl(this.id, this.parentTable.id);
127
+ }
128
+ /**
129
+ * Select records from the view. Returns a {@link RecordQueryResult}.
130
+ *
131
+ * Consider using {@link useRecords} or {@link useRecordIds} instead, unless you need the
132
+ * features of a QueryResult (e.g. `queryResult.getRecordById`). Record hooks handle
133
+ * loading/unloading and updating your UI automatically, but manually `select`ing records is
134
+ * useful for one-off data processing.
135
+ *
136
+ * @param opts Options for the query, such as sorts, fields, and record coloring. By
137
+ * default, records will be coloured according to the view.
138
+ * @example
139
+ * ```js
140
+ * import {useBase, useRecords} from '@airtable/blocks/base/ui';
141
+ * import React from 'react';
142
+ *
143
+ * function TodoList() {
144
+ * const base = useBase();
145
+ * const table = base.getTableByName('Tasks');
146
+ * const view = table.getViewByName('Grid view');
147
+ *
148
+ * const queryResult = view.selectRecords();
149
+ * const records = useRecords(queryResult);
150
+ *
151
+ * return (
152
+ * <ul>
153
+ * {records.map(record => (
154
+ * <li key={record.id}>
155
+ * {record.name || 'Unnamed record'}
156
+ * </li>
157
+ * ))}
158
+ * </ul>
159
+ * );
160
+ * }
161
+ * ```
162
+ */
163
+ selectRecords() {
164
+ let opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
165
+ const normalizedOpts = _record_query_result.default._normalizeOpts(this.parentTable, this._viewDataStore.parentRecordStore, {
166
+ ...opts,
167
+ recordColorMode: opts.recordColorMode === undefined ? RecordColoring.modes.byView(this) : opts.recordColorMode
168
+ });
169
+ return this.parentTable.__tableOrViewQueryResultPool.getObjectForReuse(this._sdk, this, normalizedOpts);
170
+ }
171
+ /**
172
+ * Select and load records from the view. Returns a {@link RecordQueryResult} promise where
173
+ * record data has been loaded.
174
+ *
175
+ * Consider using {@link useRecords} or {@link useRecordIds} instead, unless you need the
176
+ * features of a QueryResult (e.g. `queryResult.getRecordById`). Record hooks handle
177
+ * loading/unloading and updating your UI automatically, but manually `select`ing records is
178
+ * useful for one-off data processing.
179
+ *
180
+ * Once you've finished with your query, remember to call `queryResult.unloadData()`.
181
+ *
182
+ * @param opts Options for the query, such as sorts, fields, and record coloring. By
183
+ * default, records will be coloured according to the view.
184
+ * @example
185
+ * ```js
186
+ * async function getRecordCountAsync(view) {
187
+ * const query = await view.selectRecordsAsync();
188
+ * const recordCount = query.recordIds.length;
189
+ * query.unloadData();
190
+ * return recordCount;
191
+ * }
192
+ * ```
193
+ */
194
+ async selectRecordsAsync() {
195
+ let opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
196
+ const queryResult = this.selectRecords(opts);
197
+ await queryResult.loadDataAsync();
198
+ return queryResult;
199
+ }
200
+ /**
201
+ * Select the field order and visible fields from the view. Returns a
202
+ * {@link ViewMetadataQueryResult}.
203
+ *
204
+ * Consider using {@link useViewMetadata} instead if you're creating a React UI. The
205
+ * {@link useViewMetadata} hook handles loading/unloading and updating your UI automatically,
206
+ * but manually `select`ing data is useful for one-off data processing.
207
+ *
208
+ * @example
209
+ * ```js
210
+ * async function loadMetadataForViewAsync(view) {
211
+ * const viewMetadata = view.selectMetadata();
212
+ * await viewMetadata.loadDataAsync();
213
+ *
214
+ * console.log('Visible fields:');
215
+ * console.log(viewMetadata.visibleFields.map(field => field.name));
216
+ * // => ['Field 1', 'Field 2', 'Field 3']
217
+ *
218
+ * console.log('All fields:');
219
+ * console.log(viewMetadata.allFields.map(field => field.name));
220
+ * // => ['Field 1', 'Field 2', 'Field 3', 'Hidden field 4']
221
+ *
222
+ * viewMetadata.unloadData();
223
+ * }
224
+ * ```
225
+ */
226
+ selectMetadata() {
227
+ return this.__viewMetadataQueryResultPool.getObjectForReuse(this._sdk, this, this._viewDataStore);
228
+ }
229
+ /**
230
+ * Select and load the field order and visible fields from the view. Returns a
231
+ * {@link ViewMetadataQueryResult} promise where the metadata has already been loaded.
232
+ *
233
+ * Consider using {@link useViewMetadata} instead if you're creating a React UI. The
234
+ * {@link useViewMetadata} hook handles loading/unloading and updating your UI automatically,
235
+ * but manually `select`ing data is useful for one-off data processing.
236
+ *
237
+ * @example
238
+ * ```js
239
+ * async function loadMetadataForViewAsync(view) {
240
+ * const viewMetadata = await view.selectMetadata();
241
+ *
242
+ * console.log('Visible fields:');
243
+ * console.log(viewMetadata.visibleFields.map(field => field.name));
244
+ * // => ['Field 1', 'Field 2', 'Field 3']
245
+ *
246
+ * console.log('All fields:');
247
+ * console.log(viewMetadata.allFields.map(field => field.name));
248
+ * // => ['Field 1', 'Field 2', 'Field 3', 'Hidden field 4']
249
+ *
250
+ * viewMetadata.unloadData();
251
+ * }
252
+ * ```
253
+ */
254
+ async selectMetadataAsync() {
255
+ const queryResult = this.selectMetadata();
256
+ await queryResult.loadDataAsync();
257
+ return queryResult;
258
+ }
351
259
 
352
- /**
353
- * An alias for `checkPermissionsForUpdateMetadata(viewMetadata).hasPermission`.
354
- *
355
- * Checks whether the current user has permission to update view metadata.
356
- *
357
- * @param viewMetadata
358
- * @hidden
359
- */
360
- }, {
361
- key: "hasPermissionToUpdateMetadata",
362
- value: function hasPermissionToUpdateMetadata(viewMetadata) {
363
- return this.checkPermissionsForUpdateMetadata(viewMetadata).hasPermission;
364
- }
260
+ /**
261
+ * Checks whether the current user has permission to update view metadata.
262
+ *
263
+ * @param viewMetadata
264
+ * @hidden
265
+ */
266
+ checkPermissionsForUpdateMetadata(viewMetadata) {
267
+ const metadata = {
268
+ groupLevels: (0, _record_query_result.normalizeSortsOrGroups)(this.parentTable, viewMetadata.groupLevels)
269
+ };
270
+ return this._sdk.__mutations.checkPermissionsForMutation({
271
+ type: _mutations.MutationTypes.UPDATE_VIEW_METADATA,
272
+ tableId: this.parentTable.id,
273
+ viewId: this.id,
274
+ metadata
275
+ });
276
+ }
277
+
278
+ /**
279
+ * An alias for `checkPermissionsForUpdateMetadata(viewMetadata).hasPermission`.
280
+ *
281
+ * Checks whether the current user has permission to update view metadata.
282
+ *
283
+ * @param viewMetadata
284
+ * @hidden
285
+ */
286
+ hasPermissionToUpdateMetadata(viewMetadata) {
287
+ return this.checkPermissionsForUpdateMetadata(viewMetadata).hasPermission;
288
+ }
289
+
290
+ /**
291
+ * Updates view metadata, this is currently only supported from block views
292
+ * altering their own view's grouping config.
293
+ *
294
+ * @param ViewMetadataForUpdate
295
+ * @hidden
296
+ */
297
+ async updateMetadataAsync(viewMetadata) {
298
+ const metadata = {
299
+ groupLevels: (0, _record_query_result.normalizeSortsOrGroups)(this.parentTable, viewMetadata.groupLevels)
300
+ };
301
+ await this._sdk.__mutations.applyMutationAsync({
302
+ type: _mutations.MutationTypes.UPDATE_VIEW_METADATA,
303
+ tableId: this.parentTable.id,
304
+ viewId: this.id,
305
+ metadata
306
+ });
307
+ }
365
308
 
366
- /**
367
- * Updates view metadata, this is currently only supported from block views
368
- * altering their own view's grouping config.
369
- *
370
- * @param ViewMetadataForUpdate
371
- * @hidden
372
- */
373
- }, {
374
- key: "updateMetadataAsync",
375
- value: (function () {
376
- var _updateMetadataAsync = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(viewMetadata) {
377
- var metadata;
378
- return _regenerator.default.wrap(function _callee3$(_context3) {
379
- while (1) switch (_context3.prev = _context3.next) {
380
- case 0:
381
- metadata = {
382
- groupLevels: (0, _record_query_result.normalizeSortsOrGroups)(this.parentTable, viewMetadata.groupLevels)
383
- };
384
- _context3.next = 3;
385
- return this._sdk.__mutations.applyMutationAsync({
386
- type: _mutations.MutationTypes.UPDATE_VIEW_METADATA,
387
- tableId: this.parentTable.id,
388
- viewId: this.id,
389
- metadata
390
- });
391
- case 3:
392
- case "end":
393
- return _context3.stop();
394
- }
395
- }, _callee3, this);
396
- }));
397
- function updateMetadataAsync(_x) {
398
- return _updateMetadataAsync.apply(this, arguments);
399
- }
400
- return updateMetadataAsync;
401
- }()
402
- /**
403
- * @internal
404
- */
405
- )
406
- }, {
407
- key: "__triggerOnChangeForDirtyPaths",
408
- value: function __triggerOnChangeForDirtyPaths(dirtyPaths) {
409
- var didViewSchemaChange = false;
410
- this._viewDataStore.triggerOnChangeForDirtyPaths(dirtyPaths);
411
- if (dirtyPaths.name) {
412
- this._onChange(WatchableViewKeys.name);
413
- didViewSchemaChange = true;
414
- }
415
- if (dirtyPaths.isLocked) {
416
- this._onChange(WatchableViewKeys.isLockedView);
417
- didViewSchemaChange = true;
418
- }
419
- return didViewSchemaChange;
309
+ /**
310
+ * @internal
311
+ */
312
+ __triggerOnChangeForDirtyPaths(dirtyPaths) {
313
+ let didViewSchemaChange = false;
314
+ this._viewDataStore.triggerOnChangeForDirtyPaths(dirtyPaths);
315
+ if (dirtyPaths.name) {
316
+ this._onChange(WatchableViewKeys.name);
317
+ didViewSchemaChange = true;
420
318
  }
421
- }], [{
422
- key: "_isWatchableKey",
423
- value: /** @internal */
424
- function _isWatchableKey(key) {
425
- return (0, _private_utils.isEnumValue)(WatchableViewKeys, key);
319
+ if (dirtyPaths.isLocked) {
320
+ this._onChange(WatchableViewKeys.isLockedView);
321
+ didViewSchemaChange = true;
426
322
  }
427
- }]);
428
- }(_abstract_model.default);
429
- /** @internal */
430
- (0, _defineProperty2.default)(View, "_className", 'View');
323
+ return didViewSchemaChange;
324
+ }
325
+ }
431
326
  var _default = exports.default = View;