@tridion-sites/extensions 1.0.1 → 1.0.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/README.md ADDED
@@ -0,0 +1,157 @@
1
+ # Tridion Sites Extensions API
2
+
3
+ `@tridion-sites/extensions` provides an API for frontend extensions for Tridion Sites.
4
+
5
+ ## Getting Started
6
+
7
+ All extensions export an [`ExtensionModule`](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.extensionmodule.html) object. The `initialize` function on this object receives an [`ExtensionBuilder`](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.extensionbuilder.html) from Tridion Sites as its argument, which gives a developer access to the extensions API.
8
+
9
+ ## Common functionality
10
+
11
+ This functionality can be used in any extension point and is available throughout the application.
12
+
13
+ ### Hooks
14
+
15
+ | Name | Description | Example |
16
+ | ------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
17
+ | [useConfirmation](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.confirmationhook.html) | Opens a confirmation dialog with the provided [options](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.confirmationhookarguments.html) | [useHelloAction](https://github.com/RWS/tridion-sites-extensions-examples/blob/main/activities-explorer/simple-action-addon/hello-action/src/helloAction/useHelloAction.ts#L24) |
18
+ | [useNotifications](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.notificationshook.html) | Provides ability to show notifications and save them in Message Center | [useHelloAction](https://github.com/RWS/tridion-sites-extensions-examples/blob/main/activities-explorer/simple-action-addon/hello-action/src/helloAction/useHelloAction.ts#L16) |
19
+ | [useUserProfile](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.userprofilehook.html) | Provides access to the current user profile information | [useHelloAction](https://github.com/RWS/tridion-sites-extensions-examples/blob/main/activities-explorer/simple-action-addon/hello-action/src/helloAction/useHelloAction.ts#L12) |
20
+
21
+ ### Components and styling
22
+
23
+ Components and style constants are provided so extensions can maintain a consistent look & feel with Tridion Sites.
24
+
25
+ #### Layout
26
+
27
+ _💡 **Tip:** Layout components have an exposed `className` prop. This allows custom styles to be added via [styled-components](https://stash.sdl.com/projects/TDX/repos/tridion-sites/browse/libs/public/extensions/src/api/general/components/link.ts) or [CSS modules](https://css-tricks.com/css-modules-part-1-need/)._
28
+
29
+ | Name | Description | Example |
30
+ | -------------------------------------------------------------------------------------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
31
+ | [Block](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.blockprops.html) | | [Users List Item](https://github.com/RWS/tridion-sites-extensions-examples/blob/main/primary-navigation/async-page-addon/async-page/src/addUsersListNavigationItem/UsersList/UserListItem.tsx) |
32
+ | [Center](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.centerprops.html) | | [Schema Purpose Column](https://github.com/RWS/tridion-sites-extensions-examples/blob/main/content-explorer/schema-purpose-addon/schema-purpose-column/src/SchemaPurposeColumn.tsx) |
33
+ | [Flex](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.flexprops.html) | | [Number Field](https://github.com/RWS/tridion-sites-extensions-examples/blob/main/content-editor/custom-field-priority-addon/field-priority/src/addNumberField/NumberField.tsx) |
34
+ | [Stack](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.stackprops.html) | | [Users List](https://github.com/RWS/tridion-sites-extensions-examples/blob/main/primary-navigation/async-page-addon/async-page/src/addUsersListNavigationItem/UsersList/UsersList.tsx) |
35
+
36
+ #### Other components
37
+
38
+ | Name | Description | Example |
39
+ | ------------------------------------------------------------------------------------------------------ | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
40
+ | [Button](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.buttonprops.html) | | |
41
+ | [Icon](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.iconprops.html) | | [Smile Icon](https://github.com/RWS/tridion-sites-extensions-examples/blob/main/activities-explorer/simple-action-addon/hello-action/src/helloAction/SmileIcon.tsx) |
42
+ | [Link](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.linkprops.html) | | |
43
+ | [Text](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.textprops.html) | | [Number Field](https://github.com/RWS/tridion-sites-extensions-examples/blob/main/content-editor/custom-field-priority-addon/field-priority/src/addNumberField/NumberField.tsx) |
44
+ | [TextLink](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.textlinkprops.html) | | [Item Link](https://github.com/RWS/tridion-sites-extensions-examples/blob/main/activities-explorer/work-items-column-addon/work-items-column/src/workItemsColumn/ItemLink.tsx) |
45
+
46
+ #### Style constants
47
+
48
+ | Name | Description | Example |
49
+ | ------------------------------------------------------------------------------------------------------------------------------ | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
50
+ | [getBorderRadius](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.borderradiusgetter.html) | | [Hex Color Picker](https://github.com/RWS/tridion-sites-extensions-examples/blob/main/content-editor/color-picker-field-addon/color-picker-field/src/HexColorPicker.tsx) |
51
+ | [getColorPalette](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.colorpalettegetter.html) | | |
52
+ | [getOpacityLevel](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.opacitylevelgetter.html) | | |
53
+ | [getSpacing](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.spacinggetter.html) | | |
54
+ | [getTransitionDuration](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.transitiondurationgetter.html) | | |
55
+ | [getZIndex](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.zindexgetter.html) | | |
56
+
57
+ ## Data loading
58
+
59
+ Mutations and queries provide a way to requires Tridion Sites data. They operate with model instances of [`@tridion-sites/models`](https://www.npmjs.com/package/@tridion-sites/models) package rather than simple objects of [`@tridion-sites/open-api-client`](https://www.npmjs.com/package/@tridion-sites/open-api-client).
60
+
61
+ _💡 **Tip:** Mutations and queries share cached data between the host application and extensions. This means that if provided request was already loaded somewhere else - it is going to be retrieved from the cache if applicable._
62
+
63
+ ### Queries
64
+
65
+ Queries provide a way of retrieving data from the backend as well as managing its loading and reloading.
66
+
67
+ | Name | Description | Example |
68
+ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
69
+ | [useActivityInstancesQuery](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.activityinstancesqueryhook.html) | | |
70
+ | [useDefaultTranslationJobQuery](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.defaulttranslationjobqueryhook.html) | | |
71
+ | [useFavoritesQuery](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.favoritesqueryhook.html) | | |
72
+ | [useItemBlueprintHierarchyQuery](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.itemblueprinthierarchyqueryhook.html) | | |
73
+ | [useItemChildrenQuery](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.itemchildrenqueryhook.html) | | |
74
+ | [useItemClassifiedItemsQuery](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.itemclassifieditemsqueryhook.html) | | |
75
+ | [useItemDefaultDataQuery](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.itemdefaultdataqueryhook.html) | | |
76
+ | [useItemHistoryQuery](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.itemhistoryqueryhook.html) | | |
77
+ | [useItemPublishedPagesQuery](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.itempublishedpagesqueryhook.html) | | |
78
+ | [useItemPublishedToQuery](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.itempublishedtoqueryhook.html) | | |
79
+ | [useItemPublishUrlsQuery](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.itempublishurlsqueryhook.html) | | |
80
+ | [useItemQuery](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.itemqueryhook.html) | | [Work Items Popover](https://github.com/RWS/tridion-sites-extensions-examples/blob/main/activities-explorer/work-items-column-addon/work-items-column/src/workItemsColumn/WorkItemsPopover.tsx) |
81
+ | [useItemsInProgressQuery](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.itemsinprogressqueryhook.html) | | |
82
+ | [useItemsQuery](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.itemsqueryhook.html) | | |
83
+ | [useItemsToPublishQuery](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.itemstopublishqueryhook.html) | | |
84
+ | [useItemsToUnpublishQuery](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.itemstounpublishqueryhook.html) | | |
85
+ | [useItemTranslationInfoQuery](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.itemtranslationinfoqueryhook.html) | | |
86
+ | [useItemUsedByQuery](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.itemusedbyqueryhook.html) | | |
87
+ | [useItemUsesQuery](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.itemusesqueryhook.html) | | |
88
+ | [usePublicationBlueprintHierarchyQuery](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.publicationblueprinthierarchyqueryhook.html) | | |
89
+ | [usePublicationsQuery](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.publicationsqueryhook.html) | | |
90
+ | [usePublishableTargetTypesQuery](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.publishabletargettypesqueryhook.html) | | |
91
+ | [useSearchInContainerQuery](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.searchincontainerqueryhook.html) | | |
92
+ | [useSystemSearchQuery](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.systemsearchqueryhook.html) | | |
93
+ | [useUserGroupsQuery](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.usergroupsqueryhook.html) | | |
94
+ | [useUserProfileQuery](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.userprofilequeryhook.html) | | |
95
+ | [useUsersQuery](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.usersqueryhook.html) | | [Users Page](https://github.com/RWS/tridion-sites-extensions-examples/blob/main/primary-navigation/async-page-addon/async-page/src/addUsersListNavigationItem/UsersPage.tsx) |
96
+
97
+ ### Mutations
98
+
99
+ Mutations provide a way of changing data on the backend as well as handling request execution.
100
+
101
+ | Name | Description | Example |
102
+ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
103
+ | [useAddToBundleMutation](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.addtobundlemutationhook.html) | | |
104
+ | [useAssignActivitiesMutation](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.assignactivitiesmutationhook.html) | | |
105
+ | [useAssignActivityMutation](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.assignactivitymutationhook.html) | | |
106
+ | [useAutoClassifyItemMutation](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.autoclassifyitemmutationhook.html) | | |
107
+ | [useAutoClassifyItemsMutation](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.autoclassifyitemsmutationhook.html) | | |
108
+ | [useChangeUserLanguageMutation](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.changeuserlanguagemutationhook.html) | | [Change Language to Dutch Action](https://github.com/RWS/tridion-sites-extensions-examples/blob/main/content-explorer/action-with-mutation-addon/switch-language-action/src/addChangeToDutchAction.tsx) |
109
+ | [useChangeUserLocaleMutation](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.changeuserlocalemutationhook.html) | | |
110
+ | [useCopyItemMutation](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.copyitemmutationhook.html) | | |
111
+ | [useCopyItemsMutation](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.copyitemsmutationhook.html) | | |
112
+ | [useCreateTranslationJobMutation](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.createtranslationjobmutationhook.html) | | |
113
+ | [useDeleteItemMutation](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.deleteitemmutationhook.html) | | |
114
+ | [useDeleteItemsMutation](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.deleteitemsmutationhook.html) | | |
115
+ | [useFinishActivitiesMutation](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.finishactivitiesmutationhook.html) | | |
116
+ | [useFinishActivityMutation](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.finishactivitymutationhook.html) | | |
117
+ | [useFinishEditingItemMutation](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.finisheditingitemmutationhook.html) | | |
118
+ | [useFinishEditingItemsMutation](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.finisheditingitemsmutationhook.html) | | |
119
+ | [useLocalizeItemMutation](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.localizeitemmutationhook.html) | | |
120
+ | [useLocalizeItemsMutation](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.localizeitemsmutationhook.html) | | |
121
+ | [useMoveItemMutation](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.moveitemmutationhook.html) | | |
122
+ | [useMoveItemsMutation](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.moveitemsmutationhook.html) | | |
123
+ | [usePublishItemsMutation](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.publishitemsmutationhook.html) | | |
124
+ | [useRemoveFromBundleMutation](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.removefrombundlemutationhook.html) | | |
125
+ | [useRestartActivitiesMutation](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.restartactivitiesmutationhook.html) | | |
126
+ | [useRestartActivityMutation](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.restartactivitymutationhook.html) | | |
127
+ | [useRevertItemMutation](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.revertitemmutationhook.html) | | |
128
+ | [useRevertItemsMutation](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.revertitemsmutationhook.html) | | |
129
+ | [useRollbackItemMutation](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.rollbackitemmutationhook.html) | | |
130
+ | [useStartActivitiesMutation](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.startactivitiesmutationhook.html) | | |
131
+ | [useStartActivityMutation](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.startactivitymutationhook.html) | | |
132
+ | [useStartWorkflowMutation](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.startworkflowmutationhook.html) | | |
133
+ | [useUnlocalizeItemMutation](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.unlocalizeitemmutationhook.html) | | |
134
+ | [useUnlocalizeItemsMutation](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.unlocalizeitemsmutationhook.html) | | |
135
+ | [useUnpublishItemsMutation](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.unpublishitemsmutationhook.html) | | |
136
+ | [useUpdateItemMutation](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.updateitemmutationhook.html) | | |
137
+ | [useUploadMultimediaMutation](https://developers.rws.com/tridion-sites-extensions-api-docs/extensions.uploadmultimediamutationhook.html) | | |
138
+
139
+ ## Data Contexts
140
+
141
+ Tridion Sites contains nested data contexts. All extension points and hooks exist within a data context. Within any given data context, one can access both the data in that context and any parent data contexts. It is important to note where an extension is located to determine what data it can access.
142
+
143
+ _💡 **Tip:** Some extensions might appear in multiple places. Hooks with optional contexts are provided for this purpose._
144
+
145
+ - Activities Explorer
146
+ - Activities Explorer Table
147
+ - Content Explorer
148
+ - Content Explorer Table
149
+ - Content Explorer Tree
150
+ - Content editors
151
+ - Bundle editor
152
+ - Category editor
153
+ - Component editor
154
+ - Folder editor
155
+ - Keyword editor
156
+ - Page editor
157
+ - Structure Group editor