@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,41 +1,19 @@
1
1
  "use strict";
2
2
 
3
- require("core-js/modules/es.symbol.js");
4
- require("core-js/modules/es.symbol.description.js");
5
- require("core-js/modules/es.array.from.js");
6
- require("core-js/modules/es.object.to-string.js");
7
- require("core-js/modules/es.regexp.exec.js");
8
- require("core-js/modules/es.regexp.to-string.js");
9
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
10
3
  Object.defineProperty(exports, "__esModule", {
11
4
  value: true
12
5
  });
13
6
  exports.default = void 0;
14
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
15
- require("core-js/modules/es.array.concat.js");
16
- require("core-js/modules/es.array.iterator.js");
17
- require("core-js/modules/es.array.map.js");
18
- require("core-js/modules/es.array.slice.js");
19
- require("core-js/modules/web.dom-collections.iterator.js");
20
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
21
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
22
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
23
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
24
- var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
25
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
26
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
27
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
28
7
  var _error_utils = require("../../shared/error_utils");
29
8
  var _record_query_result = _interopRequireDefault(require("./record_query_result"));
30
9
  var _object_pool = _interopRequireDefault(require("./object_pool"));
31
- function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
32
- function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
33
- function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
34
- 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)); }
35
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /** @module @airtable/blocks/models: RecordQueryResult */ /** */
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ /** @module @airtable/blocks/models: RecordQueryResult */ /** */
12
+
36
13
  /** @hidden */
37
14
  // Even though we don't load the data, we still access it through `._data` so that
38
15
  // we can be ensured the model hasn't been deleted.
16
+
39
17
  /**
40
18
  * Represents a group of records returned from a group query. See {@link RecordQueryResult} for main
41
19
  * documentation.
@@ -46,354 +24,257 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
46
24
  * @docsPath models/query results/GroupedRecordQueryResult
47
25
  * @hidden
48
26
  */
