@airtable/blocks 0.0.0-experimental-20e3506bd-20250428 → 0.0.0-experimental-d5ee5e823-20250501

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 (128) hide show
  1. package/dist/cjs/base/models/base.js +1 -1
  2. package/dist/cjs/base/models/create_aggregators.js +1 -1
  3. package/dist/cjs/base/models/cursor.js +2 -2
  4. package/dist/cjs/base/models/field.js +2 -2
  5. package/dist/cjs/base/models/record_coloring.js +2 -2
  6. package/dist/cjs/base/models/record_query_result.js +1 -1
  7. package/dist/cjs/base/models/session.js +4 -4
  8. package/dist/cjs/base/models/table.js +2 -2
  9. package/dist/cjs/base/models/view.js +1 -1
  10. package/dist/cjs/base/perform_record_action.js +1 -1
  11. package/dist/cjs/base/sdk.js +4 -1
  12. package/dist/cjs/base/settings_button.js +2 -2
  13. package/dist/cjs/base/types/view.js +1 -1
  14. package/dist/cjs/base/ui/base_provider.js +1 -1
  15. package/dist/cjs/base/ui/expand_record.js +1 -1
  16. package/dist/cjs/base/ui/expand_record_list.js +1 -1
  17. package/dist/cjs/base/ui/expand_record_picker_async.js +1 -1
  18. package/dist/cjs/base/ui/global_alert.js +1 -1
  19. package/dist/cjs/base/ui/initialize_block.js +18 -5
  20. package/dist/cjs/base/ui/progress_bar.js +1 -1
  21. package/dist/cjs/base/ui/ui.js +1 -1
  22. package/dist/cjs/base/ui/use_base.js +1 -1
  23. package/dist/cjs/base/ui/use_cursor.js +1 -1
  24. package/dist/cjs/{shared → base}/ui/use_loadable.js +6 -6
  25. package/dist/cjs/base/ui/use_record_action_data.js +2 -2
  26. package/dist/cjs/base/ui/use_records.js +5 -5
  27. package/dist/cjs/base/ui/use_session.js +1 -1
  28. package/dist/cjs/base/ui/use_settings_button.js +1 -1
  29. package/dist/cjs/base/ui/use_view_metadata.js +2 -2
  30. package/dist/cjs/base/ui/use_viewport.js +1 -1
  31. package/dist/cjs/base/ui/viewport_constraint.js +2 -2
  32. package/dist/cjs/base/viewport.js +1 -1
  33. package/dist/cjs/interface/models/models.js +53 -0
  34. package/dist/cjs/interface/sdk.js +0 -15
  35. package/dist/cjs/interface/ui/expand_record.js +2 -1
  36. package/dist/cjs/interface/ui/initialize_block.js +14 -4
  37. package/dist/cjs/interface/ui/ui.js +20 -8
  38. package/dist/cjs/interface/ui/use_custom_properties.js +52 -5
  39. package/dist/cjs/shared/colors.js +2 -2
  40. package/dist/cjs/shared/global_config.js +45 -40
  41. package/dist/cjs/shared/models/base_core.js +34 -11
  42. package/dist/cjs/shared/models/field_core.js +1 -1
  43. package/dist/cjs/shared/models/record_core.js +1 -1
  44. package/dist/cjs/shared/models/session_core.js +1 -1
  45. package/dist/cjs/shared/models/table_core.js +1 -1
  46. package/dist/cjs/shared/sdk_core.js +5 -5
  47. package/dist/cjs/shared/types/field.js +1 -1
  48. package/dist/cjs/shared/ui/remote_utils.js +3 -3
  49. package/dist/cjs/shared/ui/use_global_config.js +13 -8
  50. package/dist/cjs/shared/ui/use_synced.js +1 -1
  51. package/dist/cjs/shared/ui/use_watchable.js +3 -22
  52. package/dist/cjs/shared/ui/with_hooks.js +3 -3
  53. package/dist/types/src/base/models/base.d.ts +1 -1
  54. package/dist/types/src/base/models/create_aggregators.d.ts +1 -1
  55. package/dist/types/src/base/models/cursor.d.ts +2 -2
  56. package/dist/types/src/base/models/field.d.ts +2 -2
  57. package/dist/types/src/base/models/record_coloring.d.ts +2 -2
  58. package/dist/types/src/base/models/record_query_result.d.ts +1 -1
  59. package/dist/types/src/base/models/session.d.ts +4 -4
  60. package/dist/types/src/base/models/table.d.ts +2 -2
  61. package/dist/types/src/base/models/view.d.ts +1 -1
  62. package/dist/types/src/base/perform_record_action.d.ts +1 -1
  63. package/dist/types/src/base/sdk.d.ts.map +1 -1
  64. package/dist/types/src/base/settings_button.d.ts +2 -2
  65. package/dist/types/src/base/types/view.d.ts +1 -1
  66. package/dist/types/src/base/ui/base_provider.d.ts +1 -1
  67. package/dist/types/src/base/ui/expand_record.d.ts +1 -1
  68. package/dist/types/src/base/ui/expand_record_list.d.ts +1 -1
  69. package/dist/types/src/base/ui/expand_record_picker_async.d.ts +1 -1
  70. package/dist/types/src/base/ui/global_alert.d.ts +1 -1
  71. package/dist/types/src/base/ui/initialize_block.d.ts +1 -1
  72. package/dist/types/src/base/ui/initialize_block.d.ts.map +1 -1
  73. package/dist/types/src/base/ui/progress_bar.d.ts +1 -1
  74. package/dist/types/src/base/ui/types/tooltip_anchor_props.d.ts +1 -0
  75. package/dist/types/src/base/ui/types/tooltip_anchor_props.d.ts.map +1 -1
  76. package/dist/types/src/base/ui/ui.d.ts +1 -1
  77. package/dist/types/src/base/ui/ui.d.ts.map +1 -1
  78. package/dist/types/src/base/ui/use_base.d.ts +1 -1
  79. package/dist/types/src/base/ui/use_cursor.d.ts +1 -1
  80. package/dist/types/src/{shared → base}/ui/use_loadable.d.ts +3 -3
  81. package/dist/types/src/base/ui/use_loadable.d.ts.map +1 -0
  82. package/dist/types/src/base/ui/use_record_action_data.d.ts +1 -1
  83. package/dist/types/src/base/ui/use_session.d.ts +1 -1
  84. package/dist/types/src/base/ui/use_settings_button.d.ts +1 -1
  85. package/dist/types/src/base/ui/use_viewport.d.ts +1 -1
  86. package/dist/types/src/base/ui/viewport_constraint.d.ts +2 -2
  87. package/dist/types/src/base/viewport.d.ts +1 -1
  88. package/dist/types/src/interface/models/models.d.ts +8 -0
  89. package/dist/types/src/interface/models/models.d.ts.map +1 -0
  90. package/dist/types/src/interface/sdk.d.ts.map +1 -1
  91. package/dist/types/src/interface/ui/expand_record.d.ts +2 -1
  92. package/dist/types/src/interface/ui/expand_record.d.ts.map +1 -1
  93. package/dist/types/src/interface/ui/initialize_block.d.ts +30 -0
  94. package/dist/types/src/interface/ui/initialize_block.d.ts.map +1 -1
  95. package/dist/types/src/interface/ui/ui.d.ts +1 -1
  96. package/dist/types/src/interface/ui/ui.d.ts.map +1 -1
  97. package/dist/types/src/interface/ui/use_custom_properties.d.ts +52 -5
  98. package/dist/types/src/interface/ui/use_custom_properties.d.ts.map +1 -1
  99. package/dist/types/src/shared/color_utils.d.ts +3 -3
  100. package/dist/types/src/shared/colors.d.ts +2 -2
  101. package/dist/types/src/shared/global_config.d.ts +45 -40
  102. package/dist/types/src/shared/global_config.d.ts.map +1 -1
  103. package/dist/types/src/shared/models/base_core.d.ts +34 -11
  104. package/dist/types/src/shared/models/base_core.d.ts.map +1 -1
  105. package/dist/types/src/shared/models/field_core.d.ts +1 -1
  106. package/dist/types/src/shared/models/session_core.d.ts +1 -1
  107. package/dist/types/src/shared/private_utils.d.ts +1 -1
  108. package/dist/types/src/shared/private_utils.d.ts.map +1 -1
  109. package/dist/types/src/shared/sdk_core.d.ts +4 -4
  110. package/dist/types/src/shared/types/field.d.ts +1 -1
  111. package/dist/types/src/shared/ui/remote_utils.d.ts +3 -3
  112. package/dist/types/src/shared/ui/use_global_config.d.ts +13 -8
  113. package/dist/types/src/shared/ui/use_global_config.d.ts.map +1 -1
  114. package/dist/types/src/shared/ui/use_synced.d.ts +1 -1
  115. package/dist/types/src/shared/ui/use_watchable.d.ts +3 -22
  116. package/dist/types/src/shared/ui/use_watchable.d.ts.map +1 -1
  117. package/dist/types/src/shared/ui/with_hooks.d.ts +3 -3
  118. package/dist/types/stories/collaborator_token.stories.d.ts.map +1 -1
  119. package/package.json +16 -12
  120. package/dist/types/src/shared/ui/use_loadable.d.ts.map +0 -1
  121. package/ui.d.ts +0 -1
  122. package/ui.js +0 -1
  123. package/unstable_private_utils.d.ts +0 -1
  124. package/unstable_private_utils.js +0 -1
  125. package/unstable_standalone_ui.d.ts +0 -1
  126. package/unstable_standalone_ui.js +0 -1
  127. package/unstable_testing_utils.d.ts +0 -1
  128. package/unstable_testing_utils.js +0 -1
