@webiny/mcp 6.4.0-beta.1 → 6.4.0-beta.3

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/mcp",
3
- "version": "6.4.0-beta.1",
3
+ "version": "6.4.0-beta.3",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./index.js",
@@ -28,7 +28,7 @@
28
28
  "devDependencies": {
29
29
  "@types/lodash": "4.17.24",
30
30
  "@types/ncp": "2.0.8",
31
- "@webiny/build-tools": "6.4.0-beta.1",
31
+ "@webiny/build-tools": "6.4.0-beta.3",
32
32
  "execa": "5.1.1",
33
33
  "tsx": "4.21.0",
34
34
  "typescript": "6.0.3"
@@ -36,5 +36,5 @@
36
36
  "scripts": {
37
37
  "prepublishOnly": "bash ./prepublishOnly.sh"
38
38
  },
39
- "gitHead": "73237b8243693038c072bae1c0b783387448cbbe"
39
+ "gitHead": "2e58681d4344024bfb60e6180338e2f154ec87f0"
40
40
  }
@@ -0,0 +1,130 @@
1
+ ---
2
+ name: file-url-formatter
3
+ context: webiny-extensions
4
+ description: >
5
+ Covers the FileUrlFormatter extension point introduced in Webiny 6.4.0.
6
+ Explains how to register a custom URL formatter that transforms file/image
7
+ URLs throughout the admin UI (e.g. to append CDN-specific query parameters).
8
+ Handles the createFeature + RegisterFeature pattern, the format(url, params)
9
+ mutation contract, and the FileUrlFormatter.Params type namespace.
10
+ ---
11
+
12
+ # File URL Formatter
13
+
14
+ ## TL;DR
15
+
16
+ `FileUrlFormatter` lets you intercept image URL construction in the admin UI and
17
+ rewrite it — adding CDN tokens, remapping query parameters, or changing the host.
18
+ Register your implementation once via `createFeature`; it is automatically picked
19
+ up by every `FilePicker` thumbnail in the app.
20
+
21
+ ## The Interface
22
+
23
+ Defined in `@webiny/admin-ui`:
24
+
25
+ ```ts
26
+ export interface FileUrlParams {
27
+ width?: number;
28
+ [key: string]: unknown;
29
+ }
30
+
31
+ export interface FileUrlFormatter {
32
+ format(url: URL, params?: FileUrlParams): void;
33
+ }
34
+ ```
35
+
36
+ `format` receives a mutable `URL` object. Mutate it in place — no return value.
37
+ `params` carries the caller's intent (e.g. `{ width: 128 }`) alongside any
38
+ arbitrary extra keys your implementation may recognise.
39
+
40
+ All types are exposed through the `FileUrlFormatter` namespace:
41
+
42
+ | Type | Usage |
43
+ | ---------------------------- | ------------------------------ |
44
+ | `FileUrlFormatter.Interface` | implement this in your class |
45
+ | `FileUrlFormatter.Params` | type for the `params` argument |
46
+
47
+ ## Creating an Implementation
48
+
49
+ ```ts
50
+ // extensions/myFormatter/MyFileUrlFormatter.ts
51
+ import { FileUrlFormatter } from "webiny/admin/file-manager";
52
+
53
+ class MyFileUrlFormatter implements FileUrlFormatter.Interface {
54
+ format(url: URL, params?: FileUrlFormatter.Params): void {
55
+ if (params?.width !== undefined) {
56
+ // Replace the standard width param with your CDN's equivalent
57
+ url.searchParams.delete("width");
58
+ url.searchParams.set("my_width", String(params.width));
59
+ }
60
+ }
61
+ }
62
+
63
+ export const MyFileUrlFormatterImpl = FileUrlFormatter.createImplementation({
64
+ implementation: MyFileUrlFormatter,
65
+ dependencies: []
66
+ });
67
+ ```
68
+
69
+ ## Registering via createFeature
70
+
71
+ ```tsx
72
+ // extensions/myFormatter/index.tsx
73
+ import React from "react";
74
+ import { createFeature, RegisterFeature } from "webiny/admin";
75
+ import { MyFileUrlFormatterImpl } from "./MyFileUrlFormatter.js";
76
+
77
+ const MyFormatterFeature = createFeature({
78
+ name: "MyApp/FileUrlFormatter",
79
+ register(container) {
80
+ container.register(MyFileUrlFormatterImpl).inSingletonScope();
81
+ }
82
+ });
83
+
84
+ export default () => <RegisterFeature feature={MyFormatterFeature} />;
85
+ ```
86
+
87
+ Mount it in `webiny.config.tsx`:
88
+
89
+ ```tsx
90
+ <Admin.Extension src={"@/extensions/myFormatter/index.tsx"} />
91
+ ```
92
+
93
+ ## How the Default Works
94
+
95
+ When File Manager is loaded it registers `FmFileUrlFormatter`, which appends
96
+ `?width=N` to any image URL. If you register your own implementation it takes
97
+ precedence (last registered wins via `container.resolve`).
98
+
99
+ | Scenario | Result |
100
+ | --------------------------------- | ----------------------------------- |
101
+ | File Manager loaded, no extension | `?width=128` appended |
102
+ | Extension registered | Extension's `format` called instead |
103
+ | No File Manager, no extension | URL returned unchanged |
104
+
105
+ ## Quick Reference
106
+
107
+ ```ts
108
+ // Import
109
+ import { FileUrlFormatter } from "webiny/admin/file-manager";
110
+
111
+ // Implement
112
+ class MyFormatter implements FileUrlFormatter.Interface {
113
+ format(url: URL, params?: FileUrlFormatter.Params): void {
114
+ /* mutate url */
115
+ }
116
+ }
117
+
118
+ // Wrap
119
+ export const MyFormatterImpl = FileUrlFormatter.createImplementation({
120
+ implementation: MyFormatter,
121
+ dependencies: []
122
+ });
123
+
124
+ // Register (in createFeature)
125
+ container.register(MyFormatterImpl).inSingletonScope();
126
+ ```
127
+
128
+ ## Related Skills
129
+
130
+ - `preview-url-modifier` -- same createFeature pattern for website-builder live preview URLs
@@ -128,6 +128,18 @@ Default renderer: `fileUrlPicker`. Value: `string | null` (URL only).
128
128
  fields.fileUrl().label("Image URL");
