@atlassian/clientside-extensions 4.0.2 → 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.
Files changed (43) hide show
  1. package/dist/cjs/AbstractExtension.js +1 -2
  2. package/dist/cjs/AbstractExtension.js.map +1 -1
  3. package/dist/cjs/AsyncPanelExtension.js.map +1 -1
  4. package/dist/cjs/ButtonExtension.js.map +1 -1
  5. package/dist/cjs/LinkExtension.js.map +1 -1
  6. package/dist/cjs/ModalExtension.js +2 -2
  7. package/dist/cjs/ModalExtension.js.map +1 -1
  8. package/dist/cjs/PanelExtension.js.map +1 -1
  9. package/dist/cjs/SectionExtension.js.map +1 -1
  10. package/dist/cjs/extension-type.js +1 -1
  11. package/dist/cjs/extension-type.js.map +1 -1
  12. package/dist/cjs/index.js +7 -7
  13. package/dist/cjs/index.js.map +1 -1
  14. package/dist/esm/AbstractExtension.js.map +1 -1
  15. package/dist/esm/AsyncPanelExtension.js.map +1 -1
  16. package/dist/esm/ButtonExtension.js.map +1 -1
  17. package/dist/esm/LinkExtension.js.map +1 -1
  18. package/dist/esm/ModalExtension.js.map +1 -1
  19. package/dist/esm/PanelExtension.js.map +1 -1
  20. package/dist/esm/SectionExtension.js.map +1 -1
  21. package/dist/types/AbstractExtension.d.ts +1 -1
  22. package/dist/types/AbstractExtension.d.ts.map +1 -1
  23. package/dist/types/AsyncPanelExtension.d.ts +4 -4
  24. package/dist/types/AsyncPanelExtension.d.ts.map +1 -1
  25. package/dist/types/ButtonExtension.d.ts +3 -3
  26. package/dist/types/ButtonExtension.d.ts.map +1 -1
  27. package/dist/types/LinkExtension.d.ts +3 -3
  28. package/dist/types/LinkExtension.d.ts.map +1 -1
  29. package/dist/types/ModalExtension.d.ts +7 -7
  30. package/dist/types/ModalExtension.d.ts.map +1 -1
  31. package/dist/types/PageExtension.d.ts +2 -2
  32. package/dist/types/PageExtension.d.ts.map +1 -1
  33. package/dist/types/PanelExtension.d.ts +3 -3
  34. package/dist/types/PanelExtension.d.ts.map +1 -1
  35. package/dist/types/SectionExtension.d.ts +3 -3
  36. package/dist/types/SectionExtension.d.ts.map +1 -1
  37. package/lib/AsyncPanelExtension.ts +9 -4
  38. package/lib/ButtonExtension.ts +5 -3
  39. package/lib/LinkExtension.ts +5 -3
  40. package/lib/ModalExtension.ts +6 -4
  41. package/lib/PanelExtension.ts +4 -2
  42. package/lib/SectionExtension.ts +5 -3
  43. package/package.json +7 -7
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.safeguard = void 0;
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":";;;AAAA,wFAAiE;AAgBjE,SAAgB,SAAS,CAAqB,iBAAyB,EAAE,QAAW;IAChF,OAAO,CAAC,GAAG,IAAmB,EAAE,EAAE;QAC9B,IAAI,MAAM,CAAC;QACX,IAAI;YACA,MAAM,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;SAC9B;QAAC,OAAO,CAAC,EAAE;YACR,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;SACP;QACD,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;AACN,CAAC;AAdD,8BAcC","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
+ {"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;AA+B9B,oFA/BA,oBAAG,OA+BA;AA9BZ,qDAAiD;AAiB1C,MAAM,OAAO,GAAG,CAAW,QAAgD,EAAqD,EAAE;IACrI,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;AAXW,QAAA,OAAO,WAWlB","sourcesContent":["import type { ExtensionAttributes, ExtensionAttributesProvider, Context } 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> = ExtensionAttributesProvider<AsyncPanelAttributes, ContextT>;\n\nexport interface AsyncPanelAttributesWithContext extends AsyncPanelAttributes {\n contextProvider: () => Context<{}>;\n}\n\nexport type AsyncPanelAttributesProviderWithContext<ContextT> = ExtensionAttributesProvider<AsyncPanelAttributesWithContext, ContextT>;\n\nexport const factory = <ContextT>(provider: AsyncPanelAttributesProvider<ContextT>): 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
+ {"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,CAAW,QAA4C,EAAsC,EAAE;IAClH,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;AAPW,QAAA,OAAO,WAOlB","sourcesContent":["import type { 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> = ExtensionAttributesProvider<ButtonAttributes, ContextT>;\n\nexport const factory = <ContextT>(provider: ButtonAttributesProvider<ContextT>): ButtonAttributesProvider<ContextT> => {\n return (...args) => {\n return {\n ...provider(...args),\n type: ExtensionType.button,\n };\n };\n};\n"]}
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,CAAW,QAA0C,EAAoC,EAAE;IAC9G,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;AAPW,QAAA,OAAO,WAOlB","sourcesContent":["import type { 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> = ExtensionAttributesProvider<LinkAttributes, ContextT>;\n\n// eslint-disable-next-line import/prefer-default-export\nexport const factory = <ContextT>(provider: LinkAttributesProvider<ContextT>): LinkAttributesProvider<ContextT> => {\n return (...args) => {\n return {\n ...provider(...args),\n type: ExtensionType.link,\n };\n };\n};\n"]}
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 = exports.Appearance || (exports.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 = exports.Width || (exports.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":"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","sourcesContent":["import type { 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> = ExtensionAttributesProvider<ModalAttributes, ContextT>;\n\nexport const factory = <ContextT>(provider: ModalAttributesProvider<ContextT>): 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: unknown[]): 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
+ {"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,CAAW,QAA2C,EAAqC,EAAE;IAChH,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;AAPW,QAAA,OAAO,WAOlB;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> = ExtensionAttributesProvider<PanelAttributes, ContextT>;\n\nexport const factory = <ContextT>(provider: PanelAttributesProvider<ContextT>): 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
+ {"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,CAAW,QAA6C,EAAuC,EAAE;IACpH,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;AAPW,QAAA,OAAO,WAOlB","sourcesContent":["import type { 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> = ExtensionAttributesProvider<SectionAttributes, ContextT>;\n\nexport const factory = <ContextT>(provider: SectionAttributesProvider<ContextT>): SectionAttributesProvider<ContextT> => {\n return (...args) => {\n return {\n ...provider(...args),\n type: ExtensionType.section,\n };\n };\n};\n"]}
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 = exports.ExtensionType || (exports.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,GAAb,qBAAa,KAAb,qBAAa,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"]}
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 = (0, tslib_1.__importStar)(require("./AsyncPanelExtension"));
5
+ const AsyncPanelExtension = tslib_1.__importStar(require("./AsyncPanelExtension"));
6
6
  exports.AsyncPanelExtension = AsyncPanelExtension;
7
- const ButtonExtension = (0, tslib_1.__importStar)(require("./ButtonExtension"));
7
+ const ButtonExtension = tslib_1.__importStar(require("./ButtonExtension"));
8
8
  exports.ButtonExtension = ButtonExtension;
9
- const LinkExtension = (0, tslib_1.__importStar)(require("./LinkExtension"));
9
+ const LinkExtension = tslib_1.__importStar(require("./LinkExtension"));
10
10
  exports.LinkExtension = LinkExtension;
11
- const ModalExtension = (0, tslib_1.__importStar)(require("./ModalExtension"));
11
+ const ModalExtension = tslib_1.__importStar(require("./ModalExtension"));
12
12
  exports.ModalExtension = ModalExtension;
13
- const PanelExtension = (0, tslib_1.__importStar)(require("./PanelExtension"));
13
+ const PanelExtension = tslib_1.__importStar(require("./PanelExtension"));
14
14
  exports.PanelExtension = PanelExtension;
15
- const SectionExtension = (0, tslib_1.__importStar)(require("./SectionExtension"));
15
+ const SectionExtension = tslib_1.__importStar(require("./SectionExtension"));
16
16
  exports.SectionExtension = SectionExtension;
17
- const PageExtension = (0, tslib_1.__importStar)(require("./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; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":";;;;AAAA,wFAA6D;AAYzD,kDAAmB;AAXvB,gFAAqD;AAYjD,0CAAe;AAXnB,4EAAiD;AAY7C,sCAAa;AAXjB,8EAAmD;AAY/C,wCAAc;AAXlB,8EAAmD;AAY/C,wCAAc;AAXlB,kFAAuD;AAYnD,4CAAgB;AAXpB,4EAAiD;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
+ {"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;YACA,MAAM,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;SAC9B;QAAC,OAAO,CAAC,EAAE;YACR,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;SACP;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
+ {"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;AAiBjD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAW,QAAgD,EAAqD,EAAE;IACrI,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 { ExtensionAttributes, ExtensionAttributesProvider, Context } 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> = ExtensionAttributesProvider<AsyncPanelAttributes, ContextT>;\n\nexport interface AsyncPanelAttributesWithContext extends AsyncPanelAttributes {\n contextProvider: () => Context<{}>;\n}\n\nexport type AsyncPanelAttributesProviderWithContext<ContextT> = ExtensionAttributesProvider<AsyncPanelAttributesWithContext, ContextT>;\n\nexport const factory = <ContextT>(provider: AsyncPanelAttributesProvider<ContextT>): 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
+ {"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,CAAW,QAA4C,EAAsC,EAAE;IAClH,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 { 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> = ExtensionAttributesProvider<ButtonAttributes, ContextT>;\n\nexport const factory = <ContextT>(provider: ButtonAttributesProvider<ContextT>): ButtonAttributesProvider<ContextT> => {\n return (...args) => {\n return {\n ...provider(...args),\n type: ExtensionType.button,\n };\n };\n};\n"]}
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,CAAW,QAA0C,EAAoC,EAAE;IAC9G,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 { 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> = ExtensionAttributesProvider<LinkAttributes, ContextT>;\n\n// eslint-disable-next-line import/prefer-default-export\nexport const factory = <ContextT>(provider: LinkAttributesProvider<ContextT>): LinkAttributesProvider<ContextT> => {\n return (...args) => {\n return {\n ...provider(...args),\n type: ExtensionType.link,\n };\n };\n};\n"]}
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":"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","sourcesContent":["import type { 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> = ExtensionAttributesProvider<ModalAttributes, ContextT>;\n\nexport const factory = <ContextT>(provider: ModalAttributesProvider<ContextT>): 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: unknown[]): 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
+ {"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,CAAW,QAA2C,EAAqC,EAAE;IAChH,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> = ExtensionAttributesProvider<PanelAttributes, ContextT>;\n\nexport const factory = <ContextT>(provider: PanelAttributesProvider<ContextT>): 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
+ {"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,CAAW,QAA6C,EAAuC,EAAE;IACpH,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 { 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> = ExtensionAttributesProvider<SectionAttributes, ContextT>;\n\nexport const factory = <ContextT>(provider: SectionAttributesProvider<ContextT>): SectionAttributesProvider<ContextT> => {\n return (...args) => {\n return {\n ...provider(...args),\n type: ExtensionType.section,\n };\n };\n};\n"]}
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,4 +1,4 @@
1
- declare type Callable = (...args: any[]) => any;
1
+ type Callable = (...args: any[]) => any;
2
2
  export interface LifecycleCallback {
3
3
  (element: HTMLElement): void;
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractExtension.d.ts","sourceRoot":"","sources":["../../lib/AbstractExtension.ts"],"names":[],"mappings":"AAIA,aAAK,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
+ {"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, Context } from '@atlassian/clientside-extensions-registry';
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 declare type AsyncPanelAttributesProvider<ContextT> = ExtensionAttributesProvider<AsyncPanelAttributes, ContextT>;
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 declare type AsyncPanelAttributesProviderWithContext<ContextT> = ExtensionAttributesProvider<AsyncPanelAttributesWithContext, ContextT>;
16
- export declare const factory: <ContextT>(provider: AsyncPanelAttributesProvider<ContextT>) => AsyncPanelAttributesProviderWithContext<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,mBAAmB,EAAE,2BAA2B,EAAE,OAAO,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,oBAAY,4BAA4B,CAAC,QAAQ,IAAI,2BAA2B,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;AAEjH,MAAM,WAAW,+BAAgC,SAAQ,oBAAoB;IACzE,eAAe,EAAE,MAAM,OAAO,CAAC,EAAE,CAAC,CAAC;CACtC;AAED,oBAAY,uCAAuC,CAAC,QAAQ,IAAI,2BAA2B,CAAC,+BAA+B,EAAE,QAAQ,CAAC,CAAC;AAEvI,eAAO,MAAM,OAAO,mHAWnB,CAAC;AAEF,OAAO,EAAE,GAAG,EAAE,CAAC"}
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 declare type ButtonAttributesProvider<ContextT> = ExtensionAttributesProvider<ButtonAttributes, ContextT>;
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;AAE5H,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,oBAAY,wBAAwB,CAAC,QAAQ,IAAI,2BAA2B,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;AAEzG,eAAO,MAAM,OAAO,gGAOnB,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 declare type LinkAttributesProvider<ContextT> = ExtensionAttributesProvider<LinkAttributes, ContextT>;
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;AAE5H,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,oBAAY,sBAAsB,CAAC,QAAQ,IAAI,2BAA2B,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;AAGrG,eAAO,MAAM,OAAO,4FAOnB,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
- declare type KeyboardOrMouseEvent = ReactMouseEvent<HTMLElement> | ReactKeyboardEvent<HTMLElement> | KeyboardEvent;
5
+ type KeyboardOrMouseEvent = ReactMouseEvent<HTMLElement> | ReactKeyboardEvent<HTMLElement> | KeyboardEvent;
6
6
  interface ModalCloseCallback {
7
7
  (e: KeyboardOrMouseEvent): boolean | void;
8
8
  }
9
- export declare type ModalAction = {
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 declare type ModalRenderExtension = (api: Api) => void;
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 declare type ModalAttributesProvider<ContextT> = ExtensionAttributesProvider<ModalAttributes, ContextT>;
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: unknown[]): ModalAction[];
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;AAElH,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,aAAK,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,oBAAY,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,oBAAY,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,oBAAY,uBAAuB,CAAC,QAAQ,IAAI,2BAA2B,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;AAEvG,eAAO,MAAM,OAAO,8FAQnB,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,OAAO,EAAE,GAAG,WAAW,EAAE;CAS9D"}
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
- declare type RenderCallback<DataProviderT> = (node: HTMLElement, data: DataProviderPayload<DataProviderT>) => void;
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 declare type PageAttributesProvider<DataProviderT = unknown> = () => PageAttributes<DataProviderT>;
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,aAAK,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,oBAAY,sBAAsB,CAAC,aAAa,GAAG,OAAO,IAAI,MAAM,cAAc,CAAC,aAAa,CAAC,CAAC;AAElG,eAAO,MAAM,OAAO,yGAOnB,CAAC"}
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 declare type PanelRenderExtension = (api: Api, context?: Context<{}>, data?: unknown) => void;
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 declare type PanelAttributesProvider<ContextT> = ExtensionAttributesProvider<PanelAttributes, ContextT>;
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,oBAAY,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,oBAAY,uBAAuB,CAAC,QAAQ,IAAI,2BAA2B,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;AAEvG,eAAO,MAAM,OAAO,8FAOnB,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
+ {"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 declare type SectionAttributesProvider<ContextT> = ExtensionAttributesProvider<SectionAttributes, ContextT>;
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;AAElH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,WAAW,iBAAkB,SAAQ,mBAAmB;IAC1D,IAAI,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC;CAChC;AAED,oBAAY,yBAAyB,CAAC,QAAQ,IAAI,2BAA2B,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;AAE3G,eAAO,MAAM,OAAO,kGAOnB,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, Context } from '@atlassian/clientside-extensions-registry';
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<AsyncPanelAttributesWithContext, ContextT>;
19
+ export type AsyncPanelAttributesProviderWithContext<ContextT extends Context<{}> | null> = ExtensionAttributesProvider<
20
+ AsyncPanelAttributesWithContext,
21
+ ContextT
22
+ >;
20
23
 
21
- export const factory = <ContextT>(provider: AsyncPanelAttributesProvider<ContextT>): AsyncPanelAttributesProviderWithContext<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),
@@ -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>(provider: ButtonAttributesProvider<ContextT>): ButtonAttributesProvider<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),
@@ -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>(provider: LinkAttributesProvider<ContextT>): LinkAttributesProvider<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),
@@ -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>(provider: ModalAttributesProvider<ContextT>): ModalAttributesProvider<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: unknown[]): ModalAction[] {
181
+ static filterActionProps(actions: ModalAction[]): ModalAction[] {
180
182
  if (!Array.isArray(actions)) {
181
183
  return [];
182
184
  }
@@ -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>(provider: PanelAttributesProvider<ContextT>): PanelAttributesProvider<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),
@@ -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>(provider: SectionAttributesProvider<ContextT>): SectionAttributesProvider<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": "4.0.2",
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://registry.npmjs.org/"
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": "^4.0.2",
70
- "@atlassian/clientside-extensions-registry": "^4.0.2",
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
- "@types/react": "16.14.21"
74
+ "@types/react": "18.3.1"
75
75
  },
76
76
  "engines": {
77
- "node": ">=20.16.0"
77
+ "node": ">=20.18.1"
78
78
  },
79
- "gitHead": "2d552dc8d3b5d2c9583a19324d5b7459f5db6afa"
79
+ "gitHead": "5a180d69885a02ac1d96b980893b6a5c77e9459a"
80
80
  }