@adobe-commerce/aio-experience-kit 1.0.1 → 1.0.2
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 +50 -1
- package/README.md +52 -145
- package/dist/cjs/components/DataForm/FieldBuilder/index.js +32 -28
- package/dist/cjs/components/DataForm/FieldBuilder/index.js.map +1 -1
- package/dist/cjs/components/FileUpload/index.js +241 -0
- package/dist/cjs/components/FileUpload/index.js.map +1 -0
- package/dist/cjs/components/MainContainer/TwoColumnLeft/index.js +1 -1
- package/dist/cjs/components/MainContainer/TwoColumnLeft/index.js.map +1 -1
- package/dist/cjs/components/ShippingCarrierForm/index.js +6 -0
- package/dist/cjs/components/ShippingCarrierForm/index.js.map +1 -1
- package/dist/cjs/index.js +6 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/utils/AdminUiSdk/index.js +4 -139
- package/dist/cjs/utils/AdminUiSdk/index.js.map +1 -1
- package/dist/esm/components/DataForm/FieldBuilder/index.js +33 -29
- package/dist/esm/components/DataForm/FieldBuilder/index.js.map +1 -1
- package/dist/esm/components/FileUpload/index.js +237 -0
- package/dist/esm/components/FileUpload/index.js.map +1 -0
- package/dist/esm/components/MainContainer/TwoColumnLeft/index.js +1 -1
- package/dist/esm/components/MainContainer/TwoColumnLeft/index.js.map +1 -1
- package/dist/esm/components/ShippingCarrierForm/index.js +6 -0
- package/dist/esm/components/ShippingCarrierForm/index.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/components/DataForm/FieldBuilder/index.d.ts.map +1 -1
- package/dist/esm/types/components/FileUpload/index.d.ts +8 -0
- package/dist/esm/types/components/FileUpload/index.d.ts.map +1 -0
- package/dist/esm/types/components/FileUpload/types.d.ts +71 -0
- package/dist/esm/types/components/FileUpload/types.d.ts.map +1 -0
- package/dist/esm/types/components/ShippingCarrierForm/index.d.ts +6 -0
- package/dist/esm/types/components/ShippingCarrierForm/index.d.ts.map +1 -1
- package/dist/esm/types/components/ShippingCarrierForm/types.d.ts +5 -0
- package/dist/esm/types/components/ShippingCarrierForm/types.d.ts.map +1 -1
- package/dist/esm/types/components/index.d.ts +8 -0
- package/dist/esm/types/components/index.d.ts.map +1 -1
- package/dist/esm/types/utils/AdminUiSdk/index.d.ts +6 -45
- package/dist/esm/types/utils/AdminUiSdk/index.d.ts.map +1 -1
- package/dist/esm/types/utils/AdminUiSdk/types.d.ts +0 -46
- package/dist/esm/types/utils/AdminUiSdk/types.d.ts.map +1 -1
- package/dist/esm/utils/AdminUiSdk/index.js +5 -140
- package/dist/esm/utils/AdminUiSdk/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* <license header>
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* File information interface containing file details and content
|
|
6
|
+
*/
|
|
7
|
+
export interface FileInfo {
|
|
8
|
+
/**
|
|
9
|
+
* Name of the file
|
|
10
|
+
*/
|
|
11
|
+
name: string;
|
|
12
|
+
/**
|
|
13
|
+
* File size in bytes
|
|
14
|
+
*/
|
|
15
|
+
size: number;
|
|
16
|
+
/**
|
|
17
|
+
* MIME type of the file
|
|
18
|
+
*/
|
|
19
|
+
type: string;
|
|
20
|
+
/**
|
|
21
|
+
* Last modified timestamp
|
|
22
|
+
*/
|
|
23
|
+
lastModified: number;
|
|
24
|
+
/**
|
|
25
|
+
* File content as string (for text files) or base64 (for binary files)
|
|
26
|
+
*/
|
|
27
|
+
content: string;
|
|
28
|
+
/**
|
|
29
|
+
* Whether the content is base64 encoded
|
|
30
|
+
*/
|
|
31
|
+
isBase64: boolean;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* FileUpload component props interface
|
|
35
|
+
*/
|
|
36
|
+
export interface FileUploadProps {
|
|
37
|
+
/**
|
|
38
|
+
* Name attribute for component identification
|
|
39
|
+
*/
|
|
40
|
+
name?: string;
|
|
41
|
+
/**
|
|
42
|
+
* Label text for the file upload component
|
|
43
|
+
*/
|
|
44
|
+
label: string;
|
|
45
|
+
/**
|
|
46
|
+
* Whether the field is required (adds * to label)
|
|
47
|
+
*/
|
|
48
|
+
isRequired?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Whether the component is disabled
|
|
51
|
+
*/
|
|
52
|
+
isDisabled?: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Array of accepted MIME types (e.g., ['image/png', 'image/jpeg']).
|
|
55
|
+
* If not specified, all file types are accepted.
|
|
56
|
+
*/
|
|
57
|
+
acceptedFileTypes?: readonly string[];
|
|
58
|
+
/**
|
|
59
|
+
* Whether multiple files can be selected
|
|
60
|
+
*/
|
|
61
|
+
allowsMultiple?: boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Contextual help text for the file upload component
|
|
64
|
+
*/
|
|
65
|
+
contextualHelp?: React.ReactNode;
|
|
66
|
+
/**
|
|
67
|
+
* Callback when files are selected and processed
|
|
68
|
+
*/
|
|
69
|
+
onSelect?: (files: FileInfo[]) => void;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/FileUpload/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC;CACxC"}
|
|
@@ -5,6 +5,12 @@ import React from 'react';
|
|
|
5
5
|
import { ShippingCarrierFormProps } from './types';
|
|
6
6
|
/**
|
|
7
7
|
* ShippingCarrierForm - Component using DataForm
|
|
8
|
+
*
|
|
9
|
+
* @deprecated This component is deprecated due to its overly abstract approach to form creation.
|
|
10
|
+
* Please use the more flexible `DataForm` component directly instead, which provides better control
|
|
11
|
+
* and customization for your specific use cases.
|
|
12
|
+
*
|
|
13
|
+
* @see {@link DataForm} for the recommended alternative
|
|
8
14
|
*/
|
|
9
15
|
declare const ShippingCarrierForm: React.FC<ShippingCarrierFormProps>;
|
|
10
16
|
export default ShippingCarrierForm;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/ShippingCarrierForm/index.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAInD
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/ShippingCarrierForm/index.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAInD;;;;;;;;GAQG;AACH,QAAA,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAyG3D,CAAC;AAEF,eAAe,mBAAmB,CAAC;AAGnC,YAAY,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
5
|
* Option interface for select dropdowns
|
|
6
|
+
*
|
|
7
|
+
* @deprecated Use FormBuilderOption from DataForm/FormBuilder/types instead
|
|
6
8
|
*/
|
|
7
9
|
export interface SelectOption {
|
|
8
10
|
/**
|
|
@@ -16,6 +18,9 @@ export interface SelectOption {
|
|
|
16
18
|
}
|
|
17
19
|
/**
|
|
18
20
|
* Props for the ShippingCarrierForm component
|
|
21
|
+
*
|
|
22
|
+
* @deprecated ShippingCarrierForm is deprecated. Use DataForm component directly instead.
|
|
23
|
+
* @see {@link DataFormProps} for the recommended alternative
|
|
19
24
|
*/
|
|
20
25
|
export interface ShippingCarrierFormProps {
|
|
21
26
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/ShippingCarrierForm/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/ShippingCarrierForm/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,cAAc,CAAC,EAAE,YAAY,EAAE,CAAC;IAChC;;OAEG;IACH,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC;IAC9B;;OAEG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B"}
|
|
@@ -5,7 +5,11 @@ export { default as ConfirmationDialog } from './ConfirmationDialog';
|
|
|
5
5
|
export { default as MainContainer } from './MainContainer';
|
|
6
6
|
export { default as DataTable } from './DataTable';
|
|
7
7
|
export { default as DataForm } from './DataForm';
|
|
8
|
+
/**
|
|
9
|
+
* @deprecated ShippingCarrierForm is deprecated. Use DataForm directly for better flexibility.
|
|
10
|
+
*/
|
|
8
11
|
export { default as ShippingCarrierForm } from './ShippingCarrierForm';
|
|
12
|
+
export { default as FileUpload } from './FileUpload';
|
|
9
13
|
export type { ConfirmationDialogProps, ButtonVariant } from './ConfirmationDialog';
|
|
10
14
|
export type { MainContainerProps } from './MainContainer';
|
|
11
15
|
export { LayoutOptions, NavigationOptions } from './MainContainer';
|
|
@@ -17,5 +21,9 @@ export type { DataFormProps } from './DataForm/types';
|
|
|
17
21
|
export type { FormBuilderProps, FormBuilderComponents, FormBuilderGroup, FormBuilderField, FormBuilderOption, } from './DataForm/FormBuilder/types';
|
|
18
22
|
export { FieldType } from './DataForm/FormBuilder/types';
|
|
19
23
|
export type { FieldBuilderProps } from './DataForm/FieldBuilder/types';
|
|
24
|
+
/**
|
|
25
|
+
* @deprecated ShippingCarrierForm types are deprecated. Use DataForm types directly.
|
|
26
|
+
*/
|
|
20
27
|
export type { ShippingCarrierFormProps, SelectOption } from './ShippingCarrierForm/types';
|
|
28
|
+
export type { FileUploadProps, FileInfo } from './FileUpload/types';
|
|
21
29
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEjD;;GAEG;AACH,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AAGrD,YAAY,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACnF,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACnE,YAAY,EACV,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,yCAAyC,CAAC;AACjD,YAAY,EACV,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EACV,cAAc,EACd,eAAe,EACf,YAAY,EACZ,eAAe,EACf,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,YAAY,EACV,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,YAAY,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAEvE;;GAEG;AACH,YAAY,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC1F,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -1,34 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* <license header>
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
4
|
+
import { AdminUiSdkInterface, AdminUiSdkCredentials } from './types';
|
|
5
5
|
/**
|
|
6
|
-
* AdminUiSdk - Utility for managing Adobe Admin UI
|
|
6
|
+
* AdminUiSdk - Utility for managing Adobe Admin UI extensions
|
|
7
7
|
*
|
|
8
8
|
* @example
|
|
9
9
|
* ```typescript
|
|
10
10
|
* const sdk = new AdminUiSdk('admin_ui_extensibility');
|
|
11
11
|
*
|
|
12
|
-
* // Add a menu section (ID will be prefixed automatically: 'admin_ui_extensibility::apps')
|
|
13
|
-
* sdk.addMenuSection('apps', 'Apps', 100);
|
|
14
|
-
*
|
|
15
|
-
* // Add a menu item (ID and parent will be prefixed automatically)
|
|
16
|
-
* sdk.addMenuItem('first', 'First App on App Builder', 1, 'apps');
|
|
17
|
-
*
|
|
18
|
-
* // Add page configuration
|
|
19
|
-
* sdk.addPage('Adobe Commerce First App on App Builder');
|
|
20
|
-
*
|
|
21
|
-
* // Get registration object
|
|
22
|
-
* const registration = sdk.getRegistration();
|
|
23
|
-
*
|
|
24
12
|
* // Register with Adobe UIX
|
|
25
13
|
* await sdk.registerExtension();
|
|
14
|
+
*
|
|
15
|
+
* // Get credentials
|
|
16
|
+
* const credentials = await sdk.getCredentials();
|
|
26
17
|
* ```
|
|
27
18
|
*/
|
|
28
19
|
declare class AdminUiSdk implements AdminUiSdkInterface {
|
|
29
20
|
private readonly extensionId;
|
|
30
|
-
private readonly menuItems;
|
|
31
|
-
private pageTitle;
|
|
32
21
|
/**
|
|
33
22
|
* Creates a new AdminUiSdk instance
|
|
34
23
|
* @param extensionId - Unique identifier for the extension
|
|
@@ -41,34 +30,6 @@ declare class AdminUiSdk implements AdminUiSdkInterface {
|
|
|
41
30
|
* @returns true if valid, false otherwise
|
|
42
31
|
*/
|
|
43
32
|
private isValidId;
|
|
44
|
-
/**
|
|
45
|
-
* Adds a menu item to the extension
|
|
46
|
-
* @param id - Unique identifier for the menu item (will be prefixed with extensionId)
|
|
47
|
-
* @param title - Display title for the menu item
|
|
48
|
-
* @param sortOrder - Sort order for menu positioning
|
|
49
|
-
* @param parent - Parent menu identifier (optional, will be prefixed with extensionId if provided)
|
|
50
|
-
* @throws {Error} If parameters are invalid or ID already exists
|
|
51
|
-
*/
|
|
52
|
-
addMenuItem(id: string, title: string, sortOrder: number, parent?: string): void;
|
|
53
|
-
/**
|
|
54
|
-
* Adds a menu section to the extension
|
|
55
|
-
* @param id - Unique identifier for the menu section (will be prefixed with extensionId)
|
|
56
|
-
* @param title - Display title for the menu section
|
|
57
|
-
* @param sortOrder - Sort order for section positioning
|
|
58
|
-
* @throws {Error} If parameters are invalid or ID already exists
|
|
59
|
-
*/
|
|
60
|
-
addMenuSection(id: string, title: string, sortOrder: number): void;
|
|
61
|
-
/**
|
|
62
|
-
* Sets the page title for the extension
|
|
63
|
-
* @param title - The page title
|
|
64
|
-
* @throws {Error} If title is empty or invalid
|
|
65
|
-
*/
|
|
66
|
-
addPage(title: string): void;
|
|
67
|
-
/**
|
|
68
|
-
* Gets the complete registration object for the extension
|
|
69
|
-
* @returns The registration object with optional menu items and page configuration
|
|
70
|
-
*/
|
|
71
|
-
getRegistration(): AdminUiSdkRegistration;
|
|
72
33
|
/**
|
|
73
34
|
* Gets IMS credentials from Adobe UIX shared context
|
|
74
35
|
* @returns Promise resolving to credentials object with imsToken and imsOrgId
|
|
@@ -82,5 +43,5 @@ declare class AdminUiSdk implements AdminUiSdkInterface {
|
|
|
82
43
|
registerExtension(): Promise<void>;
|
|
83
44
|
}
|
|
84
45
|
export default AdminUiSdk;
|
|
85
|
-
export type {
|
|
46
|
+
export type { AdminUiSdkInterface, AdminUiSdkCredentials } from './types';
|
|
86
47
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/utils/AdminUiSdk/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/utils/AdminUiSdk/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAErE;;;;;;;;;;;;;GAaG;AACH,cAAM,UAAW,YAAW,mBAAmB;IAC7C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IAErC;;;;OAIG;gBACS,WAAW,EAAE,MAAM;IAe/B;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAIjB;;;;OAIG;IACG,cAAc,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAiBtD;;;OAGG;IACG,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;CAYzC;AAED,eAAe,UAAU,CAAC;AAG1B,YAAY,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -1,44 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* <license header>
|
|
3
3
|
*/
|
|
4
|
-
/**
|
|
5
|
-
* Represents a menu item in the Admin UI
|
|
6
|
-
*/
|
|
7
|
-
export interface MenuItem {
|
|
8
|
-
/** Unique identifier for the menu item */
|
|
9
|
-
id: string;
|
|
10
|
-
/** Display title for the menu item */
|
|
11
|
-
title: string;
|
|
12
|
-
/** Parent menu identifier (optional for sections) */
|
|
13
|
-
parent?: string;
|
|
14
|
-
/** Sort order for menu positioning */
|
|
15
|
-
sortOrder: number;
|
|
16
|
-
/** Whether this is a menu section */
|
|
17
|
-
isSection?: boolean;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Configuration for a page in the Admin UI
|
|
21
|
-
*/
|
|
22
|
-
export interface PageConfig {
|
|
23
|
-
/** Page title */
|
|
24
|
-
title: string;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Registration object structure for Adobe UIX
|
|
28
|
-
*/
|
|
29
|
-
export interface Registration {
|
|
30
|
-
/** Menu items and sections (optional) */
|
|
31
|
-
menuItems?: MenuItem[];
|
|
32
|
-
/** Page configuration (optional) */
|
|
33
|
-
page?: PageConfig;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Complete registration object returned by AdminUiSdk
|
|
37
|
-
*/
|
|
38
|
-
export interface AdminUiSdkRegistration {
|
|
39
|
-
/** Registration configuration */
|
|
40
|
-
registration: Registration;
|
|
41
|
-
}
|
|
42
4
|
/**
|
|
43
5
|
* Credentials returned by getCredentials method
|
|
44
6
|
*/
|
|
@@ -52,14 +14,6 @@ export interface AdminUiSdkCredentials {
|
|
|
52
14
|
* Interface defining the AdminUiSdk public API
|
|
53
15
|
*/
|
|
54
16
|
export interface AdminUiSdkInterface {
|
|
55
|
-
/** Add a menu item to the extension */
|
|
56
|
-
addMenuItem(id: string, title: string, sortOrder: number, parent?: string): void;
|
|
57
|
-
/** Add a menu section to the extension */
|
|
58
|
-
addMenuSection(id: string, title: string, sortOrder: number): void;
|
|
59
|
-
/** Set the page title for the extension */
|
|
60
|
-
addPage(title: string): void;
|
|
61
|
-
/** Get the complete registration object */
|
|
62
|
-
getRegistration(): AdminUiSdkRegistration;
|
|
63
17
|
/** Get IMS credentials from shared context */
|
|
64
18
|
getCredentials(): Promise<AdminUiSdkCredentials>;
|
|
65
19
|
/** Register the extension with Adobe UIX */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/utils/AdminUiSdk/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/utils/AdminUiSdk/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,mCAAmC;IACnC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,8CAA8C;IAC9C,cAAc,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACjD,4CAA4C;IAC5C,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC"}
|
|
@@ -1,27 +1,18 @@
|
|
|
1
|
-
import { createClass as _createClass,
|
|
1
|
+
import { createClass as _createClass, asyncToGenerator as _asyncToGenerator, regenerator as _regenerator, classCallCheck as _classCallCheck } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
2
|
import { attach, register } from '@adobe/uix-guest';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
* AdminUiSdk - Utility for managing Adobe Admin UI
|
|
5
|
+
* AdminUiSdk - Utility for managing Adobe Admin UI extensions
|
|
6
6
|
*
|
|
7
7
|
* @example
|
|
8
8
|
* ```typescript
|
|
9
9
|
* const sdk = new AdminUiSdk('admin_ui_extensibility');
|
|
10
10
|
*
|
|
11
|
-
* // Add a menu section (ID will be prefixed automatically: 'admin_ui_extensibility::apps')
|
|
12
|
-
* sdk.addMenuSection('apps', 'Apps', 100);
|
|
13
|
-
*
|
|
14
|
-
* // Add a menu item (ID and parent will be prefixed automatically)
|
|
15
|
-
* sdk.addMenuItem('first', 'First App on App Builder', 1, 'apps');
|
|
16
|
-
*
|
|
17
|
-
* // Add page configuration
|
|
18
|
-
* sdk.addPage('Adobe Commerce First App on App Builder');
|
|
19
|
-
*
|
|
20
|
-
* // Get registration object
|
|
21
|
-
* const registration = sdk.getRegistration();
|
|
22
|
-
*
|
|
23
11
|
* // Register with Adobe UIX
|
|
24
12
|
* await sdk.registerExtension();
|
|
13
|
+
*
|
|
14
|
+
* // Get credentials
|
|
15
|
+
* const credentials = await sdk.getCredentials();
|
|
25
16
|
* ```
|
|
26
17
|
*/
|
|
27
18
|
var AdminUiSdk = /*#__PURE__*/function () {
|
|
@@ -32,8 +23,6 @@ var AdminUiSdk = /*#__PURE__*/function () {
|
|
|
32
23
|
*/
|
|
33
24
|
function AdminUiSdk(extensionId) {
|
|
34
25
|
_classCallCheck(this, AdminUiSdk);
|
|
35
|
-
this.menuItems = [];
|
|
36
|
-
this.pageTitle = null;
|
|
37
26
|
if (!(extensionId !== null && extensionId !== void 0 && extensionId.trim())) {
|
|
38
27
|
throw new Error('Extension ID is required and cannot be empty');
|
|
39
28
|
}
|
|
@@ -53,130 +42,6 @@ var AdminUiSdk = /*#__PURE__*/function () {
|
|
|
53
42
|
value: function isValidId(id) {
|
|
54
43
|
return /^[a-zA-Z0-9_]+$/.test(id);
|
|
55
44
|
}
|
|
56
|
-
/**
|
|
57
|
-
* Adds a menu item to the extension
|
|
58
|
-
* @param id - Unique identifier for the menu item (will be prefixed with extensionId)
|
|
59
|
-
* @param title - Display title for the menu item
|
|
60
|
-
* @param sortOrder - Sort order for menu positioning
|
|
61
|
-
* @param parent - Parent menu identifier (optional, will be prefixed with extensionId if provided)
|
|
62
|
-
* @throws {Error} If parameters are invalid or ID already exists
|
|
63
|
-
*/
|
|
64
|
-
}, {
|
|
65
|
-
key: "addMenuItem",
|
|
66
|
-
value: function addMenuItem(id, title, sortOrder, parent) {
|
|
67
|
-
// Validation
|
|
68
|
-
if (!(id !== null && id !== void 0 && id.trim())) {
|
|
69
|
-
throw new Error('Menu item ID is required and cannot be empty');
|
|
70
|
-
}
|
|
71
|
-
if (!this.isValidId(id.trim())) {
|
|
72
|
-
throw new Error('Menu item ID must be alphanumeric with underscores only (no spaces, hyphens, or special characters)');
|
|
73
|
-
}
|
|
74
|
-
if (!(title !== null && title !== void 0 && title.trim())) {
|
|
75
|
-
throw new Error('Menu item title is required and cannot be empty');
|
|
76
|
-
}
|
|
77
|
-
if (parent !== undefined && !(parent !== null && parent !== void 0 && parent.trim())) {
|
|
78
|
-
throw new Error('Menu item parent cannot be empty if provided');
|
|
79
|
-
}
|
|
80
|
-
if (parent !== undefined && !this.isValidId(parent.trim())) {
|
|
81
|
-
throw new Error('Menu item parent must be alphanumeric with underscores only (no spaces, hyphens, or special characters)');
|
|
82
|
-
}
|
|
83
|
-
if (typeof sortOrder !== 'number' || sortOrder < 0) {
|
|
84
|
-
throw new Error('Menu item sortOrder must be a non-negative number');
|
|
85
|
-
}
|
|
86
|
-
// Create full ID with extension prefix
|
|
87
|
-
var fullId = "".concat(this.extensionId, "::").concat(id.trim());
|
|
88
|
-
// Check for duplicate IDs
|
|
89
|
-
if (this.menuItems.some(function (item) {
|
|
90
|
-
return item.id === fullId;
|
|
91
|
-
})) {
|
|
92
|
-
throw new Error("Menu item with ID '".concat(fullId, "' already exists"));
|
|
93
|
-
}
|
|
94
|
-
// Build menu item object - only include parent if provided
|
|
95
|
-
var menuItem = {
|
|
96
|
-
id: fullId,
|
|
97
|
-
title: title.trim(),
|
|
98
|
-
sortOrder: sortOrder
|
|
99
|
-
};
|
|
100
|
-
if (parent !== null && parent !== void 0 && parent.trim()) {
|
|
101
|
-
menuItem.parent = "".concat(this.extensionId, "::").concat(parent.trim());
|
|
102
|
-
}
|
|
103
|
-
// Add sanitized menu item
|
|
104
|
-
this.menuItems.push(menuItem);
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Adds a menu section to the extension
|
|
108
|
-
* @param id - Unique identifier for the menu section (will be prefixed with extensionId)
|
|
109
|
-
* @param title - Display title for the menu section
|
|
110
|
-
* @param sortOrder - Sort order for section positioning
|
|
111
|
-
* @throws {Error} If parameters are invalid or ID already exists
|
|
112
|
-
*/
|
|
113
|
-
}, {
|
|
114
|
-
key: "addMenuSection",
|
|
115
|
-
value: function addMenuSection(id, title, sortOrder) {
|
|
116
|
-
// Validation
|
|
117
|
-
if (!(id !== null && id !== void 0 && id.trim())) {
|
|
118
|
-
throw new Error('Menu section ID is required and cannot be empty');
|
|
119
|
-
}
|
|
120
|
-
if (!this.isValidId(id.trim())) {
|
|
121
|
-
throw new Error('Menu section ID must be alphanumeric with underscores only (no spaces, hyphens, or special characters)');
|
|
122
|
-
}
|
|
123
|
-
if (!(title !== null && title !== void 0 && title.trim())) {
|
|
124
|
-
throw new Error('Menu section title is required and cannot be empty');
|
|
125
|
-
}
|
|
126
|
-
if (typeof sortOrder !== 'number' || sortOrder < 0) {
|
|
127
|
-
throw new Error('Menu section sortOrder must be a non-negative number');
|
|
128
|
-
}
|
|
129
|
-
// Create full ID with extension prefix
|
|
130
|
-
var fullId = "".concat(this.extensionId, "::").concat(id.trim());
|
|
131
|
-
// Check for duplicate IDs
|
|
132
|
-
if (this.menuItems.some(function (item) {
|
|
133
|
-
return item.id === fullId;
|
|
134
|
-
})) {
|
|
135
|
-
throw new Error("Menu item with ID '".concat(fullId, "' already exists"));
|
|
136
|
-
}
|
|
137
|
-
// Add sanitized menu section with isSection: true
|
|
138
|
-
this.menuItems.push({
|
|
139
|
-
id: fullId,
|
|
140
|
-
title: title.trim(),
|
|
141
|
-
sortOrder: sortOrder,
|
|
142
|
-
isSection: true
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* Sets the page title for the extension
|
|
147
|
-
* @param title - The page title
|
|
148
|
-
* @throws {Error} If title is empty or invalid
|
|
149
|
-
*/
|
|
150
|
-
}, {
|
|
151
|
-
key: "addPage",
|
|
152
|
-
value: function addPage(title) {
|
|
153
|
-
if (!(title !== null && title !== void 0 && title.trim())) {
|
|
154
|
-
throw new Error('Page title is required and cannot be empty');
|
|
155
|
-
}
|
|
156
|
-
this.pageTitle = title.trim();
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* Gets the complete registration object for the extension
|
|
160
|
-
* @returns The registration object with optional menu items and page configuration
|
|
161
|
-
*/
|
|
162
|
-
}, {
|
|
163
|
-
key: "getRegistration",
|
|
164
|
-
value: function getRegistration() {
|
|
165
|
-
var registration = {};
|
|
166
|
-
// Only include menuItems if there are any
|
|
167
|
-
if (this.menuItems.length > 0) {
|
|
168
|
-
registration.menuItems = _toConsumableArray(this.menuItems); // Return copy to prevent mutation
|
|
169
|
-
}
|
|
170
|
-
// Only include page if title is set
|
|
171
|
-
if (this.pageTitle) {
|
|
172
|
-
registration.page = {
|
|
173
|
-
title: this.pageTitle
|
|
174
|
-
};
|
|
175
|
-
}
|
|
176
|
-
return {
|
|
177
|
-
registration: registration
|
|
178
|
-
};
|
|
179
|
-
}
|
|
180
45
|
/**
|
|
181
46
|
* Gets IMS credentials from Adobe UIX shared context
|
|
182
47
|
* @returns Promise resolving to credentials object with imsToken and imsOrgId
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/utils/AdminUiSdk/index.ts"],"sourcesContent":["/**\n * <license header>\n */\n\nimport { register, attach } from '@adobe/uix-guest';\nimport {\n MenuItem,\n AdminUiSdkRegistration,\n AdminUiSdkInterface,\n AdminUiSdkCredentials,\n} from './types';\n\n/**\n * AdminUiSdk - Utility for managing Adobe Admin UI extension registrations\n *\n * @example\n * ```typescript\n * const sdk = new AdminUiSdk('admin_ui_extensibility');\n *\n * // Add a menu section (ID will be prefixed automatically: 'admin_ui_extensibility::apps')\n * sdk.addMenuSection('apps', 'Apps', 100);\n *\n * // Add a menu item (ID and parent will be prefixed automatically)\n * sdk.addMenuItem('first', 'First App on App Builder', 1, 'apps');\n *\n * // Add page configuration\n * sdk.addPage('Adobe Commerce First App on App Builder');\n *\n * // Get registration object\n * const registration = sdk.getRegistration();\n *\n * // Register with Adobe UIX\n * await sdk.registerExtension();\n * ```\n */\nclass AdminUiSdk implements AdminUiSdkInterface {\n private readonly extensionId: string;\n private readonly menuItems: MenuItem[] = [];\n private pageTitle: string | null = null;\n\n /**\n * Creates a new AdminUiSdk instance\n * @param extensionId - Unique identifier for the extension\n * @throws {Error} If extensionId is empty or invalid\n */\n constructor(extensionId: string) {\n if (!extensionId?.trim()) {\n throw new Error('Extension ID is required and cannot be empty');\n }\n\n const trimmedId = extensionId.trim();\n if (!this.isValidId(trimmedId)) {\n throw new Error(\n 'Extension ID must be alphanumeric with underscores only (no spaces, hyphens, or special characters)'\n );\n }\n\n this.extensionId = trimmedId;\n }\n\n /**\n * Validates that an ID contains only alphanumeric characters and underscores\n * @param id - The ID to validate\n * @returns true if valid, false otherwise\n */\n private isValidId(id: string): boolean {\n return /^[a-zA-Z0-9_]+$/.test(id);\n }\n\n /**\n * Adds a menu item to the extension\n * @param id - Unique identifier for the menu item (will be prefixed with extensionId)\n * @param title - Display title for the menu item\n * @param sortOrder - Sort order for menu positioning\n * @param parent - Parent menu identifier (optional, will be prefixed with extensionId if provided)\n * @throws {Error} If parameters are invalid or ID already exists\n */\n addMenuItem(id: string, title: string, sortOrder: number, parent?: string): void {\n // Validation\n if (!id?.trim()) {\n throw new Error('Menu item ID is required and cannot be empty');\n }\n if (!this.isValidId(id.trim())) {\n throw new Error(\n 'Menu item ID must be alphanumeric with underscores only (no spaces, hyphens, or special characters)'\n );\n }\n if (!title?.trim()) {\n throw new Error('Menu item title is required and cannot be empty');\n }\n if (parent !== undefined && !parent?.trim()) {\n throw new Error('Menu item parent cannot be empty if provided');\n }\n if (parent !== undefined && !this.isValidId(parent.trim())) {\n throw new Error(\n 'Menu item parent must be alphanumeric with underscores only (no spaces, hyphens, or special characters)'\n );\n }\n if (typeof sortOrder !== 'number' || sortOrder < 0) {\n throw new Error('Menu item sortOrder must be a non-negative number');\n }\n\n // Create full ID with extension prefix\n const fullId = `${this.extensionId}::${id.trim()}`;\n\n // Check for duplicate IDs\n if (this.menuItems.some(item => item.id === fullId)) {\n throw new Error(`Menu item with ID '${fullId}' already exists`);\n }\n\n // Build menu item object - only include parent if provided\n const menuItem: MenuItem = {\n id: fullId,\n title: title.trim(),\n sortOrder,\n };\n\n if (parent?.trim()) {\n menuItem.parent = `${this.extensionId}::${parent.trim()}`;\n }\n\n // Add sanitized menu item\n this.menuItems.push(menuItem);\n }\n\n /**\n * Adds a menu section to the extension\n * @param id - Unique identifier for the menu section (will be prefixed with extensionId)\n * @param title - Display title for the menu section\n * @param sortOrder - Sort order for section positioning\n * @throws {Error} If parameters are invalid or ID already exists\n */\n addMenuSection(id: string, title: string, sortOrder: number): void {\n // Validation\n if (!id?.trim()) {\n throw new Error('Menu section ID is required and cannot be empty');\n }\n if (!this.isValidId(id.trim())) {\n throw new Error(\n 'Menu section ID must be alphanumeric with underscores only (no spaces, hyphens, or special characters)'\n );\n }\n if (!title?.trim()) {\n throw new Error('Menu section title is required and cannot be empty');\n }\n if (typeof sortOrder !== 'number' || sortOrder < 0) {\n throw new Error('Menu section sortOrder must be a non-negative number');\n }\n\n // Create full ID with extension prefix\n const fullId = `${this.extensionId}::${id.trim()}`;\n\n // Check for duplicate IDs\n if (this.menuItems.some(item => item.id === fullId)) {\n throw new Error(`Menu item with ID '${fullId}' already exists`);\n }\n\n // Add sanitized menu section with isSection: true\n this.menuItems.push({\n id: fullId,\n title: title.trim(),\n sortOrder,\n isSection: true,\n });\n }\n\n /**\n * Sets the page title for the extension\n * @param title - The page title\n * @throws {Error} If title is empty or invalid\n */\n addPage(title: string): void {\n if (!title?.trim()) {\n throw new Error('Page title is required and cannot be empty');\n }\n this.pageTitle = title.trim();\n }\n\n /**\n * Gets the complete registration object for the extension\n * @returns The registration object with optional menu items and page configuration\n */\n getRegistration(): AdminUiSdkRegistration {\n const registration: any = {};\n\n // Only include menuItems if there are any\n if (this.menuItems.length > 0) {\n registration.menuItems = [...this.menuItems]; // Return copy to prevent mutation\n }\n\n // Only include page if title is set\n if (this.pageTitle) {\n registration.page = {\n title: this.pageTitle,\n };\n }\n\n return {\n registration,\n };\n }\n\n /**\n * Gets IMS credentials from Adobe UIX shared context\n * @returns Promise resolving to credentials object with imsToken and imsOrgId\n * @throws {Error} If credentials retrieval fails\n */\n async getCredentials(): Promise<AdminUiSdkCredentials> {\n try {\n const guestConnection = await attach({ id: this.extensionId });\n const imsToken = guestConnection?.sharedContext?.get('imsToken') || null;\n const imsOrgId = guestConnection?.sharedContext?.get('imsOrgId') || null;\n\n return {\n imsToken,\n imsOrgId,\n };\n } catch (error) {\n throw new Error(\n `Failed to get credentials for extension '${this.extensionId}': ${error instanceof Error ? error.message : 'Unknown error'}`\n );\n }\n }\n\n /**\n * Registers the extension with Adobe UIX\n * @throws {Error} If registration fails\n */\n async registerExtension(): Promise<void> {\n try {\n await register({\n id: this.extensionId,\n methods: {},\n });\n } catch (error) {\n throw new Error(\n `Failed to register extension '${this.extensionId}': ${error instanceof Error ? error.message : 'Unknown error'}`\n );\n }\n }\n}\n\nexport default AdminUiSdk;\n\n// Re-export types for external use\nexport type {\n MenuItem,\n PageConfig,\n Registration,\n AdminUiSdkRegistration,\n AdminUiSdkInterface,\n AdminUiSdkCredentials,\n} from './types';\n"],"names":["AdminUiSdk","extensionId","_classCallCheck","menuItems","pageTitle","trim","Error","trimmedId","isValidId","_createClass","key","value","id","test","addMenuItem","title","sortOrder","parent","undefined","fullId","concat","some","item","menuItem","push","addMenuSection","isSection","addPage","getRegistration","registration","length","_toConsumableArray","page","_getCredentials","_asyncToGenerator","_regenerator","m","_callee","_guestConnection$shar","_guestConnection$shar2","guestConnection","imsToken","imsOrgId","_t","w","_context","p","n","attach","v","sharedContext","get","a","message","getCredentials","apply","arguments","_registerExtension","_callee2","_t2","_context2","register","methods","registerExtension"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/utils/AdminUiSdk/index.ts"],"sourcesContent":["/**\n * <license header>\n */\n\nimport { register, attach } from '@adobe/uix-guest';\nimport { AdminUiSdkInterface, AdminUiSdkCredentials } from './types';\n\n/**\n * AdminUiSdk - Utility for managing Adobe Admin UI extensions\n *\n * @example\n * ```typescript\n * const sdk = new AdminUiSdk('admin_ui_extensibility');\n *\n * // Register with Adobe UIX\n * await sdk.registerExtension();\n *\n * // Get credentials\n * const credentials = await sdk.getCredentials();\n * ```\n */\nclass AdminUiSdk implements AdminUiSdkInterface {\n private readonly extensionId: string;\n\n /**\n * Creates a new AdminUiSdk instance\n * @param extensionId - Unique identifier for the extension\n * @throws {Error} If extensionId is empty or invalid\n */\n constructor(extensionId: string) {\n if (!extensionId?.trim()) {\n throw new Error('Extension ID is required and cannot be empty');\n }\n\n const trimmedId = extensionId.trim();\n if (!this.isValidId(trimmedId)) {\n throw new Error(\n 'Extension ID must be alphanumeric with underscores only (no spaces, hyphens, or special characters)'\n );\n }\n\n this.extensionId = trimmedId;\n }\n\n /**\n * Validates that an ID contains only alphanumeric characters and underscores\n * @param id - The ID to validate\n * @returns true if valid, false otherwise\n */\n private isValidId(id: string): boolean {\n return /^[a-zA-Z0-9_]+$/.test(id);\n }\n\n /**\n * Gets IMS credentials from Adobe UIX shared context\n * @returns Promise resolving to credentials object with imsToken and imsOrgId\n * @throws {Error} If credentials retrieval fails\n */\n async getCredentials(): Promise<AdminUiSdkCredentials> {\n try {\n const guestConnection = await attach({ id: this.extensionId });\n const imsToken = guestConnection?.sharedContext?.get('imsToken') || null;\n const imsOrgId = guestConnection?.sharedContext?.get('imsOrgId') || null;\n\n return {\n imsToken,\n imsOrgId,\n };\n } catch (error) {\n throw new Error(\n `Failed to get credentials for extension '${this.extensionId}': ${error instanceof Error ? error.message : 'Unknown error'}`\n );\n }\n }\n\n /**\n * Registers the extension with Adobe UIX\n * @throws {Error} If registration fails\n */\n async registerExtension(): Promise<void> {\n try {\n await register({\n id: this.extensionId,\n methods: {},\n });\n } catch (error) {\n throw new Error(\n `Failed to register extension '${this.extensionId}': ${error instanceof Error ? error.message : 'Unknown error'}`\n );\n }\n }\n}\n\nexport default AdminUiSdk;\n\n// Re-export types for external use\nexport type { AdminUiSdkInterface, AdminUiSdkCredentials } from './types';\n"],"names":["AdminUiSdk","extensionId","_classCallCheck","trim","Error","trimmedId","isValidId","_createClass","key","value","id","test","_getCredentials","_asyncToGenerator","_regenerator","m","_callee","_guestConnection$shar","_guestConnection$shar2","guestConnection","imsToken","imsOrgId","_t","w","_context","p","n","attach","v","sharedContext","get","a","concat","message","getCredentials","apply","arguments","_registerExtension","_callee2","_t2","_context2","register","methods","registerExtension"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adobe-commerce/aio-experience-kit",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "A comprehensive TypeScript toolkit for building Adobe Commerce Admin UI extensions with React Spectrum components. Provides production-ready components and utilities for Adobe I/O extensibility platform integration.",
|
|
5
5
|
"main": "./dist/cjs/index.js",
|
|
6
6
|
"module": "./dist/esm/index.js",
|