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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (679) hide show
  1. package/dist/esm/base/assert_run_context.js +12 -0
  2. package/dist/{cjs → esm}/base/index.js +30 -32
  3. package/dist/esm/base/models/abstract_model_with_async_data.js +190 -0
  4. package/dist/esm/base/models/base.js +252 -0
  5. package/dist/esm/base/models/create_aggregators.js +90 -0
  6. package/dist/esm/base/models/cursor.js +305 -0
  7. package/dist/esm/base/models/field.js +338 -0
  8. package/dist/esm/base/models/grouped_record_query_result.js +280 -0
  9. package/dist/esm/base/models/linked_records_query_result.js +553 -0
  10. package/dist/{cjs → esm}/base/models/models.js +19 -40
  11. package/dist/esm/base/models/mutations.js +312 -0
  12. package/dist/esm/base/models/object_pool.js +145 -0
  13. package/dist/esm/base/models/record.js +239 -0
  14. package/dist/{cjs → esm}/base/models/record_coloring.js +6 -6
  15. package/dist/esm/base/models/record_query_result.js +657 -0
  16. package/dist/esm/base/models/record_store.js +475 -0
  17. package/dist/esm/base/models/session.js +154 -0
  18. package/dist/esm/base/models/table.js +520 -0
  19. package/dist/esm/base/models/table_or_view_query_result.js +749 -0
  20. package/dist/esm/base/models/view.js +326 -0
  21. package/dist/esm/base/models/view_data_store.js +265 -0
  22. package/dist/esm/base/models/view_metadata_query_result.js +176 -0
  23. package/dist/esm/base/perform_record_action.js +215 -0
  24. package/dist/esm/base/sdk.js +178 -0
  25. package/dist/esm/base/settings_button.js +118 -0
  26. package/dist/{cjs → esm}/base/types/airtable_interface.js +1 -1
  27. package/dist/{cjs → esm}/base/types/mutations.js +5 -11
  28. package/dist/{cjs → esm}/base/types/undo_redo.js +1 -1
  29. package/dist/{cjs → esm}/base/types/view.js +1 -1
  30. package/dist/{cjs → esm}/base/ui/base_provider.js +6 -8
  31. package/dist/esm/base/ui/baymax_utils.js +461 -0
  32. package/dist/esm/base/ui/block_wrapper.js +118 -0
  33. package/dist/esm/base/ui/box.js +84 -0
  34. package/dist/esm/base/ui/button.js +152 -0
  35. package/dist/esm/base/ui/cell_renderer.js +198 -0
  36. package/dist/esm/base/ui/choice_token.js +93 -0
  37. package/dist/esm/base/ui/collaborator_token.js +123 -0
  38. package/dist/esm/base/ui/color_palette.js +196 -0
  39. package/dist/esm/base/ui/color_palette_synced.js +69 -0
  40. package/dist/esm/base/ui/confirmation_dialog.js +103 -0
  41. package/dist/{cjs → esm}/base/ui/control_sizes.js +24 -22
  42. package/dist/{cjs → esm}/base/ui/create_detect_element_resize.js +6 -10
  43. package/dist/{cjs → esm}/base/ui/css_helpers.js +1 -1
  44. package/dist/esm/base/ui/dialog.js +101 -0
  45. package/dist/esm/base/ui/dialog_close_button.js +106 -0
  46. package/dist/{cjs → esm}/base/ui/expand_record.js +1 -2
  47. package/dist/{cjs → esm}/base/ui/expand_record_list.js +3 -4
  48. package/dist/esm/base/ui/expand_record_picker_async.js +71 -0
  49. package/dist/esm/base/ui/field_icon.js +44 -0
  50. package/dist/esm/base/ui/field_picker.js +98 -0
  51. package/dist/esm/base/ui/field_picker_synced.js +66 -0
  52. package/dist/esm/base/ui/form_field.js +109 -0
  53. package/dist/{cjs → esm}/base/ui/geometry/geometry.js +5 -5
  54. package/dist/esm/base/ui/geometry/point.js +19 -0
  55. package/dist/esm/base/ui/geometry/rect.js +51 -0
  56. package/dist/esm/base/ui/geometry/size.js +19 -0
  57. package/dist/esm/base/ui/global_alert.js +71 -0
  58. package/dist/esm/base/ui/heading.js +132 -0
  59. package/dist/esm/base/ui/icon.js +109 -0
  60. package/dist/{cjs → esm}/base/ui/icon_config.js +6 -12
  61. package/dist/{cjs → esm}/base/ui/initialize_block.js +16 -35
  62. package/dist/esm/base/ui/input.js +161 -0
  63. package/dist/esm/base/ui/input_synced.js +66 -0
  64. package/dist/{cjs → esm}/base/ui/key_codes.js +2 -3
  65. package/dist/esm/base/ui/label.js +80 -0
  66. package/dist/esm/base/ui/link.js +196 -0
  67. package/dist/esm/base/ui/loader.js +61 -0
  68. package/dist/esm/base/ui/modal.js +145 -0
  69. package/dist/esm/base/ui/model_picker_select.js +57 -0
  70. package/dist/esm/base/ui/popover.js +315 -0
  71. package/dist/esm/base/ui/progress_bar.js +115 -0
  72. package/dist/esm/base/ui/record_card.js +564 -0
  73. package/dist/esm/base/ui/record_card_list.js +303 -0
  74. package/dist/esm/base/ui/select.js +191 -0
  75. package/dist/esm/base/ui/select_and_select_buttons_helpers.js +63 -0
  76. package/dist/esm/base/ui/select_buttons.js +159 -0
  77. package/dist/esm/base/ui/select_buttons_synced.js +62 -0
  78. package/dist/esm/base/ui/select_synced.js +65 -0
  79. package/dist/esm/base/ui/switch.js +167 -0
  80. package/dist/esm/base/ui/switch_synced.js +53 -0
  81. package/dist/esm/base/ui/synced.js +49 -0
  82. package/dist/{cjs → esm}/base/ui/system/all_styles_set.js +4 -12
  83. package/dist/esm/base/ui/system/appearance/appearance_set.js +27 -0
  84. package/dist/esm/base/ui/system/appearance/background_color.js +18 -0
  85. package/dist/{cjs → esm}/base/ui/system/appearance/border.js +3 -6
  86. package/dist/esm/base/ui/system/appearance/border_radius.js +18 -0
  87. package/dist/esm/base/ui/system/appearance/box_shadow.js +18 -0
  88. package/dist/esm/base/ui/system/appearance/opacity.js +18 -0
  89. package/dist/esm/base/ui/system/dimensions/dimensions_set.js +29 -0
  90. package/dist/esm/base/ui/system/dimensions/height.js +18 -0
  91. package/dist/esm/base/ui/system/dimensions/max_height.js +18 -0
  92. package/dist/esm/base/ui/system/dimensions/max_width.js +18 -0
  93. package/dist/esm/base/ui/system/dimensions/min_height.js +18 -0
  94. package/dist/esm/base/ui/system/dimensions/min_width.js +18 -0
  95. package/dist/esm/base/ui/system/dimensions/width.js +18 -0
  96. package/dist/esm/base/ui/system/display.js +19 -0
  97. package/dist/esm/base/ui/system/flex_container/align_content.js +15 -0
  98. package/dist/esm/base/ui/system/flex_container/align_items.js +15 -0
  99. package/dist/esm/base/ui/system/flex_container/flex_container_set.js +29 -0
  100. package/dist/esm/base/ui/system/flex_container/flex_direction.js +15 -0
  101. package/dist/esm/base/ui/system/flex_container/flex_wrap.js +15 -0
  102. package/dist/esm/base/ui/system/flex_container/justify_content.js +15 -0
  103. package/dist/esm/base/ui/system/flex_container/justify_items.js +16 -0
  104. package/dist/esm/base/ui/system/flex_item/align_self.js +15 -0
  105. package/dist/esm/base/ui/system/flex_item/flex.js +15 -0
  106. package/dist/esm/base/ui/system/flex_item/flex_basis.js +15 -0
  107. package/dist/esm/base/ui/system/flex_item/flex_grow.js +15 -0
  108. package/dist/esm/base/ui/system/flex_item/flex_item_set.js +31 -0
  109. package/dist/esm/base/ui/system/flex_item/flex_shrink.js +15 -0
  110. package/dist/esm/base/ui/system/flex_item/justify_self.js +16 -0
  111. package/dist/esm/base/ui/system/flex_item/order.js +15 -0
  112. package/dist/{cjs → esm}/base/ui/system/index.js +104 -416
  113. package/dist/esm/base/ui/system/overflow.js +21 -0
  114. package/dist/{cjs → esm}/base/ui/system/position/bottom.js +4 -6
  115. package/dist/{cjs → esm}/base/ui/system/position/left.js +4 -6
  116. package/dist/esm/base/ui/system/position/position.js +15 -0
  117. package/dist/esm/base/ui/system/position/position_set.js +29 -0
  118. package/dist/{cjs → esm}/base/ui/system/position/right.js +4 -6
  119. package/dist/{cjs → esm}/base/ui/system/position/top.js +4 -6
  120. package/dist/esm/base/ui/system/position/z_index.js +18 -0
  121. package/dist/{cjs → esm}/base/ui/system/spacing/margin.js +4 -6
  122. package/dist/{cjs → esm}/base/ui/system/spacing/padding.js +4 -6
  123. package/dist/esm/base/ui/system/spacing/spacing_set.js +21 -0
  124. package/dist/esm/base/ui/system/typography/font_family.js +18 -0
  125. package/dist/esm/base/ui/system/typography/font_size.js +18 -0
  126. package/dist/esm/base/ui/system/typography/font_style.js +15 -0
  127. package/dist/esm/base/ui/system/typography/font_weight.js +18 -0
  128. package/dist/esm/base/ui/system/typography/letter_spacing.js +18 -0
  129. package/dist/esm/base/ui/system/typography/line_height.js +15 -0
  130. package/dist/esm/base/ui/system/typography/text_align.js +15 -0
  131. package/dist/esm/base/ui/system/typography/text_color.js +18 -0
  132. package/dist/esm/base/ui/system/typography/text_decoration.js +15 -0
  133. package/dist/esm/base/ui/system/typography/text_transform.js +15 -0
  134. package/dist/esm/base/ui/system/typography/typography_set.js +37 -0
  135. package/dist/{cjs → esm}/base/ui/system/utils/ensure_numbers_are_within_scale.js +3 -4
  136. package/dist/esm/base/ui/system/utils/get_style_props_for_responsive_prop.js +73 -0
  137. package/dist/esm/base/ui/table_picker.js +71 -0
  138. package/dist/esm/base/ui/table_picker_synced.js +62 -0
  139. package/dist/esm/base/ui/text.js +117 -0
  140. package/dist/esm/base/ui/text_button.js +196 -0
  141. package/dist/{cjs → esm}/base/ui/theme/default_theme/button_variants.js +3 -3
  142. package/dist/esm/base/ui/theme/default_theme/control_sizes.js +102 -0
  143. package/dist/{cjs → esm}/base/ui/theme/default_theme/heading_styles.js +1 -1
  144. package/dist/{cjs → esm}/base/ui/theme/default_theme/index.js +9 -15
  145. package/dist/{cjs → esm}/base/ui/theme/default_theme/input_variants.js +3 -3
  146. package/dist/{cjs → esm}/base/ui/theme/default_theme/link_variants.js +3 -3
  147. package/dist/{cjs → esm}/base/ui/theme/default_theme/select_buttons_variants.js +4 -4
  148. package/dist/esm/base/ui/theme/default_theme/select_variants.js +50 -0
  149. package/dist/esm/base/ui/theme/default_theme/switch_variants.js +85 -0
  150. package/dist/{cjs → esm}/base/ui/theme/default_theme/text_button_variants.js +5 -5
  151. package/dist/{cjs → esm}/base/ui/theme/default_theme/text_styles.js +1 -1
  152. package/dist/{cjs → esm}/base/ui/theme/default_theme/tokens.js +14 -14
  153. package/dist/{cjs → esm}/base/ui/theme/theme_context.js +2 -2
  154. package/dist/{cjs → esm}/base/ui/theme/use_theme.js +2 -2
  155. package/dist/esm/base/ui/tooltip.js +175 -0
  156. package/dist/{cjs → esm}/base/ui/ui.js +48 -49
  157. package/dist/{cjs → esm}/base/ui/unstable_standalone_ui.js +27 -27
  158. package/dist/{cjs → esm}/base/ui/use_base.js +1 -1
  159. package/dist/{cjs → esm}/base/ui/use_cursor.js +5 -4
  160. package/dist/{cjs → esm}/base/ui/use_form_field.js +1 -1
  161. package/dist/{cjs → esm}/base/ui/use_loadable.js +25 -91
  162. package/dist/{cjs → esm}/base/ui/use_record_action_data.js +4 -3
  163. package/dist/{cjs → esm}/base/ui/use_records.js +9 -13
  164. package/dist/{cjs → esm}/base/ui/use_session.js +1 -1
  165. package/dist/{cjs → esm}/base/ui/use_settings_button.js +4 -3
  166. package/dist/esm/base/ui/use_styled_system.js +25 -0
  167. package/dist/{cjs → esm}/base/ui/use_text_color_for_background_color.js +4 -3
  168. package/dist/{cjs → esm}/base/ui/use_view_metadata.js +4 -4
  169. package/dist/{cjs → esm}/base/ui/use_viewport.js +2 -2
  170. package/dist/esm/base/ui/view_picker.js +89 -0
  171. package/dist/esm/base/ui/view_picker_synced.js +66 -0
  172. package/dist/esm/base/ui/viewport_constraint.js +129 -0
  173. package/dist/esm/base/ui/with_styled_system.js +129 -0
  174. package/dist/esm/base/undo_redo.js +37 -0
  175. package/dist/{cjs → esm}/base/unstable_testing_utils.js +27 -27
  176. package/dist/esm/base/viewport.js +353 -0
  177. package/dist/esm/injected/airtable_interface.js +22 -0
  178. package/dist/esm/interface/assert_run_context.js +12 -0
  179. package/dist/esm/interface/index.js +22 -0
  180. package/dist/esm/interface/models/base.js +35 -0
  181. package/dist/esm/interface/models/field.js +28 -0
  182. package/dist/{cjs → esm}/interface/models/models.js +8 -7
  183. package/dist/esm/interface/models/mutations.js +63 -0
  184. package/dist/esm/interface/models/record.js +51 -0
  185. package/dist/esm/interface/models/record_store.js +51 -0
  186. package/dist/esm/interface/models/session.js +28 -0
  187. package/dist/esm/interface/models/table.js +97 -0
  188. package/dist/esm/interface/sdk.js +78 -0
  189. package/dist/{cjs → esm}/interface/types/airtable_interface.js +2 -2
  190. package/dist/esm/interface/types/mutations.js +17 -0
  191. package/dist/esm/interface/ui/block_wrapper.js +69 -0
  192. package/dist/{cjs → esm}/interface/ui/initialize_block.js +13 -28
  193. package/dist/{cjs → esm}/interface/ui/ui.js +20 -19
  194. package/dist/{cjs → esm}/interface/ui/use_base.js +1 -1
  195. package/dist/{cjs → esm}/interface/ui/use_custom_properties.js +19 -35
  196. package/dist/{cjs → esm}/interface/ui/use_records.js +6 -5
  197. package/dist/{cjs → esm}/interface/ui/use_run_info.js +2 -2
  198. package/dist/{cjs → esm}/interface/ui/use_session.js +1 -1
  199. package/dist/{cjs → esm}/shared/color_utils.js +9 -16
  200. package/dist/{cjs → esm}/shared/colors.js +2 -2
  201. package/dist/{cjs → esm}/shared/error_utils.js +9 -11
  202. package/dist/{cjs → esm}/shared/event_tracker.js +3 -3
  203. package/dist/esm/shared/global_config.js +399 -0
  204. package/dist/esm/shared/models/abstract_model.js +94 -0
  205. package/dist/esm/shared/models/base_core.js +482 -0
  206. package/dist/esm/shared/models/field_core.js +288 -0
  207. package/dist/esm/shared/models/mutations_core.js +343 -0
  208. package/dist/esm/shared/models/record_core.js +215 -0
  209. package/dist/esm/shared/models/record_store_core.js +160 -0
  210. package/dist/esm/shared/models/session_core.js +160 -0
  211. package/dist/esm/shared/models/table_core.js +1318 -0
  212. package/dist/{cjs → esm}/shared/private_utils.js +54 -124
  213. package/dist/esm/shared/sdk_core.js +113 -0
  214. package/dist/{cjs → esm}/shared/types/field_core.js +1 -1
  215. package/dist/esm/shared/types/mutation_constants.js +11 -0
  216. package/dist/{cjs → esm}/shared/types/mutations_core.js +1 -1
  217. package/dist/{cjs → esm}/shared/types/permission_levels.js +1 -1
  218. package/dist/esm/shared/types/record.js +1 -0
  219. package/dist/esm/shared/types/stat.js +1 -0
  220. package/dist/esm/shared/types/table_core.js +1 -0
  221. package/dist/{cjs → esm}/shared/ui/global_config_synced_component_helpers.js +9 -9
  222. package/dist/esm/shared/ui/loader.js +47 -0
  223. package/dist/{cjs → esm}/shared/ui/remote_utils.js +5 -7
  224. package/dist/{cjs → esm}/shared/ui/sdk_context.js +4 -8
  225. package/dist/{cjs → esm}/shared/ui/use_array_identity.js +2 -2
  226. package/dist/{cjs → esm}/shared/ui/use_base.js +6 -5
  227. package/dist/{cjs → esm}/shared/ui/use_color_scheme.js +3 -8
  228. package/dist/{cjs → esm}/shared/ui/use_global_config.js +5 -4
  229. package/dist/{cjs → esm}/shared/ui/use_session.js +6 -5
  230. package/dist/{cjs → esm}/shared/ui/use_synced.js +7 -5
  231. package/dist/{cjs → esm}/shared/ui/use_watchable.js +17 -44
  232. package/dist/{cjs → esm}/shared/ui/with_hooks.js +6 -13
  233. package/dist/{cjs → esm}/shared/unstable_private_utils.js +4 -6
  234. package/dist/{cjs → esm}/shared/warning.js +5 -5
  235. package/dist/esm/shared/watchable.js +150 -0
  236. package/dist/esm/stats/block_stats.js +73 -0
  237. package/dist/esm/testing/base/abstract_mock_airtable_interface.js +208 -0
  238. package/dist/esm/testing/interface/abstract_mock_airtable_interface.js +124 -0
  239. package/dist/types/src/base/assert_run_context.d.ts +2 -0
  240. package/dist/types/src/base/assert_run_context.d.ts.map +1 -0
  241. package/dist/types/src/base/index.d.ts +1 -0
  242. package/dist/types/src/base/index.d.ts.map +1 -1
  243. package/dist/types/src/base/models/base.d.ts +19 -0
  244. package/dist/types/src/base/models/base.d.ts.map +1 -1
  245. package/dist/types/src/base/models/create_aggregators.d.ts +3 -4
  246. package/dist/types/src/base/models/create_aggregators.d.ts.map +1 -1
  247. package/dist/types/src/base/models/field.d.ts +3 -2
  248. package/dist/types/src/base/models/field.d.ts.map +1 -1
  249. package/dist/types/src/base/models/models.d.ts +1 -2
  250. package/dist/types/src/base/models/models.d.ts.map +1 -1
  251. package/dist/types/src/base/models/mutations.d.ts.map +1 -1
  252. package/dist/types/src/base/sdk.d.ts.map +1 -1
  253. package/dist/types/src/base/ui/block_wrapper.d.ts +1 -1
  254. package/dist/types/src/base/ui/box.d.ts.map +1 -1
  255. package/dist/types/src/base/ui/button.d.ts +0 -5
  256. package/dist/types/src/base/ui/button.d.ts.map +1 -1
  257. package/dist/types/src/base/ui/cell_renderer.d.ts +1 -22
  258. package/dist/types/src/base/ui/cell_renderer.d.ts.map +1 -1
  259. package/dist/types/src/base/ui/choice_token.d.ts +1 -21
  260. package/dist/types/src/base/ui/choice_token.d.ts.map +1 -1
  261. package/dist/types/src/base/ui/collaborator_token.d.ts +0 -20
  262. package/dist/types/src/base/ui/collaborator_token.d.ts.map +1 -1
  263. package/dist/types/src/base/ui/color_palette.d.ts +1 -32
  264. package/dist/types/src/base/ui/color_palette.d.ts.map +1 -1
  265. package/dist/types/src/base/ui/color_palette_synced.d.ts +0 -14
  266. package/dist/types/src/base/ui/color_palette_synced.d.ts.map +1 -1
  267. package/dist/types/src/base/ui/confirmation_dialog.d.ts +0 -17
  268. package/dist/types/src/base/ui/confirmation_dialog.d.ts.map +1 -1
  269. package/dist/types/src/base/ui/control_sizes.d.ts +0 -1
  270. package/dist/types/src/base/ui/control_sizes.d.ts.map +1 -1
  271. package/dist/types/src/base/ui/dialog.d.ts +1 -23
  272. package/dist/types/src/base/ui/dialog.d.ts.map +1 -1
  273. package/dist/types/src/base/ui/dialog_close_button.d.ts +2 -24
  274. package/dist/types/src/base/ui/dialog_close_button.d.ts.map +1 -1
  275. package/dist/types/src/base/ui/field_icon.d.ts +1 -17
  276. package/dist/types/src/base/ui/field_icon.d.ts.map +1 -1
  277. package/dist/types/src/base/ui/field_picker.d.ts +0 -23
  278. package/dist/types/src/base/ui/field_picker.d.ts.map +1 -1
  279. package/dist/types/src/base/ui/field_picker_synced.d.ts.map +1 -1
  280. package/dist/types/src/base/ui/form_field.d.ts +0 -4
  281. package/dist/types/src/base/ui/form_field.d.ts.map +1 -1
  282. package/dist/types/src/base/ui/heading.d.ts +1 -1
  283. package/dist/types/src/base/ui/heading.d.ts.map +1 -1
  284. package/dist/types/src/base/ui/icon.d.ts +0 -16
  285. package/dist/types/src/base/ui/icon.d.ts.map +1 -1
  286. package/dist/types/src/base/ui/icon_config.d.ts +50 -51
  287. package/dist/types/src/base/ui/icon_config.d.ts.map +1 -1
  288. package/dist/types/src/base/ui/initialize_block.d.ts.map +1 -1
  289. package/dist/types/src/base/ui/input.d.ts +12 -46
  290. package/dist/types/src/base/ui/input.d.ts.map +1 -1
  291. package/dist/types/src/base/ui/input_synced.d.ts.map +1 -1
  292. package/dist/types/src/base/ui/label.d.ts.map +1 -1
  293. package/dist/types/src/base/ui/link.d.ts +1 -5
  294. package/dist/types/src/base/ui/link.d.ts.map +1 -1
  295. package/dist/types/src/base/ui/loader.d.ts +3 -20
  296. package/dist/types/src/base/ui/loader.d.ts.map +1 -1
  297. package/dist/types/src/base/ui/modal.d.ts +1 -14
  298. package/dist/types/src/base/ui/modal.d.ts.map +1 -1
  299. package/dist/types/src/base/ui/model_picker_select.d.ts.map +1 -1
  300. package/dist/types/src/base/ui/popover.d.ts +1 -17
  301. package/dist/types/src/base/ui/popover.d.ts.map +1 -1
  302. package/dist/types/src/base/ui/progress_bar.d.ts +1 -24
  303. package/dist/types/src/base/ui/progress_bar.d.ts.map +1 -1
  304. package/dist/types/src/base/ui/record_card.d.ts +1 -23
  305. package/dist/types/src/base/ui/record_card.d.ts.map +1 -1
  306. package/dist/types/src/base/ui/record_card_list.d.ts +1 -18
  307. package/dist/types/src/base/ui/record_card_list.d.ts.map +1 -1
  308. package/dist/types/src/base/ui/select.d.ts +0 -44
  309. package/dist/types/src/base/ui/select.d.ts.map +1 -1
  310. package/dist/types/src/base/ui/select_and_select_buttons_helpers.d.ts +0 -2
  311. package/dist/types/src/base/ui/select_and_select_buttons_helpers.d.ts.map +1 -1
  312. package/dist/types/src/base/ui/select_buttons.d.ts +0 -22
  313. package/dist/types/src/base/ui/select_buttons.d.ts.map +1 -1
  314. package/dist/types/src/base/ui/select_buttons_synced.d.ts.map +1 -1
  315. package/dist/types/src/base/ui/select_synced.d.ts.map +1 -1
  316. package/dist/types/src/base/ui/switch.d.ts +0 -22
  317. package/dist/types/src/base/ui/switch.d.ts.map +1 -1
  318. package/dist/types/src/base/ui/switch_synced.d.ts.map +1 -1
  319. package/dist/types/src/base/ui/synced.d.ts +2 -8
  320. package/dist/types/src/base/ui/synced.d.ts.map +1 -1
  321. package/dist/types/src/base/ui/system/all_styles_set.d.ts +0 -3
  322. package/dist/types/src/base/ui/system/all_styles_set.d.ts.map +1 -1
  323. package/dist/types/src/base/ui/system/appearance/appearance_set.d.ts +0 -1
  324. package/dist/types/src/base/ui/system/appearance/appearance_set.d.ts.map +1 -1
  325. package/dist/types/src/base/ui/system/appearance/background_color.d.ts +0 -1
  326. package/dist/types/src/base/ui/system/appearance/background_color.d.ts.map +1 -1
  327. package/dist/types/src/base/ui/system/appearance/border.d.ts +0 -1
  328. package/dist/types/src/base/ui/system/appearance/border.d.ts.map +1 -1
  329. package/dist/types/src/base/ui/system/appearance/border_radius.d.ts +0 -1
  330. package/dist/types/src/base/ui/system/appearance/border_radius.d.ts.map +1 -1
  331. package/dist/types/src/base/ui/system/appearance/box_shadow.d.ts +0 -1
  332. package/dist/types/src/base/ui/system/appearance/box_shadow.d.ts.map +1 -1
  333. package/dist/types/src/base/ui/system/appearance/opacity.d.ts +0 -1
  334. package/dist/types/src/base/ui/system/appearance/opacity.d.ts.map +1 -1
  335. package/dist/types/src/base/ui/system/dimensions/dimensions_set.d.ts +0 -1
  336. package/dist/types/src/base/ui/system/dimensions/dimensions_set.d.ts.map +1 -1
  337. package/dist/types/src/base/ui/system/dimensions/height.d.ts +0 -1
  338. package/dist/types/src/base/ui/system/dimensions/height.d.ts.map +1 -1
  339. package/dist/types/src/base/ui/system/dimensions/max_height.d.ts +0 -1
  340. package/dist/types/src/base/ui/system/dimensions/max_height.d.ts.map +1 -1
  341. package/dist/types/src/base/ui/system/dimensions/max_width.d.ts +0 -1
  342. package/dist/types/src/base/ui/system/dimensions/max_width.d.ts.map +1 -1
  343. package/dist/types/src/base/ui/system/dimensions/min_height.d.ts +0 -1
  344. package/dist/types/src/base/ui/system/dimensions/min_height.d.ts.map +1 -1
  345. package/dist/types/src/base/ui/system/dimensions/min_width.d.ts +0 -1
  346. package/dist/types/src/base/ui/system/dimensions/min_width.d.ts.map +1 -1
  347. package/dist/types/src/base/ui/system/dimensions/width.d.ts +0 -1
  348. package/dist/types/src/base/ui/system/dimensions/width.d.ts.map +1 -1
  349. package/dist/types/src/base/ui/system/display.d.ts +0 -1
  350. package/dist/types/src/base/ui/system/display.d.ts.map +1 -1
  351. package/dist/types/src/base/ui/system/flex_container/align_content.d.ts +0 -1
  352. package/dist/types/src/base/ui/system/flex_container/align_content.d.ts.map +1 -1
  353. package/dist/types/src/base/ui/system/flex_container/align_items.d.ts +0 -1
  354. package/dist/types/src/base/ui/system/flex_container/align_items.d.ts.map +1 -1
  355. package/dist/types/src/base/ui/system/flex_container/flex_container_set.d.ts +0 -1
  356. package/dist/types/src/base/ui/system/flex_container/flex_container_set.d.ts.map +1 -1
  357. package/dist/types/src/base/ui/system/flex_container/flex_direction.d.ts +0 -1
  358. package/dist/types/src/base/ui/system/flex_container/flex_direction.d.ts.map +1 -1
  359. package/dist/types/src/base/ui/system/flex_container/flex_wrap.d.ts +0 -1
  360. package/dist/types/src/base/ui/system/flex_container/flex_wrap.d.ts.map +1 -1
  361. package/dist/types/src/base/ui/system/flex_container/justify_content.d.ts +0 -1
  362. package/dist/types/src/base/ui/system/flex_container/justify_content.d.ts.map +1 -1
  363. package/dist/types/src/base/ui/system/flex_container/justify_items.d.ts +0 -1
  364. package/dist/types/src/base/ui/system/flex_container/justify_items.d.ts.map +1 -1
  365. package/dist/types/src/base/ui/system/flex_item/align_self.d.ts +0 -1
  366. package/dist/types/src/base/ui/system/flex_item/align_self.d.ts.map +1 -1
  367. package/dist/types/src/base/ui/system/flex_item/flex.d.ts +0 -1
  368. package/dist/types/src/base/ui/system/flex_item/flex.d.ts.map +1 -1
  369. package/dist/types/src/base/ui/system/flex_item/flex_basis.d.ts +0 -1
  370. package/dist/types/src/base/ui/system/flex_item/flex_basis.d.ts.map +1 -1
  371. package/dist/types/src/base/ui/system/flex_item/flex_grow.d.ts +0 -1
  372. package/dist/types/src/base/ui/system/flex_item/flex_grow.d.ts.map +1 -1
  373. package/dist/types/src/base/ui/system/flex_item/flex_item_set.d.ts +0 -1
  374. package/dist/types/src/base/ui/system/flex_item/flex_item_set.d.ts.map +1 -1
  375. package/dist/types/src/base/ui/system/flex_item/flex_shrink.d.ts +0 -1
  376. package/dist/types/src/base/ui/system/flex_item/flex_shrink.d.ts.map +1 -1
  377. package/dist/types/src/base/ui/system/flex_item/justify_self.d.ts +0 -1
  378. package/dist/types/src/base/ui/system/flex_item/justify_self.d.ts.map +1 -1
  379. package/dist/types/src/base/ui/system/flex_item/order.d.ts +0 -1
  380. package/dist/types/src/base/ui/system/flex_item/order.d.ts.map +1 -1
  381. package/dist/types/src/base/ui/system/index.d.ts +52 -52
  382. package/dist/types/src/base/ui/system/index.d.ts.map +1 -1
  383. package/dist/types/src/base/ui/system/overflow.d.ts +0 -1
  384. package/dist/types/src/base/ui/system/overflow.d.ts.map +1 -1
  385. package/dist/types/src/base/ui/system/position/bottom.d.ts +0 -1
  386. package/dist/types/src/base/ui/system/position/bottom.d.ts.map +1 -1
  387. package/dist/types/src/base/ui/system/position/left.d.ts +0 -1
  388. package/dist/types/src/base/ui/system/position/left.d.ts.map +1 -1
  389. package/dist/types/src/base/ui/system/position/position.d.ts +0 -1
  390. package/dist/types/src/base/ui/system/position/position.d.ts.map +1 -1
  391. package/dist/types/src/base/ui/system/position/position_set.d.ts +0 -1
  392. package/dist/types/src/base/ui/system/position/position_set.d.ts.map +1 -1
  393. package/dist/types/src/base/ui/system/position/right.d.ts +0 -1
  394. package/dist/types/src/base/ui/system/position/right.d.ts.map +1 -1
  395. package/dist/types/src/base/ui/system/position/top.d.ts +0 -1
  396. package/dist/types/src/base/ui/system/position/top.d.ts.map +1 -1
  397. package/dist/types/src/base/ui/system/position/z_index.d.ts +0 -1
  398. package/dist/types/src/base/ui/system/position/z_index.d.ts.map +1 -1
  399. package/dist/types/src/base/ui/system/spacing/margin.d.ts +0 -1
  400. package/dist/types/src/base/ui/system/spacing/margin.d.ts.map +1 -1
  401. package/dist/types/src/base/ui/system/spacing/padding.d.ts +0 -1
  402. package/dist/types/src/base/ui/system/spacing/padding.d.ts.map +1 -1
  403. package/dist/types/src/base/ui/system/spacing/spacing_set.d.ts +0 -1
  404. package/dist/types/src/base/ui/system/spacing/spacing_set.d.ts.map +1 -1
  405. package/dist/types/src/base/ui/system/typography/font_family.d.ts +0 -1
  406. package/dist/types/src/base/ui/system/typography/font_family.d.ts.map +1 -1
  407. package/dist/types/src/base/ui/system/typography/font_size.d.ts +0 -1
  408. package/dist/types/src/base/ui/system/typography/font_size.d.ts.map +1 -1
  409. package/dist/types/src/base/ui/system/typography/font_style.d.ts +0 -1
  410. package/dist/types/src/base/ui/system/typography/font_style.d.ts.map +1 -1
  411. package/dist/types/src/base/ui/system/typography/font_weight.d.ts +0 -1
  412. package/dist/types/src/base/ui/system/typography/font_weight.d.ts.map +1 -1
  413. package/dist/types/src/base/ui/system/typography/letter_spacing.d.ts +0 -1
  414. package/dist/types/src/base/ui/system/typography/letter_spacing.d.ts.map +1 -1
  415. package/dist/types/src/base/ui/system/typography/line_height.d.ts +0 -1
  416. package/dist/types/src/base/ui/system/typography/line_height.d.ts.map +1 -1
  417. package/dist/types/src/base/ui/system/typography/text_align.d.ts +0 -1
  418. package/dist/types/src/base/ui/system/typography/text_align.d.ts.map +1 -1
  419. package/dist/types/src/base/ui/system/typography/text_color.d.ts +0 -1
  420. package/dist/types/src/base/ui/system/typography/text_color.d.ts.map +1 -1
  421. package/dist/types/src/base/ui/system/typography/text_decoration.d.ts +0 -1
  422. package/dist/types/src/base/ui/system/typography/text_decoration.d.ts.map +1 -1
  423. package/dist/types/src/base/ui/system/typography/text_transform.d.ts +0 -1
  424. package/dist/types/src/base/ui/system/typography/text_transform.d.ts.map +1 -1
  425. package/dist/types/src/base/ui/system/typography/typography_set.d.ts +0 -1
  426. package/dist/types/src/base/ui/system/typography/typography_set.d.ts.map +1 -1
  427. package/dist/types/src/base/ui/table_picker.d.ts +0 -21
  428. package/dist/types/src/base/ui/table_picker.d.ts.map +1 -1
  429. package/dist/types/src/base/ui/table_picker_synced.d.ts.map +1 -1
  430. package/dist/types/src/base/ui/text.d.ts +0 -3
  431. package/dist/types/src/base/ui/text.d.ts.map +1 -1
  432. package/dist/types/src/base/ui/text_button.d.ts +1 -5
  433. package/dist/types/src/base/ui/text_button.d.ts.map +1 -1
  434. package/dist/types/src/base/ui/theme/default_theme/index.d.ts +1 -1
  435. package/dist/types/src/base/ui/theme/theme_context.d.ts +1 -1
  436. package/dist/types/src/base/ui/theme/use_theme.d.ts +1 -1
  437. package/dist/types/src/base/ui/tooltip.d.ts +0 -16
  438. package/dist/types/src/base/ui/tooltip.d.ts.map +1 -1
  439. package/dist/types/src/base/ui/types/aria_props.d.ts.map +1 -1
  440. package/dist/types/src/base/ui/types/data_attributes_prop.d.ts +0 -4
  441. package/dist/types/src/base/ui/types/data_attributes_prop.d.ts.map +1 -1
  442. package/dist/types/src/base/ui/types/tooltip_anchor_props.d.ts +0 -7
  443. package/dist/types/src/base/ui/types/tooltip_anchor_props.d.ts.map +1 -1
  444. package/dist/types/src/base/ui/ui.d.ts +1 -0
  445. package/dist/types/src/base/ui/ui.d.ts.map +1 -1
  446. package/dist/types/src/base/ui/view_picker.d.ts +0 -23
  447. package/dist/types/src/base/ui/view_picker.d.ts.map +1 -1
  448. package/dist/types/src/base/ui/view_picker_synced.d.ts.map +1 -1
  449. package/dist/types/src/base/ui/viewport_constraint.d.ts +1 -14
  450. package/dist/types/src/base/ui/viewport_constraint.d.ts.map +1 -1
  451. package/dist/types/src/base/unstable_testing_utils.d.ts +1 -1
  452. package/dist/types/src/base/unstable_testing_utils.d.ts.map +1 -1
  453. package/dist/types/src/interface/assert_run_context.d.ts +2 -0
  454. package/dist/types/src/interface/assert_run_context.d.ts.map +1 -0
  455. package/dist/types/src/interface/index.d.ts +1 -6
  456. package/dist/types/src/interface/index.d.ts.map +1 -1
  457. package/dist/types/src/interface/models/models.d.ts +1 -0
  458. package/dist/types/src/interface/models/models.d.ts.map +1 -1
  459. package/dist/types/src/interface/models/mutations.d.ts.map +1 -1
  460. package/dist/types/src/interface/models/table.d.ts.map +1 -1
  461. package/dist/types/src/interface/types/field.d.ts +6 -0
  462. package/dist/types/src/interface/types/field.d.ts.map +1 -1
  463. package/dist/types/src/interface/ui/initialize_block.d.ts.map +1 -1
  464. package/dist/types/src/interface/ui/ui.d.ts +1 -0
  465. package/dist/types/src/interface/ui/ui.d.ts.map +1 -1
  466. package/dist/types/src/interface/ui/use_custom_properties.d.ts +1 -1
  467. package/dist/types/src/shared/models/field_core.d.ts +3 -1
  468. package/dist/types/src/shared/models/field_core.d.ts.map +1 -1
  469. package/dist/types/src/shared/models/mutations_core.d.ts.map +1 -1
  470. package/dist/types/src/shared/models/table_core.d.ts.map +1 -1
  471. package/dist/types/src/shared/private_utils.d.ts +0 -9
  472. package/dist/types/src/shared/private_utils.d.ts.map +1 -1
  473. package/dist/types/src/shared/types/field_core.d.ts +19 -1
  474. package/dist/types/src/shared/types/field_core.d.ts.map +1 -1
  475. package/dist/types/src/shared/types/mutations_core.d.ts +8 -4
  476. package/dist/types/src/shared/types/mutations_core.d.ts.map +1 -1
  477. package/dist/types/src/shared/ui/global_config_synced_component_helpers.d.ts +0 -2
  478. package/dist/types/src/shared/ui/global_config_synced_component_helpers.d.ts.map +1 -1
  479. package/dist/types/src/shared/ui/loader.d.ts.map +1 -1
  480. package/dist/types/src/shared/ui/use_watchable.d.ts +4 -2
  481. package/dist/types/src/shared/ui/use_watchable.d.ts.map +1 -1
  482. package/dist/types/src/shared/ui/with_hooks.d.ts +2 -2
  483. package/dist/types/src/shared/ui/with_hooks.d.ts.map +1 -1
  484. package/dist/types/src/testing/{abstract_mock_airtable_interface.d.ts → base/abstract_mock_airtable_interface.d.ts} +13 -13
  485. package/dist/types/src/testing/base/abstract_mock_airtable_interface.d.ts.map +1 -0
  486. package/dist/types/src/testing/interface/abstract_mock_airtable_interface.d.ts +51 -0
  487. package/dist/types/src/testing/interface/abstract_mock_airtable_interface.d.ts.map +1 -0
  488. package/models.js +1 -1
  489. package/package.json +24 -23
  490. package/types.js +1 -1
  491. package/dist/cjs/base/models/abstract_model_with_async_data.js +0 -273
  492. package/dist/cjs/base/models/base.js +0 -306
  493. package/dist/cjs/base/models/create_aggregators.js +0 -115
  494. package/dist/cjs/base/models/cursor.js +0 -393
  495. package/dist/cjs/base/models/field.js +0 -427
  496. package/dist/cjs/base/models/grouped_record_query_result.js +0 -399
  497. package/dist/cjs/base/models/linked_records_query_result.js +0 -728
  498. package/dist/cjs/base/models/mutations.js +0 -338
  499. package/dist/cjs/base/models/object_pool.js +0 -184
  500. package/dist/cjs/base/models/record.js +0 -304
  501. package/dist/cjs/base/models/record_query_result.js +0 -741
  502. package/dist/cjs/base/models/record_store.js +0 -825
  503. package/dist/cjs/base/models/session.js +0 -182
  504. package/dist/cjs/base/models/table.js +0 -668
  505. package/dist/cjs/base/models/table_or_view_query_result.js +0 -1013
  506. package/dist/cjs/base/models/view.js +0 -431
  507. package/dist/cjs/base/models/view_data_store.js +0 -403
  508. package/dist/cjs/base/models/view_metadata_query_result.js +0 -224
  509. package/dist/cjs/base/perform_record_action.js +0 -257
  510. package/dist/cjs/base/sdk.js +0 -233
  511. package/dist/cjs/base/settings_button.js +0 -138
  512. package/dist/cjs/base/ui/baymax_utils.js +0 -133
  513. package/dist/cjs/base/ui/block_wrapper.js +0 -143
  514. package/dist/cjs/base/ui/box.js +0 -110
  515. package/dist/cjs/base/ui/button.js +0 -182
  516. package/dist/cjs/base/ui/cell_renderer.js +0 -255
  517. package/dist/cjs/base/ui/choice_token.js +0 -110
  518. package/dist/cjs/base/ui/collaborator_token.js +0 -145
  519. package/dist/cjs/base/ui/color_palette.js +0 -239
  520. package/dist/cjs/base/ui/color_palette_synced.js +0 -98
  521. package/dist/cjs/base/ui/confirmation_dialog.js +0 -153
  522. package/dist/cjs/base/ui/dialog.js +0 -142
  523. package/dist/cjs/base/ui/dialog_close_button.js +0 -152
  524. package/dist/cjs/base/ui/expand_record_picker_async.js +0 -100
  525. package/dist/cjs/base/ui/field_icon.js +0 -62
  526. package/dist/cjs/base/ui/field_picker.js +0 -143
  527. package/dist/cjs/base/ui/field_picker_synced.js +0 -88
  528. package/dist/cjs/base/ui/form_field.js +0 -137
  529. package/dist/cjs/base/ui/geometry/point.js +0 -21
  530. package/dist/cjs/base/ui/geometry/rect.js +0 -67
  531. package/dist/cjs/base/ui/geometry/size.js +0 -21
  532. package/dist/cjs/base/ui/global_alert.js +0 -92
  533. package/dist/cjs/base/ui/heading.js +0 -181
  534. package/dist/cjs/base/ui/icon.js +0 -129
  535. package/dist/cjs/base/ui/input.js +0 -200
  536. package/dist/cjs/base/ui/input_synced.js +0 -89
  537. package/dist/cjs/base/ui/label.js +0 -105
  538. package/dist/cjs/base/ui/link.js +0 -229
  539. package/dist/cjs/base/ui/loader.js +0 -82
  540. package/dist/cjs/base/ui/modal.js +0 -184
  541. package/dist/cjs/base/ui/model_picker_select.js +0 -83
  542. package/dist/cjs/base/ui/popover.js +0 -407
  543. package/dist/cjs/base/ui/progress_bar.js +0 -128
  544. package/dist/cjs/base/ui/record_card.js +0 -653
  545. package/dist/cjs/base/ui/record_card_list.js +0 -377
  546. package/dist/cjs/base/ui/select.js +0 -247
  547. package/dist/cjs/base/ui/select_and_select_buttons_helpers.js +0 -87
  548. package/dist/cjs/base/ui/select_buttons.js +0 -192
  549. package/dist/cjs/base/ui/select_buttons_synced.js +0 -84
  550. package/dist/cjs/base/ui/select_synced.js +0 -87
  551. package/dist/cjs/base/ui/switch.js +0 -196
  552. package/dist/cjs/base/ui/switch_synced.js +0 -75
  553. package/dist/cjs/base/ui/synced.js +0 -70
  554. package/dist/cjs/base/ui/system/appearance/appearance_set.js +0 -30
  555. package/dist/cjs/base/ui/system/appearance/background_color.js +0 -21
  556. package/dist/cjs/base/ui/system/appearance/border_radius.js +0 -21
  557. package/dist/cjs/base/ui/system/appearance/box_shadow.js +0 -21
  558. package/dist/cjs/base/ui/system/appearance/opacity.js +0 -21
  559. package/dist/cjs/base/ui/system/dimensions/dimensions_set.js +0 -31
  560. package/dist/cjs/base/ui/system/dimensions/height.js +0 -21
  561. package/dist/cjs/base/ui/system/dimensions/max_height.js +0 -21
  562. package/dist/cjs/base/ui/system/dimensions/max_width.js +0 -21
  563. package/dist/cjs/base/ui/system/dimensions/min_height.js +0 -21
  564. package/dist/cjs/base/ui/system/dimensions/min_width.js +0 -21
  565. package/dist/cjs/base/ui/system/dimensions/width.js +0 -21
  566. package/dist/cjs/base/ui/system/display.js +0 -22
  567. package/dist/cjs/base/ui/system/flex_container/align_content.js +0 -18
  568. package/dist/cjs/base/ui/system/flex_container/align_items.js +0 -18
  569. package/dist/cjs/base/ui/system/flex_container/flex_container_set.js +0 -31
  570. package/dist/cjs/base/ui/system/flex_container/flex_direction.js +0 -18
  571. package/dist/cjs/base/ui/system/flex_container/flex_wrap.js +0 -18
  572. package/dist/cjs/base/ui/system/flex_container/justify_content.js +0 -18
  573. package/dist/cjs/base/ui/system/flex_container/justify_items.js +0 -19
  574. package/dist/cjs/base/ui/system/flex_item/align_self.js +0 -18
  575. package/dist/cjs/base/ui/system/flex_item/flex.js +0 -18
  576. package/dist/cjs/base/ui/system/flex_item/flex_basis.js +0 -18
  577. package/dist/cjs/base/ui/system/flex_item/flex_grow.js +0 -18
  578. package/dist/cjs/base/ui/system/flex_item/flex_item_set.js +0 -32
  579. package/dist/cjs/base/ui/system/flex_item/flex_shrink.js +0 -18
  580. package/dist/cjs/base/ui/system/flex_item/justify_self.js +0 -19
  581. package/dist/cjs/base/ui/system/flex_item/order.js +0 -18
  582. package/dist/cjs/base/ui/system/overflow.js +0 -24
  583. package/dist/cjs/base/ui/system/position/position.js +0 -18
  584. package/dist/cjs/base/ui/system/position/position_set.js +0 -31
  585. package/dist/cjs/base/ui/system/position/z_index.js +0 -21
  586. package/dist/cjs/base/ui/system/spacing/spacing_set.js +0 -27
  587. package/dist/cjs/base/ui/system/typography/font_family.js +0 -21
  588. package/dist/cjs/base/ui/system/typography/font_size.js +0 -21
  589. package/dist/cjs/base/ui/system/typography/font_style.js +0 -18
  590. package/dist/cjs/base/ui/system/typography/font_weight.js +0 -21
  591. package/dist/cjs/base/ui/system/typography/letter_spacing.js +0 -21
  592. package/dist/cjs/base/ui/system/typography/line_height.js +0 -18
  593. package/dist/cjs/base/ui/system/typography/text_align.js +0 -18
  594. package/dist/cjs/base/ui/system/typography/text_color.js +0 -21
  595. package/dist/cjs/base/ui/system/typography/text_decoration.js +0 -18
  596. package/dist/cjs/base/ui/system/typography/text_transform.js +0 -18
  597. package/dist/cjs/base/ui/system/typography/typography_set.js +0 -35
  598. package/dist/cjs/base/ui/system/utils/create_responsive_prop_type.js +0 -19
  599. package/dist/cjs/base/ui/system/utils/create_style_prop_types.js +0 -24
  600. package/dist/cjs/base/ui/system/utils/enum_prop_type_utils.js +0 -35
  601. package/dist/cjs/base/ui/system/utils/get_style_props_for_responsive_prop.js +0 -113
  602. package/dist/cjs/base/ui/table_picker.js +0 -95
  603. package/dist/cjs/base/ui/table_picker_synced.js +0 -84
  604. package/dist/cjs/base/ui/text.js +0 -150
  605. package/dist/cjs/base/ui/text_button.js +0 -228
  606. package/dist/cjs/base/ui/theme/default_theme/control_sizes.js +0 -96
  607. package/dist/cjs/base/ui/theme/default_theme/select_variants.js +0 -59
  608. package/dist/cjs/base/ui/theme/default_theme/switch_variants.js +0 -91
  609. package/dist/cjs/base/ui/tooltip.js +0 -215
  610. package/dist/cjs/base/ui/types/aria_props.js +0 -23
  611. package/dist/cjs/base/ui/types/data_attributes_prop.js +0 -18
  612. package/dist/cjs/base/ui/types/tooltip_anchor_props.js +0 -17
  613. package/dist/cjs/base/ui/use_styled_system.js +0 -32
  614. package/dist/cjs/base/ui/view_picker.js +0 -133
  615. package/dist/cjs/base/ui/view_picker_synced.js +0 -88
  616. package/dist/cjs/base/ui/viewport_constraint.js +0 -176
  617. package/dist/cjs/base/ui/with_styled_system.js +0 -165
  618. package/dist/cjs/base/undo_redo.js +0 -48
  619. package/dist/cjs/base/viewport.js +0 -397
  620. package/dist/cjs/injected/airtable_interface.js +0 -22
  621. package/dist/cjs/interface/index.js +0 -36
  622. package/dist/cjs/interface/models/base.js +0 -54
  623. package/dist/cjs/interface/models/field.js +0 -42
  624. package/dist/cjs/interface/models/mutations.js +0 -79
  625. package/dist/cjs/interface/models/record.js +0 -71
  626. package/dist/cjs/interface/models/record_store.js +0 -83
  627. package/dist/cjs/interface/models/session.js +0 -42
  628. package/dist/cjs/interface/models/table.js +0 -92
  629. package/dist/cjs/interface/sdk.js +0 -104
  630. package/dist/cjs/interface/types/mutations.js +0 -24
  631. package/dist/cjs/interface/ui/block_wrapper.js +0 -61
  632. package/dist/cjs/shared/global_config.js +0 -511
  633. package/dist/cjs/shared/models/abstract_model.js +0 -119
  634. package/dist/cjs/shared/models/base_core.js +0 -602
  635. package/dist/cjs/shared/models/field_core.js +0 -329
  636. package/dist/cjs/shared/models/mutations_core.js +0 -439
  637. package/dist/cjs/shared/models/record_core.js +0 -272
  638. package/dist/cjs/shared/models/record_store_core.js +0 -213
  639. package/dist/cjs/shared/models/session_core.js +0 -214
  640. package/dist/cjs/shared/models/table_core.js +0 -1530
  641. package/dist/cjs/shared/sdk_core.js +0 -115
  642. package/dist/cjs/shared/types/mutation_constants.js +0 -11
  643. package/dist/cjs/shared/ui/loader.js +0 -68
  644. package/dist/cjs/shared/watchable.js +0 -216
  645. package/dist/cjs/stats/block_stats.js +0 -96
  646. package/dist/cjs/testing/abstract_mock_airtable_interface.js +0 -277
  647. package/dist/types/src/base/ui/system/utils/create_responsive_prop_type.d.ts +0 -2
  648. package/dist/types/src/base/ui/system/utils/create_responsive_prop_type.d.ts.map +0 -1
  649. package/dist/types/src/base/ui/system/utils/create_style_prop_types.d.ts +0 -4
  650. package/dist/types/src/base/ui/system/utils/create_style_prop_types.d.ts.map +0 -1
  651. package/dist/types/src/base/ui/system/utils/enum_prop_type_utils.d.ts +0 -21
  652. package/dist/types/src/base/ui/system/utils/enum_prop_type_utils.d.ts.map +0 -1
  653. package/dist/types/src/testing/abstract_mock_airtable_interface.d.ts.map +0 -1
  654. /package/dist/{cjs → esm}/base/types/aggregators.js +0 -0
  655. /package/dist/{cjs → esm}/base/types/backend_fetch_types.js +0 -0
  656. /package/dist/{cjs → esm}/base/types/base.js +0 -0
  657. /package/dist/{cjs → esm}/base/types/cursor.js +0 -0
  658. /package/dist/{cjs → esm}/base/types/field.js +0 -0
  659. /package/dist/{cjs → esm}/base/types/record.js +0 -0
  660. /package/dist/{cjs → esm}/base/types/record_action_data.js +0 -0
  661. /package/dist/{cjs → esm}/base/types/table.js +0 -0
  662. /package/dist/{cjs → esm}/base/types/viewport.js +0 -0
  663. /package/dist/{cjs → esm}/base/ui/system/utils/csstype.js +0 -0
  664. /package/dist/{cjs → esm}/base/ui/system/utils/types.js +0 -0
  665. /package/dist/{cjs/interface/types/base.js → esm/base/ui/types/aria_props.js} +0 -0
  666. /package/dist/{cjs/interface/types/field.js → esm/base/ui/types/data_attributes_prop.js} +0 -0
  667. /package/dist/{cjs/interface/types/record.js → esm/base/ui/types/tooltip_anchor_props.js} +0 -0
  668. /package/dist/{cjs/interface/types/table.js → esm/interface/types/base.js} +0 -0
  669. /package/dist/{cjs/sdk_mode.js → esm/interface/types/field.js} +0 -0
  670. /package/dist/{cjs/shared → esm/interface}/types/record.js +0 -0
  671. /package/dist/{cjs/shared/types/airtable_interface_core.js → esm/interface/types/table.js} +0 -0
  672. /package/dist/{cjs → esm}/interface/ui/expand_record.js +0 -0
  673. /package/dist/{cjs/shared/types/attachment.js → esm/sdk_mode.js} +0 -0
  674. /package/dist/{cjs/shared/types/base_core.js → esm/shared/types/airtable_interface_core.js} +0 -0
  675. /package/dist/{cjs/shared/types/collaborator.js → esm/shared/types/attachment.js} +0 -0
  676. /package/dist/{cjs/shared/types/global_config.js → esm/shared/types/base_core.js} +0 -0
  677. /package/dist/{cjs/shared/types/hyper_ids.js → esm/shared/types/collaborator.js} +0 -0
  678. /package/dist/{cjs/shared/types/stat.js → esm/shared/types/global_config.js} +0 -0
  679. /package/dist/{cjs/shared/types/table_core.js → esm/shared/types/hyper_ids.js} +0 -0