129
129
  ```
130
130
 
131
+ ### Lexical
132
+
133
+ ```typescript
134
+ fields.lexical();
135
+ ```
136
+
137
+ Default renderer: `lexical`. Value: `RichTextValueWithHtml | null` (`{ state: string; html: string }`).
138
+
139
+ ```typescript
140
+ fields.lexical().label("Content").required("Content is required");
141
+ ```
142
+
131
143
  ### Object
132
144
 
133
145
  ```typescript
@@ -241,6 +253,7 @@ These are available on **all** field types:
241
253
  | `switch` | boolean | — | Toggle switch (default for boolean) |
242
254
  | `dateTimeInput` | datetime | `{ type, displayFormat?, yearRange?, weekStartsOn?, presets? }` | Date/time picker (default for datetime) |
243
255
  | `dateTimeInputs` | datetime (list) | `{ type, displayFormat?, weekStartsOn?, addItemLabel? }` | List of date/time pickers |
256
+ | `lexical` | lexical | — | Lexical rich text editor (default for lexical) |
244
257
  | `filePicker` | file | — | File picker with full metadata (default for file) |
245
258
  | `fileUrlPicker` | fileUrl | — | File picker returning URL only (default for fileUrl) |
246
259
  | `objectAccordionSingle` | object | `{ open?: boolean }` | Single object in accordion (default for object) |
@@ -0,0 +1,99 @@
1
+ ---
2
+ name: wb-preview-url-modifier
3
+ context: webiny-extensions
4
+ description: >
5
+ Covers the PreviewUrlModifier extension point in Website Builder. Use when
6
+ a user wants to inject custom query parameters into live preview URLs —
7
+ e.g. signed tokens, tenant identifiers, feature flags — from their Webiny
8
+ project. Handles the full registration pattern: implementing the interface,
9
+ wiring via createFeature + RegisterFeature, and registering via
10
+ webiny.config.tsx. Supports async modifier methods (e.g. remote token fetch).
11
+ ---
12
+
13
+ # Website Builder: Preview URL Modifier
14
+
15
+ ## TL;DR
16
+
17
+ `PreviewUrlModifier` is a DI extension point that lets project developers inject
18
+ custom query parameters into all Website Builder live preview URLs. Register one
19
+ implementation; it receives the full `URL` object and can mutate it however it
20
+ needs — including async operations like fetching a signed token from a remote API.
21
+
22
+ ## Implement the Modifier
23
+
24
+ Import from `webiny/admin/website-builder`. The single required method is
25
+ `modify(url: URL): Promise<void>` — mutate `url.searchParams` in place, mark the
26
+ method `async` when you need to fetch remote values.
27
+
28
+ ```ts
29
+ import { PreviewUrlModifier } from "webiny/admin/website-builder";
30
+
31
+ class MyPreviewUrlModifier implements PreviewUrlModifier.Interface {
32
+ async modify(url: URL) {
33
+ url.searchParams.set("my-param", "my-value");
34
+ }
35
+ }
36
+
37
+ export default PreviewUrlModifier.createImplementation({
38
+ implementation: MyPreviewUrlModifier,
39
+ dependencies: []
40
+ });
41
+ ```
42
+
43
+ Async example — fetching a signed token:
44
+
45
+ ```ts
46
+ class SignedTokenModifier implements PreviewUrlModifier.Interface {
47
+ async modify(url: URL) {
48
+ const token = await fetch("/api/preview-token").then(r => r.text());
49
+ url.searchParams.set("token", token);
50
+ }
51
+ }
52
+
53
+ export default PreviewUrlModifier.createImplementation({
54
+ implementation: SignedTokenModifier,
55
+ dependencies: []
56
+ });
57
+ ```
58
+
59
+ ## Register the Feature
60
+
61
+ ```tsx
62
+ // extensions/previewUrlModifier/index.tsx
63
+ import React from "react";
64
+ import { createFeature, RegisterFeature } from "webiny/admin";
65
+ import MyPreviewUrlModifier from "./MyPreviewUrlModifier.js";
66
+
67
+ const PreviewUrlModifierFeature = createFeature({
68
+ name: "MyApp/PreviewUrlModifier",
69
+ register(container) {
70
+ container.register(MyPreviewUrlModifier);
71
+ }
72
+ });
73
+
74
+ export default () => <RegisterFeature feature={PreviewUrlModifierFeature} />;
75
+ ```
76
+
77
+ ```tsx
78
+ // webiny.config.tsx
79
+ <Admin.Extension src={"@/extensions/previewUrlModifier/index.tsx"} />
80
+ ```
81
+
82
+ ## Where It Applies
83
+
84
+ | Surface | Description |
85
+ | ---------------- | ---------------------------------------------------- |
86
+ | Editor iframe | The live-editing iframe in the page editor |
87
+ | Address bar link | The "copy preview link" button in the editor toolbar |
88
+ | Pages list | Preview icon links in the pages list table |
89
+
90
+ ## Constraints
91
+
92
+ - **One modifier per project.** Only the first registered implementation is used.
93
+ - **Mutate in place.** Return value is ignored; mutate the `URL` object directly.
94
+ - **No `wb.*` collisions.** Params prefixed `wb.` are reserved for internal use.
95
+
96
+ ## Related Skills
97
+
98
+ - `wb-custom-page-types` -- registering custom page types via PageType abstraction
99
+ - `wb-page-settings` -- extending page settings groups and fields
@@ -0,0 +1,82 @@
1
+ ---
2
+ name: api-bundle-size-limit
3
+ context: webiny-extensions
4
+ description: >
5
+ Covers how to configure the maximum allowed size of the Webiny API Lambda
6
+ bundle using the Infra.Api.MaxBundleSize extension in webiny.config.tsx.
7
+ Use when a project's API bundle exceeds the default 4.5 MB limit or when
8
+ you want to enforce a stricter limit. Handles the extension syntax, byte
9
+ calculations, and interpreting the build error message.
10
+ ---
11
+
12
+ # API Bundle Size Limit
13
+
14
+ ## TL;DR
15
+
16
+ The `Infra.Api.MaxBundleSize` extension enforces a maximum size on the built API Lambda bundle. The default limit is 4.5 MB. If the bundle exceeds the limit the build fails with a clear error; add the extension to `webiny.config.tsx` to raise (or lower) it.
17
+
18
+ ## Default Behavior
19
+
20
+ By default Webiny enforces a **4.5 MB** limit on the API Lambda bundle (`handler.mjs`). If the built output exceeds this, the build fails:
21
+
22
+ ```
23
+ error Build errors:
24
+ × asset size limit: The following asset(s) exceed the recommended size limit (4.5 MiB).
25
+ × entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (4.5 MiB).
26
+ error build failed
27
+ ```
28
+
29
+ ## Raising the Limit
30
+
31
+ Add `Infra.Api.MaxBundleSize` to `webiny.config.tsx` with `size` in **bytes**:
32
+
33
+ ```tsx
34
+ // webiny.config.tsx
35
+ import { Infra } from "webiny/extensions";
36
+
37
+ export const Extensions = () => (
38
+ <>
39
+ {/* Raise the API bundle size limit to 6 MB */}
40
+ <Infra.Api.MaxBundleSize size={6 * 1024 * 1024} />
41
+ </>
42
+ );
43
+ ```
44
+
45
+ Common byte values:
46
+
47
+ | MB | Bytes expression | Exact bytes |
48
+ | --- | ------------------------------- | ----------------- |
49
+ | 4.5 | `Math.round(4.5 * 1024 * 1024)` | 4718592 (default) |
50
+ | 5 | `5 * 1024 * 1024` | 5242880 |
51
+ | 6 | `6 * 1024 * 1024` | 6291456 |
52
+ | 8 | `8 * 1024 * 1024` | 8388608 |
53
+ | 10 | `10 * 1024 * 1024` | 10485760 |
54
+
55
+ ## How It Works
56
+
57
+ The extension sets the `WEBINY_INFRA_API_MAX_BUNDLE_SIZE` environment variable (in bytes) which is read by the API bundler (`@webiny/build-tools`) at build time. The `WEBINY_INFRA_` prefix ensures the variable is **not** automatically forwarded to the Lambda function's runtime environment.
58
+
59
+ ## Lowering the Limit
60
+
61
+ You can also enforce a stricter limit to catch bundle regressions early:
62
+
63
+ ```tsx
64
+ {
65
+ /* Enforce a strict 3 MB limit */
66
+ }
67
+ <Infra.Api.MaxBundleSize size={3 * 1024 * 1024} />;
68
+ ```
69
+
70
+ ## Quick Reference
71
+
72
+ | Task | Snippet |
73
+ | ------------------------ | ----------------------------------------------------- |
74
+ | Raise to 6 MB | `<Infra.Api.MaxBundleSize size={6 * 1024 * 1024} />` |
75
+ | Raise to 10 MB | `<Infra.Api.MaxBundleSize size={10 * 1024 * 1024} />` |
76
+ | Restore default (4.5 MB) | Remove the extension |
77
+ | Convert MB to bytes | `Math.round(N * 1024 * 1024)` |
78
+
79
+ ## Related Skills
80
+
81
+ - `infra-env-var` -- setting arbitrary environment variables in the project context
82
+ - `api-lambda-function` -- adding custom Lambda functions to the API
@@ -2,7 +2,7 @@
2
2
  name: webiny-admin-cms-catalog
