@mediquo/elements 0.8.0 → 0.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/README.md +61 -5
  2. package/dist/chunks/action-unavailable-message-BIgsXk9u.js +1 -0
  3. package/dist/chunks/api-chat-client-CJ1EGJe3.js +1 -0
  4. package/dist/chunks/api-client-context-V1UAGtKW.js +1 -0
  5. package/dist/chunks/{apple-pay-outcomes-BpcbdGfO.js → apple-pay-outcomes-B1LrUXHR.js} +1 -1
  6. package/dist/chunks/appointment-action-unavailable-dialog-CTiL4nMo.d.ts +54 -0
  7. package/dist/chunks/{appointment-card-skeleton-B7dKtGv0.d.ts → appointment-card-skeleton-C2Sim4nR.d.ts} +5 -3
  8. package/dist/chunks/appointment-card-skeleton-D8gypuKh.js +1 -0
  9. package/dist/chunks/appointment-details-DXLBQnPN.js +1 -0
  10. package/dist/chunks/chunk-6CCJWPGL-TiaqZaPV.js +1 -0
  11. package/dist/chunks/{chunk-BUV4MGML-Bn3JWCAv.js → chunk-BUV4MGML-CkhBbfUu.js} +1 -1
  12. package/dist/chunks/chunk-HN62IQ7S-xbkIy7k_.js +1 -0
  13. package/dist/chunks/chunk-Y4EKUX25-QqMl3eiq.js +1 -0
  14. package/dist/chunks/consume-CovVqBjI.js +1 -0
  15. package/dist/chunks/{chunk-6CCJWPGL-DlOpbEYH.js → context-consumer-ESdICVAb.js} +1 -1
  16. package/dist/chunks/documentation-view-BbMbGneD.js +1 -0
  17. package/dist/chunks/{get-appointment-query-lJe75hGS.js → get-appointment-query-C-gTTuiQ.js} +1 -1
  18. package/dist/chunks/{get-organization-setup-query-DxHNY0w8.js → get-organization-setup-query-Dr1cXnHl.js} +1 -1
  19. package/dist/chunks/{get-patient-documents-query-D1SfC_k_.js → get-patient-documents-query-NC9xCa_N.js} +1 -1
  20. package/dist/chunks/{get-patient-profile-query-DiU2f_QH.js → get-patient-profile-query-4AO6xvVn.js} +1 -1
  21. package/dist/chunks/{get-schedule-services-query-Ckvz9Fqh.js → get-schedule-services-query-Fzvb9ug9.js} +1 -1
  22. package/dist/chunks/index-Bw-MbGKw.js +1 -0
  23. package/dist/chunks/{index-Ca-l41nB.js → index-CXb3gOFA.js} +1 -1
  24. package/dist/chunks/{index-63zQSBy4.js → index-CyteNROM.js} +1 -1
  25. package/dist/chunks/index-D6Hg-beW.js +1 -0
  26. package/dist/chunks/{index-CDBk7hVW.d.ts → index-DTEtqjQF.d.ts} +0 -13
  27. package/dist/chunks/{index-czcKClL3.d.ts → index-Dbbpnw8f.d.ts} +8 -0
  28. package/dist/chunks/index-DdkeWQrh.d.ts +53 -0
  29. package/dist/chunks/index-Nf3nZ9O3.d.ts +16 -0
  30. package/dist/chunks/index-iaTXVzFa.js +1 -0
  31. package/dist/chunks/index-uHvVQMNc.js +1 -0
  32. package/dist/chunks/index.d-XSe7Hy-Q.d.ts +2989 -0
  33. package/dist/chunks/login-token-task-Yib__6a9.js +1 -0
  34. package/dist/chunks/{mq-chat-room-CRPruRJD.d.ts → mq-chat-room-jeDvIF1Z.d.ts} +12 -227
  35. package/dist/chunks/mq-layout-E5mKSz4A.js +1 -0
  36. package/dist/chunks/{index-CSJzkkRA.d.ts → mq-layout-TG2K4zRv.d.ts} +20 -0
  37. package/dist/chunks/provide-BwI4DDGF.js +1 -0
  38. package/dist/chunks/query-controller-BlO1Ax65.js +1 -0
  39. package/dist/chunks/refund-cancel-policy-CcsJ-pMx.js +1 -0
  40. package/dist/chunks/{schemas.d-D7bCe24u.d.ts → schemas.d-b6_AekBb.d.ts} +12 -1
  41. package/dist/chunks/telemetry-client-7fvNqUSU.js +1 -0
  42. package/dist/env.js +1 -1
  43. package/dist/i18n.js +1 -1
  44. package/dist/mq-api-client-provider.d.ts +39 -0
  45. package/dist/mq-api-client-provider.js +1 -0
  46. package/dist/mq-apple-pay-checkout.d.ts +12 -0
  47. package/dist/mq-apple-pay-checkout.js +1 -1
  48. package/dist/mq-appointment-checkout.d.ts +3 -1
  49. package/dist/mq-appointment-checkout.js +1 -1
  50. package/dist/mq-appointment-documentation.d.ts +13 -4
  51. package/dist/mq-appointment-documentation.js +1 -1
  52. package/dist/mq-chat-room.d.ts +5 -2
  53. package/dist/mq-chat-room.js +1 -1
  54. package/dist/mq-checkout.d.ts +21 -1
  55. package/dist/mq-checkout.js +1 -1
  56. package/dist/mq-dashboard.d.ts +21 -120
  57. package/dist/mq-dashboard.js +1 -1
  58. package/dist/mq-documents.d.ts +21 -7
  59. package/dist/mq-documents.js +1 -1
  60. package/dist/mq-google-pay-checkout.d.ts +12 -0
  61. package/dist/mq-google-pay-checkout.js +1 -1
  62. package/dist/mq-immediate-videocall-checkout.d.ts +3 -0
  63. package/dist/mq-immediate-videocall-checkout.js +1 -1
  64. package/dist/mq-my-appointments.d.ts +11 -7
  65. package/dist/mq-my-appointments.js +1 -1
  66. package/dist/mq-next-appointments.d.ts +17 -6
  67. package/dist/mq-next-appointments.js +1 -1
  68. package/dist/mq-payment-poller.d.ts +11 -0
  69. package/dist/mq-payment-poller.js +1 -1
  70. package/dist/mq-professional-presence-sync.d.ts +1 -0
  71. package/dist/mq-professional-presence-sync.js +1 -1
  72. package/dist/mq-query-client-provider.d.ts +4 -1
  73. package/dist/mq-query-client-provider.js +1 -1
  74. package/dist/mq-recent-documents.d.ts +19 -30
  75. package/dist/mq-recent-documents.js +1 -1
  76. package/dist/mq-schedule-success.d.ts +12 -2
  77. package/dist/mq-schedule-success.js +2 -2
  78. package/dist/mq-schedule.d.ts +24 -220
  79. package/dist/mq-schedule.js +1 -1
  80. package/dist/mq-session-provider.d.ts +1 -1
  81. package/dist/mq-session-provider.js +1 -1
  82. package/dist/mq-socket-provider.js +1 -1
  83. package/dist/mq-support-chat.d.ts +12 -2
  84. package/dist/mq-support-chat.js +1 -1
  85. package/dist/mq-terms-and-conditions.d.ts +5 -1
  86. package/dist/mq-terms-and-conditions.js +1 -1
  87. package/dist/mq-unread-count-sync.d.ts +1 -0
  88. package/dist/mq-unread-count-sync.js +1 -1
  89. package/dist/mq-videocall.d.ts +13 -3
  90. package/dist/mq-videocall.js +1 -1
  91. package/dist/react/mq-api-client-provider.d.ts +26 -0
  92. package/dist/react/mq-api-client-provider.js +2 -0
  93. package/dist/react/mq-apple-pay-checkout.d.ts +4 -1
  94. package/dist/react/mq-apple-pay-checkout.js +1 -1
  95. package/dist/react/mq-appointment-checkout.d.ts +3 -1
  96. package/dist/react/mq-appointment-checkout.js +1 -1
  97. package/dist/react/mq-appointment-documentation.d.ts +6 -4
  98. package/dist/react/mq-appointment-documentation.js +1 -1
  99. package/dist/react/mq-chat-room.d.ts +5 -2
  100. package/dist/react/mq-chat-room.js +1 -1
  101. package/dist/react/mq-checkout.d.ts +4 -1
  102. package/dist/react/mq-checkout.js +1 -1
  103. package/dist/react/mq-dashboard.d.ts +12 -11
  104. package/dist/react/mq-dashboard.js +1 -1
  105. package/dist/react/mq-documents-page.d.ts +7 -3
  106. package/dist/react/mq-documents-page.js +1 -1
  107. package/dist/react/mq-documents.d.ts +7 -3
  108. package/dist/react/mq-documents.js +1 -1
  109. package/dist/react/mq-google-pay-checkout.d.ts +4 -1
  110. package/dist/react/mq-google-pay-checkout.js +1 -1
  111. package/dist/react/mq-immediate-videocall-checkout.d.ts +3 -0
  112. package/dist/react/mq-immediate-videocall-checkout.js +1 -1
  113. package/dist/react/mq-my-appointments.d.ts +10 -8
  114. package/dist/react/mq-my-appointments.js +1 -1
  115. package/dist/react/mq-next-appointments.d.ts +12 -8
  116. package/dist/react/mq-next-appointments.js +1 -1
  117. package/dist/react/mq-payment-poller.d.ts +4 -0
  118. package/dist/react/mq-payment-poller.js +1 -1
  119. package/dist/react/mq-professional-presence-sync.js +1 -1
  120. package/dist/react/mq-query-client-provider.d.ts +1 -0
  121. package/dist/react/mq-query-client-provider.js +1 -1
  122. package/dist/react/mq-recent-documents.d.ts +8 -3
  123. package/dist/react/mq-recent-documents.js +1 -1
  124. package/dist/react/mq-schedule-success.d.ts +5 -2
  125. package/dist/react/mq-schedule-success.js +1 -1
  126. package/dist/react/mq-schedule.d.ts +4 -2
  127. package/dist/react/mq-schedule.js +1 -1
  128. package/dist/react/mq-session-provider.d.ts +1 -1
  129. package/dist/react/mq-session-provider.js +1 -1
  130. package/dist/react/mq-socket-provider.js +1 -1
  131. package/dist/react/mq-support-chat.d.ts +5 -2
  132. package/dist/react/mq-support-chat.js +1 -1
  133. package/dist/react/mq-terms-and-conditions.d.ts +5 -1
  134. package/dist/react/mq-terms-and-conditions.js +1 -1
  135. package/dist/react/mq-toast-container.js +1 -1
  136. package/dist/react/mq-unread-count-sync.js +1 -1
  137. package/dist/react/mq-videocall.d.ts +6 -4
  138. package/dist/react/mq-videocall.js +1 -1
  139. package/dist/theme.js +1 -1
  140. package/dist/ui/icons/download-02-icon.d.ts +6 -0
  141. package/dist/ui/icons/download-02-icon.js +1 -0
  142. package/dist/ui/mq-calendar.js +1 -1
  143. package/dist/ui/mq-clamped-text.js +1 -1
  144. package/package.json +5 -1
  145. package/dist/chunks/action-unavailable-message-CRLimFj5.js +0 -1
  146. package/dist/chunks/api-chat-client-BiiYnU-b.js +0 -1
  147. package/dist/chunks/appointment-action-unavailable-dialog-Da2IATYj.d.ts +0 -321
  148. package/dist/chunks/appointment-card-skeleton-ZfTAElLq.js +0 -1
  149. package/dist/chunks/appointment-details-Bm3Uuw2g.js +0 -1
  150. package/dist/chunks/chunk-Y4EKUX25-CqL3lLdx.js +0 -1
  151. package/dist/chunks/consume-BhoQNO_8.js +0 -1
  152. package/dist/chunks/context-provider--AKuwfs9.js +0 -1
  153. package/dist/chunks/documentation-view-CTnpWIxq.js +0 -1
  154. package/dist/chunks/i18n-formats-EgnwLxKt.js +0 -1
  155. package/dist/chunks/index-CZ9HtP96.js +0 -1
  156. package/dist/chunks/index-DMiowcMQ.js +0 -1
  157. package/dist/chunks/index-DZjrAnPq.js +0 -1
  158. package/dist/chunks/login-token-task-BI-L2zSV.js +0 -1
  159. package/dist/chunks/mq-layout-BndHxkbb.js +0 -1
  160. package/dist/chunks/mq-layout-D8Mak16a.d.ts +0 -21
  161. package/dist/chunks/provide-D2fnEhT2.js +0 -1
  162. package/dist/chunks/query-controller-D7jBX4X7.js +0 -1
  163. package/dist/chunks/refund-cancel-policy-DV6bzqcu.js +0 -1
  164. package/dist/chunks/schemas.d-Bss7CeCZ.d.ts +0 -53
  165. package/dist/chunks/telemetry-client-Bkbn48Dd.js +0 -1
