@ichicraft/widgets-widget-base 1.20.0 → 1.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +619 -463
- package/lib/dev/createWidgetDevServerConfig.js +3 -3
- package/lib/dev/findAvailablePort.js +3 -4
- package/lib/types/index.d.ts +138 -1
- package/lib/types/index.js +33 -1
- package/lib/utils/ConfigurationHelper.d.ts +3 -3
- package/lib/utils/ConfigurationHelper.js +2 -2
- package/package.json +14 -18
package/README.md
CHANGED
|
@@ -1,463 +1,619 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
and
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
-
|
|
160
|
-
|
|
161
|
-
## 1.
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
- Added `
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
-
|
|
202
|
-
|
|
203
|
-
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
-
|
|
223
|
-
|
|
224
|
-
## 1.
|
|
225
|
-
|
|
226
|
-
- Added `
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
- Added `
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
- Added `
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
- Added
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
- Added
|
|
292
|
-
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
- Added `
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
-
|
|
312
|
-
|
|
313
|
-
## 1.
|
|
314
|
-
|
|
315
|
-
-
|
|
316
|
-
|
|
317
|
-
## 1.
|
|
318
|
-
|
|
319
|
-
-
|
|
320
|
-
|
|
321
|
-
## 1.
|
|
322
|
-
|
|
323
|
-
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
-
|
|
338
|
-
|
|
339
|
-
## 1.
|
|
340
|
-
|
|
341
|
-
-
|
|
342
|
-
|
|
343
|
-
## 1.
|
|
344
|
-
|
|
345
|
-
- Added `
|
|
346
|
-
- Added
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
- Added `
|
|
358
|
-
- Added `
|
|
359
|
-
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
- Added `
|
|
385
|
-
|
|
386
|
-
## 1.
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
- Added `
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
- Added `
|
|
415
|
-
|
|
416
|
-
## 1.
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
- Added `
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
1
|
+
_This package is part of the Widget Development Kit, which is a collection of NPM packages that empower developers to create widgets for Bloom Intranet._
|
|
2
|
+
|
|
3
|
+
# @ichicraft/widgets-widget-base
|
|
4
|
+
|
|
5
|
+
The contract a widget implements, and the shape of what the Widget Board hands it at runtime. A widget extends `BaseWidget`, receives a `WidgetContext`, and renders into a DOM element the board owns.
|
|
6
|
+
|
|
7
|
+
## Features
|
|
8
|
+
|
|
9
|
+
- **One base class** — Extend `BaseWidget`, implement `init` and `render`, and the board takes care of the rest
|
|
10
|
+
- **Opt-in capabilities** — Buddy rendering, user and admin configuration, import and export are optional methods; implement only what the widget needs
|
|
11
|
+
- **A scoped context** — `WidgetContext` exposes the SharePoint and Graph clients, the current user, the board's theme and the host environment, without handing over the web part
|
|
12
|
+
- **Dev server helpers** — `lib/dev` builds a webpack dev-server configuration that resolves its own port, so several widgets can be debugged against one board at once
|
|
13
|
+
|
|
14
|
+
## Installation
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npm install @ichicraft/widgets-widget-base
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Usage
|
|
21
|
+
|
|
22
|
+
A widget is a class extending `BaseWidget`. Only `init` and `render` are required.
|
|
23
|
+
|
|
24
|
+
```typescript
|
|
25
|
+
import { BaseWidget, type WidgetContext } from '@ichicraft/widgets-widget-base';
|
|
26
|
+
|
|
27
|
+
export default class RssWidget extends BaseWidget {
|
|
28
|
+
private feed: FeedItem[] = [];
|
|
29
|
+
|
|
30
|
+
public async init(): Promise<void> {
|
|
31
|
+
// Called once before the first render. Fetch what the widget needs.
|
|
32
|
+
this.feed = await loadFeed(this.context.instance.data);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
public render(domElement: HTMLDivElement): void {
|
|
36
|
+
// Called whenever the board wants the widget drawn.
|
|
37
|
+
ReactDOM.render(<Rss items={this.feed} context={this.context} />, domElement);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
`this.context` is the `WidgetContext` the board constructed for this widget instance.
|
|
43
|
+
|
|
44
|
+
### Optional capabilities
|
|
45
|
+
|
|
46
|
+
Each of these is optional. Implementing one tells the board the widget supports that capability.
|
|
47
|
+
|
|
48
|
+
| Method | Purpose |
|
|
49
|
+
| --- | --- |
|
|
50
|
+
| `renderBuddy(el, options?)` | Draw the widget's buddy-bar entry. Return `true` when rendering it yourself. `options.allowRichRendering` says whether the slot has room for more than an icon button. |
|
|
51
|
+
| `renderUserConfigurationForm(el)` | Draw the per-user settings form. |
|
|
52
|
+
| `validateUserConfigurationForm()` | Return a `ValidationResult` before the form is saved. |
|
|
53
|
+
| `getSerializedUserConfiguration()` | Return the form's state as the string the board persists. |
|
|
54
|
+
| `verifyPersistedUserConfiguration(config)` | Check stored configuration before it is used. |
|
|
55
|
+
| `renderAdminConfigurationForm(el)` and its siblings | The same four methods for the admin-level configuration. |
|
|
56
|
+
| `exportData()` / `importData(data)` | Move the widget's stored data between boards. |
|
|
57
|
+
| `updateDataAccess(from, to)` | React to the widget's audience changing. |
|
|
58
|
+
| `cleanupResources()` | Release anything held when the widget is torn down. |
|
|
59
|
+
|
|
60
|
+
### What is on the context
|
|
61
|
+
|
|
62
|
+
`WidgetContext` is broad; these are the parts most widgets reach for.
|
|
63
|
+
|
|
64
|
+
```typescript
|
|
65
|
+
// SharePoint and Graph, already authenticated for this user
|
|
66
|
+
context.sp; // @pnp/sp SPFI
|
|
67
|
+
context.spHttpClient; // SPHttpClient
|
|
68
|
+
context.msGraphClient; // Graph client
|
|
69
|
+
context.aadHttpClientFactory; // for your own AAD-protected APIs
|
|
70
|
+
|
|
71
|
+
// Who is looking at it
|
|
72
|
+
context.userDisplayName;
|
|
73
|
+
context.userEmail;
|
|
74
|
+
context.spUserId;
|
|
75
|
+
context.userRoles; // 'administrator' | 'board-owner' | 'widget-administrator'
|
|
76
|
+
context.language;
|
|
77
|
+
|
|
78
|
+
// Where it is running
|
|
79
|
+
context.siteUrl;
|
|
80
|
+
context.tenantId;
|
|
81
|
+
context.inTeamsContext;
|
|
82
|
+
context.isMobileBrowser;
|
|
83
|
+
context.assetsBaseUrl; // the folder this widget's bundle was loaded from
|
|
84
|
+
|
|
85
|
+
// This placement and its configuration
|
|
86
|
+
context.instance; // this instance: id, parent board, deep links, notifications
|
|
87
|
+
context.instance.data; // user settings for this instance, as a string
|
|
88
|
+
context.variant.data; // board-wide settings for it, as a string
|
|
89
|
+
context.instance.cache; // a CacheManager scoped to this instance
|
|
90
|
+
context.variant.cache; // a CacheManager scoped to the variant
|
|
91
|
+
context.manifest; // what the widget declared about itself
|
|
92
|
+
context.design; // the board's theme colours
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
The full set is in `WidgetContext` in `lib/types`; the interface is documented member by member.
|
|
96
|
+
|
|
97
|
+
### Reading configuration
|
|
98
|
+
|
|
99
|
+
Configuration is persisted as a string. `ConfigurationHelper` parses it back.
|
|
100
|
+
|
|
101
|
+
```typescript
|
|
102
|
+
import { ConfigurationHelper } from '@ichicraft/widgets-widget-base/lib/utils';
|
|
103
|
+
|
|
104
|
+
const config = ConfigurationHelper.parseConfiguration<RssConfig>(this.context.instance.data);
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
`parseConfiguration` returns an empty object rather than throwing when the stored value is empty. `instance.data` holds the settings a user made for this placement; `variant.data` holds the board-wide ones an administrator configured.
|
|
108
|
+
|
|
109
|
+
## Debugging against a live board
|
|
110
|
+
|
|
111
|
+
`lib/dev` builds the webpack dev-server configuration for a widget, resolving a free port first so the manifest url handed to the board always matches the port the server binds to. That is what allows several widgets to be debugged on one board at the same time.
|
|
112
|
+
|
|
113
|
+
```typescript
|
|
114
|
+
// webpack.dev.ts
|
|
115
|
+
import { createWidgetDevServerConfig } from '@ichicraft/widgets-widget-base/lib/dev';
|
|
116
|
+
import serveConfig from './config/serve.config';
|
|
117
|
+
|
|
118
|
+
const { devServer, cssModuleLocalIdentName, manifestUrl, debugPageUrl } =
|
|
119
|
+
await createWidgetDevServerConfig({ projectPath: __dirname, serveConfig });
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
`serve.config.ts` controls the session:
|
|
123
|
+
|
|
124
|
+
```typescript
|
|
125
|
+
export default {
|
|
126
|
+
widgetsDebugPageUrl: 'https://contoso.sharepoint.com/sites/intranet/SitePages/Home.aspx',
|
|
127
|
+
debugPort: 8081, // optional; otherwise the first free port from 8080 up
|
|
128
|
+
openBrowser: false, // set false for the second and further widgets in a session
|
|
129
|
+
};
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
`cssModuleLocalIdentName` is keyed by port, so two widgets served at once never collide on css module class names.
|
|
133
|
+
|
|
134
|
+
`webpack` and `webpack-dev-server` are optional peer dependencies. They are only needed for these helpers, which every widget project already has installed.
|
|
135
|
+
|
|
136
|
+
# Changelog
|
|
137
|
+
|
|
138
|
+
All notable changes to this project will be documented here.
|
|
139
|
+
|
|
140
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
141
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
142
|
+
|
|
143
|
+
Entries from 1.21.0 onwards are generated from pull request descriptions when a release is built.
|
|
144
|
+
|
|
145
|
+
<!-- changelog:insert -->
|
|
146
|
+
|
|
147
|
+
## 1.22.0 - 2026-09-15
|
|
148
|
+
|
|
149
|
+
### Added
|
|
150
|
+
- Widgets can change how the board draws their header and body: the header can show as an overlay on hover instead of a bar, the actions can be limited to the essential ones the user can perform, and the body can be transparent without a card.
|
|
151
|
+
- Widgets can show an icon before their title, with an optional color and tooltip. While a widget is being debugged, the debug icon takes its place.
|
|
152
|
+
- Widgets can show a badge after their title, with a count or a short text.
|
|
153
|
+
- The design settings now include the spacing between widgets on the board, so a widget can align its own columns with the board.
|
|
154
|
+
- Widgets can read and follow properties that change while they are loaded: their title and subtitle, the selected tab, deep link data, their size in the board grid, the render options the board applies, whether they are being dragged or resized, whether the user can change their settings, and the current design and theme.
|
|
155
|
+
- Widgets that follow design and theme changes themselves are no longer reloaded when the user switches themes, for example to dark mode.
|
|
156
|
+
- Widgets can tell whether they are loaded from a local debug session instead of their published build.
|
|
157
|
+
|
|
158
|
+
### Changed
|
|
159
|
+
- Showing or hiding the widget header is replaced by the new render options. The previous function keeps working and maps to the header render mode.
|
|
160
|
+
|
|
161
|
+
## 1.21.0 - 2026-08-27
|
|
162
|
+
|
|
163
|
+
### Changed
|
|
164
|
+
- The package now needs SharePoint Framework 1.23.2 or newer.
|
|
165
|
+
- The framework dependency accepts any 1.x from 1.23.2 upwards rather than one exact version.
|
|
166
|
+
- The package page on npm now explains how to write a widget: the base class, what the context carries, where configuration is stored, and the helpers for debugging against a live installation of Bloom Intranet.
|
|
167
|
+
|
|
168
|
+
## 1.20.0 - 2026-08-25
|
|
169
|
+
|
|
170
|
+
- Added `createWidgetDevServerConfig` and `findAvailablePort`, exported from `@ichicraft/widgets-widget-base/lib/dev` for use in a widget's `webpack.dev.ts`. The helper resolves a free port before it builds the debug url, so the manifest url handed to the board always matches the port the dev server binds to. This is what allows several widgets to be served and debugged on the same board at the same time.
|
|
171
|
+
- Added `cssModuleLocalIdentName` to the result of `createWidgetDevServerConfig`. It is keyed by port, so css module class names stay unique between widgets that are served at the same time.
|
|
172
|
+
- Added optional `debugPort` property to `WidgetDebugServeConfig`, pinning a widget's dev server to a fixed port. When omitted, the first free port from 8080 upwards is used.
|
|
173
|
+
- Added optional `openBrowser` property to `WidgetDebugServeConfig`. Set it to `false` for the second and further widgets in a multi-widget debug session, so they serve their bundle without opening a browser window of their own.
|
|
174
|
+
- Added `webpack` and `webpack-dev-server` as optional peer dependencies. They are only needed when using the `lib/dev` helpers, which every widget project already has installed.
|
|
175
|
+
- **Breaking:** removed the `DebugComponentType` enum and the `debugComponentType` property of `WidgetDebugServeConfig`. Opening the board on one specific component no longer makes sense now that several widgets can be debugged at once. Remove both from your `config/serve.config.ts`.
|
|
176
|
+
|
|
177
|
+
## 1.19.0 - 2026-08-18
|
|
178
|
+
|
|
179
|
+
- Added optional `bloomGroups` provider to `WidgetContext`, exposing a `fetchGroups()` function that supplies the tenant's Bloom Group definitions. Widgets can pass it through to their people pickers so Bloom Groups can be offered as suggestions.
|
|
180
|
+
|
|
181
|
+
## 1.18.0 - 2026-08-17
|
|
182
|
+
|
|
183
|
+
- Added optional `assetsBaseUrl` property to the `WidgetContext` interface, containing the base URL of the folder the widget bundle was loaded from. This allows widgets to fetch files that are published alongside their bundle, such as per-language translation files.
|
|
184
|
+
|
|
185
|
+
## 1.17.0 - 2026-07-16
|
|
186
|
+
|
|
187
|
+
- Moved `UserHelper`, `ICPersona`, `ICPersonaType`, `ICSite`, `ICTeam` and `ICTerm` to an internal package.
|
|
188
|
+
|
|
189
|
+
## 1.16.6 - 2026-06-03
|
|
190
|
+
|
|
191
|
+
- Replaced unused `design.header.activeTextColor` with `design.header.subTextColor`
|
|
192
|
+
|
|
193
|
+
## 1.16.5 - 2026-06-01
|
|
194
|
+
|
|
195
|
+
- Added `BuddyRenderOptions` interface, passed by the host to `BaseWidget.renderBuddy` to describe the slot the widget is about to render into.
|
|
196
|
+
- Added optional `options` parameter to `BaseWidget.renderBuddy`, of type `BuddyRenderOptions`. Contains an `allowRichRendering` boolean that signals whether the slot has room for richer rendering than the standard buddy icon button — letting the widget decide synchronously between custom and default rendering.
|
|
197
|
+
|
|
198
|
+
## 1.16.4 - 2026-05-27
|
|
199
|
+
|
|
200
|
+
- Added `header` property to `WidgetDesignContext` interface, exposing the header's `textColor`, `iconColor`, `activeTextColor` and `activeIconColor` from the user's theme.
|
|
201
|
+
- Deprecated `defaultColor` property on `WidgetBuddyContext` interface in favor of `design.header.iconColor` (and `design.header.activeIconColor` for the hover/active state).
|
|
202
|
+
|
|
203
|
+
## 1.16.3 - 2026-05-08
|
|
204
|
+
|
|
205
|
+
- Added `whatsNewUrl` property to `WidgetManifestConfig` to allow quick access to updates that the widget has received.
|
|
206
|
+
- Added `aboutUrl` property to `WidgetManifestConfig` to allow quick access to more information about the widget.
|
|
207
|
+
|
|
208
|
+
## 1.16.2 - 2026-03-25
|
|
209
|
+
|
|
210
|
+
- Fixed issue with using internal library `@ic/caching` by publishing caching library as public (`@ichicraft/caching`)
|
|
211
|
+
|
|
212
|
+
## 1.16.1 - 2026-03-19
|
|
213
|
+
|
|
214
|
+
- Addition of `notificationBadgeCount` property to `CommandBarItemProps` to allow for a number to be displayed in the badge
|
|
215
|
+
|
|
216
|
+
## 1.16.0 - 2026-03-09
|
|
217
|
+
|
|
218
|
+
- Addition of `cache` property to `instance`, `variant` and `manifest` level of `WidgetContext` to centralize cache handling and functionality
|
|
219
|
+
|
|
220
|
+
## 1.15.4 - 2026-01-07
|
|
221
|
+
|
|
222
|
+
- Override version of deep dependency 'validator' to get rid of potential vulnerability
|
|
223
|
+
|
|
224
|
+
## 1.15.3 - 2025-12-09
|
|
225
|
+
|
|
226
|
+
- Added property `isIndeterminate` to `ICTerm` interface, used to represent a term's indeterminate checkmark state.
|
|
227
|
+
|
|
228
|
+
## 1.15.2 - 2025-11-21
|
|
229
|
+
|
|
230
|
+
- Added new interface `ICTerm`, used to represent a SharePoint Taxonomy Term object in code
|
|
231
|
+
|
|
232
|
+
## 1.15.1 - 2025-09-30
|
|
233
|
+
|
|
234
|
+
- Added new interface `ICTeam`, used to represent a Microsoft Teams team object in code
|
|
235
|
+
|
|
236
|
+
## 1.15.0 - 2025-09-29
|
|
237
|
+
|
|
238
|
+
- Deprecated `msGraphClientFactory` in favor of `msGraphClient` in the `WidgetManifestConfig` interface.
|
|
239
|
+
|
|
240
|
+
## 1.14.7 - 2025-08-21
|
|
241
|
+
|
|
242
|
+
- Added `parentId` property to the `WidgetInstanceContext` interface, to support checking the ID of the parent of a widget instance.
|
|
243
|
+
|
|
244
|
+
## 1.14.6 - 2025-08-11
|
|
245
|
+
|
|
246
|
+
- Added `updateInstanceConfiguration` property to the `WidgetInstanceContext` interface, to support updating the instance configuration directly in a widget, instead of through the settings panel.
|
|
247
|
+
|
|
248
|
+
## 1.14.5 - 2025-08-07
|
|
249
|
+
|
|
250
|
+
- Added `imageUrl` property to the `CommandBarTab` interface, to support displaying images in widget header tabs.
|
|
251
|
+
|
|
252
|
+
## 1.14.4 - 2025-08-01
|
|
253
|
+
|
|
254
|
+
- Added `releaseType` property to the `WidgetManifestConfig` interface, to indicate the current stage of the release lifecycle a widget is in.
|
|
255
|
+
- Added `registerOnBuddyClick` property to the `WidgetBuddyContext` interface, to allow overriding default onClick behavior when clicking on a buddy (by default, it opens the widget in a Callout).
|
|
256
|
+
|
|
257
|
+
## 1.14.3 - 2025-07-04
|
|
258
|
+
|
|
259
|
+
- Added `justification` string property to widget manifest to describe the reasoning behind the need for certain API permisisons
|
|
260
|
+
|
|
261
|
+
## 1.14.2 - 2025-07-02
|
|
262
|
+
|
|
263
|
+
- Reverted `@microsoft/sp-http` dependency back to SPFx version `1.18.2` due to postponed upgrade
|
|
264
|
+
- Added `isOptional` boolean to widget manifest to allow marking certain API permission requests as optional
|
|
265
|
+
|
|
266
|
+
## 1.14.1 - 2025-06-17
|
|
267
|
+
|
|
268
|
+
- Reverted module type 'commonjs' for backwards compatibility
|
|
269
|
+
|
|
270
|
+
## 1.14.0 - 2025-05-21
|
|
271
|
+
|
|
272
|
+
- Version bumped `@microsoft/sp-http` dependency to latest SPFx version `1.21.1`
|
|
273
|
+
|
|
274
|
+
## 1.13.2 - 2025-04-11
|
|
275
|
+
|
|
276
|
+
- Minor update in documentation of `WebApiPermissionRequest` interface
|
|
277
|
+
|
|
278
|
+
## 1.13.1 - 2025-03-11
|
|
279
|
+
|
|
280
|
+
- Added new interface `ICSite`, used to represent a SharePoint site object in code
|
|
281
|
+
|
|
282
|
+
## 1.13.0 - 2025-02-17
|
|
283
|
+
|
|
284
|
+
- Fixed an issue with detecting external users in `UserHelper`
|
|
285
|
+
- Changed target JavaScript version to `ES6`
|
|
286
|
+
|
|
287
|
+
## 1.12.0 - 2025-02-11
|
|
288
|
+
|
|
289
|
+
- Added `ColorOption` interface.
|
|
290
|
+
- Added `WidgetDesignContext` interface.
|
|
291
|
+
- Added `design` property of type `WidgetDesignContext` to `WidgetContext` interface, to support UI settings within widgets.
|
|
292
|
+
- Deprecated `elementBorderRadius` property which is renamed to `borderRadius` and moved under `design` property in `WidgetContext` interface.
|
|
293
|
+
|
|
294
|
+
## 1.11.6 - 2025-01-30
|
|
295
|
+
|
|
296
|
+
- Added `spServiceScope` property to `WidgetContext` interface.
|
|
297
|
+
- Added `loadComponentById` function to `WidgetContext` interface.
|
|
298
|
+
- Deprecated `definition` property which is replaced by `variant` property in `WidgetContext` interface.
|
|
299
|
+
- Deprecated `instance.publishNotification` function in `WidgetContext` interface because feature is no longer available.
|
|
300
|
+
|
|
301
|
+
## 1.11.5 - 2025-01-21
|
|
302
|
+
|
|
303
|
+
- Added `defaultColor` property to `WidgetBuddyContext` interface.
|
|
304
|
+
|
|
305
|
+
## 1.11.4 - 2024-11-08
|
|
306
|
+
|
|
307
|
+
- Added `driveId` property to `FilePickerFileProps` interface.
|
|
308
|
+
|
|
309
|
+
## 1.11.3 - 2024-11-05
|
|
310
|
+
|
|
311
|
+
- Added `fileName` property to `FilePickerFileProps` interface.
|
|
312
|
+
|
|
313
|
+
## 1.11.2 - 2024-10-21
|
|
314
|
+
|
|
315
|
+
- Added optional `objectId` property to the `ICPersona` interface.
|
|
316
|
+
|
|
317
|
+
## 1.11.1 - 2024-10-17
|
|
318
|
+
|
|
319
|
+
- Made `buddy` property of type `WidgetBuddyContext` optional.
|
|
320
|
+
|
|
321
|
+
## 1.11.0 - 2024-10-17
|
|
322
|
+
|
|
323
|
+
- Added `renderBuddy` function to the `BaseWidget` class, to support rendering widgets as a buddy.
|
|
324
|
+
- Added `buddy` property of type `WidgetBuddyContext` to the `WidgetContext` interface, to support utility functions specifically for a widget buddy.
|
|
325
|
+
- Added `setBadgeProperties` function to the `WidgetBuddyContext` interface, to allow rendering a badge on top of the buddy.
|
|
326
|
+
|
|
327
|
+
## 1.10.8 - 2024-10-15
|
|
328
|
+
|
|
329
|
+
- Added `buddybar` to the `BoardType` type, to support widgets that run in the scope of the upcoming buddy bar feature
|
|
330
|
+
|
|
331
|
+
## 1.10.7 - 2024-08-20
|
|
332
|
+
|
|
333
|
+
- Replaced `onInit` function with a new asynchronous `init` function in the `BaseWidget` class, to allow waiting until initialization is complete.
|
|
334
|
+
|
|
335
|
+
## 1.10.6 - 2024-08-19
|
|
336
|
+
|
|
337
|
+
- Added `userDisplayName` property to the `WidgetContext` interface, to allow using the currently signed-in user's display name in widgets.
|
|
338
|
+
|
|
339
|
+
## 1.10.5 - 2024-08-07
|
|
340
|
+
|
|
341
|
+
- Added `onSearch` property to the `CommandBarSearchItem` interface, to allow executing a callback when the user presses enter in the search box.
|
|
342
|
+
|
|
343
|
+
## 1.10.4 - 2024-07-23
|
|
344
|
+
|
|
345
|
+
- Added `SearchBar` value to the `CommandBarItemType` enum, to allow rendering a command bar item as a search bar.
|
|
346
|
+
- Added `CommandBarSearchItem` interface, to allow passing extra search-related props to a CommandBarItem of type `SearchBar`.
|
|
347
|
+
- Added optional `overflowButtonIconName` and `overflowButtonTooltip` properties to the `CommandBarTabOptions` interface, to allow customization of the overflow menu button.
|
|
348
|
+
- Added optional `itemCount` property to the `CommandBarTab` interface.
|
|
349
|
+
- Added summaries to functions and interfaces related to widget command bar tabs.
|
|
350
|
+
|
|
351
|
+
## 1.10.3 - 2024-07-22
|
|
352
|
+
|
|
353
|
+
- Added override in package.json to use version `2.3.7` instead of `2.3.6` of `requirejs` because the latter has vulnerability CVE-2024-38999
|
|
354
|
+
|
|
355
|
+
## 1.10.2 - 2024-07-19
|
|
356
|
+
|
|
357
|
+
- Added `registerTabs` function to the `WidgetInstanceContext` interface, to allow rendering of tabs in the widget header.
|
|
358
|
+
- Added `setSelectedTab` function to the `WidgetInstanceContext` interface, to allow setting the current selected tab in the widget header.
|
|
359
|
+
- Added `CommandBarTab` interface.
|
|
360
|
+
- Added `CommandBarTabOptions` interface.
|
|
361
|
+
|
|
362
|
+
## 1.10.1 - 2024-07-08
|
|
363
|
+
|
|
364
|
+
- Added `widget-administrator` role to the `UserRole` type.
|
|
365
|
+
|
|
366
|
+
## 1.10.0 - 2024-06-25
|
|
367
|
+
|
|
368
|
+
- Added optional `updateDataAccess()` function to the `BaseWidget` class, used to update access to widget-specific data.
|
|
369
|
+
- Added `administrators` property to the `WidgetVariantContext` interface.
|
|
370
|
+
|
|
371
|
+
## 1.9.14 - 2024-06-18
|
|
372
|
+
|
|
373
|
+
- Change import of `SPFI` type to decrease bundle sizes in widgets.
|
|
374
|
+
|
|
375
|
+
## 1.9.13 - 2024-06-18
|
|
376
|
+
|
|
377
|
+
- Added `spHttpClient` property to `WidgetContext` interface, to perform REST calls against SharePoint.
|
|
378
|
+
- Added `spHttpClientConfiguration` property to `WidgetContext` interface.
|
|
379
|
+
|
|
380
|
+
## 1.9.12 - 2024-06-17
|
|
381
|
+
|
|
382
|
+
- Added `sp` property to `WidgetContext` interface, to allow using a centralized PnPjs version across all widgets.
|
|
383
|
+
- Added `siteId` property to `WidgetContext` interface.
|
|
384
|
+
- Added `boardsInstanceId` property to `WidgetContext` interface.
|
|
385
|
+
|
|
386
|
+
## 1.9.11 - 2024-06-14
|
|
387
|
+
|
|
388
|
+
- Fixed handling of null `ICPersonaType` values in `isCurrentUserInScope` function of `UserHelper` class.
|
|
389
|
+
|
|
390
|
+
## 1.9.10 - 2024-06-04
|
|
391
|
+
|
|
392
|
+
- Renamed `CustomCommandBarItemProps` interface to `CommandBarItemProps`.
|
|
393
|
+
- Merged `CommandBarIcon`, `CommandBarLink` and `CommandBarItemBase` interfaces into the `CommandBarItemProps` interface, to simplify adding custom command bar items.
|
|
394
|
+
- Added `Overflow` type to `CommandBarItemType` enum, to allow rendering an item inside the overflow menu.
|
|
395
|
+
- Added `highlighted` property to the `CommandBarItemProps` interface, to allow rendering an item as if it is being hovered.
|
|
396
|
+
- Added `cursor` property to the `CommandBarItemProps` interface, to allow a different cursor when hovering over an item.
|
|
397
|
+
- Added `disabled` property to the `CommandBarItemProps` interface, to allow rendering an item in a disabled state.
|
|
398
|
+
|
|
399
|
+
## 1.9.9 - 2024-05-14
|
|
400
|
+
|
|
401
|
+
- Changed return type of `createDeepLink` function of the WidgetInstanceContext interface from `void` to `string`.
|
|
402
|
+
|
|
403
|
+
## 1.9.8 - 2024-05-13
|
|
404
|
+
|
|
405
|
+
- Added `createDeepLink` property to the WidgetInstanceContext interface, to allow creating a deep link URL based on the current board and a widget instance.
|
|
406
|
+
- Added `setDeepLinkData` property to the WidgetInstanceContext interface, to allow setting deep link data related to a widget instance in the URL of the current page.
|
|
407
|
+
- Added `getDeepLinkData` property to the WidgetInstanceContext interface, to allow getting deep link data related to a widget instance from the URL of the current page.
|
|
408
|
+
|
|
409
|
+
## 1.9.7 - 2024-04-19
|
|
410
|
+
|
|
411
|
+
- Added `hideSpHubNav` property to the IFrameDialogOptions interface, to allow hiding the Hub navigation on SharePoint sites.
|
|
412
|
+
- Added `hideSpSiteHeader` property to the IFrameDialogOptions interface, to allow hiding the site header on SharePoint sites.
|
|
413
|
+
- Added `showHistoryButtons` property to the IFrameDialogOptions interface, to render back and forward buttons, allowing the user to navigate the browser history.
|
|
414
|
+
- Added `showOpenInNewWindow` property to the IFrameDialogOptions interface, to render an 'open in new window' button, allowing the user to open the iframe url in a new browser window.
|
|
415
|
+
|
|
416
|
+
## 1.9.6 - 2024-04-19
|
|
417
|
+
|
|
418
|
+
- Changed `onRenderHeaderIcon` property of the IFrameDialogOptions interface, to work similarly to the widget render functions.
|
|
419
|
+
|
|
420
|
+
## 1.9.5 - 2024-04-18
|
|
421
|
+
|
|
422
|
+
- Added `title` property to the IFrameDialogOptions interface, to allow rendering a title in the dialog header.
|
|
423
|
+
- Added `titleUrl` property to the IFrameDialogOptions interface, to allow making the dialog header title clickable.
|
|
424
|
+
- Added `onRenderHeaderIcon` property to the IFrameDialogOptions interface, to allow rendering an icon in the dialog header.
|
|
425
|
+
- Added `onLoad` property to the IFrameDialogOptions interface, to support executing some code after the iframe finishes loading.
|
|
426
|
+
|
|
427
|
+
## 1.9.4 - 2024-04-11
|
|
428
|
+
|
|
429
|
+
- Reintroduced the following types: `AadHttpClient`,`AadHttpClientConfiguration`,`AadHttpClientFactory`,`AadHttpClientResponse`, `AadTokenProvider`, `AadTokenProviderFactory`
|
|
430
|
+
|
|
431
|
+
## 1.9.2 - 2024-03-21
|
|
432
|
+
|
|
433
|
+
- Added `CommandBarIcon` interface, to allow rendering a `CustomCommandBarItem` as a single icon or an icon button.
|
|
434
|
+
- Added `CommandBarLink` interface, to allow rendering a `CustomCommandBarItem` as a clickable link.
|
|
435
|
+
- Added `CommandBarItemBase` interface, to act as a base for different types of `CustomCommandBarItem`.
|
|
436
|
+
- Added `elementBorderRadius` property to the `WidgetContext` interface, to allow styling widgets according to the configured design preferences.
|
|
437
|
+
- Changed `CustomCommandBarItemProps` type to accept either a `CommandBarIcon` or a `CommandBarLink`.
|
|
438
|
+
|
|
439
|
+
## 1.9.1 - 2023-10-20
|
|
440
|
+
|
|
441
|
+
- Added `WidgetInstanceContext` interface, to allow typing the `instance` property of the `WidgetContext` interface.
|
|
442
|
+
- Added `WidgetVariantContext` interface, to allow typing the `definition` property of the `WidgetContext` interface.
|
|
443
|
+
- Added `WidgetManifestContext` interface, to allow typing the `manifest` property of the `WidgetContext` interface.
|
|
444
|
+
|
|
445
|
+
## 1.9.0 - 2023-10-20
|
|
446
|
+
|
|
447
|
+
- Added optional `importData()` function to the `BaseWidget` class, used to import widget-specific data.
|
|
448
|
+
- Added optional `exportData()` function to the `BaseWidget` class, used to export widget-specific data.
|
|
449
|
+
- Added new exported `ExportData` type.
|
|
450
|
+
|
|
451
|
+
## 1.8.17 - 2023-10-09
|
|
452
|
+
|
|
453
|
+
- Added `iconName` property to the `definition` object of the `WidgetContext` interface, to support using an icon to represent a widget.
|
|
454
|
+
|
|
455
|
+
## 1.8.16 - 2023-09-26
|
|
456
|
+
|
|
457
|
+
- Added `Custom` value to `ICPersonaType` enum, to support a custom ICPersona.
|
|
458
|
+
|
|
459
|
+
## 1.8.15 - 2023-09-01
|
|
460
|
+
|
|
461
|
+
- Added `thumbnailUrl` property to `WidgetManifestConfig` interface, as a non-translatable substitute of the newly deprecated `preview_small` property from `WidgetImages` interface.
|
|
462
|
+
- Removed the deprecated `preview_small` property from `WidgetImages` interface.
|
|
463
|
+
|
|
464
|
+
## 1.8.14 - 2023-09-01
|
|
465
|
+
|
|
466
|
+
- Added `iconName` property to `WidgetManifestConfig` interface, to support using an icon to represent a widget, e.g. in the widget library or widget header.
|
|
467
|
+
- Removed the deprecated `notificationIcon` property from `WidgetManifestConfig` interface.
|
|
468
|
+
|
|
469
|
+
## 1.8.13 - 2023-06-08
|
|
470
|
+
|
|
471
|
+
- Removed the deprecated `resolved` property from `ICPersona` interface
|
|
472
|
+
|
|
473
|
+
## 1.8.12 - 2023-04-04
|
|
474
|
+
|
|
475
|
+
- Changed `openFilePicker` function to return more details of the picked file in the shape of `FilePickerFileProps`
|
|
476
|
+
|
|
477
|
+
## 1.8.11 - 2023-04-03
|
|
478
|
+
|
|
479
|
+
- Changed `openFilePicker` function to return more details of the picked file in the shape of `FilePickerFileProps`
|
|
480
|
+
|
|
481
|
+
## 1.8.10 - 2023-03-30
|
|
482
|
+
|
|
483
|
+
- Changed `openFilePicker` function to accept `options`, to support configuration of picker behavior
|
|
484
|
+
|
|
485
|
+
## 1.8.9 - 2023-03-06
|
|
486
|
+
|
|
487
|
+
- Added `registerCustomCommandBarItems` function to the `instance` object of the `WidgetContext` interface, to support multiple custom buttons in the widget header.
|
|
488
|
+
- Added `unregisterCustomCommandBarItems` function to the `instance` object of the `WidgetContext` interface, to support removing all custom buttons in the widget header.
|
|
489
|
+
- Added optional `id` property to exported `CustomCommandBarItemProps` type, to support removing a custom command bar item by id.
|
|
490
|
+
- Added optional `pinned` property to exported `CustomCommandBarItemProps` type, to support forcing the widget header to always be visible.
|
|
491
|
+
- Added optional `showNotificationBadge` property to exported `CustomCommandBarItemProps` type, to support showing a red notification badge over the custom command bar item.
|
|
492
|
+
- Added optional `order` property to exported `CustomCommandBarItemProps` type, to support changing the order of custom command bar items.
|
|
493
|
+
- Changed `unregisterCustomCommandBarItem` function of the `instance` object of the `WidgetContext` interface, to support removing a custom command bar item by id.
|
|
494
|
+
|
|
495
|
+
## 1.8.8 - 2023-02-16
|
|
496
|
+
|
|
497
|
+
- Removed all SharePoint and Teams dependencies.
|
|
498
|
+
|
|
499
|
+
## 1.8.7 - 2022-12-13
|
|
500
|
+
|
|
501
|
+
- Added `userRoles` property to the `WidgetContext` interface, to inform widgets of the roles of the current user.
|
|
502
|
+
- Added new exported `UserRole` type.
|
|
503
|
+
|
|
504
|
+
## 1.8.6 - 2022-12-08
|
|
505
|
+
|
|
506
|
+
- Added `boardType` property to the `instance` object of the `WidgetContext` interface, to inform widgets of the type of their board.
|
|
507
|
+
- Added `allowedBoardTypes` property to the `definition` object of the `WidgetContext` interface, to inform widget variants of the types of boards it is allowed to be added to.
|
|
508
|
+
- Added new exported `BoardType` type.
|
|
509
|
+
|
|
510
|
+
## 1.8.5 - 2022-09-30
|
|
511
|
+
|
|
512
|
+
- Added `setWidgetTitleSuffix()` function to the `instance` object of the `WidgetContext` interface, to support appending the title of the widget with additional text.
|
|
513
|
+
- Added `setWidgetSubtitle()` function to the `instance` object of the `WidgetContext` interface, to support overriding the subtitle of the widget.
|
|
514
|
+
- Added `setUserConfigButtonVisibilty()` function to the `instance` object of the `WidgetContext` interface, to support hiding the settings button from the widget header.
|
|
515
|
+
- Fixed spelling of `setWidgetHeaderVisibilty()` function. The function is now called `setWidgetHeaderVisibility()`.
|
|
516
|
+
|
|
517
|
+
## 1.8.4 - 2022-09-05
|
|
518
|
+
|
|
519
|
+
- Added `openIFrameDialog()` function to the `WidgetContext` interface. This has the same functionality as the `openUrlInDialog()` function of the `instance` object, but adds more control over the dimensions of the dialog. The function `openUrlInDialog()` is now deprecated.
|
|
520
|
+
|
|
521
|
+
## 1.8.3 - 2022-08-16
|
|
522
|
+
|
|
523
|
+
- Added `openFilePicker()` function to the `WidgetContext` interface to support file selection from within a widget.
|
|
524
|
+
|
|
525
|
+
## 1.8.2 - 2022-07-06
|
|
526
|
+
|
|
527
|
+
- Added `subtitle` property to the `WidgetResource` interface.
|
|
528
|
+
|
|
529
|
+
## 1.8.1 - 2022-06-17
|
|
530
|
+
|
|
531
|
+
- Added new section `analytics` to `WidgetManifestConfig` interface to allow definition of time-based events that can be raised by a widget.
|
|
532
|
+
- Added `raiseEvent(...)` to the `instance` object of the `WidgetContent` interface, allowing widgets to raise an event.
|
|
533
|
+
|
|
534
|
+
## 1.7.11 - 2022-03-23
|
|
535
|
+
|
|
536
|
+
- Added `setWidgetHeaderVisibilty()` function to the `instance` object of the `WidgetContext` interface, allowing widgets to render in full height.
|
|
537
|
+
|
|
538
|
+
## 1.7.9 - 2022-01-20
|
|
539
|
+
|
|
540
|
+
- Added `userAccountCreated` date/time to the `WidgetContext` interface.
|
|
541
|
+
|
|
542
|
+
## 1.7.8 - 2022-01-18
|
|
543
|
+
|
|
544
|
+
### Changed
|
|
545
|
+
|
|
546
|
+
- Added `initiateWidgetDeletion()` function to the `WidgetContext` interface.
|
|
547
|
+
|
|
548
|
+
## 1.7.7 - 2022-01-14
|
|
549
|
+
|
|
550
|
+
### Changed
|
|
551
|
+
|
|
552
|
+
- Added `tenantId` property to the `WidgetContext` interface.
|
|
553
|
+
|
|
554
|
+
## 1.7.6 - 2021-11-04
|
|
555
|
+
|
|
556
|
+
### Changed
|
|
557
|
+
|
|
558
|
+
- Added `theme` property to the `WidgetContext` interface to give access to currently applied theme.
|
|
559
|
+
|
|
560
|
+
## 1.7.5 - 2021-10-26
|
|
561
|
+
|
|
562
|
+
### Changed
|
|
563
|
+
|
|
564
|
+
- Added `userSecurityGroups` and `userSharePointGroups` properties to the `WidgetContext` interface to inform widgets of SharePoint and security group memberships of the current user.
|
|
565
|
+
|
|
566
|
+
## 1.7.4 - 2021-10-20
|
|
567
|
+
|
|
568
|
+
### Changed
|
|
569
|
+
|
|
570
|
+
- Added `contentLanguages` property to the `WidgetContext` interface to inform widgets of the available content languages as configured in Ichicraft Boards.
|
|
571
|
+
|
|
572
|
+
## 1.7.3 - 2021-10-04
|
|
573
|
+
|
|
574
|
+
### Changed
|
|
575
|
+
|
|
576
|
+
- Added `manifestVersion` property to the `WidgetManifestConfig` interface to support multiple versions of the manifest. Current version is 2 which introduced this and the `externals` property.
|
|
577
|
+
- Added `externals` property to the `WidgetManifestConfig` interface to support libraries that can be loaded separately from the widget bundle. This reduces widget bundle size and improves overal performance of Ichicraft Boards.
|
|
578
|
+
|
|
579
|
+
## 1.6.1 - 2021-02-18
|
|
580
|
+
|
|
581
|
+
### Changed
|
|
582
|
+
|
|
583
|
+
- Added `userEmail` property to the `WidgetContext` interface to provide current user's email address to widgets.
|
|
584
|
+
|
|
585
|
+
## 1.5.0 - 2021-02-16
|
|
586
|
+
|
|
587
|
+
### Changed
|
|
588
|
+
|
|
589
|
+
- Added `teamsSdk` property to the `WidgetContext` interface to allow interaction with Teams in case widget board is running in Teams client. Will be `undefined` if running in SharePoint.
|
|
590
|
+
|
|
591
|
+
## 1.4.0 - 2021-01-25
|
|
592
|
+
|
|
593
|
+
### Changed
|
|
594
|
+
|
|
595
|
+
- Added several properties to the `WidgetContext` interface to identify the context in which the widget is shown (e.g. Team Browser hosted)
|
|
596
|
+
|
|
597
|
+
## 1.3.0 - 2021-01-15
|
|
598
|
+
|
|
599
|
+
### Changed
|
|
600
|
+
|
|
601
|
+
- `registerCustomCommandBarItem()` is added to the `WidgetContext` interface as a function to call from within a widget instance to render an additional command bar item in the widget header.
|
|
602
|
+
- `unregisterCustomCommandBarItem()` is added to the `WidgetContext` interface as a function to call from within a widget instance to remove a previously added command bar item from the widget header.
|
|
603
|
+
|
|
604
|
+
## 1.2.0 - 2021-01-15
|
|
605
|
+
|
|
606
|
+
### Changed
|
|
607
|
+
|
|
608
|
+
- `loadScript()` is added to the `WidgetContext` interface as a function to call from within a widget in case an external script needs to be loaded. This allows the widget board to load external javascript.
|
|
609
|
+
|
|
610
|
+
## 1.1.0 - 2021-01-11
|
|
611
|
+
|
|
612
|
+
### Changed
|
|
613
|
+
|
|
614
|
+
- `handleFatalError()` is added to the `WidgetContext` interface as a function to call from within a widget in case of an unhandled/unresolvable error. This allows the widget board to handle this situation gracefully.
|
|
615
|
+
- **deps:** removed dependency ajv
|
|
616
|
+
|
|
617
|
+
## <= 1.0.5 - 2020-12-07
|
|
618
|
+
|
|
619
|
+
No changelog was maintained for the earlier versions.
|