@airtable/blocks 1.11.1 → 1.14.0
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.
- package/README.md +2 -2
- package/dist/cjs/global_config.js +3 -3
- package/dist/cjs/injected/airtable_interface.js +1 -1
- package/dist/cjs/models/base.js +10 -10
- package/dist/cjs/models/cursor.js +4 -6
- package/dist/cjs/models/field.js +34 -14
- package/dist/cjs/models/record_query_result.js +1 -1
- package/dist/cjs/models/record_store.js +68 -16
- package/dist/cjs/models/session.js +3 -3
- package/dist/cjs/models/table.js +25 -25
- package/dist/cjs/models/view.js +23 -1
- package/dist/cjs/sdk.js +8 -1
- package/dist/cjs/settings_button.js +1 -1
- package/dist/cjs/ui/block_wrapper.js +2 -5
- package/dist/cjs/ui/expand_record_picker_async.js +1 -1
- package/dist/cjs/ui/global_config_synced_component_helpers.js +6 -0
- package/dist/cjs/ui/icon_config.js +10 -4
- package/dist/cjs/ui/initialize_block.js +3 -3
- package/dist/cjs/ui/use_global_config.js +1 -1
- package/dist/cjs/ui/use_loadable.js +3 -3
- package/dist/cjs/ui/use_record_action_data.js +11 -11
- package/dist/cjs/ui/use_settings_button.js +1 -1
- package/dist/cjs/ui/viewport_constraint.js +1 -1
- package/dist/cjs/viewport.js +9 -9
- package/dist/types/src/global_config.d.ts +3 -3
- package/dist/types/src/models/base.d.ts +9 -9
- package/dist/types/src/models/cursor.d.ts +4 -6
- package/dist/types/src/models/cursor.d.ts.map +1 -1
- package/dist/types/src/models/field.d.ts +12 -3
- package/dist/types/src/models/field.d.ts.map +1 -1
- package/dist/types/src/models/record_query_result.d.ts +2 -2
- package/dist/types/src/models/session.d.ts +3 -3
- package/dist/types/src/models/table.d.ts +25 -25
- package/dist/types/src/models/view.d.ts +11 -0
- package/dist/types/src/models/view.d.ts.map +1 -1
- package/dist/types/src/sdk.d.ts +3 -1
- package/dist/types/src/sdk.d.ts.map +1 -1
- package/dist/types/src/settings_button.d.ts +1 -1
- package/dist/types/src/types/field.d.ts +11 -5
- package/dist/types/src/types/field.d.ts.map +1 -1
- package/dist/types/src/types/view.d.ts +1 -0
- package/dist/types/src/types/view.d.ts.map +1 -1
- package/dist/types/src/ui/block_wrapper.d.ts.map +1 -1
- package/dist/types/src/ui/expand_record_picker_async.d.ts +1 -1
- package/dist/types/src/ui/global_config_synced_component_helpers.d.ts.map +1 -1
- package/dist/types/src/ui/icon_config.d.ts +9 -3
- package/dist/types/src/ui/icon_config.d.ts.map +1 -1
- package/dist/types/src/ui/initialize_block.d.ts +1 -1
- package/dist/types/src/ui/use_global_config.d.ts +1 -1
- package/dist/types/src/ui/use_loadable.d.ts +2 -2
- package/dist/types/src/ui/use_record_action_data.d.ts +11 -11
- package/dist/types/src/ui/use_settings_button.d.ts +1 -1
- package/dist/types/src/ui/viewport_constraint.d.ts +3 -3
- package/dist/types/src/ui/viewport_constraint.d.ts.map +1 -1
- package/dist/types/src/viewport.d.ts +9 -9
- package/dist/types/test/airtable_interface_mocks/fixture_data.d.ts +6 -1
- package/dist/types/test/airtable_interface_mocks/fixture_data.d.ts.map +1 -1
- package/package.json +1 -1
- package/CHANGELOG.md +0 -495
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icon_config.d.ts","sourceRoot":"","sources":["../../../../src/ui/icon_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,QAAQ,EAA0B,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAMzF,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"icon_config.d.ts","sourceRoot":"","sources":["../../../../src/ui/icon_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,QAAQ,EAA0B,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAMzF,eAAO,MAAM,cAAc,uzDAyKjB,CAAC;AACX,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAgC,CAAC;AACvD,eAAO,MAAM,mCAAmC,qBAAgC,CAAC;AACjF;;;;GAIG;AACH,oBAAY,QAAQ,GAAG,QAAQ,CAAC,OAAO,SAAS,CAAC,CAAC;AAClD,eAAO,MAAM,gBAAgB,q/DAAoC,CAAC;AA2KlE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAqC,CAAC;AACjE,cAAc;AACd,oBAAY,aAAa,GAAG,QAAQ,CAAC,OAAO,cAAc,CAAC,CAAC;AAC5D,eAAO,MAAM,qBAAqB,syFAAyC,CAAC;AAuqB5E,cAAc;AACd,oBAAY,WAAW,GAAG,QAAQ,GAAG,aAAa,CAAC;AACnD,eAAO,MAAM,YAAY,EAAE,SAAS,CAAC,WAAW,EAAE,MAAM,CAG7C,CAAC"}
|
|
@@ -18,7 +18,7 @@ interface EntryPoints {
|
|
|
18
18
|
/** @hidden */
|
|
19
19
|
declare type DashboardOrEntryPoints = DashboardEntryElementFunction | EntryPoints;
|
|
20
20
|
/**
|
|
21
|
-
* `initializeBlock` takes the top-level React component in your tree and renders it. It is conceptually similar to `ReactDOM.render`, but takes care of some
|
|
21
|
+
* `initializeBlock` takes the top-level React component in your tree and renders it. It is conceptually similar to `ReactDOM.render`, but takes care of some Extensions-specific things.
|
|
22
22
|
*
|
|
23
23
|
* @param getEntryElement A function that returns your React Node.
|
|
24
24
|
*
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** @module @airtable/blocks/ui: useGlobalConfig */ /** */
|
|
2
2
|
import GlobalConfig from '../global_config';
|
|
3
3
|
/**
|
|
4
|
-
* Returns the
|
|
4
|
+
* Returns the extension's {@link GlobalConfig} and updates whenever any key in {@link GlobalConfig}
|
|
5
5
|
* changes.
|
|
6
6
|
*
|
|
7
7
|
* @example
|
|
@@ -22,7 +22,7 @@ interface UseLoadableOpts {
|
|
|
22
22
|
shouldSuspend?: boolean;
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
|
-
* When you're writing an
|
|
25
|
+
* When you're writing an extension, not all of the data in your base is available to work with straight
|
|
26
26
|
* away. We need to load it from Airtable first. This hook is a low-level tool for managing that.
|
|
27
27
|
* You might not need to use it directly though - if you're working with a {@link RecordQueryResult}, try
|
|
28
28
|
* {@link useRecords}, {@link useRecordIds}, or {@link useRecordById} first.
|
|
@@ -31,7 +31,7 @@ interface UseLoadableOpts {
|
|
|
31
31
|
* loaded when your component mounts, and unloaded when your component unmounts. By default, you
|
|
32
32
|
* don't need to worry about waiting for the data to load - the hook uses React Suspense to make
|
|
33
33
|
* sure the rest of your component doesn't run until the data is loaded. Whilst the data is
|
|
34
|
-
* loading, the entire
|
|
34
|
+
* loading, the entire extension will show a loading indicator. If you want to change where that
|
|
35
35
|
* indicator shows or how it looks, use [`<React.Suspense />`](https://reactjs.org/docs/react-api.html#reactsuspense|)
|
|
36
36
|
* around the component that uses the hook.
|
|
37
37
|
*
|
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
/** @module @airtable/blocks/ui: useRecordActionData */ /** */
|
|
2
2
|
import { RecordActionData } from '../types/record_action_data';
|
|
3
3
|
/**
|
|
4
|
-
* A hook to watch "open
|
|
4
|
+
* A hook to watch "open extension" / "perform record action" events (from button field). Returns
|
|
5
5
|
* the data corresponding to the latest action, or `null` if no actions have occurred yet. If there
|
|
6
|
-
* was a pending event for the
|
|
7
|
-
* clicked while the
|
|
6
|
+
* was a pending event for the extension (for example, because a button that opens this extension was
|
|
7
|
+
* clicked while the extensions dashboard was closed) it will be returned as the initial value.
|
|
8
8
|
*
|
|
9
|
-
* Like {@link useLoadable}, this hook puts the
|
|
9
|
+
* Like {@link useLoadable}, this hook puts the extension in suspense while subscribing to events and
|
|
10
10
|
* fetching the initial data.
|
|
11
11
|
*
|
|
12
12
|
* Also see {@link registerRecordActionDataCallback}, which subscribes to the same events in an
|
|
13
13
|
* asynchronous (callback based) way. An advantage of using this hook over the callback is that you
|
|
14
|
-
* immediately can handle any pending events when your
|
|
14
|
+
* immediately can handle any pending events when your extension opens - with a callback, your extension
|
|
15
15
|
* will finish it's initial render before handling the event.
|
|
16
16
|
*
|
|
17
|
-
* Like {@link registerRecordActionDataCallback}, your
|
|
17
|
+
* Like {@link registerRecordActionDataCallback}, your extension won't receive events until this hook is
|
|
18
18
|
* used for the first time. Because of that, we recommend only using this hook once, in the top
|
|
19
|
-
* level component of your
|
|
19
|
+
* level component of your extension. Similarly, using both `registerRecordActionDataCallback` and
|
|
20
20
|
* `useRecordActionData` is not supported.
|
|
21
21
|
*
|
|
22
|
-
* You can test your
|
|
23
|
-
* in the "Advanced" panel of the
|
|
22
|
+
* You can test your extension in development by sending "perform record action" events to your extension
|
|
23
|
+
* in the "Advanced" panel of the extension developer tools.
|
|
24
24
|
*
|
|
25
|
-
* After releasing your
|
|
26
|
-
*
|
|
25
|
+
* After releasing your extension, you can use it with a button field by choosing the "Open custom
|
|
26
|
+
* extension" action and selecting your extension.
|
|
27
27
|
*
|
|
28
28
|
* @example
|
|
29
29
|
* ```js
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FlowAnyFunction } from '../private_utils';
|
|
2
2
|
/**
|
|
3
|
-
* A hook for using the settings button that lives outside the
|
|
3
|
+
* A hook for using the settings button that lives outside the extension's viewport. It will show
|
|
4
4
|
* the settings button (hidden by default) and call the provided callback whenever the settings
|
|
5
5
|
* button is clicked. It will also re-render your component when the settings button is clicked.
|
|
6
6
|
*
|
|
@@ -13,16 +13,16 @@ declare type ViewportSizeConstraintProp = Partial<ViewportSizeConstraint>;
|
|
|
13
13
|
* @docsPath UI/components/ViewportConstraint
|
|
14
14
|
*/
|
|
15
15
|
interface ViewportConstraintProps {
|
|
16
|
-
/** The minimum viewport size of the
|
|
16
|
+
/** The minimum viewport size of the extension. */
|
|
17
17
|
minSize?: ViewportSizeConstraintProp;
|
|
18
|
-
/** The maximum viewport size of the
|
|
18
|
+
/** The maximum viewport size of the extension when it is in fullscreen mode. */
|
|
19
19
|
maxFullscreenSize?: ViewportSizeConstraintProp;
|
|
20
20
|
/** The contents of the viewport constraint. */
|
|
21
21
|
children?: React.ReactNode;
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
24
24
|
* When mounted, this wrapper component applies size constraints to the {@link Viewport}.
|
|
25
|
-
* Like {@link addMinSize}, this will fullscreen the
|
|
25
|
+
* Like {@link addMinSize}, this will fullscreen the extension if necessary and possible when
|
|
26
26
|
* `minSize` is updated.
|
|
27
27
|
*
|
|
28
28
|
* @example
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewport_constraint.d.ts","sourceRoot":"","sources":["../../../../src/ui/viewport_constraint.tsx"],"names":[],"mappings":"AAAA;;;GAGG,CAAC,MAAM;AACV,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AAKzD,2EAA2E;AAC3E,aAAK,0BAA0B,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAElE;;;;GAIG;AACH,UAAU,uBAAuB;IAC7B,
|
|
1
|
+
{"version":3,"file":"viewport_constraint.d.ts","sourceRoot":"","sources":["../../../../src/ui/viewport_constraint.tsx"],"names":[],"mappings":"AAAA;;;GAGG,CAAC,MAAM;AACV,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AAKzD,2EAA2E;AAC3E,aAAK,0BAA0B,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAElE;;;;GAIG;AACH,UAAU,uBAAuB;IAC7B,kDAAkD;IAClD,OAAO,CAAC,EAAE,0BAA0B,CAAC;IACrC,gFAAgF;IAChF,iBAAiB,CAAC,EAAE,0BAA0B,CAAC;IAC/C,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAG9B;AASD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,cAAM,kBAAmB,SAAQ,KAAK,CAAC,SAAS,CAAC,uBAAuB,CAAC;IACrE,cAAc;IACd,MAAM,CAAC,SAAS;;;;;;;;;;MAUd;IAOF,cAAc;IACd,iBAAiB;IAKjB,cAAc;IACd,qBAAqB,CAAC,SAAS,EAAE,uBAAuB;IAQxD,cAAc;IACd,kBAAkB,CAAC,SAAS,EAAE,uBAAuB;IASrD,cAAc;IACd,oBAAoB;IAyCpB,cAAc;IACd,MAAM;CAGT;;AAED,wBAOE"}
|
|
@@ -34,7 +34,7 @@ declare class Viewport extends Watchable<WatchableViewportKey> {
|
|
|
34
34
|
/**
|
|
35
35
|
* Request to enter fullscreen mode.
|
|
36
36
|
*
|
|
37
|
-
* May fail if another
|
|
37
|
+
* May fail if another extension is fullscreen or this extension doesn't have
|
|
38
38
|
* permission to fullscreen itself. Watch `isFullscreen` to know if the
|
|
39
39
|
* request succeeded.
|
|
40
40
|
*/
|
|
@@ -42,7 +42,7 @@ declare class Viewport extends Watchable<WatchableViewportKey> {
|
|
|
42
42
|
/** Request to exit fullscreen mode */
|
|
43
43
|
exitFullscreen(): void;
|
|
44
44
|
/**
|
|
45
|
-
* The maximum dimensions of the
|
|
45
|
+
* The maximum dimensions of the extension when it is in
|
|
46
46
|
* fullscreen mode. Returns the smallest set of dimensions added with
|
|
47
47
|
* {@link addMaxFullscreenSize}.
|
|
48
48
|
*
|
|
@@ -63,8 +63,8 @@ declare class Viewport extends Watchable<WatchableViewportKey> {
|
|
|
63
63
|
*/
|
|
64
64
|
addMaxFullscreenSize(sizeConstraint: Partial<ViewportSizeConstraint>): UnsetFn;
|
|
65
65
|
/**
|
|
66
|
-
* The minimum dimensions of the
|
|
67
|
-
* size, an overlay will be shown asking the user to resize the
|
|
66
|
+
* The minimum dimensions of the extension - if the viewport gets smaller than this
|
|
67
|
+
* size, an overlay will be shown asking the user to resize the extension to be bigger.
|
|
68
68
|
*
|
|
69
69
|
* The largest set of dimensions added with addMinSize. If `width` or `height` is null, it means
|
|
70
70
|
* there is no minSize constraint on that dimension.
|
|
@@ -74,8 +74,8 @@ declare class Viewport extends Watchable<WatchableViewportKey> {
|
|
|
74
74
|
* Add a minimum frame size constraint. Use `.minSize`` to get the aggregate
|
|
75
75
|
* of all added constraints.
|
|
76
76
|
*
|
|
77
|
-
* Upon adding a constraint, if the
|
|
78
|
-
* minimum size, the
|
|
77
|
+
* Upon adding a constraint, if the extension is focused and the frame is smaller than the
|
|
78
|
+
* minimum size, the extension will enter fullscreen mode.
|
|
79
79
|
*
|
|
80
80
|
* Returns a function that can be called to remove the size constraint that was added.
|
|
81
81
|
*
|
|
@@ -85,15 +85,15 @@ declare class Viewport extends Watchable<WatchableViewportKey> {
|
|
|
85
85
|
*/
|
|
86
86
|
addMinSize(sizeConstraint: Partial<ViewportSizeConstraint>): UnsetFn;
|
|
87
87
|
/**
|
|
88
|
-
* `true` if the
|
|
88
|
+
* `true` if the extension frame is smaller than `minSize`, `false` otherwise.
|
|
89
89
|
*/
|
|
90
90
|
get isSmallerThanMinSize(): boolean;
|
|
91
91
|
/**
|
|
92
|
-
* `true` if the
|
|
92
|
+
* `true` if the extension is fullscreen, `false` otherwise.
|
|
93
93
|
*/
|
|
94
94
|
get isFullscreen(): boolean;
|
|
95
95
|
/**
|
|
96
|
-
* The current size of the
|
|
96
|
+
* The current size of the extension frame.
|
|
97
97
|
*
|
|
98
98
|
* Can be watched.
|
|
99
99
|
*/
|
|
@@ -35,7 +35,7 @@ export interface FixtureData {
|
|
|
35
35
|
}
|
|
36
36
|
/** A representation of the state of a Table */
|
|
37
37
|
interface TableFixtureData {
|
|
38
|
-
/** A unique identifier for the simulated
|
|
38
|
+
/** A unique identifier for the simulated Table */
|
|
39
39
|
id: TableId;
|
|
40
40
|
/** The name to assign to the simulated Table */
|
|
41
41
|
name: string;
|
|
@@ -93,6 +93,11 @@ interface ViewFixtureData {
|
|
|
93
93
|
* is distinct from the complete fixture data for the simulated Records.
|
|
94
94
|
*/
|
|
95
95
|
records: Array<ViewRecordFixtureData>;
|
|
96
|
+
/**
|
|
97
|
+
* Optional boolean denoting if the view is locked. By default tests assume
|
|
98
|
+
* the view is unlocked if undefined.
|
|
99
|
+
*/
|
|
100
|
+
isLockedView?: boolean;
|
|
96
101
|
}
|
|
97
102
|
/**
|
|
98
103
|
* A reference to Record contained within a simulated view. This is disctinct
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixture_data.d.ts","sourceRoot":"","sources":["../../../../test/airtable_interface_mocks/fixture_data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAC,OAAO,EAAY,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAC,OAAO,EAAE,SAAS,EAAY,MAAM,uBAAuB,CAAC;AACpE,OAAO,
|
|
1
|
+
{"version":3,"file":"fixture_data.d.ts","sourceRoot":"","sources":["../../../../test/airtable_interface_mocks/fixture_data.ts"],"names":[],"mappings":"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"}
|