@tridion-sites/extensions 3.2.0 → 3.3.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/CHANGELOG.md +14 -0
- package/dist/index.d.ts +281 -4
- package/dist/index.js +107 -2
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @tridion-sites/extensions
|
|
2
2
|
|
|
3
|
+
## 3.3.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 0501842: `@tridion-sites/extensions`: Add extension point for multivalue container
|
|
8
|
+
- c31b0c9: `@tridion-sites/extensions`, `@tridion-sites/models`: Update `@tridion/graphene` dependency to v4.0.0
|
|
9
|
+
- e2e3a76: `@tridion-sites/extensions`: Add editor panel extension point
|
|
10
|
+
- 8af1b81: `@tridion-sites/extensions`: Add version compare insight panel
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- Updated dependencies [c31b0c9]
|
|
15
|
+
- @tridion-sites/models@2.3.0
|
|
16
|
+
|
|
3
17
|
## 3.2.0
|
|
4
18
|
|
|
5
19
|
### Minor Changes
|
package/dist/index.d.ts
CHANGED
|
@@ -87,6 +87,13 @@ export declare interface AccessibleComponentProps<K extends keyof AriaProps> {
|
|
|
87
87
|
aria: Pick<Partial<AriaProps>, K>;
|
|
88
88
|
}
|
|
89
89
|
|
|
90
|
+
/**
|
|
91
|
+
* Accessibility-related props
|
|
92
|
+
*/
|
|
93
|
+
declare interface AccessibleComponentProps_2<K extends keyof AriaProps_2> {
|
|
94
|
+
aria: Pick<Partial<AriaProps_2>, K>;
|
|
95
|
+
}
|
|
96
|
+
|
|
90
97
|
/**
|
|
91
98
|
* @public
|
|
92
99
|
*/
|
|
@@ -585,21 +592,29 @@ export declare interface AddToBundleRequest {
|
|
|
585
592
|
*/
|
|
586
593
|
export declare type AriaAutocomplete = 'none' | 'both' | 'list' | 'inline';
|
|
587
594
|
|
|
595
|
+
declare type AriaAutocomplete_2 = 'none' | 'both' | 'list' | 'inline';
|
|
596
|
+
|
|
588
597
|
/**
|
|
589
598
|
* @public
|
|
590
599
|
*/
|
|
591
600
|
export declare type AriaCurrent = boolean | 'page' | 'step' | 'location' | 'date' | 'time';
|
|
592
601
|
|
|
602
|
+
declare type AriaCurrent_2 = boolean | 'page' | 'step' | 'location' | 'date' | 'time';
|
|
603
|
+
|
|
593
604
|
/**
|
|
594
605
|
* @public
|
|
595
606
|
*/
|
|
596
607
|
export declare type AriaHasPopup = boolean | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog';
|
|
597
608
|
|
|
609
|
+
declare type AriaHasPopup_2 = boolean | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog';
|
|
610
|
+
|
|
598
611
|
/**
|
|
599
612
|
* @public
|
|
600
613
|
*/
|
|
601
614
|
export declare type AriaPressed = boolean | 'mixed';
|
|
602
615
|
|
|
616
|
+
declare type AriaPressed_2 = boolean | 'mixed';
|
|
617
|
+
|
|
603
618
|
/**
|
|
604
619
|
* @public
|
|
605
620
|
*/
|
|
@@ -624,10 +639,38 @@ export declare interface AriaProps {
|
|
|
624
639
|
selected: boolean;
|
|
625
640
|
}
|
|
626
641
|
|
|
642
|
+
declare interface AriaProps_2 {
|
|
643
|
+
activeDescendant: string;
|
|
644
|
+
autocomplete: AriaAutocomplete_2;
|
|
645
|
+
columnCount: number;
|
|
646
|
+
columnIndex: number;
|
|
647
|
+
controls: string;
|
|
648
|
+
current: AriaCurrent_2;
|
|
649
|
+
describedBy: string;
|
|
650
|
+
disabled: boolean;
|
|
651
|
+
expanded: boolean;
|
|
652
|
+
errorMessage: string;
|
|
653
|
+
for: string;
|
|
654
|
+
hasPopup: AriaHasPopup_2;
|
|
655
|
+
hidden: boolean;
|
|
656
|
+
id: string;
|
|
657
|
+
label: string;
|
|
658
|
+
labelledBy: string;
|
|
659
|
+
pressed: AriaPressed_2;
|
|
660
|
+
required: boolean;
|
|
661
|
+
role: AriaRole_2;
|
|
662
|
+
rowCount: number;
|
|
663
|
+
rowIndex: number;
|
|
664
|
+
selected: boolean;
|
|
665
|
+
multiselectable: boolean;
|
|
666
|
+
}
|
|
667
|
+
|
|
627
668
|
/**
|
|
628
669
|
* @public
|
|
629
670
|
*/
|
|
630
|
-
export declare type AriaRole = 'alert' | 'button' | 'columnheader' | 'combobox' | 'grid' | 'gridcell' | 'group' | 'list' | 'listbox' | 'listitem' | 'menu' | 'menubar' | 'menuitem' | 'none' | 'option' | 'radiogroup' | 'row' | 'rowgroup' | 'rowheader' | 'tree' | 'treeitem';
|
|
671
|
+
export declare type AriaRole = 'alert' | 'banner' | 'button' | 'columnheader' | 'combobox' | 'dialog' | 'grid' | 'gridcell' | 'group' | 'list' | 'listbox' | 'listitem' | 'menu' | 'menubar' | 'menuitem' | 'none' | 'option' | 'radiogroup' | 'row' | 'rowgroup' | 'rowheader' | 'tree' | 'treeitem';
|
|
672
|
+
|
|
673
|
+
declare type AriaRole_2 = 'alert' | 'banner' | 'button' | 'columnheader' | 'combobox' | 'dialog' | 'grid' | 'gridcell' | 'group' | 'list' | 'listbox' | 'listitem' | 'menu' | 'menubar' | 'menuitem' | 'none' | 'option' | 'radiogroup' | 'row' | 'rowgroup' | 'rowheader' | 'tree' | 'treeitem';
|
|
631
674
|
|
|
632
675
|
/**
|
|
633
676
|
* @public
|
|
@@ -1195,7 +1238,9 @@ export declare interface ContainerItemsQueryProps {
|
|
|
1195
1238
|
export declare interface ContentEditorExtensions {
|
|
1196
1239
|
richTextField: RichTextFieldExtensions;
|
|
1197
1240
|
formFields: ReadonlyArray<ContentEditorFormFieldExtension>;
|
|
1241
|
+
multivalueFormFields: ReadonlyArray<ContentEditorMultivalueFormFieldExtension>;
|
|
1198
1242
|
editors: ReadonlyArray<ContentEditorViewExtension>;
|
|
1243
|
+
panels: EditorPanelsExtensions;
|
|
1199
1244
|
}
|
|
1200
1245
|
|
|
1201
1246
|
/**
|
|
@@ -1203,9 +1248,12 @@ export declare interface ContentEditorExtensions {
|
|
|
1203
1248
|
*/
|
|
1204
1249
|
export declare class ContentEditorExtensionsBuilder {
|
|
1205
1250
|
private _formFields;
|
|
1251
|
+
private _multivalueFormFields;
|
|
1206
1252
|
private _itemEditors;
|
|
1207
1253
|
readonly richTextField: RichTextFieldExtensionsBuilder;
|
|
1254
|
+
readonly panels: EditorPanelsExtensionsBuilder;
|
|
1208
1255
|
addFormField: (item: ContentEditorFormFieldExtension) => this;
|
|
1256
|
+
addMultivalueFormField: (item: ContentEditorMultivalueFormFieldExtension) => this;
|
|
1209
1257
|
addItemEditor: (item: ContentEditorViewExtension) => this;
|
|
1210
1258
|
build: () => ContentEditorExtensions;
|
|
1211
1259
|
}
|
|
@@ -1298,6 +1346,97 @@ export declare interface ContentEditorFormFieldHookResult {
|
|
|
1298
1346
|
isAvailable: boolean;
|
|
1299
1347
|
}
|
|
1300
1348
|
|
|
1349
|
+
/**
|
|
1350
|
+
* @public
|
|
1351
|
+
*/
|
|
1352
|
+
export declare type ContentEditorMultivalueFormFieldExtension = () => ContentEditorMultivalueFormFieldExtensionConfiguration;
|
|
1353
|
+
|
|
1354
|
+
/**
|
|
1355
|
+
* @public
|
|
1356
|
+
*/
|
|
1357
|
+
export declare interface ContentEditorMultivalueFormFieldExtensionConfiguration {
|
|
1358
|
+
/**
|
|
1359
|
+
* Extension id
|
|
1360
|
+
*/
|
|
1361
|
+
readonly id: string;
|
|
1362
|
+
/**
|
|
1363
|
+
* Component to render for the multivalue field collection
|
|
1364
|
+
*/
|
|
1365
|
+
readonly component: ComponentType<ContentEditorMultivalueFormFieldExtensionProps>;
|
|
1366
|
+
/**
|
|
1367
|
+
* Hook which returns information about the current multivalue field for the extension
|
|
1368
|
+
*/
|
|
1369
|
+
readonly useFormField: (props: ContentEditorMultivalueFormFieldHookProps) => ContentEditorMultivalueFormFieldHookResult;
|
|
1370
|
+
}
|
|
1371
|
+
|
|
1372
|
+
/**
|
|
1373
|
+
* Props passed to multivalue collection field extension components.
|
|
1374
|
+
* Unlike single-value field extensions that render per item, multivalue extensions
|
|
1375
|
+
* receive the entire array of values and render the collection as a single component.
|
|
1376
|
+
* @public
|
|
1377
|
+
*/
|
|
1378
|
+
export declare interface ContentEditorMultivalueFormFieldExtensionProps<T = any> {
|
|
1379
|
+
/**
|
|
1380
|
+
* Array of all values in the multivalue field
|
|
1381
|
+
*/
|
|
1382
|
+
values: T[];
|
|
1383
|
+
/**
|
|
1384
|
+
* Field definition of the form field
|
|
1385
|
+
*/
|
|
1386
|
+
fieldDefinition: ItemFieldDefinition;
|
|
1387
|
+
/**
|
|
1388
|
+
* Boolean to indicate whether the field should be rendered in read only mode
|
|
1389
|
+
*/
|
|
1390
|
+
isReadOnly: boolean;
|
|
1391
|
+
/**
|
|
1392
|
+
* Boolean to indicate whether the field should be rendered in a disabled state
|
|
1393
|
+
*/
|
|
1394
|
+
isDisabled: boolean;
|
|
1395
|
+
/**
|
|
1396
|
+
* Set all field values at once
|
|
1397
|
+
*/
|
|
1398
|
+
setValues: (values: T[]) => void;
|
|
1399
|
+
/**
|
|
1400
|
+
* Original multivalue container to render as fallback
|
|
1401
|
+
*/
|
|
1402
|
+
renderContainer: ReactNode;
|
|
1403
|
+
}
|
|
1404
|
+
|
|
1405
|
+
/**
|
|
1406
|
+
* @public
|
|
1407
|
+
*/
|
|
1408
|
+
export declare interface ContentEditorMultivalueFormFieldHookProps {
|
|
1409
|
+
/**
|
|
1410
|
+
* Indicates whether the field is rendered in read only mode or not
|
|
1411
|
+
*/
|
|
1412
|
+
isReadOnly: boolean;
|
|
1413
|
+
/**
|
|
1414
|
+
* Indicates whether the field is rendered in disabled mode or not
|
|
1415
|
+
*/
|
|
1416
|
+
isDisabled: boolean;
|
|
1417
|
+
/**
|
|
1418
|
+
* Field definition of the form field
|
|
1419
|
+
*/
|
|
1420
|
+
fieldDefinition: ItemFieldDefinition;
|
|
1421
|
+
}
|
|
1422
|
+
|
|
1423
|
+
/**
|
|
1424
|
+
* @public
|
|
1425
|
+
*/
|
|
1426
|
+
export declare interface ContentEditorMultivalueFormFieldHookResult {
|
|
1427
|
+
/**
|
|
1428
|
+
* Priority value of the field in the list of candidates for rendering.
|
|
1429
|
+
* Extension with a higher priority will be displayed instead of an extension with lower priority.
|
|
1430
|
+
* Helps to resolve collapsing cases when useIsAvailable returns true for two or more
|
|
1431
|
+
* extensions for a single field at the same time.
|
|
1432
|
+
*/
|
|
1433
|
+
priority?: number;
|
|
1434
|
+
/**
|
|
1435
|
+
* Defines whether the field extension is available to be displayed or not
|
|
1436
|
+
*/
|
|
1437
|
+
isAvailable: boolean;
|
|
1438
|
+
}
|
|
1439
|
+
|
|
1301
1440
|
/**
|
|
1302
1441
|
* @public
|
|
1303
1442
|
*/
|
|
@@ -1682,6 +1821,7 @@ export declare const contentExplorerInsightsPanelId: {
|
|
|
1682
1821
|
"view-on-site": "view-on-site";
|
|
1683
1822
|
"published-to": "published-to";
|
|
1684
1823
|
translations: "translations";
|
|
1824
|
+
comparison: "comparison";
|
|
1685
1825
|
};
|
|
1686
1826
|
|
|
1687
1827
|
/**
|
|
@@ -1689,7 +1829,7 @@ export declare const contentExplorerInsightsPanelId: {
|
|
|
1689
1829
|
*
|
|
1690
1830
|
* @public
|
|
1691
1831
|
*/
|
|
1692
|
-
export declare const contentExplorerInsightsPanelIds: readonly ["search", "information", "general", "metadata", "history", "blueprint", "where-used", "view-on-site", "published-to", "translations"];
|
|
1832
|
+
export declare const contentExplorerInsightsPanelIds: readonly ["search", "information", "general", "metadata", "history", "blueprint", "where-used", "view-on-site", "published-to", "translations", "comparison"];
|
|
1693
1833
|
|
|
1694
1834
|
/**
|
|
1695
1835
|
* @public
|
|
@@ -1815,6 +1955,7 @@ export declare const contentExplorerPanelId: {
|
|
|
1815
1955
|
"view-on-site": "view-on-site";
|
|
1816
1956
|
"published-to": "published-to";
|
|
1817
1957
|
translations: "translations";
|
|
1958
|
+
comparison: "comparison";
|
|
1818
1959
|
};
|
|
1819
1960
|
|
|
1820
1961
|
/**
|
|
@@ -1823,7 +1964,7 @@ export declare const contentExplorerPanelId: {
|
|
|
1823
1964
|
* @public
|
|
1824
1965
|
* @deprecated use `contentExplorerInsightsPanelIds` instead
|
|
1825
1966
|
*/
|
|
1826
|
-
export declare const contentExplorerPanelIds: readonly ["search", "information", "general", "metadata", "history", "blueprint", "where-used", "view-on-site", "published-to", "translations"];
|
|
1967
|
+
export declare const contentExplorerPanelIds: readonly ["search", "information", "general", "metadata", "history", "blueprint", "where-used", "view-on-site", "published-to", "translations", "comparison"];
|
|
1827
1968
|
|
|
1828
1969
|
/**
|
|
1829
1970
|
* Content Explorer hierarchy node that has list of publications as a children.
|
|
@@ -2176,6 +2317,28 @@ export declare interface DemoteItemsRequest {
|
|
|
2176
2317
|
failureLevel: 'warning' | 'error';
|
|
2177
2318
|
}
|
|
2178
2319
|
|
|
2320
|
+
/**
|
|
2321
|
+
* Props passed to the editor panel component.
|
|
2322
|
+
* @public
|
|
2323
|
+
*/
|
|
2324
|
+
export declare interface EditorExtensionPanelComponentProps<TItem extends IdentifiableObject = IdentifiableObject> {
|
|
2325
|
+
/**
|
|
2326
|
+
* The item being edited in the editor.
|
|
2327
|
+
*/
|
|
2328
|
+
item: TItem;
|
|
2329
|
+
}
|
|
2330
|
+
|
|
2331
|
+
/**
|
|
2332
|
+
* Props passed to the editor panel hook.
|
|
2333
|
+
* @public
|
|
2334
|
+
*/
|
|
2335
|
+
export declare interface EditorExtensionPanelHookProps<TItem extends IdentifiableObject = IdentifiableObject> {
|
|
2336
|
+
/**
|
|
2337
|
+
* The item being edited in the editor, if available.
|
|
2338
|
+
*/
|
|
2339
|
+
item?: TItem;
|
|
2340
|
+
}
|
|
2341
|
+
|
|
2179
2342
|
/**
|
|
2180
2343
|
* @public
|
|
2181
2344
|
*/
|
|
@@ -2219,6 +2382,120 @@ export declare interface EditorHooksApiStorage {
|
|
|
2219
2382
|
useOptionalEditor: OptionalEditorHook;
|
|
2220
2383
|
}
|
|
2221
2384
|
|
|
2385
|
+
/**
|
|
2386
|
+
* Type represents ID of a built-in panel of an editor.
|
|
2387
|
+
*
|
|
2388
|
+
* @public
|
|
2389
|
+
*/
|
|
2390
|
+
export declare type EditorPanelId = ValuesOfArray<typeof editorPanelIds>;
|
|
2391
|
+
|
|
2392
|
+
/**
|
|
2393
|
+
* All available built-in editor panel IDs.
|
|
2394
|
+
*
|
|
2395
|
+
* @public
|
|
2396
|
+
*/
|
|
2397
|
+
export declare const editorPanelId: {
|
|
2398
|
+
information: "information";
|
|
2399
|
+
history: "history";
|
|
2400
|
+
general: "general";
|
|
2401
|
+
blueprint: "blueprint";
|
|
2402
|
+
"where-used": "where-used";
|
|
2403
|
+
"view-on-site": "view-on-site";
|
|
2404
|
+
"published-to": "published-to";
|
|
2405
|
+
translations: "translations";
|
|
2406
|
+
comparison: "comparison";
|
|
2407
|
+
};
|
|
2408
|
+
|
|
2409
|
+
/**
|
|
2410
|
+
* List of all built-in panel IDs for editors.
|
|
2411
|
+
*
|
|
2412
|
+
* @public
|
|
2413
|
+
*/
|
|
2414
|
+
export declare const editorPanelIds: readonly ["general", "view-on-site", "history", "blueprint", "where-used", "published-to", "information", "translations", "comparison"];
|
|
2415
|
+
|
|
2416
|
+
/**
|
|
2417
|
+
* Extension function type for editor panels.
|
|
2418
|
+
* @public
|
|
2419
|
+
*/
|
|
2420
|
+
export declare type EditorPanelsExtension<TItem extends IdentifiableObject = IdentifiableObject> = () => EditorPanelsExtensionConfiguration<EditorExtensionPanelComponentProps<TItem>, EditorExtensionPanelHookProps<TItem>>;
|
|
2421
|
+
|
|
2422
|
+
/**
|
|
2423
|
+
* @public
|
|
2424
|
+
*/
|
|
2425
|
+
export declare interface EditorPanelsExtensionConfiguration<TComponentProps, THookProps> {
|
|
2426
|
+
/**
|
|
2427
|
+
* Extension id
|
|
2428
|
+
*/
|
|
2429
|
+
readonly id: string;
|
|
2430
|
+
/**
|
|
2431
|
+
* Component to display as a panel
|
|
2432
|
+
*/
|
|
2433
|
+
readonly contentComponent: ComponentType<TComponentProps>;
|
|
2434
|
+
/**
|
|
2435
|
+
* Optional component to render a custom tab label
|
|
2436
|
+
*/
|
|
2437
|
+
readonly tabLabelComponent?: ComponentType<TComponentProps>;
|
|
2438
|
+
/**
|
|
2439
|
+
* Hook which returns information about the current panel for the extension
|
|
2440
|
+
*/
|
|
2441
|
+
readonly usePanel: (props: THookProps) => EditorPanelsExtensionHookResult;
|
|
2442
|
+
}
|
|
2443
|
+
|
|
2444
|
+
/**
|
|
2445
|
+
* @public
|
|
2446
|
+
*/
|
|
2447
|
+
export declare interface EditorPanelsExtensionHookResult {
|
|
2448
|
+
/**
|
|
2449
|
+
* Defines whether an panel extension is available to be displayed or not
|
|
2450
|
+
*/
|
|
2451
|
+
readonly isAvailable: boolean;
|
|
2452
|
+
/**
|
|
2453
|
+
* Label of a panel to display. Value is rendered unless `tabLabelComponent` is provided.
|
|
2454
|
+
*/
|
|
2455
|
+
readonly label: string;
|
|
2456
|
+
}
|
|
2457
|
+
|
|
2458
|
+
/**
|
|
2459
|
+
* Collection of editor panels extensions.
|
|
2460
|
+
* @public
|
|
2461
|
+
*/
|
|
2462
|
+
export declare interface EditorPanelsExtensions {
|
|
2463
|
+
/**
|
|
2464
|
+
* Registered panel extensions.
|
|
2465
|
+
*/
|
|
2466
|
+
items: ReadonlyArray<EditorPanelsExtension>;
|
|
2467
|
+
/**
|
|
2468
|
+
* Configuration for ordering and visibility of panels.
|
|
2469
|
+
*/
|
|
2470
|
+
config: ReadonlyArray<ListBuilderConfigurationExtension<string>>;
|
|
2471
|
+
}
|
|
2472
|
+
|
|
2473
|
+
/**
|
|
2474
|
+
* Builder for editor panels extensions.
|
|
2475
|
+
* @public
|
|
2476
|
+
*/
|
|
2477
|
+
export declare class EditorPanelsExtensionsBuilder {
|
|
2478
|
+
private _panelsExtensions;
|
|
2479
|
+
/**
|
|
2480
|
+
* Provides a mechanism for customizing the configuration of panels.
|
|
2481
|
+
*/
|
|
2482
|
+
readonly config: ListBuilder<string>;
|
|
2483
|
+
/**
|
|
2484
|
+
* Registers a new panel for editors.
|
|
2485
|
+
*
|
|
2486
|
+
* @remarks
|
|
2487
|
+
* This method only registers the panel and does not automatically make it visible in the application.
|
|
2488
|
+
* To add the panel to the application, use {@link EditorPanelsExtensionsBuilder.config}.
|
|
2489
|
+
*
|
|
2490
|
+
* @param item - panel to be registered
|
|
2491
|
+
*/
|
|
2492
|
+
register: <TItem extends IdentifiableObject = IdentifiableObject>(item: EditorPanelsExtension<TItem>) => this;
|
|
2493
|
+
/**
|
|
2494
|
+
* Builds the editor panels extensions.
|
|
2495
|
+
*/
|
|
2496
|
+
build: () => EditorPanelsExtensions;
|
|
2497
|
+
}
|
|
2498
|
+
|
|
2222
2499
|
/**
|
|
2223
2500
|
* @internal
|
|
2224
2501
|
*/
|
|
@@ -2785,7 +3062,7 @@ export declare interface IconProps extends TooltipProps, SpaceProps, SizeProps,
|
|
|
2785
3062
|
children: ReactNode;
|
|
2786
3063
|
}
|
|
2787
3064
|
|
|
2788
|
-
declare interface IconProps_2 extends SvgProps, Partial<IconDefaultProps
|
|
3065
|
+
declare interface IconProps_2 extends SvgProps, Partial<IconDefaultProps>, Partial<AccessibleComponentProps_2<'hidden' | 'label' | 'id' | 'labelledBy' | 'role'>> {
|
|
2789
3066
|
}
|
|
2790
3067
|
|
|
2791
3068
|
/**
|
package/dist/index.js
CHANGED
|
@@ -37,6 +37,7 @@ const contentExplorerInsightsPanelIds = [
|
|
|
37
37
|
'view-on-site',
|
|
38
38
|
'published-to',
|
|
39
39
|
'translations',
|
|
40
|
+
'comparison',
|
|
40
41
|
];
|
|
41
42
|
/**
|
|
42
43
|
* All available built-in Content Explorer panel IDs.
|
|
@@ -72,6 +73,29 @@ const publishingQueueExplorerPanelIds = ['information', 'resolvedItems'];
|
|
|
72
73
|
*/
|
|
73
74
|
const publishingQueueExplorerPanelId = createEnumObject(publishingQueueExplorerPanelIds);
|
|
74
75
|
|
|
76
|
+
/**
|
|
77
|
+
* List of all built-in panel IDs for editors.
|
|
78
|
+
*
|
|
79
|
+
* @public
|
|
80
|
+
*/
|
|
81
|
+
const editorPanelIds = [
|
|
82
|
+
'general',
|
|
83
|
+
'view-on-site',
|
|
84
|
+
'history',
|
|
85
|
+
'blueprint',
|
|
86
|
+
'where-used',
|
|
87
|
+
'published-to',
|
|
88
|
+
'information',
|
|
89
|
+
'translations',
|
|
90
|
+
'comparison',
|
|
91
|
+
];
|
|
92
|
+
/**
|
|
93
|
+
* All available built-in editor panel IDs.
|
|
94
|
+
*
|
|
95
|
+
* @public
|
|
96
|
+
*/
|
|
97
|
+
const editorPanelId = createEnumObject(editorPanelIds);
|
|
98
|
+
|
|
75
99
|
/**
|
|
76
100
|
* @public
|
|
77
101
|
*/
|
|
@@ -648,6 +672,64 @@ class ActivitiesExplorerExtensionsBuilder {
|
|
|
648
672
|
}
|
|
649
673
|
}
|
|
650
674
|
|
|
675
|
+
/**
|
|
676
|
+
* Builder for editor panels extensions.
|
|
677
|
+
* @public
|
|
678
|
+
*/
|
|
679
|
+
class EditorPanelsExtensionsBuilder {
|
|
680
|
+
constructor() {
|
|
681
|
+
Object.defineProperty(this, "_panelsExtensions", {
|
|
682
|
+
enumerable: true,
|
|
683
|
+
configurable: true,
|
|
684
|
+
writable: true,
|
|
685
|
+
value: []
|
|
686
|
+
});
|
|
687
|
+
/**
|
|
688
|
+
* Provides a mechanism for customizing the configuration of panels.
|
|
689
|
+
*/
|
|
690
|
+
Object.defineProperty(this, "config", {
|
|
691
|
+
enumerable: true,
|
|
692
|
+
configurable: true,
|
|
693
|
+
writable: true,
|
|
694
|
+
value: new ListBuilder(itemId => itemId)
|
|
695
|
+
});
|
|
696
|
+
/**
|
|
697
|
+
* Registers a new panel for editors.
|
|
698
|
+
*
|
|
699
|
+
* @remarks
|
|
700
|
+
* This method only registers the panel and does not automatically make it visible in the application.
|
|
701
|
+
* To add the panel to the application, use {@link EditorPanelsExtensionsBuilder.config}.
|
|
702
|
+
*
|
|
703
|
+
* @param item - panel to be registered
|
|
704
|
+
*/
|
|
705
|
+
Object.defineProperty(this, "register", {
|
|
706
|
+
enumerable: true,
|
|
707
|
+
configurable: true,
|
|
708
|
+
writable: true,
|
|
709
|
+
value: (item) => {
|
|
710
|
+
// Since EditorPanelsExtension is contravariant in its generic parameter,
|
|
711
|
+
// we need to handle the type conversion more carefully
|
|
712
|
+
this._panelsExtensions.push(item);
|
|
713
|
+
return this;
|
|
714
|
+
}
|
|
715
|
+
});
|
|
716
|
+
/**
|
|
717
|
+
* Builds the editor panels extensions.
|
|
718
|
+
*/
|
|
719
|
+
Object.defineProperty(this, "build", {
|
|
720
|
+
enumerable: true,
|
|
721
|
+
configurable: true,
|
|
722
|
+
writable: true,
|
|
723
|
+
value: () => {
|
|
724
|
+
return {
|
|
725
|
+
items: this._panelsExtensions,
|
|
726
|
+
config: this.config.build(),
|
|
727
|
+
};
|
|
728
|
+
}
|
|
729
|
+
});
|
|
730
|
+
}
|
|
731
|
+
}
|
|
732
|
+
|
|
651
733
|
/**
|
|
652
734
|
* @public
|
|
653
735
|
*/
|
|
@@ -706,6 +788,12 @@ class ContentEditorExtensionsBuilder {
|
|
|
706
788
|
writable: true,
|
|
707
789
|
value: []
|
|
708
790
|
});
|
|
791
|
+
Object.defineProperty(this, "_multivalueFormFields", {
|
|
792
|
+
enumerable: true,
|
|
793
|
+
configurable: true,
|
|
794
|
+
writable: true,
|
|
795
|
+
value: []
|
|
796
|
+
});
|
|
709
797
|
Object.defineProperty(this, "_itemEditors", {
|
|
710
798
|
enumerable: true,
|
|
711
799
|
configurable: true,
|
|
@@ -718,6 +806,12 @@ class ContentEditorExtensionsBuilder {
|
|
|
718
806
|
writable: true,
|
|
719
807
|
value: new RichTextFieldExtensionsBuilder()
|
|
720
808
|
});
|
|
809
|
+
Object.defineProperty(this, "panels", {
|
|
810
|
+
enumerable: true,
|
|
811
|
+
configurable: true,
|
|
812
|
+
writable: true,
|
|
813
|
+
value: new EditorPanelsExtensionsBuilder()
|
|
814
|
+
});
|
|
721
815
|
Object.defineProperty(this, "addFormField", {
|
|
722
816
|
enumerable: true,
|
|
723
817
|
configurable: true,
|
|
@@ -727,6 +821,15 @@ class ContentEditorExtensionsBuilder {
|
|
|
727
821
|
return this;
|
|
728
822
|
}
|
|
729
823
|
});
|
|
824
|
+
Object.defineProperty(this, "addMultivalueFormField", {
|
|
825
|
+
enumerable: true,
|
|
826
|
+
configurable: true,
|
|
827
|
+
writable: true,
|
|
828
|
+
value: (item) => {
|
|
829
|
+
this._multivalueFormFields.push(item);
|
|
830
|
+
return this;
|
|
831
|
+
}
|
|
832
|
+
});
|
|
730
833
|
Object.defineProperty(this, "addItemEditor", {
|
|
731
834
|
enumerable: true,
|
|
732
835
|
configurable: true,
|
|
@@ -744,7 +847,9 @@ class ContentEditorExtensionsBuilder {
|
|
|
744
847
|
return {
|
|
745
848
|
richTextField: this.richTextField.build(),
|
|
746
849
|
formFields: this._formFields,
|
|
850
|
+
multivalueFormFields: this._multivalueFormFields,
|
|
747
851
|
editors: this._itemEditors,
|
|
852
|
+
panels: this.panels.build(),
|
|
748
853
|
};
|
|
749
854
|
}
|
|
750
855
|
});
|
|
@@ -2768,7 +2873,7 @@ const createExtensionGlobals = () => {
|
|
|
2768
2873
|
};
|
|
2769
2874
|
};
|
|
2770
2875
|
|
|
2771
|
-
const version = "3.
|
|
2876
|
+
const version = "3.3.0";
|
|
2772
2877
|
const peerDependencies = {
|
|
2773
2878
|
"@tridion-sites/models": "workspace:*",
|
|
2774
2879
|
"@tridion-sites/open-api-client": "workspace:*",
|
|
@@ -2787,4 +2892,4 @@ const frameworkInfo = {
|
|
|
2787
2892
|
peerDependencies,
|
|
2788
2893
|
};
|
|
2789
2894
|
|
|
2790
|
-
export { AccessControlExtensionsBuilder, ActionsConfigurationExtensionsBuilder, ActivitiesExplorerExtensionsBuilder, ActivitiesExplorerInsightsPanelsExtensionsBuilder, ActivitiesExplorerTableExtensionsBuilder, Block, Button, Center, ContentEditorExtensionsBuilder, ContentExplorerExtensionsBuilder, ContentExplorerInsightsPanelsExtensionsBuilder, ContentExplorerTableExtensionsBuilder, ContentExplorerTreeExtensionsBuilder, ExtensionBuilder, Flex, HeaderExtensionsBuilder, Icon, InfoMenuExtensionsBuilder, Link, ModalContent, ModalFooter, ModalHeader, NavigationExtensionsBuilder, PropertiesList, PublishingQueueExplorerExtensionsBuilder, PublishingQueueExplorerInsightsPanelsExtensionsBuilder, PublishingQueueExplorerTableExtensionsBuilder, RichTextFieldExtensionsBuilder, Stack, Text, TextLink, TranslationExtensionsBuilder, activitiesExplorerActionGroupId, activitiesExplorerActionGroupIds, activitiesExplorerActionId, activitiesExplorerActionIds, activitiesExplorerPanelId, activitiesExplorerPanelIds, contentExplorerActionGroupId, contentExplorerActionGroupIds, contentExplorerActionId, contentExplorerActionIds, contentExplorerInsightsPanelId, contentExplorerInsightsPanelIds, contentExplorerPanelId, contentExplorerPanelIds, createExtensionGlobals, extensionApiBridge, frameworkInfo, getBorderRadius, getColorPalette, getOpacityLevel, getSpacing, getTransitionDuration, getZIndex, infoMenuItemId, infoMenuItemIds, isFavoritesNodeId, isItemNode, isItemNodeOfType, isItemsInProgressNode, isItemsInProgressNodeId, isPublicationsNode, isPublicationsNodeId, isRootNode, isRootNodeId, isSystemNode, itemCommandId, itemCommandIds, modalStatus, modalStatuses, modalType, modalTypes, navigationItemId, navigationItemIds, publishingQueueExplorerActionGroupId, publishingQueueExplorerActionGroupIds, publishingQueueExplorerActionId, publishingQueueExplorerActionIds, publishingQueueExplorerPanelId, publishingQueueExplorerPanelIds, useActivitiesExplorer, useActivitiesExplorerTable, useActivityInstancesQuery, useAddToBundleMutation, useAssignActivitiesMutation, useAssignActivityMutation, useAutoClassifyItemMutation, useAutoClassifyItemsMutation, useChangeUserLanguageMutation, useChangeUserLocaleMutation, useConfirmation, useContainerItems, useContentExplorer, useContentExplorerTable, useContentExplorerTree, useCopyItemMutation, useCopyItemsMutation, useCreateTranslationJobMutation, useDefaultTranslationJobQuery, useDeleteItemMutation, useDeleteItemsMutation, useDemoteItemMutation, useDemoteItemsMutation, useEditor, useFavoritesQuery, useFinishActivitiesMutation, useFinishActivityMutation, useFinishEditingItemMutation, useFinishEditingItemsMutation, useItemBlueprintHierarchyQuery, useItemChildrenQuery, useItemClassifiedItemsQuery, useItemDefaultDataQuery, useItemHistoryQuery, useItemPublishUrlsQuery, useItemPublishedPagesQuery, useItemPublishedToQuery, useItemQuery, useItemTranslationInfoQuery, useItemUsedByQuery, useItemUsesQuery, useItemsInProgressQuery, useItemsQuery, useItemsToPublishQuery, useItemsToUnpublishQuery, useLocalizeItemMutation, useLocalizeItemsMutation, useModal, useMoveItemMutation, useMoveItemsMutation, useNotifications, useOptionalActivitiesExplorer, useOptionalActivitiesExplorerTable, useOptionalBundleEditor, useOptionalCategoryEditor, useOptionalComponentEditor, useOptionalContentExplorer, useOptionalContentExplorerTable, useOptionalContentExplorerTree, useOptionalEditor, useOptionalFolderEditor, useOptionalKeywordEditor, useOptionalPageEditor, useOptionalPublishingQueueExplorer, useOptionalPublishingQueueExplorerTable, useOptionalStructureGroupEditor, usePublicationBlueprintHierarchyQuery, usePublicationsQuery, usePublishItemsMutation, usePublishableTargetTypesQuery, usePublishingQueueExplorer, usePublishingQueueExplorerTable, useRemoveFromBundleMutation, useRestartActivitiesMutation, useRestartActivityMutation, useRevertItemMutation, useRevertItemsMutation, useRollbackItemMutation, useSearchInContainerQuery, useStartActivitiesMutation, useStartActivityMutation, useStartWorkflowMutation, useSystemSearchQuery, useUnlocalizeItemMutation, useUnlocalizeItemsMutation, useUnpublishItemsMutation, useUpdateItemMutation, useUploadMultimediaMutation, useUserGroupsQuery, useUserProfile, useUserProfileQuery, useUsersQuery };
|
|
2895
|
+
export { AccessControlExtensionsBuilder, ActionsConfigurationExtensionsBuilder, ActivitiesExplorerExtensionsBuilder, ActivitiesExplorerInsightsPanelsExtensionsBuilder, ActivitiesExplorerTableExtensionsBuilder, Block, Button, Center, ContentEditorExtensionsBuilder, ContentExplorerExtensionsBuilder, ContentExplorerInsightsPanelsExtensionsBuilder, ContentExplorerTableExtensionsBuilder, ContentExplorerTreeExtensionsBuilder, EditorPanelsExtensionsBuilder, ExtensionBuilder, Flex, HeaderExtensionsBuilder, Icon, InfoMenuExtensionsBuilder, Link, ModalContent, ModalFooter, ModalHeader, NavigationExtensionsBuilder, PropertiesList, PublishingQueueExplorerExtensionsBuilder, PublishingQueueExplorerInsightsPanelsExtensionsBuilder, PublishingQueueExplorerTableExtensionsBuilder, RichTextFieldExtensionsBuilder, Stack, Text, TextLink, TranslationExtensionsBuilder, activitiesExplorerActionGroupId, activitiesExplorerActionGroupIds, activitiesExplorerActionId, activitiesExplorerActionIds, activitiesExplorerPanelId, activitiesExplorerPanelIds, contentExplorerActionGroupId, contentExplorerActionGroupIds, contentExplorerActionId, contentExplorerActionIds, contentExplorerInsightsPanelId, contentExplorerInsightsPanelIds, contentExplorerPanelId, contentExplorerPanelIds, createExtensionGlobals, editorPanelId, editorPanelIds, extensionApiBridge, frameworkInfo, getBorderRadius, getColorPalette, getOpacityLevel, getSpacing, getTransitionDuration, getZIndex, infoMenuItemId, infoMenuItemIds, isFavoritesNodeId, isItemNode, isItemNodeOfType, isItemsInProgressNode, isItemsInProgressNodeId, isPublicationsNode, isPublicationsNodeId, isRootNode, isRootNodeId, isSystemNode, itemCommandId, itemCommandIds, modalStatus, modalStatuses, modalType, modalTypes, navigationItemId, navigationItemIds, publishingQueueExplorerActionGroupId, publishingQueueExplorerActionGroupIds, publishingQueueExplorerActionId, publishingQueueExplorerActionIds, publishingQueueExplorerPanelId, publishingQueueExplorerPanelIds, useActivitiesExplorer, useActivitiesExplorerTable, useActivityInstancesQuery, useAddToBundleMutation, useAssignActivitiesMutation, useAssignActivityMutation, useAutoClassifyItemMutation, useAutoClassifyItemsMutation, useChangeUserLanguageMutation, useChangeUserLocaleMutation, useConfirmation, useContainerItems, useContentExplorer, useContentExplorerTable, useContentExplorerTree, useCopyItemMutation, useCopyItemsMutation, useCreateTranslationJobMutation, useDefaultTranslationJobQuery, useDeleteItemMutation, useDeleteItemsMutation, useDemoteItemMutation, useDemoteItemsMutation, useEditor, useFavoritesQuery, useFinishActivitiesMutation, useFinishActivityMutation, useFinishEditingItemMutation, useFinishEditingItemsMutation, useItemBlueprintHierarchyQuery, useItemChildrenQuery, useItemClassifiedItemsQuery, useItemDefaultDataQuery, useItemHistoryQuery, useItemPublishUrlsQuery, useItemPublishedPagesQuery, useItemPublishedToQuery, useItemQuery, useItemTranslationInfoQuery, useItemUsedByQuery, useItemUsesQuery, useItemsInProgressQuery, useItemsQuery, useItemsToPublishQuery, useItemsToUnpublishQuery, useLocalizeItemMutation, useLocalizeItemsMutation, useModal, useMoveItemMutation, useMoveItemsMutation, useNotifications, useOptionalActivitiesExplorer, useOptionalActivitiesExplorerTable, useOptionalBundleEditor, useOptionalCategoryEditor, useOptionalComponentEditor, useOptionalContentExplorer, useOptionalContentExplorerTable, useOptionalContentExplorerTree, useOptionalEditor, useOptionalFolderEditor, useOptionalKeywordEditor, useOptionalPageEditor, useOptionalPublishingQueueExplorer, useOptionalPublishingQueueExplorerTable, useOptionalStructureGroupEditor, usePublicationBlueprintHierarchyQuery, usePublicationsQuery, usePublishItemsMutation, usePublishableTargetTypesQuery, usePublishingQueueExplorer, usePublishingQueueExplorerTable, useRemoveFromBundleMutation, useRestartActivitiesMutation, useRestartActivityMutation, useRevertItemMutation, useRevertItemsMutation, useRollbackItemMutation, useSearchInContainerQuery, useStartActivitiesMutation, useStartActivityMutation, useStartWorkflowMutation, useSystemSearchQuery, useUnlocalizeItemMutation, useUnlocalizeItemsMutation, useUnpublishItemsMutation, useUpdateItemMutation, useUploadMultimediaMutation, useUserGroupsQuery, useUserProfile, useUserProfileQuery, useUsersQuery };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tridion-sites/extensions",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.3.0",
|
|
4
4
|
"description": "Tridion Sites Extensions API",
|
|
5
5
|
"author": "RWS",
|
|
6
6
|
"homepage": "https://www.rws.com",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"prepublish": "yarn build"
|
|
23
23
|
},
|
|
24
24
|
"peerDependencies": {
|
|
25
|
-
"@tridion-sites/models": "2.
|
|
25
|
+
"@tridion-sites/models": "2.3.0",
|
|
26
26
|
"@tridion-sites/open-api-client": "4.2.0",
|
|
27
27
|
"react": "18.3.1",
|
|
28
28
|
"react-dom": "18.3.1",
|
|
@@ -35,9 +35,9 @@
|
|
|
35
35
|
"@rollup/plugin-json": "6.1.0",
|
|
36
36
|
"@rollup/plugin-node-resolve": "15.3.1",
|
|
37
37
|
"@rollup/plugin-typescript": "11.1.6",
|
|
38
|
-
"@tridion-sites/models": "2.
|
|
38
|
+
"@tridion-sites/models": "2.3.0",
|
|
39
39
|
"@tridion-sites/open-api-client": "4.2.0",
|
|
40
|
-
"@tridion/graphene": "
|
|
40
|
+
"@tridion/graphene": "4.0.0",
|
|
41
41
|
"@types/react": "18.3.11",
|
|
42
42
|
"react": "18.3.1",
|
|
43
43
|
"react-dom": "18.3.1",
|