@@ -49,7 +49,7 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
49
49
  *
50
50
  * @example
51
51
  * ```js
52
- * import {base} from '@airtable/blocks';
52
+ * import {base} from '@airtable/blocks/base';
53
53
  *
54
54
  * console.log('The name of your base is', base.name);
55
55
  * ```
@@ -25,7 +25,7 @@ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length)
25
25
  *
26
26
  * @example
27
27
  * ```js
28
- * import {aggregators} from '@airtable/blocks/models';
28
+ * import {aggregators} from '@airtable/blocks/base/models';
29
29
  *
30
30
  * // To get a list of aggregators supported for a specific field:
31
31
  * const fieldAggregators = myField.availableAggregators;
@@ -62,7 +62,7 @@ var WatchableCursorKeys = Object.freeze({
62
62
  * {@link useLoadable} to access them.
63
63
  *
64
64
  * ```js
65
- * import {useCursor, useWatchable} from '@airtable/blocks/ui';
65
+ * import {useCursor, useWatchable} from '@airtable/blocks/base/ui';
66
66
  *
67
67
  * function ActiveTableAndView() {
68
68
  * const cursor = useCursor();
@@ -78,7 +78,7 @@ var WatchableCursorKeys = Object.freeze({
78
78
  * ```
79
79
  *
80
80
  * ```js
81
- * import {useCursor, useLoadable, useWatchable} from '@airtable/blocks/ui';
81
+ * import {useCursor, useLoadable, useWatchable} from '@airtable/blocks/base/ui';
82
82
  *
83
83
  * function SelectedRecordAndFieldIds() {
84
84
  * const cursor = useCursor();
@@ -28,7 +28,7 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
28
28
  *
29
29
  * @example
30
30
  * ```js
31
- * import {base} from '@airtable/blocks';
31
+ * import {base} from '@airtable/blocks/base';
32
32
  *
33
33
  * const table = base.getTableByName('Table 1');
34
34
  * const field = table.getFieldByName('Name');
@@ -74,7 +74,7 @@ var Field = /*#__PURE__*/function (_FieldCore) {
74
74
  * @param aggregator The aggregator object or aggregator key.
75
75
  * @example
76
76
  * ```js
77
- * import {aggregators} from '@airtable/blocks/models';
77
+ * import {aggregators} from '@airtable/blocks/base/models';
78
78
  * const aggregator = aggregators.totalAttachmentSize;
79
79
  *
80
80
  * // Using an aggregator object
@@ -56,8 +56,8 @@ var serialize = mode => {
56
56
  * @alias recordColoring.modes
57
57
  * @example
58
58
  * ```js
59
- * import {recordColoring} from '@airtable/blocks/models';
60
- * import {useRecords} from '@airtable/blocks/ui';
59
+ * import {recordColoring} from '@airtable/blocks/base/models';
60
+ * import {useRecords} from '@airtable/blocks/base/ui';
61
61
  *
62
62
  * // no record coloring:
63
63
  * const recordColorMode = recordColoring.modes.none();
@@ -128,7 +128,7 @@ var WatchableCellValuesInFieldKeyPrefix = 'cellValuesInField:';
128
128
  * supported record color modes: none, by a view, and by a select field.
129
129
  *
130
130
  * ```js
131
- * import {recordColoring} from '@airtable/blocks/models';
131
+ * import {recordColoring} from '@airtable/blocks/base/models';
132
132
  * // No record coloring:
133
133
  * const opts = {
134
134
  * recordColorMode: recordColoring.modes.none(),
@@ -20,7 +20,7 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
20
20
  *
21
21
  * @example
22
22
  * ```js
23
- * import {useSession} from '@airtable/blocks/ui';
23
+ * import {useSession} from '@airtable/blocks/base/ui';
24
24
  *
25
25
  * function Username() {
26
26
  * const session = useSession();
@@ -53,7 +53,7 @@ var Session = /*#__PURE__*/function (_SessionCore) {
53
53
  *
54
54
  * @example
55
55
  * ```js
56
- * import {useSession} from '@airtable/blocks/ui';
56
+ * import {useSession} from '@airtable/blocks/base/ui';
57
57
  *
58
58
  * function UpdateButton({onClick}) {
59
59
  * const session = useSession();
@@ -96,7 +96,7 @@ var Session = /*#__PURE__*/function (_SessionCore) {
96
96
  *
97
97
  * @example
98
98
  * ```js
99
- * import {useSession} from '@airtable/blocks/ui';
99
+ * import {useSession} from '@airtable/blocks/base/ui';
100
100
  *
101
101
  * function CreateButton({onClick}) {
102
102
  * const session = useSession();
@@ -141,7 +141,7 @@ var Session = /*#__PURE__*/function (_SessionCore) {
141
141
  *
142
142
  * @example
143
143
  * ```js
144
- * import {useSession} from '@airtable/blocks/ui';
144
+ * import {useSession} from '@airtable/blocks/base/ui';
145
145
  *
146
146
  * function DeleteButton({onClick}) {
147
147
  * const session = useSession();
@@ -309,7 +309,7 @@ var Table = /*#__PURE__*/function (_TableCore) {
309
309
  * @param opts Options for the query, such as sorts and fields.
310
310
  * @example
311
311
  * ```js
312
- * import {useBase, useRecords} from '@airtable/blocks/ui';
312
+ * import {useBase, useRecords} from '@airtable/blocks/base/ui';
313
313
  * import React from 'react';
314
314
  *
315
315
  * function TodoList() {
@@ -391,7 +391,7 @@ var Table = /*#__PURE__*/function (_TableCore) {
391
391
  * correct type, that view will be returned before checking the other views in the table.
392
392
  * @example
393
393
  * ```js
394
- * import {ViewType} from '@airtable/blocks/models';
394
+ * import {ViewType} from '@airtable/blocks/base/models';
395
395
  * const firstCalendarView = myTable.getFirstViewOfType(ViewType.CALENDAR);
396
396
  * if (firstCalendarView !== null) {
397
397
  * console.log(firstCalendarView.name);
@@ -165,7 +165,7 @@ var View = /*#__PURE__*/function (_AbstractModel) {
165
165
  * default, records will be coloured according to the view.
166
166
  * @example
167
167
  * ```js
168
- * import {useBase, useRecords} from '@airtable/blocks/UI';
168
+ * import {useBase, useRecords} from '@airtable/blocks/base/ui';
169
169
  * import React from 'react';
170
170
  *
171
171
  * function TodoList() {
@@ -209,7 +209,7 @@ var PerformRecordAction = exports.PerformRecordAction = /*#__PURE__*/function (_
209
209
  * @example
210
210
  * ```js
211
211
  * import React, {useEffect, useState} from 'react';
212
- * import {registerRecordActionDataCallback} from '@airtable/blocks/ui';
212
+ * import {registerRecordActionDataCallback} from '@airtable/blocks/base/ui';
213
213
  *
214
214
  * function LatestRecordAction() {
215
215
  * const [recordActionData, setRecordActionData] = useState(null);
@@ -86,13 +86,16 @@ var BaseBlockSdk = exports.default = /*#__PURE__*/function (_BlockSdkCore) {
86
86
  // We set _runWithUpdateBatching to ReactDOM.unstable_batchedUpdates to facilitate this. We
87
87
  // don't know for sure though that React is in use on the page, so we leave actually setting
88
88
  // this when the developer sets up their block with React, in UI.initializeBlock.
89
+ //
90
+ // This can be eliminated if we stop supporting versions of React below 18. In React 18,
91
+ // updates are always batched by default.
89
92
  /** @internal */
90
93
  (0, _defineProperty2.default)(_this, "_runWithUpdateBatching", defaultUpdateBatcher);
91
94
  var sdkInitData = airtableInterface.sdkInitData;
92
95
 
93
96
  // Bind the public methods on this class so users can import
94
97
  // just the method, e.g.
95
- // import {reload} from '@airtable/blocks';
98
+ // import {reload} from '@airtable/blocks/base';
96
99
  _this.unstable_fetchAsync = _this.unstable_fetchAsync.bind(_this);
97
100
  _this.viewport = new _viewport.default(sdkInitData.isFullscreen, airtableInterface);
98
101
  _this.cursor = new _cursor.default(_this);
@@ -35,8 +35,8 @@ var WatchableSettingsButtonKeys = Object.freeze({
35
35
  * @alias settingsButton
36
36
  * @example
37
37
  * ```js
38
- * import {settingsButton} from '@airtable/blocks';
39
- * import {useWatchable} from '@airtable/blocks/ui';
38
+ * import {settingsButton} from '@airtable/blocks/base';
39
+ * import {useWatchable} from '@airtable/blocks/base/ui';
40
40
  *
41
41
  * function AppWithSettings({shouldShowSettingsButton}) {
42
42
  * useEffect(() => {
@@ -11,7 +11,7 @@ exports.ViewType = void 0;
11
11
  *
12
12
  * @example
13
13
  * ```js
14
- * import {ViewType} from '@airtable/blocks/models';
14
+ * import {ViewType} from '@airtable/blocks/base/models';
15
15
  * const gridViews = myTable.views.filter(view => (
16
16
  * view.type === ViewType.GRID
17
17
  * ));
@@ -26,7 +26,7 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
26
26
  * ```js
27
27
  * import React from 'react';
28
28
  * import ReactDOM from 'react-dom';
29
- * import {BaseProvider} from '@airtable/blocks/ui';
29
+ * import {BaseProvider} from '@airtable/blocks/base/ui';
30
30
  *
31
31
  * function getHtmlStringForRecordCard(base, record) {
32
32
  * return ReactDOM.renderToStaticMarkup(
@@ -19,7 +19,7 @@ require("core-js/modules/es.array.map.js");
19
19
  *
20
20
  * @example
21
21
  * ```js
22
- * import {expandRecord} from '@airtable/blocks/ui';
22
+ * import {expandRecord} from '@airtable/blocks/base/ui';
23
23
  * expandRecord(record1, {
24
24
  * records: [record1, record2, record3],
25
25
  * });
@@ -20,7 +20,7 @@ var _error_utils = require("../../shared/error_utils");
20
20
  *
21
21
  * @example
22
22
  * ```js
23
- * import {expandRecordList} from '@airtable/blocks/ui';
23
+ * import {expandRecordList} from '@airtable/blocks/base/ui';
24
24
  * expandRecordList([record1, record2, record3]);
25
25
  *
26
26
  * expandRecordList([record1, record2], {
@@ -28,7 +28,7 @@ var _error_utils = require("../../shared/error_utils");
28
28
  * @param opts An optional options object.
29
29
  * @example
30
30
  * ```js
31
- * import {expandRecordPickerAsync} from '@airtable/blocks/ui';
31
+ * import {expandRecordPickerAsync} from '@airtable/blocks/base/ui';
32
32
  *
33
33
  * async function pickRecordsAsync() {
34
34
  * const recordA = await expandRecordPickerAsync([record1, record2, record3]);
@@ -47,7 +47,7 @@ var GlobalAlertInfo = () => {
47
47
  * @hidden
48
48
  * @example
49
49
  * ```js
50
- * import {globalAlert} from '@airtable/blocks/ui';
50
+ * import {globalAlert} from '@airtable/blocks/base/ui';
51
51
  * globalAlert.showReloadPrompt();
52
52
  * ```
53
53
  */
@@ -38,7 +38,7 @@ var hasBeenInitialized = false;
38
38
  *
39
39
  * @example
40
40
  * ```js
41
- * import {initializeBlock} from '@airtable/blocks/ui';
41
+ * import {initializeBlock} from '@airtable/blocks/base/ui';
42
42
  * import React from 'react';
43
43
  *
44
44
  * function App() {
@@ -105,12 +105,25 @@ function initializeBlock(getEntryElement) {
105
105
  if (! /*#__PURE__*/React.isValidElement(entryElement)) {
106
106
  throw (0, _error_utils.spawnError)("The first argument to initializeBlock didn't return a valid React element");
107
107
  }
108
- sdk.__setBatchedUpdatesFn(_reactDom.default.unstable_batchedUpdates);
108
+ if (_reactDom.default.unstable_batchedUpdates) {
109
+ sdk.__setBatchedUpdatesFn(_reactDom.default.unstable_batchedUpdates);
110
+ }
109
111
  var container = document.createElement('div');
110
112
  body.appendChild(container);
111
- _reactDom.default.render( /*#__PURE__*/React.createElement(_block_wrapper.default, {
112
- sdk: sdk
113
- }, entryElement), container);
113
+
114
+ // Try to use createRoot API (React 18+)
115
+ try {
116
+ var _require = require('react-dom/client'),
117
+ createRoot = _require.createRoot;
118
+ createRoot(container).render( /*#__PURE__*/React.createElement(_block_wrapper.default, {
119
+ sdk: sdk
120
+ }, entryElement));
121
+ } catch (e) {
122
+ // Fallback to legacy render for React 16/17
123
+ _reactDom.default.render( /*#__PURE__*/React.createElement(_block_wrapper.default, {
124
+ sdk: sdk
125
+ }, entryElement), container);
126
+ }
114
127
  }
115
128
  var sdk;
116
129
 
@@ -69,7 +69,7 @@ var progressBarClassName = (0, _emotion.css)({
69
69
  *
70
70
  * @example
71
71
  * ```js
72
- * import {ProgressBar} from '@airtable/blocks/ui';
72
+ * import {ProgressBar} from '@airtable/blocks/base/ui';
73
73
  *
74
74
  * function MyComponent() {
75
75
  * return (
@@ -339,7 +339,7 @@ var _switch_synced = _interopRequireDefault(require("./switch_synced"));
339
339
  var _viewport_constraint = _interopRequireDefault(require("./viewport_constraint"));
340
340
  var _initialize_block = require("./initialize_block");
341
341
  var _with_hooks = _interopRequireDefault(require("../../shared/ui/with_hooks"));
342
- var _use_loadable = _interopRequireDefault(require("../../shared/ui/use_loadable"));
342
+ var _use_loadable = _interopRequireDefault(require("./use_loadable"));
343
343
  var _use_records = require("./use_records");
344
344
  var _use_base = _interopRequireDefault(require("./use_base"));
345
345
  var _use_cursor = _interopRequireDefault(require("./use_cursor"));
@@ -22,7 +22,7 @@ var _use_base = _interopRequireDefault(require("../../shared/ui/use_base"));
22
22
  *
23
23
  * @example
24
24
  * ```js
25
- * import {useBase} from '@airtable/blocks/ui';
25
+ * import {useBase} from '@airtable/blocks/base/ui';
26
26
  *
27
27
  * // renders a list of tables and automatically updates
28
28
  * function TableList() {
@@ -22,7 +22,7 @@ var _sdk_context = require("../../shared/ui/sdk_context");
22
22
  *
23
23
  * @example
24
24
  * ```js
25
- * import {useBase, useCursor} from '@airtable/blocks/ui';
25
+ * import {useBase, useCursor} from '@airtable/blocks/base/ui';
26
26
  *
27
27
  * // renders a list of tables and automatically updates
28
28
  * function TableList() {
@@ -18,9 +18,9 @@ require("core-js/modules/es.regexp.to-string.js");
18
18
  require("core-js/modules/web.dom-collections.iterator.js");
19
19
  var _react = require("react");
20
20
  var _useSubscription = require("use-subscription");
21
- var _private_utils = require("../private_utils");
22
- var _error_utils = require("../error_utils");
23
- var _use_array_identity = _interopRequireDefault(require("./use_array_identity"));
21
+ var _private_utils = require("../../shared/private_utils");
22
+ var _error_utils = require("../../shared/error_utils");
23
+ var _use_array_identity = _interopRequireDefault(require("../../shared/ui/use_array_identity"));
24
24
  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; } } }; }
25
25
  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; } }
26
26
  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; } /** @module @airtable/blocks/ui: useLoadable */ /** */
@@ -64,7 +64,7 @@ var SUSPENSE_CLEAN_UP_MS = 60000;
64
64
  *
65
65
  * @example
66
66
  * ```js
67
- * import {useCursor, useLoadable, useWatchable} from '@airtable/blocks/ui';
67
+ * import {useCursor, useLoadable, useWatchable} from '@airtable/blocks/base/ui';
68
68
  *
69
69
  * function SelectedRecordIds() {
70
70
  * const cursor = useCursor();
@@ -81,7 +81,7 @@ var SUSPENSE_CLEAN_UP_MS = 60000;
81
81
  *
82
82
  * @example
83
83
  * ```js
84
- * import {useLoadable} from '@airtable/blocks/ui';
84
+ * import {useLoadable} from '@airtable/blocks/base/ui';
85
85
  *
86
86
  * function LoadTwoQueryResults({queryResultA, queryResultB}) {
87
87
  * // load the queryResults:
@@ -94,7 +94,7 @@ var SUSPENSE_CLEAN_UP_MS = 60000;
94
94
  *
95
95
  * @example
96
96
  * ```js
97
- * import {useLoadable, useBase} from '@airtable/blocks/ui';
97
+ * import {useLoadable, useBase} from '@airtable/blocks/base/ui';
98
98
  *
99
99
  * function LoadAllRecords() {
100
100
  * const base = useBase();
@@ -6,9 +6,9 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = useRecordActionData;
8
8
  var _perform_record_action = require("../perform_record_action");
9
- var _use_loadable = _interopRequireDefault(require("../../shared/ui/use_loadable"));
10
9
  var _use_watchable = _interopRequireDefault(require("../../shared/ui/use_watchable"));
11
10
  var _sdk_context = require("../../shared/ui/sdk_context");
11
+ var _use_loadable = _interopRequireDefault(require("./use_loadable"));
12
12
  /** @module @airtable/blocks/ui: useRecordActionData */ /** */
13
13
 
14
14
  /**
@@ -39,7 +39,7 @@ var _sdk_context = require("../../shared/ui/sdk_context");
39
39
  * @example
40
40
  * ```js
41
41
  * import React from 'react';
42
- * import {useRecordActionData} from '@airtable/blocks/ui';
42
+ * import {useRecordActionData} from '@airtable/blocks/base/ui';
43
43
  *
44
44
  * function LatestRecordAction() {
45
45
  * const recordActionData = useRecordActionData();
@@ -17,8 +17,8 @@ var _table = _interopRequireDefault(require("../models/table"));
17
17
  var _record_query_result = _interopRequireDefault(require("../models/record_query_result"));
18
18
  var RecordColoring = _interopRequireWildcard(require("../models/record_coloring"));
19
19
  var _view = _interopRequireDefault(require("../models/view"));
20
- var _use_loadable = _interopRequireDefault(require("../../shared/ui/use_loadable"));
21
20
  var _use_watchable = _interopRequireDefault(require("../../shared/ui/use_watchable"));
21
+ var _use_loadable = _interopRequireDefault(require("./use_loadable"));
22
22
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
23
23
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
24
24
  /** @module @airtable/blocks/ui: useRecords */ /** */
@@ -74,7 +74,7 @@ function useUnwatchedRecordQueryResult_(tableOrViewOrQueryResult, functionNameFo
74
74
  * @param opts? If passing a Table or View, optional {@link RecordIdsQueryResultOpts} to control the results.
75
75
  * @example
76
76
  * ```js
77
- * import {useRecordIds, useBase} from '@airtable/blocks/ui';
77
+ * import {useRecordIds, useBase} from '@airtable/blocks/base/ui';
78
78
  *
79
79
  * function RecordCount() {
80
80
  * const base = useBase();
@@ -128,7 +128,7 @@ function useRecordIds(tableOrViewOrQueryResult, opts) {
128
128
  * @param opts? If passing a Table or View, optional {@link RecordQueryResultOpts} to control the results.
129
129
  * @example
130
130
  * ```js
131
- * import {useRecords, useBase} from '@airtable/blocks/ui';
131
+ * import {useRecords, useBase} from '@airtable/blocks/base/ui';
132
132
  *
133
133
  * function GetRecords() {
134
134
  * const base = useBase();
@@ -161,7 +161,7 @@ function useRecordIds(tableOrViewOrQueryResult, opts) {
161
161
  *
162
162
  * @example
163
163
  * ```js
164
- * import {useRecords, useBase} from '@airtable/blocks/ui';
164
+ * import {useRecords, useBase} from '@airtable/blocks/base/ui';
165
165
  *
166
166
  * function RecordList() {
167
167
  * const base = useBase();
@@ -213,7 +213,7 @@ function useRecords(tableOrViewOrQueryResult, opts) {
213
213
  * @param opts? If passing a Table or View, optional {@link SingleRecordQueryResultOpts} to control the results.
214
214
  * @example
215
215
  * ```js
216
- * import {useRecordById, useRecordIds, useBase} from '@airtable/blocks/ui';
216
+ * import {useRecordById, useRecordIds, useBase} from '@airtable/blocks/base/ui';
217
217
  *
218
218
  * // this component concerns a single record - it only updates when that specific record updates
219
219
  * function RecordListItem({table, recordId}) {
@@ -19,7 +19,7 @@ var _use_session = _interopRequireDefault(require("../../shared/ui/use_session")
19
19
  *
20
20
  * @example
21
21
  * ```js
22
- * import {CollaboratorToken, useSession} from '@airtable/blocks/ui';
22
+ * import {CollaboratorToken, useSession} from '@airtable/blocks/base/ui';
23
23
  *
24
24
  * // Says hello to the current user and updates in realtime if the current user's
25
25
  * // name or profile pic changes.
@@ -19,7 +19,7 @@ var _sdk_context = require("../../shared/ui/sdk_context");
19
19
  *
20
20
  * @example
21
21
  * ```js
22
- * import {useSettingsButton} from '@airtable/blocks/ui';
22
+ * import {useSettingsButton} from '@airtable/blocks/base/ui';
23
23
  * import {useState} from 'react';
24
24
  *
25
25
  * function ComponentWithSettings() {
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = void 0;
8
8
  var _view = _interopRequireDefault(require("../models/view"));
9
- var _use_loadable = _interopRequireDefault(require("../../shared/ui/use_loadable"));
10
9
  var _use_watchable = _interopRequireDefault(require("../../shared/ui/use_watchable"));
10
+ var _use_loadable = _interopRequireDefault(require("./use_loadable"));
11
11
  /** @module @airtable/blocks/ui: useViewMetadata */ /** */
12
12
 
13
13
  /** */
@@ -23,7 +23,7 @@ var _use_watchable = _interopRequireDefault(require("../../shared/ui/use_watchab
23
23
  * @param viewOrViewMetadataQueryResult The {@link View} or {@link ViewMetadataQueryResult} to watch and use metadata from.
24
24
  * @example
25
25
  * ```js
26
- * import {useBase, useViewMetadata} from '@airtable/blocks/ui';
26
+ * import {useBase, useViewMetadata} from '@airtable/blocks/base/ui';
27
27
  *
28
28
  * function ViewFields({view}) {
29
29
  * const viewMetadata = useViewMetadata(view);
@@ -15,7 +15,7 @@ var _sdk_context = require("../../shared/ui/sdk_context");
15
15
  *
16
16
  * @example
17
17
  * ```js
18
- * import {useViewport} from '@airtable/blocks/ui';
18
+ * import {useViewport} from '@airtable/blocks/base/ui';
19
19
  *
20
20
  * function ViewportSize() {
21
21
  * const viewport = useViewport();
@@ -43,13 +43,13 @@ var didSizeChange = (prev, next) => (prev && prev.width) !== (next && next.width
43
43
  *
44
44
  * @example
45
45
  * ```js
46
- * import {ViewportConstraint} from '@airtable/blocks/ui';
46
+ * import {ViewportConstraint} from '@airtable/blocks/base/ui';
47
47
  * <ViewportConstraint minSize={{width: 400}} />
48
48
  * ```
49
49
  *
50
50
  * @example
51
51
  * ```js
52
- * import {ViewportConstraint} from '@airtable/blocks/ui';
52
+ * import {ViewportConstraint} from '@airtable/blocks/base/ui';
53
53
  * <ViewportConstraint maxFullScreenSize={{width: 600, height: 400}}>
54
54
  * <div>I need a max fullscreen size!</div>
55
55
  * </ViewportConstraint>
@@ -62,7 +62,7 @@ var compareWithNulls = (a, b, compare) => {
62
62
  *
63
63
  * @example
64
64
  * ```js
65
- * import {viewport} from '@airtable/blocks';
65
+ * import {viewport} from '@airtable/blocks/base';
66
66
  * ```
67
67
  * @docsPath models/Viewport
68
68
  */
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "Base", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _base.Base;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "Field", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _field2.Field;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "FieldConfig", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _field.FieldConfig;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "FieldType", {
25
+ enumerable: true,
26
+ get: function get() {
27
+ return _field.FieldType;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "Record", {
31
+ enumerable: true,
32
+ get: function get() {
33
+ return _record.Record;
34
+ }
35
+ });
36
+ Object.defineProperty(exports, "Session", {
37
+ enumerable: true,
38
+ get: function get() {
39
+ return _session.Session;
40
+ }
41
+ });
42
+ Object.defineProperty(exports, "Table", {
43
+ enumerable: true,
44
+ get: function get() {
45
+ return _table.Table;
46
+ }
47
+ });
48
+ var _field = require("../../shared/types/field");
49
+ var _base = require("./base");
50
+ var _table = require("./table");
51
+ var _field2 = require("./field");
52
+ var _record = require("./record");
53
+ var _session = require("./session");
@@ -16,12 +16,6 @@ var _mutations = require("./models/mutations");
16
16
  var _base = require("./models/base");
17
17
  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)); }
18
18
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
19
- // /** Add hidden annotation if uncommenting */
20
- // type UpdateBatcher = (applyUpdates: () => void) => void;
21
- // /** Add internal annotation if uncommenting */
22
- // function defaultUpdateBatcher(applyUpdates: () => void) {
23
- // applyUpdates();
24
- // }
25
19
  /** @hidden */
26
20
  var InterfaceBlockSdk = exports.InterfaceBlockSdk = /*#__PURE__*/function (_BlockSdkCore) {
27
21
  function InterfaceBlockSdk(airtableInterface) {
@@ -70,27 +64,18 @@ var InterfaceBlockSdk = exports.InterfaceBlockSdk = /*#__PURE__*/function (_Bloc
70
64
  }, {
71
65
  key: "__applyModelChanges",
72
66
  value: function __applyModelChanges(changes) {
73
- // this._runWithUpdateBatching(() => {
74
67
  var changedBasePaths = this.base.__applyChangesWithoutTriggeringEvents(changes);
75
68
  var changedSessionKeys = this.session.__applyChangesWithoutTriggeringEvents(changes);
76
69
  this.base.__triggerOnChangeForChangedPaths(changedBasePaths);
77
70
  this.session.__triggerOnChangeForChangedKeys(changedSessionKeys);
78
- // });
79
71
  }
80
72
  /** @internal */
81
73
  }, {
82
74
  key: "__applyGlobalConfigUpdates",
83
75
  value: function __applyGlobalConfigUpdates(updates) {
84
- // this._runWithUpdateBatching(() => {
85
76
  this.globalConfig.__setMultipleKvPaths(updates);
86
- // });
87
77
  }
88
78
 
89
- // /** @internal */
90
- // __setBatchedUpdatesFn(newUpdateBatcher: UpdateBatcher) {
91
- // this._runWithUpdateBatching = newUpdateBatcher;
92
- // }
93
-
94
79
  /**
95
80
  * @internal
96
81
  */
@@ -14,7 +14,8 @@ exports.expandRecord = expandRecord;
14
14
  * @example
15
15
  * ```js
16
16
  * import {expandRecord} from '@airtable/blocks/interface/ui';
17
- * expandRecord(record);
17
+ *
18
+ * <button onClick={() => expandRecord(record)}>{record.name}</button>
18
19
  * ```
19
20
  * @docsPath UI/utils/expandRecord
20
21
  */