@atlassian/clientside-extensions 2.4.1 → 2.5.0-84fa90d-kwd5ix2w

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 (73) hide show
  1. package/dist/cjs/AbstractExtension.js +1 -1
  2. package/dist/cjs/AbstractExtension.js.map +1 -1
  3. package/dist/cjs/AsyncPanelExtension.js +2 -1
  4. package/dist/cjs/AsyncPanelExtension.js.map +1 -1
  5. package/dist/cjs/ButtonExtension.js +2 -1
  6. package/dist/cjs/ButtonExtension.js.map +1 -1
  7. package/dist/cjs/LinkExtension.js +2 -1
  8. package/dist/cjs/LinkExtension.js.map +1 -1
  9. package/dist/cjs/ModalExtension.js +8 -7
  10. package/dist/cjs/ModalExtension.js.map +1 -1
  11. package/dist/cjs/PageExtension.js +2 -1
  12. package/dist/cjs/PageExtension.js.map +1 -1
  13. package/dist/cjs/PanelExtension.js +4 -3
  14. package/dist/cjs/PanelExtension.js.map +1 -1
  15. package/dist/cjs/SectionExtension.js +2 -1
  16. package/dist/cjs/SectionExtension.js.map +1 -1
  17. package/dist/cjs/index.js +7 -7
  18. package/dist/cjs/index.js.map +1 -1
  19. package/dist/types/AsyncPanelExtension.d.ts +1 -1
  20. package/dist/types/AsyncPanelExtension.d.ts.map +1 -1
  21. package/dist/types/ButtonExtension.d.ts +1 -1
  22. package/dist/types/ButtonExtension.d.ts.map +1 -1
  23. package/dist/types/LinkExtension.d.ts +1 -1
  24. package/dist/types/LinkExtension.d.ts.map +1 -1
  25. package/dist/types/ModalExtension.d.ts +1 -1
  26. package/dist/types/ModalExtension.d.ts.map +1 -1
  27. package/dist/types/PanelExtension.d.ts +1 -1
  28. package/dist/types/PanelExtension.d.ts.map +1 -1
  29. package/dist/types/SectionExtension.d.ts +1 -1
  30. package/dist/types/SectionExtension.d.ts.map +1 -1
  31. package/package.json +6 -5
  32. package/dist/cjs/AsyncPanelExtension.test.js +0 -121
  33. package/dist/cjs/AsyncPanelExtension.test.js.map +0 -1
  34. package/dist/cjs/ButtonExtension.test.js +0 -49
  35. package/dist/cjs/ButtonExtension.test.js.map +0 -1
  36. package/dist/cjs/LinkExtension.test.js +0 -49
  37. package/dist/cjs/LinkExtension.test.js.map +0 -1
  38. package/dist/cjs/ModalExtension.test.js +0 -121
  39. package/dist/cjs/ModalExtension.test.js.map +0 -1
  40. package/dist/cjs/PageExtension.test.js +0 -34
  41. package/dist/cjs/PageExtension.test.js.map +0 -1
  42. package/dist/cjs/PanelExtension.test.js +0 -112
  43. package/dist/cjs/PanelExtension.test.js.map +0 -1
  44. package/dist/cjs/SectionExtension.test.js +0 -46
  45. package/dist/cjs/SectionExtension.test.js.map +0 -1
  46. package/dist/esm/AsyncPanelExtension.test.js +0 -118
  47. package/dist/esm/AsyncPanelExtension.test.js.map +0 -1
  48. package/dist/esm/ButtonExtension.test.js +0 -46
  49. package/dist/esm/ButtonExtension.test.js.map +0 -1
  50. package/dist/esm/LinkExtension.test.js +0 -46
  51. package/dist/esm/LinkExtension.test.js.map +0 -1
  52. package/dist/esm/ModalExtension.test.js +0 -118
  53. package/dist/esm/ModalExtension.test.js.map +0 -1
  54. package/dist/esm/PageExtension.test.js +0 -31
  55. package/dist/esm/PageExtension.test.js.map +0 -1
  56. package/dist/esm/PanelExtension.test.js +0 -109
  57. package/dist/esm/PanelExtension.test.js.map +0 -1
  58. package/dist/esm/SectionExtension.test.js +0 -43
  59. package/dist/esm/SectionExtension.test.js.map +0 -1
  60. package/dist/types/AsyncPanelExtension.test.d.ts +0 -2
  61. package/dist/types/AsyncPanelExtension.test.d.ts.map +0 -1
  62. package/dist/types/ButtonExtension.test.d.ts +0 -2
  63. package/dist/types/ButtonExtension.test.d.ts.map +0 -1
  64. package/dist/types/LinkExtension.test.d.ts +0 -2
  65. package/dist/types/LinkExtension.test.d.ts.map +0 -1
  66. package/dist/types/ModalExtension.test.d.ts +0 -2
  67. package/dist/types/ModalExtension.test.d.ts.map +0 -1
  68. package/dist/types/PageExtension.test.d.ts +0 -5
  69. package/dist/types/PageExtension.test.d.ts.map +0 -1
  70. package/dist/types/PanelExtension.test.d.ts +0 -2
  71. package/dist/types/PanelExtension.test.d.ts.map +0 -1
  72. package/dist/types/SectionExtension.test.d.ts +0 -2
  73. package/dist/types/SectionExtension.test.d.ts.map +0 -1
