@foxy.io/elements 1.39.0-beta.1 → 1.39.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- import"./shared-3661a086.js";import"./foxy-nucleon-element.js";import"./shared-4d32d19e.js";import{_ as e}from"./shared-cb58dfcd.js";import{a as s}from"./shared-11351c00.js";import{g as t}from"./shared-bab2ea2c.js";import{I as r}from"./shared-f1a70f51.js";import{i as a}from"./shared-53e42a77.js";import{c as o}from"./shared-4e709717.js";import{h as i}from"./shared-ba5c42c7.js";import"./foxy-spinner.js";import"./shared-37348820.js";import"./shared-21e68b72.js";import"./shared-c18f681b.js";import"./shared-2aa23b5f.js";import"./shared-343d1fd7.js";import"./shared-f83207fb.js";import"./shared-5592ec6e.js";import"./shared-cd96ff03.js";import"./shared-5e4a03d1.js";import"./shared-7594e563.js";import"./shared-0aedd809.js";import"./shared-5ef40e86.js";let d,n,c=e=>e;class l extends(s(r,"webhook-card")){constructor(){super(...arguments),this.resourceUri=null}static get properties(){return e(e({},super.properties),{},{resourceUri:{attribute:"resource-uri"}})}get isBodyReady(){var e;return!!(null===(e=this.__statusesLoader)||void 0===e?void 0:e.data)&&super.isBodyReady}renderBody(){var e,s,r,l,u,h,p,m,f,v;const j=t(null!==(e=this.resourceUri)&&void 0!==e?e:"");let x=null===(s=this.data)||void 0===s?void 0:s._links["fx:statuses"].href;if(null!==j)try{const e=new URL(null!=x?x:"");e.searchParams.set("resource_id",String(j)),e.searchParams.set("order","date_created desc"),e.searchParams.set("limit","1"),x=e.toString()}catch(e){}const y=null===(r=this.data)||void 0===r?void 0:r.is_active,b=null===(u=null===(l=this.__statusesLoader)||void 0===l?void 0:l.data)||void 0===u?void 0:u._embedded["fx:webhook_statuses"],_=y?b?null!==(h=null==b?void 0:b[0].status)&&void 0!==h?h:"none":"loading":"inactive",g="failed"===_,$="successful"===_;return i(d||(d=c` <div class="grid grid-cols-1 leading-s -my-xs"> <p class="flex items-center gap-s justify-between"> <span class="text-m truncate text-body font-medium"> ${0}&ZeroWidthSpace; </span> <foxy-i18n class="${0}" infer="" key="status_${0}"> </foxy-i18n> </p> <p class="text-s truncate text-secondary">${0}&ZeroWidthSpace;</p> ${0} </div> <foxy-nucleon class="hidden" infer="" href="${0}" id="statusesLoader" @update="${0}"> </foxy-nucleon> `),null===(p=this.data)||void 0===p?void 0:p.name,o({"text-tertiary":!$&&!g,"text-success":$,"text-error":g,"text-s":!0}),_,null===(m=this.data)||void 0===m?void 0:m.url,null===this.resourceUri?i(n||(n=c` <p class="text-s truncate text-tertiary"> ${0} &bull; ${0}&ZeroWidthSpace; </p> `),null===(f=this.data)||void 0===f?void 0:f.format,null===(v=this.data)||void 0===v?void 0:v.event_resource):"",a(x),(()=>this.requestUpdate()))}get __statusesLoader(){return this.renderRoot.querySelector("#statusesLoader")}}customElements.define("foxy-webhook-card",l);export{l as WebhookCard};
1
+ import"./shared-3661a086.js";import"./foxy-nucleon-element.js";import"./shared-4d32d19e.js";import{_ as e}from"./shared-cb58dfcd.js";import{a as s}from"./shared-11351c00.js";import{g as t}from"./shared-bab2ea2c.js";import{I as r}from"./shared-f1a70f51.js";import{i as a}from"./shared-53e42a77.js";import{c as o}from"./shared-4e709717.js";import{h as i}from"./shared-ba5c42c7.js";import"./foxy-spinner.js";import"./shared-37348820.js";import"./shared-21e68b72.js";import"./shared-c18f681b.js";import"./shared-2aa23b5f.js";import"./shared-343d1fd7.js";import"./shared-f83207fb.js";import"./shared-5592ec6e.js";import"./shared-cd96ff03.js";import"./shared-5e4a03d1.js";import"./shared-7594e563.js";import"./shared-0aedd809.js";import"./shared-5ef40e86.js";let d,n,c=e=>e;class l extends(s(r,"webhook-card")){constructor(){super(...arguments),this.resourceUri=null}static get properties(){return e(e({},super.properties),{},{resourceUri:{attribute:"resource-uri"}})}get isBodyReady(){var e;return!!(null===(e=this.__statusesLoader)||void 0===e?void 0:e.data)&&super.isBodyReady}renderBody(){var e,s,r,l,u,p,h,m,f,v;let x;try{const a=new URL(null!==(s=null===(e=this.data)||void 0===e?void 0:e._links["fx:statuses"].href)&&void 0!==s?s:"");a.searchParams.set("order","date_created desc"),a.searchParams.set("limit","1");const o=t(null!==(r=this.resourceUri)&&void 0!==r?r:"");null!==o&&a.searchParams.set("resource_id",String(o)),x=a.toString()}catch(e){x=void 0}const j=null===(u=null===(l=this.__statusesLoader)||void 0===l?void 0:l.data)||void 0===u?void 0:u._embedded["fx:webhook_statuses"],y=null==j?void 0:j[0],_=j?null!==(p=null==y?void 0:y.status)&&void 0!==p?p:"none":"loading",b=!!(null===(h=this.data)||void 0===h?void 0:h.is_active);return i(d||(d=c` <div class="grid grid-cols-1 leading-s -my-xs"> <p class="flex items-center gap-s justify-between"> <span class="text-m truncate text-body font-medium"> ${0}&ZeroWidthSpace; </span> <span class="text-s text-tertiary"> <foxy-i18n class="${0}" infer="" key="is_active_${0}"> </foxy-i18n> </span> </p> <p class="text-s truncate text-secondary">${0}&ZeroWidthSpace;</p> <p class="text-s truncate text-tertiary"> ${0} <foxy-i18n class="${0}" infer="" key="status_${0}" .options="${0}"> </foxy-i18n> </p> </div> <foxy-nucleon class="hidden" infer="" href="${0}" id="statusesLoader" @update="${0}"> </foxy-nucleon> `),null===(m=this.data)||void 0===m?void 0:m.name,o({"text-success":b}),b,null===(f=this.data)||void 0===f?void 0:f.url,this.resourceUri?"":i(n||(n=c`<span class="capitalize">${0}</span> &bull;`),null===(v=this.data)||void 0===v?void 0:v.event_resource),o({"text-error":b&&"failed"===_}),_,y,a(x),(()=>this.requestUpdate()))}get __statusesLoader(){return this.renderRoot.querySelector("#statusesLoader")}}customElements.define("foxy-webhook-card",l);export{l as WebhookCard};
@@ -1084,6 +1084,7 @@
1084
1084
  "pagination": "{{from}}-{{to}} out of {{total}}",
