@airtable/blocks 1.10.2-experimental-640bd10-20220211 → 1.11.1-experimental-68738f2-20220526

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