@airtable/blocks 1.3.0 → 1.5.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.
Files changed (125) hide show
  1. package/CHANGELOG.md +30 -1
  2. package/dist/cjs/index.js +30 -11
  3. package/dist/cjs/injected/airtable_interface.js +2 -1
  4. package/dist/cjs/models/cursor.js +4 -6
  5. package/dist/cjs/models/field.js +24 -0
  6. package/dist/cjs/models/grouped_record_query_result.js +475 -0
  7. package/dist/cjs/models/models.js +30 -0
  8. package/dist/cjs/models/mutations.js +41 -9
  9. package/dist/cjs/models/record_query_result.js +37 -12
  10. package/dist/cjs/models/session.js +65 -23
  11. package/dist/cjs/models/table_or_view_query_result.js +306 -97
  12. package/dist/cjs/models/view.js +71 -1
  13. package/dist/cjs/models/view_data_store.js +62 -20
  14. package/dist/cjs/models/view_metadata_query_result.js +41 -8
  15. package/dist/cjs/sdk.js +2 -2
  16. package/dist/cjs/testing/mock_airtable_interface.js +1 -110
  17. package/dist/cjs/types/airtable_interface.js +19 -1
  18. package/dist/cjs/types/mutations.js +2 -1
  19. package/dist/cjs/types/view.js +1 -0
  20. package/dist/cjs/ui/confirmation_dialog.js +12 -4
  21. package/dist/cjs/ui/expand_record.js +5 -5
  22. package/dist/cjs/ui/expand_record_list.js +2 -5
  23. package/dist/cjs/ui/expand_record_picker_async.js +9 -16
  24. package/dist/cjs/ui/form_field.js +2 -2
  25. package/dist/cjs/ui/icon_config.js +11 -4
  26. package/dist/cjs/ui/initialize_block.js +62 -10
  27. package/dist/cjs/ui/ui.js +9 -2
  28. package/dist/cjs/ui/use_loadable.js +2 -2
  29. package/dist/cjs/ui/use_records.js +54 -40
  30. package/dist/cjs/ui/use_view_metadata.js +1 -1
  31. package/dist/cjs/unstable_testing_utils.js +163 -0
  32. package/dist/types/src/color_utils.d.ts +4 -4
  33. package/dist/types/src/color_utils.d.ts.map +1 -1
  34. package/dist/types/src/index.d.ts +2 -2
  35. package/dist/types/src/index.d.ts.map +1 -1
  36. package/dist/types/src/injected/airtable_interface.d.ts.map +1 -1
  37. package/dist/types/src/models/cursor.d.ts +4 -6
  38. package/dist/types/src/models/cursor.d.ts.map +1 -1
  39. package/dist/types/src/models/field.d.ts +17 -1
  40. package/dist/types/src/models/field.d.ts.map +1 -1
  41. package/dist/types/src/models/grouped_record_query_result.d.ts +61 -0
  42. package/dist/types/src/models/grouped_record_query_result.d.ts.map +1 -0
  43. package/dist/types/src/models/models.d.ts +4 -1
  44. package/dist/types/src/models/models.d.ts.map +1 -1
  45. package/dist/types/src/models/mutations.d.ts.map +1 -1
  46. package/dist/types/src/models/record.d.ts +0 -2
  47. package/dist/types/src/models/record.d.ts.map +1 -1
  48. package/dist/types/src/models/record_query_result.d.ts +22 -0
  49. package/dist/types/src/models/record_query_result.d.ts.map +1 -1
  50. package/dist/types/src/models/session.d.ts +65 -23
  51. package/dist/types/src/models/session.d.ts.map +1 -1
  52. package/dist/types/src/models/table_or_view_query_result.d.ts +21 -0
  53. package/dist/types/src/models/table_or_view_query_result.d.ts.map +1 -1
  54. package/dist/types/src/models/view.d.ts +26 -1
  55. package/dist/types/src/models/view.d.ts.map +1 -1
  56. package/dist/types/src/models/view_data_store.d.ts +2 -0
  57. package/dist/types/src/models/view_data_store.d.ts.map +1 -1
  58. package/dist/types/src/models/view_metadata_query_result.d.ts +21 -0
  59. package/dist/types/src/models/view_metadata_query_result.d.ts.map +1 -1
  60. package/dist/types/src/sdk.d.ts +3 -0
  61. package/dist/types/src/sdk.d.ts.map +1 -1
  62. package/dist/types/src/testing/mock_airtable_interface.d.ts +79 -0
  63. package/dist/types/src/testing/mock_airtable_interface.d.ts.map +1 -1
  64. package/dist/types/src/types/airtable_interface.d.ts +28 -1
  65. package/dist/types/src/types/airtable_interface.d.ts.map +1 -1
  66. package/dist/types/src/types/field.d.ts +241 -1
  67. package/dist/types/src/types/field.d.ts.map +1 -1
  68. package/dist/types/src/types/mutations.d.ts +19 -3
  69. package/dist/types/src/types/mutations.d.ts.map +1 -1
  70. package/dist/types/src/types/view.d.ts +26 -1
  71. package/dist/types/src/types/view.d.ts.map +1 -1
  72. package/dist/types/src/ui/confirmation_dialog.d.ts +8 -0
  73. package/dist/types/src/ui/confirmation_dialog.d.ts.map +1 -1
  74. package/dist/types/src/ui/expand_record.d.ts +1 -0
  75. package/dist/types/src/ui/expand_record.d.ts.map +1 -1
  76. package/dist/types/src/ui/expand_record_list.d.ts.map +1 -1
  77. package/dist/types/src/ui/expand_record_picker_async.d.ts +0 -3
  78. package/dist/types/src/ui/expand_record_picker_async.d.ts.map +1 -1
  79. package/dist/types/src/ui/icon_config.d.ts +15 -8
  80. package/dist/types/src/ui/icon_config.d.ts.map +1 -1
  81. package/dist/types/src/ui/initialize_block.d.ts +19 -2
  82. package/dist/types/src/ui/initialize_block.d.ts.map +1 -1
  83. package/dist/types/src/ui/ui.d.ts +2 -2
  84. package/dist/types/src/ui/ui.d.ts.map +1 -1
  85. package/dist/types/src/ui/use_loadable.d.ts +2 -2
  86. package/dist/types/src/ui/use_records.d.ts +11 -1
  87. package/dist/types/src/ui/use_records.d.ts.map +1 -1
  88. package/dist/types/src/unstable_testing_utils.d.ts +13 -0
  89. package/dist/types/src/unstable_testing_utils.d.ts.map +1 -0
  90. package/dist/types/test/airtable_interface_mocks/linked_records.d.ts.map +1 -1
  91. package/dist/types/test/airtable_interface_mocks/mock_airtable_interface_internal.d.ts +32 -1
  92. package/dist/types/test/airtable_interface_mocks/mock_airtable_interface_internal.d.ts.map +1 -1
  93. package/dist/types/test/airtable_interface_mocks/project_tracker.d.ts.map +1 -1
  94. package/dist/types/test/ui/expand_record.test.d.ts +2 -0
  95. package/dist/types/test/ui/expand_record.test.d.ts.map +1 -0
  96. package/dist/types/test/ui/expand_record_list.test.d.ts +2 -0
  97. package/dist/types/test/ui/expand_record_list.test.d.ts.map +1 -0
  98. package/dist/types/test/ui/expand_record_picker_async.test.d.ts +2 -0
  99. package/dist/types/test/ui/expand_record_picker_async.test.d.ts.map +1 -0
  100. package/index.d.ts +4 -2
  101. package/package.json +4 -4
  102. package/types.d.ts +3 -0
  103. package/unstable_testing_utils.d.ts +1 -0
  104. package/unstable_testing_utils.js +1 -0
  105. package/dist/cjs/testing/inject_mock_airtable_interface.js +0 -63
  106. package/dist/cjs/testing/mock_airtable_interface_external.js +0 -741
  107. package/dist/cjs/testing/test_driver.js +0 -260
  108. package/dist/cjs/types/test_mutations.js +0 -32
  109. package/dist/cjs/unstable_testing.js +0 -17
  110. package/dist/types/src/testing/inject_mock_airtable_interface.d.ts +0 -2
  111. package/dist/types/src/testing/inject_mock_airtable_interface.d.ts.map +0 -1
  112. package/dist/types/src/testing/mock_airtable_interface_external.d.ts +0 -107
  113. package/dist/types/src/testing/mock_airtable_interface_external.d.ts.map +0 -1
  114. package/dist/types/src/testing/test_driver.d.ts +0 -90
  115. package/dist/types/src/testing/test_driver.d.ts.map +0 -1
  116. package/dist/types/src/types/test_mutations.d.ts +0 -27
  117. package/dist/types/src/types/test_mutations.d.ts.map +0 -1
  118. package/dist/types/src/unstable_testing.d.ts +0 -3
  119. package/dist/types/src/unstable_testing.d.ts.map +0 -1
  120. package/dist/types/test/testing/mock_airtable_interface_external.test.d.ts +0 -2
  121. package/dist/types/test/testing/mock_airtable_interface_external.test.d.ts.map +0 -1
  122. package/dist/types/test/testing/test_driver.test.d.ts +0 -2
  123. package/dist/types/test/testing/test_driver.test.d.ts.map +0 -1
  124. package/unstable_testing.d.ts +0 -1
  125. package/unstable_testing.js +0 -1