3
3
  context: webiny-api
4
4
  description: >
5
- admin/cms — 74 abstractions.
5
+ admin/cms — 76 abstractions.
6
6
  ---
7
7
 
8
8
  # admin/cms
@@ -123,17 +123,17 @@ description: >
123
123
  ---
124
124
  **Name:** `Divider`
125
125
  **Import:** `import { Divider } from "webiny/admin/cms/lexical"`
126
- **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
126
+ **Source:** `@webiny/lexical-editor/exports/admin/ui/lexical.ts`
127
127
 
128
128
  ---
129
129
  **Name:** `DropDown`
130
130
  **Import:** `import { DropDown } from "webiny/admin/cms/lexical"`
131
- **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
131
+ **Source:** `@webiny/lexical-editor/exports/admin/ui/lexical.ts`
132
132
 
133
133
  ---
134
134
  **Name:** `DropDownItem`
135
135
  **Import:** `import { DropDownItem } from "webiny/admin/cms/lexical"`
136
- **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
136
+ **Source:** `@webiny/lexical-editor/exports/admin/ui/lexical.ts`
137
137
 
138
138
  ---
139
139
  **Name:** `DynamicZoneContainer`
@@ -181,7 +181,7 @@ description: >
181
181
  ---
182
182
  **Name:** `getNodeFromSelection`
183
183
  **Import:** `import { getNodeFromSelection } from "webiny/admin/cms/lexical"`
184
- **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
184
+ **Source:** `@webiny/lexical-editor/exports/admin/ui/lexical.ts`
185
185
 
186
186
  ---
187
187
  **Name:** `Header`
@@ -197,23 +197,34 @@ description: >
197
197
  **Name:** `Klass`
198
198
  **Kind:** type
199
199
  **Import:** `import type { Klass } from "webiny/admin/cms/lexical"`
200
- **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
200
+ **Source:** `@webiny/lexical-editor/exports/admin/ui/lexical.ts`
201
+
202
+ ---
203
+ **Name:** `LexicalEditor`
204
+ **Import:** `import { LexicalEditor } from "webiny/admin/cms/lexical"`
205
+ **Source:** `@webiny/app-headless-cms/admin/components/LexicalCmsEditor/LexicalEditor.tsx`
201
206
 