@@ -1,6 +1,7 @@
1
1
  import * as lit_html from 'lit-html';
2
2
  import * as lit from 'lit';
3
3
  import { LitElement, PropertyValues } from 'lit';
4
+ import { M as MediquoApiChatClient } from './index.d-XSe7Hy-Q.js';
4
5
  import '../ui/mq-checkbox.js';
5
6
  import '../ui/mq-button.js';
6
7
  import { Env } from '../env.js';
@@ -31,6 +32,13 @@ declare class MqTermsAndConditions extends LitElement {
31
32
  /** Environment override ("development" | "production"). Optional. */
32
33
  env?: Env;
33
34
  private _accepted;
35
+ /** The organization scope this element was mounted under, if any. */
36
+ private inheritedApiClient?;
37
+ /**
38
+ * This element's own transport, bound to its `api-key` and provided to every
39
+ * descendant. Never shared with another element.
40
+ */
41
+ apiClient: MediquoApiChatClient;
34
42
  protected willUpdate(changed: PropertyValues<this>): void;
35
43
  private handleCheckboxChange;
36
44
  private acceptLegalConsentMutation;
@@ -0,0 +1,53 @@
1
+ import * as lit_html from 'lit-html';
2
+ import * as lit from 'lit';
3
+ import { LitElement } from 'lit';
4
+ import { D as DocumentType } from './document.model.d-DIzMiOmd.js';
5
+ import { M as MediquoApiChatClient } from './index.d-XSe7Hy-Q.js';
6
+ import '../ui/mq-button.js';
7
+ import '../ui/mq-skeleton.js';
8
+
9
+ declare class DocumentRow extends LitElement {
10
+ apiClient: MediquoApiChatClient;
11
+ static styles: lit.CSSResult;
12
+ documentId: string;
13
+ kind: DocumentType;
14
+ name: string;
15
+ specialty: string;
16
+ date: string;
17
+ downloadUrl: string;
18
+ patientHash: string;
19
+ private isDownloading;
20
+ private formatDate;
21
+ private formatKind;
22
+ private get kindClass();
23
+ private get metaLine();
24
+ private handleDownload;
25
+ render(): lit_html.TemplateResult<1>;
26
+ }
27
+ declare global {
28
+ interface HTMLElementTagNameMap {
29
+ "document-row": DocumentRow;
30
+ }
31
+ }
32
+
33
+ interface DocumentListItem {
34
+ documentId: string;
35
+ kind: DocumentType;
36
+ name: string;
37
+ specialty: string;
38
+ date: string;
39
+ downloadUrl: string;
40
+ }
41
+ declare class DocumentList extends LitElement {
42
+ static styles: lit.CSSResult;
43
+ documents: DocumentListItem[];
44
+ patientHash: string;
45
+ placeholders: number;
46
+ private get rows();
47
+ render(): lit_html.TemplateResult<1>[];
48
+ }
49
+ declare global {
50
+ interface HTMLElementTagNameMap {
51
+ "document-list": DocumentList;
52
+ }
53
+ }
@@ -0,0 +1,16 @@
1
+ import * as lit_html from 'lit-html';
2
+ import * as lit from 'lit';
3
+ import { LitElement } from 'lit';
4
+
5
+ declare class WidgetEmptyState extends LitElement {
6
+ static styles: lit.CSSResult;
7
+ icon: "document" | "calendar";
8
+ heading: string;
9
+ description: string;
10
+ render(): lit_html.TemplateResult<1>;
11
+ }
12
+ declare global {
13
+ interface HTMLElementTagNameMap {
14
+ "widget-empty-state": WidgetEmptyState;
15
+ }
16
+ }
@@ -0,0 +1 @@
1
+ import{_ as t,c as i}from"./custom-element-D2ziPxYE.js";import{l as o}from"./localized-decorator-BlOuLhym.js";import"./runtime-Bg1WXVCx.js";import{i as e,a as r,x as s}from"./lit-element-DiWJYFwC.js";import{n}from"./property-scuRaFcM.js";import{calendarIcon as a}from"../ui/icons/calendar-icon.js";import{fileIcon as p}from"../ui/icons/file-icon.js";const c=e`:host{display:flex;flex-direction:column;gap:var(--sp-4);width:100%;box-sizing:border-box}svg{flex-shrink:0;width:25px;height:25px}.content{display:flex;flex-direction:column;gap:var(--sp-2)}.title{font-family:var(--font-titles);font-size:var(--text-base);line-height:1.5;font-weight:var(--font-weight-medium);color:var(--color-text-icons--primary,#0a0a22);margin:0}.description{font-family:var(--font-body);font-size:var(--text-sm);line-height:1.35;font-weight:var(--font-weight-normal);color:var(--color-text-icons--secondary,#6d658b);margin:0}@media (min-width:768px){:host{flex-direction:row;align-items:flex-start;gap:var(--sp-6)}svg{width:32px;height:32px}.description{min-height:2.7em}}`;let l=class WidgetEmptyState extends r{constructor(){super(...arguments),this.icon="document",this.heading="",this.description=""}static{this.styles=c}render(){const t="calendar"===this.icon?a:p;return s`${t({size:32,color:"var(--color-primary, #4a1ea7)"})}<div class="content"><p class="title">${this.heading}</p><p class="description">${this.description}</p></div>`}};t([n({type:String})],l.prototype,"icon",void 0),t([n({type:String})],l.prototype,"heading",void 0),t([n({type:String})],l.prototype,"description",void 0),l=t([o(),i("widget-empty-state")],l);
@@ -0,0 +1 @@
1
+ import{_ as t,c as e}from"./custom-element-D2ziPxYE.js";import{t as o,d as i,g as r}from"./telemetry-client-7fvNqUSU.js";import{i as a,a as s,x as n,E as d}from"./lit-element-DiWJYFwC.js";import{n as l}from"./property-scuRaFcM.js";import{c}from"./consume-CovVqBjI.js";import{m as p}from"./runtime-Bg1WXVCx.js";import{l as m}from"./localized-decorator-BlOuLhym.js";import{A as h}from"./api-client-context-V1UAGtKW.js";import{D as f}from"./api-chat-client-CJ1EGJe3.js";import{b as u}from"./blob-to-base64-CUL1trde.js";import{r as g}from"./state-LQivXIgA.js";import{DownloadFileEvent as y}from"../events.js";import{getLocale as v}from"../i18n.js";import{download02Icon as w}from"../ui/icons/download-02-icon.js";import"../ui/mq-button.js";import{toast as b}from"../ui/mq-toast.js";import"../ui/mq-skeleton.js";const x=a`:host{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-1) 0;width:100%;min-width:0;box-sizing:border-box}.details{display:flex;flex-direction:column;align-items:flex-start;gap:6px;flex:1;min-width:0}.tag{display:inline-flex;align-items:center;border-radius:var(--border-radius-sm);padding:var(--sp-1) var(--sp-2);font-family:var(--font-body);font-size:var(--text-xs);line-height:1.35;font-weight:var(--font-weight-normal)}.tag.prescription{background-color:var(--color-feedback--info-subtle,#eceefd);color:var(--color-feedback--info-text,#4a1ea7)}.tag.report{background-color:var(--color-feedback--warning-subtle,#ffebce);color:var(--color-feedback--warning-text,#8f4700)}.tag.diagnostic-test-prescription{background-color:var(--color-feedback--success-subtle,#e8f6ec);color:var(--color-feedback--success-text,#16653a)}.text{display:flex;flex-direction:column;gap:var(--sp-1);width:100%;min-width:0}.name{font-family:var(--font-body);font-size:var(--text-sm);line-height:1.35;font-weight:var(--font-weight-normal);color:var(--color-text-icons--primary,#0a0a22);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meta{font-family:var(--font-body);font-size:var(--text-xs);line-height:1.35;font-weight:var(--font-weight-normal);color:var(--color-text-icons--secondary,#6d658b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}`;let k=class DocumentRow extends s{constructor(){super(...arguments),this.documentId="",this.name="",this.specialty="",this.date="",this.downloadUrl="",this.patientHash="",this.isDownloading=!1,this.handleDownload=async()=>{this.isDownloading=!0;try{o.track(i(this.patientHash,this.documentId));const t=await this.apiClient.flash.downloadDocument({url:this.downloadUrl}),e=await u(t);this.dispatchEvent(new y({url:e,filename:`${this.name}.pdf`}))}catch{b.error(p("No hemos podido descargar el documento."))}finally{this.isDownloading=!1}}}static{this.styles=x}formatDate(){const t=new Date(this.date);if(Number.isNaN(t.getTime()))return"";const e=v().replace("_","-");return new Intl.DateTimeFormat(e,{day:"2-digit",month:"2-digit",year:"2-digit"}).format(t)}formatKind(){switch(this.kind){case f.prescription:return p("Receta");case f.report:return p("Informe");case f.diagnosticTestPrescription:return p("Orden médica")}}get kindClass(){return(this.kind??"").replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}get metaLine(){return[this.formatDate(),this.specialty].filter(Boolean).join(" - ")}render(){return n`<div class="details"><span class="tag ${this.kindClass}">${this.formatKind()}</span><div class="text"><span class="name" title="${this.name}">${this.name}</span> <span class="meta">${this.metaLine}</span></div></div><mq-button variant="outline" size="icon-lg" aria-label="${p("Descargar documento")}" ?disabled="${this.isDownloading}" @click="${this.handleDownload}">${w({size:24})}</mq-button>`}};function $(t,e,o){return t.map(t=>{const i=e?.find(e=>Number(e.id)===Number(t.professional.speciality_id));return{documentId:t.document_id,kind:t.document_type,name:t.name,specialty:r(i?.code??"",o,i?.name??t.professional.speciality_name),date:t.created_at,downloadUrl:t.url}})}t([c({context:h,subscribe:!0})],k.prototype,"apiClient",void 0),t([l({type:String})],k.prototype,"documentId",void 0),t([l({type:String})],k.prototype,"kind",void 0),t([l({type:String})],k.prototype,"name",void 0),t([l({type:String})],k.prototype,"specialty",void 0),t([l({type:String})],k.prototype,"date",void 0),t([l({type:String})],k.prototype,"downloadUrl",void 0),t([l({type:String})],k.prototype,"patientHash",void 0),t([g()],k.prototype,"isDownloading",void 0),k=t([m(),e("document-row")],k);const j=a`:host{display:flex;flex-direction:column;gap:var(--sp-3);width:100%;min-width:0;box-sizing:border-box}.divider{height:1px;width:100%;background-color:var(--color-border-subtle,#edecf1);flex-shrink:0}`;let D=class DocumentList extends s{constructor(){super(...arguments),this.documents=[],this.patientHash="",this.placeholders=0}static{this.styles=j}get rows(){return this.placeholders>0?Array.from({length:this.placeholders},()=>n`<mq-skeleton height="${"77px"}"></mq-skeleton>`):this.documents.map(t=>n`<document-row documentId="${t.documentId}" kind="${t.kind}" name="${t.name}" specialty="${t.specialty}" date="${t.date}" downloadUrl="${t.downloadUrl}" patientHash="${this.patientHash}"></document-row>`)}render(){const t=this.rows;return t.map((e,o)=>n`${e} ${o<t.length-1?n`<div class="divider"></div>`:d}`)}};t([l({type:Array})],D.prototype,"documents",void 0),t([l({type:String})],D.prototype,"patientHash",void 0),t([l({type:Number})],D.prototype,"placeholders",void 0),D=t([e("document-list")],D);export{$ as t};