@@ -0,0 +1,163 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ Object.defineProperty(exports, "BaseData", {
9
+ enumerable: true,
10
+ get: function get() {
11
+ return _base.BaseData;
12
+ }
13
+ });
14
+ Object.defineProperty(exports, "ModelChange", {
15
+ enumerable: true,
16
+ get: function get() {
17
+ return _base.ModelChange;
18
+ }
19
+ });
20
+ Object.defineProperty(exports, "Mutation", {
21
+ enumerable: true,
22
+ get: function get() {
23
+ return _mutations.Mutation;
24
+ }
25
+ });
26
+ Object.defineProperty(exports, "MutationTypes", {
27
+ enumerable: true,
28
+ get: function get() {
29
+ return _mutations.MutationTypes;
30
+ }
31
+ });
32
+ Object.defineProperty(exports, "AppInterface", {
33
+ enumerable: true,
34
+ get: function get() {
35
+ return _airtable_interface.AppInterface;
36
+ }
37
+ });
38
+ Object.defineProperty(exports, "BlockRunContextType", {
39
+ enumerable: true,
40
+ get: function get() {
41
+ return _airtable_interface.BlockRunContextType;
42
+ }
43
+ });
44
+ Object.defineProperty(exports, "SdkInitData", {
45
+ enumerable: true,
46
+ get: function get() {
47
+ return _airtable_interface.SdkInitData;
48
+ }
49
+ });
50
+ Object.defineProperty(exports, "PartialViewData", {
51
+ enumerable: true,
52
+ get: function get() {
53
+ return _airtable_interface.PartialViewData;
54
+ }
55
+ });
56
+ Object.defineProperty(exports, "RecordData", {
57
+ enumerable: true,
58
+ get: function get() {
59
+ return _record.RecordData;
60
+ }
61
+ });
62
+ Object.defineProperty(exports, "CursorData", {
63
+ enumerable: true,
64
+ get: function get() {
65
+ return _cursor.CursorData;
66
+ }
67
+ });
68
+ Object.defineProperty(exports, "FieldData", {
69
+ enumerable: true,
70
+ get: function get() {
71
+ return _field.FieldData;
72
+ }
73
+ });
74
+ Object.defineProperty(exports, "FieldType", {
75
+ enumerable: true,
76
+ get: function get() {
77
+ return _field.FieldType;
78
+ }
79
+ });
80
+ Object.defineProperty(exports, "ViewType", {
81
+ enumerable: true,
82
+ get: function get() {
83
+ return _view.ViewType;
84
+ }
85
+ });
86
+ Object.defineProperty(exports, "ViewportSizeConstraint", {
87
+ enumerable: true,
88
+ get: function get() {
89
+ return _viewport.ViewportSizeConstraint;
90
+ }
91
+ });
92
+ Object.defineProperty(exports, "GlobalConfigUpdate", {
93
+ enumerable: true,
94
+ get: function get() {
95
+ return _global_config.GlobalConfigUpdate;
96
+ }
97
+ });
98
+ Object.defineProperty(exports, "GlobalConfigData", {
99
+ enumerable: true,
100
+ get: function get() {
101
+ return _global_config.GlobalConfigData;
102
+ }
103
+ });
104
+ Object.defineProperty(exports, "GlobalConfigArray", {
105
+ enumerable: true,
106
+ get: function get() {
107
+ return _global_config.GlobalConfigArray;
108
+ }
109
+ });
110
+ Object.defineProperty(exports, "GlobalConfigObject", {
111
+ enumerable: true,
112
+ get: function get() {
113
+ return _global_config.GlobalConfigObject;
114
+ }
115
+ });
116
+ Object.defineProperty(exports, "RequestJson", {
117
+ enumerable: true,
118
+ get: function get() {
119
+ return _backend_fetch_types.RequestJson;
120
+ }
121
+ });
122
+ Object.defineProperty(exports, "ResponseJson", {
123
+ enumerable: true,
124
+ get: function get() {
125
+ return _backend_fetch_types.ResponseJson;
126
+ }
127
+ });
128
+ Object.defineProperty(exports, "Sdk", {
129
+ enumerable: true,
130
+ get: function get() {
131
+ return _sdk.default;
132
+ }
133
+ });
134
+ Object.defineProperty(exports, "AbstractMockAirtableInterface", {
135
+ enumerable: true,
136
+ get: function get() {
137
+ return _mock_airtable_interface.default;
138
+ }
139
+ });
140
+
141
+ var _base = require("./types/base");
142
+
143
+ var _mutations = require("./types/mutations");
144
+
145
+ var _airtable_interface = require("./types/airtable_interface");
146
+
147
+ var _record = require("./types/record");
148
+
149
+ var _cursor = require("./types/cursor");
150
+
151
+ var _field = require("./types/field");
152
+
153
+ var _view = require("./types/view");
154
+
155
+ var _viewport = require("./types/viewport");
156
+
157
+ var _global_config = require("./types/global_config");
158
+
159
+ var _backend_fetch_types = require("./types/backend_fetch_types");
160
+
161
+ var _sdk = _interopRequireDefault(require("./sdk"));
162
+
163
+ var _mock_airtable_interface = _interopRequireDefault(require("./testing/mock_airtable_interface"));
@@ -29,9 +29,9 @@ interface ColorUtils {
29
29
  * // => null
30
30
  * ```
31
31
  */
32
- getHexForColor(colorString: string): null | string;
33
- /** */
34
32
  getHexForColor(colorString: Color): string;
33
+ /** */
34
+ getHexForColor(colorString: string): null | string;
35
35
  /**
36
36
  * Given a {@link Color}, return an {@link RGB} object representing it, or null if the value isn't a {@link Color}
37
37
  *
@@ -47,9 +47,9 @@ interface ColorUtils {
47
47
  * // => null
48
48
  * ```
49
49
  */
50
- getRgbForColor(colorString: string): RGB | null;
51
- /** */
52
50
  getRgbForColor(colorString: Color): RGB;
51
+ /** */
52
+ getRgbForColor(colorString: string): RGB | null;
53
53
  /**
54
54
  * Given a {@link Color}, returns true or false to indicate whether that color should have light text on top of it when used as a background color.
55
55
  *
@@ -1 +1 @@
1
- {"version":3,"file":"color_utils.d.ts","sourceRoot":"","sources":["../../../src/color_utils.ts"],"names":[],"mappings":"AAEA,OAAe,EAAC,KAAK,EAAmB,MAAM,UAAU,CAAC;AAEzD,8EAA8E;AAC9E,UAAU,GAAG;IACT,yBAAyB;IACzB,CAAC,EAAE,MAAM,CAAC;IACV,2BAA2B;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,0BAA0B;IAC1B,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;;;GAIG;AACH,UAAU,UAAU;IAChB;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC;IACnD,MAAM;IACN,cAAc,CAAC,WAAW,EAAE,KAAK,GAAG,MAAM,CAAC;IAE3C;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC;IAChD,MAAM;IACN,cAAc,CAAC,WAAW,EAAE,KAAK,GAAG,GAAG,CAAC;IAExC;;;;;;;;;;;;;;OAcG;IACH,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;CAC3D;AAED,QAAA,MAAM,UAAU,EAAE,UAmCjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"color_utils.d.ts","sourceRoot":"","sources":["../../../src/color_utils.ts"],"names":[],"mappings":"AAEA,OAAe,EAAC,KAAK,EAAmB,MAAM,UAAU,CAAC;AAEzD,8EAA8E;AAC9E,UAAU,GAAG;IACT,yBAAyB;IACzB,CAAC,EAAE,MAAM,CAAC;IACV,2BAA2B;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,0BAA0B;IAC1B,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;;;GAIG;AACH,UAAU,UAAU;IAChB;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,WAAW,EAAE,KAAK,GAAG,MAAM,CAAC;IAC3C,MAAM;IACN,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC;IAEnD;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,WAAW,EAAE,KAAK,GAAG,GAAG,CAAC;IACxC,MAAM;IACN,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC;IAEhD;;;;;;;;;;;;;;OAcG;IACH,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;CAC3D;AAED,QAAA,MAAM,UAAU,EAAE,UAmCjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1,13 +1,13 @@
1
1
  import Sdk from './sdk';
2
2
  export declare let base: Sdk['base'];
3
- export declare let cursor: Sdk['cursor'];
4
3
  export declare let globalConfig: Sdk['globalConfig'];
5
4
  export declare let installationId: Sdk['installationId'];
6
5
  export declare let reload: Sdk['reload'];
7
6
  export declare let runInfo: Sdk['runInfo'];
8
- export declare let session: Sdk['session'];
9
7
  export declare let settingsButton: Sdk['settingsButton'];
10
8
  export declare let undoRedo: Sdk['undoRedo'];
11
9
  export declare let viewport: Sdk['viewport'];
12
10
  export declare let unstable_fetchAsync: Sdk['unstable_fetchAsync'];
11
+ export declare let cursor: Sdk['cursor'];
12
+ export declare let session: Sdk['session'];
13
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,GAAG,MAAM,OAAO,CAAC;AAOxB,eAAO,IAAI,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;AAC7B,eAAO,IAAI,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;AACjC,eAAO,IAAI,YAAY,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;AAC7C,eAAO,IAAI,cAAc,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACjD,eAAO,IAAI,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;AACjC,eAAO,IAAI,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;AACnC,eAAO,IAAI,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;AACnC,eAAO,IAAI,cAAc,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACjD,eAAO,IAAI,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;AACrC,eAAO,IAAI,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;AACrC,eAAO,IAAI,mBAAmB,EAAE,GAAG,CAAC,qBAAqB,CAAC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,GAAG,MAAM,OAAO,CAAC;AAMxB,eAAO,IAAI,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;AAC7B,eAAO,IAAI,YAAY,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;AAC7C,eAAO,IAAI,cAAc,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACjD,eAAO,IAAI,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;AACjC,eAAO,IAAI,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;AACnC,eAAO,IAAI,cAAc,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACjD,eAAO,IAAI,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;AACrC,eAAO,IAAI,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;AACrC,eAAO,IAAI,mBAAmB,EAAE,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAK3D,eAAO,IAAI,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;AAejC,eAAO,IAAI,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"airtable_interface.d.ts","sourceRoot":"","sources":["../../../../src/injected/airtable_interface.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAM9D,cAAc;AACd,MAAM,CAAC,OAAO,UAAU,oBAAoB,IAAI,iBAAiB,CAchE"}
1
+ {"version":3,"file":"airtable_interface.d.ts","sourceRoot":"","sources":["../../../../src/injected/airtable_interface.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAmB9D,cAAc;AACd,MAAM,CAAC,OAAO,UAAU,oBAAoB,IAAI,iBAAiB,CAchE"}
@@ -39,12 +39,10 @@ interface CursorData {
39
39
  * {@link useLoadable} to access them.
40
40
  *
41
41
  * ```js
42
- * import {cursor} from '@airtable/blocks';
43
- * import {useWatchable} from '@airtable/blocks/ui';
42
+ * import {useCursor, useWatchable} from '@airtable/blocks/ui';
44
43
  *
45
44
  * function ActiveTableAndView() {
46
- * // re-render whenever the active table or view changes
47
- * useWatchable(cursor, ['activeTableId', 'activeViewId']);
45
+ * const cursor = useCursor();
48
46
  *
49
47
  * return (
50
48
  * <div>
@@ -56,10 +54,10 @@ interface CursorData {
56
54
  * ```
57
55
  *
58
56
  * ```js
59
- * import {cursor} from '@airtable/blocks';
60
- * import {useLoadable, useWatchable} from '@airtable/blocks/ui';
57
+ * import {useCursor, useLoadable, useWatchable} from '@airtable/blocks/ui';
61
58
  *
62
59
  * function SelectedRecordAndFieldIds() {
60
+ * const cursor = useCursor();
63
61
  * // load selected records and fields
64
62
  * useLoadable(cursor);
65
63
  *
@@ -1 +1 @@
1
- {"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../../../src/models/cursor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAuB,YAAY,EAAE,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAE/E,OAAO,0BAA0B,MAAM,kCAAkC,CAAC;AAC1E,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,MAAM,MAAM,UAAU,CAAC;AAE9B,QAAA,MAAM,mBAAmB;;;;;;EAMvB,CAAC;AAEH;;;;;;;GAOG;AACH,aAAK,kBAAkB,GAAG,YAAY,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEnE,cAAc;AACd,UAAU,UAAU;IAChB,mBAAmB,EAAE,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzD,kBAAkB,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACvD,aAAa,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAGD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,cAAM,MAAO,SAAQ,0BAA0B,CAAC,UAAU,EAAE,kBAAkB,CAAC;IAiE3E;;;;;;;OAOG;IACH,IAAI,iBAAiB,IAAI,KAAK,CAAC,QAAQ,CAAC,CAKvC;IACD;;;;;;;OAOG;IACH,IAAI,gBAAgB,IAAI,KAAK,CAAC,QAAQ,CAAC,CAKtC;IACD;;;;;;;OAOG;IACH,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO;IAW5D;;;;;;;;OAQG;IACH,IAAI,aAAa,IAAI,OAAO,GAAG,IAAI,CAElC;IACD;;;;;;;;;OASG;IACH,IAAI,YAAY,IAAI,MAAM,GAAG,IAAI,CAEhC;IACD;;;;;;OAMG;IACH,cAAc,CAAC,cAAc,EAAE,KAAK,GAAG,OAAO,GAAG,IAAI;IAIrD;;;;;;;OAOG;IACH,aAAa,CAAC,cAAc,EAAE,KAAK,GAAG,OAAO,EAAE,YAAY,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI;CA+EpF;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../../../src/models/cursor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAuB,YAAY,EAAE,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAE/E,OAAO,0BAA0B,MAAM,kCAAkC,CAAC;AAC1E,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,MAAM,MAAM,UAAU,CAAC;AAE9B,QAAA,MAAM,mBAAmB;;;;;;EAMvB,CAAC;AAEH;;;;;;;GAOG;AACH,aAAK,kBAAkB,GAAG,YAAY,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEnE,cAAc;AACd,UAAU,UAAU;IAChB,mBAAmB,EAAE,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzD,kBAAkB,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACvD,aAAa,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAGD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,cAAM,MAAO,SAAQ,0BAA0B,CAAC,UAAU,EAAE,kBAAkB,CAAC;IAiE3E;;;;;;;OAOG;IACH,IAAI,iBAAiB,IAAI,KAAK,CAAC,QAAQ,CAAC,CAKvC;IACD;;;;;;;OAOG;IACH,IAAI,gBAAgB,IAAI,KAAK,CAAC,QAAQ,CAAC,CAKtC;IACD;;;;;;;OAOG;IACH,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO;IAW5D;;;;;;;;OAQG;IACH,IAAI,aAAa,IAAI,OAAO,GAAG,IAAI,CAElC;IACD;;;;;;;;;OASG;IACH,IAAI,YAAY,IAAI,MAAM,GAAG,IAAI,CAEhC;IACD;;;;;;OAMG;IACH,cAAc,CAAC,cAAc,EAAE,KAAK,GAAG,OAAO,GAAG,IAAI;IAIrD;;;;;;;OAOG;IACH,aAAa,CAAC,cAAc,EAAE,KAAK,GAAG,OAAO,EAAE,YAAY,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI;CA+EpF;AAED,eAAe,MAAM,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /** @module @airtable/blocks/models: Field */ /** */
2
2
  import { AggregatorKey } from '../types/aggregators';
3
3
  import { PermissionCheckResult } from '../types/mutations';
4
- import { FieldData, FieldType, FieldOptions } from '../types/field';
4
+ import { FieldData, FieldType, FieldOptions, FieldConfig } from '../types/field';
5
5
  import { ObjectValues } from '../private_utils';
6
6
  import AbstractModel from './abstract_model';
7
7
  import { Aggregator } from './create_aggregators';
@@ -72,6 +72,22 @@ declare class Field extends AbstractModel<FieldData, WatchableFieldKey> {
72
72
  * ```
73
73
  */
74
74
  get options(): FieldOptions | null;
75
+ /**
76
+ * The type and options of the field to make type narrowing `FieldOptions` easier.
77
+ *
78
+ * @see {@link FieldConfig}
79
+ * @example
80
+ * const fieldConfig = field.config;
81
+ * if (fieldConfig.type === FieldType.SINGLE_SELECT) {
82
+ * return fieldConfig.options.choices;
83
+ * } else if (fieldConfig.type === FieldType.MULTIPLE_LOOKUP_VALUES && fieldConfig.options.isValid) {
84
+ * if (fieldConfig.options.result.type === FieldType.SINGLE_SELECT) {
85
+ * return fieldConfig.options.result.options.choices;
86
+ * }
87
+ * }
88
+ * return DEFAULT_CHOICES;
89
+ */
90
+ get config(): FieldConfig;
75
91
  /**
76
92
  * _Beta feature with unstable API. May have breaking changes before release._
77
93
  *
@@ -1 +1 @@
1
- {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../../src/models/field.ts"],"names":[],"mappings":"AAAA,6CAA6C,CAAC,MAAM;AACpD,OAAO,EAAC,aAAa,EAAC,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAgB,qBAAqB,EAAC,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAC,SAAS,EAAE,SAAS,EAAE,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAiC,YAAY,EAAgB,MAAM,kBAAkB,CAAC;AAC7F,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAKhD,QAAA,MAAM,kBAAkB;;;;;;EAMtB,CAAC;AAEH;;;;;;;GAOG;AACH,oBAAY,iBAAiB,GAAG,YAAY,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAExE;;;;;;;;;;;;GAYG;AACH,cAAM,KAAM,SAAQ,aAAa,CAAC,SAAS,EAAE,iBAAiB,CAAC;IAuC3D;;;;;;;;OAQG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IACD;;;;;;;;OAQG;IACH,IAAI,IAAI,IAAI,SAAS,CAiBpB;IACD;;;;;;;;;;;;;;;OAeG;IACH,IAAI,OAAO,IAAI,YAAY,GAAG,IAAI,CAYjC;IACD;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,gCAAgC,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,qBAAqB;IAY/E;;;;;;;;;;;;;;;;;;;OAmBG;IACH,4BAA4B,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO;IAI7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACG,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAW9D;;;;;;;;;;;;OAYG;IACH,IAAI,UAAU,IAAI,OAAO,CAGxB;IACD;;;OAGG;IACH,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED;;;;;;;;OAQG;IACH,IAAI,WAAW,IAAI,MAAM,GAAG,IAAI,CAE/B;IAID;;;;;;;OAOG;IACH,IAAI,oBAAoB,IAAI,KAAK,CAAC,UAAU,CAAC,CAU5C;IAID;;;;;;;;;;;;;;;;;OAiBG;IACH,qBAAqB,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa,GAAG,OAAO;IAUtE;;;;;;;;;;;;OAYG;IACH,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;CAqDpD;AAED,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../../src/models/field.ts"],"names":[],"mappings":"AAAA,6CAA6C,CAAC,MAAM;AACpD,OAAO,EAAC,aAAa,EAAC,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAgB,qBAAqB,EAAC,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAC,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAiC,YAAY,EAAgB,MAAM,kBAAkB,CAAC;AAC7F,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAKhD,QAAA,MAAM,kBAAkB;;;;;;EAMtB,CAAC;AAEH;;;;;;;GAOG;AACH,oBAAY,iBAAiB,GAAG,YAAY,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAExE;;;;;;;;;;;;GAYG;AACH,cAAM,KAAM,SAAQ,aAAa,CAAC,SAAS,EAAE,iBAAiB,CAAC;IAuC3D;;;;;;;;OAQG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IACD;;;;;;;;OAQG;IACH,IAAI,IAAI,IAAI,SAAS,CAiBpB;IACD;;;;;;;;;;;;;;;OAeG;IACH,IAAI,OAAO,IAAI,YAAY,GAAG,IAAI,CAYjC;IAED;;;;;;;;;;;;;;OAcG;IACH,IAAI,MAAM,IAAI,WAAW,CAKxB;IACD;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,gCAAgC,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,qBAAqB;IAY/E;;;;;;;;;;;;;;;;;;;OAmBG;IACH,4BAA4B,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO;IAI7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACG,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAW9D;;;;;;;;;;;;OAYG;IACH,IAAI,UAAU,IAAI,OAAO,CAGxB;IACD;;;OAGG;IACH,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED;;;;;;;;OAQG;IACH,IAAI,WAAW,IAAI,MAAM,GAAG,IAAI,CAE/B;IAID;;;;;;;OAOG;IACH,IAAI,oBAAoB,IAAI,KAAK,CAAC,UAAU,CAAC,CAU5C;IAID;;;;;;;;;;;;;;;;;OAiBG;IACH,qBAAqB,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa,GAAG,OAAO;IAUtE;;;;;;;;;;;;OAYG;IACH,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;CAqDpD;AAED,eAAe,KAAK,CAAC"}
@@ -0,0 +1,61 @@
1
+ /** @module @airtable/blocks/models: RecordQueryResult */ /** */
2
+ import { FieldId } from '../types/field';
3
+ import { FlowAnyFunction, FlowAnyObject } from '../private_utils';
4
+ import { RecordId } from '../types/record';
5
+ import { GroupData } from '../types/view';
6
+ import { NormalizedGroupLevel } from '../types/airtable_interface';
7
+ import RecordQueryResult, { WatchableRecordQueryResultKey } from './record_query_result';
8
+ import Field from './field';
9
+ /** @hidden */
10
+ interface GroupedRecordQueryResultData {
11
+ groupData: GroupData;
12
+ groupLevels: Array<NormalizedGroupLevel>;
13
+ }
14
+ /**
15
+ * Represents a group of records returned from a group query. See {@link RecordQueryResult} for main
16
+ * documentation.
17
+ *
18
+ * Do not instantiate. You can get instances of this class by calling
19
+ * `recordQueryResult.groups`.
20
+ *
21
+ * @docsPath models/query results/GroupedRecordQueryResult
22
+ * @hidden
23
+ */
24
+ declare class GroupedRecordQueryResult extends RecordQueryResult<GroupedRecordQueryResultData> {
25
+ _orderedRecordIds: Array<RecordId> | null;
26
+ /**
27
+ * Gets children groups of this group (if any exist)
28
+ */
29
+ get groups(): Array<GroupedRecordQueryResult> | null;
30
+ /**
31
+ * Gets the fieldId that this group is grouped by
32
+ */
33
+ get fieldId(): FieldId;
34
+ /**
35
+ * Gets the field that this group is grouped by
36
+ */
37
+ get field(): Field;
38
+ /**
39
+ * Ordered array of all the record ids inside this group, in group order.
40
+ * This returns all recordIds of all children groups (in grouped order).
41
+ * Watchable.
42
+ */
43
+ get recordIds(): Array<RecordId>;
44
+ /**
45
+ * The fields that were used to create the parent RecordQueryResult that created this GroupedRecordQueryResult.
46
+ * This is separate from the field/fieldId property - which is the field this grouping is based upon.
47
+ * Null if fields were not specified, which means the RecordQueryResult
48
+ * will load all fields in the table.
49
+ */
50
+ get fields(): Array<Field> | null;
51
+ /** @inheritdoc */
52
+ watch(keys: WatchableRecordQueryResultKey | ReadonlyArray<WatchableRecordQueryResultKey>, callback: FlowAnyFunction, context?: FlowAnyObject | null): Array<WatchableRecordQueryResultKey>;
53
+ /** @inheritdoc */
54
+ unwatch(keys: WatchableRecordQueryResultKey | ReadonlyArray<WatchableRecordQueryResultKey>, callback: FlowAnyFunction, context?: FlowAnyObject | null): Array<WatchableRecordQueryResultKey>;
55
+ /** @inheritdoc */
56
+ loadDataAsync(): Promise<void>;
57
+ /** @inheritdoc */
58
+ get isDataLoaded(): boolean;
59
+ }
60
+ export default GroupedRecordQueryResult;
61
+ //# sourceMappingURL=grouped_record_query_result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grouped_record_query_result.d.ts","sourceRoot":"","sources":["../../../../src/models/grouped_record_query_result.ts"],"names":[],"mappings":"AAAA,yDAAyD,CAAC,MAAM;AAChE,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EAAC,eAAe,EAAE,aAAa,EAAY,MAAM,kBAAkB,CAAC;AAE3E,OAAO,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAC,SAAS,EAAC,MAAM,eAAe,CAAC;AACxC,OAAO,EAAC,oBAAoB,EAAC,MAAM,6BAA6B,CAAC;AACjE,OAAO,iBAAiB,EAAE,EACtB,6BAA6B,EAEhC,MAAM,uBAAuB,CAAC;AAG/B,OAAO,KAAK,MAAM,SAAS,CAAC;AAI5B,cAAc;AAGd,UAAU,4BAA4B;IAClC,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC;CAC5C;AAED;;;;;;;;;GASG;AACH,cAAM,wBAAyB,SAAQ,iBAAiB,CAAC,4BAA4B,CAAC;IA2BlF,iBAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAQ;IAwCjD;;OAEG;IACH,IAAI,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAEnD;IAOD;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,KAAK,CAEjB;IAmDD;;;;OAIG;IACH,IAAI,SAAS,IAAI,KAAK,CAAC,QAAQ,CAAC,CAQ/B;IAED;;;;;OAKG;IACH,IAAI,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAGhC;IAED,kBAAkB;IAClB,KAAK,CACD,IAAI,EAAE,6BAA6B,GAAG,aAAa,CAAC,6BAA6B,CAAC,EAClF,QAAQ,EAAE,eAAe,EACzB,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,GAC/B,KAAK,CAAC,6BAA6B,CAAC;IAQvC,kBAAkB;IAClB,OAAO,CACH,IAAI,EAAE,6BAA6B,GAAG,aAAa,CAAC,6BAA6B,CAAC,EAClF,QAAQ,EAAE,eAAe,EACzB,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,GAC/B,KAAK,CAAC,6BAA6B,CAAC;IAIvC,kBAAkB;IACZ,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAsEpC,kBAAkB;IAClB,IAAI,YAAY,IAAI,OAAO,CAE1B;CA6BJ;AAED,eAAe,wBAAwB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /** @ignore */ /** */
2
2
  import * as recordColoring from './record_coloring';
3
3
  import createAggregators from './create_aggregators';
4
- export { FieldType } from '../types/field';
4
+ export { FieldType, FieldConfig } from '../types/field';
5
5
  export { ViewType } from '../types/view';
6
6
  export { default as Base } from './base';
7
7
  export { default as Table } from './table';
@@ -10,8 +10,11 @@ export { default as View } from './view';
10
10
  export { default as Record } from './record';
11
11
  export { default as RecordQueryResult } from './record_query_result';
12
12
  export { default as TableOrViewQueryResult } from './table_or_view_query_result';
13
+ export { default as GroupedRecordQueryResult } from './grouped_record_query_result';
13
14
  export { default as LinkedRecordsQueryResult } from './linked_records_query_result';
14
15
  export { default as ViewMetadataQueryResult } from './view_metadata_query_result';
16
+ export { default as Session } from './session';
17
+ export { default as Cursor } from './cursor';
15
18
  export { recordColoring };
16
19
  export declare var aggregators: ReturnType<typeof createAggregators>;
17
20
  //# sourceMappingURL=models.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../../src/models/models.ts"],"names":[],"mappings":"AACA,cAAc,CAAC,MAAM;AACrB,OAAO,KAAK,cAAc,MAAM,mBAAmB,CAAC;AACpD,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,EAAC,OAAO,IAAI,IAAI,EAAC,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAC,OAAO,IAAI,KAAK,EAAC,MAAM,SAAS,CAAC;AACzC,OAAO,EAAC,OAAO,IAAI,KAAK,EAAC,MAAM,SAAS,CAAC;AACzC,OAAO,EAAC,OAAO,IAAI,IAAI,EAAC,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAC,OAAO,IAAI,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAC,OAAO,IAAI,sBAAsB,EAAC,MAAM,8BAA8B,CAAC;AAC/E,OAAO,EAAC,OAAO,IAAI,wBAAwB,EAAC,MAAM,+BAA+B,CAAC;AAClF,OAAO,EAAC,OAAO,IAAI,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAC,cAAc,EAAC,CAAC;AAIxB,MAAM,CAAC,OAAO,CAAC,IAAI,WAAW,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../../src/models/models.ts"],"names":[],"mappings":"AACA,cAAc,CAAC,MAAM;AACrB,OAAO,KAAK,cAAc,MAAM,mBAAmB,CAAC;AACpD,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAC,SAAS,EAAE,WAAW,EAAC,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,EAAC,OAAO,IAAI,IAAI,EAAC,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAC,OAAO,IAAI,KAAK,EAAC,MAAM,SAAS,CAAC;AACzC,OAAO,EAAC,OAAO,IAAI,KAAK,EAAC,MAAM,SAAS,CAAC;AACzC,OAAO,EAAC,OAAO,IAAI,IAAI,EAAC,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAC,OAAO,IAAI,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAC,OAAO,IAAI,sBAAsB,EAAC,MAAM,8BAA8B,CAAC;AAC/E,OAAO,EAAC,OAAO,IAAI,wBAAwB,EAAC,MAAM,+BAA+B,CAAC;AAClF,OAAO,EAAC,OAAO,IAAI,wBAAwB,EAAC,MAAM,+BAA+B,CAAC;AAClF,OAAO,EAAC,OAAO,IAAI,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAC,OAAO,IAAI,OAAO,EAAC,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAC,cAAc,EAAC,CAAC;AAIxB,MAAM,CAAC,OAAO,CAAC,IAAI,WAAW,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mutations.d.ts","sourceRoot":"","sources":["../../../../src/models/mutations.ts"],"names":[],"mappings":"AA4nBA,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"mutations.d.ts","sourceRoot":"","sources":["../../../../src/models/mutations.ts"],"names":[],"mappings":"AAopBA,eAAe,SAAS,CAAC"}
@@ -6,7 +6,6 @@ import { ViewId } from '../types/view';
6
6
  import { ObjectValues } from '../private_utils';
7
7
  import AbstractModel from './abstract_model';
8
8
  import Field from './field';
9
- import ObjectPool from './object_pool';
10
9
  import View from './view';
11
10
  import { RecordQueryResultOpts } from './record_query_result';
12
11
  import LinkedRecordsQueryResult from './linked_records_query_result';
@@ -33,7 +32,6 @@ declare type WatchableRecordKey = ObjectValues<typeof WatchableRecordKeys> | str
33
32
  * @docsPath models/Record
34
33
  */
35
34
  declare class Record extends AbstractModel<RecordData, WatchableRecordKey> {
36
- __linkedRecordsQueryResultPool: ObjectPool<LinkedRecordsQueryResult, typeof LinkedRecordsQueryResult>;
37
35
  /**
38
36
  * Gets the cell value of the given field for this record.
39
37
  *
@@ -1 +1 @@
1
- {"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../../../src/models/record.ts"],"names":[],"mappings":"AAAA,8CAA8C,CAAC,MAAM;AACrD,OAAO,EAAC,KAAK,EAAC,MAAM,WAAW,CAAC;AAEhC,OAAO,EAAC,UAAU,EAAW,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAY,OAAO,EAAC,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAwC,YAAY,EAAgB,MAAM,kBAAkB,CAAC;AAGpG,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,UAAU,MAAM,eAAe,CAAC;AAEvC,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAA0B,EAAC,qBAAqB,EAAC,MAAM,uBAAuB,CAAC;AAC/E,OAAO,wBAAwB,MAAM,+BAA+B,CAAC;AAGrE,QAAA,MAAM,mBAAmB;;;;EAMvB,CAAC;AAOH;;;;;;;GAOG;AACH,aAAK,kBAAkB,GAAG,YAAY,CAAC,OAAO,mBAAmB,CAAC,GAAG,MAAM,CAAC;AAE5E;;;;;;;GAOG;AACH,cAAM,MAAO,SAAQ,aAAa,CAAC,UAAU,EAAE,kBAAkB,CAAC;IAe9D,8BAA8B,EAAE,UAAU,CACtC,wBAAwB,EACxB,OAAO,wBAAwB,CAClC,CAAC;IAmFF;;;;;;;;;;OAUG;IACH,YAAY,CAAC,yBAAyB,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO;IAoC1E;;;;;;;;;;OAUG;IACH,oBAAoB,CAAC,yBAAyB,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM;IAuBjF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,sCAAsC,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM;IAS3F;;;;;;;OAOG;IACH,cAAc,CAAC,sBAAsB,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI;IAK5E;;;;;;;OAOG;IACH,iBAAiB,CAAC,sBAAsB,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI;IAOvE;;;;;;;OAOG;IACH,2BAA2B,CACvB,yBAAyB,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,EACnD,IAAI,GAAE,qBAA0B,GACjC,wBAAwB;IAoB3B;;;;;;;;;OASG;IACG,gCAAgC,CAClC,yBAAyB,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,EACnD,IAAI,GAAE,qBAA0B,GACjC,OAAO,CAAC,wBAAwB,CAAC;IAKpC;;;;;;;;OAQG;IACH,IAAI,GAAG,IAAI,MAAM,CAKhB;IACD;;;;;;;;OAQG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IACD;;;;;;;;;;;OAWG;IACH,IAAI,YAAY,IAAI,MAAM,CAEzB;IACD;;;;;;;;;OASG;IACH,IAAI,WAAW,IAAI,IAAI,CAEtB;CAiCJ;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../../../src/models/record.ts"],"names":[],"mappings":"AAAA,8CAA8C,CAAC,MAAM;AACrD,OAAO,EAAC,KAAK,EAAC,MAAM,WAAW,CAAC;AAEhC,OAAO,EAAC,UAAU,EAAW,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAY,OAAO,EAAC,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAwC,YAAY,EAAgB,MAAM,kBAAkB,CAAC;AAGpG,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,MAAM,SAAS,CAAC;AAG5B,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAA0B,EAAC,qBAAqB,EAAC,MAAM,uBAAuB,CAAC;AAC/E,OAAO,wBAAwB,MAAM,+BAA+B,CAAC;AAGrE,QAAA,MAAM,mBAAmB;;;;EAMvB,CAAC;AAOH;;;;;;;GAOG;AACH,aAAK,kBAAkB,GAAG,YAAY,CAAC,OAAO,mBAAmB,CAAC,GAAG,MAAM,CAAC;AAE5E;;;;;;;GAOG;AACH,cAAM,MAAO,SAAQ,aAAa,CAAC,UAAU,EAAE,kBAAkB,CAAC;IAsG9D;;;;;;;;;;OAUG;IACH,YAAY,CAAC,yBAAyB,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO;IAoC1E;;;;;;;;;;OAUG;IACH,oBAAoB,CAAC,yBAAyB,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM;IAuBjF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,sCAAsC,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM;IAS3F;;;;;;;OAOG;IACH,cAAc,CAAC,sBAAsB,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI;IAK5E;;;;;;;OAOG;IACH,iBAAiB,CAAC,sBAAsB,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI;IAOvE;;;;;;;OAOG;IACH,2BAA2B,CACvB,yBAAyB,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,EACnD,IAAI,GAAE,qBAA0B,GACjC,wBAAwB;IAoB3B;;;;;;;;;OASG;IACG,gCAAgC,CAClC,yBAAyB,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,EACnD,IAAI,GAAE,qBAA0B,GACjC,OAAO,CAAC,wBAAwB,CAAC;IAKpC;;;;;;;;OAQG;IACH,IAAI,GAAG,IAAI,MAAM,CAKhB;IACD;;;;;;;;OAQG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IACD;;;;;;;;;;;OAWG;IACH,IAAI,YAAY,IAAI,MAAM,CAEzB;IACD;;;;;;;;;OASG;IACH,IAAI,WAAW,IAAI,IAAI,CAEtB;CAiCJ;AAED,eAAe,MAAM,CAAC"}
@@ -12,6 +12,8 @@ declare const WatchableRecordQueryResultKeys: Readonly<{
12
12
  recordIds: "recordIds";
13
13
  cellValues: "cellValues";
14
14
  recordColors: "recordColors";
15
+ groups: "groups";
16
+ groupLevels: "groupLevels";
15
17
  isDataLoaded: "isDataLoaded";
16
18
  }>;
17
19
  /**
@@ -36,6 +38,26 @@ export interface NormalizedSortConfig {
36
38
  fieldId: string;
37
39
  direction: 'asc' | 'desc';
38
40
  }
41
+ /**
42
+ * NormalizedGroupLevel is in airtable_interface
43
+ *
44
+ * @hidden
45
+ */
46
+ export interface GroupLevelForUpdate {
47
+ /** A field, field id, or field name. */
48
+ field: Field | FieldId | string;
49
+ /** The order to sort this group in. Defaults to asc. */
50
+ direction?: 'asc' | 'desc' | undefined;
51
+ }
52
+ /**
53
+ * View Config that can be set by developer
54
+ *
55
+ * @hidden
56
+ */
57
+ export interface ViewMetadataForUpdate {
58
+ /** Groups config that can be set by developer; null will clear it, undefined will skip it*/
59
+ groupLevels?: Array<GroupLevelForUpdate> | null | undefined;
60
+ }
39
61
  /**
40
62
  * Used to control what data is loaded in a {@link RecordQueryResult}. Used when creating a
41
63
  * query result using `table/view.selectRecords()` and in convenience hooks {@link useRecords}.
@@ -1 +1 @@
1
- {"version":3,"file":"record_query_result.d.ts","sourceRoot":"","sources":["../../../../src/models/record_query_result.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"record_query_result.d.ts","sourceRoot":"","sources":["../../../../src/models/record_query_result.ts"],"names":[],"mappings":"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"}
@@ -24,12 +24,16 @@ declare type WatchableSessionKey = ObjectValues<typeof WatchableSessionKeys>;
24
24
  *
25
25
  * @example
26
26
  * ```js
27
- * import {session} from '@airtable/blocks';
27
+ * import {useSession} from '@airtable/blocks/ui';
28
28
  *
29
- * if (session.currentUser !== null) {
30
- * console.log("The current user's name is", session.currentUser.name);
31
- * } else {
32
- * console.log('This app is being viewed in a public share');
29
+ * function Username() {
30
+ * const session = useSession();
31
+ *
32
+ * if (session.currentUser !== null) {
33
+ * return <span>The current user's name is {session.currentUser.name}</span>;
34
+ * } else {
35
+ * return <span>This app is being viewed in a public share</span>;
36
+ * }
33
37
  * }
34
38
  * ```
35
39
  * @docsPath models/Session
@@ -40,11 +44,20 @@ declare class Session extends AbstractModel<SessionData, WatchableSessionKey> {
40
44
  *
41
45
  * @example
42
46
  * ```js
43
- * import {session} from '@airtable/blocks';
44
- * if (session.currentUser) {
45
- * console.log(session.currentUser.id);
46
- * console.log(session.currentUser.email);
47
- * console.log(session.currentUser.name);
47
+ * import {useSession} from '@airtable/blocks/ui';
48
+ *
49
+ * function CurrentUser() {
50
+ * const session = useSession();
51
+ *
52
+ * if (!session.currentUser) {
53
+ * return <div>This app is being used in a public share.</div>;
54
+ * }
55
+ *
56
+ * return <ul>
57
+ * <li>ID: {session.currentUser.id}</li>
58
+ * <li>E-mail: {session.currentUser.email}</li>
59
+ * <li>Name: {session.currentUser.name}</li>
60
+ * </ul>;
48
61
  * }
49
62
  * ```
50
63
  */
@@ -59,11 +72,21 @@ declare class Session extends AbstractModel<SessionData, WatchableSessionKey> {
59
72
  *
60
73
  * @example
61
74
  * ```js
62
- * import {session} from '@airtable/blocks';
75
+ * import {useSession} from '@airtable/blocks/ui';
63
76
  *
64
- * const updateRecordsCheckResult = session.checkPermissionsForUpdateRecords();
65
- * if (!updateRecordsCheckResult.hasPermission) {
66
- * alert(updateRecordsCheckResult.reasonDisplayString);
77
+ * function UpdateButton({onClick}) {
78
+ * const session = useSession();
79
+ * const updateRecordsCheckResult = session.checkPermissionsForUpdateRecords();
80
+ * const deniedReason = updateRecordsCheckResult.hasPermission
81
+ * ? <span>{updateRecordsCheckResult.reasonDisplayString}</span>
82
+ * : null;
83
+ *
84
+ * return <div>
85
+ * {deniedReason}
86
+ * <button onClick={onClick} disabled={!!deniedReason}>
87
+ * Update
88
+ * </button>
89
+ * </div>;
67
90
  * }
68
91
  */
69
92
  checkPermissionsForUpdateRecords(): PermissionCheckResult;
@@ -82,11 +105,21 @@ declare class Session extends AbstractModel<SessionData, WatchableSessionKey> {
82
105
  *
83
106
  * @example
84
107
  * ```js
85
- * import {session} from '@airtable/blocks';
108
+ * import {useSession} from '@airtable/blocks/ui';
109
+ *
110
+ * function CreateButton({onClick}) {
111
+ * const session = useSession();
112
+ * const updateRecordsCheckResult = session.checkPermissionsForCreateRecords();
113
+ * const deniedReason = updateRecordsCheckResult.hasPermission
114
+ * ? <span>{updateRecordsCheckResult.reasonDisplayString}</span>
115
+ * : null;
86
116
  *
87
- * const createRecordsCheckResult = session.checkPermissionsForCreateRecords();
88
- * if (!createRecordsCheckResult.hasPermission) {
89
- * alert(createRecordsCheckResult.reasonDisplayString);
117
+ * return <div>
118
+ * {deniedReason}
119
+ * <button onClick={onClick} disabled={!!deniedReason}>
120
+ * Create
121
+ * </button>
122
+ * </div>;
90
123
  * }
91
124
  */
92
125
  checkPermissionsForCreateRecords(): PermissionCheckResult;
@@ -105,12 +138,21 @@ declare class Session extends AbstractModel<SessionData, WatchableSessionKey> {
105
138
  *
106
139
  * @example
107
140
  * ```js
108
- * import {session} from '@airtable/blocks';
141
+ * import {useSession} from '@airtable/blocks/ui';
109
142
  *
110
- * const deleteRecordsCheckResult = session.checkPermissionsForDeleteRecords();
111
- * if (!deleteRecordsCheckResult.hasPermission) {
112
- * alert(deleteRecordsCheckResult.reasonDisplayString);
113
- * }
143
+ * function DeleteButton({onClick}) {
144
+ * const session = useSession();
145
+ * const updateRecordsCheckResult = session.checkPermissionsForDeleteRecords();
146
+ * const deniedReason = updateRecordsCheckResult.hasPermission
147
+ * ? <span>{updateRecordsCheckResult.reasonDisplayString}</span>
148
+ * : null;
149
+ *
150
+ * return <div>
151
+ * {deniedReason}
152
+ * <button onClick={onClick} disabled={!!deniedReason}>
153
+ * Delete
154
+ * </button>
155
+ * </div>;
114
156
  */
115
157
  checkPermissionsForDeleteRecords(): PermissionCheckResult;
116
158
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/models/session.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,gBAAgB,EAAE,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAuB,YAAY,EAAY,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAC,qBAAqB,EAAgB,MAAM,oBAAoB,CAAC;AACxE,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAE7C,cAAc;AACd,UAAU,WAAW;IAEjB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,eAAe,EAAE,eAAe,CAAC;IACjC,mBAAmB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CACtC;AAED,QAAA,MAAM,oBAAoB;;;EAKxB,CAAC;AAEH;;;;GAIG;AACH,aAAK,mBAAmB,GAAG,YAAY,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAErE;;;;;;;;;;;;;;GAcG;AACH,cAAM,OAAQ,SAAQ,aAAa,CAAC,WAAW,EAAE,mBAAmB,CAAC;IAwCjE;;;;;;;;;;;;OAYG;IACH,IAAI,WAAW,IAAI,gBAAgB,GAAG,IAAI,CAQzC;IACD;;;;;;;;;;;;;;;;OAgBG;IACH,gCAAgC,IAAI,qBAAqB;IAOzD;;;OAGG;IACH,4BAA4B,IAAI,OAAO;IAGvC;;;;;;;;;;;;;;;;OAgBG;IACH,gCAAgC,IAAI,qBAAqB;IAOzD;;;OAGG;IACH,4BAA4B,IAAI,OAAO;IAGvC;;;;;;;;;;;;;;;;OAgBG;IACH,gCAAgC,IAAI,qBAAqB;IAOzD;;;OAGG;IACH,4BAA4B,IAAI,OAAO;CAiE1C;AAED,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/models/session.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,gBAAgB,EAAE,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAuB,YAAY,EAAY,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAC,qBAAqB,EAAgB,MAAM,oBAAoB,CAAC;AACxE,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAE7C,cAAc;AACd,UAAU,WAAW;IAEjB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,eAAe,EAAE,eAAe,CAAC;IACjC,mBAAmB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CACtC;AAED,QAAA,MAAM,oBAAoB;;;EAKxB,CAAC;AAEH;;;;GAIG;AACH,aAAK,mBAAmB,GAAG,YAAY,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAErE;;;;;;;;;;;;;;;;;;GAkBG;AACH,cAAM,OAAQ,SAAQ,aAAa,CAAC,WAAW,EAAE,mBAAmB,CAAC;IAwCjE;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,IAAI,WAAW,IAAI,gBAAgB,GAAG,IAAI,CAQzC;IACD;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,gCAAgC,IAAI,qBAAqB;IAOzD;;;OAGG;IACH,4BAA4B,IAAI,OAAO;IAGvC;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,gCAAgC,IAAI,qBAAqB;IAOzD;;;OAGG;IACH,4BAA4B,IAAI,OAAO;IAGvC;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,gCAAgC,IAAI,qBAAqB;IAOzD;;;OAGG;IACH,4BAA4B,IAAI,OAAO;CAiE1C;AAED,eAAe,OAAO,CAAC"}