202
207
  ---
203
208
  **Name:** `LexicalEditorConfig`
204
209
  **Import:** `import { LexicalEditorConfig } from "webiny/admin/cms/lexical"`
205
210
  **Source:** `@webiny/app-headless-cms/admin/lexicalConfig/LexicalEditorConfig.tsx`
206
211
 
212
+ ---
213
+ **Name:** `LexicalEditorProps`
214
+ **Kind:** type
215
+ **Import:** `import type { LexicalEditorProps } from "webiny/admin/cms/lexical"`
216
+ **Source:** `@webiny/app-headless-cms/admin/components/LexicalCmsEditor/LexicalEditor.tsx`
217
+
207
218
  ---
208
219
  **Name:** `LexicalHtmlRenderer`
209
220
  **Import:** `import { LexicalHtmlRenderer } from "webiny/admin/cms/lexical"`
210
- **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
221
+ **Source:** `@webiny/lexical-editor/exports/admin/ui/lexical.ts`
211
222
 
212
223
  ---
213
224
  **Name:** `LexicalNode`
214
225
  **Kind:** type
215
226
  **Import:** `import type { LexicalNode } from "webiny/admin/cms/lexical"`
216
- **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
227
+ **Source:** `@webiny/lexical-editor/exports/admin/ui/lexical.ts`
217
228
 
218
229
  ---
219
230
  **Name:** `MultiValueContainer`
@@ -310,17 +321,17 @@ conditional decorator, which optionally takes a `modelIds` prop, so you can cont
310
321
  ---
311
322
  **Name:** `useCurrentElement`
312
323
  **Import:** `import { useCurrentElement } from "webiny/admin/cms/lexical"`
313
- **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
324
+ **Source:** `@webiny/lexical-editor/exports/admin/ui/lexical.ts`
314
325
 
315
326
  ---
316
327
  **Name:** `useCurrentSelection`
317
328
  **Import:** `import { useCurrentSelection } from "webiny/admin/cms/lexical"`
318
- **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
329
+ **Source:** `@webiny/lexical-editor/exports/admin/ui/lexical.ts`
319
330
 
320
331
  ---
321
332
  **Name:** `useDeriveValueFromSelection`
322
333
  **Import:** `import { useDeriveValueFromSelection } from "webiny/admin/cms/lexical"`
323
- **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
334
+ **Source:** `@webiny/lexical-editor/exports/admin/ui/lexical.ts`
324
335
 
325
336
  ---
326
337
  **Name:** `useFieldAccessControlRules`
@@ -339,12 +350,12 @@ that returns the effective (intersected) rules.
339
350
  ---
340
351
  **Name:** `useFontColorPicker`
341
352
  **Import:** `import { useFontColorPicker } from "webiny/admin/cms/lexical"`
342
- **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
353
+ **Source:** `@webiny/lexical-editor/exports/admin/ui/lexical.ts`
343
354
 
344
355
  ---
345
356
  **Name:** `useIsMounted`
346
357
  **Import:** `import { useIsMounted } from "webiny/admin/cms/lexical"`
347
- **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
358
+ **Source:** `@webiny/lexical-editor/exports/admin/ui/lexical.ts`
348
359
 
349
360
  ---
350
361
  **Name:** `useLazyQuery`
@@ -354,7 +365,7 @@ that returns the effective (intersected) rules.
354
365
  ---
355
366
  **Name:** `useLexicalEditorConfig`
356
367
  **Import:** `import { useLexicalEditorConfig } from "webiny/admin/cms/lexical"`
357
- **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
368
+ **Source:** `@webiny/lexical-editor/exports/admin/ui/lexical.ts`
358
369
 
359
370
  ---
360
371
  **Name:** `useModel`
@@ -380,7 +391,7 @@ that returns the effective (intersected) rules.
380
391
  ---
381
392
  **Name:** `useRichTextEditor`
382
393
  **Import:** `import { useRichTextEditor } from "webiny/admin/cms/lexical"`
383
- **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
394
+ **Source:** `@webiny/lexical-editor/exports/admin/ui/lexical.ts`
384
395
 
385
396
  ---
386
397
  **Name:** `useSingletonContentEntry`
@@ -395,11 +406,11 @@ that returns the effective (intersected) rules.
395
406
  ---
396
407
  **Name:** `useTextAlignmentAction`
397
408
  **Import:** `import { useTextAlignmentAction } from "webiny/admin/cms/lexical"`
398
- **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
409
+ **Source:** `@webiny/lexical-editor/exports/admin/ui/lexical.ts`
399
410
 
400
411
  ---
401
412
  **Name:** `useTypographyAction`
402
413
  **Import:** `import { useTypographyAction } from "webiny/admin/cms/lexical"`
403
- **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
414
+ **Source:** `@webiny/lexical-editor/exports/admin/ui/lexical.ts`
404
415
 
405
416
  ---
@@ -0,0 +1,23 @@
1
+ ---
2
+ name: webiny-admin-file-manager-catalog
3
+ context: webiny-api
4
+ description: >
5
+ admin/file-manager — 1 abstractions.
6
+ ---
7
+
8
+ # admin/file-manager
9
+
10
+ ## How to Use
11
+
12
+ 1. Find the abstraction you need below
13
+ 2. You MUST read the source file to get the exact interface and types!
14
+ 3. Import: `import { Name } from "<importPath>";`
15
+
16
+ ## Abstractions
17
+
18
+ ---
19
+ **Name:** `FileUrlFormatter`
20
+ **Import:** `import { FileUrlFormatter } from "webiny/admin/file-manager"`
21
+ **Source:** `@webiny/app-file-manager/features/fileUrlFormatter/abstractions.ts`
22
+
23
+ ---
@@ -16,88 +16,105 @@ description: >
16
16
  ## Abstractions
17
17
 
18
18
  ---
19
+
19
20
  **Name:** `Divider`