@@ -0,0 +1,520 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.WatchableTableKeys = void 0;
7
+ var _table_core = require("../../shared/models/table_core");
8
+ var _error_utils = require("../../shared/error_utils");
9
+ var _private_utils = require("../../shared/private_utils");
10
+ var _mutations = require("../types/mutations");
11
+ var _record_query_result = _interopRequireDefault(require("./record_query_result"));
12
+ var _field = _interopRequireDefault(require("./field"));
13
+ var _table_or_view_query_result = _interopRequireDefault(require("./table_or_view_query_result"));
14
+ var _view = _interopRequireDefault(require("./view"));
15
+ var _object_pool = _interopRequireDefault(require("./object_pool"));
16
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
+ /** @module @airtable/blocks/models: Table */ /** */
18
+
19
+ // This doesn't follow our enum naming conventions because we want the keys
20
+ // to mirror the method/getter names on the model class.
21
+ const WatchableTableKeys = exports.WatchableTableKeys = Object.freeze({
22
+ ..._table_core.WatchableTableKeysCore,
23
+ views: 'views'
24
+ });
25
+
26
+ /**
27
+ * A key in {@link Table} that can be watched.
28
+ * - `name`
29
+ * - `description`
30
+ * - `fields`
31
+ * - `views`
32
+ */
33
+
34
+ /**
35
+ * Model class representing a table. Every {@link Base} has one or more tables.
36
+ *
37
+ * @docsPath models/Table
38
+ */
39
+ class Table extends _table_core.TableCore {
40
+ /** @internal */
41
+ static _className = 'Table';
42
+ /** @internal */
43
+ static _isWatchableKey(key) {
44
+ return (0, _private_utils.isEnumValue)(WatchableTableKeys, key);
45
+ }
46
+ /** @internal */
47
+
48
+ /** @internal */
49
+
50
+ /** @internal */
51
+ constructor(parentBase, recordStore, tableId, sdk) {
52
+ super(parentBase, recordStore, tableId, sdk);
53
+ this._viewModelsById = {}; // View instances are lazily created by getViewById.
54
+ this.__tableOrViewQueryResultPool = new _object_pool.default(_table_or_view_query_result.default);
55
+ }
56
+
57
+ /** @internal */
58
+ _constructField(fieldId) {
59
+ return new _field.default(this.parentBase.__sdk, this, fieldId);
60
+ }
61
+
62
+ /**
63
+ * The URL for the table. You can visit this URL in the browser to be taken to the table in the Airtable UI.
64
+ *
65
+ * @example
66
+ * ```js
67
+ * console.log(myTable.url);
68
+ * // => 'https://airtable.com/appxxxxxxxxxxxxxx/tblxxxxxxxxxxxxxx'
69
+ * ```
70
+ */
71
+ get url() {
72
+ return this._sdk.__airtableInterface.urlConstructor.getTableUrl(this.id);
73
+ }
74
+
75
+ // Experimental, do not document yet. Allows fetching default cell values for
76
+ // a table or view. Before documenting, we should explore making this synchronous.
77
+ /**
78
+ * @internal
79
+ */
80
+ // istanbul ignore next
81
+ async getDefaultCellValuesByFieldIdAsync(opts) {
82
+ const viewId = opts && opts.view ? opts.view.id : null;
83
+ const cellValuesByFieldId = await this._sdk.__airtableInterface.fetchDefaultCellValuesByFieldIdAsync(this._id, viewId);
84
+ return cellValuesByFieldId;
85
+ }
86
+
87
+ /**
88
+ * The views in this table. Can be watched to know when views are created,
89
+ * deleted, or reordered.
90
+ *
91
+ * @example
92
+ * ```js
93
+ * console.log(`This table has ${myTable.views.length} views`);
94
+ * ```
95
+ */
96
+ get views() {
97
+ // TODO(kasra): cache and freeze this so it isn't O(n)
98
+ const views = [];
99
+ this._data.viewOrder.forEach(viewId => {
100
+ const view = this.getViewById(viewId);
101
+ views.push(view);
102
+ });
103
+ return views;
104
+ }
105
+ /**
106
+ * Gets the view matching the given ID, or `null` if that view does not exist in this table.
107
+ *
108
+ * @param viewId The ID of the view.
109
+ * @example
110
+ * ```js
111
+ * const viewId = 'viwxxxxxxxxxxxxxx';
112
+ * const view = myTable.getViewByIdIfExists(viewId);
113
+ * if (view !== null) {
114
+ * console.log(view.name);
115
+ * } else {
116
+ * console.log('No view exists with that ID');
117
+ * }
118
+ * ```
119
+ */
120
+ getViewByIdIfExists(viewId) {
121
+ if (!this._data.viewsById[viewId]) {
122
+ return null;
123
+ } else {
124
+ if (!this._viewModelsById[viewId]) {
125
+ this._viewModelsById[viewId] = new _view.default(this._sdk, this, this._recordStore.getViewDataStore(viewId), viewId);
126
+ }
127
+ return this._viewModelsById[viewId];
128
+ }
129
+ }
130
+ /**
131
+ * Gets the view matching the given ID. Throws if that view does not exist in this table. Use
132
+ * {@link getViewByIdIfExists} instead if you are unsure whether a view exists with the given
133
+ * ID.
134
+ *
135
+ * @param viewId The ID of the view.
136
+ * @example
137
+ * ```js
138
+ * const viewId = 'viwxxxxxxxxxxxxxx';
139
+ * const view = myTable.getViewById(viewId);
140
+ * console.log(view.name);
141
+ * // => 'Grid view'
142
+ * ```
143
+ */
144
+ getViewById(viewId) {
145
+ const view = this.getViewByIdIfExists(viewId);
146
+ if (!view) {
147
+ throw (0, _error_utils.spawnError)("No view with ID %s in table '%s'", viewId, this.name);
148
+ }
149
+ return view;
150
+ }
151
+ /**
152
+ * Gets the view matching the given name, or `null` if no view exists with that name in this
153
+ * table.
154
+ *
155
+ * @param viewName The name of the view you're looking for.
156
+ * @example
157
+ * ```js
158
+ * const view = myTable.getViewByNameIfExists('Name');
159
+ * if (view !== null) {
160
+ * console.log(view.id);
161
+ * } else {
162
+ * console.log('No view exists with that name');
163
+ * }
164
+ * ```
165
+ */
166
+ getViewByNameIfExists(viewName) {
167
+ for (const [viewId, viewData] of (0, _private_utils.entries)(this._data.viewsById)) {
168
+ if (viewData.name === viewName) {
169
+ return this.getViewByIdIfExists(viewId);
170
+ }
171
+ }
172
+ return null;
173
+ }
174
+ /**
175
+ * Gets the view matching the given name. Throws if no view exists with that name in this table.
176
+ * Use {@link getViewByNameIfExists} instead if you are unsure whether a view exists with the
177
+ * given name.
178
+ *
179
+ * @param viewName The name of the view you're looking for.
180
+ * @example
181
+ * ```js
182
+ * const view = myTable.getViewByName('Name');
183
+ * console.log(view.id);
184
+ * // => 'viwxxxxxxxxxxxxxx'
185
+ * ```
186
+ */
187
+ getViewByName(viewName) {
188
+ const view = this.getViewByNameIfExists(viewName);
189
+ if (!view) {
190
+ throw (0, _error_utils.spawnError)("No view named '%s' in table '%s'", viewName, this.name);
191
+ }
192
+ return view;
193
+ }
194
+ /**
195
+ * The view matching the given ID or name. Returns `null` if no matching view exists within
196
+ * this table.
197
+ *
198
+ * This method is convenient when building an extension for a specific base, but for more generic
199
+ * extensions the best practice is to use the {@link getViewByIdIfExists} or
200
+ * {@link getViewByNameIfExists} methods instead.
201
+ *
202
+ * @param viewIdOrName The ID or name of the view you're looking for.
203
+ */
204
+ getViewIfExists(viewIdOrName) {
205
+ return this.getViewByIdIfExists(viewIdOrName) ?? this.getViewByNameIfExists(viewIdOrName);
206
+ }
207
+ /**
208
+ * The view matching the given ID or name. Throws if no matching view exists within this table.
209
+ * Use {@link getViewIfExists} instead if you are unsure whether a view exists with the given
210
+ * name/ID.
211
+ *
212
+ * This method is convenient when building an extension for a specific base, but for more generic
213
+ * extensions the best practice is to use the {@link getViewById} or {@link getViewByName} methods
214
+ * instead.
215
+ *
216
+ * @param viewIdOrName The ID or name of the view you're looking for.
217
+ */
218
+ getView(viewIdOrName) {
219
+ const view = this.getViewIfExists(viewIdOrName);
220
+ if (!view) {
221
+ throw (0, _error_utils.spawnError)("No view with ID or name '%s' in table '%s'", viewIdOrName, this.name);
222
+ }
223
+ return view;
224
+ }
225
+ /**
226
+ * Select records from the table. Returns a {@link RecordQueryResult}.
227
+ *
228
+ * Consider using {@link useRecords} or {@link useRecordIds} instead, unless you need the
229
+ * features of a QueryResult (e.g. `queryResult.getRecordById`). Record hooks handle
230
+ * loading/unloading and updating your UI automatically, but manually `select`ing records is
231
+ * useful for one-off data processing.
232
+ *
233
+ * @param opts Options for the query, such as sorts and fields.
234
+ * @example
235
+ * ```js
236
+ * import {useBase, useRecords} from '@airtable/blocks/base/ui';
237
+ * import React from 'react';
238
+ *
239
+ * function TodoList() {
240
+ * const base = useBase();
241
+ * const table = base.getTableByName('Tasks');
242
+ *
243
+ * const queryResult = table.selectRecords();
244
+ * const records = useRecords(queryResult);
245
+ *
246
+ * return (
247
+ * <ul>
248
+ * {records.map(record => (
249
+ * <li key={record.id}>
250
+ * {record.name || 'Unnamed record'}
251
+ * </li>
252
+ * ))}
253
+ * </ul>
254
+ * );
255
+ * }
256
+ * ```
257
+ */
258
+ selectRecords(opts) {
259
+ const normalizedOpts = _record_query_result.default._normalizeOpts(this, this._recordStore, opts || {});
260
+ return this.__tableOrViewQueryResultPool.getObjectForReuse(this._sdk, this, normalizedOpts);
261
+ }
262
+ /**
263
+ * Select and load records from the table. Returns a {@link RecordQueryResult} promise where
264
+ * record data has been loaded.
265
+ *
266
+ * Consider using {@link useRecords} or {@link useRecordIds} instead, unless you need the
267
+ * features of a QueryResult (e.g. `queryResult.getRecordById`). Record hooks handle
268
+ * loading/unloading and updating your UI automatically, but manually `select`ing records is
269
+ * useful for one-off data processing.
270
+ *
271
+ * Once you've finished with your query, remember to call `queryResult.unloadData()`.
272
+ *
273
+ * @param opts Options for the query, such as sorts and fields.
274
+ * @example
275
+ * ```js
276
+ * async function logRecordCountAsync(table) {
277
+ * const query = await table.selectRecordsAsync();
278
+ * console.log(query.recordIds.length);
279
+ * query.unloadData();
280
+ * }
281
+ * ```
282
+ */
283
+ async selectRecordsAsync(opts) {
284
+ const queryResult = this.selectRecords(opts);
285
+ await queryResult.loadDataAsync();
286
+ return queryResult;
287
+ }
288
+ /**
289
+ * Returns the first view in the table where the type is one of `allowedViewTypes`, or `null` if
290
+ * no such view exists in the table.
291
+ *
292
+ * @param allowedViewTypes An array of view types or a single view type to match against.
293
+ * @param preferredViewOrViewId If a view or view ID is supplied and that view exists & has the
294
+ * correct type, that view will be returned before checking the other views in the table.
295
+ * @example
296
+ * ```js
297
+ * import {ViewType} from '@airtable/blocks/base/models';
298
+ * const firstCalendarView = myTable.getFirstViewOfType(ViewType.CALENDAR);
299
+ * if (firstCalendarView !== null) {
300
+ * console.log(firstCalendarView.name);
301
+ * } else {
302
+ * console.log('No calendar views exist in the table');
303
+ * }
304
+ * ```
305
+ */
306
+ getFirstViewOfType(allowedViewTypes, preferredViewOrViewId) {
307
+ if (!Array.isArray(allowedViewTypes)) {
308
+ allowedViewTypes = (0, _private_utils.cast)([allowedViewTypes]);
309
+ }
310
+ if (preferredViewOrViewId) {
311
+ const preferredView = this.getViewByIdIfExists(typeof preferredViewOrViewId === 'string' ? preferredViewOrViewId : preferredViewOrViewId.id);
312
+ if (preferredView && allowedViewTypes.includes(preferredView.type)) {
313
+ return preferredView;
314
+ }
315
+ }
316
+ return this.views.find(view => {
317
+ return allowedViewTypes.includes(view.type);
318
+ }) ?? null;
319
+ }
320
+ /**
321
+ * @internal
322
+ */
323
+ __getViewMatching(viewOrViewIdOrViewName) {
324
+ let view;
325
+ if (viewOrViewIdOrViewName instanceof _view.default) {
326
+ if (viewOrViewIdOrViewName.parentTable.id !== this.id) {
327
+ throw (0, _error_utils.spawnError)("View '%s' is from a different table than table '%s'", viewOrViewIdOrViewName.name, this.name);
328
+ }
329
+ view = viewOrViewIdOrViewName;
330
+ } else {
331
+ view = this.getViewByIdIfExists(viewOrViewIdOrViewName) || this.getViewByNameIfExists(viewOrViewIdOrViewName);
332
+ if (view === null) {
333
+ throw (0, _error_utils.spawnError)("View '%s' does not exist in table '%s'", viewOrViewIdOrViewName, this.name);
334
+ }
335
+ }
336
+ if (view.isDeleted) {
337
+ throw (0, _error_utils.spawnError)("View '%s' was deleted from table '%s'", view.name, this.name);
338
+ }
339
+ return view;
340
+ }
341
+
342
+ /**
343
+ * Checks whether the current user has permission to create a field in this table.
344
+ *
345
+ * Accepts partial input, in the same format as {@link createFieldAsync}.
346
+ *
347
+ * Returns `{hasPermission: true}` if the current user can update the specified record,
348
+ * `{hasPermission: false, reasonDisplayString: string}` otherwise. `reasonDisplayString` may be
349
+ * used to display an error message to the user.
350
+ *
351
+ * @param name name for the field. must be case-insensitive unique for the table
352
+ * @param type type for the field
353
+ * @param options options for the field. omit for fields without writable options
354
+ * @param description description for the field. omit to leave blank
355
+ *
356
+ * @example
357
+ * ```js
358
+ * const createFieldCheckResult = table.checkPermissionsForCreateField();
359
+ *
360
+ * if (!createFieldCheckResult.hasPermission) {
361
+ * alert(createFieldCheckResult.reasonDisplayString);
362
+ * }
363
+ * ```
364
+ */
365
+ checkPermissionsForCreateField(name, type, options, description) {
366
+ return this._sdk.__mutations.checkPermissionsForMutation({
367
+ type: _mutations.MutationTypes.CREATE_SINGLE_FIELD,
368
+ tableId: this.id,
369
+ id: undefined,
370
+ // Generated in createFieldAsync.
371
+ name,
372
+ config: type ? {
373
+ type: type,
374
+ // In field.options we translate options to null when it's undefined (no options),
375
+ // but the mutation expects config to match the PublicApiConfig, where it's
376
+ // not present at all (options: undefined will fail validation).
377
+ ...(options ? {
378
+ options
379
+ } : null)
380
+ } : undefined,
381
+ description
382
+ });
383
+ }
384
+
385
+ /**
386
+ * An alias for `checkPermissionsForCreateField(name, type, options, description).hasPermission`.
387
+ *
388
+ * Checks whether the current user has permission to create a field in this table.
389
+ *
390
+ * Accepts partial input, in the same format as {@link createFieldAsync}.
391
+ *
392
+ * @param name name for the field. must be case-insensitive unique for the table
393
+ * @param type type for the field
394
+ * @param options options for the field. omit for fields without writable options
395
+ * @param description description for the field. omit to leave blank
396
+ *
397
+ * @example
398
+ * ```js
399
+ * const canCreateField = table.hasPermissionToCreateField();
400
+ *
401
+ * if (!canCreateField) {
402
+ * alert('not allowed!');
403
+ * }
404
+ * ```
405
+ */
406
+ hasPermissionToCreateField(name, type, options, description) {
407
+ return this.checkPermissionsForCreateField(name, type, options, description).hasPermission;
408
+ }
409
+
410
+ /**
411
+ * Creates a new field.
412
+ *
413
+ * Similar to creating a field from the Airtable UI, the new field will not be visible
414
+ * in views that have other hidden fields and views that are publicly shared.
415
+ *
416
+ * Throws an error if the user does not have permission to create a field, if invalid
417
+ * name, type or options are provided, or if creating fields of this type is not supported.
418
+ *
419
+ * Refer to {@link FieldType} for supported field types, the write format for options, and
420
+ * other specifics for certain field types.
421
+ *
422
+ * This action is asynchronous. Unlike new records, new fields are **not** created
423
+ * optimistically locally. You must `await` the returned promise before using the new
424
+ * field in your extension.
425
+ *
426
+ * @param name name for the field. must be case-insensitive unique
427
+ * @param type type for the field
428
+ * @param options options for the field. omit for fields without writable options
429
+ * @param description description for the field. is optional and will be `''` if not specified
430
+ * or if specified as `null`.
431
+ *
432
+ * @example
433
+ * ```js
434
+ * async function createNewSingleLineTextField(table, name) {
435
+ * if (table.hasPermissionToCreateField(name, FieldType.SINGLE_LINE_TEXT)) {
436
+ * await table.createFieldAsync(name, FieldType.SINGLE_LINE_TEXT);
437
+ * }
438
+ * }
439
+ *
440
+ * async function createNewCheckboxField(table, name) {
441
+ * const options = {
442
+ * icon: 'check',
443
+ * color: 'greenBright',
444
+ * };
445
+ * if (table.hasPermissionToCreateField(name, FieldType.CHECKBOX, options)) {
446
+ * await table.createFieldAsync(name, FieldType.CHECKBOX, options);
447
+ * }
448
+ * }
449
+ *
450
+ * async function createNewDateField(table, name) {
451
+ * const options = {
452
+ * dateFormat: {
453
+ * name: 'iso',
454
+ * },
455
+ * };
456
+ * if (table.hasPermissionToCreateField(name, FieldType.DATE, options)) {
457
+ * await table.createFieldAsync(name, FieldType.DATE, options);
458
+ * }
459
+ * }
460
+ * ```
461
+ */
462
+ async createFieldAsync(name, type, options, description) {
463
+ const fieldId = this._sdk.__airtableInterface.idGenerator.generateFieldId();
464
+ await this._sdk.__mutations.applyMutationAsync({
465
+ type: _mutations.MutationTypes.CREATE_SINGLE_FIELD,
466
+ tableId: this.id,
467
+ id: fieldId,
468
+ name,
469
+ config: {
470
+ type: type,
471
+ // In field.options we translate options to null when it's undefined (no options),
472
+ // but the mutation expects config to match the PublicApiConfig, where it's
473
+ // not present at all (options: undefined will fail validation).
474
+ ...(options ? {
475
+ options
476
+ } : null)
477
+ },
478
+ // Coerce undefined to null so that only old SDKs pass "undefined" for description
479
+ // '' is permitted, as we already set empty descriptions to '' when editing descriptions
480
+ // from the UI
481
+ description: description ?? null
482
+ });
483
+ return this.getFieldById(fieldId);
484
+ }
485
+
486
+ /** @internal */
487
+ __triggerOnChangeForDirtyPaths(dirtyPaths) {
488
+ let didTableSchemaChange = false;
489
+ if (super.__triggerOnChangeForDirtyPaths(dirtyPaths)) {
490
+ didTableSchemaChange = true;
491
+ }
492
+ if (dirtyPaths.viewOrder) {
493
+ this._onChange(WatchableTableKeys.views);
494
+ didTableSchemaChange = true;
495
+
496
+ // Clean up deleted views
497
+ for (const [viewId, viewModel] of (0, _private_utils.entries)(this._viewModelsById)) {
498
+ if (viewModel.isDeleted) {
499
+ delete this._viewModelsById[viewId];
500
+ }
501
+ }
502
+ }
503
+ if (dirtyPaths.viewsById) {
504
+ for (const [viewId, dirtyViewPaths] of (0, _private_utils.entries)(dirtyPaths.viewsById)) {
505
+ // Directly access from _viewModelsById to avoid creating
506
+ // a view model if it doesn't already exist. If it doesn't exist,
507
+ // nothing can be subscribed to any events on it.
508
+ const view = this._viewModelsById[viewId];
509
+ if (view) {
510
+ const didViewSchemaChange = view.__triggerOnChangeForDirtyPaths(dirtyViewPaths);
511
+ if (didViewSchemaChange) {
512
+ didTableSchemaChange = true;
513
+ }
514
+ }
515
+ }
516
+ }
517
+ return didTableSchemaChange;
518
+ }
519
+ }
520
+ var _default = exports.default = Table;