49
- var GroupedRecordQueryResult = /*#__PURE__*/function (_RecordQueryResult) {
27
+ class GroupedRecordQueryResult extends _record_query_result.default {
28
+ /** @internal */
29
+ static _className = 'GroupedRecordQueryResult';
30
+
31
+ /** @internal */
32
+
33
+ /** @internal */
34
+
35
+ /**
36
+ * This includes groupLevel for all children & parent grouped layers, the getter
37
+ * returns only the groupLevels for this layer.
38
+ *
39
+ * @internal
40
+ */
41
+
42
+ // This is the ordered list of groups.
50
43
  /** @internal */
51
- function GroupedRecordQueryResult(parentQueryResult, groupData, groupLevel, normalizedOpts, sdk) {
52
- var _this;
53
- (0, _classCallCheck2.default)(this, GroupedRecordQueryResult);
54
- _this = _callSuper(this, GroupedRecordQueryResult, [sdk, normalizedOpts]);
55
- /** @internal */
56
- (0, _defineProperty2.default)(_this, "_parentQueryResult", void 0);
57
- /** @internal */
58
- (0, _defineProperty2.default)(_this, "_groupData", void 0);
59
- /**
60
- * This includes groupLevel for all children & parent grouped layers, the getter
61
- * returns only the groupLevels for this layer.
62
- *
63
- * @internal
64
- */
65
- (0, _defineProperty2.default)(_this, "_groupLevels", void 0);
66
- // This is the ordered list of groups.
67
- /** @internal */
68
- (0, _defineProperty2.default)(_this, "_orderedChildrenGroups", void 0);
69
- // lazily generated set of record ids
70
- /** @internal */
71
- (0, _defineProperty2.default)(_this, "_recordIdsSet", null);
72
- // lazily generated ordered array of recordIds
73
- (0, _defineProperty2.default)(_this, "_orderedRecordIds", null);
74
- /** @internal */
75
- (0, _defineProperty2.default)(_this, "__groupedRecordQueryResultPool", void 0);
76
- _this.__groupedRecordQueryResultPool = new _object_pool.default(GroupedRecordQueryResult);
77
- _this._parentQueryResult = parentQueryResult;
78
- _this._groupData = groupData;
79
- _this._groupLevels = groupLevel;
80
- var groupLevelDataSlicedForChildren = _this._groupLevels.slice(1);
81
- _this._orderedChildrenGroups = groupData.groups ? groupData.groups.map(singleGroupData => {
82
- var group = _this.__groupedRecordQueryResultPool.getObjectForReuse(_this, singleGroupData, groupLevelDataSlicedForChildren, normalizedOpts, sdk);
44
+
45
+ // lazily generated set of record ids
46
+ /** @internal */
47
+ _recordIdsSet = null;
48
+
49
+ // lazily generated ordered array of recordIds
50
+ _orderedRecordIds = null;
51
+
52
+ /** @internal */
53
+
54
+ /** @internal */
55
+ constructor(parentQueryResult, groupData, groupLevel, normalizedOpts, sdk) {
56
+ super(sdk, normalizedOpts);
57
+ this.__groupedRecordQueryResultPool = new _object_pool.default(GroupedRecordQueryResult);
58
+ this._parentQueryResult = parentQueryResult;
59
+ this._groupData = groupData;
60
+ this._groupLevels = groupLevel;
61
+ const groupLevelDataSlicedForChildren = this._groupLevels.slice(1);
62
+ this._orderedChildrenGroups = groupData.groups ? groupData.groups.map(singleGroupData => {
63
+ const group = this.__groupedRecordQueryResultPool.getObjectForReuse(this, singleGroupData, groupLevelDataSlicedForChildren, normalizedOpts, sdk);
83
64
  // Don't await the loading, let others check isDataLoaded.
84
65
  // (it doesn't take any time anyway). Loading also strong retains.
85
66
  group.loadDataAsync();
86
67
  return group;
87
68
  }) : null;
88
- return _this;
89
69
  }
90
70
 
91
71
  /**
92
72
  * Gets children groups of this group (if any exist)
93
73
  */
94
- (0, _inherits2.default)(GroupedRecordQueryResult, _RecordQueryResult);
95
- return (0, _createClass2.default)(GroupedRecordQueryResult, [{
96
- key: "groups",
97
- get: function get() {
98
- return this._orderedChildrenGroups;
99
- }
74
+ get groups() {
75
+ return this._orderedChildrenGroups;
76
+ }
100
77
 
101
- /** @internal */
102
- }, {
103
- key: "groupLevel",
104
- get: function get() {
105
- return this._data.groupLevels[0];
106
- }
78
+ /** @internal */
79
+ get groupLevel() {
80
+ return this._data.groupLevels[0];
81
+ }
107
82
 
108
- /**
109
- * Gets the fieldId that this group is grouped by
110
- */
111
- }, {
112
- key: "fieldId",
113
- get: function get() {
114
- return this.groupLevel.fieldId;
115
- }
83
+ /**
84
+ * Gets the fieldId that this group is grouped by
85
+ */
86
+ get fieldId() {
87
+ return this.groupLevel.fieldId;
88
+ }
116
89
 
117
- /**
118
- * Gets the field that this group is grouped by
119
- */
120
- }, {
121
- key: "field",
122
- get: function get() {
123
- return this.parentTable.getFieldById(this.fieldId);
124
- }
90
+ /**
91
+ * Gets the field that this group is grouped by
92
+ */
93
+ get field() {
94
+ return this.parentTable.getFieldById(this.fieldId);
95
+ }
125
96
 
126
- // TODO (SeanKeenan) This is needed because we can't always iterate down and find
127
- // a record, it's possible to have "empty groups".
128
- // getValue() {
129
- // }
130
-
131
- // TODO (SeanKeenan)
132
- // getValueAsString() {
133
- // }
134
-
135
- /**
136
- * @internal (since we may not be able to return parent model instances in the immutable models world)
137
- * The table that records in this RecordQueryResult are part of
138
- */
139
- }, {
140
- key: "parentTable",
141
- get: function get() {
142
- return this._parentQueryResult.parentTable;
143
- }
97
+ // TODO (SeanKeenan) This is needed because we can't always iterate down and find
98
+ // a record, it's possible to have "empty groups".
99
+ // getValue() {
100
+ // }
144
101
 
145
- /**
146
- * Recursively gets all recordIds in the children groups, keeping recordIds in group order
147
- *
148
- * @internal
149
- */
150
- }, {
151
- key: "_computeRecordIds",
152
- value: function _computeRecordIds() {
153
- // If we are a leaf node, return the raw recordIds
154
- if (!this.groups) {
155
- var _this$_data$groupData;
156
- // Typescript can't infer if groups is empty visibleRecordIds must be populated
157
- // but the extra safety isn't bad. (istanbul also can't ignore just the ??)
158
- // istanbul ignore next
159
- return (_this$_data$groupData = this._data.groupData.visibleRecordIds) !== null && _this$_data$groupData !== void 0 ? _this$_data$groupData : [];
160
- }
102
+ // TODO (SeanKeenan)
103
+ // getValueAsString() {
104
+ // }
161
105
 
162
- // Otherwise build the recordId's from children groups
163
- var recordIds = [];
164
- var _iterator = _createForOfIteratorHelper(this.groups),
165
- _step;
166
- try {
167
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
168
- var group = _step.value;
169
- recordIds.push(...group.recordIds);
170
- }
171
- } catch (err) {
172
- _iterator.e(err);
173
- } finally {
174
- _iterator.f();
175
- }
176
- return recordIds;
177
- }
106
+ /**
107
+ * @internal (since we may not be able to return parent model instances in the immutable models world)
108
+ * The table that records in this RecordQueryResult are part of
109
+ */
110
+ get parentTable() {
111
+ return this._parentQueryResult.parentTable;
112
+ }
178
113
 
179
- /**
180
- * Anytime the recordIds to return could have changed, we clear this so that
181
- * the next time the user requests recordIds it recomputes
182
- *
183
- * @internal
184
- */
185
- }, {
186
- key: "_invalidateComputedRecordIds",
187
- value: function _invalidateComputedRecordIds() {
188
- this._orderedRecordIds = null;
114
+ /**
115
+ * Recursively gets all recordIds in the children groups, keeping recordIds in group order
116
+ *
117
+ * @internal
118
+ */
119
+ _computeRecordIds() {
120
+ // If we are a leaf node, return the raw recordIds
121
+ if (!this.groups) {
122
+ // Typescript can't infer if groups is empty visibleRecordIds must be populated
123
+ // but the extra safety isn't bad. (istanbul also can't ignore just the ??)
124
+ // istanbul ignore next
125
+ return this._data.groupData.visibleRecordIds ?? [];
189
126
  }
190
127
 
191
- /**
192
- * Ordered array of all the record ids inside this group, in group order.
193
- * This returns all recordIds of all children groups (in grouped order).
194
- * Watchable.
195
- */
196
- }, {
197
- key: "recordIds",
198
- get: function get() {
199
- (0, _error_utils.invariant)(this.isDataLoaded, 'GroupedRecordQueryResult data is not loaded');
200
- if (this._orderedRecordIds === null) {
201
- this._orderedRecordIds = this._computeRecordIds();
202
- }
203
- return this._orderedRecordIds;
128
+ // Otherwise build the recordId's from children groups
129
+ const recordIds = [];
130
+ for (const group of this.groups) {
131
+ recordIds.push(...group.recordIds);
204
132
  }
133
+ return recordIds;
134
+ }
205
135
 
206
- /**
207
- * The fields that were used to create the parent RecordQueryResult that created this GroupedRecordQueryResult.
208
- * This is separate from the field/fieldId property - which is the field this grouping is based upon.
209
- * Null if fields were not specified, which means the RecordQueryResult
210
- * will load all fields in the table.
211
- */
212
- }, {
213
- key: "fields",
214
- get: function get() {
215
- (0, _error_utils.invariant)(this.isDataLoaded, 'GroupedRecordQueryResult data is not loaded');
216
- return this._parentQueryResult.fields;
217
- }
136
+ /**
137
+ * Anytime the recordIds to return could have changed, we clear this so that
138
+ * the next time the user requests recordIds it recomputes
139
+ *
140
+ * @internal
141
+ */
142
+ _invalidateComputedRecordIds() {
143
+ this._orderedRecordIds = null;
144
+ }
218
145
 
219
- /** @inheritdoc */
220
- }, {
221
- key: "watch",
222
- value: function watch(keys, callback, context) {
223
- // TODO (SeanKeenan): This provides events even if they occur outside of this group
224
- // This is an issue that needs to be fixed before this API is made public
225
- var validKeys = this._parentQueryResult.watch(keys, callback, context);
226
- return validKeys;
146
+ /**
147
+ * Ordered array of all the record ids inside this group, in group order.
148
+ * This returns all recordIds of all children groups (in grouped order).
149
+ * Watchable.
150
+ */
151
+ get recordIds() {
152
+ (0, _error_utils.invariant)(this.isDataLoaded, 'GroupedRecordQueryResult data is not loaded');
153
+ if (this._orderedRecordIds === null) {
154
+ this._orderedRecordIds = this._computeRecordIds();
227
155
  }
156
+ return this._orderedRecordIds;
157
+ }
228
158
 
229
- /** @inheritdoc */
230
- }, {
231
- key: "unwatch",
232
- value: function unwatch(keys, callback, context) {
233
- return this._parentQueryResult.unwatch(keys, callback, context);
234
- }
159
+ /**
160
+ * The fields that were used to create the parent RecordQueryResult that created this GroupedRecordQueryResult.
161
+ * This is separate from the field/fieldId property - which is the field this grouping is based upon.
162
+ * Null if fields were not specified, which means the RecordQueryResult
163
+ * will load all fields in the table.
164
+ */
165
+ get fields() {
166
+ (0, _error_utils.invariant)(this.isDataLoaded, 'GroupedRecordQueryResult data is not loaded');
167
+ return this._parentQueryResult.fields;
168
+ }
235
169
 
236
- /** @inheritdoc */
237
- }, {
238
- key: "loadDataAsync",
239
- value: (function () {
240
- var _loadDataAsync2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
241
- return _regenerator.default.wrap(function _callee$(_context) {
242
- while (1) switch (_context.prev = _context.next) {
243
- case 0:
244
- _context.next = 2;
245
- return (0, _get2.default)((0, _getPrototypeOf2.default)(GroupedRecordQueryResult.prototype), "loadDataAsync", this).call(this);
246
- case 2:
247
- case "end":
248
- return _context.stop();
249
- }
250
- }, _callee, this);
251
- }));
252
- function loadDataAsync() {
253
- return _loadDataAsync2.apply(this, arguments);
254
- }
255
- return loadDataAsync;
256
- }() /** @internal */)
257
- }, {
258
- key: "_getChangedKeysOnLoad",
259
- value: function _getChangedKeysOnLoad() {
260
- return this._parentQueryResult._getChangedKeysOnLoad();
261
- }
170
+ /** @inheritdoc */
171
+ watch(keys, callback, context) {
172
+ // TODO (SeanKeenan): This provides events even if they occur outside of this group
173
+ // This is an issue that needs to be fixed before this API is made public
174
+ const validKeys = this._parentQueryResult.watch(keys, callback, context);
175
+ return validKeys;
176
+ }
262
177
 
263
- /** @internal */
264
- }, {
265
- key: "_loadDataAsync",
266
- value: (function () {
267
- var _loadDataAsync3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
268
- return _regenerator.default.wrap(function _callee2$(_context2) {
269
- while (1) switch (_context2.prev = _context2.next) {
270
- case 0:
271
- this._parentQueryResult.__groupedRecordQueryResultPool.registerObjectForReuseStrong(this);
272
-
273
- // Ensure we invalidate our memoized computed recordIds whenever a relevant hook changes
274
- // TODO: (SeanKeenan) At the moment this should never be relevant, because groups are recreated
275
- // anytime the groups change - but this is how it should work once groups persist AND
276
- // watching recordIds only changes if records in this group change.
277
- // In the meantime this does ensure that a deleted GroupedRecordQuery with stale recordIds
278
- // doesn't return the cached array.
279
- this.watch(['recordIds', 'groups', 'groupLevels'], this._invalidateComputedRecordIds, this);
280
- this.watch(['recordIds'], this._invalidateRecordIdsSet, this);
281
- return _context2.abrupt("return", this._getChangedKeysOnLoad());
282
- case 4:
283
- case "end":
284
- return _context2.stop();
285
- }
286
- }, _callee2, this);
287
- }));
288
- function _loadDataAsync() {
289
- return _loadDataAsync3.apply(this, arguments);
290
- }
291
- return _loadDataAsync;
292
- }() /** @internal */)
293
- }, {
294
- key: "_unloadData",
295
- value: function _unloadData() {
296
- // Ensure we invalidate our memoized computed recordIds whenever a relevant hook changes
297
- this.unwatch(['recordIds', 'groups', 'groupLevels'], this._invalidateComputedRecordIds, this);
298
- this.unwatch(['recordIds'], this._invalidateRecordIdsSet, this);
299
-
300
- // Invalidate both of the caches, as this object can no longer be accessed
301
- this._invalidateComputedRecordIds();
302
- this._invalidateRecordIdsSet();
303
- this._unloadChildrenGroupsIfNeeded();
304
- this._parentQueryResult.__groupedRecordQueryResultPool.unregisterObjectForReuseStrong(this);
305
- }
178
+ /** @inheritdoc */
179
+ unwatch(keys, callback, context) {
180
+ return this._parentQueryResult.unwatch(keys, callback, context);
181
+ }
306
182
 
307
- /** @internal */
308
- }, {
309
- key: "__poolKey",
310
- get: function get() {
311
- // TODO (SeanKeenan) We don't have an actual groupId, but while id is unique; this should have id removed
312
- return "".concat(this._serializedOpts, "::").concat(this.id);
313
- }
183
+ /** @inheritdoc */
184
+ async loadDataAsync() {
185
+ await super.loadDataAsync();
186
+ }
314
187
 
315
- /**
316
- * This model doesn't actually load data, but it does use the `_data`
317
- * property so that checks for model deletion behave appropriately.
318
- *
319
- * This is considered deleted if the parent query result has been deleted.
320
- *
321
- * We return groupData, instead of precomputing all children groups because
322
- * we perform the computation+caching lazily on request
323
- *
324
- * @internal
325
- */
326
- }, {
327
- key: "_dataOrNullIfDeleted",
328
- get: function get() {
329
- if (this._parentQueryResult._dataOrNullIfDeleted === null) {
330
- return null;
331
- }
332
- return {
333
- groupData: this._groupData,
334
- groupLevels: this._groupLevels
335
- };
336
- }
188
+ /** @internal */
189
+ _getChangedKeysOnLoad() {
190
+ return this._parentQueryResult._getChangedKeysOnLoad();
191
+ }
192
+
193
+ /** @internal */
194
+ async _loadDataAsync() {
195
+ this._parentQueryResult.__groupedRecordQueryResultPool.registerObjectForReuseStrong(this);
196
+
197
+ // Ensure we invalidate our memoized computed recordIds whenever a relevant hook changes
198
+ // TODO: (SeanKeenan) At the moment this should never be relevant, because groups are recreated
199
+ // anytime the groups change - but this is how it should work once groups persist AND
200
+ // watching recordIds only changes if records in this group change.
201
+ // In the meantime this does ensure that a deleted GroupedRecordQuery with stale recordIds
202
+ // doesn't return the cached array.
203
+ this.watch(['recordIds', 'groups', 'groupLevels'], this._invalidateComputedRecordIds, this);
204
+ this.watch(['recordIds'], this._invalidateRecordIdsSet, this);
205
+ return this._getChangedKeysOnLoad();
206
+ }
337
207
 
338
- /** @inheritdoc */
339
- }, {
340
- key: "isDataLoaded",
341
- get: function get() {
342
- return this._parentQueryResult.isDataLoaded;
208
+ /** @internal */
209
+ _unloadData() {
210
+ // Ensure we invalidate our memoized computed recordIds whenever a relevant hook changes
211
+ this.unwatch(['recordIds', 'groups', 'groupLevels'], this._invalidateComputedRecordIds, this);
212
+ this.unwatch(['recordIds'], this._invalidateRecordIdsSet, this);
213
+
214
+ // Invalidate both of the caches, as this object can no longer be accessed
215
+ this._invalidateComputedRecordIds();
216
+ this._invalidateRecordIdsSet();
217
+ this._unloadChildrenGroupsIfNeeded();
218
+ this._parentQueryResult.__groupedRecordQueryResultPool.unregisterObjectForReuseStrong(this);
219
+ }
220
+
221
+ /** @internal */
222
+ get __poolKey() {
223
+ // TODO (SeanKeenan) We don't have an actual groupId, but while id is unique; this should have id removed
224
+ return `${this._serializedOpts}::${this.id}`;
225
+ }
226
+
227
+ /**
228
+ * This model doesn't actually load data, but it does use the `_data`
229
+ * property so that checks for model deletion behave appropriately.
230
+ *
231
+ * This is considered deleted if the parent query result has been deleted.
232
+ *
233
+ * We return groupData, instead of precomputing all children groups because
234
+ * we perform the computation+caching lazily on request
235
+ *
236
+ * @internal
237
+ */
238
+ get _dataOrNullIfDeleted() {
239
+ if (this._parentQueryResult._dataOrNullIfDeleted === null) {
240
+ return null;
343
241
  }
242
+ return {
243
+ groupData: this._groupData,
244
+ groupLevels: this._groupLevels
245
+ };
246
+ }
247
+
248
+ /** @inheritdoc */
249
+ get isDataLoaded() {
250
+ return this._parentQueryResult.isDataLoaded;
251
+ }
344
252
 
345
- /** @internal */
346
- }, {
347
- key: "_unloadChildrenGroupsIfNeeded",
348
- value: function _unloadChildrenGroupsIfNeeded() {
349
- if (this._orderedChildrenGroups) {
350
- var _iterator2 = _createForOfIteratorHelper(this._orderedChildrenGroups),
351
- _step2;
352
- try {
353
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
354
- var group = _step2.value;
355
- group.unloadData();
356
- }
357
- } catch (err) {
358
- _iterator2.e(err);
359
- } finally {
360
- _iterator2.f();
361
- }
253
+ /** @internal */
254
+ _unloadChildrenGroupsIfNeeded() {
255
+ if (this._orderedChildrenGroups) {
256
+ for (const group of this._orderedChildrenGroups) {
257
+ group.unloadData();
362
258
  }
363
259
  }
260
+ }
364
261
 
365
- /** @internal */
366
- }, {
367
- key: "_invalidateRecordIdsSet",
368
- value: function _invalidateRecordIdsSet() {
369
- this._recordIdsSet = null;
370
- }
262
+ /** @internal */
263
+ _invalidateRecordIdsSet() {
264
+ this._recordIdsSet = null;
265
+ }
371
266
 
372
- /** @internal */
373
- }, {
374
- key: "_getOrGenerateRecordIdsSet",
375
- value: function _getOrGenerateRecordIdsSet() {
376
- // TODO (SeanKeenan): this logic is duplicated in tableOrViewQueryResult
377
- if (!this._recordIdsSet) {
378
- var recordIdsSet = {};
379
- var _iterator3 = _createForOfIteratorHelper(this.recordIds),
380
- _step3;
381
- try {
382
- for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
383
- var recordId = _step3.value;
384
- recordIdsSet[recordId] = true;
385
- }
386
- } catch (err) {
387
- _iterator3.e(err);
388
- } finally {
389
- _iterator3.f();
390
- }
391
- this._recordIdsSet = recordIdsSet;
267
+ /** @internal */
268
+ _getOrGenerateRecordIdsSet() {
269
+ // TODO (SeanKeenan): this logic is duplicated in tableOrViewQueryResult
270
+ if (!this._recordIdsSet) {
271
+ const recordIdsSet = {};
272
+ for (const recordId of this.recordIds) {
273
+ recordIdsSet[recordId] = true;
392
274
  }
393
- return this._recordIdsSet;
275
+ this._recordIdsSet = recordIdsSet;
394
276
  }
395
- }]);
396
- }(_record_query_result.default);
397
- /** @internal */
398
- (0, _defineProperty2.default)(GroupedRecordQueryResult, "_className", 'GroupedRecordQueryResult');
277
+ return this._recordIdsSet;
278
+ }
279
+ }
399
280
  var _default = exports.default = GroupedRecordQueryResult;