@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,25 +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.object.get-own-property-descriptors.js");
6
- require("core-js/modules/es.object.to-string.js");
7
- require("core-js/modules/web.dom-collections.for-each.js");
8
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
9
3
  Object.defineProperty(exports, "__esModule", {
10
4
  value: true
11
5
  });
12
6
  exports.default = void 0;
13
- require("core-js/modules/es.string.starts-with.js");
14
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
15
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
16
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
17
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
18
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
- var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
20
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
22
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
7
  var _record_core = require("../../shared/models/record_core");
24
8
  var _private_utils = require("../../shared/private_utils");
25
9
  var _error_utils = require("../../shared/error_utils");
@@ -27,19 +11,19 @@ var _color_utils = _interopRequireDefault(require("../../shared/color_utils"));
27
11
  var _linked_records_query_result = _interopRequireDefault(require("./linked_records_query_result"));
28
12
  var _object_pool = _interopRequireDefault(require("./object_pool"));
29
13
  var _record_query_result = _interopRequireDefault(require("./record_query_result"));
30
- 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)); }
31
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
32
- 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; }
33
- 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: Record */ /** */
34
- var WatchableRecordKeys = Object.freeze(_objectSpread(_objectSpread({}, _record_core.WatchableRecordKeysCore), {}, {
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ /** @module @airtable/blocks/models: Record */ /** */
16
+
17
+ const WatchableRecordKeys = Object.freeze({
18
+ ..._record_core.WatchableRecordKeysCore,
35
19
  commentCount: 'commentCount'
36
- }));
20
+ });
37
21
  // TODO: load cell values in field when this is watched? This will
38
22
  // cause the CellRenderer component to load cell values, which seems okay,
39
23
  // but needs a little more thought.
40
- var WatchableCellValueInFieldKeyPrefix = 'cellValueInField:';
24
+ const WatchableCellValueInFieldKeyPrefix = 'cellValueInField:';
41
25
  // TODO: load view data when this is watched. see previous comment.
42
- var WatchableColorInViewKeyPrefix = 'colorInView:';
26
+ const WatchableColorInViewKeyPrefix = 'colorInView:';
43
27
  /**
44
28
  * Any key within record that can be watched:
45
29
  * - `'name'`
@@ -48,6 +32,7 @@ var WatchableColorInViewKeyPrefix = 'colorInView:';
48
32
  * - `'cellValueInField:' + someFieldId`
49
33
  * - `'colorInView:' + someViewId`
50
34
  */
35
+
51
36
  /**
52
37
  * Model class representing a record in a table.
53
38
  *
@@ -56,249 +41,199 @@ var WatchableColorInViewKeyPrefix = 'colorInView:';
56
41
  *
57
42
  * @docsPath models/Record
58
43
  */