20
21
  **Import:** `import { Divider } from "webiny/admin/lexical"`
21
22
  **Source:** `@webiny/lexical-editor/ui/Divider.tsx`
22
23
 
23
24
  ---
25
+
24
26
  **Name:** `DropDown`
25
27
  **Import:** `import { DropDown } from "webiny/admin/lexical"`
26
28
  **Source:** `@webiny/lexical-editor/ui/DropDown.tsx`
27
29
 
28
30
  ---
31
+
29
32
  **Name:** `DropDownItem`
30
33
  **Import:** `import { DropDownItem } from "webiny/admin/lexical"`
31
34
  **Source:** `@webiny/lexical-editor/ui/DropDown.tsx`
32
35
 
33
36
  ---
37
+
34
38
  **Name:** `getNodeFromSelection`
35
39
  **Import:** `import { getNodeFromSelection } from "webiny/admin/lexical"`
36
40
  **Source:** `@webiny/lexical-editor/hooks/index.ts`
37
41
 
38
42
  ---
43
+
39
44
  **Name:** `Klass`
40
45
  **Kind:** type
41
46
  **Import:** `import type { Klass } from "webiny/admin/lexical"`
42
47
  **Source:** `@webiny/lexical-editor/types.ts`
43
48
 
44
49
  ---
50
+
45
51
  **Name:** `LexicalEditorConfig`
46
52
  **Import:** `import { LexicalEditorConfig } from "webiny/admin/lexical"`
47
53
  **Source:** `@webiny/lexical-editor/components/LexicalEditorConfig/LexicalEditorConfig.tsx`
48
54
 
49
55
  ---
56
+
50
57
  **Name:** `LexicalHtmlRenderer`
51
58
  **Import:** `import { LexicalHtmlRenderer } from "webiny/admin/lexical"`
52
59
  **Source:** `@webiny/lexical-editor/components/LexicalHtmlRenderer.tsx`
53
60
 
54
61
  ---
62
+
55
63
  **Name:** `LexicalNode`
56
64
  **Kind:** type
57
65
  **Import:** `import type { LexicalNode } from "webiny/admin/lexical"`
58
66
  **Source:** `@webiny/lexical-editor/types.ts`
59
67
 
60
68
  ---
69
+
61
70
  **Name:** `useCurrentElement`
62
71
  **Import:** `import { useCurrentElement } from "webiny/admin/lexical"`
63
72
  **Source:** `@webiny/lexical-editor/hooks/index.ts`
64
73
 
65
74
  ---
75
+
66
76
  **Name:** `useCurrentSelection`
67
77
  **Import:** `import { useCurrentSelection } from "webiny/admin/lexical"`
68
78
  **Source:** `@webiny/lexical-editor/hooks/index.ts`
69
79
 
70
80
  ---
81
+
71
82
  **Name:** `useDeriveValueFromSelection`
72
83
  **Import:** `import { useDeriveValueFromSelection } from "webiny/admin/lexical"`
73
84
  **Source:** `@webiny/lexical-editor/hooks/index.ts`
74
85
 
75
86
  ---
87
+
76
88
  **Name:** `useFontColorPicker`
77
89
  **Import:** `import { useFontColorPicker } from "webiny/admin/lexical"`
78
90
  **Source:** `@webiny/lexical-editor/hooks/index.ts`
79
91
 
80
92
  ---
93
+
81
94
  **Name:** `useIsMounted`
82
95
  **Import:** `import { useIsMounted } from "webiny/admin/lexical"`
83
96
  **Source:** `@webiny/lexical-editor/hooks/index.ts`
84
97
 
85
98
  ---
99
+
86
100
  **Name:** `useLexicalEditorConfig`
87
101
  **Import:** `import { useLexicalEditorConfig } from "webiny/admin/lexical"`
88
102
  **Source:** `@webiny/lexical-editor/components/LexicalEditorConfig/LexicalEditorConfig.tsx`
89
103
 
90
104
  ---
105
+
91
106
  **Name:** `useRichTextEditor`
92
107
  **Import:** `import { useRichTextEditor } from "webiny/admin/lexical"`
93
108
  **Source:** `@webiny/lexical-editor/hooks/index.ts`
94
109
 
95
110
  ---
111
+
96
112
  **Name:** `useTextAlignmentAction`
97
113
  **Import:** `import { useTextAlignmentAction } from "webiny/admin/lexical"`
98
114
  **Source:** `@webiny/lexical-editor/hooks/index.ts`
99
115
 
100
116
  ---
117
+
101
118
  **Name:** `useTypographyAction`
102
119
  **Import:** `import { useTypographyAction } from "webiny/admin/lexical"`
103
120
  **Source:** `@webiny/lexical-editor/hooks/index.ts`
@@ -2,7 +2,7 @@
2
2
  name: webiny-admin-ui-catalog
3
3
  context: webiny-api
4
4
  description: >
5
- admin/ui — 99 abstractions.
5
+ admin/ui — 116 abstractions.
6
6
  ---
7
7
 
8
8
  # admin/ui
@@ -130,6 +130,11 @@ description: >
130
130
  **Import:** `import { Dialog } from "webiny/admin/ui"`
131
131
  **Source:** `@webiny/admin-ui/Dialog/index.ts`
132
132
 
133
+ ---
134
+ **Name:** `Divider`
135
+ **Import:** `import { Divider } from "webiny/admin/ui/lexical"`
136
+ **Source:** `@webiny/lexical-editor/ui/Divider.tsx`
137
+
133
138
  ---
134
139
  **Name:** `DownloadIcon`
135
140
  **Import:** `import { DownloadIcon } from "webiny/admin/ui"`
@@ -140,6 +145,16 @@ description: >
140
145
  **Import:** `import { Drawer } from "webiny/admin/ui"`
141
146
  **Source:** `@webiny/admin-ui/Drawer/index.ts`
142
147
 