@@ -9,7 +9,7 @@ function safeguard(callbackDebugName, callback) {
9
9
  result = callback(...args);
10
10
  }
11
11
  catch (e) {
12
- clientside_extensions_debug_1.onDebug(({ error }) => ({
12
+ (0, clientside_extensions_debug_1.onDebug)(({ error }) => ({
13
13
  level: error,
14
14
  message: `Failed to execute ${callbackDebugName} callback.
15
15
  Error: ${e}`,
@@ -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,qCAAO,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;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":";;;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"]}
@@ -4,7 +4,7 @@ exports.Api = exports.factory = void 0;
4
4
  const PanelExtension_1 = require("./PanelExtension");
5
5
  Object.defineProperty(exports, "Api", { enumerable: true, get: function () { return PanelExtension_1.Api; } });
6
6
  const extension_type_1 = require("./extension-type");
7
- exports.factory = (provider) => {
7
+ const factory = (provider) => {
8
8
  return (extensionApi, context) => {
9
9
  return {
10
10
  ...provider(extensionApi, context),
@@ -16,4 +16,5 @@ exports.factory = (provider) => {
16
16
  };
17
17
  };
18
18
  };
19
+ exports.factory = factory;
19
20
  //# sourceMappingURL=AsyncPanelExtension.js.map
@@ -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;AAiBpC,QAAA,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","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;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"]}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.factory = void 0;
4
4
  const extension_type_1 = require("./extension-type");
5
- exports.factory = (provider) => {
5
+ const factory = (provider) => {
6
6
  return (...args) => {
7
7
  return {
8
8
  ...provider(...args),
@@ -10,4 +10,5 @@ exports.factory = (provider) => {
10
10
  };
11
11
  };
12
12
  };
13
+ exports.factory = factory;
13
14
  //# sourceMappingURL=ButtonExtension.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonExtension.js","sourceRoot":"","sources":["../../lib/ButtonExtension.ts"],"names":[],"mappings":";;;AAEA,qDAAiD;AAUpC,QAAA,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","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,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"]}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.factory = void 0;
4
4
  const extension_type_1 = require("./extension-type");
5
5
  // eslint-disable-next-line import/prefer-default-export
6
- exports.factory = (provider) => {
6
+ const factory = (provider) => {
7
7
  return (...args) => {
8
8
  return {
9
9
  ...provider(...args),
@@ -11,4 +11,5 @@ exports.factory = (provider) => {
11
11
  };
12
12
  };
13
13
  };
14
+ exports.factory = factory;
14
15
  //# sourceMappingURL=LinkExtension.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LinkExtension.js","sourceRoot":"","sources":["../../lib/LinkExtension.ts"],"names":[],"mappings":";;;AAEA,qDAAiD;AAWjD,wDAAwD;AAC3C,QAAA,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","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,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"]}
@@ -4,7 +4,7 @@ exports.Api = exports.Width = exports.Appearance = exports.factory = void 0;
4
4
  const clientside_extensions_debug_1 = require("@atlassian/clientside-extensions-debug");
5
5
  const extension_type_1 = require("./extension-type");
6
6
  const AbstractExtension_1 = require("./AbstractExtension");
7
- exports.factory = (provider) => {
7
+ const factory = (provider) => {
8
8
  return (...args) => {
9
9
  const attributes = provider(...args);
10
10
  return {
@@ -13,6 +13,7 @@ exports.factory = (provider) => {
13
13
  };
14
14
  };
15
15
  };
16
+ exports.factory = factory;
16
17
  const noop = () => { };
17
18
  var Appearance;
18
19
  (function (Appearance) {
@@ -40,7 +41,7 @@ class Api {
40
41
  this.setWidth = (width) => {
41
42
  // Runtime checking for 'non-ts' usage
42
43
  if (!(width in Width)) {
43
- clientside_extensions_debug_1.onDebug(({ error }) => ({
44
+ (0, clientside_extensions_debug_1.onDebug)(({ error }) => ({
44
45
  level: error,
45
46
  message: `Invalid value specified as "width" of modal. Please make sure to use one of the supported values.`,
46
47
  meta: {
@@ -56,7 +57,7 @@ class Api {
56
57
  this.setAppearance = (appearance) => {
57
58
  // Runtime checking for 'non-ts' usage
58
59
  if (!(appearance in Appearance)) {
59
- clientside_extensions_debug_1.onDebug(({ error }) => ({
60
+ (0, clientside_extensions_debug_1.onDebug)(({ error }) => ({
60
61
  level: error,
61
62
  message: `Invalid value specified as "appearance" of modal. Please make sure to use one of the supported values.`,
62
63
  meta: {
@@ -70,17 +71,17 @@ class Api {
70
71
  return this;
71
72
  };
72
73
  this.onMount = (callback) => {
73
- this.renderCallback = AbstractExtension_1.safeguard('onMount', callback);
74
+ this.renderCallback = (0, AbstractExtension_1.safeguard)('onMount', callback);
74
75
  return this;
75
76
  };
76
77
  this.onUnmount = (callback) => {
77
- this.cleanupCallback = AbstractExtension_1.safeguard('onUnmount', callback);
78
+ this.cleanupCallback = (0, AbstractExtension_1.safeguard)('onUnmount', callback);
78
79
  return this;
79
80
  };
80
81
  this.closeModal = () => {
81
82
  this.closeModalFn();
82
83
  };
83
- this.closeModalFn = AbstractExtension_1.safeguard('onClose', closeModalFn);
84
+ this.closeModalFn = (0, AbstractExtension_1.safeguard)('onClose', closeModalFn);
84
85
  this.setActions = (actions) => {
85
86
  setActions(Api.filterActionProps(actions));
86
87
  return this;
@@ -102,7 +103,7 @@ class Api {
102
103
  return this.cleanupCallback;
103
104
  }
104
105
  onClose(callback) {
105
- this.onCloseCallback = AbstractExtension_1.safeguard('onClose', callback);
106
+ this.onCloseCallback = (0, AbstractExtension_1.safeguard)('onClose', callback);
106
107
  return this;
107
108
  }
108
109
  getOnCloseCallback() {
@@ -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 { 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"]}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.factory = void 0;
4
4
  const extension_type_1 = require("./extension-type");
5
- exports.factory = (renderCallback) => {
5
+ const factory = (renderCallback) => {
6
6
  return () => ({
7
7
  type: extension_type_1.ExtensionType.page,
8
8
  onAction: (node, data) => {
@@ -10,4 +10,5 @@ exports.factory = (renderCallback) => {
10
10
  },
11
11
  });
12
12
  };
13
+ exports.factory = factory;
13
14
  //# sourceMappingURL=PageExtension.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PageExtension.js","sourceRoot":"","sources":["../../lib/PageExtension.ts"],"names":[],"mappings":";;;AAEA,qDAAiD;AAWpC,QAAA,OAAO,GAAG,CAAgB,cAA6C,EAAyC,EAAE;IAC3H,OAAO,GAAG,EAAE,CAAC,CAAC;QACV,IAAI,EAAE,8BAAa,CAAC,IAAI;QACxB,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;YACrB,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/B,CAAC;KACJ,CAAC,CAAC;AACP,CAAC,CAAC","sourcesContent":["import type { DataProviderPayload, ExtensionAttributes } from '@atlassian/clientside-extensions-registry';\n\nimport { ExtensionType } from './extension-type';\n\ntype RenderCallback<DataProviderT> = (node: HTMLElement, data: DataProviderPayload<DataProviderT>) => void;\n\nexport interface PageAttributes<DataProviderT> extends ExtensionAttributes {\n onAction: RenderCallback<DataProviderT>;\n type: ExtensionType.page;\n}\n\nexport type PageAttributesProvider<DataProviderT = unknown> = () => PageAttributes<DataProviderT>;\n\nexport const factory = <DataProviderT>(renderCallback: RenderCallback<DataProviderT>): PageAttributesProvider<DataProviderT> => {\n return () => ({\n type: ExtensionType.page,\n onAction: (node, data) => {\n renderCallback(node, data);\n },\n });\n};\n"]}
1
+ {"version":3,"file":"PageExtension.js","sourceRoot":"","sources":["../../lib/PageExtension.ts"],"names":[],"mappings":";;;AAEA,qDAAiD;AAW1C,MAAM,OAAO,GAAG,CAAgB,cAA6C,EAAyC,EAAE;IAC3H,OAAO,GAAG,EAAE,CAAC,CAAC;QACV,IAAI,EAAE,8BAAa,CAAC,IAAI;QACxB,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;YACrB,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/B,CAAC;KACJ,CAAC,CAAC;AACP,CAAC,CAAC;AAPW,QAAA,OAAO,WAOlB","sourcesContent":["import type { DataProviderPayload, ExtensionAttributes } from '@atlassian/clientside-extensions-registry';\n\nimport { ExtensionType } from './extension-type';\n\ntype RenderCallback<DataProviderT> = (node: HTMLElement, data: DataProviderPayload<DataProviderT>) => void;\n\nexport interface PageAttributes<DataProviderT> extends ExtensionAttributes {\n onAction: RenderCallback<DataProviderT>;\n type: ExtensionType.page;\n}\n\nexport type PageAttributesProvider<DataProviderT = unknown> = () => PageAttributes<DataProviderT>;\n\nexport const factory = <DataProviderT>(renderCallback: RenderCallback<DataProviderT>): PageAttributesProvider<DataProviderT> => {\n return () => ({\n type: ExtensionType.page,\n onAction: (node, data) => {\n renderCallback(node, data);\n },\n });\n};\n"]}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Api = exports.factory = void 0;
4
4
  const extension_type_1 = require("./extension-type");
5
5
  const AbstractExtension_1 = require("./AbstractExtension");
6
- exports.factory = (provider) => {
6
+ const factory = (provider) => {
7
7
  return (...args) => {
8
8
  return {
9
9
  ...provider(...args),
@@ -11,6 +11,7 @@ exports.factory = (provider) => {
11
11
  };
12
12
  };
13
13
  };
14
+ exports.factory = factory;
14
15
  const noop = () => { };
15
16
  class Api {
16
17
  constructor() {
@@ -18,11 +19,11 @@ class Api {
18
19
  this.cleanupCallback = noop;
19
20
  }
20
21
  onMount(callback) {
21
- this.renderCallback = AbstractExtension_1.safeguard('onMount', callback);
22
+ this.renderCallback = (0, AbstractExtension_1.safeguard)('onMount', callback);
22
23
  return this;
23
24
  }
24
25
  onUnmount(callback) {
25
- this.cleanupCallback = AbstractExtension_1.safeguard('onUnmount', callback);
26
+ this.cleanupCallback = (0, AbstractExtension_1.safeguard)('onUnmount', callback);
26
27
  return this;
27
28
  }
28
29
  getRenderCallback() {
@@ -1 +1 @@
1
- {"version":3,"file":"PanelExtension.js","sourceRoot":"","sources":["../../lib/PanelExtension.ts"],"names":[],"mappings":";;;AAEA,qDAAiD;AAEjD,2DAAgD;AAWnC,QAAA,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;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,6BAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAErD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,SAAS,CAAC,QAA2B;QACxC,IAAI,CAAC,eAAe,GAAG,6BAAS,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;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,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"]}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.factory = void 0;
4
4
  const extension_type_1 = require("./extension-type");
5
- exports.factory = (provider) => {
5
+ const factory = (provider) => {
6
6
  return (...args) => {
7
7
  return {
8
8
  ...provider(...args),
@@ -10,4 +10,5 @@ exports.factory = (provider) => {
10
10
  };
11
11
  };
12
12
  };
13
+ exports.factory = factory;
13
14
  //# sourceMappingURL=SectionExtension.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SectionExtension.js","sourceRoot":"","sources":["../../lib/SectionExtension.ts"],"names":[],"mappings":";;;AAEA,qDAAiD;AAQpC,QAAA,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","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,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"]}
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 = tslib_1.__importStar(require("./AsyncPanelExtension"));
5
+ const AsyncPanelExtension = (0, tslib_1.__importStar)(require("./AsyncPanelExtension"));
6
6
  exports.AsyncPanelExtension = AsyncPanelExtension;
7
- const ButtonExtension = tslib_1.__importStar(require("./ButtonExtension"));
7
+ const ButtonExtension = (0, tslib_1.__importStar)(require("./ButtonExtension"));
8
8
  exports.ButtonExtension = ButtonExtension;
9
- const LinkExtension = tslib_1.__importStar(require("./LinkExtension"));
9
+ const LinkExtension = (0, tslib_1.__importStar)(require("./LinkExtension"));
10
10
  exports.LinkExtension = LinkExtension;
11
- const ModalExtension = tslib_1.__importStar(require("./ModalExtension"));
11
+ const ModalExtension = (0, tslib_1.__importStar)(require("./ModalExtension"));
12
12
  exports.ModalExtension = ModalExtension;
13
- const PanelExtension = tslib_1.__importStar(require("./PanelExtension"));
13
+ const PanelExtension = (0, tslib_1.__importStar)(require("./PanelExtension"));
14
14
  exports.PanelExtension = PanelExtension;
15
- const SectionExtension = tslib_1.__importStar(require("./SectionExtension"));
15
+ const SectionExtension = (0, tslib_1.__importStar)(require("./SectionExtension"));
16
16
  exports.SectionExtension = SectionExtension;
17
- const PageExtension = tslib_1.__importStar(require("./PageExtension"));
17
+ const PageExtension = (0, 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,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
+ {"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"]}
@@ -13,6 +13,6 @@ export interface AsyncPanelAttributesWithContext extends AsyncPanelAttributes {
13
13
  contextProvider: () => Context<{}>;
14
14
  }
15
15
  export declare type AsyncPanelAttributesProviderWithContext<ContextT> = ExtensionAttributesProvider<AsyncPanelAttributesWithContext, ContextT>;
16
- export declare const factory: <ContextT>(provider: ExtensionAttributesProvider<AsyncPanelAttributes, ContextT>) => ExtensionAttributesProvider<AsyncPanelAttributesWithContext, ContextT>;
16
+ export declare const factory: <ContextT>(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,6JAWnB,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,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"}
@@ -6,5 +6,5 @@ export interface ButtonAttributes extends ExtensionAttributes {
6
6
  type?: ExtensionType.button;
7
7
  }
8
8
  export declare type ButtonAttributesProvider<ContextT> = ExtensionAttributesProvider<ButtonAttributes, ContextT>;
9
- export declare const factory: <ContextT>(provider: ExtensionAttributesProvider<ButtonAttributes, ContextT>) => ExtensionAttributesProvider<ButtonAttributes, ContextT>;
9
+ export declare const factory: <ContextT>(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,0IAOnB,CAAC"}
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"}
@@ -7,5 +7,5 @@ export interface LinkAttributes extends ExtensionAttributes {
7
7
  type?: ExtensionType.link;
8
8
  }
9
9
  export declare type LinkAttributesProvider<ContextT> = ExtensionAttributesProvider<LinkAttributes, ContextT>;
10
- export declare const factory: <ContextT>(provider: ExtensionAttributesProvider<LinkAttributes, ContextT>) => ExtensionAttributesProvider<LinkAttributes, ContextT>;
10
+ export declare const factory: <ContextT>(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,sIAOnB,CAAC"}
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"}
@@ -20,7 +20,7 @@ export interface ModalAttributes extends ExtensionAttributes {
20
20
  type?: ExtensionType.modal;
21
21
  }
22
22
  export declare type ModalAttributesProvider<ContextT> = ExtensionAttributesProvider<ModalAttributes, ContextT>;
23
- export declare const factory: <ContextT>(provider: ExtensionAttributesProvider<ModalAttributes, ContextT>) => ExtensionAttributesProvider<ModalAttributes, ContextT>;
23
+ export declare const factory: <ContextT>(provider: ModalAttributesProvider<ContextT>) => ModalAttributesProvider<ContextT>;
24
24
  export declare enum Appearance {
25
25
  'danger' = "danger",
26
26
  'warning' = "warning"
@@ -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,wIAQnB,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,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"}
@@ -7,7 +7,7 @@ export interface PanelAttributes extends ExtensionAttributes {
7
7
  type?: ExtensionType.panel;
8
8
  }
9
9
  export declare type PanelAttributesProvider<ContextT> = ExtensionAttributesProvider<PanelAttributes, ContextT>;
10
- export declare const factory: <ContextT>(provider: ExtensionAttributesProvider<PanelAttributes, ContextT>) => ExtensionAttributesProvider<PanelAttributes, ContextT>;
10
+ export declare const factory: <ContextT>(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,wIAOnB,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,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"}
@@ -4,5 +4,5 @@ export interface SectionAttributes extends ExtensionAttributes {
4
4
  type?: ExtensionType.section;
5
5
  }
6
6
  export declare type SectionAttributesProvider<ContextT> = ExtensionAttributesProvider<SectionAttributes, ContextT>;
7
- export declare const factory: <ContextT>(provider: ExtensionAttributesProvider<SectionAttributes, ContextT>) => ExtensionAttributesProvider<SectionAttributes, ContextT>;
7
+ export declare const factory: <ContextT>(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,4IAOnB,CAAC"}
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlassian/clientside-extensions",
3
- "version": "2.4.1",
3
+ "version": "2.5.0-84fa90d-kwd5ix2w",
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",
@@ -60,20 +60,21 @@
60
60
  "build": "yarn build:esm && yarn build:cjs",
61
61
  "build:esm": "tsc -p tsconfig.json",
62
62
  "build:cjs": "tsc -p tsconfig.cjs.json",
63
+ "verify": "tsc --noEmit -p tsconfig.all.json",
63
64
  "watch": "tsc --watch",
64
65
  "test": "jest",
65
66
  "test:watch": "jest --watch"
66
67
  },
67
68
  "dependencies": {
68
- "@atlassian/clientside-extensions-debug": "^2.4.1",
69
- "@atlassian/clientside-extensions-registry": "^2.4.1",
69
+ "@atlassian/clientside-extensions-debug": "^2.5.0-84fa90d-kwd5ix2w",
70
+ "@atlassian/clientside-extensions-registry": "^2.5.0-84fa90d-kwd5ix2w",
70
71
  "tslib": "^2.2.0"
71
72
  },
72
73
  "devDependencies": {
73
- "@types/react": "16.14.16"
74
+ "@types/react": "16.14.21"
74
75
  },
75
76
  "engines": {
76
77
  "node": ">=12.19.0"
77
78
  },
78
- "gitHead": "4c98bad371a4fff8afcef318bb67ed86727fb877"
79
+ "gitHead": "84fa90d805babbfd94e536dcc1bb4facd1dc4f59"
79
80
  }
@@ -1,121 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const clientside_extensions_debug_1 = require("@atlassian/clientside-extensions-debug");
5
- const AsyncPanelExtension = tslib_1.__importStar(require("./AsyncPanelExtension"));
6
- jest.mock('@atlassian/clientside-extensions-debug');
7
- describe('AsyncPanelExtension', () => {
8
- // @ts-expect-error - invalid values for contextProvider and type. Factory should overwrite them.
9
- const testAttributesProvider = (api, context) => {
10
- api.onCleanup(jest.fn());
11
- api.updateAttributes({});
12
- return {
13
- type: 'not-valid',
14
- contextProvider: 'not-valid-context-provider',
15
- label: context.value === 42 ? 'The meaning of life' : 'A label',
16
- onAction: jest.fn(),
17
- };
18
- };
19
- const testAPI = {
20
- onCleanup: jest.fn(),
21
- updateAttributes: jest.fn(),
22
- };
23
- it('should generate the extension descriptor with the correct type and contextProvider', () => {
24
- const extensionProvider = AsyncPanelExtension.factory(testAttributesProvider);
25
- const extension = extensionProvider(testAPI, {});
26
- // expect all attributes to be merged, type and contextProvider to be overwritten with the correct values.
27
- expect(extension).toEqual({
28
- type: 'async-panel',
29
- label: 'A label',
30
- onAction: expect.any(Function),
31
- contextProvider: expect.any(Function),
32
- });
33
- });
34
- it('should provide a extensionAPI object to the extension provider', () => {
35
- expect(testAPI.onCleanup).toHaveBeenCalledTimes(0);
36
- expect(testAPI.updateAttributes).toHaveBeenCalledTimes(0);
37
- const extensionProvider = AsyncPanelExtension.factory(testAttributesProvider);
38
- extensionProvider(testAPI, {});
39
- expect(testAPI.onCleanup).toHaveBeenCalledTimes(1);
40
- expect(testAPI.updateAttributes).toHaveBeenCalledTimes(1);
41
- });
42
- it('should share any provided context with the attributes provider', () => {
43
- const extensionProvider = AsyncPanelExtension.factory(testAttributesProvider);
44
- const extension = extensionProvider(testAPI, { value: 42 });
45
- // expect label to change because of context
46
- expect(extension).toEqual({
47
- type: 'async-panel',
48
- label: 'The meaning of life',
49
- onAction: expect.any(Function),
50
- contextProvider: expect.any(Function),
51
- });
52
- });
53
- it('should add a contextProvider method to retreive the shared context', () => {
54
- const extensionProvider = AsyncPanelExtension.factory(testAttributesProvider);
55
- const testContext = { value: 42 };
56
- const extension = extensionProvider(testAPI, testContext);
57
- expect(extension.contextProvider()).toBe(testContext);
58
- });
59
- describe('API', () => {
60
- let api;
61
- const el = document.createElement('div');
62
- beforeEach(() => {
63
- api = new AsyncPanelExtension.Api();
64
- });
65
- it('#onMount callback used in getRenderCallback', () => {
66
- const cb = jest.fn();
67
- api.onMount(cb);
68
- api.getRenderCallback()(el);
69
- expect(cb).toHaveBeenCalledTimes(1);
70
- });
71
- it('#onMount does nothing if not set', () => {
72
- expect(() => {
73
- api.getRenderCallback()(el);
74
- }).not.toThrow();
75
- });
76
- it('#onMount does nothing if callback is not function', () => {
77
- // @ts-expect-error checking that non-TS consumers don't shoot themselves (or others) in the foot
78
- api.onMount(null);
79
- expect(() => {
80
- api.getRenderCallback()(el);
81
- }).not.toThrow();
82
- });
83
- it('#onMount fails gracefully if callback throws error', () => {
84
- api.onMount(() => {
85
- throw Error('whoops');
86
- });
87
- expect(() => {
88
- api.getRenderCallback()(el);
89
- }).not.toThrow();
90
- });
91
- it('#onUnmount callback used in getCleanupCallback', () => {
92
- const cb = jest.fn();
93
- api.onUnmount(cb);
94
- api.getCleanupCallback()(el);
95
- expect(cb).toHaveBeenCalledTimes(1);
96
- });
97
- it('#onUnmount does nothing if not set', () => {
98
- expect(() => {
99
- api.getCleanupCallback()(el);
100
- }).not.toThrow();
101
- });
102
- it('#onUnmount does nothing if callback is not function', () => {
103
- // @ts-expect-error checking that non-TS consumers don't shoot themselves (or others) in the foot
104
- api.onUnmount(null);
105
- expect(() => {
106
- api.getCleanupCallback()(el);
107
- }).not.toThrow();
108
- expect(clientside_extensions_debug_1.onDebug).toHaveBeenCalledTimes(1);
109
- });
110
- it('#onUnmount fails gracefully if callback throws error', () => {
111
- api.onUnmount(() => {
112
- throw Error('whoops');
113
- });
114
- expect(() => {
115
- api.getCleanupCallback()(el);
116
- }).not.toThrow();
117
- expect(clientside_extensions_debug_1.onDebug).toHaveBeenCalledTimes(1);
118
- });
119
- });
120
- });
121
- //# sourceMappingURL=AsyncPanelExtension.test.js.map