1085
1085
  "previous": "Previous",
1086
1086
  "card": {
1087
+ "status_initializing": "Initializing",
1087
1088
  "status_successful": "Successful",
1088
1089
  "status_pending": "Pending",
1089
1090
  "status_failed": "Failed",
@@ -1134,10 +1135,14 @@
1134
1135
  "pagination": "{{from}}-{{to}} out of {{total}}",
1135
1136
  "previous": "Previous",
1136
1137
  "card": {
1137
- "status_successful": "OK",
1138
- "status_pending": "Pending",
1139
- "status_failed": "Failed",
1138
+ "status_initializing": "Last run: {{ date_created, date }} at {{ date_created, time }} • Initializing",
1139
+ "status_successful": "Last run: {{ date_created, date }} at {{ date_created, time }} • Successful",
1140
+ "status_loading": "Loading...",
1141
+ "status_pending": "Last run: {{ date_created, date }} at {{ date_created, time }} • Pending",
1142
+ "status_failed": "Last run: {{ date_created, date }} at {{ date_created, time }} • Failed",
1140
1143
  "status_none": "No runs yet",
1144
+ "is_active_false": "Inactive",
1145
+ "is_active_true": "Active",
1141
1146
  "spinner": {
1142
1147
  "loading_busy": "Loading",
1143
1148
  "loading_empty": "No webhooks",
@@ -792,6 +792,7 @@
792
792
  "pagination": "{{from}}-{{to}} out of {{total}}",
793
793
  "previous": "Previous",
794
794
  "card": {
795
+ "status_initializing": "Initializing",
795
796
  "status_successful": "Successful",
796
797
  "status_pending": "Pending",
797
798
  "status_failed": "Failed",
@@ -842,12 +843,14 @@
842
843
  "pagination": "{{from}}-{{to}} out of {{total}}",
843
844
  "previous": "Previous",
844
845
  "card": {
845
- "status_successful": "OK",
846
- "status_inactive": "Inactive",
847
- "status_loading": "Loading",
848
- "status_pending": "Pending",
849
- "status_failed": "Failed",
846
+ "status_initializing": "Last run: {{ date_created, date }} at {{ date_created, time }} • Initializing",
847
+ "status_successful": "Last run: {{ date_created, date }} at {{ date_created, time }} • Successful",
848
+ "status_loading": "Loading...",
849
+ "status_pending": "Last run: {{ date_created, date }} at {{ date_created, time }} • Pending",
850
+ "status_failed": "Last run: {{ date_created, date }} at {{ date_created, time }} • Failed",
850
851
  "status_none": "No runs yet",
852
+ "is_active_false": "Inactive",
853
+ "is_active_true": "Active",
851
854
  "spinner": {
852
855
  "loading_busy": "Loading",
853
856
  "loading_error": "Unknown error",
@@ -1,10 +1,12 @@
1
1
  {
2
- "status_successful": "OK",
3
- "status_inactive": "Inactive",
4
- "status_loading": "Loading",
5
- "status_pending": "Pending",
6
- "status_failed": "Failed",
2
+ "status_initializing": "Last run: {{ date_created, date }} at {{ date_created, time }} • Initializing",
3
+ "status_successful": "Last run: {{ date_created, date }} at {{ date_created, time }} • Successful",
4
+ "status_loading": "Loading...",
5
+ "status_pending": "Last run: {{ date_created, date }} at {{ date_created, time }} • Pending",
6
+ "status_failed": "Last run: {{ date_created, date }} at {{ date_created, time }} • Failed",
7
7
  "status_none": "No runs yet",
8
+ "is_active_false": "Inactive",
9
+ "is_active_true": "Active",
8
10
  "spinner": {
9
11
  "loading_busy": "Loading",
10
12
  "loading_error": "Unknown error",
@@ -82,6 +82,7 @@
82
82
  "pagination": "{{from}}-{{to}} out of {{total}}",
83
83
  "previous": "Previous",
84
84
  "card": {
85
+ "status_initializing": "Initializing",
85
86
  "status_successful": "Successful",
86
87
  "status_pending": "Pending",
87
88
  "status_failed": "Failed",
@@ -1,4 +1,5 @@
1
1
  {
2
+ "status_initializing": "Initializing",
2
3
  "status_successful": "Successful",
3
4
  "status_pending": "Pending",
4
5
  "status_failed": "Failed",
@@ -31,53 +31,53 @@ export class WebhookCard extends TranslatableMixin(InternalCard, 'webhook-card')
31
31
  }
32
32
  renderBody() {
33
33
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
34
- const resourceId = getResourceId((_a = this.resourceUri) !== null && _a !== void 0 ? _a : '');
35
- let statusesLink = (_b = this.data) === null || _b === void 0 ? void 0 : _b._links['fx:statuses'].href;
36
- if (resourceId !== null) {
37
- try {
38
- const url = new URL(statusesLink !== null && statusesLink !== void 0 ? statusesLink : '');
34
+ let statusesLink;
35
+ try {
36
+ const url = new URL((_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a._links['fx:statuses'].href) !== null && _b !== void 0 ? _b : '');
37
+ url.searchParams.set('order', 'date_created desc');
38
+ url.searchParams.set('limit', '1');
39
+ const resourceId = getResourceId((_c = this.resourceUri) !== null && _c !== void 0 ? _c : '');
40
+ if (resourceId !== null)
39
41
  url.searchParams.set('resource_id', String(resourceId));
40
- url.searchParams.set('order', 'date_created desc');
41
- url.searchParams.set('limit', '1');
42
- statusesLink = url.toString();
43
- }
44
- catch (_l) {
45
- // ignore
46
- }
42
+ statusesLink = url.toString();
47
43
  }
48
- const isActive = (_c = this.data) === null || _c === void 0 ? void 0 : _c.is_active;
49
- const statuses = (_e = (_d = this.__statusesLoader) === null || _d === void 0 ? void 0 : _d.data) === null || _e === void 0 ? void 0 : _e._embedded['fx:webhook_statuses'];
50
- const status = isActive ? (statuses ? (_f = statuses === null || statuses === void 0 ? void 0 : statuses[0].status) !== null && _f !== void 0 ? _f : 'none' : 'loading') : 'inactive';
51
- const isFailed = status === 'failed';
52
- const isSuccessful = status === 'successful';
44
+ catch (_l) {
45
+ statusesLink = undefined;
46
+ }
47
+ const recentStatuses = (_e = (_d = this.__statusesLoader) === null || _d === void 0 ? void 0 : _d.data) === null || _e === void 0 ? void 0 : _e._embedded['fx:webhook_statuses'];
48
+ const lastStatus = recentStatuses === null || recentStatuses === void 0 ? void 0 : recentStatuses[0];
49
+ const cardStatus = recentStatuses ? (_f = lastStatus === null || lastStatus === void 0 ? void 0 : lastStatus.status) !== null && _f !== void 0 ? _f : 'none' : 'loading';
50
+ const isActive = !!((_g = this.data) === null || _g === void 0 ? void 0 : _g.is_active);
53
51
  return html `
54
52
  <div class="grid grid-cols-1 leading-s -my-xs">
55
53
  <p class="flex items-center gap-s justify-between">
56
54
  <span class="text-m truncate text-body font-medium">
57
- ${(_g = this.data) === null || _g === void 0 ? void 0 : _g.name}&ZeroWidthSpace;
55
+ ${(_h = this.data) === null || _h === void 0 ? void 0 : _h.name}&ZeroWidthSpace;
56
+ </span>
57
+ <span class="text-s text-tertiary">
58
+ <foxy-i18n
59
+ class=${classMap({ 'text-success': isActive })}
60
+ infer=""
61
+ key="is_active_${isActive}"
62
+ >
63
+ </foxy-i18n>
58
64
  </span>
65
+ </p>
66
+
67
+ <p class="text-s truncate text-secondary">${(_j = this.data) === null || _j === void 0 ? void 0 : _j.url}&ZeroWidthSpace;</p>
68
+
69
+ <p class="text-s truncate text-tertiary">
70
+ ${this.resourceUri
71
+ ? ''
72
+ : html `<span class="capitalize">${(_k = this.data) === null || _k === void 0 ? void 0 : _k.event_resource}</span> &bull;`}
59
73
  <foxy-i18n
60
- class=${classMap({
61
- 'text-tertiary': !isSuccessful && !isFailed,
62
- 'text-success': isSuccessful,
63
- 'text-error': isFailed,
64
- 'text-s': true,
65
- })}
74
+ class=${classMap({ 'text-error': isActive && cardStatus === 'failed' })}
66
75
  infer=""
67
- key="status_${status}"
76
+ key="status_${cardStatus}"
77
+ .options=${lastStatus}
68
78
  >
69
79
  </foxy-i18n>
70
80
  </p>
71
-
72
- <p class="text-s truncate text-secondary">${(_h = this.data) === null || _h === void 0 ? void 0 : _h.url}&ZeroWidthSpace;</p>
73
-
74
- ${this.resourceUri === null
75
- ? html `
76
- <p class="text-s truncate text-tertiary">
77
- ${(_j = this.data) === null || _j === void 0 ? void 0 : _j.format} &bull; ${(_k = this.data) === null || _k === void 0 ? void 0 : _k.event_resource}&ZeroWidthSpace;
78
- </p>
79
- `
80
- : ''}
81
81
  </div>
82
82
 
83
83
  <foxy-nucleon
@@ -1 +1 @@
1
- {"version":3,"file":"WebhookCard.js","sourceRoot":"","sources":["../../../../src/elements/public/WebhookCard/WebhookCard.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,oDAAiD;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,oCAAiC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC;;;;;GAKG;AACH,MAAM,OAAO,WAAY,SAAQ,iBAAiB,CAAC,YAAY,EAAE,cAAc,CAAO;IAAtF;;QAQE;;;WAGG;QACH,gBAAW,GAAkB,IAAI,CAAC;IA2EpC,CAAC;IAtFC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,WAAW,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE;SAC3C,CAAC;IACJ,CAAC;IAQD,IAAI,WAAW;;QACb,OAAO,CAAC,QAAC,IAAI,CAAC,gBAAgB,0CAAE,IAAI,CAAA,IAAI,KAAK,CAAC,WAAW,CAAC;IAC5D,CAAC;IAED,UAAU;;QACR,MAAM,UAAU,GAAG,aAAa,OAAC,IAAI,CAAC,WAAW,mCAAI,EAAE,CAAC,CAAC;QACzD,IAAI,YAAY,SAAuB,IAAI,CAAC,IAAI,0CAAE,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC;QAE7E,IAAI,UAAU,KAAK,IAAI,EAAE;YACvB,IAAI;gBACF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,EAAE,CAAC,CAAC;gBAExC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;gBACxD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;gBACnD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBAEnC,YAAY,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;aAC/B;YAAC,WAAM;gBACN,SAAS;aACV;SACF;QAED,MAAM,QAAQ,SAAG,IAAI,CAAC,IAAI,0CAAE,SAAS,CAAC;QACtC,MAAM,QAAQ,eAAG,IAAI,CAAC,gBAAgB,0CAAE,IAAI,0CAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAC/E,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,CAAC,EAAE,MAAM,mCAAI,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QAC/F,MAAM,QAAQ,GAAG,MAAM,KAAK,QAAQ,CAAC;QACrC,MAAM,YAAY,GAAG,MAAM,KAAK,YAAY,CAAC;QAE7C,OAAO,IAAI,CAAA;;;;cAID,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI;;;oBAGT,QAAQ,CAAC;YACf,eAAe,EAAE,CAAC,YAAY,IAAI,CAAC,QAAQ;YAC3C,cAAc,EAAE,YAAY;YAC5B,YAAY,EAAE,QAAQ;YACtB,QAAQ,EAAE,IAAI;SACf,CAAC;;0BAEY,MAAM;;;;;oDAKoB,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG;;UAExD,IAAI,CAAC,WAAW,KAAK,IAAI;YACzB,CAAC,CAAC,IAAI,CAAA;;kBAEE,MAAA,IAAI,CAAC,IAAI,0CAAE,MAAM,WAAW,MAAA,IAAI,CAAC,IAAI,0CAAE,cAAc;;aAE1D;YACH,CAAC,CAAC,EAAE;;;;;;eAMC,SAAS,CAAC,YAAY,CAAC;;kBAEpB,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;;;KAGvC,CAAC;IACJ,CAAC;IAED,IAAY,gBAAgB;QAE1B,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAS,iBAAiB,CAAC,CAAC;IAClE,CAAC;CACF","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { getResourceId } from '@foxy.io/sdk/core';\nimport { InternalCard } from '../../internal/InternalCard/InternalCard';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { classMap } from '../../../utils/class-map';\nimport { html } from 'lit-html';\n\n/**\n * Basic card displaying webhook (`fx:webhook`) info.\n *\n * @element foxy-webhook-card\n * @since 1.17.0\n */\nexport class WebhookCard extends TranslatableMixin(InternalCard, 'webhook-card')<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n resourceUri: { attribute: 'resource-uri' },\n };\n }\n\n /**\n * Optional URI of a transaction, customer or subscription. When provided,\n * the form will display logs and statuses for that particular resource only.\n */\n resourceUri: string | null = null;\n\n get isBodyReady(): boolean {\n return !!this.__statusesLoader?.data && super.isBodyReady;\n }\n\n renderBody(): TemplateResult {\n const resourceId = getResourceId(this.resourceUri ?? '');\n let statusesLink: string | undefined = this.data?._links['fx:statuses'].href;\n\n if (resourceId !== null) {\n try {\n const url = new URL(statusesLink ?? '');\n\n url.searchParams.set('resource_id', String(resourceId));\n url.searchParams.set('order', 'date_created desc');\n url.searchParams.set('limit', '1');\n\n statusesLink = url.toString();\n } catch {\n // ignore\n }\n }\n\n const isActive = this.data?.is_active;\n const statuses = this.__statusesLoader?.data?._embedded['fx:webhook_statuses'];\n const status = isActive ? (statuses ? statuses?.[0].status ?? 'none' : 'loading') : 'inactive';\n const isFailed = status === 'failed';\n const isSuccessful = status === 'successful';\n\n return html`\n <div class=\"grid grid-cols-1 leading-s -my-xs\">\n <p class=\"flex items-center gap-s justify-between\">\n <span class=\"text-m truncate text-body font-medium\">\n ${this.data?.name}&ZeroWidthSpace;\n </span>\n <foxy-i18n\n class=${classMap({\n 'text-tertiary': !isSuccessful && !isFailed,\n 'text-success': isSuccessful,\n 'text-error': isFailed,\n 'text-s': true,\n })}\n infer=\"\"\n key=\"status_${status}\"\n >\n </foxy-i18n>\n </p>\n\n <p class=\"text-s truncate text-secondary\">${this.data?.url}&ZeroWidthSpace;</p>\n\n ${this.resourceUri === null\n ? html`\n <p class=\"text-s truncate text-tertiary\">\n ${this.data?.format} &bull; ${this.data?.event_resource}&ZeroWidthSpace;\n </p>\n `\n : ''}\n </div>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(statusesLink)}\n id=\"statusesLoader\"\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `;\n }\n\n private get __statusesLoader() {\n type Loader = NucleonElement<Resource<Rels.WebhookStatuses>>;\n return this.renderRoot.querySelector<Loader>('#statusesLoader');\n }\n}\n"]}
1
+ {"version":3,"file":"WebhookCard.js","sourceRoot":"","sources":["../../../../src/elements/public/WebhookCard/WebhookCard.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,oDAAiD;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,oCAAiC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC;;;;;GAKG;AACH,MAAM,OAAO,WAAY,SAAQ,iBAAiB,CAAC,YAAY,EAAE,cAAc,CAAO;IAAtF;;QAQE;;;WAGG;QACH,gBAAW,GAAkB,IAAI,CAAC;IA0EpC,CAAC;IArFC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,WAAW,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE;SAC3C,CAAC;IACJ,CAAC;IAQD,IAAI,WAAW;;QACb,OAAO,CAAC,QAAC,IAAI,CAAC,gBAAgB,0CAAE,IAAI,CAAA,IAAI,KAAK,CAAC,WAAW,CAAC;IAC5D,CAAC;IAED,UAAU;;QACR,IAAI,YAAgC,CAAC;QAErC,IAAI;YACF,MAAM,GAAG,GAAG,IAAI,GAAG,aAAC,IAAI,CAAC,IAAI,0CAAE,MAAM,CAAC,aAAa,EAAE,IAAI,mCAAI,EAAE,CAAC,CAAC;YACjE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;YACnD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAEnC,MAAM,UAAU,GAAG,aAAa,OAAC,IAAI,CAAC,WAAW,mCAAI,EAAE,CAAC,CAAC;YACzD,IAAI,UAAU,KAAK,IAAI;gBAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;YAEjF,YAAY,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;SAC/B;QAAC,WAAM;YACN,YAAY,GAAG,SAAS,CAAC;SAC1B;QAED,MAAM,cAAc,eAAG,IAAI,CAAC,gBAAgB,0CAAE,IAAI,0CAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;QACrF,MAAM,UAAU,GAAG,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAG,CAAC,CAAC,CAAC;QACvC,MAAM,UAAU,GAAG,cAAc,CAAC,CAAC,OAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,mCAAI,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7E,MAAM,QAAQ,GAAG,CAAC,QAAC,IAAI,CAAC,IAAI,0CAAE,SAAS,CAAA,CAAC;QAExC,OAAO,IAAI,CAAA;;;;cAID,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI;;;;sBAIP,QAAQ,CAAC,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC;;+BAE7B,QAAQ;;;;;;oDAMa,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG;;;YAGtD,IAAI,CAAC,WAAW;YAChB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,IAAI,CAAA,4BAA4B,MAAA,IAAI,CAAC,IAAI,0CAAE,cAAc,gBAAgB;;oBAEnE,QAAQ,CAAC,EAAE,YAAY,EAAE,QAAQ,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;;0BAEzD,UAAU;uBACb,UAAU;;;;;;;;;eASlB,SAAS,CAAC,YAAY,CAAC;;kBAEpB,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;;;KAGvC,CAAC;IACJ,CAAC;IAED,IAAY,gBAAgB;QAE1B,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAS,iBAAiB,CAAC,CAAC;IAClE,CAAC;CACF","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { getResourceId } from '@foxy.io/sdk/core';\nimport { InternalCard } from '../../internal/InternalCard/InternalCard';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { classMap } from '../../../utils/class-map';\nimport { html } from 'lit-html';\n\n/**\n * Basic card displaying webhook (`fx:webhook`) info.\n *\n * @element foxy-webhook-card\n * @since 1.17.0\n */\nexport class WebhookCard extends TranslatableMixin(InternalCard, 'webhook-card')<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n resourceUri: { attribute: 'resource-uri' },\n };\n }\n\n /**\n * Optional URI of a transaction, customer or subscription. When provided,\n * the form will display logs and statuses for that particular resource only.\n */\n resourceUri: string | null = null;\n\n get isBodyReady(): boolean {\n return !!this.__statusesLoader?.data && super.isBodyReady;\n }\n\n renderBody(): TemplateResult {\n let statusesLink: string | undefined;\n\n try {\n const url = new URL(this.data?._links['fx:statuses'].href ?? '');\n url.searchParams.set('order', 'date_created desc');\n url.searchParams.set('limit', '1');\n\n const resourceId = getResourceId(this.resourceUri ?? '');\n if (resourceId !== null) url.searchParams.set('resource_id', String(resourceId));\n\n statusesLink = url.toString();\n } catch {\n statusesLink = undefined;\n }\n\n const recentStatuses = this.__statusesLoader?.data?._embedded['fx:webhook_statuses'];\n const lastStatus = recentStatuses?.[0];\n const cardStatus = recentStatuses ? lastStatus?.status ?? 'none' : 'loading';\n const isActive = !!this.data?.is_active;\n\n return html`\n <div class=\"grid grid-cols-1 leading-s -my-xs\">\n <p class=\"flex items-center gap-s justify-between\">\n <span class=\"text-m truncate text-body font-medium\">\n ${this.data?.name}&ZeroWidthSpace;\n </span>\n <span class=\"text-s text-tertiary\">\n <foxy-i18n\n class=${classMap({ 'text-success': isActive })}\n infer=\"\"\n key=\"is_active_${isActive}\"\n >\n </foxy-i18n>\n </span>\n </p>\n\n <p class=\"text-s truncate text-secondary\">${this.data?.url}&ZeroWidthSpace;</p>\n\n <p class=\"text-s truncate text-tertiary\">\n ${this.resourceUri\n ? ''\n : html`<span class=\"capitalize\">${this.data?.event_resource}</span> &bull;`}\n <foxy-i18n\n class=${classMap({ 'text-error': isActive && cardStatus === 'failed' })}\n infer=\"\"\n key=\"status_${cardStatus}\"\n .options=${lastStatus}\n >\n </foxy-i18n>\n </p>\n </div>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(statusesLink)}\n id=\"statusesLoader\"\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `;\n }\n\n private get __statusesLoader() {\n type Loader = NucleonElement<Resource<Rels.WebhookStatuses>>;\n return this.renderRoot.querySelector<Loader>('#statusesLoader');\n }\n}\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@foxy.io/elements",
3
3
  "type": "module",
4
- "version": "1.39.0-beta.1",
4
+ "version": "1.39.0-beta.3",
5
5
  "description": "E-commerce web components by Foxy.",
6
6
  "repository": {
7
7
  "type": "git",