148
+ ---
149
+ **Name:** `DropDown`
150
+ **Import:** `import { DropDown } from "webiny/admin/ui/lexical"`
151
+ **Source:** `@webiny/lexical-editor/ui/DropDown.tsx`
152
+
153
+ ---
154
+ **Name:** `DropDownItem`
155
+ **Import:** `import { DropDownItem } from "webiny/admin/ui/lexical"`
156
+ **Source:** `@webiny/lexical-editor/ui/DropDown.tsx`
157
+
143
158
  ---
144
159
  **Name:** `DropdownMenu`
145
160
  **Import:** `import { DropdownMenu } from "webiny/admin/ui"`
@@ -200,6 +215,11 @@ description: >
200
215
  **Import:** `import { generateId } from "webiny/admin/ui"`
201
216
  **Source:** `@webiny/admin-ui/utils.tsx`
202
217
 
218
+ ---
219
+ **Name:** `getNodeFromSelection`
220
+ **Import:** `import { getNodeFromSelection } from "webiny/admin/ui/lexical"`
221
+ **Source:** `@webiny/lexical-editor/hooks/index.ts`
222
+
203
223
  ---
204
224
  **Name:** `Grid`
205
225
  **Import:** `import { Grid } from "webiny/admin/ui"`
@@ -240,6 +260,12 @@ description: >
240
260
  **Import:** `import { Input } from "webiny/admin/ui"`
241
261
  **Source:** `@webiny/admin-ui/Input/index.ts`
242
262
 
263
+ ---
264
+ **Name:** `Klass`
265
+ **Kind:** type
266
+ **Import:** `import type { Klass } from "webiny/admin/ui/lexical"`
267
+ **Source:** `@webiny/lexical-editor/types.ts`
268
+
243
269
  ---
244
270
  **Name:** `Label`
245
271
  **Import:** `import { Label } from "webiny/admin/ui"`
@@ -247,9 +273,25 @@ description: >
247
273
 
248
274
  ---
249
275
  **Name:** `LexicalEditor`
250
- **Import:** `import { LexicalEditor } from "webiny/admin/ui"`
276
+ **Import:** `import { LexicalEditor } from "webiny/admin/ui/lexical"`
251
277
  **Source:** `@webiny/app-admin/components/LexicalEditor/LexicalEditor.tsx`
252
278
 
279
+ ---
280
+ **Name:** `LexicalEditorConfig`
281
+ **Import:** `import { LexicalEditorConfig } from "webiny/admin/ui/lexical"`
282
+ **Source:** `@webiny/lexical-editor/components/LexicalEditorConfig/LexicalEditorConfig.tsx`
283
+
284
+ ---
285
+ **Name:** `LexicalHtmlRenderer`
286
+ **Import:** `import { LexicalHtmlRenderer } from "webiny/admin/ui/lexical"`
287
+ **Source:** `@webiny/lexical-editor/components/LexicalHtmlRenderer.tsx`
288
+
289
+ ---
290
+ **Name:** `LexicalNode`
291
+ **Kind:** type
292
+ **Import:** `import type { LexicalNode } from "webiny/admin/ui/lexical"`
293
+ **Source:** `@webiny/lexical-editor/types.ts`
294
+
253
295
  ---
254
296
  **Name:** `Link`
255
297
  **Import:** `import { Link } from "webiny/admin/ui"`
@@ -470,6 +512,21 @@ description: >
470
512
  **Import:** `import { UploadIcon } from "webiny/admin/ui"`
471
513
  **Source:** `@webiny/admin-ui/DataList/index.ts`
472
514
 
515
+ ---
516
+ **Name:** `useCurrentElement`
517
+ **Import:** `import { useCurrentElement } from "webiny/admin/ui/lexical"`
518
+ **Source:** `@webiny/lexical-editor/hooks/index.ts`
519
+
520
+ ---
521
+ **Name:** `useCurrentSelection`
522
+ **Import:** `import { useCurrentSelection } from "webiny/admin/ui/lexical"`
523
+ **Source:** `@webiny/lexical-editor/hooks/index.ts`
524
+
525
+ ---
526
+ **Name:** `useDeriveValueFromSelection`
527
+ **Import:** `import { useDeriveValueFromSelection } from "webiny/admin/ui/lexical"`
528
+ **Source:** `@webiny/lexical-editor/hooks/index.ts`
529
+
473
530
  ---
474
531
  **Name:** `useDialog`
475
532
  **Import:** `import { useDialog } from "webiny/admin/ui"`
@@ -485,26 +542,56 @@ description: >
485
542
  **Import:** `import { useDisclosure } from "webiny/admin/ui"`
486
543
  **Source:** `@webiny/admin-ui/hooks/index.ts`
487
544
 
545
+ ---
546
+ **Name:** `useFontColorPicker`
547
+ **Import:** `import { useFontColorPicker } from "webiny/admin/ui/lexical"`
548
+ **Source:** `@webiny/lexical-editor/hooks/index.ts`
549
+
488
550
  ---
489
551
  **Name:** `useHotkeys`
490
552
  **Import:** `import { useHotkeys } from "webiny/admin/ui"`
491
553
  **Source:** `@webiny/app-admin/hooks/useHotkeys.ts`
492
554
 
555
+ ---
556
+ **Name:** `useIsMounted`
557
+ **Import:** `import { useIsMounted } from "webiny/admin/ui/lexical"`
558
+ **Source:** `@webiny/lexical-editor/hooks/index.ts`
559
+
560
+ ---
561
+ **Name:** `useLexicalEditorConfig`
562
+ **Import:** `import { useLexicalEditorConfig } from "webiny/admin/ui/lexical"`
563
+ **Source:** `@webiny/lexical-editor/components/LexicalEditorConfig/LexicalEditorConfig.tsx`
564
+
493
565
  ---
494
566
  **Name:** `useOpenDialog`
495
567
  **Import:** `import { useOpenDialog } from "webiny/admin/ui"`
496
568
  **Source:** `@webiny/app-admin/hooks/index.ts`
497
569
 
