@airtable/blocks 0.0.0-experimental-3e47d4d04-20250909 → 0.0.0-experimental-e625869e5-20251002

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 (438) hide show
  1. package/dist/esm/base/types/airtable_interface.js +1 -3
  2. package/dist/esm/base/ui/block_wrapper.js +131 -96
  3. package/dist/esm/base/ui/cell_renderer.js +5 -176
  4. package/dist/esm/base/ui/global_alert.js +7 -3
  5. package/dist/esm/base/ui/global_css_helpers.js +28 -0
  6. package/dist/esm/base/ui/ui.js +1 -21
  7. package/dist/esm/base/ui/unstable_standalone_ui.js +28 -26
  8. package/dist/esm/base/ui/use_loadable.js +2 -3
  9. package/dist/esm/interface/types/airtable_interface.js +2 -3
  10. package/dist/esm/interface/ui/block_wrapper.js +45 -54
  11. package/dist/esm/interface/ui/cell_renderer.js +19 -0
  12. package/dist/esm/interface/ui/global_css_helpers.js +17 -0
  13. package/dist/esm/interface/ui/ui.js +1 -1
  14. package/dist/esm/interface/ui/use_custom_properties.js +43 -14
  15. package/dist/esm/shared/private_utils.js +51 -1
  16. package/dist/esm/shared/sdk_core.js +1 -1
  17. package/dist/esm/shared/ui/cell_renderer.js +137 -0
  18. package/dist/esm/shared/ui/use_watchable.js +2 -3
  19. package/dist/types/src/base/types/airtable_interface.d.ts +1 -3
  20. package/dist/types/src/base/types/airtable_interface.d.ts.map +1 -1
  21. package/dist/types/src/base/ui/block_wrapper.d.ts +2 -16
  22. package/dist/types/src/base/ui/block_wrapper.d.ts.map +1 -1
  23. package/dist/types/src/base/ui/cell_renderer.d.ts +6 -58
  24. package/dist/types/src/base/ui/cell_renderer.d.ts.map +1 -1
  25. package/dist/types/src/base/ui/global_css_helpers.d.ts +4 -0
  26. package/dist/types/src/base/ui/global_css_helpers.d.ts.map +1 -0
  27. package/dist/types/src/base/ui/ui.d.ts +1 -21
  28. package/dist/types/src/base/ui/ui.d.ts.map +1 -1
  29. package/dist/types/src/base/ui/unstable_standalone_ui.d.ts +2 -22
  30. package/dist/types/src/base/ui/unstable_standalone_ui.d.ts.map +1 -1
  31. package/dist/types/src/base/ui/use_loadable.d.ts.map +1 -1
  32. package/dist/types/src/interface/types/airtable_interface.d.ts +6 -4
  33. package/dist/types/src/interface/types/airtable_interface.d.ts.map +1 -1
  34. package/dist/types/src/interface/ui/block_wrapper.d.ts +1 -4
  35. package/dist/types/src/interface/ui/block_wrapper.d.ts.map +1 -1
  36. package/dist/types/src/interface/ui/cell_renderer.d.ts +19 -0
  37. package/dist/types/src/interface/ui/cell_renderer.d.ts.map +1 -0
  38. package/dist/types/src/interface/ui/global_css_helpers.d.ts +3 -0
  39. package/dist/types/src/interface/ui/global_css_helpers.d.ts.map +1 -0
  40. package/dist/types/src/interface/ui/ui.d.ts +1 -1
  41. package/dist/types/src/interface/ui/ui.d.ts.map +1 -1
  42. package/dist/types/src/interface/ui/use_custom_properties.d.ts +7 -0
  43. package/dist/types/src/interface/ui/use_custom_properties.d.ts.map +1 -1
  44. package/dist/types/src/shared/private_utils.d.ts +9 -1
  45. package/dist/types/src/shared/private_utils.d.ts.map +1 -1
  46. package/dist/types/src/shared/ui/cell_renderer.d.ts +32 -0
  47. package/dist/types/src/shared/ui/cell_renderer.d.ts.map +1 -0
  48. package/dist/types/src/shared/ui/use_watchable.d.ts.map +1 -1
  49. package/package.json +5 -39
  50. package/dist/esm/base/ui/baymax_utils.js +0 -455
  51. package/dist/esm/base/ui/box.js +0 -77
  52. package/dist/esm/base/ui/button.js +0 -143
  53. package/dist/esm/base/ui/choice_token.js +0 -84
  54. package/dist/esm/base/ui/collaborator_token.js +0 -115
  55. package/dist/esm/base/ui/color_palette.js +0 -185
  56. package/dist/esm/base/ui/color_palette_synced.js +0 -62
  57. package/dist/esm/base/ui/confirmation_dialog.js +0 -96
  58. package/dist/esm/base/ui/control_sizes.js +0 -92
  59. package/dist/esm/base/ui/create_detect_element_resize.js +0 -197
  60. package/dist/esm/base/ui/css_helpers.js +0 -17
  61. package/dist/esm/base/ui/dialog.js +0 -93
  62. package/dist/esm/base/ui/dialog_close_button.js +0 -96
  63. package/dist/esm/base/ui/field_icon.js +0 -37
  64. package/dist/esm/base/ui/field_picker.js +0 -91
  65. package/dist/esm/base/ui/field_picker_synced.js +0 -59
  66. package/dist/esm/base/ui/form_field.js +0 -102
  67. package/dist/esm/base/ui/geometry/geometry.js +0 -9
  68. package/dist/esm/base/ui/geometry/point.js +0 -12
  69. package/dist/esm/base/ui/geometry/rect.js +0 -44
  70. package/dist/esm/base/ui/geometry/size.js +0 -12
  71. package/dist/esm/base/ui/heading.js +0 -125
  72. package/dist/esm/base/ui/icon.js +0 -102
  73. package/dist/esm/base/ui/icon_config.js +0 -423
  74. package/dist/esm/base/ui/input.js +0 -152
  75. package/dist/esm/base/ui/input_synced.js +0 -59
  76. package/dist/esm/base/ui/key_codes.js +0 -66
  77. package/dist/esm/base/ui/label.js +0 -73
  78. package/dist/esm/base/ui/link.js +0 -189
  79. package/dist/esm/base/ui/loader.js +0 -52
  80. package/dist/esm/base/ui/modal.js +0 -135
  81. package/dist/esm/base/ui/model_picker_select.js +0 -50
  82. package/dist/esm/base/ui/popover.js +0 -312
  83. package/dist/esm/base/ui/progress_bar.js +0 -106
  84. package/dist/esm/base/ui/record_card.js +0 -556
  85. package/dist/esm/base/ui/record_card_list.js +0 -292
  86. package/dist/esm/base/ui/select.js +0 -182
  87. package/dist/esm/base/ui/select_and_select_buttons_helpers.js +0 -53
  88. package/dist/esm/base/ui/select_buttons.js +0 -150
  89. package/dist/esm/base/ui/select_buttons_synced.js +0 -55
  90. package/dist/esm/base/ui/select_synced.js +0 -58
  91. package/dist/esm/base/ui/switch.js +0 -160
  92. package/dist/esm/base/ui/switch_synced.js +0 -46
  93. package/dist/esm/base/ui/synced.js +0 -39
  94. package/dist/esm/base/ui/system/all_styles_set.js +0 -86
  95. package/dist/esm/base/ui/system/appearance/appearance_set.js +0 -21
  96. package/dist/esm/base/ui/system/appearance/background_color.js +0 -12
  97. package/dist/esm/base/ui/system/appearance/border.js +0 -48
  98. package/dist/esm/base/ui/system/appearance/border_radius.js +0 -12
  99. package/dist/esm/base/ui/system/appearance/box_shadow.js +0 -12
  100. package/dist/esm/base/ui/system/appearance/opacity.js +0 -12
  101. package/dist/esm/base/ui/system/dimensions/dimensions_set.js +0 -23
  102. package/dist/esm/base/ui/system/dimensions/height.js +0 -12
  103. package/dist/esm/base/ui/system/dimensions/max_height.js +0 -12
  104. package/dist/esm/base/ui/system/dimensions/max_width.js +0 -12
  105. package/dist/esm/base/ui/system/dimensions/min_height.js +0 -12
  106. package/dist/esm/base/ui/system/dimensions/min_width.js +0 -12
  107. package/dist/esm/base/ui/system/dimensions/width.js +0 -12
  108. package/dist/esm/base/ui/system/display.js +0 -13
  109. package/dist/esm/base/ui/system/flex_container/align_content.js +0 -9
  110. package/dist/esm/base/ui/system/flex_container/align_items.js +0 -9
  111. package/dist/esm/base/ui/system/flex_container/flex_container_set.js +0 -23
  112. package/dist/esm/base/ui/system/flex_container/flex_direction.js +0 -9
  113. package/dist/esm/base/ui/system/flex_container/flex_wrap.js +0 -9
  114. package/dist/esm/base/ui/system/flex_container/justify_content.js +0 -9
  115. package/dist/esm/base/ui/system/flex_container/justify_items.js +0 -10
  116. package/dist/esm/base/ui/system/flex_item/align_self.js +0 -9
  117. package/dist/esm/base/ui/system/flex_item/flex.js +0 -9
  118. package/dist/esm/base/ui/system/flex_item/flex_basis.js +0 -9
  119. package/dist/esm/base/ui/system/flex_item/flex_grow.js +0 -9
  120. package/dist/esm/base/ui/system/flex_item/flex_item_set.js +0 -25
  121. package/dist/esm/base/ui/system/flex_item/flex_shrink.js +0 -9
  122. package/dist/esm/base/ui/system/flex_item/justify_self.js +0 -10
  123. package/dist/esm/base/ui/system/flex_item/order.js +0 -9
  124. package/dist/esm/base/ui/system/index.js +0 -96
  125. package/dist/esm/base/ui/system/overflow.js +0 -15
  126. package/dist/esm/base/ui/system/position/bottom.js +0 -17
  127. package/dist/esm/base/ui/system/position/left.js +0 -17
  128. package/dist/esm/base/ui/system/position/position.js +0 -9
  129. package/dist/esm/base/ui/system/position/position_set.js +0 -23
  130. package/dist/esm/base/ui/system/position/right.js +0 -17
  131. package/dist/esm/base/ui/system/position/top.js +0 -17
  132. package/dist/esm/base/ui/system/position/z_index.js +0 -12
  133. package/dist/esm/base/ui/system/spacing/margin.js +0 -65
  134. package/dist/esm/base/ui/system/spacing/padding.js +0 -58
  135. package/dist/esm/base/ui/system/spacing/spacing_set.js +0 -15
  136. package/dist/esm/base/ui/system/typography/font_family.js +0 -12
  137. package/dist/esm/base/ui/system/typography/font_size.js +0 -12
  138. package/dist/esm/base/ui/system/typography/font_style.js +0 -9
  139. package/dist/esm/base/ui/system/typography/font_weight.js +0 -12
  140. package/dist/esm/base/ui/system/typography/letter_spacing.js +0 -12
  141. package/dist/esm/base/ui/system/typography/line_height.js +0 -9
  142. package/dist/esm/base/ui/system/typography/text_align.js +0 -9
  143. package/dist/esm/base/ui/system/typography/text_color.js +0 -12
  144. package/dist/esm/base/ui/system/typography/text_decoration.js +0 -9
  145. package/dist/esm/base/ui/system/typography/text_transform.js +0 -9
  146. package/dist/esm/base/ui/system/typography/typography_set.js +0 -31
  147. package/dist/esm/base/ui/system/utils/csstype.js +0 -1
  148. package/dist/esm/base/ui/system/utils/ensure_numbers_are_within_scale.js +0 -36
  149. package/dist/esm/base/ui/system/utils/get_style_props_for_responsive_prop.js +0 -67
  150. package/dist/esm/base/ui/system/utils/types.js +0 -1
  151. package/dist/esm/base/ui/table_picker.js +0 -64
  152. package/dist/esm/base/ui/table_picker_synced.js +0 -55
  153. package/dist/esm/base/ui/text.js +0 -109
  154. package/dist/esm/base/ui/text_button.js +0 -189
  155. package/dist/esm/base/ui/theme/default_theme/button_variants.js +0 -53
  156. package/dist/esm/base/ui/theme/default_theme/control_sizes.js +0 -96
  157. package/dist/esm/base/ui/theme/default_theme/heading_styles.js +0 -93
  158. package/dist/esm/base/ui/theme/default_theme/index.js +0 -31
  159. package/dist/esm/base/ui/theme/default_theme/input_variants.js +0 -32
  160. package/dist/esm/base/ui/theme/default_theme/link_variants.js +0 -29
  161. package/dist/esm/base/ui/theme/default_theme/select_buttons_variants.js +0 -66
  162. package/dist/esm/base/ui/theme/default_theme/select_variants.js +0 -44
  163. package/dist/esm/base/ui/theme/default_theme/switch_variants.js +0 -78
  164. package/dist/esm/base/ui/theme/default_theme/text_button_variants.js +0 -38
  165. package/dist/esm/base/ui/theme/default_theme/text_styles.js +0 -75
  166. package/dist/esm/base/ui/theme/default_theme/tokens.js +0 -205
  167. package/dist/esm/base/ui/theme/theme_context.js +0 -7
  168. package/dist/esm/base/ui/theme/use_theme.js +0 -4
  169. package/dist/esm/base/ui/tooltip.js +0 -165
  170. package/dist/esm/base/ui/types/aria_props.js +0 -1
  171. package/dist/esm/base/ui/types/data_attributes_prop.js +0 -1
  172. package/dist/esm/base/ui/types/tooltip_anchor_props.js +0 -1
  173. package/dist/esm/base/ui/use_form_field.js +0 -14
  174. package/dist/esm/base/ui/use_styled_system.js +0 -19
  175. package/dist/esm/base/ui/use_text_color_for_background_color.js +0 -9
  176. package/dist/esm/base/ui/view_picker.js +0 -82
  177. package/dist/esm/base/ui/view_picker_synced.js +0 -59
  178. package/dist/esm/base/ui/viewport_constraint.js +0 -120
  179. package/dist/esm/base/ui/with_styled_system.js +0 -120
  180. package/dist/types/src/base/ui/baymax_utils.d.ts +0 -2
  181. package/dist/types/src/base/ui/baymax_utils.d.ts.map +0 -1
  182. package/dist/types/src/base/ui/box.d.ts +0 -35
  183. package/dist/types/src/base/ui/box.d.ts.map +0 -1
  184. package/dist/types/src/base/ui/button.d.ts +0 -86
  185. package/dist/types/src/base/ui/button.d.ts.map +0 -1
  186. package/dist/types/src/base/ui/choice_token.d.ts +0 -49
  187. package/dist/types/src/base/ui/choice_token.d.ts.map +0 -1
  188. package/dist/types/src/base/ui/collaborator_token.d.ts +0 -45
  189. package/dist/types/src/base/ui/collaborator_token.d.ts.map +0 -1
  190. package/dist/types/src/base/ui/color_palette.d.ts +0 -77
  191. package/dist/types/src/base/ui/color_palette.d.ts.map +0 -1
  192. package/dist/types/src/base/ui/color_palette_synced.d.ts +0 -30
  193. package/dist/types/src/base/ui/color_palette_synced.d.ts.map +0 -1
  194. package/dist/types/src/base/ui/confirmation_dialog.d.ts +0 -66
  195. package/dist/types/src/base/ui/confirmation_dialog.d.ts.map +0 -1
  196. package/dist/types/src/base/ui/control_sizes.d.ts +0 -16
  197. package/dist/types/src/base/ui/control_sizes.d.ts.map +0 -1
  198. package/dist/types/src/base/ui/css_helpers.d.ts +0 -6
  199. package/dist/types/src/base/ui/css_helpers.d.ts.map +0 -1
  200. package/dist/types/src/base/ui/dialog.d.ts +0 -58
  201. package/dist/types/src/base/ui/dialog.d.ts.map +0 -1
  202. package/dist/types/src/base/ui/dialog_close_button.d.ts +0 -40
  203. package/dist/types/src/base/ui/dialog_close_button.d.ts.map +0 -1
  204. package/dist/types/src/base/ui/field_icon.d.ts +0 -25
  205. package/dist/types/src/base/ui/field_icon.d.ts.map +0 -1
  206. package/dist/types/src/base/ui/field_picker.d.ts +0 -34
  207. package/dist/types/src/base/ui/field_picker.d.ts.map +0 -1
  208. package/dist/types/src/base/ui/field_picker_synced.d.ts +0 -18
  209. package/dist/types/src/base/ui/field_picker_synced.d.ts.map +0 -1
  210. package/dist/types/src/base/ui/form_field.d.ts +0 -42
  211. package/dist/types/src/base/ui/form_field.d.ts.map +0 -1
  212. package/dist/types/src/base/ui/geometry/geometry.d.ts +0 -3
  213. package/dist/types/src/base/ui/geometry/geometry.d.ts.map +0 -1
  214. package/dist/types/src/base/ui/geometry/point.d.ts +0 -2
  215. package/dist/types/src/base/ui/geometry/point.d.ts.map +0 -1
  216. package/dist/types/src/base/ui/geometry/rect.d.ts +0 -2
  217. package/dist/types/src/base/ui/geometry/rect.d.ts.map +0 -1
  218. package/dist/types/src/base/ui/geometry/size.d.ts +0 -2
  219. package/dist/types/src/base/ui/geometry/size.d.ts.map +0 -1
  220. package/dist/types/src/base/ui/heading.d.ts +0 -64
  221. package/dist/types/src/base/ui/heading.d.ts.map +0 -1
  222. package/dist/types/src/base/ui/icon.d.ts +0 -45
  223. package/dist/types/src/base/ui/icon.d.ts.map +0 -1
  224. package/dist/types/src/base/ui/icon_config.d.ts +0 -424
  225. package/dist/types/src/base/ui/icon_config.d.ts.map +0 -1
  226. package/dist/types/src/base/ui/input.d.ts +0 -120
  227. package/dist/types/src/base/ui/input.d.ts.map +0 -1
  228. package/dist/types/src/base/ui/input_synced.d.ts +0 -18
  229. package/dist/types/src/base/ui/input_synced.d.ts.map +0 -1
  230. package/dist/types/src/base/ui/key_codes.d.ts +0 -2
  231. package/dist/types/src/base/ui/key_codes.d.ts.map +0 -1
  232. package/dist/types/src/base/ui/label.d.ts +0 -35
  233. package/dist/types/src/base/ui/label.d.ts.map +0 -1
  234. package/dist/types/src/base/ui/link.d.ts +0 -84
  235. package/dist/types/src/base/ui/link.d.ts.map +0 -1
  236. package/dist/types/src/base/ui/loader.d.ts +0 -38
  237. package/dist/types/src/base/ui/loader.d.ts.map +0 -1
  238. package/dist/types/src/base/ui/modal.d.ts +0 -54
  239. package/dist/types/src/base/ui/modal.d.ts.map +0 -1
  240. package/dist/types/src/base/ui/model_picker_select.d.ts +0 -19
  241. package/dist/types/src/base/ui/model_picker_select.d.ts.map +0 -1
  242. package/dist/types/src/base/ui/popover.d.ts +0 -106
  243. package/dist/types/src/base/ui/popover.d.ts.map +0 -1
  244. package/dist/types/src/base/ui/progress_bar.d.ts +0 -60
  245. package/dist/types/src/base/ui/progress_bar.d.ts.map +0 -1
  246. package/dist/types/src/base/ui/record_card.d.ts +0 -80
  247. package/dist/types/src/base/ui/record_card.d.ts.map +0 -1
  248. package/dist/types/src/base/ui/record_card_list.d.ts +0 -88
  249. package/dist/types/src/base/ui/record_card_list.d.ts.map +0 -1
  250. package/dist/types/src/base/ui/select.d.ts +0 -82
  251. package/dist/types/src/base/ui/select.d.ts.map +0 -1
  252. package/dist/types/src/base/ui/select_and_select_buttons_helpers.d.ts +0 -25
  253. package/dist/types/src/base/ui/select_and_select_buttons_helpers.d.ts.map +0 -1
  254. package/dist/types/src/base/ui/select_buttons.d.ts +0 -56
  255. package/dist/types/src/base/ui/select_buttons.d.ts.map +0 -1
  256. package/dist/types/src/base/ui/select_buttons_synced.d.ts +0 -18
  257. package/dist/types/src/base/ui/select_buttons_synced.d.ts.map +0 -1
  258. package/dist/types/src/base/ui/select_synced.d.ts +0 -18
  259. package/dist/types/src/base/ui/select_synced.d.ts.map +0 -1
  260. package/dist/types/src/base/ui/switch.d.ts +0 -82
  261. package/dist/types/src/base/ui/switch.d.ts.map +0 -1
  262. package/dist/types/src/base/ui/switch_synced.d.ts +0 -18
  263. package/dist/types/src/base/ui/switch_synced.d.ts.map +0 -1
  264. package/dist/types/src/base/ui/synced.d.ts +0 -23
  265. package/dist/types/src/base/ui/synced.d.ts.map +0 -1
  266. package/dist/types/src/base/ui/system/all_styles_set.d.ts +0 -85
  267. package/dist/types/src/base/ui/system/all_styles_set.d.ts.map +0 -1
  268. package/dist/types/src/base/ui/system/appearance/appearance_set.d.ts +0 -14
  269. package/dist/types/src/base/ui/system/appearance/appearance_set.d.ts.map +0 -1
  270. package/dist/types/src/base/ui/system/appearance/background_color.d.ts +0 -12
  271. package/dist/types/src/base/ui/system/appearance/background_color.d.ts.map +0 -1
  272. package/dist/types/src/base/ui/system/appearance/border.d.ts +0 -30
  273. package/dist/types/src/base/ui/system/appearance/border.d.ts.map +0 -1
  274. package/dist/types/src/base/ui/system/appearance/border_radius.d.ts +0 -12
  275. package/dist/types/src/base/ui/system/appearance/border_radius.d.ts.map +0 -1
  276. package/dist/types/src/base/ui/system/appearance/box_shadow.d.ts +0 -12
  277. package/dist/types/src/base/ui/system/appearance/box_shadow.d.ts.map +0 -1
  278. package/dist/types/src/base/ui/system/appearance/opacity.d.ts +0 -12
  279. package/dist/types/src/base/ui/system/appearance/opacity.d.ts.map +0 -1
  280. package/dist/types/src/base/ui/system/dimensions/dimensions_set.d.ts +0 -15
  281. package/dist/types/src/base/ui/system/dimensions/dimensions_set.d.ts.map +0 -1
  282. package/dist/types/src/base/ui/system/dimensions/height.d.ts +0 -12
  283. package/dist/types/src/base/ui/system/dimensions/height.d.ts.map +0 -1
  284. package/dist/types/src/base/ui/system/dimensions/max_height.d.ts +0 -12
  285. package/dist/types/src/base/ui/system/dimensions/max_height.d.ts.map +0 -1
  286. package/dist/types/src/base/ui/system/dimensions/max_width.d.ts +0 -12
  287. package/dist/types/src/base/ui/system/dimensions/max_width.d.ts.map +0 -1
  288. package/dist/types/src/base/ui/system/dimensions/min_height.d.ts +0 -12
  289. package/dist/types/src/base/ui/system/dimensions/min_height.d.ts.map +0 -1
  290. package/dist/types/src/base/ui/system/dimensions/min_width.d.ts +0 -12
  291. package/dist/types/src/base/ui/system/dimensions/min_width.d.ts.map +0 -1
  292. package/dist/types/src/base/ui/system/dimensions/width.d.ts +0 -12
  293. package/dist/types/src/base/ui/system/dimensions/width.d.ts.map +0 -1
  294. package/dist/types/src/base/ui/system/display.d.ts +0 -13
  295. package/dist/types/src/base/ui/system/display.d.ts.map +0 -1
  296. package/dist/types/src/base/ui/system/flex_container/align_content.d.ts +0 -12
  297. package/dist/types/src/base/ui/system/flex_container/align_content.d.ts.map +0 -1
  298. package/dist/types/src/base/ui/system/flex_container/align_items.d.ts +0 -12
  299. package/dist/types/src/base/ui/system/flex_container/align_items.d.ts.map +0 -1
  300. package/dist/types/src/base/ui/system/flex_container/flex_container_set.d.ts +0 -15
  301. package/dist/types/src/base/ui/system/flex_container/flex_container_set.d.ts.map +0 -1
  302. package/dist/types/src/base/ui/system/flex_container/flex_direction.d.ts +0 -12
  303. package/dist/types/src/base/ui/system/flex_container/flex_direction.d.ts.map +0 -1
  304. package/dist/types/src/base/ui/system/flex_container/flex_wrap.d.ts +0 -12
  305. package/dist/types/src/base/ui/system/flex_container/flex_wrap.d.ts.map +0 -1
  306. package/dist/types/src/base/ui/system/flex_container/justify_content.d.ts +0 -12
  307. package/dist/types/src/base/ui/system/flex_container/justify_content.d.ts.map +0 -1
  308. package/dist/types/src/base/ui/system/flex_container/justify_items.d.ts +0 -12
  309. package/dist/types/src/base/ui/system/flex_container/justify_items.d.ts.map +0 -1
  310. package/dist/types/src/base/ui/system/flex_item/align_self.d.ts +0 -12
  311. package/dist/types/src/base/ui/system/flex_item/align_self.d.ts.map +0 -1
  312. package/dist/types/src/base/ui/system/flex_item/flex.d.ts +0 -12
  313. package/dist/types/src/base/ui/system/flex_item/flex.d.ts.map +0 -1
  314. package/dist/types/src/base/ui/system/flex_item/flex_basis.d.ts +0 -12
  315. package/dist/types/src/base/ui/system/flex_item/flex_basis.d.ts.map +0 -1
  316. package/dist/types/src/base/ui/system/flex_item/flex_grow.d.ts +0 -12
  317. package/dist/types/src/base/ui/system/flex_item/flex_grow.d.ts.map +0 -1
  318. package/dist/types/src/base/ui/system/flex_item/flex_item_set.d.ts +0 -16
  319. package/dist/types/src/base/ui/system/flex_item/flex_item_set.d.ts.map +0 -1
  320. package/dist/types/src/base/ui/system/flex_item/flex_shrink.d.ts +0 -12
  321. package/dist/types/src/base/ui/system/flex_item/flex_shrink.d.ts.map +0 -1
  322. package/dist/types/src/base/ui/system/flex_item/justify_self.d.ts +0 -12
  323. package/dist/types/src/base/ui/system/flex_item/justify_self.d.ts.map +0 -1
  324. package/dist/types/src/base/ui/system/flex_item/order.d.ts +0 -12
  325. package/dist/types/src/base/ui/system/flex_item/order.d.ts.map +0 -1
  326. package/dist/types/src/base/ui/system/index.d.ts +0 -106
  327. package/dist/types/src/base/ui/system/index.d.ts.map +0 -1
  328. package/dist/types/src/base/ui/system/overflow.d.ts +0 -17
  329. package/dist/types/src/base/ui/system/overflow.d.ts.map +0 -1
  330. package/dist/types/src/base/ui/system/position/bottom.d.ts +0 -12
  331. package/dist/types/src/base/ui/system/position/bottom.d.ts.map +0 -1
  332. package/dist/types/src/base/ui/system/position/left.d.ts +0 -12
  333. package/dist/types/src/base/ui/system/position/left.d.ts.map +0 -1
  334. package/dist/types/src/base/ui/system/position/position.d.ts +0 -12
  335. package/dist/types/src/base/ui/system/position/position.d.ts.map +0 -1
  336. package/dist/types/src/base/ui/system/position/position_set.d.ts +0 -15
  337. package/dist/types/src/base/ui/system/position/position_set.d.ts.map +0 -1
  338. package/dist/types/src/base/ui/system/position/right.d.ts +0 -12
  339. package/dist/types/src/base/ui/system/position/right.d.ts.map +0 -1
  340. package/dist/types/src/base/ui/system/position/top.d.ts +0 -12
  341. package/dist/types/src/base/ui/system/position/top.d.ts.map +0 -1
  342. package/dist/types/src/base/ui/system/position/z_index.d.ts +0 -12
  343. package/dist/types/src/base/ui/system/position/z_index.d.ts.map +0 -1
  344. package/dist/types/src/base/ui/system/spacing/margin.d.ts +0 -24
  345. package/dist/types/src/base/ui/system/spacing/margin.d.ts.map +0 -1
  346. package/dist/types/src/base/ui/system/spacing/padding.d.ts +0 -24
  347. package/dist/types/src/base/ui/system/spacing/padding.d.ts.map +0 -1
  348. package/dist/types/src/base/ui/system/spacing/spacing_set.d.ts +0 -11
  349. package/dist/types/src/base/ui/system/spacing/spacing_set.d.ts.map +0 -1
  350. package/dist/types/src/base/ui/system/typography/font_family.d.ts +0 -12
  351. package/dist/types/src/base/ui/system/typography/font_family.d.ts.map +0 -1
  352. package/dist/types/src/base/ui/system/typography/font_size.d.ts +0 -12
  353. package/dist/types/src/base/ui/system/typography/font_size.d.ts.map +0 -1
  354. package/dist/types/src/base/ui/system/typography/font_style.d.ts +0 -12
  355. package/dist/types/src/base/ui/system/typography/font_style.d.ts.map +0 -1
  356. package/dist/types/src/base/ui/system/typography/font_weight.d.ts +0 -12
  357. package/dist/types/src/base/ui/system/typography/font_weight.d.ts.map +0 -1
  358. package/dist/types/src/base/ui/system/typography/letter_spacing.d.ts +0 -12
  359. package/dist/types/src/base/ui/system/typography/letter_spacing.d.ts.map +0 -1
  360. package/dist/types/src/base/ui/system/typography/line_height.d.ts +0 -12
  361. package/dist/types/src/base/ui/system/typography/line_height.d.ts.map +0 -1
  362. package/dist/types/src/base/ui/system/typography/text_align.d.ts +0 -12
  363. package/dist/types/src/base/ui/system/typography/text_align.d.ts.map +0 -1
  364. package/dist/types/src/base/ui/system/typography/text_color.d.ts +0 -16
  365. package/dist/types/src/base/ui/system/typography/text_color.d.ts.map +0 -1
  366. package/dist/types/src/base/ui/system/typography/text_decoration.d.ts +0 -14
  367. package/dist/types/src/base/ui/system/typography/text_decoration.d.ts.map +0 -1
  368. package/dist/types/src/base/ui/system/typography/text_transform.d.ts +0 -12
  369. package/dist/types/src/base/ui/system/typography/text_transform.d.ts.map +0 -1
  370. package/dist/types/src/base/ui/system/typography/typography_set.d.ts +0 -19
  371. package/dist/types/src/base/ui/system/typography/typography_set.d.ts.map +0 -1
  372. package/dist/types/src/base/ui/system/utils/csstype.d.ts +0 -3977
  373. package/dist/types/src/base/ui/system/utils/csstype.d.ts.map +0 -1
  374. package/dist/types/src/base/ui/system/utils/ensure_numbers_are_within_scale.d.ts +0 -2
  375. package/dist/types/src/base/ui/system/utils/ensure_numbers_are_within_scale.d.ts.map +0 -1
  376. package/dist/types/src/base/ui/system/utils/get_style_props_for_responsive_prop.d.ts +0 -2
  377. package/dist/types/src/base/ui/system/utils/get_style_props_for_responsive_prop.d.ts.map +0 -1
  378. package/dist/types/src/base/ui/system/utils/types.d.ts +0 -31
  379. package/dist/types/src/base/ui/system/utils/types.d.ts.map +0 -1
  380. package/dist/types/src/base/ui/table_picker.d.ts +0 -28
  381. package/dist/types/src/base/ui/table_picker.d.ts.map +0 -1
  382. package/dist/types/src/base/ui/table_picker_synced.d.ts +0 -18
  383. package/dist/types/src/base/ui/table_picker_synced.d.ts.map +0 -1
  384. package/dist/types/src/base/ui/text.d.ts +0 -66
  385. package/dist/types/src/base/ui/text.d.ts.map +0 -1
  386. package/dist/types/src/base/ui/text_button.d.ts +0 -83
  387. package/dist/types/src/base/ui/text_button.d.ts.map +0 -1
  388. package/dist/types/src/base/ui/theme/default_theme/button_variants.d.ts +0 -8
  389. package/dist/types/src/base/ui/theme/default_theme/button_variants.d.ts.map +0 -1
  390. package/dist/types/src/base/ui/theme/default_theme/control_sizes.d.ts +0 -107
  391. package/dist/types/src/base/ui/theme/default_theme/control_sizes.d.ts.map +0 -1
  392. package/dist/types/src/base/ui/theme/default_theme/heading_styles.d.ts +0 -11
  393. package/dist/types/src/base/ui/theme/default_theme/heading_styles.d.ts.map +0 -1
  394. package/dist/types/src/base/ui/theme/default_theme/index.d.ts +0 -342
  395. package/dist/types/src/base/ui/theme/default_theme/index.d.ts.map +0 -1
  396. package/dist/types/src/base/ui/theme/default_theme/input_variants.d.ts +0 -5
  397. package/dist/types/src/base/ui/theme/default_theme/input_variants.d.ts.map +0 -1
  398. package/dist/types/src/base/ui/theme/default_theme/link_variants.d.ts +0 -7
  399. package/dist/types/src/base/ui/theme/default_theme/link_variants.d.ts.map +0 -1
  400. package/dist/types/src/base/ui/theme/default_theme/select_buttons_variants.d.ts +0 -8
  401. package/dist/types/src/base/ui/theme/default_theme/select_buttons_variants.d.ts.map +0 -1
  402. package/dist/types/src/base/ui/theme/default_theme/select_variants.d.ts +0 -5
  403. package/dist/types/src/base/ui/theme/default_theme/select_variants.d.ts.map +0 -1
  404. package/dist/types/src/base/ui/theme/default_theme/switch_variants.d.ts +0 -16
  405. package/dist/types/src/base/ui/theme/default_theme/switch_variants.d.ts.map +0 -1
  406. package/dist/types/src/base/ui/theme/default_theme/text_button_variants.d.ts +0 -7
  407. package/dist/types/src/base/ui/theme/default_theme/text_button_variants.d.ts.map +0 -1
  408. package/dist/types/src/base/ui/theme/default_theme/text_styles.d.ts +0 -76
  409. package/dist/types/src/base/ui/theme/default_theme/text_styles.d.ts.map +0 -1
  410. package/dist/types/src/base/ui/theme/default_theme/tokens.d.ts +0 -111
  411. package/dist/types/src/base/ui/theme/default_theme/tokens.d.ts.map +0 -1
  412. package/dist/types/src/base/ui/theme/theme_context.d.ts +0 -342
  413. package/dist/types/src/base/ui/theme/theme_context.d.ts.map +0 -1
  414. package/dist/types/src/base/ui/theme/use_theme.d.ts +0 -342
  415. package/dist/types/src/base/ui/theme/use_theme.d.ts.map +0 -1
  416. package/dist/types/src/base/ui/tooltip.d.ts +0 -64
  417. package/dist/types/src/base/ui/tooltip.d.ts.map +0 -1
  418. package/dist/types/src/base/ui/types/aria_props.d.ts +0 -22
  419. package/dist/types/src/base/ui/types/aria_props.d.ts.map +0 -1
  420. package/dist/types/src/base/ui/types/data_attributes_prop.d.ts +0 -10
  421. package/dist/types/src/base/ui/types/data_attributes_prop.d.ts.map +0 -1
  422. package/dist/types/src/base/ui/types/tooltip_anchor_props.d.ts +0 -13
  423. package/dist/types/src/base/ui/types/tooltip_anchor_props.d.ts.map +0 -1
  424. package/dist/types/src/base/ui/use_form_field.d.ts +0 -2
  425. package/dist/types/src/base/ui/use_form_field.d.ts.map +0 -1
  426. package/dist/types/src/base/ui/use_styled_system.d.ts +0 -2
  427. package/dist/types/src/base/ui/use_styled_system.d.ts.map +0 -1
  428. package/dist/types/src/base/ui/use_text_color_for_background_color.d.ts +0 -2
  429. package/dist/types/src/base/ui/use_text_color_for_background_color.d.ts.map +0 -1
  430. package/dist/types/src/base/ui/view_picker.d.ts +0 -34
  431. package/dist/types/src/base/ui/view_picker.d.ts.map +0 -1
  432. package/dist/types/src/base/ui/view_picker_synced.d.ts +0 -18
  433. package/dist/types/src/base/ui/view_picker_synced.d.ts.map +0 -1
  434. package/dist/types/src/base/ui/viewport_constraint.d.ts +0 -57
  435. package/dist/types/src/base/ui/viewport_constraint.d.ts.map +0 -1
  436. package/dist/types/src/base/ui/with_styled_system.d.ts +0 -2
  437. package/dist/types/src/base/ui/with_styled_system.d.ts.map +0 -1
  438. package/types/styled-system__core.d.ts +0 -41
