@airtable/blocks 1.18.0 → 1.18.1

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/CHANGELOG.md ADDED
@@ -0,0 +1,547 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). This project
6
+ started to follow semantic versioning as of version 1.0.0.
7
+
8
+ Not every commit needs to result in a change to this file (e.g. docs and chore commits). Every
9
+ commit that affects the code in a way that consumers might care about should include edits to the
10
+ 'Unreleased' section though. Breaking changes should be prefixed with `**BREAKING:**`.
11
+
12
+ ## [Unreleased](https://github.com/airtable/blocks/compare/@airtable/blocks@1.18.1...HEAD)
13
+
14
+ No changes.
15
+
16
+ ## [1.18.1](https://github.com/airtable/blocks/compare/@airtable/blocks@1.18.0...@airtable/blocks@1.18.1) - 2023-11-29
17
+
18
+ - Support React 17 as a peer dependency.
19
+
20
+ ## [1.18.0](https://github.com/airtable/blocks/compare/@airtable/blocks@1.17.0...@airtable/blocks@1.18.0) - 2023-09-15
21
+
22
+ - Add `FieldType.AI_TEXT`.
23
+
24
+ ## [1.17.0](https://github.com/airtable/blocks/compare/@airtable/blocks@1.16.0...@airtable/blocks@1.17.0) - 2023-04-14
25
+
26
+ No changes.
27
+
28
+ ## [1.16.0](https://github.com/airtable/blocks/compare/@airtable/blocks@1.15.0...@airtable/blocks@1.16.0) - 2023-03-08
29
+
30
+ - Update `FieldType.DATE_TIME` documentation to add additional time zones and clarify the write
31
+ behavior.
32
+ - Visually refresh all icons
33
+
34
+ ## [1.15.0](https://github.com/airtable/blocks/compare/@airtable/blocks@1.14.0...@airtable/blocks@1.15.0) - 2022-09-23
35
+
36
+ - Add `applyRowTemplate` icon
37
+ - Update `FieldType.DATE_TIME` documentation to pre-announce write behavior for field level time
38
+ zones
39
+ - Modify `createRecordsAsync`, `updateRecordsAsync`, `convertStringToCellValue` so that date
40
+ string inputs to date time fields are interpreted correctly for utc or client time zone, fixing
41
+ previously incorrect behaviors. In this new version, ambiguous strings like
42
+ "2020-09-05T07:00:00" and "2020-09-08" will be interpreted according to the `timeZone` of the
43
+ field, and nonambiguous string inputs with zone offset like "2020-09-05T07:00:00.000Z" and
44
+ "2020-09-08T00:00:00-07:00" will be interpreted correctly as the underlying timestamp.
45
+
46
+ ## [1.14.0](https://github.com/airtable/blocks/compare/@airtable/blocks@1.13.0...@airtable/blocks@1.14.0) - 2022-07-26
47
+
48
+ - Add `personalCloseup` icon
49
+ - Add `xCheckbox` icon
50
+
51
+ ## [1.13.0](https://github.com/airtable/blocks/compare/@airtable/blocks@1.12.0...@airtable/blocks@1.13.0) - 2022-06-28
52
+
53
+ - Add ability to read (and watch) if a view is locked
54
+ - Update `FieldType.MULTIPLE_COLLABORATOR` documentation to include user group collaborator
55
+ information
56
+
57
+ ## [1.12.0](https://github.com/airtable/blocks/compare/@airtable/blocks@1.11.1...@airtable/blocks@1.12.0) - 2022-06-22
58
+
59
+ - Update fallback value in `Base.getMaxRecordsPerTable`
60
+ - Add `overlay` icon
61
+ - Update `cursor.setActiveTable` and `cursor.setActiveView` documentation to describe fullscreen
62
+ exit behavior correctly
63
+ - Fix an issue where rapidly subscribing and unsubscribing to a single field could cause a
64
+ queryResult to be to incorrectly marked as loaded.
65
+ - Update API reference documentation to reflect 'extensions' in place of 'apps'
66
+ - Update examples in documentation to reflect 'extensions' in place of 'apps'
67
+
68
+ ## [1.11.1](https://github.com/airtable/blocks/compare/@airtable/blocks@1.11.0...@airtable/blocks@1.11.1) - 2022-04-13
69
+
70
+ - Update internal utilities for error reporting
71
+
72
+ ## [1.11.0](https://github.com/airtable/blocks/compare/@airtable/blocks@1.10.2...@airtable/blocks@1.11.0) - 2022-03-10
73
+
74
+ - Add workspace id to base object.
75
+ - Add `Field.updateNameAsync`
76
+ - Fixes a crash when a linked record is deleted
77
+ - Fixes a crash when a record containing a linked record is deleted and restored
78
+
79
+ ## [1.10.2](https://github.com/airtable/blocks/compare/@airtable/blocks@1.10.1...@airtable/blocks@1.10.2) - 2022-01-25
80
+
81
+ - Rare invariant failure addressed
82
+
83
+ ## [1.10.1](https://github.com/airtable/blocks/compare/@airtable/blocks@1.10.0...@airtable/blocks@1.10.1) - 2021-12-22
84
+
85
+ - Update examples for table, view and field URLs.
86
+ - Use `keyof any` instead of `PropertyKey` in type definition to avoid incompatibility with the
87
+ "[keyofStringsOnly](https://www.typescriptlang.org/tsconfig#keyofStringsOnly)" tsconfig option
88
+
89
+ ## [1.10.0](https://github.com/airtable/blocks/compare/@airtable/blocks@1.9.0...@airtable/blocks@1.10.0) - 2021-11-03
90
+
91
+ - Fix typo in cursor.ts documentation - thanks @m2creates!
92
+ - Add new `calendarDay` icon (and micro variant)
93
+ - Update documentation to include attachment url guidance
94
+ - Update field metadata writes documentation to mention that `null` will be coerced to `''`
95
+ - Fix a bug when unloading data from a `linkedRecordQueryResult` after a table deletion
96
+ - Update `children` prop of `Link` component to be optional
97
+
98
+ ## [1.9.0](https://github.com/airtable/blocks/compare/@airtable/blocks@1.8.0...@airtable/blocks@1.9.0) - 2021-09-15
99
+
100
+ - Update documentation for `FieldType.CHECKBOX` cell read & write types to be more accurate.
101
+ - Fetching field types & configs is now cached, making it more performant.
102
+ - Field descriptions can now be edited and specified when creating a new field:
103
+ - Added `field.updateDescriptionAsync`.
104
+ - Added optional `description` argument to `table.createFieldAsync`.
105
+ - Added optional `description` property to `field` objects accepted by
106
+ `base.createTableAsync`.
107
+
108
+ ## [1.8.0](https://github.com/airtable/blocks/compare/@airtable/blocks@1.7.2...@airtable/blocks@1.8.0) - 2021-07-12
109
+
110
+ - Add `opts` argument to `Field.updateOptionsAsync` with `enableSelectFieldChoiceDeletion` opt.
111
+ - Add `prefersSingleRecordLink` to `field.options` for `MULTIPLE_RECORD_LINKS` type fields.
112
+ - Add new timeline icon (and micro variant).
113
+
114
+ ## [1.7.2](https://github.com/airtable/blocks/compare/@airtable/blocks@1.7.1...@airtable/blocks@1.7.2) - 2021-05-26
115
+
116
+ - Add `FieldType.EXTERNAL_SYNC_SOURCE`.
117
+
118
+ ## [1.7.1](https://github.com/airtable/blocks/compare/@airtable/blocks@1.7.0...@airtable/blocks@1.7.1) - 2021-05-21
119
+
120
+ No changes.
121
+
122
+ ## [1.7.0](https://github.com/airtable/blocks/compare/@airtable/blocks@1.6.0...@airtable/blocks@1.7.0) - 2021-05-13
123
+
124
+ - Add `onBlur` and `onFocus` support to `Input` and `InputSynced` UI components.
125
+
126
+ ## [1.6.0](https://github.com/airtable/blocks/compare/@airtable/blocks@1.5.1...@airtable/blocks@1.6.0) - 2021-05-12
127
+
128
+ - Add `color` property to `base` to access the background color of the base, as well as the
129
+ `color` watch key
130
+ - Update documentation text for `GlobalConfig` with increased 150kb limit.
131
+ - Add `getMaxRecordsPerTable` to `base`
132
+
133
+ ## [1.5.1](https://github.com/airtable/blocks/compare/@airtable/blocks@1.5.0...@airtable/blocks@1.5.1) - 2021-03-04
134
+
135
+ No changes.
136
+
137
+ ## [1.5.0](https://github.com/airtable/blocks/compare/@airtable/blocks@1.4.1...@airtable/blocks@1.5.0) - 2021-02-25
138
+
139
+ - Add type exports for `Cursor` & `Session` to `@airtable/blocks/models`.
140
+ - Add type exports for `GlobalConfig`, `Watchable`, & `Viewport` to `@airtable/blocks/types`.
141
+ - Add `boltList`, `boltListMicro`, `contacts`, `contactsMicro`, `megaphone`, `megaphoneMicro`,
142
+ `shareWithBolt` and `shareWithBoltMicro` icons.
143
+ - Increase spacing between `label` and `description` nodes in `FormField`.
144
+ - Support creating (but not updating) `MULTIPLE_RECORD_LINKS` fields using
145
+ `table.createFieldAsync`.
146
+ - Add `isCancelButtonDisabled` and `isConfirmButtonDisabled` props to `ConfirmationDialog`.
147
+ - Add `config` property to `Field`, which is a new `FieldConfig` discriminated union type that
148
+ provides easier access to field options.
149
+ - Improve type definitions for `getHexForColor` and `getRgbForColor`.
150
+
151
+ ## [1.4.1](https://github.com/airtable/blocks/compare/@airtable/blocks@1.4.0...@airtable/blocks@1.4.1) - 2021-01-21
152
+
153
+ No changes.
154
+
155
+ ## [1.4.0](https://github.com/airtable/blocks/compare/@airtable/blocks@1.3.0...@airtable/blocks@1.4.0) - 2021-01-19
156
+
157
+ - **DEPRECATED:** importing the Base's Cursor instance from the main entrypoint, e.g.
158
+ `import {cursor} from '@airtable/blocks';`. Use the `useCursor` React Hook instead.
159
+ - **DEPRECATED:** importing the Base's Session instance from the main entrypoint, e.g.
160
+ `import {session} from '@airtable/blocks';`. Use the `useSession` React Hook instead.
161
+
162
+ ## [1.3.0](https://github.com/airtable/blocks/compare/@airtable/blocks@1.2.5...@airtable/blocks@1.3.0) - 2021-01-07
163
+
164
+ - Fix crash when deleting views.
165
+ - Add BaseProvider to allow rendering Components outside of the App's React tree
166
+
167
+ ## [1.2.5](https://github.com/airtable/blocks/compare/@airtable/blocks@1.2.4...@airtable/blocks@1.2.5) - 2020-12-10
168
+
169
+ No changes.
170
+
171
+ ## [1.2.4](https://github.com/airtable/blocks/compare/@airtable/blocks@1.2.3...@airtable/blocks@1.2.4) - 2020-12-10
172
+
173
+ No changes.
174
+
175
+ ## [1.2.3](https://github.com/airtable/blocks/compare/@airtable/blocks@1.2.2...@airtable/blocks@1.2.3) - 2020-12-09
176
+
177
+ - Stopped exporting an internal class that was causing typescript checking to fail on version
178
+ 1.2.2
179
+
180
+ ## [1.2.2](https://github.com/airtable/blocks/compare/@airtable/blocks@1.2.1...@airtable/blocks@1.2.2) - 2020-12-08
181
+
182
+ - Fixed a bug in useRecordActionData that caused it to crash on version 1.2.1
183
+
184
+ ## [1.2.1](https://github.com/airtable/blocks/compare/@airtable/blocks@1.2.0...@airtable/blocks@1.2.1) - 2020-11-23
185
+
186
+ - Fixed a bug that prevented TableOrViewQueryResult from notifying watchers about the
187
+ creation/deletion of sorted fields.
188
+ - Fixed a bug where deleting and undeleting a table that was already loaded caused the App to
189
+ crash.
190
+ - **DEPRECATED:** importing the UI namespace from the main entrypoint, e.g.
191
+ `import {UI} from '@airtable/blocks';`. Use `import * as UI from '@airtable/blocks/ui/ui';`
192
+ instead.
193
+ - **DEPRECATED:** importing the models namespace from the main entrypoint, e.g.
194
+ `import {models} from '@airtable/blocks';`. Use
195
+ `import * as models from '@airtable/blocks/models/models';` instead.
196
+
197
+ ## [1.2.0](https://github.com/airtable/blocks/compare/@airtable/blocks@1.1.0...@airtable/blocks@1.2.0) - 2020-10-23
198
+
199
+ - Added `automations` and fixed the SVG path for `personalAuto` in `Icon`.
200
+ - Fixed a bug that caused an App to crash when creating a new table before the App has loaded.
201
+ - Fixed a bug in watching/unwatching keys of LinkedRecordQueryResult models. Watching/unwatching
202
+ `isDataLoaded` no longer affects the model's "loaded" state.
203
+ - Fixed a bug introduced in v1.0.0 in `RecordCard` when rendering a record that has a lookup field
204
+ of an attachment field.
205
+
206
+ ## [1.1.0](https://github.com/airtable/blocks/compare/@airtable/blocks@1.0.1...@airtable/blocks@1.1.0) - 2020-09-29
207
+
208
+ - **DEPRECATED:** "blocks" as an icon name. Use `<Icon name="apps" .../>` instead.
209
+ - Fixed bugs introduced in v1.0.0 that broke using lookup cell values with
210
+ `Record.getCellValueAsString`, `aggregator.aggregate` and `aggregator.aggregateToString`
211
+
212
+ ## [1.0.1](https://github.com/airtable/blocks/compare/@airtable/blocks@1.0.0...@airtable/blocks@1.0.1) - 2020-09-24
213
+
214
+ - Fixed bug where `Select`, `SelectButtons`, and `Synced` variants behaved incorrectly when there
215
+ were multiple items with the same value.
216
+ - Fix a bug using lookup cell values with `<CellRenderer />` introduced in v1.0.0
217
+
218
+ ## [1.0.0](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.55...@airtable/blocks@1.0.0) - 2020-09-14
219
+
220
+ - **BREAKING:** The cell value format for lookup fields (`FieldType.MULTIPLE_LOOKUP_VALUES`) is
221
+ now `Array<{linkedRecordId: RecordId, value: CellValue}>`
222
+ - **BREAKING:** Remove `Record.primaryCellValue` and `Record.primaryCellValueAsString`, as well as
223
+ the `primaryCellValue` watchable key on Record. These APIs were deprecated in v0.0.45
224
+ - **BREAKING:** Remove legacy record creation format. All calls to `Table.createRecordAsync` /
225
+ `Table.createRecordsAsync` must define record field mappings under a `fields` key. These APIs
226
+ were deprecated in v0.0.41.
227
+
228
+ ## [0.0.55](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.54...@airtable/blocks@0.0.55) - 2020-09-02
229
+
230
+ No changes.
231
+
232
+ ## [0.0.54](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.53...@airtable/blocks@0.0.54) - 2020-08-12
233
+
234
+ - Remove `unstable_` prefix from `Field.updateOptionsAsync`, `Table.createFieldAsync`, and
235
+ `Base.createTableAsync`. See
236
+ [Changing base schema](https://airtable.com/developers/blocks/guides/changing-base-schema) for
237
+ full details.
238
+
239
+ ## [0.0.53](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.52...@airtable/blocks@0.0.53) - 2020-06-24
240
+
241
+ - Fix a typo in the docs for `globalConfig.setAsync`.
242
+ - Added an explicit `box-sizing: border-box;` to the inner div of ChoiceToken, to prevent
243
+ accidentally inheriting different box-sizing values.
244
+
245
+ ## [0.0.52](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.51...@airtable/blocks@0.0.52) - 2020-06-08
246
+
247
+ - Add `FieldType.CREATED_BY`, `FieldType.LAST_MODIFIED_BY`, and `FieldType.BUTTON`.
248
+ - Add record action APIs! Use one in your block to handle "open block" requests from a button
249
+ field.
250
+ - `useRecordActionData`
251
+ - `registerRecordActionDataCallback`
252
+
253
+ ## [0.0.51](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.50...@airtable/blocks@0.0.51) - 2020-05-28
254
+
255
+ - Fix a bug introduced in 0.0.48 that caused typechecking errors for blocks using TypeScript.
256
+
257
+ ## [0.0.50](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.49...@airtable/blocks@0.0.50) - 2020-05-28
258
+
259
+ No changes.
260
+
261
+ ## [0.0.49](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.48...@airtable/blocks@0.0.49) - 2020-05-21
262
+
263
+ - Adds optional `renderInvalidCellValue` prop to `RecordCard` and `CellRenderer` to render a
264
+ component if validation fails.
265
+
266
+ ## [0.0.48](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.47...@airtable/blocks@0.0.48) - 2020-04-30
267
+
268
+ No changes.
269
+
270
+ ## [0.0.47](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.46...@airtable/blocks@0.0.47) - 2020-04-23
271
+
272
+ - UI components that don't depend on base data can now be used outside of the blocks environment.
273
+
274
+ ## [0.0.46](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.45...@airtable/blocks@0.0.46) - 2020-04-16
275
+
276
+ - `FieldType.RICH_TEXT` has been added, which encompasses long text fields with the new rich text
277
+ formatting option enabled. (See Airtable's announcement regarding
278
+ [rich text formatting in long text fields](https://blog.airtable.com/4-workflows-for-rich-text-formatting/))
279
+ - `Switch` and `SwitchSynced` now truncate the label.
280
+ - Fix a bug where `RecordCard` performs the default expand record behavior, even if an `onClick`
281
+ override is supplied. It now properly handles overrides as described in the documentation. This
282
+ fix also applies to `onRecordClick` in `RecordCardList`.
283
+ - Beta: New field and table writes API! You can now create tables and fields and update field
284
+ options.
285
+ - `base.unstable_createTableAsync`
286
+ - `table.unstable_createFieldAsync`
287
+ - `field.unstable_updateOptionsAsync`
288
+ - These APIs are unstable and may have breaking changes in the future.
289
+ - Not all field types are supported at this time. Refer to `FieldType` documentation for
290
+ details.
291
+
292
+ ## [0.0.45](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.44...@airtable/blocks@0.0.45) - 2020-03-31
293
+
294
+ - **DEPRECATED:** `record.primaryCellValue` and `record.primaryCellValueAsString`.
295
+ - The `primaryCellValue` watch key on `record` is also deprecated - use the `name` watch key
296
+ instead.
297
+ - Add the following APIs to match the new scripting block:
298
+ - **Convenience model getters.** These are useful when you're working on a block for a
299
+ specific base, but best-practice for more generic blocks is to prefer the existing
300
+ `ById`/`ByName` methods.
301
+ - `base.getCollaboratorIfExists`
302
+ - `base.getCollaborator`
303
+ - `base.getTableIfExists`
304
+ - `base.getTable`
305
+ - `table.getFieldIdExists`
306
+ - `table.getField`
307
+ - `table.getViewIfExists`
308
+ - `table.getView`
309
+ - **Async `select` queries.** For creating UIs from a query, the best practice is still to use
310
+ `useRecords` etc. Directly querying data is useful for one-off data processing though.
311
+ - `table.selectRecordsAsync`
312
+ - `view.selectRecordsAsync`
313
+ - `view.selectMetadataAsync`
314
+ - `record.selectLinkedRecordsFromCellAsync`
315
+ - **`record.name`** replaces `record.primaryCellValueAsString`.
316
+ - Fix some incorrectly redacted internal typescript types
317
+
318
+ ## [0.0.44](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.43...@airtable/blocks@0.0.44) - 2020-03-27
319
+
320
+ - `TextButton` now supports including an icon without a label.
321
+ - Properly export the `useSynced` hook.
322
+ - Errors now output model names instead of IDs when available.
323
+ - Fix a positioning bug with `SelectButtons` where unwanted empty space could appear when the
324
+ component is used in a scrollable list.
325
+
326
+ ## [0.0.43](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.42...@airtable/blocks@0.0.43) - 2020-02-28
327
+
328
+ - Export the `useSynced` hook for syncing a component to `GlobalConfig`.
329
+
330
+ ## [0.0.42](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.41...@airtable/blocks@0.0.42) - 2020-02-10
331
+
332
+ - **BREAKING**: Field type and view type enums are now exported from '@airtable/blocks/models' as
333
+ `FieldType` and `ViewType` (previously `fieldTypes` and `viewTypes`). Relatedly, these types are
334
+ no longer exported from '@airtable/blocks/types', as they can now be referenced from the model
335
+ exports.
336
+ - Updates to record convenience hooks
337
+ - `useRecords` now accepts a `Table` or `View` and optional `RecordQueryResultOpts`. Passing a
338
+ `RecordQueryResult` is still supported.
339
+ - `useRecordIds` now accepts a `Table` or `View` and optional `RecordIdQueryResultOpts`.
340
+ Passing a `RecordQueryResult` is still supported.
341
+ - `useRecordById` now accepts a `Table` or `View` and optional `SingleRecordQueryResultOpts`.
342
+ Passing a `RecordQueryResult` is still supported.
343
+ - Added `cursor.selectedFieldIds` which returns the field IDs that are selected in grid view
344
+
345
+ ## [0.0.41](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.40...@airtable/blocks@0.0.41) - 2020-01-27
346
+
347
+ - **BREAKING**: `useWatchable` will now throw an error if the second argument `keys` is
348
+ `undefined`. Previously, this would no-op.
349
+ - Added support for `setActiveTable` and `setActiveView` to the `cursor` API. These can be used to
350
+ manipulate the current table and/or view on the main Airtable page from inside a block.
351
+ - Table.createRecordsAsync now accepts an array of objects containing a `fields` object of field
352
+ \-> cell value mappings, rather an accepting field -> cell value mappings directly. This brings
353
+ its API in line with `updateRecordsAsync` and other Airtable APIs. The old behavior is still
354
+ supported but has been deprecated and will be removed in a future version.
355
+ - Fixed issue where blocks would crash in MS Edge due to a browser bug with `super` method calls.
356
+ - Changed default Tooltip `placementOffsetX` and `placementOffsetY` to `8` pixels. `undefined`.
357
+ Previously, this would no-op.
358
+ - Added default blue `barColor` to `ProgressBar`.
359
+
360
+ ## [0.0.40](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.39...@airtable/blocks@0.0.40) - 2020-01-09
361
+
362
+ - Added permission checks that don't require specifying a table to `session`:
363
+ - `session.checkPermissionsForUpdateRecords()`
364
+ - `session.hasPermissionToUpdateRecords()`
365
+ - `session.checkPermissionsForCreateRecords()`
366
+ - `session.hasPermissionToCreateRecords()`
367
+ - `session.checkPermissionsForDeleteRecords()`
368
+ - `session.hasPermissionToDeleteRecords()`
369
+
370
+ ## [0.0.39](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.38...@airtable/blocks@0.0.39) - 2019-12-12
371
+
372
+ - Changed the font sizes for the `size` variants of `Select` and `Button`.
373
+ - `useWatchable` now supports single string watch keys being passed in (as well as the existing
374
+ array support)
375
+ - Fixed bug where `shouldAllowPickingNone` didn't work in `FieldPicker` and `FieldPickerSynced`.
376
+ - Updated `fullscreen` and `fullscreenMicro` icons.
377
+ - Updated UI.Button component to better support icon buttons containing no text. An error is now
378
+ logged to the console if you attempt to use a UI.Button component with no text/children and no
379
+ aria-label.
380
+
381
+ ## [0.0.36](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.35...@airtable/blocks@0.0.36) - 2019-11-18
382
+
383
+ - Added `table.description` and `field.description`, and `description` watch key on `table` and
384
+ `field`.
385
+
386
+ ## [0.0.35](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.34...@airtable/blocks@0.0.35) - 2019-11-11
387
+
388
+ - UI library
389
+ - New API for styling UI components. Each component now exposes a certain set of CSS
390
+ properties as React props. Styling via the `className` and `style` props is still supported
391
+ but is no longer recommended. For more information, see the documentation for
392
+ [style props](https://github.com/Airtable/blocks/blob/master/packages/sdk/docs/api/modules/_airtable_blocks_ui_system__all_style_props.md#allstylesprops).
393
+ - New components:
394
+ - `Text` and `Heading` for typography.
395
+ - `Label` and `FormField` for labeling controls or form fields.
396
+ - `TextButton` for buttons that can be rendered inline with text.
397
+ - **BREAKING**: `Toggle` has been renamed to `Switch`.
398
+ - **BREAKING**: `Button` and `Switch` no longer accept the `theme` prop. Instead, you can
399
+ specify the colors for these components with the `variant` prop.
400
+ - `Link` also supports the `variant` prop, which determines the text color of the link.
401
+ - `Button`, `Input`, `Link`, `SelectButtons`, `Select`, `Switch`, and the model picker
402
+ components can now be resized via the `size` prop (one of `small`, `default`, or `large`).
403
+ - `Button`, `Icon`, `Input`, `Link`, `SelectButtons`, `Select`, `Switch`, and the model picker
404
+ components are now functional components that use the
405
+ [`React.forwardRef`](https://reactjs.org/docs/forwarding-refs.html) API.
406
+ - `SelectButtons` is now keyboard/screenreader accessible.
407
+ - Typescript
408
+ - **BREAKING** The SDK has been migrated from Flow to TypeScript. We no longer provide flow
409
+ type definitions with the release of the SDK. TypeScript definitions are provided instead.
410
+
411
+ ## [0.0.34](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.33...@airtable/blocks@0.0.34) - 2019-10-04
412
+
413
+ - Fix a regression where `UI.ConfirmationDialog` would crash the block.
414
+ - Allow passing an array of models to `useWatchable` to watch several models at once.
415
+ - **BREAKING**: `fieldTypes.LOOKUP` is now `fieldTypes.MULTIPLE_LOOKUP_VALUES`. The underlying
416
+ string has also changed from `lookup` to `multipleLookupValues`.
417
+ - Fix a regression where cover images in `UI.RecordCard` would render as `[Object object]`.
418
+
419
+ ## [0.0.33](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.32...@airtable/blocks@0.0.33) - 2019-09-26
420
+
421
+ - New settings button helpers: `useSettingsButton`, `settingsButton.show()` and
422
+ `settingsButton.hide()`.
423
+ - **BREAKING**: `settingsButton.isVisible` is no longer settable. Use `settingsButton.show()` and
424
+ `settingsButton.hide()` instead.
425
+
426
+ ## [0.0.32](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.31...@airtable/blocks@0.0.32) - 2019-09-20
427
+
428
+ - **BREAKING:** Removed `localStorage` and `sessionStorage` wrappers.
429
+ - Fix a bug where the `value` prop wouldn't get correctly passed through to `Input`
430
+
431
+ ## [0.0.31](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.30...@airtable/blocks@0.0.31) - 2019-09-18
432
+
433
+ - New record writes API! You can now create, update, and delete records directly from your block.
434
+ Check out the new
435
+ [writes guide](https://github.com/Airtable/blocks/blob/master/packages/sdk/docs/guide_writes.md)
436
+ for more information.
437
+ - **BREAKING**: several `globalConfig` APIs have changed to be consistent with the new record
438
+ writes & permissions APIs:
439
+ - `globalConfig.set()` has been removed - use the new `globalConfig.setAsync()` method
440
+ instead.
441
+ - `globalConfig.canSet()` has been renamed to `globalConfig.hasPermissionToSet()`.
442
+ - `globalConfig.setPaths()` has been removed - use the new `globalConfig.setPathsAsync()`
443
+ method instead.
444
+ - `globalConfig.canSetPaths()` has been renamed to `globalConfig.hasPermissionToSetPaths()`.
445
+ - **BREAKING:** Remove `models.generateGuid()`. Use an ID generator like
446
+ [`uuid`](https://www.npmjs.com/package/uuid) instead.
447
+ - **BREAKING:** Deprecated `UI.AutocompletePopover`.
448
+ - Upgrade flow to 0.106.3
449
+ - Fix a flow error with `react-window`.
450
+ - `view.selectRecords()` now colors records according to that view by default.
451
+ - Allow passing an array of models to `useLoadable` to load several things at once.
452
+
453
+ ## [0.0.30](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.29...@airtable/blocks@0.0.30) - 2019-08-26
454
+
455
+ No changes.
456
+
457
+ ## [0.0.29](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.28...@airtable/blocks@0.0.29) - 2019-08-22
458
+
459
+ No changes.
460
+
461
+ ## [0.0.28](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.27...@airtable/blocks@0.0.28) - 2019-08-21
462
+
463
+ No changes.
464
+
465
+ ## [0.0.27](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.26...@airtable/blocks@0.0.27) - 2019-08-21
466
+
467
+ No changes.
468
+
469
+ ## [0.0.26](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.25...@airtable/blocks@0.0.26) - 2019-08-19
470
+
471
+ - UI.RecordCardList: fixed a bug where records weren't expanded by default when clicked.
472
+
473
+ ## [0.0.25](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.24...@airtable/blocks@0.0.25) - 2019-08-19
474
+
475
+ - Add Print Records block docs example block
476
+
477
+ ## [0.0.24](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.23...@airtable/blocks@0.0.24) - 2019-08-14
478
+
479
+ No changes.
480
+
481
+ ## [0.0.23](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.22...@airtable/blocks@0.0.23) - 2019-08-09
482
+
483
+ ### Fixed
484
+
485
+ - The `disabled` attribute on `<Select>` components (including model pickers and synced model
486
+ pickers) now correctly disables the element
487
+
488
+ ## [0.0.22](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.21...@airtable/blocks@0.0.22) - 2019-07-18
489
+
490
+ No changes.
491
+
492
+ ## [0.0.21](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.20...@airtable/blocks@0.0.21) - 2019-07-18
493
+
494
+ No changes.
495
+
496
+ ## [0.0.20](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.19...@airtable/blocks@0.0.20) - 2019-07-15
497
+
498
+ ### Fixed
499
+
500
+ - A bug with UI.Toggle that made it difficult to style
501
+
502
+ ## [0.0.19](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.18...@airtable/blocks@0.0.19) - 2019-07-11
503
+
504
+ No changes.
505
+
506
+ ## [0.0.18](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.17...@airtable/blocks@0.0.18) - 2019-07-10
507
+
508
+ - Update documentation links & eslint-plugin-blocks
509
+
510
+ ## [0.0.17](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.16...@airtable/blocks@0.0.17) - 2019-07-09
511
+
512
+ No changes.
513
+
514
+ ## [0.0.16](https://github.com/airtable/blocks/compare/@airtable/blocks@0.0.15...@airtable/blocks@0.0.16) - 2019-07-05
515
+
516
+ - **BREAKING:** Removed view.visibleFields and view.allFields - use view.selectMetadata instead
517
+ - Added view.selectMetadata() for querying a view's field order and list of visible fields
518
+
519
+ ## [0.0.15](https://github.com/airtable/blocks/compare/v0.0.14...@airtable/blocks@0.0.15) - 2019-07-03
520
+
521
+ No changes.
522
+
523
+ ## [0.0.14](https://github.com/airtable/blocks/compare/v0.0.13...v0.0.14) - 2019-07-02
524
+
525
+ - **BREAKING:** Removed `currentUser` from `Base` since it is now accessible through `Session`.
526
+ - **BREAKING:** Renamed QueryResult to RecordQueryResult
527
+ - Added base.watch('schema') to get notified when base schema changes.
528
+ - Added Session to expose data about the current user's session.
529
+ - Added globalConfig.watch('\*') to get notified of any global config key change.
530
+ - Added useGlobalConfig() to subscribe to global config changes from a react component.
531
+
532
+ ## [0.0.13](https://github.com/airtable/blocks/releases/tag/v0.0.13) - 2019-06-21
533
+
534
+ ### Removed
535
+
536
+ - **BREAKING:** Removed `createDataContainer`. Use `useWatchable` or other hooks instead.
537
+ - **BREAKING:** FieldIcon no longer accepts arbitrary props - only those in it's propTypes can be
538
+ used.
539
+
540
+ ### Added
541
+
542
+ - This changelog!
543
+
544
+ ### Fixed
545
+
546
+ - FieldPicker placeholder typo
547
+ - SVGElement flow error
package/dist/cjs/sdk.js CHANGED
@@ -337,4 +337,4 @@ function () {
337
337
  }();
338
338
 
339
339
  exports.default = BlockSdk;
340
- (0, _defineProperty2.default)(BlockSdk, "VERSION", "1.18.0");
340
+ (0, _defineProperty2.default)(BlockSdk, "VERSION", "1.18.1");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@airtable/blocks",
3
- "version": "1.18.0",
3
+ "version": "1.18.1",
4
4
  "description": "Airtable Blocks SDK",
5
5
  "repository": {
6
6
  "type": "git",
@@ -111,12 +111,12 @@
111
111
  "hoist-non-react-statics": "^3.3.1",
112
112
  "lodash.omit": "^4.5.0",
113
113
  "prop-types": "15.7.2",
114
- "react-window": "1.8.5",
114
+ "react-window": "1.8.6",
115
115
  "use-subscription": "^1.3.0"
116
116
  },
117
117
  "peerDependencies": {
118
- "react": "^16.8.0",
119
- "react-dom": "^16.8.0"
118
+ "react": "^16.8.0 || ^17.0.0",
119
+ "react-dom": "^16.8.0 || ^17.0.0"
120
120
  },
121
121
  "jest": {
122
122
  "setupFiles": [