570
+ ---
571
+ **Name:** `useRichTextEditor`
572
+ **Import:** `import { useRichTextEditor } from "webiny/admin/ui/lexical"`
573
+ **Source:** `@webiny/lexical-editor/hooks/index.ts`
574
+
498
575
  ---
499
576
  **Name:** `useSidebar`
500
577
  **Import:** `import { useSidebar } from "webiny/admin/ui"`
501
578
  **Source:** `@webiny/admin-ui/Sidebar/index.ts`
502
579
 
580
+ ---
581
+ **Name:** `useTextAlignmentAction`
582
+ **Import:** `import { useTextAlignmentAction } from "webiny/admin/ui/lexical"`
583
+ **Source:** `@webiny/lexical-editor/hooks/index.ts`
584
+
503
585
  ---
504
586
  **Name:** `useToast`
505
587
  **Import:** `import { useToast } from "webiny/admin/ui"`
506
588
  **Source:** `@webiny/admin-ui/Toast/index.ts`
507
589
 
590
+ ---
591
+ **Name:** `useTypographyAction`
592
+ **Import:** `import { useTypographyAction } from "webiny/admin/ui/lexical"`
593
+ **Source:** `@webiny/lexical-editor/hooks/index.ts`
594
+
508
595
  ---
509
596
  **Name:** `Widget`
510
597
  **Import:** `import { Widget } from "webiny/admin/ui"`
@@ -2,7 +2,7 @@
2
2
  name: webiny-admin-website-builder-catalog
3
3
  context: webiny-api
4
4
  description: >
5
- admin/website-builder — 64 abstractions.
5
+ admin/website-builder — 65 abstractions.
6
6
  ---
7
7
 
8
8
  # admin/website-builder
@@ -105,11 +105,6 @@ which can be mutated in place.
105
105
  **Import:** `import { Commands } from "webiny/admin/website-builder/page/editor"`
106
106
  **Source:** `@webiny/app-website-builder/BaseEditor/index.tsx`
107
107
 
108
- ---
109
- **Name:** `CompactEditorConfig`
110
- **Import:** `import { CompactEditorConfig } from "webiny/admin/website-builder/lexical"`
111
- **Source:** `@webiny/app-website-builder/inputRenderers/LexicalInput/LexicalEditorConfig.tsx`
112
-
113
108
  ---
114
109
  **Name:** `createCommand`
115
110
  **Import:** `import { createCommand } from "webiny/admin/website-builder/page/editor"`
@@ -123,17 +118,17 @@ which can be mutated in place.
123
118
  ---
124
119
  **Name:** `Divider`
125
120
  **Import:** `import { Divider } from "webiny/admin/website-builder/lexical"`
126
- **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
121
+ **Source:** `@webiny/lexical-editor/exports/admin/ui/lexical.ts`
127
122
 
128
123
  ---
129
124
  **Name:** `DropDown`
130
125
  **Import:** `import { DropDown } from "webiny/admin/website-builder/lexical"`
131
- **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
126
+ **Source:** `@webiny/lexical-editor/exports/admin/ui/lexical.ts`
132
127
 
133
128
  ---
134
129
  **Name:** `DropDownItem`
135
130
  **Import:** `import { DropDownItem } from "webiny/admin/website-builder/lexical"`
136
- **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
131
+ **Source:** `@webiny/lexical-editor/exports/admin/ui/lexical.ts`
137
132
 
138
133
  ---
139
134
  **Name:** `EcommerceIntegration`
@@ -145,15 +140,10 @@ which can be mutated in place.
145
140
  **Import:** `import { ElementInputs } from "webiny/admin/website-builder/page/editor"`
146
141
  **Source:** `@webiny/app-website-builder/BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementInputs.tsx`
147
142
 
148
- ---
149
- **Name:** `ExpandedEditorConfig`
150
- **Import:** `import { ExpandedEditorConfig } from "webiny/admin/website-builder/lexical"`
151
- **Source:** `@webiny/app-website-builder/inputRenderers/LexicalInput/LexicalEditorConfig.tsx`
152
-
153
143
  ---
154
144
  **Name:** `getNodeFromSelection`
155
145
  **Import:** `import { getNodeFromSelection } from "webiny/admin/website-builder/lexical"`
156
- **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
146
+ **Source:** `@webiny/lexical-editor/exports/admin/ui/lexical.ts`
157
147
 
158
148
  ---
159
149
  **Name:** `HasPermission`
@@ -164,18 +154,34 @@ which can be mutated in place.
164
154
  **Name:** `Klass`
165
155
  **Kind:** type
166
156
  **Import:** `import type { Klass } from "webiny/admin/website-builder/lexical"`
167
- **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
157
+ **Source:** `@webiny/lexical-editor/exports/admin/ui/lexical.ts`
158
+
159
+ ---
160
+ **Name:** `LexicalEditor`
161
+ **Import:** `import { LexicalEditor } from "webiny/admin/website-builder/lexical"`
162
+ **Source:** `@webiny/app-website-builder/inputRenderers/LexicalInput/LexicalEditor.tsx`
163
+
164
+ ---
165
+ **Name:** `LexicalEditorConfig`
166
+ **Import:** `import { LexicalEditorConfig } from "webiny/admin/website-builder/lexical"`
167
+ **Source:** `@webiny/app-website-builder/inputRenderers/LexicalInput/LexicalEditorConfig.tsx`
168
+
169
+ ---
170
+ **Name:** `LexicalEditorProps`
171
+ **Kind:** type
172
+ **Import:** `import type { LexicalEditorProps } from "webiny/admin/website-builder/lexical"`
173
+ **Source:** `@webiny/app-website-builder/inputRenderers/LexicalInput/LexicalEditor.tsx`
168
174
 
169
175
  ---
170
176
  **Name:** `LexicalHtmlRenderer`
171
177
  **Import:** `import { LexicalHtmlRenderer } from "webiny/admin/website-builder/lexical"`
172
- **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
178
+ **Source:** `@webiny/lexical-editor/exports/admin/ui/lexical.ts`
173
179
 
174
180
  ---
