@atlassian/clientside-extensions 5.0.0 → 5.1.0-5a180d69-mdyn784a
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/dist/cjs/AbstractExtension.js +1 -2
- package/dist/cjs/AbstractExtension.js.map +1 -1
- package/dist/cjs/AsyncPanelExtension.js.map +1 -1
- package/dist/cjs/ButtonExtension.js.map +1 -1
- package/dist/cjs/LinkExtension.js.map +1 -1
- package/dist/cjs/ModalExtension.js +2 -2
- package/dist/cjs/ModalExtension.js.map +1 -1
- package/dist/cjs/PanelExtension.js.map +1 -1
- package/dist/cjs/SectionExtension.js.map +1 -1
- package/dist/cjs/extension-type.js +1 -1
- package/dist/cjs/extension-type.js.map +1 -1
- package/dist/cjs/index.js +7 -7
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/AbstractExtension.js.map +1 -1
- package/dist/esm/AsyncPanelExtension.js.map +1 -1
- package/dist/esm/ButtonExtension.js.map +1 -1
- package/dist/esm/LinkExtension.js.map +1 -1
- package/dist/esm/ModalExtension.js.map +1 -1
- package/dist/esm/PanelExtension.js.map +1 -1
- package/dist/esm/SectionExtension.js.map +1 -1
- package/dist/types/AbstractExtension.d.ts +1 -1
- package/dist/types/AbstractExtension.d.ts.map +1 -1
- package/dist/types/AsyncPanelExtension.d.ts +4 -4
- package/dist/types/AsyncPanelExtension.d.ts.map +1 -1
- package/dist/types/ButtonExtension.d.ts +3 -3
- package/dist/types/ButtonExtension.d.ts.map +1 -1
- package/dist/types/LinkExtension.d.ts +3 -3
- package/dist/types/LinkExtension.d.ts.map +1 -1
- package/dist/types/ModalExtension.d.ts +7 -7
- package/dist/types/ModalExtension.d.ts.map +1 -1
- package/dist/types/PageExtension.d.ts +2 -2
- package/dist/types/PageExtension.d.ts.map +1 -1
- package/dist/types/PanelExtension.d.ts +3 -3
- package/dist/types/PanelExtension.d.ts.map +1 -1
- package/dist/types/SectionExtension.d.ts +3 -3
- package/dist/types/SectionExtension.d.ts.map +1 -1
- package/lib/AsyncPanelExtension.ts +9 -4
- package/lib/ButtonExtension.ts +5 -3
- package/lib/LinkExtension.ts +5 -3
- package/lib/ModalExtension.ts +6 -4
- package/lib/PanelExtension.ts +4 -2
- package/lib/SectionExtension.ts +5 -3
- package/package.json +6 -6
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.safeguard =
|
|
3
|
+
exports.safeguard = safeguard;
|
|
4
4
|
const clientside_extensions_debug_1 = require("@atlassian/clientside-extensions-debug");
|
|
5
5
|
function safeguard(callbackDebugName, callback) {
|
|
6
6
|
return (...args) => {
|
|
@@ -18,5 +18,4 @@ function safeguard(callbackDebugName, callback) {
|
|
|
18
18
|
return result;
|
|
19
19
|
};
|
|
20
20
|
}
|
|
21
|
-
exports.safeguard = safeguard;
|
|
22
21
|
//# sourceMappingURL=AbstractExtension.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractExtension.js","sourceRoot":"","sources":["../../lib/AbstractExtension.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AbstractExtension.js","sourceRoot":"","sources":["../../lib/AbstractExtension.ts"],"names":[],"mappings":";;AAgBA,8BAcC;AA9BD,wFAAiE;AAgBjE,SAAgB,SAAS,CAAqB,iBAAyB,EAAE,QAAW;IAChF,OAAO,CAAC,GAAG,IAAmB,EAAE,EAAE;QAC9B,IAAI,MAAM,CAAC;QACX,IAAI,CAAC;YACD,MAAM,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAA,qCAAO,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;gBACpB,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,qBAAqB,iBAAiB;aAClD,CAAC,EAAE;aACH,CAAC,CAAC,CAAC;QACR,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;AACN,CAAC","sourcesContent":["import { onDebug } from '@atlassian/clientside-extensions-debug';\n\n// We are fine with any type here\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype Callable = (...args: any[]) => any;\n\nexport interface LifecycleCallback {\n (element: HTMLElement): void;\n}\n\nexport interface MountableExtension {\n onMount(mountCallback: LifecycleCallback): MountableExtension;\n\n onUnmount(unmountCallback: LifecycleCallback): MountableExtension;\n}\n\nexport function safeguard<T extends Callable>(callbackDebugName: string, callback: T): (...args: Parameters<T>) => ReturnType<T> {\n return (...args: Parameters<T>) => {\n let result;\n try {\n result = callback(...args);\n } catch (e) {\n onDebug(({ error }) => ({\n level: error,\n message: `Failed to execute ${callbackDebugName} callback.\n Error: ${e}`,\n }));\n }\n return result;\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsyncPanelExtension.js","sourceRoot":"","sources":["../../lib/AsyncPanelExtension.ts"],"names":[],"mappings":";;;AAEA,qDAAuC;
|
|
1
|
+
{"version":3,"file":"AsyncPanelExtension.js","sourceRoot":"","sources":["../../lib/AsyncPanelExtension.ts"],"names":[],"mappings":";;;AAEA,qDAAuC;AAoC9B,oFApCA,oBAAG,OAoCA;AAnCZ,qDAAiD;AAoB1C,MAAM,OAAO,GAAG,CACnB,QAAgD,EACC,EAAE;IACnD,OAAO,CAAC,YAAY,EAAE,OAAO,EAAmC,EAAE;QAC9D,OAAO;YACH,GAAG,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;YAClC,mHAAmH;YACnH,eAAe;gBACX,OAAO,OAAO,CAAC;YACnB,CAAC;YACD,IAAI,EAAE,8BAAa,CAAC,UAAU;SACjC,CAAC;IACN,CAAC,CAAC;AACN,CAAC,CAAC;AAbW,QAAA,OAAO,WAalB","sourcesContent":["import type { Context, ExtensionAttributes, ExtensionAttributesProvider } from '@atlassian/clientside-extensions-registry';\nimport type { PanelRenderExtension } from './PanelExtension';\nimport { Api } from './PanelExtension';\nimport { ExtensionType } from './extension-type';\n\nexport interface AsyncPanelRenderExtension extends PanelRenderExtension {}\n\nexport interface AsyncPanelAttributes extends ExtensionAttributes {\n onAction: AsyncPanelRenderExtension;\n type?: ExtensionType.asyncPanel;\n}\n\nexport type AsyncPanelAttributesProvider<ContextT extends Context<{}> | null> = ExtensionAttributesProvider<AsyncPanelAttributes, ContextT>;\n\nexport interface AsyncPanelAttributesWithContext extends AsyncPanelAttributes {\n contextProvider: () => Context<{}>;\n}\n\nexport type AsyncPanelAttributesProviderWithContext<ContextT extends Context<{}> | null> = ExtensionAttributesProvider<\n AsyncPanelAttributesWithContext,\n ContextT\n>;\n\nexport const factory = <ContextT extends Context<{}>>(\n provider: AsyncPanelAttributesProvider<ContextT>,\n): AsyncPanelAttributesProviderWithContext<ContextT> => {\n return (extensionApi, context): AsyncPanelAttributesWithContext => {\n return {\n ...provider(extensionApi, context),\n // We are passing the context provider function reference into the <AsyncPanelHandler.AsyncPanelRenderer> component\n contextProvider() {\n return context;\n },\n type: ExtensionType.asyncPanel,\n };\n };\n};\n\nexport { Api };\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonExtension.js","sourceRoot":"","sources":["../../lib/ButtonExtension.ts"],"names":[],"mappings":";;;AAEA,qDAAiD;AAU1C,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"ButtonExtension.js","sourceRoot":"","sources":["../../lib/ButtonExtension.ts"],"names":[],"mappings":";;;AAEA,qDAAiD;AAU1C,MAAM,OAAO,GAAG,CACnB,QAA4C,EACV,EAAE;IACpC,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE;QACf,OAAO;YACH,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC;YACpB,IAAI,EAAE,8BAAa,CAAC,MAAM;SAC7B,CAAC;IACN,CAAC,CAAC;AACN,CAAC,CAAC;AATW,QAAA,OAAO,WASlB","sourcesContent":["import type { Context, ExtensionAttributes, ExtensionAttributesProvider, OnAction } from '@atlassian/clientside-extensions-registry';\n\nimport { ExtensionType } from './extension-type';\n\nexport interface ButtonAttributes extends ExtensionAttributes {\n onAction?: OnAction;\n label: string;\n type?: ExtensionType.button;\n}\n\nexport type ButtonAttributesProvider<ContextT extends Context<{}> | null> = ExtensionAttributesProvider<ButtonAttributes, ContextT>;\n\nexport const factory = <ContextT extends Context<{}> | null>(\n provider: ButtonAttributesProvider<ContextT>,\n): ButtonAttributesProvider<ContextT> => {\n return (...args) => {\n return {\n ...provider(...args),\n type: ExtensionType.button,\n };\n };\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkExtension.js","sourceRoot":"","sources":["../../lib/LinkExtension.ts"],"names":[],"mappings":";;;AAEA,qDAAiD;AAWjD,wDAAwD;AACjD,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"LinkExtension.js","sourceRoot":"","sources":["../../lib/LinkExtension.ts"],"names":[],"mappings":";;;AAEA,qDAAiD;AAWjD,wDAAwD;AACjD,MAAM,OAAO,GAAG,CACnB,QAA0C,EACV,EAAE;IAClC,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE;QACf,OAAO;YACH,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC;YACpB,IAAI,EAAE,8BAAa,CAAC,IAAI;SAC3B,CAAC;IACN,CAAC,CAAC;AACN,CAAC,CAAC;AATW,QAAA,OAAO,WASlB","sourcesContent":["import type { Context, ExtensionAttributes, ExtensionAttributesProvider, OnAction } from '@atlassian/clientside-extensions-registry';\n\nimport { ExtensionType } from './extension-type';\n\nexport interface LinkAttributes extends ExtensionAttributes {\n onAction?: OnAction;\n url: string;\n label: string;\n type?: ExtensionType.link;\n}\n\nexport type LinkAttributesProvider<ContextT extends Context<{}> | null> = ExtensionAttributesProvider<LinkAttributes, ContextT>;\n\n// eslint-disable-next-line import/prefer-default-export\nexport const factory = <ContextT extends Context<{}> | null>(\n provider: LinkAttributesProvider<ContextT>,\n): LinkAttributesProvider<ContextT> => {\n return (...args) => {\n return {\n ...provider(...args),\n type: ExtensionType.link,\n };\n };\n};\n"]}
|
|
@@ -19,14 +19,14 @@ var Appearance;
|
|
|
19
19
|
(function (Appearance) {
|
|
20
20
|
Appearance["danger"] = "danger";
|
|
21
21
|
Appearance["warning"] = "warning";
|
|
22
|
-
})(Appearance
|
|
22
|
+
})(Appearance || (exports.Appearance = Appearance = {}));
|
|
23
23
|
var Width;
|
|
24
24
|
(function (Width) {
|
|
25
25
|
Width["small"] = "small";
|
|
26
26
|
Width["medium"] = "medium";
|
|
27
27
|
Width["large"] = "large";
|
|
28
28
|
Width["x-large"] = "x-large";
|
|
29
|
-
})(Width
|
|
29
|
+
})(Width || (exports.Width = Width = {}));
|
|
30
30
|
class Api {
|
|
31
31
|
constructor(closeModalFn, setActions) {
|
|
32
32
|
this.title = '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalExtension.js","sourceRoot":"","sources":["../../lib/ModalExtension.ts"],"names":[],"mappings":";;;AACA,wFAAiE;AASjE,qDAAiD;AAEjD,2DAAgD;AA2BzC,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"ModalExtension.js","sourceRoot":"","sources":["../../lib/ModalExtension.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Context, ExtensionAttributes, ExtensionAttributesProvider } from '@atlassian/clientside-extensions-registry';\nimport { onDebug } from '@atlassian/clientside-extensions-debug';\nimport type {\n Dispatch as ReactDispatch,\n KeyboardEvent as ReactKeyboardEvent,\n MouseEvent as ReactMouseEvent,\n SetStateAction as ReactSetStateAction,\n // eslint-disable-next-line node/no-extraneous-import\n} from 'react';\n\nimport { ExtensionType } from './extension-type';\nimport type { LifecycleCallback, MountableExtension } from './AbstractExtension';\nimport { safeguard } from './AbstractExtension';\n\n// A type defined by the @atlaskit/modal-dialog\ntype KeyboardOrMouseEvent = ReactMouseEvent<HTMLElement> | ReactKeyboardEvent<HTMLElement> | KeyboardEvent;\n\ninterface ModalCloseCallback {\n (e: KeyboardOrMouseEvent): boolean | void;\n}\n\nexport type ModalAction = {\n text: string;\n onClick: () => void;\n isDisabled?: boolean;\n isLoading?: boolean;\n testId?: string;\n};\n\nexport type ModalRenderExtension = (api: Api) => void;\n\nexport interface ModalAttributes extends ExtensionAttributes {\n onAction: ModalRenderExtension;\n label: string;\n type?: ExtensionType.modal;\n}\n\nexport type ModalAttributesProvider<ContextT extends Context<{}> | null> = ExtensionAttributesProvider<ModalAttributes, ContextT>;\n\nexport const factory = <ContextT extends Context<{}> | null>(\n provider: ModalAttributesProvider<ContextT>,\n): ModalAttributesProvider<ContextT> => {\n return (...args) => {\n const attributes = provider(...args);\n return {\n ...attributes,\n type: ExtensionType.modal,\n };\n };\n};\n\nconst noop = () => {};\n\nexport enum Appearance {\n 'danger' = 'danger',\n 'warning' = 'warning',\n}\n\nexport enum Width {\n 'small' = 'small',\n 'medium' = 'medium',\n 'large' = 'large',\n 'x-large' = 'x-large',\n}\n\nexport class Api implements MountableExtension {\n private title = '';\n\n private width!: Width;\n\n private appearance!: Appearance;\n\n private renderCallback: LifecycleCallback = noop;\n\n private cleanupCallback: LifecycleCallback = noop;\n\n private readonly closeModalFn: () => void = noop;\n\n private onCloseCallback: ModalCloseCallback = () => true;\n\n constructor(closeModalFn: () => void, setActions: ReactDispatch<ReactSetStateAction<ModalAction[]>>) {\n this.closeModalFn = safeguard('onClose', closeModalFn);\n\n this.setActions = (actions) => {\n setActions(Api.filterActionProps(actions));\n\n return this;\n };\n }\n\n public setTitle = (title: string) => {\n this.title = title;\n\n return this;\n };\n\n public setWidth = (width: Width) => {\n // Runtime checking for 'non-ts' usage\n if (!(width in Width)) {\n onDebug(({ error }) => ({\n level: error,\n message: `Invalid value specified as \"width\" of modal. Please make sure to use one of the supported values.`,\n meta: {\n value: width,\n supported: Object.keys(Width).concat(),\n },\n }));\n return this;\n }\n\n this.width = width;\n return this;\n };\n\n public setAppearance = (appearance: Appearance) => {\n // Runtime checking for 'non-ts' usage\n if (!(appearance in Appearance)) {\n onDebug(({ error }) => ({\n level: error,\n message: `Invalid value specified as \"appearance\" of modal. Please make sure to use one of the supported values.`,\n meta: {\n value: appearance,\n supported: Object.keys(Appearance).concat(),\n },\n }));\n return this;\n }\n\n this.appearance = appearance;\n return this;\n };\n\n public onMount = (callback: LifecycleCallback) => {\n this.renderCallback = safeguard('onMount', callback);\n\n return this;\n };\n\n public onUnmount = (callback: LifecycleCallback) => {\n this.cleanupCallback = safeguard('onUnmount', callback);\n\n return this;\n };\n\n public closeModal = () => {\n this.closeModalFn();\n };\n\n public getTitle() {\n return this.title;\n }\n\n public getWidth() {\n return this.width;\n }\n\n public getAppearance() {\n return this.appearance;\n }\n\n public getRenderCallback() {\n return this.renderCallback;\n }\n\n public getCleanupCallback() {\n return this.cleanupCallback;\n }\n\n public setActions: (actions: ModalAction[]) => void;\n\n public onClose(callback: ModalCloseCallback) {\n this.onCloseCallback = safeguard('onClose', callback);\n\n return this;\n }\n\n public getOnCloseCallback() {\n return this.onCloseCallback;\n }\n\n static filterActionProps(actions: ModalAction[]): ModalAction[] {\n if (!Array.isArray(actions)) {\n return [];\n }\n\n return actions.map(({ text, onClick, isDisabled, isLoading, testId }) => {\n return { text, onClick, isDisabled, isLoading, testId };\n });\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PanelExtension.js","sourceRoot":"","sources":["../../lib/PanelExtension.ts"],"names":[],"mappings":";;;AAEA,qDAAiD;AAEjD,2DAAgD;AAWzC,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"PanelExtension.js","sourceRoot":"","sources":["../../lib/PanelExtension.ts"],"names":[],"mappings":";;;AAEA,qDAAiD;AAEjD,2DAAgD;AAWzC,MAAM,OAAO,GAAG,CACnB,QAA2C,EACV,EAAE;IACnC,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE;QACf,OAAO;YACH,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC;YACpB,IAAI,EAAE,8BAAa,CAAC,KAAK;SAC5B,CAAC;IACN,CAAC,CAAC;AACN,CAAC,CAAC;AATW,QAAA,OAAO,WASlB;AAEF,MAAM,IAAI,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AAEtB,MAAa,GAAG;IAAhB;QACY,mBAAc,GAAsB,IAAI,CAAC;QAEzC,oBAAe,GAAsB,IAAI,CAAC;IAqBtD,CAAC;IAnBU,OAAO,CAAC,QAA2B;QACtC,IAAI,CAAC,cAAc,GAAG,IAAA,6BAAS,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAErD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,SAAS,CAAC,QAA2B;QACxC,IAAI,CAAC,eAAe,GAAG,IAAA,6BAAS,EAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAExD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,iBAAiB;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAEM,kBAAkB;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;CACJ;AAxBD,kBAwBC","sourcesContent":["import type { Context, ExtensionAttributes, ExtensionAttributesProvider } from '@atlassian/clientside-extensions-registry';\n\nimport { ExtensionType } from './extension-type';\nimport type { LifecycleCallback, MountableExtension } from './AbstractExtension';\nimport { safeguard } from './AbstractExtension';\n\nexport type PanelRenderExtension = (api: Api, context?: Context<{}>, data?: unknown) => void;\n\nexport interface PanelAttributes extends ExtensionAttributes {\n onAction: PanelRenderExtension;\n type?: ExtensionType.panel;\n}\n\nexport type PanelAttributesProvider<ContextT extends Context<{}> | null> = ExtensionAttributesProvider<PanelAttributes, ContextT>;\n\nexport const factory = <ContextT extends Context<{}> | null>(\n provider: PanelAttributesProvider<ContextT>,\n): PanelAttributesProvider<ContextT> => {\n return (...args) => {\n return {\n ...provider(...args),\n type: ExtensionType.panel,\n };\n };\n};\n\nconst noop = () => {};\n\nexport class Api implements MountableExtension {\n private renderCallback: LifecycleCallback = noop;\n\n private cleanupCallback: LifecycleCallback = noop;\n\n public onMount(callback: LifecycleCallback) {\n this.renderCallback = safeguard('onMount', callback);\n\n return this;\n }\n\n public onUnmount(callback: LifecycleCallback) {\n this.cleanupCallback = safeguard('onUnmount', callback);\n\n return this;\n }\n\n public getRenderCallback() {\n return this.renderCallback;\n }\n\n public getCleanupCallback() {\n return this.cleanupCallback;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SectionExtension.js","sourceRoot":"","sources":["../../lib/SectionExtension.ts"],"names":[],"mappings":";;;AAEA,qDAAiD;AAQ1C,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"SectionExtension.js","sourceRoot":"","sources":["../../lib/SectionExtension.ts"],"names":[],"mappings":";;;AAEA,qDAAiD;AAQ1C,MAAM,OAAO,GAAG,CACnB,QAA6C,EACV,EAAE;IACrC,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE;QACf,OAAO;YACH,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC;YACpB,IAAI,EAAE,8BAAa,CAAC,OAAO;SAC9B,CAAC;IACN,CAAC,CAAC;AACN,CAAC,CAAC;AATW,QAAA,OAAO,WASlB","sourcesContent":["import type { Context, ExtensionAttributes, ExtensionAttributesProvider } from '@atlassian/clientside-extensions-registry';\n\nimport { ExtensionType } from './extension-type';\n\nexport interface SectionAttributes extends ExtensionAttributes {\n type?: ExtensionType.section;\n}\n\nexport type SectionAttributesProvider<ContextT extends Context<{}> | null> = ExtensionAttributesProvider<SectionAttributes, ContextT>;\n\nexport const factory = <ContextT extends Context<{}> | null>(\n provider: SectionAttributesProvider<ContextT>,\n): SectionAttributesProvider<ContextT> => {\n return (...args) => {\n return {\n ...provider(...args),\n type: ExtensionType.section,\n };\n };\n};\n"]}
|
|
@@ -11,5 +11,5 @@ var ExtensionType;
|
|
|
11
11
|
ExtensionType["panel"] = "panel";
|
|
12
12
|
ExtensionType["page"] = "page";
|
|
13
13
|
ExtensionType["section"] = "section";
|
|
14
|
-
})(ExtensionType
|
|
14
|
+
})(ExtensionType || (exports.ExtensionType = ExtensionType = {}));
|
|
15
15
|
//# sourceMappingURL=extension-type.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension-type.js","sourceRoot":"","sources":["../../lib/extension-type.ts"],"names":[],"mappings":";;;AAAA,wDAAwD;AACxD,IAAY,aAQX;AARD,WAAY,aAAa;IACrB,2CAA4B,CAAA;IAC5B,kCAAiB,CAAA;IACjB,8BAAa,CAAA;IACb,gCAAe,CAAA;IACf,gCAAe,CAAA;IACf,8BAAa,CAAA;IACb,oCAAmB,CAAA;AACvB,CAAC,EARW,aAAa,
|
|
1
|
+
{"version":3,"file":"extension-type.js","sourceRoot":"","sources":["../../lib/extension-type.ts"],"names":[],"mappings":";;;AAAA,wDAAwD;AACxD,IAAY,aAQX;AARD,WAAY,aAAa;IACrB,2CAA4B,CAAA;IAC5B,kCAAiB,CAAA;IACjB,8BAAa,CAAA;IACb,gCAAe,CAAA;IACf,gCAAe,CAAA;IACf,8BAAa,CAAA;IACb,oCAAmB,CAAA;AACvB,CAAC,EARW,aAAa,6BAAb,aAAa,QAQxB","sourcesContent":["// eslint-disable-next-line import/prefer-default-export\nexport enum ExtensionType {\n 'asyncPanel' = 'async-panel',\n button = 'button',\n link = 'link',\n modal = 'modal',\n panel = 'panel',\n page = 'page',\n section = 'section',\n}\n"]}
|
package/dist/cjs/index.js
CHANGED
|
@@ -2,19 +2,19 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ExtensionType = exports.PageExtension = exports.SectionExtension = exports.PanelExtension = exports.ModalExtension = exports.LinkExtension = exports.ButtonExtension = exports.AsyncPanelExtension = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const AsyncPanelExtension =
|
|
5
|
+
const AsyncPanelExtension = tslib_1.__importStar(require("./AsyncPanelExtension"));
|
|
6
6
|
exports.AsyncPanelExtension = AsyncPanelExtension;
|
|
7
|
-
const ButtonExtension =
|
|
7
|
+
const ButtonExtension = tslib_1.__importStar(require("./ButtonExtension"));
|
|
8
8
|
exports.ButtonExtension = ButtonExtension;
|
|
9
|
-
const LinkExtension =
|
|
9
|
+
const LinkExtension = tslib_1.__importStar(require("./LinkExtension"));
|
|
10
10
|
exports.LinkExtension = LinkExtension;
|
|
11
|
-
const ModalExtension =
|
|
11
|
+
const ModalExtension = tslib_1.__importStar(require("./ModalExtension"));
|
|
12
12
|
exports.ModalExtension = ModalExtension;
|
|
13
|
-
const PanelExtension =
|
|
13
|
+
const PanelExtension = tslib_1.__importStar(require("./PanelExtension"));
|
|
14
14
|
exports.PanelExtension = PanelExtension;
|
|
15
|
-
const SectionExtension =
|
|
15
|
+
const SectionExtension = tslib_1.__importStar(require("./SectionExtension"));
|
|
16
16
|
exports.SectionExtension = SectionExtension;
|
|
17
|
-
const PageExtension =
|
|
17
|
+
const PageExtension = tslib_1.__importStar(require("./PageExtension"));
|
|
18
18
|
exports.PageExtension = PageExtension;
|
|
19
19
|
const extension_type_1 = require("./extension-type");
|
|
20
20
|
Object.defineProperty(exports, "ExtensionType", { enumerable: true, get: function () { return extension_type_1.ExtensionType; } });
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":";;;;AAAA,mFAA6D;AAYzD,kDAAmB;AAXvB,2EAAqD;AAYjD,0CAAe;AAXnB,uEAAiD;AAY7C,sCAAa;AAXjB,yEAAmD;AAY/C,wCAAc;AAXlB,yEAAmD;AAY/C,wCAAc;AAXlB,6EAAuD;AAYnD,4CAAgB;AAXpB,uEAAiD;AAY7C,sCAAa;AAXjB,qDAAiD;AAY7C,8FAZK,8BAAa,OAYL","sourcesContent":["import * as AsyncPanelExtension from './AsyncPanelExtension';\nimport * as ButtonExtension from './ButtonExtension';\nimport * as LinkExtension from './LinkExtension';\nimport * as ModalExtension from './ModalExtension';\nimport * as PanelExtension from './PanelExtension';\nimport * as SectionExtension from './SectionExtension';\nimport * as PageExtension from './PageExtension';\nimport { ExtensionType } from './extension-type';\n\nexport type { MountableExtension, LifecycleCallback } from './AbstractExtension';\n\nexport {\n AsyncPanelExtension,\n ButtonExtension,\n LinkExtension,\n ModalExtension,\n PanelExtension,\n SectionExtension,\n PageExtension,\n ExtensionType,\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractExtension.js","sourceRoot":"","sources":["../../lib/AbstractExtension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AAgBjE,MAAM,UAAU,SAAS,CAAqB,iBAAyB,EAAE,QAAW;IAChF,OAAO,CAAC,GAAG,IAAmB,EAAE,EAAE;QAC9B,IAAI,MAAM,CAAC;QACX,IAAI;
|
|
1
|
+
{"version":3,"file":"AbstractExtension.js","sourceRoot":"","sources":["../../lib/AbstractExtension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AAgBjE,MAAM,UAAU,SAAS,CAAqB,iBAAyB,EAAE,QAAW;IAChF,OAAO,CAAC,GAAG,IAAmB,EAAE,EAAE;QAC9B,IAAI,MAAM,CAAC;QACX,IAAI,CAAC;YACD,MAAM,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;gBACpB,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,qBAAqB,iBAAiB;aAClD,CAAC,EAAE;aACH,CAAC,CAAC,CAAC;QACR,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;AACN,CAAC","sourcesContent":["import { onDebug } from '@atlassian/clientside-extensions-debug';\n\n// We are fine with any type here\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype Callable = (...args: any[]) => any;\n\nexport interface LifecycleCallback {\n (element: HTMLElement): void;\n}\n\nexport interface MountableExtension {\n onMount(mountCallback: LifecycleCallback): MountableExtension;\n\n onUnmount(unmountCallback: LifecycleCallback): MountableExtension;\n}\n\nexport function safeguard<T extends Callable>(callbackDebugName: string, callback: T): (...args: Parameters<T>) => ReturnType<T> {\n return (...args: Parameters<T>) => {\n let result;\n try {\n result = callback(...args);\n } catch (e) {\n onDebug(({ error }) => ({\n level: error,\n message: `Failed to execute ${callbackDebugName} callback.\n Error: ${e}`,\n }));\n }\n return result;\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsyncPanelExtension.js","sourceRoot":"","sources":["../../lib/AsyncPanelExtension.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"AsyncPanelExtension.js","sourceRoot":"","sources":["../../lib/AsyncPanelExtension.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAoBjD,MAAM,CAAC,MAAM,OAAO,GAAG,CACnB,QAAgD,EACC,EAAE;IACnD,OAAO,CAAC,YAAY,EAAE,OAAO,EAAmC,EAAE;QAC9D,OAAO;YACH,GAAG,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;YAClC,mHAAmH;YACnH,eAAe;gBACX,OAAO,OAAO,CAAC;YACnB,CAAC;YACD,IAAI,EAAE,aAAa,CAAC,UAAU;SACjC,CAAC;IACN,CAAC,CAAC;AACN,CAAC,CAAC;AAEF,OAAO,EAAE,GAAG,EAAE,CAAC","sourcesContent":["import type { Context, ExtensionAttributes, ExtensionAttributesProvider } from '@atlassian/clientside-extensions-registry';\nimport type { PanelRenderExtension } from './PanelExtension';\nimport { Api } from './PanelExtension';\nimport { ExtensionType } from './extension-type';\n\nexport interface AsyncPanelRenderExtension extends PanelRenderExtension {}\n\nexport interface AsyncPanelAttributes extends ExtensionAttributes {\n onAction: AsyncPanelRenderExtension;\n type?: ExtensionType.asyncPanel;\n}\n\nexport type AsyncPanelAttributesProvider<ContextT extends Context<{}> | null> = ExtensionAttributesProvider<AsyncPanelAttributes, ContextT>;\n\nexport interface AsyncPanelAttributesWithContext extends AsyncPanelAttributes {\n contextProvider: () => Context<{}>;\n}\n\nexport type AsyncPanelAttributesProviderWithContext<ContextT extends Context<{}> | null> = ExtensionAttributesProvider<\n AsyncPanelAttributesWithContext,\n ContextT\n>;\n\nexport const factory = <ContextT extends Context<{}>>(\n provider: AsyncPanelAttributesProvider<ContextT>,\n): AsyncPanelAttributesProviderWithContext<ContextT> => {\n return (extensionApi, context): AsyncPanelAttributesWithContext => {\n return {\n ...provider(extensionApi, context),\n // We are passing the context provider function reference into the <AsyncPanelHandler.AsyncPanelRenderer> component\n contextProvider() {\n return context;\n },\n type: ExtensionType.asyncPanel,\n };\n };\n};\n\nexport { Api };\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonExtension.js","sourceRoot":"","sources":["../../lib/ButtonExtension.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAUjD,MAAM,CAAC,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"ButtonExtension.js","sourceRoot":"","sources":["../../lib/ButtonExtension.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAUjD,MAAM,CAAC,MAAM,OAAO,GAAG,CACnB,QAA4C,EACV,EAAE;IACpC,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE;QACf,OAAO;YACH,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC;YACpB,IAAI,EAAE,aAAa,CAAC,MAAM;SAC7B,CAAC;IACN,CAAC,CAAC;AACN,CAAC,CAAC","sourcesContent":["import type { Context, ExtensionAttributes, ExtensionAttributesProvider, OnAction } from '@atlassian/clientside-extensions-registry';\n\nimport { ExtensionType } from './extension-type';\n\nexport interface ButtonAttributes extends ExtensionAttributes {\n onAction?: OnAction;\n label: string;\n type?: ExtensionType.button;\n}\n\nexport type ButtonAttributesProvider<ContextT extends Context<{}> | null> = ExtensionAttributesProvider<ButtonAttributes, ContextT>;\n\nexport const factory = <ContextT extends Context<{}> | null>(\n provider: ButtonAttributesProvider<ContextT>,\n): ButtonAttributesProvider<ContextT> => {\n return (...args) => {\n return {\n ...provider(...args),\n type: ExtensionType.button,\n };\n };\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkExtension.js","sourceRoot":"","sources":["../../lib/LinkExtension.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAWjD,wDAAwD;AACxD,MAAM,CAAC,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"LinkExtension.js","sourceRoot":"","sources":["../../lib/LinkExtension.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAWjD,wDAAwD;AACxD,MAAM,CAAC,MAAM,OAAO,GAAG,CACnB,QAA0C,EACV,EAAE;IAClC,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE;QACf,OAAO;YACH,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC;YACpB,IAAI,EAAE,aAAa,CAAC,IAAI;SAC3B,CAAC;IACN,CAAC,CAAC;AACN,CAAC,CAAC","sourcesContent":["import type { Context, ExtensionAttributes, ExtensionAttributesProvider, OnAction } from '@atlassian/clientside-extensions-registry';\n\nimport { ExtensionType } from './extension-type';\n\nexport interface LinkAttributes extends ExtensionAttributes {\n onAction?: OnAction;\n url: string;\n label: string;\n type?: ExtensionType.link;\n}\n\nexport type LinkAttributesProvider<ContextT extends Context<{}> | null> = ExtensionAttributesProvider<LinkAttributes, ContextT>;\n\n// eslint-disable-next-line import/prefer-default-export\nexport const factory = <ContextT extends Context<{}> | null>(\n provider: LinkAttributesProvider<ContextT>,\n): LinkAttributesProvider<ContextT> => {\n return (...args) => {\n return {\n ...provider(...args),\n type: ExtensionType.link,\n };\n };\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalExtension.js","sourceRoot":"","sources":["../../lib/ModalExtension.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AASjE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AA2BhD,MAAM,CAAC,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"ModalExtension.js","sourceRoot":"","sources":["../../lib/ModalExtension.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Context, ExtensionAttributes, ExtensionAttributesProvider } from '@atlassian/clientside-extensions-registry';\nimport { onDebug } from '@atlassian/clientside-extensions-debug';\nimport type {\n Dispatch as ReactDispatch,\n KeyboardEvent as ReactKeyboardEvent,\n MouseEvent as ReactMouseEvent,\n SetStateAction as ReactSetStateAction,\n // eslint-disable-next-line node/no-extraneous-import\n} from 'react';\n\nimport { ExtensionType } from './extension-type';\nimport type { LifecycleCallback, MountableExtension } from './AbstractExtension';\nimport { safeguard } from './AbstractExtension';\n\n// A type defined by the @atlaskit/modal-dialog\ntype KeyboardOrMouseEvent = ReactMouseEvent<HTMLElement> | ReactKeyboardEvent<HTMLElement> | KeyboardEvent;\n\ninterface ModalCloseCallback {\n (e: KeyboardOrMouseEvent): boolean | void;\n}\n\nexport type ModalAction = {\n text: string;\n onClick: () => void;\n isDisabled?: boolean;\n isLoading?: boolean;\n testId?: string;\n};\n\nexport type ModalRenderExtension = (api: Api) => void;\n\nexport interface ModalAttributes extends ExtensionAttributes {\n onAction: ModalRenderExtension;\n label: string;\n type?: ExtensionType.modal;\n}\n\nexport type ModalAttributesProvider<ContextT extends Context<{}> | null> = ExtensionAttributesProvider<ModalAttributes, ContextT>;\n\nexport const factory = <ContextT extends Context<{}> | null>(\n provider: ModalAttributesProvider<ContextT>,\n): ModalAttributesProvider<ContextT> => {\n return (...args) => {\n const attributes = provider(...args);\n return {\n ...attributes,\n type: ExtensionType.modal,\n };\n };\n};\n\nconst noop = () => {};\n\nexport enum Appearance {\n 'danger' = 'danger',\n 'warning' = 'warning',\n}\n\nexport enum Width {\n 'small' = 'small',\n 'medium' = 'medium',\n 'large' = 'large',\n 'x-large' = 'x-large',\n}\n\nexport class Api implements MountableExtension {\n private title = '';\n\n private width!: Width;\n\n private appearance!: Appearance;\n\n private renderCallback: LifecycleCallback = noop;\n\n private cleanupCallback: LifecycleCallback = noop;\n\n private readonly closeModalFn: () => void = noop;\n\n private onCloseCallback: ModalCloseCallback = () => true;\n\n constructor(closeModalFn: () => void, setActions: ReactDispatch<ReactSetStateAction<ModalAction[]>>) {\n this.closeModalFn = safeguard('onClose', closeModalFn);\n\n this.setActions = (actions) => {\n setActions(Api.filterActionProps(actions));\n\n return this;\n };\n }\n\n public setTitle = (title: string) => {\n this.title = title;\n\n return this;\n };\n\n public setWidth = (width: Width) => {\n // Runtime checking for 'non-ts' usage\n if (!(width in Width)) {\n onDebug(({ error }) => ({\n level: error,\n message: `Invalid value specified as \"width\" of modal. Please make sure to use one of the supported values.`,\n meta: {\n value: width,\n supported: Object.keys(Width).concat(),\n },\n }));\n return this;\n }\n\n this.width = width;\n return this;\n };\n\n public setAppearance = (appearance: Appearance) => {\n // Runtime checking for 'non-ts' usage\n if (!(appearance in Appearance)) {\n onDebug(({ error }) => ({\n level: error,\n message: `Invalid value specified as \"appearance\" of modal. Please make sure to use one of the supported values.`,\n meta: {\n value: appearance,\n supported: Object.keys(Appearance).concat(),\n },\n }));\n return this;\n }\n\n this.appearance = appearance;\n return this;\n };\n\n public onMount = (callback: LifecycleCallback) => {\n this.renderCallback = safeguard('onMount', callback);\n\n return this;\n };\n\n public onUnmount = (callback: LifecycleCallback) => {\n this.cleanupCallback = safeguard('onUnmount', callback);\n\n return this;\n };\n\n public closeModal = () => {\n this.closeModalFn();\n };\n\n public getTitle() {\n return this.title;\n }\n\n public getWidth() {\n return this.width;\n }\n\n public getAppearance() {\n return this.appearance;\n }\n\n public getRenderCallback() {\n return this.renderCallback;\n }\n\n public getCleanupCallback() {\n return this.cleanupCallback;\n }\n\n public setActions: (actions: ModalAction[]) => void;\n\n public onClose(callback: ModalCloseCallback) {\n this.onCloseCallback = safeguard('onClose', callback);\n\n return this;\n }\n\n public getOnCloseCallback() {\n return this.onCloseCallback;\n }\n\n static filterActionProps(actions: ModalAction[]): ModalAction[] {\n if (!Array.isArray(actions)) {\n return [];\n }\n\n return actions.map(({ text, onClick, isDisabled, isLoading, testId }) => {\n return { text, onClick, isDisabled, isLoading, testId };\n });\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PanelExtension.js","sourceRoot":"","sources":["../../lib/PanelExtension.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAWhD,MAAM,CAAC,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"PanelExtension.js","sourceRoot":"","sources":["../../lib/PanelExtension.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAWhD,MAAM,CAAC,MAAM,OAAO,GAAG,CACnB,QAA2C,EACV,EAAE;IACnC,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE;QACf,OAAO;YACH,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC;YACpB,IAAI,EAAE,aAAa,CAAC,KAAK;SAC5B,CAAC;IACN,CAAC,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,IAAI,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AAEtB,MAAM,OAAO,GAAG;IAAhB;QACY,mBAAc,GAAsB,IAAI,CAAC;QAEzC,oBAAe,GAAsB,IAAI,CAAC;IAqBtD,CAAC;IAnBU,OAAO,CAAC,QAA2B;QACtC,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAErD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,SAAS,CAAC,QAA2B;QACxC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAExD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,iBAAiB;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAEM,kBAAkB;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;CACJ","sourcesContent":["import type { Context, ExtensionAttributes, ExtensionAttributesProvider } from '@atlassian/clientside-extensions-registry';\n\nimport { ExtensionType } from './extension-type';\nimport type { LifecycleCallback, MountableExtension } from './AbstractExtension';\nimport { safeguard } from './AbstractExtension';\n\nexport type PanelRenderExtension = (api: Api, context?: Context<{}>, data?: unknown) => void;\n\nexport interface PanelAttributes extends ExtensionAttributes {\n onAction: PanelRenderExtension;\n type?: ExtensionType.panel;\n}\n\nexport type PanelAttributesProvider<ContextT extends Context<{}> | null> = ExtensionAttributesProvider<PanelAttributes, ContextT>;\n\nexport const factory = <ContextT extends Context<{}> | null>(\n provider: PanelAttributesProvider<ContextT>,\n): PanelAttributesProvider<ContextT> => {\n return (...args) => {\n return {\n ...provider(...args),\n type: ExtensionType.panel,\n };\n };\n};\n\nconst noop = () => {};\n\nexport class Api implements MountableExtension {\n private renderCallback: LifecycleCallback = noop;\n\n private cleanupCallback: LifecycleCallback = noop;\n\n public onMount(callback: LifecycleCallback) {\n this.renderCallback = safeguard('onMount', callback);\n\n return this;\n }\n\n public onUnmount(callback: LifecycleCallback) {\n this.cleanupCallback = safeguard('onUnmount', callback);\n\n return this;\n }\n\n public getRenderCallback() {\n return this.renderCallback;\n }\n\n public getCleanupCallback() {\n return this.cleanupCallback;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SectionExtension.js","sourceRoot":"","sources":["../../lib/SectionExtension.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAQjD,MAAM,CAAC,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"SectionExtension.js","sourceRoot":"","sources":["../../lib/SectionExtension.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAQjD,MAAM,CAAC,MAAM,OAAO,GAAG,CACnB,QAA6C,EACV,EAAE;IACrC,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE;QACf,OAAO;YACH,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC;YACpB,IAAI,EAAE,aAAa,CAAC,OAAO;SAC9B,CAAC;IACN,CAAC,CAAC;AACN,CAAC,CAAC","sourcesContent":["import type { Context, ExtensionAttributes, ExtensionAttributesProvider } from '@atlassian/clientside-extensions-registry';\n\nimport { ExtensionType } from './extension-type';\n\nexport interface SectionAttributes extends ExtensionAttributes {\n type?: ExtensionType.section;\n}\n\nexport type SectionAttributesProvider<ContextT extends Context<{}> | null> = ExtensionAttributesProvider<SectionAttributes, ContextT>;\n\nexport const factory = <ContextT extends Context<{}> | null>(\n provider: SectionAttributesProvider<ContextT>,\n): SectionAttributesProvider<ContextT> => {\n return (...args) => {\n return {\n ...provider(...args),\n type: ExtensionType.section,\n };\n };\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractExtension.d.ts","sourceRoot":"","sources":["../../lib/AbstractExtension.ts"],"names":[],"mappings":"AAIA,
|
|
1
|
+
{"version":3,"file":"AbstractExtension.d.ts","sourceRoot":"","sources":["../../lib/AbstractExtension.ts"],"names":[],"mappings":"AAIA,KAAK,QAAQ,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;AAExC,MAAM,WAAW,iBAAiB;IAC9B,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,kBAAkB;IAC/B,OAAO,CAAC,aAAa,EAAE,iBAAiB,GAAG,kBAAkB,CAAC;IAE9D,SAAS,CAAC,eAAe,EAAE,iBAAiB,GAAG,kBAAkB,CAAC;CACrE;AAED,wBAAgB,SAAS,CAAC,CAAC,SAAS,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAc/H"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ExtensionAttributes, ExtensionAttributesProvider
|
|
1
|
+
import type { Context, ExtensionAttributes, ExtensionAttributesProvider } from '@atlassian/clientside-extensions-registry';
|
|
2
2
|
import type { PanelRenderExtension } from './PanelExtension';
|
|
3
3
|
import { Api } from './PanelExtension';
|
|
4
4
|
import { ExtensionType } from './extension-type';
|
|
@@ -8,11 +8,11 @@ export interface AsyncPanelAttributes extends ExtensionAttributes {
|
|
|
8
8
|
onAction: AsyncPanelRenderExtension;
|
|
9
9
|
type?: ExtensionType.asyncPanel;
|
|
10
10
|
}
|
|
11
|
-
export
|
|
11
|
+
export type AsyncPanelAttributesProvider<ContextT extends Context<{}> | null> = ExtensionAttributesProvider<AsyncPanelAttributes, ContextT>;
|
|
12
12
|
export interface AsyncPanelAttributesWithContext extends AsyncPanelAttributes {
|
|
13
13
|
contextProvider: () => Context<{}>;
|
|
14
14
|
}
|
|
15
|
-
export
|
|
16
|
-
export declare const factory: <ContextT
|
|
15
|
+
export type AsyncPanelAttributesProviderWithContext<ContextT extends Context<{}> | null> = ExtensionAttributesProvider<AsyncPanelAttributesWithContext, ContextT>;
|
|
16
|
+
export declare const factory: <ContextT extends Context<{}>>(provider: AsyncPanelAttributesProvider<ContextT>) => AsyncPanelAttributesProviderWithContext<ContextT>;
|
|
17
17
|
export { Api };
|
|
18
18
|
//# sourceMappingURL=AsyncPanelExtension.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsyncPanelExtension.d.ts","sourceRoot":"","sources":["../../lib/AsyncPanelExtension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"AsyncPanelExtension.d.ts","sourceRoot":"","sources":["../../lib/AsyncPanelExtension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AAC3H,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,WAAW,yBAA0B,SAAQ,oBAAoB;CAAG;AAE1E,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAC7D,QAAQ,EAAE,yBAAyB,CAAC;IACpC,IAAI,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC;CACnC;AAED,MAAM,MAAM,4BAA4B,CAAC,QAAQ,SAAS,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,IAAI,2BAA2B,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;AAE5I,MAAM,WAAW,+BAAgC,SAAQ,oBAAoB;IACzE,eAAe,EAAE,MAAM,OAAO,CAAC,EAAE,CAAC,CAAC;CACtC;AAED,MAAM,MAAM,uCAAuC,CAAC,QAAQ,SAAS,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,IAAI,2BAA2B,CAClH,+BAA+B,EAC/B,QAAQ,CACX,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,QAAQ,SAAS,OAAO,CAAC,EAAE,CAAC,YACtC,4BAA4B,CAAC,QAAQ,CAAC,KACjD,uCAAuC,CAAC,QAAQ,CAWlD,CAAC;AAEF,OAAO,EAAE,GAAG,EAAE,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type { ExtensionAttributes, ExtensionAttributesProvider, OnAction } from '@atlassian/clientside-extensions-registry';
|
|
1
|
+
import type { Context, ExtensionAttributes, ExtensionAttributesProvider, OnAction } from '@atlassian/clientside-extensions-registry';
|
|
2
2
|
import { ExtensionType } from './extension-type';
|
|
3
3
|
export interface ButtonAttributes extends ExtensionAttributes {
|
|
4
4
|
onAction?: OnAction;
|
|
5
5
|
label: string;
|
|
6
6
|
type?: ExtensionType.button;
|
|
7
7
|
}
|
|
8
|
-
export
|
|
9
|
-
export declare const factory: <ContextT>(provider: ButtonAttributesProvider<ContextT>) => ButtonAttributesProvider<ContextT>;
|
|
8
|
+
export type ButtonAttributesProvider<ContextT extends Context<{}> | null> = ExtensionAttributesProvider<ButtonAttributes, ContextT>;
|
|
9
|
+
export declare const factory: <ContextT extends Context<{}> | null>(provider: ButtonAttributesProvider<ContextT>) => ButtonAttributesProvider<ContextT>;
|
|
10
10
|
//# sourceMappingURL=ButtonExtension.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonExtension.d.ts","sourceRoot":"","sources":["../../lib/ButtonExtension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,QAAQ,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"ButtonExtension.d.ts","sourceRoot":"","sources":["../../lib/ButtonExtension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,QAAQ,EAAE,MAAM,2CAA2C,CAAC;AAErI,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,WAAW,gBAAiB,SAAQ,mBAAmB;IACzD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC;CAC/B;AAED,MAAM,MAAM,wBAAwB,CAAC,QAAQ,SAAS,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,IAAI,2BAA2B,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;AAEpI,eAAO,MAAM,OAAO,GAAI,QAAQ,SAAS,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,YAC7C,wBAAwB,CAAC,QAAQ,CAAC,KAC7C,wBAAwB,CAAC,QAAQ,CAOnC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ExtensionAttributes, ExtensionAttributesProvider, OnAction } from '@atlassian/clientside-extensions-registry';
|
|
1
|
+
import type { Context, ExtensionAttributes, ExtensionAttributesProvider, OnAction } from '@atlassian/clientside-extensions-registry';
|
|
2
2
|
import { ExtensionType } from './extension-type';
|
|
3
3
|
export interface LinkAttributes extends ExtensionAttributes {
|
|
4
4
|
onAction?: OnAction;
|
|
@@ -6,6 +6,6 @@ export interface LinkAttributes extends ExtensionAttributes {
|
|
|
6
6
|
label: string;
|
|
7
7
|
type?: ExtensionType.link;
|
|
8
8
|
}
|
|
9
|
-
export
|
|
10
|
-
export declare const factory: <ContextT>(provider: LinkAttributesProvider<ContextT>) => LinkAttributesProvider<ContextT>;
|
|
9
|
+
export type LinkAttributesProvider<ContextT extends Context<{}> | null> = ExtensionAttributesProvider<LinkAttributes, ContextT>;
|
|
10
|
+
export declare const factory: <ContextT extends Context<{}> | null>(provider: LinkAttributesProvider<ContextT>) => LinkAttributesProvider<ContextT>;
|
|
11
11
|
//# sourceMappingURL=LinkExtension.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkExtension.d.ts","sourceRoot":"","sources":["../../lib/LinkExtension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,QAAQ,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"LinkExtension.d.ts","sourceRoot":"","sources":["../../lib/LinkExtension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,QAAQ,EAAE,MAAM,2CAA2C,CAAC;AAErI,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,WAAW,cAAe,SAAQ,mBAAmB;IACvD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC;CAC7B;AAED,MAAM,MAAM,sBAAsB,CAAC,QAAQ,SAAS,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,IAAI,2BAA2B,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;AAGhI,eAAO,MAAM,OAAO,GAAI,QAAQ,SAAS,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,YAC7C,sBAAsB,CAAC,QAAQ,CAAC,KAC3C,sBAAsB,CAAC,QAAQ,CAOjC,CAAC"}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import type { ExtensionAttributes, ExtensionAttributesProvider } from '@atlassian/clientside-extensions-registry';
|
|
1
|
+
import type { Context, ExtensionAttributes, ExtensionAttributesProvider } from '@atlassian/clientside-extensions-registry';
|
|
2
2
|
import type { Dispatch as ReactDispatch, KeyboardEvent as ReactKeyboardEvent, MouseEvent as ReactMouseEvent, SetStateAction as ReactSetStateAction } from 'react';
|
|
3
3
|
import { ExtensionType } from './extension-type';
|
|
4
4
|
import type { LifecycleCallback, MountableExtension } from './AbstractExtension';
|
|
5
|
-
|
|
5
|
+
type KeyboardOrMouseEvent = ReactMouseEvent<HTMLElement> | ReactKeyboardEvent<HTMLElement> | KeyboardEvent;
|
|
6
6
|
interface ModalCloseCallback {
|
|
7
7
|
(e: KeyboardOrMouseEvent): boolean | void;
|
|
8
8
|
}
|
|
9
|
-
export
|
|
9
|
+
export type ModalAction = {
|
|
10
10
|
text: string;
|
|
11
11
|
onClick: () => void;
|
|
12
12
|
isDisabled?: boolean;
|
|
13
13
|
isLoading?: boolean;
|
|
14
14
|
testId?: string;
|
|
15
15
|
};
|
|
16
|
-
export
|
|
16
|
+
export type ModalRenderExtension = (api: Api) => void;
|
|
17
17
|
export interface ModalAttributes extends ExtensionAttributes {
|
|
18
18
|
onAction: ModalRenderExtension;
|
|
19
19
|
label: string;
|
|
20
20
|
type?: ExtensionType.modal;
|
|
21
21
|
}
|
|
22
|
-
export
|
|
23
|
-
export declare const factory: <ContextT>(provider: ModalAttributesProvider<ContextT>) => ModalAttributesProvider<ContextT>;
|
|
22
|
+
export type ModalAttributesProvider<ContextT extends Context<{}> | null> = ExtensionAttributesProvider<ModalAttributes, ContextT>;
|
|
23
|
+
export declare const factory: <ContextT extends Context<{}> | null>(provider: ModalAttributesProvider<ContextT>) => ModalAttributesProvider<ContextT>;
|
|
24
24
|
export declare enum Appearance {
|
|
25
25
|
'danger' = "danger",
|
|
26
26
|
'warning' = "warning"
|
|
@@ -54,7 +54,7 @@ export declare class Api implements MountableExtension {
|
|
|
54
54
|
setActions: (actions: ModalAction[]) => void;
|
|
55
55
|
onClose(callback: ModalCloseCallback): this;
|
|
56
56
|
getOnCloseCallback(): ModalCloseCallback;
|
|
57
|
-
static filterActionProps(actions:
|
|
57
|
+
static filterActionProps(actions: ModalAction[]): ModalAction[];
|
|
58
58
|
}
|
|
59
59
|
export {};
|
|
60
60
|
//# sourceMappingURL=ModalExtension.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalExtension.d.ts","sourceRoot":"","sources":["../../lib/ModalExtension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"ModalExtension.d.ts","sourceRoot":"","sources":["../../lib/ModalExtension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AAE3H,OAAO,KAAK,EACR,QAAQ,IAAI,aAAa,EACzB,aAAa,IAAI,kBAAkB,EACnC,UAAU,IAAI,eAAe,EAC7B,cAAc,IAAI,mBAAmB,EAExC,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAIjF,KAAK,oBAAoB,GAAG,eAAe,CAAC,WAAW,CAAC,GAAG,kBAAkB,CAAC,WAAW,CAAC,GAAG,aAAa,CAAC;AAE3G,UAAU,kBAAkB;IACxB,CAAC,CAAC,EAAE,oBAAoB,GAAG,OAAO,GAAG,IAAI,CAAC;CAC7C;AAED,MAAM,MAAM,WAAW,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;AAEtD,MAAM,WAAW,eAAgB,SAAQ,mBAAmB;IACxD,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC;CAC9B;AAED,MAAM,MAAM,uBAAuB,CAAC,QAAQ,SAAS,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,IAAI,2BAA2B,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;AAElI,eAAO,MAAM,OAAO,GAAI,QAAQ,SAAS,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,YAC7C,uBAAuB,CAAC,QAAQ,CAAC,KAC5C,uBAAuB,CAAC,QAAQ,CAQlC,CAAC;AAIF,oBAAY,UAAU;IAClB,QAAQ,WAAW;IACnB,SAAS,YAAY;CACxB;AAED,oBAAY,KAAK;IACb,OAAO,UAAU;IACjB,QAAQ,WAAW;IACnB,OAAO,UAAU;IACjB,SAAS,YAAY;CACxB;AAED,qBAAa,GAAI,YAAW,kBAAkB;IAC1C,OAAO,CAAC,KAAK,CAAM;IAEnB,OAAO,CAAC,KAAK,CAAS;IAEtB,OAAO,CAAC,UAAU,CAAc;IAEhC,OAAO,CAAC,cAAc,CAA2B;IAEjD,OAAO,CAAC,eAAe,CAA2B;IAElD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IAEjD,OAAO,CAAC,eAAe,CAAkC;gBAE7C,YAAY,EAAE,MAAM,IAAI,EAAE,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC,CAAC;IAU5F,QAAQ,UAAW,MAAM,UAI9B;IAEK,QAAQ,UAAW,KAAK,UAgB7B;IAEK,aAAa,eAAgB,UAAU,UAgB5C;IAEK,OAAO,aAAc,iBAAiB,UAI3C;IAEK,SAAS,aAAc,iBAAiB,UAI7C;IAEK,UAAU,aAEf;IAEK,QAAQ;IAIR,QAAQ;IAIR,aAAa;IAIb,iBAAiB;IAIjB,kBAAkB;IAIlB,UAAU,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC;IAE7C,OAAO,CAAC,QAAQ,EAAE,kBAAkB;IAMpC,kBAAkB;IAIzB,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE;CASlE"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { DataProviderPayload, ExtensionAttributes } from '@atlassian/clientside-extensions-registry';
|
|
2
2
|
import { ExtensionType } from './extension-type';
|
|
3
|
-
|
|
3
|
+
type RenderCallback<DataProviderT> = (node: HTMLElement, data: DataProviderPayload<DataProviderT>) => void;
|
|
4
4
|
export interface PageAttributes<DataProviderT> extends ExtensionAttributes {
|
|
5
5
|
onAction: RenderCallback<DataProviderT>;
|
|
6
6
|
type: ExtensionType.page;
|
|
7
7
|
}
|
|
8
|
-
export
|
|
8
|
+
export type PageAttributesProvider<DataProviderT = unknown> = () => PageAttributes<DataProviderT>;
|
|
9
9
|
export declare const factory: <DataProviderT>(renderCallback: RenderCallback<DataProviderT>) => PageAttributesProvider<DataProviderT>;
|
|
10
10
|
export {};
|
|
11
11
|
//# sourceMappingURL=PageExtension.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageExtension.d.ts","sourceRoot":"","sources":["../../lib/PageExtension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAE1G,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,
|
|
1
|
+
{"version":3,"file":"PageExtension.d.ts","sourceRoot":"","sources":["../../lib/PageExtension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAE1G,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,KAAK,cAAc,CAAC,aAAa,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,mBAAmB,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;AAE3G,MAAM,WAAW,cAAc,CAAC,aAAa,CAAE,SAAQ,mBAAmB;IACtE,QAAQ,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;IACxC,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC;CAC5B;AAED,MAAM,MAAM,sBAAsB,CAAC,aAAa,GAAG,OAAO,IAAI,MAAM,cAAc,CAAC,aAAa,CAAC,CAAC;AAElG,eAAO,MAAM,OAAO,GAAI,aAAa,kBAAkB,cAAc,CAAC,aAAa,CAAC,KAAG,sBAAsB,CAAC,aAAa,CAO1H,CAAC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type { Context, ExtensionAttributes, ExtensionAttributesProvider } from '@atlassian/clientside-extensions-registry';
|
|
2
2
|
import { ExtensionType } from './extension-type';
|
|
3
3
|
import type { LifecycleCallback, MountableExtension } from './AbstractExtension';
|
|
4
|
-
export
|
|
4
|
+
export type PanelRenderExtension = (api: Api, context?: Context<{}>, data?: unknown) => void;
|
|
5
5
|
export interface PanelAttributes extends ExtensionAttributes {
|
|
6
6
|
onAction: PanelRenderExtension;
|
|
7
7
|
type?: ExtensionType.panel;
|
|
8
8
|
}
|
|
9
|
-
export
|
|
10
|
-
export declare const factory: <ContextT>(provider: PanelAttributesProvider<ContextT>) => PanelAttributesProvider<ContextT>;
|
|
9
|
+
export type PanelAttributesProvider<ContextT extends Context<{}> | null> = ExtensionAttributesProvider<PanelAttributes, ContextT>;
|
|
10
|
+
export declare const factory: <ContextT extends Context<{}> | null>(provider: PanelAttributesProvider<ContextT>) => PanelAttributesProvider<ContextT>;
|
|
11
11
|
export declare class Api implements MountableExtension {
|
|
12
12
|
private renderCallback;
|
|
13
13
|
private cleanupCallback;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PanelExtension.d.ts","sourceRoot":"","sources":["../../lib/PanelExtension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AAE3H,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGjF,
|
|
1
|
+
{"version":3,"file":"PanelExtension.d.ts","sourceRoot":"","sources":["../../lib/PanelExtension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AAE3H,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGjF,MAAM,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;AAE7F,MAAM,WAAW,eAAgB,SAAQ,mBAAmB;IACxD,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,IAAI,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC;CAC9B;AAED,MAAM,MAAM,uBAAuB,CAAC,QAAQ,SAAS,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,IAAI,2BAA2B,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;AAElI,eAAO,MAAM,OAAO,GAAI,QAAQ,SAAS,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,YAC7C,uBAAuB,CAAC,QAAQ,CAAC,KAC5C,uBAAuB,CAAC,QAAQ,CAOlC,CAAC;AAIF,qBAAa,GAAI,YAAW,kBAAkB;IAC1C,OAAO,CAAC,cAAc,CAA2B;IAEjD,OAAO,CAAC,eAAe,CAA2B;IAE3C,OAAO,CAAC,QAAQ,EAAE,iBAAiB;IAMnC,SAAS,CAAC,QAAQ,EAAE,iBAAiB;IAMrC,iBAAiB;IAIjB,kBAAkB;CAG5B"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { ExtensionAttributes, ExtensionAttributesProvider } from '@atlassian/clientside-extensions-registry';
|
|
1
|
+
import type { Context, ExtensionAttributes, ExtensionAttributesProvider } from '@atlassian/clientside-extensions-registry';
|
|
2
2
|
import { ExtensionType } from './extension-type';
|
|
3
3
|
export interface SectionAttributes extends ExtensionAttributes {
|
|
4
4
|
type?: ExtensionType.section;
|
|
5
5
|
}
|
|
6
|
-
export
|
|
7
|
-
export declare const factory: <ContextT>(provider: SectionAttributesProvider<ContextT>) => SectionAttributesProvider<ContextT>;
|
|
6
|
+
export type SectionAttributesProvider<ContextT extends Context<{}> | null> = ExtensionAttributesProvider<SectionAttributes, ContextT>;
|
|
7
|
+
export declare const factory: <ContextT extends Context<{}> | null>(provider: SectionAttributesProvider<ContextT>) => SectionAttributesProvider<ContextT>;
|
|
8
8
|
//# sourceMappingURL=SectionExtension.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SectionExtension.d.ts","sourceRoot":"","sources":["../../lib/SectionExtension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"SectionExtension.d.ts","sourceRoot":"","sources":["../../lib/SectionExtension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AAE3H,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,WAAW,iBAAkB,SAAQ,mBAAmB;IAC1D,IAAI,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC;CAChC;AAED,MAAM,MAAM,yBAAyB,CAAC,QAAQ,SAAS,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,IAAI,2BAA2B,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;AAEtI,eAAO,MAAM,OAAO,GAAI,QAAQ,SAAS,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,YAC7C,yBAAyB,CAAC,QAAQ,CAAC,KAC9C,yBAAyB,CAAC,QAAQ,CAOpC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ExtensionAttributes, ExtensionAttributesProvider
|
|
1
|
+
import type { Context, ExtensionAttributes, ExtensionAttributesProvider } from '@atlassian/clientside-extensions-registry';
|
|
2
2
|
import type { PanelRenderExtension } from './PanelExtension';
|
|
3
3
|
import { Api } from './PanelExtension';
|
|
4
4
|
import { ExtensionType } from './extension-type';
|
|
@@ -10,15 +10,20 @@ export interface AsyncPanelAttributes extends ExtensionAttributes {
|
|
|
10
10
|
type?: ExtensionType.asyncPanel;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
export type AsyncPanelAttributesProvider<ContextT> = ExtensionAttributesProvider<AsyncPanelAttributes, ContextT>;
|
|
13
|
+
export type AsyncPanelAttributesProvider<ContextT extends Context<{}> | null> = ExtensionAttributesProvider<AsyncPanelAttributes, ContextT>;
|
|
14
14
|
|
|
15
15
|
export interface AsyncPanelAttributesWithContext extends AsyncPanelAttributes {
|
|
16
16
|
contextProvider: () => Context<{}>;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
export type AsyncPanelAttributesProviderWithContext<ContextT> = ExtensionAttributesProvider<
|
|
19
|
+
export type AsyncPanelAttributesProviderWithContext<ContextT extends Context<{}> | null> = ExtensionAttributesProvider<
|
|
20
|
+
AsyncPanelAttributesWithContext,
|
|
21
|
+
ContextT
|
|
22
|
+
>;
|
|
20
23
|
|
|
21
|
-
export const factory = <ContextT
|
|
24
|
+
export const factory = <ContextT extends Context<{}>>(
|
|
25
|
+
provider: AsyncPanelAttributesProvider<ContextT>,
|
|
26
|
+
): AsyncPanelAttributesProviderWithContext<ContextT> => {
|
|
22
27
|
return (extensionApi, context): AsyncPanelAttributesWithContext => {
|
|
23
28
|
return {
|
|
24
29
|
...provider(extensionApi, context),
|
package/lib/ButtonExtension.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ExtensionAttributes, ExtensionAttributesProvider, OnAction } from '@atlassian/clientside-extensions-registry';
|
|
1
|
+
import type { Context, ExtensionAttributes, ExtensionAttributesProvider, OnAction } from '@atlassian/clientside-extensions-registry';
|
|
2
2
|
|
|
3
3
|
import { ExtensionType } from './extension-type';
|
|
4
4
|
|
|
@@ -8,9 +8,11 @@ export interface ButtonAttributes extends ExtensionAttributes {
|
|
|
8
8
|
type?: ExtensionType.button;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
export type ButtonAttributesProvider<ContextT> = ExtensionAttributesProvider<ButtonAttributes, ContextT>;
|
|
11
|
+
export type ButtonAttributesProvider<ContextT extends Context<{}> | null> = ExtensionAttributesProvider<ButtonAttributes, ContextT>;
|
|
12
12
|
|
|
13
|
-
export const factory = <ContextT
|
|
13
|
+
export const factory = <ContextT extends Context<{}> | null>(
|
|
14
|
+
provider: ButtonAttributesProvider<ContextT>,
|
|
15
|
+
): ButtonAttributesProvider<ContextT> => {
|
|
14
16
|
return (...args) => {
|
|
15
17
|
return {
|
|
16
18
|
...provider(...args),
|
package/lib/LinkExtension.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ExtensionAttributes, ExtensionAttributesProvider, OnAction } from '@atlassian/clientside-extensions-registry';
|
|
1
|
+
import type { Context, ExtensionAttributes, ExtensionAttributesProvider, OnAction } from '@atlassian/clientside-extensions-registry';
|
|
2
2
|
|
|
3
3
|
import { ExtensionType } from './extension-type';
|
|
4
4
|
|
|
@@ -9,10 +9,12 @@ export interface LinkAttributes extends ExtensionAttributes {
|
|
|
9
9
|
type?: ExtensionType.link;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
export type LinkAttributesProvider<ContextT> = ExtensionAttributesProvider<LinkAttributes, ContextT>;
|
|
12
|
+
export type LinkAttributesProvider<ContextT extends Context<{}> | null> = ExtensionAttributesProvider<LinkAttributes, ContextT>;
|
|
13
13
|
|
|
14
14
|
// eslint-disable-next-line import/prefer-default-export
|
|
15
|
-
export const factory = <ContextT
|
|
15
|
+
export const factory = <ContextT extends Context<{}> | null>(
|
|
16
|
+
provider: LinkAttributesProvider<ContextT>,
|
|
17
|
+
): LinkAttributesProvider<ContextT> => {
|
|
16
18
|
return (...args) => {
|
|
17
19
|
return {
|
|
18
20
|
...provider(...args),
|
package/lib/ModalExtension.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ExtensionAttributes, ExtensionAttributesProvider } from '@atlassian/clientside-extensions-registry';
|
|
1
|
+
import type { Context, ExtensionAttributes, ExtensionAttributesProvider } from '@atlassian/clientside-extensions-registry';
|
|
2
2
|
import { onDebug } from '@atlassian/clientside-extensions-debug';
|
|
3
3
|
import type {
|
|
4
4
|
Dispatch as ReactDispatch,
|
|
@@ -35,9 +35,11 @@ export interface ModalAttributes extends ExtensionAttributes {
|
|
|
35
35
|
type?: ExtensionType.modal;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
export type ModalAttributesProvider<ContextT> = ExtensionAttributesProvider<ModalAttributes, ContextT>;
|
|
38
|
+
export type ModalAttributesProvider<ContextT extends Context<{}> | null> = ExtensionAttributesProvider<ModalAttributes, ContextT>;
|
|
39
39
|
|
|
40
|
-
export const factory = <ContextT
|
|
40
|
+
export const factory = <ContextT extends Context<{}> | null>(
|
|
41
|
+
provider: ModalAttributesProvider<ContextT>,
|
|
42
|
+
): ModalAttributesProvider<ContextT> => {
|
|
41
43
|
return (...args) => {
|
|
42
44
|
const attributes = provider(...args);
|
|
43
45
|
return {
|
|
@@ -176,7 +178,7 @@ export class Api implements MountableExtension {
|
|
|
176
178
|
return this.onCloseCallback;
|
|
177
179
|
}
|
|
178
180
|
|
|
179
|
-
static filterActionProps(actions:
|
|
181
|
+
static filterActionProps(actions: ModalAction[]): ModalAction[] {
|
|
180
182
|
if (!Array.isArray(actions)) {
|
|
181
183
|
return [];
|
|
182
184
|
}
|
package/lib/PanelExtension.ts
CHANGED
|
@@ -11,9 +11,11 @@ export interface PanelAttributes extends ExtensionAttributes {
|
|
|
11
11
|
type?: ExtensionType.panel;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
export type PanelAttributesProvider<ContextT> = ExtensionAttributesProvider<PanelAttributes, ContextT>;
|
|
14
|
+
export type PanelAttributesProvider<ContextT extends Context<{}> | null> = ExtensionAttributesProvider<PanelAttributes, ContextT>;
|
|
15
15
|
|
|
16
|
-
export const factory = <ContextT
|
|
16
|
+
export const factory = <ContextT extends Context<{}> | null>(
|
|
17
|
+
provider: PanelAttributesProvider<ContextT>,
|
|
18
|
+
): PanelAttributesProvider<ContextT> => {
|
|
17
19
|
return (...args) => {
|
|
18
20
|
return {
|
|
19
21
|
...provider(...args),
|
package/lib/SectionExtension.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ExtensionAttributes, ExtensionAttributesProvider } from '@atlassian/clientside-extensions-registry';
|
|
1
|
+
import type { Context, ExtensionAttributes, ExtensionAttributesProvider } from '@atlassian/clientside-extensions-registry';
|
|
2
2
|
|
|
3
3
|
import { ExtensionType } from './extension-type';
|
|
4
4
|
|
|
@@ -6,9 +6,11 @@ export interface SectionAttributes extends ExtensionAttributes {
|
|
|
6
6
|
type?: ExtensionType.section;
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
-
export type SectionAttributesProvider<ContextT> = ExtensionAttributesProvider<SectionAttributes, ContextT>;
|
|
9
|
+
export type SectionAttributesProvider<ContextT extends Context<{}> | null> = ExtensionAttributesProvider<SectionAttributes, ContextT>;
|
|
10
10
|
|
|
11
|
-
export const factory = <ContextT
|
|
11
|
+
export const factory = <ContextT extends Context<{}> | null>(
|
|
12
|
+
provider: SectionAttributesProvider<ContextT>,
|
|
13
|
+
): SectionAttributesProvider<ContextT> => {
|
|
12
14
|
return (...args) => {
|
|
13
15
|
return {
|
|
14
16
|
...provider(...args),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlassian/clientside-extensions",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.1.0-5a180d69-mdyn784a",
|
|
4
4
|
"description": "A set of helpers to consume atlassian client-side extensions.",
|
|
5
5
|
"license": "BSD-3-Clause",
|
|
6
6
|
"homepage": "https://bitbucket.org/atlassian/atlassian-clientside-extensions#readme",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
],
|
|
54
54
|
"publishConfig": {
|
|
55
55
|
"access": "public",
|
|
56
|
-
"@atlassian:registry": "https://
|
|
56
|
+
"@atlassian:registry": "https://packages.atlassian.com/api/npm/npm-public/"
|
|
57
57
|
},
|
|
58
58
|
"scripts": {
|
|
59
59
|
"prepublish": "yarn build",
|
|
@@ -66,15 +66,15 @@
|
|
|
66
66
|
"test:watch": "jest --watch"
|
|
67
67
|
},
|
|
68
68
|
"dependencies": {
|
|
69
|
-
"@atlassian/clientside-extensions-debug": "^5.
|
|
70
|
-
"@atlassian/clientside-extensions-registry": "^5.
|
|
69
|
+
"@atlassian/clientside-extensions-debug": "^5.1.0-5a180d69-mdyn784a",
|
|
70
|
+
"@atlassian/clientside-extensions-registry": "^5.1.0-5a180d69-mdyn784a",
|
|
71
71
|
"tslib": "^2.2.0"
|
|
72
72
|
},
|
|
73
73
|
"devDependencies": {
|
|
74
74
|
"@types/react": "18.3.1"
|
|
75
75
|
},
|
|
76
76
|
"engines": {
|
|
77
|
-
"node": ">=20.
|
|
77
|
+
"node": ">=20.18.1"
|
|
78
78
|
},
|
|
79
|
-
"gitHead": "
|
|
79
|
+
"gitHead": "5a180d69885a02ac1d96b980893b6a5c77e9459a"
|
|
80
80
|
}
|