59
- var Record = /*#__PURE__*/function (_RecordCore) {
44
+ class Record extends _record_core.RecordCore {
45
+ /** @internal */
46
+ static _className = 'Record';
47
+ /** @internal */
48
+ static _isWatchableKey(key) {
49
+ return (0, _private_utils.isEnumValue)(WatchableRecordKeys, key) || key.startsWith(WatchableCellValueInFieldKeyPrefix) || key.startsWith(WatchableColorInViewKeyPrefix);
50
+ }
51
+ /** @internal */
52
+
60
53
  /**
61
54
  * @internal
62
55
  */
63
- function Record(sdk, parentRecordStore, parentTable, recordId) {
64
- var _this;
65
- (0, _classCallCheck2.default)(this, Record);
66
- _this = _callSuper(this, Record, [sdk, parentRecordStore, parentTable, recordId]);
67
- /** @internal */
68
- (0, _defineProperty2.default)(_this, "__linkedRecordsQueryResultPool", void 0);
69
- _this.__linkedRecordsQueryResultPool = new _object_pool.default(_linked_records_query_result.default);
70
- return _this;
56
+ constructor(sdk, parentRecordStore, parentTable, recordId) {
57
+ super(sdk, parentRecordStore, parentTable, recordId);
58
+ this.__linkedRecordsQueryResultPool = new _object_pool.default(_linked_records_query_result.default);
71
59
  }
72
60
  /**
73
61
  * @internal
74
62
  */
75
- (0, _inherits2.default)(Record, _RecordCore);
76
- return (0, _createClass2.default)(Record, [{
77
- key: "_getViewMatching",
78
- value: function _getViewMatching(viewOrViewIdOrViewName) {
79
- return this.parentTable.__getViewMatching(viewOrViewIdOrViewName);
80
- }
63
+ _getViewMatching(viewOrViewIdOrViewName) {
64
+ return this.parentTable.__getViewMatching(viewOrViewIdOrViewName);
65
+ }
81
66
 
82
- /**
83
- * Gets the cell value of the given field for this record, formatted as a `string`.
84
- *
85
- * @param fieldOrFieldIdOrFieldName The field (or field ID or field name) whose cell value you'd like to get.
86
- * @example
87
- * ```js
88
- * const stringValue = myRecord.getCellValueAsString(myNumberField);
89
- * console.log(stringValue);
90
- * // => '42'
91
- * ```
92
- */
93
- }, {
94
- key: "getCellValueAsString",
95
- value: function getCellValueAsString(fieldOrFieldIdOrFieldName) {
96
- var field = this._getFieldMatching(fieldOrFieldIdOrFieldName);
97
- (0, _error_utils.invariant)(this._parentRecordStore.areCellValuesLoadedForFieldId(field.id), 'Cell values for field %s are not loaded', field.id);
98
- return (0, _get2.default)((0, _getPrototypeOf2.default)(Record.prototype), "getCellValueAsString", this).call(this, field.id);
99
- }
100
- }, {
101
- key: "_getRawCellValue",
102
- value: function _getRawCellValue(field) {
103
- (0, _error_utils.invariant)(this._parentRecordStore.areCellValuesLoadedForFieldId(field.id), 'Cell values for field %s are not loaded', field.id);
104
- return (0, _get2.default)((0, _getPrototypeOf2.default)(Record.prototype), "_getRawCellValue", this).call(this, field);
105
- }
67
+ /**
68
+ * Gets the cell value of the given field for this record, formatted as a `string`.
69
+ *
70
+ * @param fieldOrFieldIdOrFieldName The field (or field ID or field name) whose cell value you'd like to get.
71
+ * @example
72
+ * ```js
73
+ * const stringValue = myRecord.getCellValueAsString(myNumberField);
74
+ * console.log(stringValue);
75
+ * // => '42'
76
+ * ```
77
+ */
78
+ getCellValueAsString(fieldOrFieldIdOrFieldName) {
79
+ const field = this._getFieldMatching(fieldOrFieldIdOrFieldName);
80
+ (0, _error_utils.invariant)(this._parentRecordStore.areCellValuesLoadedForFieldId(field.id), 'Cell values for field %s are not loaded', field.id);
81
+ return super.getCellValueAsString(field.id);
82
+ }
83
+ _getRawCellValue(field) {
84
+ (0, _error_utils.invariant)(this._parentRecordStore.areCellValuesLoadedForFieldId(field.id), 'Cell values for field %s are not loaded', field.id);
85
+ return super._getRawCellValue(field);
86
+ }
106
87
 
107
- /**
108
- * Returns a URL that is suitable for rendering an attachment on the current client.
109
- * The URL that is returned will only work for the current user.
110
- *
111
- * @param attachmentId The ID of the attachment.
112
- * @param attachmentUrl The attachment's URL (which is not suitable for rendering on the client).
113
- * @example
114
- * ```js
115
- * import React from 'react';
116
- *
117
- * function RecordAttachments(props) {
118
- * const {record, attachmentField} = props;
119
- * const attachmentCellValue = record.getCellValue(attachmentField);
120
- * if (attachmentCellValue === null) {
121
- * return null;
122
- * }
123
- * return (
124
- * <div>
125
- * {attachmentCellValue.map(attachmentObj => {
126
- * const clientUrl =
127
- * record.getAttachmentClientUrlFromCellValueUrl(
128
- * attachmentObj.id,
129
- * attachmentObj.url
130
- * );
131
- * return (
132
- * <img key={attachmentObj.id} src={clientUrl} width={200} />
133
- * );
134
- * })}
135
- * </div>
136
- * );
137
- * }
138
- * ```
139
- */
140
- }, {
141
- key: "getAttachmentClientUrlFromCellValueUrl",
142
- value: function getAttachmentClientUrlFromCellValueUrl(attachmentId, attachmentUrl) {
143
- var airtableInterface = this._sdk.__airtableInterface;
144
- var appInterface = this._sdk.__appInterface;
145
- return airtableInterface.urlConstructor.getAttachmentClientUrl(appInterface, attachmentId, attachmentUrl);
146
- }
147
- /**
148
- * Gets the color of this record in a given view, or null if the record has no color in that
149
- * view.
150
- *
151
- * Can be watched with the 'colorInView:${ViewId}' key.
152
- *
153
- * @param viewOrViewIdOrViewName The view (or view ID or view name) to use for record coloring.
154
- */
155
- }, {
156
- key: "getColorInView",
157
- value: function getColorInView(viewOrViewIdOrViewName) {
158
- var view = this._getViewMatching(viewOrViewIdOrViewName);
159
- return this._parentRecordStore.getViewDataStore(view.id).getRecordColor(this);
160
- }
161
- /**
162
- * Gets the CSS hex string for this record in a given view, or null if the record has no color
163
- * in that view.
164
- *
165
- * Can be watched with the 'colorInView:${ViewId}' key.
166
- *
167
- * @param viewOrViewIdOrViewName The view (or view ID or view name) to use for record coloring.
168
- */
169
- }, {
170
- key: "getColorHexInView",
171
- value: function getColorHexInView(viewOrViewIdOrViewName) {
172
- var color = this.getColorInView(viewOrViewIdOrViewName);
173
- if (!color) {
174
- return null;
175
- }
176
- return _color_utils.default.getHexForColor(color);
177
- }
178
- /**
179
- * Select records referenced in a `multipleRecordLinks` cell value. Returns a query result
180
- * containing the records in the given `multipleRecordLinks` field.
181
- * See {@link RecordQueryResult} for more.
182
- *
183
- * @param fieldOrFieldIdOrFieldName The `multipleRecordLinks` field (or field ID or field name) to use.
184
- * @param opts Options for the query, such as sorts and fields.
185
- */
186
- }, {
187
- key: "selectLinkedRecordsFromCell",
188
- value: function selectLinkedRecordsFromCell(fieldOrFieldIdOrFieldName) {
189
- var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
190
- var field = this._getFieldMatching(fieldOrFieldIdOrFieldName);
191
- var linkedTableId = field.options && field.options.linkedTableId;
192
- (0, _error_utils.invariant)(typeof linkedTableId === 'string', 'linkedTableId must be set');
193
- var linkedTable = this._sdk.base.getTableById(linkedTableId);
194
- var linkedRecordStore = this._sdk.base.__getRecordStore(linkedTableId);
195
- var normalizedOpts = _record_query_result.default._normalizeOpts(linkedTable, linkedRecordStore, opts);
196
- return this.__linkedRecordsQueryResultPool.getObjectForReuse(this, field, normalizedOpts, this._sdk);
197
- }
198
- /**
199
- * Select and load records referenced in a `multipleRecordLinks` cell value. Returns a query result
200
- * promise containing the records in the given `multipleRecordLinks` field.
201
- * See {@link RecordQueryResult} for more.
202
- *
203
- * Remember to call `queryResult.unloadData` once you're finished with the query.
204
- *
205
- * @param fieldOrFieldIdOrFieldName The `multipleRecordLinks` field (or field ID or field name) to use.
206
- * @param opts Options for the query, such as sorts and fields.
207
- */
208
- }, {
209
- key: "selectLinkedRecordsFromCellAsync",
210
- value: (function () {
211
- var _selectLinkedRecordsFromCellAsync = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(fieldOrFieldIdOrFieldName) {
212
- var opts,
213
- queryResult,
214
- _args = arguments;
215
- return _regenerator.default.wrap(function _callee$(_context) {
216
- while (1) switch (_context.prev = _context.next) {
217
- case 0:
218
- opts = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
219
- queryResult = this.selectLinkedRecordsFromCell(fieldOrFieldIdOrFieldName, opts);
220
- _context.next = 4;
221
- return queryResult.loadDataAsync();
222
- case 4:
223
- return _context.abrupt("return", queryResult);
224
- case 5:
225
- case "end":
226
- return _context.stop();
227
- }
228
- }, _callee, this);
229
- }));
230
- function selectLinkedRecordsFromCellAsync(_x) {
231
- return _selectLinkedRecordsFromCellAsync.apply(this, arguments);
232
- }
233
- return selectLinkedRecordsFromCellAsync;
234
- }()
235
- /**
236
- * The URL for the record. You can visit this URL in the browser to be taken to the record in the Airtable UI.
237
- *
238
- * @example
239
- * ```js
240
- * console.log(myRecord.url);
241
- * // => 'https://airtable.com/appxxxxxxxxxxxxxx/tblxxxxxxxxxxxxxx/recxxxxxxxxxxxxxx'
242
- * ```
243
- */
244
- )
245
- }, {
246
- key: "url",
247
- get: function get() {
248
- return this._sdk.__airtableInterface.urlConstructor.getRecordUrl(this.id, this.parentTable.id);
249
- }
250
- /**
251
- * The number of comments on this record.
252
- *
253
- * @example
254
- * ```js
255
- * const commentCount = myRecord.commentCount;
256
- * const isSingular = commentCount === 1;
257
- * console.log(
258
- * `This record has ${commentCount} comment${isSingular ? '' : 's'}`
259
- * );
260
- * ```
261
- */
262
- }, {
263
- key: "commentCount",
264
- get: function get() {
265
- return this._data.commentCount;
88
+ /**
89
+ * Returns a URL that is suitable for rendering an attachment on the current client.
90
+ * The URL that is returned will only work for the current user.
91
+ *
92
+ * @param attachmentId The ID of the attachment.
93
+ * @param attachmentUrl The attachment's URL (which is not suitable for rendering on the client).
94
+ * @example
95
+ * ```js
96
+ * import React from 'react';
97
+ *
98
+ * function RecordAttachments(props) {
99
+ * const {record, attachmentField} = props;
100
+ * const attachmentCellValue = record.getCellValue(attachmentField);
101
+ * if (attachmentCellValue === null) {
102
+ * return null;
103
+ * }
104
+ * return (
105
+ * <div>
106
+ * {attachmentCellValue.map(attachmentObj => {
107
+ * const clientUrl =
108
+ * record.getAttachmentClientUrlFromCellValueUrl(
109
+ * attachmentObj.id,
110
+ * attachmentObj.url
111
+ * );
112
+ * return (
113
+ * <img key={attachmentObj.id} src={clientUrl} width={200} />
114
+ * );
115
+ * })}
116
+ * </div>
117
+ * );
118
+ * }
119
+ * ```
120
+ */
121
+ getAttachmentClientUrlFromCellValueUrl(attachmentId, attachmentUrl) {
122
+ const airtableInterface = this._sdk.__airtableInterface;
123
+ const appInterface = this._sdk.__appInterface;
124
+ return airtableInterface.urlConstructor.getAttachmentClientUrl(appInterface, attachmentId, attachmentUrl);
125
+ }
126
+ /**
127
+ * Gets the color of this record in a given view, or null if the record has no color in that
128
+ * view.
129
+ *
130
+ * Can be watched with the 'colorInView:${ViewId}' key.
131
+ *
132
+ * @param viewOrViewIdOrViewName The view (or view ID or view name) to use for record coloring.
133
+ */
134
+ getColorInView(viewOrViewIdOrViewName) {
135
+ const view = this._getViewMatching(viewOrViewIdOrViewName);
136
+ return this._parentRecordStore.getViewDataStore(view.id).getRecordColor(this);
137
+ }
138
+ /**
139
+ * Gets the CSS hex string for this record in a given view, or null if the record has no color
140
+ * in that view.
141
+ *
142
+ * Can be watched with the 'colorInView:${ViewId}' key.
143
+ *
144
+ * @param viewOrViewIdOrViewName The view (or view ID or view name) to use for record coloring.
145
+ */
146
+ getColorHexInView(viewOrViewIdOrViewName) {
147
+ const color = this.getColorInView(viewOrViewIdOrViewName);
148
+ if (!color) {
149
+ return null;
266
150
  }
267
- /**
268
- * @internal
269
- */
270
- }, {
271
- key: "__triggerOnChangeForDirtyPaths",
272
- value: function __triggerOnChangeForDirtyPaths(dirtyPaths) {
273
- (0, _get2.default)((0, _getPrototypeOf2.default)(Record.prototype), "__triggerOnChangeForDirtyPaths", this).call(this, dirtyPaths);
274
- var cellValuesByFieldId = dirtyPaths.cellValuesByFieldId,
275
- commentCount = dirtyPaths.commentCount;
276
- if (cellValuesByFieldId && !(0, _private_utils.isObjectEmpty)(cellValuesByFieldId)) {
277
- for (var _i = 0, _Object$keys = Object.keys(cellValuesByFieldId); _i < _Object$keys.length; _i++) {
278
- var fieldId = _Object$keys[_i];
279
- this._onChange(WatchableCellValueInFieldKeyPrefix + fieldId, fieldId);
280
- }
281
- }
282
- if (commentCount) {
283
- this._onChange(WatchableRecordKeys.commentCount);
151
+ return _color_utils.default.getHexForColor(color);
152
+ }
153
+ /**
154
+ * Select records referenced in a `multipleRecordLinks` cell value. Returns a query result
155
+ * containing the records in the given `multipleRecordLinks` field.
156
+ * See {@link RecordQueryResult} for more.
157
+ *
158
+ * @param fieldOrFieldIdOrFieldName The `multipleRecordLinks` field (or field ID or field name) to use.
159
+ * @param opts Options for the query, such as sorts and fields.
160
+ */
161
+ selectLinkedRecordsFromCell(fieldOrFieldIdOrFieldName) {
162
+ let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
163
+ const field = this._getFieldMatching(fieldOrFieldIdOrFieldName);
164
+ const linkedTableId = field.options && field.options.linkedTableId;
165
+ (0, _error_utils.invariant)(typeof linkedTableId === 'string', 'linkedTableId must be set');
166
+ const linkedTable = this._sdk.base.getTableById(linkedTableId);
167
+ const linkedRecordStore = this._sdk.base.__getRecordStore(linkedTableId);
168
+ const normalizedOpts = _record_query_result.default._normalizeOpts(linkedTable, linkedRecordStore, opts);
169
+ return this.__linkedRecordsQueryResultPool.getObjectForReuse(this, field, normalizedOpts, this._sdk);
170
+ }
171
+ /**
172
+ * Select and load records referenced in a `multipleRecordLinks` cell value. Returns a query result
173
+ * promise containing the records in the given `multipleRecordLinks` field.
174
+ * See {@link RecordQueryResult} for more.
175
+ *
176
+ * Remember to call `queryResult.unloadData` once you're finished with the query.
177
+ *
178
+ * @param fieldOrFieldIdOrFieldName The `multipleRecordLinks` field (or field ID or field name) to use.
179
+ * @param opts Options for the query, such as sorts and fields.
180
+ */
181
+ async selectLinkedRecordsFromCellAsync(fieldOrFieldIdOrFieldName) {
182
+ let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
183
+ const queryResult = this.selectLinkedRecordsFromCell(fieldOrFieldIdOrFieldName, opts);
184
+ await queryResult.loadDataAsync();
185
+ return queryResult;
186
+ }
187
+ /**
188
+ * The URL for the record. You can visit this URL in the browser to be taken to the record in the Airtable UI.
189
+ *
190
+ * @example
191
+ * ```js
192
+ * console.log(myRecord.url);
193
+ * // => 'https://airtable.com/appxxxxxxxxxxxxxx/tblxxxxxxxxxxxxxx/recxxxxxxxxxxxxxx'
194
+ * ```
195
+ */
196
+ get url() {
197
+ return this._sdk.__airtableInterface.urlConstructor.getRecordUrl(this.id, this.parentTable.id);
198
+ }
199
+ /**
200
+ * The number of comments on this record.
201
+ *
202
+ * @example
203
+ * ```js
204
+ * const commentCount = myRecord.commentCount;
205
+ * const isSingular = commentCount === 1;
206
+ * console.log(
207
+ * `This record has ${commentCount} comment${isSingular ? '' : 's'}`
208
+ * );
209
+ * ```
210
+ */
211
+ get commentCount() {
212
+ return this._data.commentCount;
213
+ }
214
+ /**
215
+ * @internal
216
+ */
217
+ __triggerOnChangeForDirtyPaths(dirtyPaths) {
218
+ super.__triggerOnChangeForDirtyPaths(dirtyPaths);
219
+ const {
220
+ cellValuesByFieldId,
221
+ commentCount
222
+ } = dirtyPaths;
223
+ if (cellValuesByFieldId && !(0, _private_utils.isObjectEmpty)(cellValuesByFieldId)) {
224
+ for (const fieldId of Object.keys(cellValuesByFieldId)) {
225
+ this._onChange(WatchableCellValueInFieldKeyPrefix + fieldId, fieldId);
284
226
  }
285
227
  }
286
- /**
287
- * @internal
288
- */
289
- }, {
290
- key: "__triggerOnChangeForRecordColorInViewId",
291
- value: function __triggerOnChangeForRecordColorInViewId(viewId) {
292
- this._onChange(WatchableColorInViewKeyPrefix + viewId);
228
+ if (commentCount) {
229
+ this._onChange(WatchableRecordKeys.commentCount);
293
230
  }
294
- }], [{
295
- key: "_isWatchableKey",
296
- value: /** @internal */
297
- function _isWatchableKey(key) {
298
- return (0, _private_utils.isEnumValue)(WatchableRecordKeys, key) || key.startsWith(WatchableCellValueInFieldKeyPrefix) || key.startsWith(WatchableColorInViewKeyPrefix);
299
- }
300
- }]);
301
- }(_record_core.RecordCore);
302
- /** @internal */
303
- (0, _defineProperty2.default)(Record, "_className", 'Record');
231
+ }
232
+ /**
233
+ * @internal
234
+ */
235
+ __triggerOnChangeForRecordColorInViewId(viewId) {
236
+ this._onChange(WatchableColorInViewKeyPrefix + viewId);
237
+ }
238
+ }
304
239
  var _default = exports.default = Record;
@@ -13,7 +13,7 @@ exports.serialize = exports.modes = exports.ModeTypes = void 0;
13
13
  * @hidden
14
14
  * @alias recordColoring.ModeTypes
15
15
  */
16
- var ModeTypes = exports.ModeTypes = {
16
+ const ModeTypes = exports.ModeTypes = {
17
17
  /**
18
18
  * @alias recordColoring.ModeTypes.NONE
19
19
  */
@@ -40,12 +40,12 @@ var ModeTypes = exports.ModeTypes = {
40
40
 
41
41
  /** */
42
42
 
43
- var serialize = mode => {
44
- var result = mode.type;
43
+ const serialize = mode => {
44
+ let result = mode.type;
45
45
  if (mode.type === ModeTypes.BY_SELECT_FIELD) {
46
- result += "-".concat(mode.selectField.id);
46
+ result += `-${mode.selectField.id}`;
47
47
  } else if (mode.type === ModeTypes.BY_VIEW) {
48
- result += "-".concat(mode.view.id);
48
+ result += `-${mode.view.id}`;
49
49
  }
50
50
  return result;
51
51
  };
@@ -74,7 +74,7 @@ var serialize = mode => {
74
74
  * ```
75
75
  */
76
76
  exports.serialize = serialize;
77
- var modes = exports.modes = {
77
+ const modes = exports.modes = {
78
78
  /**
79
79
  * Returns a {@link RecordColorMode} that represents no record coloring.
80
80
  *