@@ -1,58 +1,49 @@
1
1
  /** @hidden */ /** */
2
2
  import * as React from 'react';
3
- import { css, keyframes } from 'emotion';
4
3
  import Loader from '../../shared/ui/loader';
5
4
  import { SdkContext } from '../../shared/ui/sdk_context';
6
- const suspenseFallbackClassName = css`
7
- position: absolute;
8
- top: 0;
9
- left: 0;
10
- right: 0;
11
- bottom: 0;
12
- display: -webkit-box;
13
- display: -webkit-flex;
14
- display: -ms-flexbox;
15
- display: flex;
16
- -webkit-box-align: center;
17
- -webkit-align-items: center;
18
- -ms-flex-align: center;
19
- -ms-grid-row-align: center;
20
- align-items: center;
21
- -webkit-box-pack: center;
22
- -webkit-justify-content: center;
23
- -ms-flex-pack: center;
24
- justify-content: center;
25
- `;
26
- const spinScale = keyframes`
27
- 0% {
28
- transform: rotate(0) scale(1);
29
- }
30
- 50% {
31
- transform: rotate(360deg) scale(0.9);
32
- }
33
- 100% {
34
- transform: rotate(720deg) scale(1);
35
- }
36
- `;
37
- const animateSpinnerClassName = css`
38
- animation-iteration-count: infinite;
39
- animation-name: ${spinScale};
40
- animation-duration: 1800ms;
41
- animation-timing-function: cubic-bezier(0.785, 0.135, 0.15, 0.86);
42
- `;
43
- export class BlockWrapper extends React.Component {
44
- /** @internal */
45
- _minSizeBeforeRender = null;
46
- /** @hidden */
47
- render() {
48
- return /*#__PURE__*/React.createElement(SdkContext.Provider, {
49
- value: this.props.sdk
50
- }, /*#__PURE__*/React.createElement(React.Suspense, {
51
- fallback: /*#__PURE__*/React.createElement("div", {
52
- className: suspenseFallbackClassName
53
- }, /*#__PURE__*/React.createElement(Loader, {
54
- className: animateSpinnerClassName
55
- }))
56
- }, this.props.children));
57
- }
58
- }
5
+ import { getCssContentToAddToHead, SPIN_SCALE_ANIMATION_NAME } from './global_css_helpers';
6
+ const suspenseFallbackStyle = {
7
+ position: 'absolute',
8
+ top: 0,
9
+ left: 0,
10
+ right: 0,
11
+ bottom: 0,
12
+ display: 'flex',
13
+ alignItems: 'center',
14
+ justifyContent: 'center'
15
+ };
16
+ const animateSpinnerStyle = {
17
+ animationIterationCount: 'infinite',
18
+ animationName: SPIN_SCALE_ANIMATION_NAME,
19
+ animationDuration: '1800ms',
20
+ animationTimingFunction: 'cubic-bezier(0.785, 0.135, 0.15, 0.86)'
21
+ };
22
+ export const BlockWrapper = _ref => {
23
+ let {
24
+ sdk,
25
+ children
26
+ } = _ref;
27
+ React.useLayoutEffect(() => {
28
+ // Create a style element and inject the global CSS into document head
29
+ const styleElement = document.createElement('style');
30
+ styleElement.textContent = getCssContentToAddToHead();
31
+ document.head.appendChild(styleElement);
32
+
33
+ // Cleanup: remove the style element when component unmounts
34
+ return () => {
35
+ if (document.head.contains(styleElement)) {
36
+ document.head.removeChild(styleElement);
37
+ }
38
+ };
39
+ }, []);
40
+ return /*#__PURE__*/React.createElement(SdkContext.Provider, {
41
+ value: sdk
42
+ }, /*#__PURE__*/React.createElement(React.Suspense, {
43
+ fallback: /*#__PURE__*/React.createElement("div", {
44
+ style: suspenseFallbackStyle
45
+ }, /*#__PURE__*/React.createElement(Loader, {
46
+ style: animateSpinnerStyle
47
+ }))
48
+ }, children));
49
+ };
@@ -0,0 +1,19 @@
1
+ import * as React from 'react';
2
+ import { CellRenderer as CellRendererSharedImpl } from '../../shared/ui/cell_renderer';
3
+
4
+ /**
5
+ * Props for the {@link CellRenderer} component.
6
+ *
7
+ * @docsPath UI/components/CellRenderer
8
+ * @noInheritDoc
9
+ */
10
+
11
+ /**
12
+ * Displays the contents of a cell given a field and record.
13
+ *
14
+ * @component
15
+ * @docsPath UI/components/CellRenderer
16
+ */
17
+ export function CellRenderer(props) {
18
+ return /*#__PURE__*/React.createElement(CellRendererSharedImpl, props);
19
+ }
@@ -0,0 +1,17 @@
1
+ export const SPIN_SCALE_ANIMATION_NAME = `spinScale_${Math.random().toString(36).substring(2, 11)}`;
2
+ const spinScaleKeyframesStyle = `
3
+ @keyframes ${SPIN_SCALE_ANIMATION_NAME} {
4
+ 0% {
5
+ transform: rotate(0) scale(1);
6
+ }
7
+ 50% {
8
+ transform: rotate(360deg) scale(0.9);
9
+ }
10
+ 100% {
11
+ transform: rotate(720deg) scale(1);
12
+ }
13
+ }
14
+ `;
15
+ export const getCssContentToAddToHead = () => {
16
+ return `${spinScaleKeyframesStyle}`;
17
+ };
@@ -3,6 +3,7 @@ import '../assert_run_context';
3
3
  // Import the top-level entry point so that an Sdk instance is created from the