175
181
  **Name:** `LexicalNode`
176
182
  **Kind:** type
177
183
  **Import:** `import type { LexicalNode } from "webiny/admin/website-builder/lexical"`
178
- **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
184
+ **Source:** `@webiny/lexical-editor/exports/admin/ui/lexical.ts`
179
185
 
180
186
  ---
181
187
  **Name:** `PageEditorConfig`
@@ -245,12 +251,12 @@ which can be mutated in place.
245
251
  ---
246
252
  **Name:** `useCurrentElement`
247
253
  **Import:** `import { useCurrentElement } from "webiny/admin/website-builder/lexical"`
248
- **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
254
+ **Source:** `@webiny/lexical-editor/exports/admin/ui/lexical.ts`
249
255
 
250
256
  ---
251
257
  **Name:** `useCurrentSelection`
252
258
  **Import:** `import { useCurrentSelection } from "webiny/admin/website-builder/lexical"`
253
- **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
259
+ **Source:** `@webiny/lexical-editor/exports/admin/ui/lexical.ts`
254
260
 
255
261
  ---
256
262
  **Name:** `useDeleteElement`
@@ -260,7 +266,7 @@ which can be mutated in place.
260
266
  ---
261
267
  **Name:** `useDeriveValueFromSelection`
262
268
  **Import:** `import { useDeriveValueFromSelection } from "webiny/admin/website-builder/lexical"`
263
- **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
269
+ **Source:** `@webiny/lexical-editor/exports/admin/ui/lexical.ts`
264
270
 
265
271
  ---
266
272
  **Name:** `useDocumentEditor`
@@ -286,7 +292,7 @@ which can be mutated in place.
286
292
  ---
287
293
  **Name:** `useFontColorPicker`
288
294
  **Import:** `import { useFontColorPicker } from "webiny/admin/website-builder/lexical"`
289
- **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
295
+ **Source:** `@webiny/lexical-editor/exports/admin/ui/lexical.ts`
290
296
 
291
297
  ---
292
298
  **Name:** `useHighlightedElement`
@@ -296,12 +302,12 @@ which can be mutated in place.
296
302
  ---
297
303
  **Name:** `useIsMounted`
298
304
  **Import:** `import { useIsMounted } from "webiny/admin/website-builder/lexical"`
299
- **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
305
+ **Source:** `@webiny/lexical-editor/exports/admin/ui/lexical.ts`
300
306
 
301
307
  ---
302
308
  **Name:** `useLexicalEditorConfig`
303
309
  **Import:** `import { useLexicalEditorConfig } from "webiny/admin/website-builder/lexical"`
304
- **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
310
+ **Source:** `@webiny/lexical-editor/exports/admin/ui/lexical.ts`
305
311
 
306
312
  ---
307
313
  **Name:** `usePageEditorConfig`
@@ -316,7 +322,7 @@ which can be mutated in place.
316
322
  ---
317
323
  **Name:** `useRichTextEditor`
318
324
  **Import:** `import { useRichTextEditor } from "webiny/admin/website-builder/lexical"`
319
- **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
325
+ **Source:** `@webiny/lexical-editor/exports/admin/ui/lexical.ts`
320
326
 
321
327
  ---
322
328
  **Name:** `useSelectFromDocument`
@@ -333,12 +339,12 @@ which can be mutated in place.
333
339
  ---
334
340
  **Name:** `useTextAlignmentAction`
335
341
  **Import:** `import { useTextAlignmentAction } from "webiny/admin/website-builder/lexical"`
336
- **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
342
+ **Source:** `@webiny/lexical-editor/exports/admin/ui/lexical.ts`
337
343
 
338
344
  ---
339
345
  **Name:** `useTypographyAction`
340
346
  **Import:** `import { useTypographyAction } from "webiny/admin/website-builder/lexical"`
341
- **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
347
+ **Source:** `@webiny/lexical-editor/exports/admin/ui/lexical.ts`
342
348
 
343
349
  ---
344
350
  **Name:** `useUpdateElement`
@@ -2,7 +2,7 @@
2
2
  name: webiny-api-webhooks-catalog
3
3
  context: webiny-api
4
4
  description: >
5
- api/webhooks — 15 abstractions.
5
+ api/webhooks — 10 abstractions.
6
6
  ---
7
7
 
8
8
  # api/webhooks
@@ -76,31 +76,3 @@ description: >
76
76
  **Source:** `@webiny/webhooks/api/domain/WebhookDelivery.ts`
77
77
 
78
78
  ---
79
- **Name:** `WebhookDispatcher`
80
- **Import:** `import { WebhookDispatcher } from "webiny/api/webhooks"`
81
- **Source:** `@webiny/api-core/features/webhooks/index.ts`
82
- **Description:** Routes a domain event to all matching enabled webhooks via background tasks.
83
-
84
- ---
85
- **Name:** `WebhookFactory`
86
- **Import:** `import { WebhookFactory } from "webiny/api/webhooks"`
87
- **Source:** `@webiny/api-core/features/webhooks/index.ts`
88
-
89
- ---
90
- **Name:** `WebhookProvider`
91
- **Import:** `import { WebhookProvider } from "webiny/api/webhooks"`
92
- **Source:** `@webiny/api-core/features/webhooks/index.ts`
93
-
94
- ---
95
- **Name:** `WebhookSignPayload`
96
- **Import:** `import { WebhookSignPayload } from "webiny/api/webhooks"`
97
- **Source:** `@webiny/api-core/features/webhooks/index.ts`
98
- **Description:** Signs webhook payloads using the Standard Webhooks spec (https://www.standardwebhooks.com).
99
-
100
- ---
101
- **Name:** `WebhookVerifyPayload`
102
- **Import:** `import { WebhookVerifyPayload } from "webiny/api/webhooks"`
103
- **Source:** `@webiny/api-core/features/webhooks/index.ts`
104
- **Description:** Verifies incoming webhook payloads using the Standard Webhooks spec (https://www.standardwebhooks.com).
105
-
106
- ---