4
4
  // globally-available AirtableInterface instance.
5
5
  import '..';
6
+ export { CellRenderer } from './cell_renderer';
6
7
  export { expandRecord } from './expand_record';
7
8
  export { initializeBlock } from './initialize_block';
8
9
  export { useBase } from './use_base';
@@ -14,7 +15,6 @@ export { useSession } from './use_session';
14
15
  export { default as useGlobalConfig } from '../../shared/ui/use_global_config';
15
16
  export { default as useSynced } from '../../shared/ui/use_synced';
16
17
  export { default as useWatchable } from '../../shared/ui/use_watchable';
17
- export { default as withHooks } from '../../shared/ui/with_hooks';
18
18
  export { default as colors } from '../../shared/colors';
19
19
  export { default as colorUtils } from '../../shared/color_utils';
20
20
  export { loadCSSFromString, loadCSSFromURLAsync, loadScriptFromURLAsync } from '../../shared/ui/remote_utils';
@@ -29,6 +29,10 @@ import { spawnUnknownSwitchCaseError } from '../../shared/error_utils';
29
29
  * possibleValues?: Array<Field>; // If not provided, all visible fields in the table will be shown in the dropdown.
30
30
  * defaultValue?: Field;
31
31
  * }
32
+ * | {
33
+ * type: 'table';
34
+ * defaultValue?: Table;
35
+ * }
32
36
  * );
33
37
  * ```
34
38
  */
@@ -143,6 +147,13 @@ function convertBlockPageElementCustomPropertyToBlockInstallationPageElementCust
143
147
  possibleValues: property.possibleValues?.map(field => field.id),
144
148
  defaultValue: property.defaultValue?.id
145
149
  };
150
+ case 'table':
151
+ return {
152
+ key: property.key,
153
+ label: property.label,
154
+ type: BlockInstallationPageElementCustomPropertyTypeForAirtableInterface.TABLE_ID,
155
+ defaultValue: property.defaultValue?.id
156
+ };
146
157
  default:
147
158
  throw spawnUnknownSwitchCaseError('property type', property, 'type');
148
159
  }
@@ -154,28 +165,46 @@ function getCustomPropertyValue(base, globalConfig, property) {
154
165
  const rawValue = globalConfig.get(property.key) ?? defaultValue;
155
166
  switch (property.type) {
156
167
  case 'boolean':
157
- if (typeof rawValue === 'boolean') {
158
- return rawValue;
168
+ {
169
+ if (typeof rawValue === 'boolean') {
170
+ return rawValue;
171
+ }
172
+ return defaultValue;
159
173
  }
160
- return defaultValue;
161
174
  case 'string':
162
- if (typeof rawValue === 'string') {
163
- return rawValue;
175
+ {
176
+ if (typeof rawValue === 'string') {
177
+ return rawValue;
178
+ }
179
+ return defaultValue;
164
180
  }
165
- return defaultValue;
166
181
  case 'enum':
167
- if (typeof rawValue === 'string' && property.possibleValues.some(value => value.value === rawValue)) {
168
- return rawValue;
182
+ {
183
+ if (typeof rawValue === 'string' && property.possibleValues.some(value => value.value === rawValue)) {
184
+ return rawValue;
185
+ }
186
+ return defaultValue;
169
187
  }
170
- return defaultValue;
171
188
  case 'field':
172
- if (typeof rawValue === 'string' && property.table === base.getTableById(property.table.id)) {
173
- const fieldModel = property.table.fields.find(field => field.id === rawValue);
174
- if (fieldModel && (!property.possibleValues || property.possibleValues.includes(fieldModel))) {
175
- return fieldModel;
189
+ {
190
+ if (typeof rawValue === 'string' && property.table === base.getTableById(property.table.id)) {
191
+ const fieldModel = property.table.fields.find(field => field.id === rawValue);
192
+ if (fieldModel && (!property.possibleValues || property.possibleValues.includes(fieldModel))) {
193
+ return fieldModel;
194
+ }
195
+ }
196
+ return defaultValue;
197
+ }
198
+ case 'table':
199
+ {
200
+ if (typeof rawValue === 'string') {
201
+ const tableIfExists = base.getTableByIdIfExists(rawValue);
202
+ if (tableIfExists) {
203
+ return tableIfExists;
204
+ }
176
205
  }
206
+ return defaultValue;
177
207
  }
178
- return defaultValue;
179
208
  default:
180
209
  throw spawnUnknownSwitchCaseError('property type', property, 'type');
181
210
  }
@@ -1,6 +1,5 @@
1
1
  import getAirtableInterface from '../injected/airtable_interface';
2
2
  import { spawnError } from './error_utils';
3
- export { default as isDeepEqual } from 'fast-deep-equal';
4
3
 
5
4
  /** @hidden */
6
5
 
@@ -79,6 +78,57 @@ export function cloneDeep(obj) {
79
78
  return JSON.parse(jsonString);
80
79
  }
81
80
 
81
+ /**
82
+ * This is basically taken from https://github.com/epoberezkin/fast-deep-equal/blob/a8e7172b6c411ec320d6045fd4afbd2abc1b4bde/src/index.jst
83
+ * with some minor adjustments based on our needs.
84
+ * Differences:
85
+ * - Removed RegExp support because we don't need it
86
+ * - Removed .valueOf() and .toString() support because we don't need it
87
+ */
88
+ export function isDeepEqual(a, b) {
89
+ if (a === b) {
90
+ return true;
91
+ }
92
+ if (a && b && typeof a === 'object' && typeof b === 'object') {
93
+ if (a.constructor !== b.constructor) {
94
+ return false;
95
+ }
96
+ if (Array.isArray(a)) {
97
+ const length = a.length;
98
+ if (length !== b.length) {
99
+ return false;
100
+ }
101
+ for (let i = length - 1; i >= 0; i--) {
102
+ if (!isDeepEqual(a[i], b[i])) {
103
+ return false;
104
+ }
105
+ }
106
+ return true;
107
+ }
108
+ const keys = Object.keys(a);
109
+ const length = keys.length;
110
+ if (length !== Object.keys(b).length) {
111
+ return false;
112
+ }
113
+ for (let i = length - 1; i >= 0; i--) {
114
+ if (!Object.prototype.hasOwnProperty.call(b, keys[i])) {
115
+ return false;
116
+ }
117
+ }
118
+ for (let i = length - 1; i >= 0; i--) {
119
+ const key = keys[i];
120
+ if (!isDeepEqual(a[key], b[key])) {
121
+ return false;
122
+ }
123
+ }
124
+ return true;
125
+ }
126
+
127
+ // true if both NaN, false otherwise
128
+ // eslint-disable-next-line no-self-compare
129
+ return a !== a && b !== b;
130
+ }
131
+
82
132
  // typescript has a stricter definition for Object.values and Object.entries that return mixed in place
83
133
  // of the actual values. This is because for non-exact objects, that's the only sound definition.
84
134
  // You can call Object.values with a value typed as {x: number} that actually looks like
@@ -24,7 +24,7 @@ export class BlockSdkCore {
24
24
  * @hidden
25
25
  */
26
26
  // @ts-ignore
27
- static VERSION = "0.0.0-experimental-3e47d4d04-20250909";
27
+ static VERSION = "0.0.0-experimental-e625869e5-20251002";
28
28
 
29
29
  /** Storage for this block installation's configuration. */
30
30
 
@@ -0,0 +1,137 @@
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
+ /** @module @airtable/blocks/ui: CellRenderer */ /** */
3
+ import * as React from 'react';
4
+ import { spawnError } from '../../shared/error_utils';
5
+ import { FieldType } from '../../shared/types/field_core';
6
+ import useWatchable from '../../shared/ui/use_watchable';
7
+ import { useSdk } from '../../shared/ui/sdk_context';
8
+
9
+ /**
10
+ * @hidden
11
+ */
12
+
13
+ /**
14
+ * @internal
15
+ */
16
+ function validateRecordAndFieldProps(props) {
17
+ if (props.record && !props.record.isDeleted && !props.field.isDeleted && props.record.parentTable.id !== props.field.parentTable.id) {
18
+ throw spawnError('CellRenderer: record %s and field %s do not have the same parent table', props.record.parentTable.id, props.field.parentTable.id);
19
+ }
20
+ }
21
+
22
+ /**
23
+ * @hidden
24
+ */
25
+ export function CellRenderer(props) {
26
+ const {
27
+ record,
28
+ cellValue,
29
+ field,
30
+ shouldWrap = true,
31
+ onMouseEnter,
32
+ onMouseLeave,
33
+ onClick,
34
+ className,
35
+ style,
36
+ cellClassName,
37
+ cellStyle,
38
+ renderInvalidCellValue
39
+ } = props;
40
+ validateRecordAndFieldProps({
41
+ record,
42
+ field
43
+ });
44
+ const sdk = useSdk();
45
+ useWatchable(record, [`cellValueInField:${field.id}`]);
46
+ useWatchable(field, ['type', 'options']);
47
+ if (field.isDeleted) {
48
+ return null;
49
+ }
50
+ const airtableInterface = sdk.__airtableInterface;
51
+ const appInterface = sdk.__appInterface;
52
+ let cellValueToRender;
53
+ if (record) {
54
+ if (cellValue !== undefined) {
55
+ // eslint-disable-next-line
56
+ console.warn('CellRenderer was given both record and cellValue, choosing to render record value');
57
+ }
58
+ if (record.isDeleted) {
59
+ return null;
60
+ }
61
+ cellValueToRender = record.getCellValue(field.id);
62
+ } else {
63
+ // NOTE: this will not work if you want to render a cell value for
64
+ // foreign record, single/multi select, or single/multi collaborator
65
+ // fields and the cell value is not *currently* valid for that field.
66
+ // i.e. if you want to render a foreign record for a record that
67
+ // does not yet exist, this will throw.
68
+ // TODO: handle "preview" cell values that are not yet valid in the given field
69
+ // but that *could* be.
70
+ // To validate public cell values, we only have validateCellValueForUpdate
71
+ // However, this is not implemented for computed fields (since you can't update them)
72
+ // so we just skip the check.
73
+ // TODO(emma): actually check this somehow.
74
+ if (!field.isComputed) {
75
+ const validationResult = airtableInterface.fieldTypeProvider.validateCellValueForUpdate(appInterface, cellValue, null, field._data);
76
+ if (!validationResult.isValid) {
77
+ if (renderInvalidCellValue) {
78
+ return /*#__PURE__*/React.createElement("div", {
79
+ onMouseEnter: onMouseEnter,
80
+ onMouseLeave: onMouseLeave,
81
+ onClick: onClick,
82
+ className: className,
83
+ style: style
84
+ }, renderInvalidCellValue(cellValue, field));
85
+ } else {
86
+ throw spawnError('Cannot render invalid cell value %s: %s', cellValue, validationResult.reason);
87
+ }
88
+ }
89
+ }
90
+ cellValueToRender = cellValue;
91
+ }
92
+
93
+ // in record.getCellValue, we reformat the cell value to the new public format. in order to
94
+ // make it work with the cell renderer, we need to format it back the other way.
95
+ // Note: we can't use _getRawCellValue here since we also need to handle formatting
96
+ // these in the case where the user passed cellValue instead of a record.
97
+ if (cellValueToRender && field.type === FieldType.MULTIPLE_LOOKUP_VALUES && !airtableInterface.sdkInitData.isUsingNewLookupCellValueFormat) {
98
+ const originalCellValue = cellValueToRender;
99
+ const linkedRecordIdsSet = new Set();
100
+ const valuesByLinkedRecordId = {};
101
+ for (const {
102
+ linkedRecordId,
103
+ value
104
+ } of originalCellValue) {
105
+ linkedRecordIdsSet.add(linkedRecordId);
106
+ if (!valuesByLinkedRecordId[linkedRecordId]) {
107
+ valuesByLinkedRecordId[linkedRecordId] = [];
108
+ }
109
+ valuesByLinkedRecordId[linkedRecordId].push(value);
110
+ }
111
+ cellValueToRender = {
112
+ linkedRecordIds: Array.from(linkedRecordIdsSet),
113
+ valuesByLinkedRecordId
114
+ };
115
+ }
116
+ const {
117
+ cellValueHtml,
118
+ attributes
119
+ } = airtableInterface.fieldTypeProvider.getCellRendererData(appInterface, cellValueToRender, field._data, !!shouldWrap);
120
+ return /*#__PURE__*/React.createElement("div", {
121
+ // TODO (stephen): remove tooltip anchor props
122
+ onMouseEnter: onMouseEnter,
123
+ onMouseLeave: onMouseLeave,
124
+ onClick: onClick,
125
+ className: `baymax ${className ?? ''}`,
126
+ style: {
127
+ display: 'block',
128
+ ...style
129
+ }
130
+ }, /*#__PURE__*/React.createElement("div", _extends({}, attributes, {
131
+ className: `cell read ${cellClassName ?? ''}`,
132
+ style: cellStyle,
133
+ dangerouslySetInnerHTML: {
134
+ __html: cellValueHtml
135
+ }
136
+ })));
137
+ }
@@ -1,6 +1,5 @@
1
1
  /** @module @airtable/blocks/ui: useWatchable */ /** */
2
- import { useMemo, useRef } from 'react';
3
- import { useSubscription } from 'use-subscription';
2
+ import { useMemo, useRef, useSyncExternalStore } from 'react';
4
3
  import { spawnError } from '../error_utils';
5
4
  import { compact } from '../private_utils';
6
5
  import useArrayIdentity from './use_array_identity';
@@ -112,5 +111,5 @@ export default function useWatchable(models, keys, callback) {
112
111
 
113
112
  // we don't care about the return value - we just want useSubscription to correctly handle
114
113
  // re-rendering the component for us
115
- useSubscription(watchSubscription);
114
+ useSyncExternalStore(watchSubscription.subscribe, watchSubscription.getCurrentValue);
116
115
  }
@@ -107,9 +107,7 @@ export interface VisList {
107
107
  }
108
108
  /**
109
109
  * AirtableInterface is designed as the communication interface between the
110
- * Block SDK and Airtable. The mechanism through which we communicate with Airtable
111
- * depends on the context in which the block is running (i.e. frontend or backend),
112
- * but the interface should remain consistent.
110
+ * Block SDK and Airtable.
113
111
  *
114
112
  * @hidden
115
113
  */
@@ -1 +1 @@
1
- {"version":3,"file":"airtable_interface.d.ts","sourceRoot":"","sources":["../../../../../src/base/types/airtable_interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"airtable_interface.d.ts","sourceRoot":"","sources":["../../../../../src/base/types/airtable_interface.ts"],"names":[],"mappings":"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"}
@@ -5,20 +5,6 @@ interface BlockWrapperProps {
5
5
  sdk: Sdk;
6
6
  children: React.ReactNode;
7
7
  }
8
- declare class BlockWrapper extends React.Component<BlockWrapperProps> {
9
- /** @hidden */
10
- constructor(props: BlockWrapperProps);
11
- /** @hidden */
12
- UNSAFE_componentWillMount(): void;
13
- /** @hidden */
14
- componentDidMount(): void;
15
- /** @hidden */
16
- UNSAFE_componentWillUpdate(): void;
17
- /** @hidden */
18
- componentDidUpdate(): void;
19
- /** @hidden */
20
- render(): React.JSX.Element;
21
- }
22
- declare const _default: React.ForwardRefExoticComponent<Omit<BlockWrapperProps, never> & React.RefAttributes<BlockWrapper>>;
23
- export default _default;
8
+ export default function BlockWrapper(props: BlockWrapperProps): React.JSX.Element;
9
+ export {};
24
10
  //# sourceMappingURL=block_wrapper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"block_wrapper.d.ts","sourceRoot":"","sources":["../../../../../src/base/ui/block_wrapper.tsx"],"names":[],"mappings":"AAAA,cAAc,CAAC,MAAM;AACrB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAC;AAS9B,UAAU,iBAAiB;IACvB,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B;AAED,cAAM,YAAa,SAAQ,KAAK,CAAC,SAAS,CAAC,iBAAiB,CAAC;IAGzD,cAAc;gBACF,KAAK,EAAE,iBAAiB;IAYpC,cAAc;IACd,yBAAyB;IAGzB,cAAc;IACd,iBAAiB;IAGjB,cAAc;IACd,0BAA0B;IAG1B,cAAc;IACd,kBAAkB;IAwBlB,cAAc;IACd,MAAM;CAwET;;AAED,wBAGG"}
1
+ {"version":3,"file":"block_wrapper.d.ts","sourceRoot":"","sources":["../../../../../src/base/ui/block_wrapper.tsx"],"names":[],"mappings":"AAAA,cAAc,CAAC,MAAM;AACrB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAC;AAU9B,UAAU,iBAAiB;IACvB,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B;AA2CD,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,KAAK,EAAE,iBAAiB,qBAqG5D"}
@@ -1,71 +1,19 @@
1
1
  import * as React from 'react';
2
- import type Record from '../models/record';
3
- import type Field from '../models/field';
4
- import { type MaxWidthProps, type MinWidthProps, type WidthProps, type FlexItemSetProps, type PositionSetProps, type MarginProps } from './system';
5
- import { type OptionalResponsiveProp } from './system/utils/types';
6
- import { type TooltipAnchorProps } from './types/tooltip_anchor_props';
2
+ import { CellRenderer as CellRendererSharedImpl } from '../../shared/ui/cell_renderer';
3
+ import { type BaseSdkMode } from '../../sdk_mode';
7
4
  /**
8
- * Style props for the {@link CellRenderer} component. Also accepts:
9
- * * {@link FlexItemSetProps}
10
- * * {@link MarginProps}
11
- * * {@link MaxWidthProps}
12
- * * {@link MinWidthProps}
13
- * * {@link PositionSetProps}
14
- * * {@link WidthProps}
15
- *
16
- * @noInheritDoc
17
- */
18
- interface CellRendererStyleProps extends FlexItemSetProps, MarginProps, MaxWidthProps, MinWidthProps, PositionSetProps, WidthProps {
19
- /** Defines the display type of an element, which consists of the two basic qualities of how an element generates boxes — the outer display type defining how the box participates in flow layout, and the inner display type defining how the children of the box are laid out. */
20
- display?: OptionalResponsiveProp<'block' | 'inline' | 'inline-block'>;
21
- }
22
- /**
23
- * Props for the {@link CellRenderer} component. Also accepts:
24
- * * {@link CellRendererStyleProps}
5
+ * Props for the {@link CellRenderer} component.
25
6
  *
26
7
  * @docsPath UI/components/CellRenderer
27
8
  * @noInheritDoc
28
9
  */
29
- interface CellRendererProps extends CellRendererStyleProps, TooltipAnchorProps<HTMLDivElement> {
30
- /** The {@link Record} from which to render a cell. Either `record` or `cellValue` must be provided to the CellRenderer. If both are provided, `record` will be used. */
31
- record?: Record | null | undefined;
32
- /** The cell value to render. Either `record` or `cellValue` must be provided to the CellRenderer. If both are provided, `record` will be used. */
33
- cellValue?: unknown;
34
- /** The {@link Field} for a given {@link Record} being rendered as a cell. */
35
- field: Field;
36
- /** Whether to wrap cell contents. Defaults to true. */
37
- shouldWrap?: boolean;
38
- /** Additional class names to apply to the cell renderer container, separated by spaces. */
39
- className?: string;
40
- /** Additional styles to apply to the cell renderer container. */
41
- style?: React.CSSProperties;
42
- /** Additional class names to apply to the cell itself, separated by spaces. */
43
- cellClassName?: string;
44
- /** Additional styles to apply to the cell itself. */
45
- cellStyle?: React.CSSProperties;
46
- /** Render function if provided and validation fails. */
47
- renderInvalidCellValue?: (cellValue: unknown, field: Field) => React.ReactElement;
48
- }
10
+ type CellRendererProps = React.ComponentProps<typeof CellRendererSharedImpl<BaseSdkMode>>;
49
11
  /**
50
12
  * Displays the contents of a cell given a field and record.
51
13
  *
52
- * [[ Story id="cellrenderer--example" title="Cell renderer example" ]]
53
- *
54
14
  * @component
55
15
  * @docsPath UI/components/CellRenderer
56
16
  */
57
- export declare class CellRenderer extends React.Component<CellRendererProps> {
58
- /** @hidden */
59
- static defaultProps: {
60
- shouldWrap: boolean;
61
- };
62
- /** @hidden */
63
- constructor(props: CellRendererProps);
64
- /** @hidden */
65
- UNSAFE_componentWillReceiveProps(nextProps: CellRendererProps): void;
66
- /** @hidden */
67
- render(): React.JSX.Element | null;
68
- }
69
- declare const _default: React.ForwardRefExoticComponent<Omit<CellRendererProps, "className" | "sdk"> & React.RefAttributes<CellRenderer>>;
70
- export default _default;
17
+ export default function CellRenderer(props: CellRendererProps): React.JSX.Element;
18
+ export {};
71
19
  //# sourceMappingURL=cell_renderer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cell_renderer.d.ts","sourceRoot":"","sources":["../../../../../src/base/ui/cell_renderer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,iBAAiB,CAAC;AAQzC,OAAO,EAGH,KAAK,aAAa,EAElB,KAAK,aAAa,EAElB,KAAK,UAAU,EAEf,KAAK,gBAAgB,EAErB,KAAK,gBAAgB,EAErB,KAAK,WAAW,EACnB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAC,KAAK,sBAAsB,EAAC,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAC,KAAK,kBAAkB,EAAC,MAAM,8BAA8B,CAAC;AAErE;;;;;;;;;;GAUG;AACH,UAAU,sBACN,SAAQ,gBAAgB,EACpB,WAAW,EACX,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,UAAU;IACd,mRAAmR;IACnR,OAAO,CAAC,EAAE,sBAAsB,CAAC,OAAO,GAAG,QAAQ,GAAG,cAAc,CAAC,CAAC;CACzE;AAID;;;;;;GAMG;AACH,UAAU,iBAAkB,SAAQ,sBAAsB,EAAE,kBAAkB,CAAC,cAAc,CAAC;IAC1F,wKAAwK;IACxK,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACnC,kJAAkJ;IAClJ,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6EAA6E;IAC7E,KAAK,EAAE,KAAK,CAAC;IACb,uDAAuD;IACvD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,2FAA2F;IAC3F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAG5B,+EAA+E;IAC/E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qDAAqD;IACrD,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAChC,wDAAwD;IACxD,sBAAsB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,KAAK,KAAK,CAAC,YAAY,CAAC;CAGrF;AAED;;;;;;;GAOG;AACH,qBAAa,YAAa,SAAQ,KAAK,CAAC,SAAS,CAAC,iBAAiB,CAAC;IAChE,cAAc;IACd,MAAM,CAAC,YAAY;;MAEjB;IAEF,cAAc;gBACF,KAAK,EAAE,iBAAiB;IAKpC,cAAc;IACd,gCAAgC,CAAC,SAAS,EAAE,iBAAiB;IAkB7D,cAAc;IACd,MAAM;CA6IT;;AAED,wBAiBE"}
1
+ {"version":3,"file":"cell_renderer.d.ts","sourceRoot":"","sources":["../../../../../src/base/ui/cell_renderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAC,YAAY,IAAI,sBAAsB,EAAC,MAAM,+BAA+B,CAAC;AACrF,OAAO,EAAC,KAAK,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAEhD;;;;;GAKG;AACH,KAAK,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC;AAE1F;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,KAAK,EAAE,iBAAiB,qBAE5D"}
@@ -0,0 +1,4 @@
1
+ export declare const SPIN_SCALE_ANIMATION_NAME: string;
2
+ export declare const BUTTON_LINK_CLASS_NAME: string;
3
+ export declare const getCssContentToAddToHead: () => string;
4
+ //# sourceMappingURL=global_css_helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global_css_helpers.d.ts","sourceRoot":"","sources":["../../../../../src/base/ui/global_css_helpers.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB,QAA6D,CAAC;AACpG,eAAO,MAAM,sBAAsB,QAA8D,CAAC;AA2BlG,eAAO,MAAM,wBAAwB,cAEpC,CAAC"}