@qoretechnologies/reqraft 0.10.64 → 0.10.65-pr.148.gc6381e4

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 (64) hide show
  1. package/.claude/CLAUDE.md +1 -0
  2. package/dist/components/supportTicket/InterfaceReferenceTags.d.ts +13 -1
  3. package/dist/components/supportTicket/InterfaceReferenceTags.d.ts.map +1 -1
  4. package/dist/components/supportTicket/InterfaceReferenceTags.js +11 -4
  5. package/dist/components/supportTicket/InterfaceReferenceTags.js.map +1 -1
  6. package/dist/components/supportTicket/ReferencePicker.d.ts.map +1 -1
  7. package/dist/components/supportTicket/ReferencePicker.js +1 -1
  8. package/dist/components/supportTicket/ReferencePicker.js.map +1 -1
  9. package/dist/components/supportTicket/WorkspaceAccessStatus.d.ts +55 -0
  10. package/dist/components/supportTicket/WorkspaceAccessStatus.d.ts.map +1 -0
  11. package/dist/components/supportTicket/WorkspaceAccessStatus.js +79 -0
  12. package/dist/components/supportTicket/WorkspaceAccessStatus.js.map +1 -0
  13. package/dist/components/supportTicket/accessMeta.d.ts +50 -0
  14. package/dist/components/supportTicket/accessMeta.d.ts.map +1 -0
  15. package/dist/components/supportTicket/accessMeta.js +174 -0
  16. package/dist/components/supportTicket/accessMeta.js.map +1 -0
  17. package/dist/components/supportTicket/index.d.ts +2 -0
  18. package/dist/components/supportTicket/index.d.ts.map +1 -1
  19. package/dist/components/supportTicket/index.js +2 -0
  20. package/dist/components/supportTicket/index.js.map +1 -1
  21. package/dist/components/supportTicket/meta.d.ts +62 -2
  22. package/dist/components/supportTicket/meta.d.ts.map +1 -1
  23. package/dist/components/supportTicket/meta.js +116 -3
  24. package/dist/components/supportTicket/meta.js.map +1 -1
  25. package/dist/components/supportTicket/ticketModel.d.ts +10 -0
  26. package/dist/components/supportTicket/ticketModel.d.ts.map +1 -1
  27. package/dist/components/ticketReferences/TicketReferences.d.ts +10 -1
  28. package/dist/components/ticketReferences/TicketReferences.d.ts.map +1 -1
  29. package/dist/components/ticketReferences/TicketReferences.js +12 -8
  30. package/dist/components/ticketReferences/TicketReferences.js.map +1 -1
  31. package/dist/components/ticketThread/TicketThread.d.ts +30 -1
  32. package/dist/components/ticketThread/TicketThread.d.ts.map +1 -1
  33. package/dist/components/ticketThread/TicketThread.js +51 -13
  34. package/dist/components/ticketThread/TicketThread.js.map +1 -1
  35. package/dist/components/ticketThread/index.d.ts +1 -1
  36. package/dist/components/ticketThread/index.d.ts.map +1 -1
  37. package/dist/index.d.ts +1 -1
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js.map +1 -1
  40. package/dist/providers/StorageProvider.d.ts +11 -0
  41. package/dist/providers/StorageProvider.d.ts.map +1 -1
  42. package/dist/providers/StorageProvider.js +21 -3
  43. package/dist/providers/StorageProvider.js.map +1 -1
  44. package/dist/stores/currentUser/currentUser.d.ts +42 -0
  45. package/dist/stores/currentUser/currentUser.d.ts.map +1 -1
  46. package/dist/stores/currentUser/currentUser.js.map +1 -1
  47. package/package.json +2 -2
  48. package/src/components/supportTicket/InterfaceReferenceTags.stories.tsx +56 -0
  49. package/src/components/supportTicket/InterfaceReferenceTags.tsx +27 -7
  50. package/src/components/supportTicket/ReferencePicker.tsx +4 -1
  51. package/src/components/supportTicket/WorkspaceAccessStatus.stories.tsx +105 -0
  52. package/src/components/supportTicket/WorkspaceAccessStatus.tsx +176 -0
  53. package/src/components/supportTicket/accessMeta.ts +210 -0
  54. package/src/components/supportTicket/index.ts +2 -0
  55. package/src/components/supportTicket/meta.ts +156 -4
  56. package/src/components/supportTicket/ticketModel.ts +10 -0
  57. package/src/components/ticketReferences/TicketReferences.stories.tsx +40 -0
  58. package/src/components/ticketReferences/TicketReferences.tsx +24 -10
  59. package/src/components/ticketThread/TicketThread.stories.tsx +103 -1
  60. package/src/components/ticketThread/TicketThread.tsx +131 -15
  61. package/src/components/ticketThread/index.ts +1 -0
  62. package/src/index.tsx +1 -0
  63. package/src/providers/StorageProvider.tsx +20 -3
  64. package/src/stores/currentUser/currentUser.tsx +43 -0
@@ -185,6 +185,52 @@ var AttachmentList = function (_a) {
185
185
  var _b = (0, react_1.useState)(null), openIndex = _b[0], setOpenIndex = _b[1];
186
186
  return ((0, jsx_runtime_1.jsxs)(reqore_1.ReqoreControlGroup, { vertical: true, gapSize: 'small', style: { marginTop: 8 }, children: [images.length ? ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreControlGroup, { wrap: true, gapSize: 'small', verticalAlign: 'flex-start', children: images.map(function (attachment, index) { return ((0, jsx_runtime_1.jsx)(ImageThumb, { attachment: attachment, fetchAttachmentUrl: fetchAttachmentUrl, onOpen: function () { return setOpenIndex(index); }, onDownloadAttachment: onDownloadAttachment }, attachment.attachment_id)); }) })) : null, files.length ? ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreControlGroup, { wrap: true, gapSize: 'small', children: files.map(function (attachment) { return ((0, jsx_runtime_1.jsx)(AttachmentChip, { attachment: attachment, onDownloadAttachment: onDownloadAttachment }, attachment.attachment_id)); }) })) : null, openIndex !== null && fetchAttachmentUrl ? ((0, jsx_runtime_1.jsx)(imageLightbox_1.ImageLightbox, { images: images, index: openIndex, onIndex: setOpenIndex, onClose: function () { return setOpenIndex(null); }, fetchAttachmentUrl: fetchAttachmentUrl, onDownload: onDownloadAttachment })) : null] }));
187
187
  };
188
+ /** The anchor a "show in chat" scroll lands on; the notification itself takes no id. */
189
+ var StyledSystemCard = styled_components_1.default.div(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n width: 100%;\n"], ["\n width: 100%;\n"])));
190
+ /** A one-line access event sits centred in the thread, as the plain system lines do. */
191
+ var StyledSystemPill = styled_components_1.default.div(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n display: flex;\n justify-content: center;\n width: 100%;\n"], ["\n display: flex;\n justify-content: center;\n width: 100%;\n"])));
192
+ /**
193
+ * A system message. The request for workspace access renders as a card — it asks the
194
+ * reader something, and can carry the customer's answer — while every other event stays
195
+ * the centred muted line, marked with its event's icon when the event is known.
196
+ *
197
+ * The card wears the notification look (Nick, 2026-10-20): the same frosted surface,
198
+ * icon tile and action row as a toast, because a thread message that asks the reader to
199
+ * act is a notification that happens to live in the thread. It never times out and
200
+ * cannot be dismissed; the answer is the one action on it.
201
+ */
202
+ var SystemMessage = function (_a) {
203
+ var _b;
204
+ var message = _a.message, action = _a.action;
205
+ var meta = (0, supportTicket_1.ticketSystemEventMeta)(message.system_event);
206
+ if (message.system_event === 'support_access.requested') {
207
+ return ((0, jsx_runtime_1.jsx)(StyledSystemCard, { id: (0, exports.ticketMessageDomId)(message.message_id), className: 'reqore-ticket-system-card', children: (0, jsx_runtime_1.jsx)(reqore_1.ReqoreNotification, { fluid: true,
208
+ // in the page, not over it: no drop shadow, no cast light (reqore 0.78.8)
209
+ lift: false, icon: meta.icon, intent: meta.intent, title: meta.label, content: (0, jsx_runtime_1.jsx)(MessageBody, { children: message.body }), actions: action
210
+ ? [
211
+ {
212
+ label: action.label,
213
+ icon: action.icon,
214
+ intent: (_b = action.intent) !== null && _b !== void 0 ? _b : 'success',
215
+ className: 'reqore-ticket-system-card-action',
216
+ // a notification's actions are plain buttons that keep their label at
217
+ // every width (a phone is where the customer reads this); only a panel
218
+ // action folds to an icon, so nothing has to be asked for here
219
+ // the card stays: the thread, not a click, decides when it goes
220
+ closeOnClick: false,
221
+ onClick: action.onClick,
222
+ },
223
+ ]
224
+ : undefined }) }));
225
+ }
226
+ // A delegated-access event the vocabulary knows is a compact pill in the same look as
227
+ // the request card, so the grant's story reads as one family: asked, granted, opened,
228
+ // extended, revoked, expired. Any other system line stays the plain centred line.
229
+ if (message.system_event && message.system_event in supportTicket_1.TICKET_SYSTEM_EVENT_META) {
230
+ return ((0, jsx_runtime_1.jsx)(StyledSystemPill, { id: (0, exports.ticketMessageDomId)(message.message_id), className: 'reqore-ticket-system-pill', children: (0, jsx_runtime_1.jsx)(reqore_1.ReqoreNotification, { compact: true, lift: false, size: 'small', icon: meta.icon, intent: meta.intent, content: (0, jsx_runtime_1.jsx)(react_markdown_1.default, { components: { p: 'span' }, children: message.body }) }) }));
231
+ }
232
+ return ((0, jsx_runtime_1.jsxs)(StyledSystemRow, { id: (0, exports.ticketMessageDomId)(message.message_id), children: [(0, jsx_runtime_1.jsx)(reqore_1.ReqoreIcon, { icon: meta.icon, size: 'tiny' }), (0, jsx_runtime_1.jsx)(react_markdown_1.default, { children: message.body })] }));
233
+ };
188
234
  /** Split the thread into centred system lines and runs of consecutive non-system
189
235
  * messages — each run becomes one `ReqoreBubbleGroup`, which is what collapses a
190
236
  * same-side burst onto a single timestamp. */
@@ -207,7 +253,7 @@ var toSegments = function (messages) {
207
253
  return segments;
208
254
  };
209
255
  var TicketThread = function (_a) {
210
- var messages = _a.messages, _b = _a.viewerRole, viewerRole = _b === void 0 ? 'customer' : _b, loading = _a.loading, onDownloadAttachment = _a.onDownloadAttachment, fetchAttachmentUrl = _a.fetchAttachmentUrl, resolveInterfaceIcon = _a.resolveInterfaceIcon, preferKindImage = _a.preferKindImage, onInterfaceClick = _a.onInterfaceClick, ticketReferences = _a.ticketReferences;
256
+ var messages = _a.messages, _b = _a.viewerRole, viewerRole = _b === void 0 ? 'customer' : _b, loading = _a.loading, onDownloadAttachment = _a.onDownloadAttachment, fetchAttachmentUrl = _a.fetchAttachmentUrl, resolveInterfaceIcon = _a.resolveInterfaceIcon, preferKindImage = _a.preferKindImage, onInterfaceClick = _a.onInterfaceClick, isInterfaceLinkable = _a.isInterfaceLinkable, unlinkableReason = _a.unlinkableReason, systemEventAction = _a.systemEventAction, ticketReferences = _a.ticketReferences;
211
257
  // Open scrolled to the newest message, and follow new arrivals down — a thread is read
212
258
  // from the bottom, like any chat. Keyed on the message COUNT so it fires on open and when
213
259
  // a reply lands, not on every re-render (which would fight a user who has scrolled up to
@@ -246,15 +292,7 @@ var TicketThread = function (_a) {
246
292
  return undefined;
247
293
  }
248
294
  var opening = messages.find(function (m) { return m.message_id === openingMessageId; });
249
- var seen = new Set();
250
- return __spreadArray(__spreadArray([], ticketReferences, true), ((_a = opening === null || opening === void 0 ? void 0 : opening.referenced_interfaces) !== null && _a !== void 0 ? _a : []), true).filter(function (ref) {
251
- var key = "".concat(ref.interface_kind, ":").concat(ref.interface_name);
252
- if (seen.has(key)) {
253
- return false;
254
- }
255
- seen.add(key);
256
- return true;
257
- });
295
+ return (0, supportTicket_1.dedupeInterfaceReferences)(__spreadArray(__spreadArray([], ticketReferences, true), ((_a = opening === null || opening === void 0 ? void 0 : opening.referenced_interfaces) !== null && _a !== void 0 ? _a : []), true));
258
296
  }, [ticketReferences, messages, openingMessageId]);
259
297
  var refsFor = function (message) {
260
298
  return message.message_id === openingMessageId && openingRefs
@@ -273,7 +311,7 @@ var TicketThread = function (_a) {
273
311
  return ((0, jsx_runtime_1.jsx)(StyledEmpty, { children: (0, jsx_runtime_1.jsx)(reqore_1.ReqoreEmptyState, { icon: 'Chat3Line', title: 'No messages yet', flat: true, transparent: true }) }));
274
312
  }
275
313
  return ((0, jsx_runtime_1.jsxs)(StyledThread, { ref: threadRef, children: [segments.map(function (segment, index) {
276
- return segment.kind === 'system' ? ((0, jsx_runtime_1.jsxs)(StyledSystemRow, { id: (0, exports.ticketMessageDomId)(segment.message.message_id), children: [(0, jsx_runtime_1.jsx)(reqore_1.ReqoreIcon, { icon: 'InformationLine', size: 'tiny' }), (0, jsx_runtime_1.jsx)(react_markdown_1.default, { children: segment.message.body })] }, segment.message.message_id)) : ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreBubbleGroup, { children: segment.messages.map(function (message) {
314
+ return segment.kind === 'system' ? ((0, jsx_runtime_1.jsx)(SystemMessage, { message: segment.message, action: systemEventAction === null || systemEventAction === void 0 ? void 0 : systemEventAction(segment.message) }, segment.message.message_id)) : ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreBubbleGroup, { children: segment.messages.map(function (message) {
277
315
  var _a, _b;
278
316
  return ((0, jsx_runtime_1.jsxs)(reqore_1.ReqoreBubble, {
279
317
  // anchor for "show in chat"; ReqoreBubble forwards unknown props to
@@ -290,10 +328,10 @@ var TicketThread = function (_a) {
290
328
  ? 'warning'
291
329
  : message.author_type === viewerRole
292
330
  ? 'info'
293
- : undefined, customTheme: message.internal || message.author_type === viewerRole ? undefined : ACCENT, flat: false, minimal: true, children: [(0, jsx_runtime_1.jsx)(MessageBody, { children: message.body }), ((_a = message.attachments) === null || _a === void 0 ? void 0 : _a.length) ? ((0, jsx_runtime_1.jsx)(AttachmentList, { attachments: message.attachments, fetchAttachmentUrl: fetchAttachmentUrl, onDownloadAttachment: onDownloadAttachment })) : null, ((_b = refsFor(message)) === null || _b === void 0 ? void 0 : _b.length) ? ((0, jsx_runtime_1.jsx)("div", { style: { marginTop: 8 }, children: (0, jsx_runtime_1.jsx)(supportTicket_1.InterfaceReferenceTags, { size: 'tiny', customTheme: ACCENT, references: refsFor(message), resolveInterfaceIcon: resolveInterfaceIcon, preferKindImage: preferKindImage, onInterfaceClick: onInterfaceClick }) })) : null] }, message.message_id));
331
+ : undefined, customTheme: message.internal || message.author_type === viewerRole ? undefined : ACCENT, flat: false, minimal: true, children: [(0, jsx_runtime_1.jsx)(MessageBody, { children: message.body }), ((_a = message.attachments) === null || _a === void 0 ? void 0 : _a.length) ? ((0, jsx_runtime_1.jsx)(AttachmentList, { attachments: message.attachments, fetchAttachmentUrl: fetchAttachmentUrl, onDownloadAttachment: onDownloadAttachment })) : null, ((_b = refsFor(message)) === null || _b === void 0 ? void 0 : _b.length) ? ((0, jsx_runtime_1.jsx)("div", { style: { marginTop: 8 }, children: (0, jsx_runtime_1.jsx)(supportTicket_1.InterfaceReferenceTags, { size: 'tiny', customTheme: ACCENT, references: refsFor(message), resolveInterfaceIcon: resolveInterfaceIcon, preferKindImage: preferKindImage, onInterfaceClick: onInterfaceClick, isInterfaceLinkable: isInterfaceLinkable, unlinkableReason: unlinkableReason }) })) : null] }, message.message_id));
294
332
  }) }, "group-".concat(index)));
295
333
  }), (0, jsx_runtime_1.jsxs)(reqore_1.ReqoreP, { size: 'tiny', effect: { opacity: 0.5, textAlign: 'center' }, children: [messages.length, " message", messages.length === 1 ? '' : 's'] })] }));
296
334
  };
297
335
  exports.TicketThread = TicketThread;
298
- var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8;
336
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10;
299
337
  //# sourceMappingURL=TicketThread.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TicketThread.js","sourceRoot":"","sources":["../../../src/components/ticketThread/TicketThread.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TicketThread.js","sourceRoot":"","sources":["../../../src/components/ticketThread/TicketThread.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,mDAYkC;AAElC,uEAAgF;AAEhF,qCAAgC;AAChC,+BAA6E;AAC7E,kEAA2C;AAC3C,wEAAuC;AACvC,+CAA4D;AAC5D,kDAAiD;AACjD,kDAS0B;AAgH1B,IAAM,WAAW,GAA8C;IAC7D,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;IAC/B,KAAK,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE;IACvC,MAAM,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE;CACpC,CAAC;AAEF,iFAAiF;AACjF,gFAAgF;AAChF,0EAA0E;AAC1E,IAAM,MAAM,GAAuD,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAEvF,oFAAoF;AACpF,IAAM,UAAU,GAAG,UAAC,OAA6B;IAC/C,OAAA,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI;AAAvE,CAAuE,CAAC;AAG1E;;kEAEkE;AAClE,IAAM,WAAW,GAAG,UAAC,OAA6B,EAAE,UAA6B;IAC/E,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;QAC9B,OAAO,OAAO,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC;IACtE,CAAC;IACD,OAAO,UAAG,OAAO,CAAC,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,qBAAM,OAAO,CAAC,SAAS,CAAE,CAAC;AAC9F,CAAC,CAAC;AAEF;;;;;;;GAOG;AACI,IAAM,kBAAkB,GAAG,UAAC,SAAiB,IAAa,OAAA,yBAAkB,SAAS,CAAE,EAA7B,CAA6B,CAAC;AAAlF,QAAA,kBAAkB,sBAAgE;AAE/F,IAAM,YAAY,GAAG,2BAAM,CAAC,GAAG,wnCAAA,qjCA2B9B,IAAA,CAAC;AAEF,gFAAgF;AAChF,kFAAkF;AAClF,mFAAmF;AACnF,iFAAiF;AACjF,IAAM,gBAAgB,GAAsD;IAC1E,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IACnC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IACnC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IACpC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IACnC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;CACrC,CAAC;AAEF;;;;;;;GAOG;AACH,IAAM,oBAAoB,GAAG,2BAAM,CAAC,GAAG,8kBAAA,2gBAatC,IAAA,CAAC;AAEF,IAAM,iBAAiB,GAAG,2BAAM,CAAC,GAAG,6JAAoB,mFAInC,EAAkD,KACtE,KADoB,UAAC,EAAS;QAAP,KAAK,WAAA;IAAO,OAAA,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC;AAAnC,CAAmC,CACtE,CAAC;AAEF,kFAAkF;AAClF,+EAA+E;AAC/E,uDAAuD;AACvD,IAAM,mBAAmB,GAAG,2BAAM,CAAC,GAAG,6JAAA,0FAKrC,IAAA,CAAC;AAEF,IAAM,oBAAoB,GAAG,cAAM,OAAA,CACjC,uBAAC,oBAAoB,iBAAW,MAAM,gBAAY,sBAAsB,YACrE,gBAAgB,CAAC,GAAG,CAAC,UAAC,MAAM,EAAE,KAAK;QAClC,IAAM,MAAM,GAAG,uBAAC,uBAAc,IAAC,MAAM,QAAC,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,GAAG,CAAC;QACpE,OAAO,CACL,wBAAC,iBAAiB,aAAoB,MAAM,CAAC,IAAI,aAC9C,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,EACvB,wBAAC,mBAAmB,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,UAAG,MAAM,CAAC,KAAK,MAAG,EAAE,aACvD,uBAAC,uBAAc,IAAC,KAAK,EAAC,KAAK,EAAC,MAAM,EAAC,MAAM,GAAG,EAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,UAAC,CAAC,EAAE,IAAI,IAAK,OAAA,CACrD,uBAAC,uBAAc,IAEb,KAAK,EAAE,IAAI,KAAK,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EACjD,MAAM,EAAC,KAAK,IAFP,IAAI,CAGT,CACH,EANsD,CAMtD,CAAC,IACkB,EACrB,MAAM,CAAC,IAAI,IAAI,MAAM,KAZA,KAAK,CAaT,CACrB,CAAC;IACJ,CAAC,CAAC,GACmB,CACxB,EAtBkC,CAsBlC,CAAC;AAEF,4EAA4E;AAC5E,gFAAgF;AAChF,qDAAqD;AACrD,IAAM,WAAW,GAAG,2BAAM,CAAC,GAAG,8sBAAA,2oBAyB7B,IAAA,CAAC;AAEF,+EAA+E;AAC/E,oEAAoE;AACpE,IAAM,eAAe,GAAG,2BAAM,CAAC,GAAG,mPAAA,gLAWjC,IAAA,CAAC;AASF,6EAA6E;AAC7E,iFAAiF;AACjF,+EAA+E;AAC/E,8EAA8E;AAC9E,IAAM,cAAc,GAAG,2BAAM,CAAC,GAAG,o1BAAsB,aAC5C,EAAsB,2LAcpB,EAA4B,0LAavB,EAAoB,8SAiBzB,EAAoB,yFAMhC,KAlDU,UAAC,EAAU;QAAR,MAAM,YAAA;IAAO,OAAA,MAAM;AAAN,CAAM,EAcpB,UAAC,EAAa;QAAX,SAAS,eAAA;IAAO,OAAA,SAAS;AAAT,CAAS,EAavB,UAAC,EAAS;QAAP,KAAK,WAAA;IAAO,OAAA,KAAK;AAAL,CAAK,EAiBzB,UAAC,EAAS;QAAP,KAAK,WAAA;IAAO,OAAA,KAAK;AAAL,CAAK,CAMhC,CAAC;AAEF,yEAAyE;AACzE,IAAM,WAAW,GAAG,UAAC,EAAkC;;QAAhC,QAAQ,cAAA;IAC7B,IAAM,KAAK,GAAG,IAAA,uBAAc,GAAE,CAAC;IAC/B,IAAM,QAAQ,GAAG,IAAA,yBAAgB,EAAC,KAAK,CAAC,CAAC;IACzC,IAAM,IAAI,GAAG,MAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,IAAI,mCAAI,QAAQ,CAAC;IAC7C,OAAO,CACL,uBAAC,cAAc,cACL,IAAA,eAAI,EAAC,QAAQ,EAAE,IAAI,CAAC,eACjB,IAAA,eAAI,EAAC,QAAQ,EAAE,IAAI,CAAC,WACxB,IAAA,eAAI,EAAC,QAAQ,EAAE,GAAG,CAAC,WACnB,IAAI,YAEX,uBAAC,wBAAa,cAAE,QAAQ,GAAiB,GAC1B,CAClB,CAAC;AACJ,CAAC,CAAC;AAEF;oDACoD;AACpD,IAAM,cAAc,GAAG,UAAC,EAMvB;QALC,UAAU,gBAAA,EACV,oBAAoB,0BAAA;IAIhB,OAAA,CACJ,uBAAC,qBAAY,IACX,IAAI,EAAC,eAAe,EACpB,IAAI,EAAC,OAAO,EACZ,IAAI,QACJ,KAAK,EAAE,IAAA,oBAAW,EAAC,UAAU,CAAC,UAAU,CAAC,EACzC,OAAO,EAAE,UAAG,UAAU,CAAC,YAAY,qBAAa,EAChD,OAAO,EAAE,cAAM,OAAA,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAG,UAAU,CAAC,aAAa,EAAE,UAAU,CAAC,QAAQ,CAAC,EAArE,CAAqE,YAEnF,UAAU,CAAC,QAAQ,GACP,CAChB;AAXK,CAWL,CAAC;AAEF,IAAM,WAAW,GAAG,2BAAM,CAAC,MAAM,6WAAA,4DAGX,EAAqB,+DAG3B,EAAqB,2KAWpC,KAdqB,IAAA,eAAI,EAAC,SAAS,EAAE,IAAI,CAAC,EAG3B,IAAA,eAAI,EAAC,SAAS,EAAE,IAAI,CAAC,CAWpC,CAAC;AAEF;;;;;;GAMG;AACH,IAAM,UAAU,GAAG,UAAC,EAUnB;QATC,UAAU,gBAAA,EACV,kBAAkB,wBAAA,EAClB,MAAM,YAAA,EACN,oBAAoB,0BAAA;IAOd,IAAA,KAAgB,IAAA,gBAAQ,EAAgB,IAAI,CAAC,EAA5C,GAAG,QAAA,EAAE,MAAM,QAAiC,CAAC;IAC9C,IAAA,KAAsB,IAAA,gBAAQ,EAAU,KAAK,CAAC,EAA7C,MAAM,QAAA,EAAE,SAAS,QAA4B,CAAC;IAErD,IAAA,iBAAS,EAAC;QACR,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,kBAAkB,CAAC,UAAU,CAAC,aAAa,CAAC;aACzC,IAAI,CAAC,UAAC,QAAQ,IAAK,OAAA,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAzB,CAAyB,CAAC;aAC7C,KAAK,CAAC,cAAM,OAAA,KAAK,IAAI,SAAS,CAAC,IAAI,CAAC,EAAxB,CAAwB,CAAC,CAAC;QACzC,OAAO;YACL,KAAK,GAAG,KAAK,CAAC;QAChB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;IAE/B,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,uBAAC,cAAc,IAAC,UAAU,EAAE,UAAU,EAAE,oBAAoB,EAAE,oBAAoB,GAAI,CAAC;IAChG,CAAC;IACD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,uBAAC,uBAAc,IAAC,KAAK,EAAC,OAAO,EAAC,MAAM,EAAC,OAAO,GAAG,CAAC;IACzD,CAAC;IACD,OAAO,CACL,uBAAC,WAAW,IAAC,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAE,UAAG,UAAU,CAAC,QAAQ,6BAAqB,EAAE,OAAO,EAAE,MAAM,YAC5F,gCAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,QAAQ,GAAI,GAC/B,CACf,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;;GASG;AACH,IAAM,cAAc,GAAG,UAAC,EAQvB;QAPC,WAAW,iBAAA,EACX,kBAAkB,wBAAA,EAClB,oBAAoB,0BAAA;IAMpB,IAAM,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAChD,IAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,IAAA,gBAAO,EAAC,CAAC,CAAC,YAAY,CAAC,EAAvB,CAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrF,IAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,aAAa,EAAf,CAAe,CAAC,CAAC,CAAC;IAC7D,IAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,EAA9B,CAA8B,CAAC,CAAC;IACxE,4DAA4D;IACtD,IAAA,KAA4B,IAAA,gBAAQ,EAAgB,IAAI,CAAC,EAAxD,SAAS,QAAA,EAAE,YAAY,QAAiC,CAAC;IAEhE,OAAO,CACL,wBAAC,2BAAkB,IAAC,QAAQ,QAAC,OAAO,EAAC,OAAO,EAAC,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,aACjE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CACf,uBAAC,2BAAkB,IAAC,IAAI,QAAC,OAAO,EAAC,OAAO,EAAC,aAAa,EAAC,YAAY,YAChE,MAAM,CAAC,GAAG,CAAC,UAAC,UAAU,EAAE,KAAK,IAAK,OAAA,CACjC,uBAAC,UAAU,IAET,UAAU,EAAE,UAAU,EACtB,kBAAkB,EAAE,kBAAmB,EACvC,MAAM,EAAE,cAAM,OAAA,YAAY,CAAC,KAAK,CAAC,EAAnB,CAAmB,EACjC,oBAAoB,EAAE,oBAAoB,IAJrC,UAAU,CAAC,aAAa,CAK7B,CACH,EARkC,CAQlC,CAAC,GACiB,CACtB,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CACd,uBAAC,2BAAkB,IAAC,IAAI,QAAC,OAAO,EAAC,OAAO,YACrC,KAAK,CAAC,GAAG,CAAC,UAAC,UAAU,IAAK,OAAA,CACzB,uBAAC,cAAc,IAEb,UAAU,EAAE,UAAU,EACtB,oBAAoB,EAAE,oBAAoB,IAFrC,UAAU,CAAC,aAAa,CAG7B,CACH,EAN0B,CAM1B,CAAC,GACiB,CACtB,CAAC,CAAC,CAAC,IAAI,EACP,SAAS,KAAK,IAAI,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAC1C,uBAAC,6BAAa,IACZ,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,cAAM,OAAA,YAAY,CAAC,IAAI,CAAC,EAAlB,CAAkB,EACjC,kBAAkB,EAAE,kBAAkB,EACtC,UAAU,EAAE,oBAAoB,GAChC,CACH,CAAC,CAAC,CAAC,IAAI,IACW,CACtB,CAAC;AACJ,CAAC,CAAC;AAEF,wFAAwF;AACxF,IAAM,gBAAgB,GAAG,2BAAM,CAAC,GAAG,uFAAA,oBAElC,IAAA,CAAC;AAEF,wFAAwF;AACxF,IAAM,gBAAgB,GAAG,2BAAM,CAAC,GAAG,uIAAA,kEAIlC,IAAA,CAAC;AAEF;;;;;;;;;GASG;AACH,IAAM,aAAa,GAAG,UAAC,EAMtB;;QALC,OAAO,aAAA,EACP,MAAM,YAAA;IAKN,IAAM,IAAI,GAAG,IAAA,qCAAqB,EAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACzD,IAAI,OAAO,CAAC,YAAY,KAAK,0BAA0B,EAAE,CAAC;QACxD,OAAO,CACL,uBAAC,gBAAgB,IAAC,EAAE,EAAE,IAAA,0BAAkB,EAAC,OAAO,CAAC,UAAU,CAAC,EAAE,SAAS,EAAC,2BAA2B,YACjG,uBAAC,2BAAkB,IACjB,KAAK;gBACL,0EAA0E;gBAC1E,IAAI,EAAE,KAAK,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,uBAAC,WAAW,cAAE,OAAO,CAAC,IAAI,GAAe,EAClD,OAAO,EACL,MAAM;oBACJ,CAAC,CAAC;wBACE;4BACE,KAAK,EAAE,MAAM,CAAC,KAAK;4BACnB,IAAI,EAAE,MAAM,CAAC,IAAI;4BACjB,MAAM,EAAE,MAAA,MAAM,CAAC,MAAM,mCAAI,SAAS;4BAClC,SAAS,EAAE,kCAAkC;4BAC7C,sEAAsE;4BACtE,uEAAuE;4BACvE,+DAA+D;4BAC/D,gEAAgE;4BAChE,YAAY,EAAE,KAAK;4BACnB,OAAO,EAAE,MAAM,CAAC,OAAO;yBACxB;qBACF;oBACH,CAAC,CAAC,SAAS,GAEf,GACe,CACpB,CAAC;IACJ,CAAC;IACD,sFAAsF;IACtF,sFAAsF;IACtF,kFAAkF;IAClF,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,IAAI,wCAAwB,EAAE,CAAC;QAC7E,OAAO,CACL,uBAAC,gBAAgB,IAAC,EAAE,EAAE,IAAA,0BAAkB,EAAC,OAAO,CAAC,UAAU,CAAC,EAAE,SAAS,EAAC,2BAA2B,YACjG,uBAAC,2BAAkB,IACjB,OAAO,QACP,IAAI,EAAE,KAAK,EACX,IAAI,EAAC,OAAO,EACZ,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,OAAO,EAAE,uBAAC,wBAAa,IAAC,UAAU,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,YAAG,OAAO,CAAC,IAAI,GAAiB,GACjF,GACe,CACpB,CAAC;IACJ,CAAC;IACD,OAAO,CACL,wBAAC,eAAe,IAAC,EAAE,EAAE,IAAA,0BAAkB,EAAC,OAAO,CAAC,UAAU,CAAC,aACzD,uBAAC,mBAAU,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAC,MAAM,GAAG,EAC3C,uBAAC,wBAAa,cAAE,OAAO,CAAC,IAAI,GAAiB,IAC7B,CACnB,CAAC;AACJ,CAAC,CAAC;AAMF;;+CAE+C;AAC/C,IAAM,UAAU,GAAG,UAAC,QAAgC;IAClD,IAAM,QAAQ,GAAqB,EAAE,CAAC;IAEtC,KAAsB,UAAQ,EAAR,qBAAQ,EAAR,sBAAQ,EAAR,IAAQ,EAAE,CAAC;QAA5B,IAAM,OAAO,iBAAA;QAChB,IAAI,OAAO,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,SAAA,EAAE,CAAC,CAAC;YAC3C,SAAS;QACX,CAAC;QACD,IAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEK,IAAM,YAAY,GAAG,UAAC,EAaR;QAZnB,QAAQ,cAAA,EACR,kBAAuB,EAAvB,UAAU,mBAAG,UAAU,KAAA,EACvB,OAAO,aAAA,EACP,oBAAoB,0BAAA,EACpB,kBAAkB,wBAAA,EAClB,oBAAoB,0BAAA,EACpB,eAAe,qBAAA,EACf,gBAAgB,sBAAA,EAChB,mBAAmB,yBAAA,EACnB,gBAAgB,sBAAA,EAChB,iBAAiB,uBAAA,EACjB,gBAAgB,sBAAA;IAEhB,uFAAuF;IACvF,0FAA0F;IAC1F,yFAAyF;IACzF,2FAA2F;IAC3F,4FAA4F;IAC5F,uEAAuE;IACvE,IAAM,SAAS,GAAG,IAAA,cAAM,EAAiB,IAAI,CAAC,CAAC;IAC/C,IAAA,iBAAS,EAAC;;QACR,sFAAsF;QACtF,uFAAuF;QACvF,yFAAyF;QACzF,iEAAiE;QACjE,IAAI,QAAQ,GAAG,MAAA,MAAA,SAAS,CAAC,OAAO,0CAAE,aAAa,mCAAI,IAAI,CAAC;QACxD,OAAO,QAAQ,EAAE,CAAC;YAChB,IAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC;YACvD,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;gBACnD,MAAM;YACR,CAAC;YACD,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC;QACpC,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC7C,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAEtB,uFAAuF;IACvF,yFAAyF;IACzF,IAAM,QAAQ,GAAG,IAAA,eAAO,EAAC,cAAM,OAAA,UAAU,CAAC,QAAQ,CAAC,EAApB,CAAoB,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEjE,sFAAsF;IACtF,0FAA0F;IAC1F,oFAAoF;IACpF,IAAM,gBAAgB,GAAG,IAAA,eAAO,EAC9B,sBAAM,OAAA,MAAA,QAAQ,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,WAAW,KAAK,QAAQ,EAA1B,CAA0B,CAAC,0CAAE,UAAU,CAAA,EAAA,EAClE,CAAC,QAAQ,CAAC,CACX,CAAC;IACF,IAAM,WAAW,GAAG,IAAA,eAAO,EAAC;;QAC1B,IAAI,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,MAAM,CAAA,EAAE,CAAC;YAC9B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,UAAU,KAAK,gBAAgB,EAAjC,CAAiC,CAAC,CAAC;QACxE,OAAO,IAAA,yCAAyB,kCAAK,gBAAgB,SAAK,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,qBAAqB,mCAAI,EAAE,CAAC,QAAE,CAAC;IACrG,CAAC,EAAE,CAAC,gBAAgB,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAEnD,IAAM,OAAO,GAAG,UAAC,OAA6B;QAC5C,OAAA,OAAO,CAAC,UAAU,KAAK,gBAAgB,IAAI,WAAW;YACpD,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,OAAO,CAAC,qBAAqB;IAFjC,CAEiC,CAAC;IAEpC,iFAAiF;IACjF,kFAAkF;IAClF,8EAA8E;IAC9E,mFAAmF;IACnF,mEAAmE;IACnE,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAChC,OAAO,uBAAC,oBAAoB,KAAG,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACrB,OAAO,CACL,uBAAC,WAAW,cACV,uBAAC,yBAAgB,IAAC,IAAI,EAAC,WAAW,EAAC,KAAK,EAAC,iBAAiB,EAAC,IAAI,QAAC,WAAW,SAAG,GAClE,CACf,CAAC;IACJ,CAAC;IAED,OAAO,CACL,wBAAC,YAAY,IAAC,GAAG,EAAE,SAAS,aACzB,QAAQ,CAAC,GAAG,CAAC,UAAC,OAAO,EAAE,KAAK;gBAC3B,OAAA,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAC1B,uBAAC,aAAa,IAEZ,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,MAAM,EAAE,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAG,OAAO,CAAC,OAAO,CAAC,IAFvC,OAAO,CAAC,OAAO,CAAC,UAAU,CAG/B,CACH,CAAC,CAAC,CAAC,CACF,uBAAC,0BAAiB,cACf,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,OAAO;;wBAAK,OAAA,CACjC,wBAAC,qBAAY;4BAEX,oEAAoE;4BACpE,sDAAsD;4BACtD,EAAE,EAAE,IAAA,0BAAkB,EAAC,OAAO,CAAC,UAAU,CAAC,EAC1C,IAAI,EAAC,OAAO,EACZ,QAAQ,EAAC,KAAK,EACd,KAAK,EAAE,OAAO,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAC5D,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,EACrC,KAAK,EAAE,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,EACvC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAC,sBAAa,IAAC,IAAI,EAAE,OAAO,CAAC,OAAO,GAAI,CAAC,CAAC,CAAC,SAAS;4BACjF,kEAAkE;4BAClE,kEAAkE;4BAClE,kEAAkE;4BAClE,qEAAqE;4BACrE,qEAAqE;4BACrE,oEAAoE;4BACpE,yDAAyD;4BACzD,MAAM,EACJ,OAAO,CAAC,QAAQ;gCACd,CAAC,CAAC,SAAS;gCACX,CAAC,CAAC,OAAO,CAAC,WAAW,KAAK,UAAU;oCAClC,CAAC,CAAC,MAAM;oCACR,CAAC,CAAC,SAAS,EAEjB,WAAW,EACT,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAE7E,IAAI,EAAE,KAAK,EACX,OAAO,mBAEP,uBAAC,WAAW,cAAE,OAAO,CAAC,IAAI,GAAe,EACxC,CAAA,MAAA,OAAO,CAAC,WAAW,0CAAE,MAAM,EAAC,CAAC,CAAC,CAC7B,uBAAC,cAAc,IACb,WAAW,EAAE,OAAO,CAAC,WAAW,EAChC,kBAAkB,EAAE,kBAAkB,EACtC,oBAAoB,EAAE,oBAAoB,GAC1C,CACH,CAAC,CAAC,CAAC,IAAI,EACP,CAAA,MAAA,OAAO,CAAC,OAAO,CAAC,0CAAE,MAAM,EAAC,CAAC,CAAC,CAC1B,gCAAK,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,YAC1B,uBAAC,sCAAsB,IACrB,IAAI,EAAC,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,EAC5B,oBAAoB,EAAE,oBAAoB,EAC1C,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,mBAAmB,EAAE,mBAAmB,EACxC,gBAAgB,EAAE,gBAAgB,GAClC,GACE,CACP,CAAC,CAAC,CAAC,IAAI,KAnDH,OAAO,CAAC,UAAU,CAoDV,CAChB,CAAA;qBAAA,CAAC,IAxDoB,gBAAS,KAAK,CAAE,CAyDpB,CACrB;YAjED,CAiEC,CACF,EACD,wBAAC,gBAAO,IAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,aAC/D,QAAQ,CAAC,MAAM,cAAU,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAClD,IACG,CAChB,CAAC;AACJ,CAAC,CAAC;AA3JW,QAAA,YAAY,gBA2JvB"}
@@ -1,3 +1,3 @@
1
1
  export { TicketThread, ticketMessageDomId } from './TicketThread';
2
- export type { ITicketThreadAttachment, ITicketThreadMessage, ITicketThreadProps, } from './TicketThread';
2
+ export type { ITicketSystemEventAction, ITicketThreadAttachment, ITicketThreadMessage, ITicketThreadProps, } from './TicketThread';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ticketThread/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAClE,YAAY,EACV,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ticketThread/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAClE,YAAY,EACV,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -13,7 +13,7 @@ export type { TReqraftUseStorage } from './hooks/useStorage/useStorage';
13
13
  export * from './hooks/useWebSocket/useWebSocket';
14
14
  export { initializeReqraft, ReqraftProvider, ReqraftQueryClient, } from './providers/ReqraftProvider';
15
15
  export { currentUserStore as ReqraftCurrentUserStore } from './stores/currentUser/currentUser';
16
- export type { ICurrentUser, ICurrentUserStore, } from './stores/currentUser/currentUser';
16
+ export type { ICurrentUser, ICurrentUserStore, ICurrentUserSupportSession, } from './stores/currentUser/currentUser';
17
17
  export { fetchConfig, isQueryCancelled, query, queryRaw, reqraftApiPath, reqraftCacheKey, setupFetch, } from './utils/fetch';
18
18
  export type { IReqraftFetchConfig, IReqraftFetchResponse, IReqraftQueryConfig, IReqraftRawResponse, } from './utils/fetch';
19
19
  export * from './utils/websocket';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,4BAA4B,EAC5B,eAAe,EACf,gCAAgC,EAChC,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,YAAY,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,cAAc,mCAAmC,CAAC;AAClD,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,kBAAkB,GACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,gBAAgB,IAAI,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC/F,YAAY,EACV,YAAY,EACZ,iBAAiB,GAClB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,KAAK,EACL,QAAQ,EACR,cAAc,EACd,eAAe,EACf,UAAU,GACX,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AACvB,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,YAAY,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAClE,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,wBAAwB,EACxB,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,wBAAwB,EACxB,YAAY,EACZ,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AAItC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,4BAA4B,EAC5B,eAAe,EACf,gCAAgC,EAChC,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,YAAY,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,cAAc,mCAAmC,CAAC;AAClD,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,kBAAkB,GACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,gBAAgB,IAAI,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC/F,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,KAAK,EACL,QAAQ,EACR,cAAc,EACd,eAAe,EACf,UAAU,GACX,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AACvB,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,YAAY,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAClE,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,wBAAwB,EACxB,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,wBAAwB,EACxB,YAAY,EACZ,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AAItC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,uDAAqC;AACrC,qDAU+B;AAT7B,4GAAA,aAAa,OAAA;AACb,sHAAA,uBAAuB,OAAA;AACvB,yGAAA,UAAU,OAAA;AACV,+GAAA,gBAAgB,OAAA;AAChB,6GAAA,cAAc,OAAA;AACd,2HAAA,4BAA4B,OAAA;AAC5B,8GAAA,eAAe,OAAA;AACf,+HAAA,gCAAgC,OAAA;AAChC,wHAAA,yBAAyB,OAAA;AAG3B,iDAAoD;AAA3C,0GAAA,aAAa,OAAA;AACtB,6DAA2C;AAC3C,+CAAqD;AAA5C,mGAAA,WAAW,OAAA;AAQpB,sDAAqD;AAA5C,oGAAA,QAAQ,OAAA;AAEjB,4DAAkE;AAAzD,+GAAA,iBAAiB,OAAA;AAE1B,oEAAkD;AAClD,+DAIqC;AAHnC,oHAAA,iBAAiB,OAAA;AACjB,kHAAA,eAAe,OAAA;AACf,qHAAA,kBAAkB,OAAA;AAEpB,gEAA+F;AAAtF,sHAAA,gBAAgB,OAA2B;AAKpD,uCAQuB;AAPrB,oGAAA,WAAW,OAAA;AACX,yGAAA,gBAAgB,OAAA;AAChB,8FAAA,KAAK,OAAA;AACL,iGAAA,QAAQ,OAAA;AACR,uGAAA,cAAc,OAAA;AACd,wGAAA,eAAe,OAAA;AACf,mGAAA,UAAU,OAAA;AAQZ,oDAAkC;AAClC,+CAAqD;AAA5C,6GAAA,gBAAgB,OAAA;AAiBzB,wDAAsC;AACtC,2DAAyC;AACzC,0DAAwC;AACxC,iEAA+C;AAC/C,6DAA2C;AAC3C,4DAA0C;AAC1C,gEAA8C;AAC9C,+DAA6C;AAC7C,wDAAsC;AACtC,sFAAsF;AACtF,qFAAqF;AACrF,+FAA+F;AAC/F,6CAA2B;AAC3B,gDAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,uDAAqC;AACrC,qDAU+B;AAT7B,4GAAA,aAAa,OAAA;AACb,sHAAA,uBAAuB,OAAA;AACvB,yGAAA,UAAU,OAAA;AACV,+GAAA,gBAAgB,OAAA;AAChB,6GAAA,cAAc,OAAA;AACd,2HAAA,4BAA4B,OAAA;AAC5B,8GAAA,eAAe,OAAA;AACf,+HAAA,gCAAgC,OAAA;AAChC,wHAAA,yBAAyB,OAAA;AAG3B,iDAAoD;AAA3C,0GAAA,aAAa,OAAA;AACtB,6DAA2C;AAC3C,+CAAqD;AAA5C,mGAAA,WAAW,OAAA;AAQpB,sDAAqD;AAA5C,oGAAA,QAAQ,OAAA;AAEjB,4DAAkE;AAAzD,+GAAA,iBAAiB,OAAA;AAE1B,oEAAkD;AAClD,+DAIqC;AAHnC,oHAAA,iBAAiB,OAAA;AACjB,kHAAA,eAAe,OAAA;AACf,qHAAA,kBAAkB,OAAA;AAEpB,gEAA+F;AAAtF,sHAAA,gBAAgB,OAA2B;AAMpD,uCAQuB;AAPrB,oGAAA,WAAW,OAAA;AACX,yGAAA,gBAAgB,OAAA;AAChB,8FAAA,KAAK,OAAA;AACL,iGAAA,QAAQ,OAAA;AACR,uGAAA,cAAc,OAAA;AACd,wGAAA,eAAe,OAAA;AACf,mGAAA,UAAU,OAAA;AAQZ,oDAAkC;AAClC,+CAAqD;AAA5C,6GAAA,gBAAgB,OAAA;AAiBzB,wDAAsC;AACtC,2DAAyC;AACzC,0DAAwC;AACxC,iEAA+C;AAC/C,6DAA2C;AAC3C,4DAA0C;AAC1C,gEAA8C;AAC9C,+DAA6C;AAC7C,wDAAsC;AACtC,sFAAsF;AACtF,qFAAqF;AACrF,+FAA+F;AAC/F,6CAA2B;AAC3B,gDAA8B"}
@@ -1,5 +1,6 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { TReqraftStorage } from '../contexts/StorageContext';
3
+ import { ICurrentUser } from '../stores/currentUser/currentUser';
3
4
  import { IReqraftProviderProps } from './ReqraftProvider';
4
5
  /**
5
6
  * Apply a single path write onto the current storage blob, seeding a fresh object
@@ -13,6 +14,16 @@ import { IReqraftProviderProps } from './ReqraftProvider';
13
14
  * the banner never closes. Exported for testing.
14
15
  */
15
16
  export declare const applyStorageWrite: (storage: TReqraftStorage | undefined, path: string, value: unknown) => TReqraftStorage;
17
+ /**
18
+ * Whether the current user's storage may be persisted. The server answers
19
+ * `storage_writable: false` for an identity whose storage is not its own to keep — a
20
+ * staff member in an interactive support session reads a customer's workspace as the
21
+ * workspace's reader principal, and a preference they flip must not land in that
22
+ * principal's storage (qorus#693). A write for such a user is applied in memory only,
23
+ * so the page behaves as it always does, and nothing is sent. A user the flag is
24
+ * absent for is writable: that is every server from before the flag existed.
25
+ */
26
+ export declare const storageIsWritable: (user?: Pick<ICurrentUser, 'storage_writable'>) => boolean;
16
27
  export interface IReqraftStorageProviderProps extends Pick<IReqraftProviderProps, 'waitForStorage'> {
17
28
  children: ReactNode;
18
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"StorageProvider.d.ts","sourceRoot":"","sources":["../../src/providers/StorageProvider.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAwB,MAAM,OAAO,CAAC;AAGxD,OAAO,EAAyB,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAMpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,YACnB,eAAe,GAAG,SAAS,QAC9B,MAAM,SACL,OAAO,KACb,eAA6D,CAAC;AAEjE,MAAM,WAAW,4BACf,SAAQ,IAAI,CAAC,qBAAqB,EAAE,gBAAgB,CAAC;IACrD,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,eAAO,MAAM,mBAAmB,iCAAkC,4BAA4B,4CAgG7F,CAAC"}
1
+ {"version":3,"file":"StorageProvider.d.ts","sourceRoot":"","sources":["../../src/providers/StorageProvider.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAwB,MAAM,OAAO,CAAC;AAGxD,OAAO,EAAyB,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAIpF,OAAO,EAAoB,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,YACnB,eAAe,GAAG,SAAS,QAC9B,MAAM,SACL,OAAO,KACb,eAA6D,CAAC;AAEjE;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,UAAW,KAAK,YAAY,EAAE,kBAAkB,CAAC,KAAG,OAChD,CAAC;AAEnC,MAAM,WAAW,4BACf,SAAQ,IAAI,CAAC,qBAAqB,EAAE,gBAAgB,CAAC;IACrD,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,eAAO,MAAM,mBAAmB,iCAAkC,4BAA4B,4CAqG7F,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ReqraftUserProvider = exports.applyStorageWrite = void 0;
3
+ exports.ReqraftUserProvider = exports.storageIsWritable = exports.applyStorageWrite = void 0;
4
4
  var jsx_runtime_1 = require("react/jsx-runtime");
5
5
  var lodash_1 = require("lodash");
6
6
  var react_1 = require("react");
@@ -23,6 +23,19 @@ var fetch_1 = require("../utils/fetch");
23
23
  */
24
24
  var applyStorageWrite = function (storage, path, value) { var _a; return (0, lodash_1.set)((_a = (0, lodash_1.cloneDeep)(storage)) !== null && _a !== void 0 ? _a : {}, path, value); };
25
25
  exports.applyStorageWrite = applyStorageWrite;
26
+ /**
27
+ * Whether the current user's storage may be persisted. The server answers
28
+ * `storage_writable: false` for an identity whose storage is not its own to keep — a
29
+ * staff member in an interactive support session reads a customer's workspace as the
30
+ * workspace's reader principal, and a preference they flip must not land in that
31
+ * principal's storage (qorus#693). A write for such a user is applied in memory only,
32
+ * so the page behaves as it always does, and nothing is sent. A user the flag is
33
+ * absent for is writable: that is every server from before the flag existed.
34
+ */
35
+ var storageIsWritable = function (user) {
36
+ return (user === null || user === void 0 ? void 0 : user.storage_writable) !== false;
37
+ };
38
+ exports.storageIsWritable = storageIsWritable;
26
39
  var ReqraftUserProvider = function (_a) {
27
40
  var children = _a.children, waitForStorage = _a.waitForStorage;
28
41
  var appName = (0, useReqraftProperty_1.useReqraftProperty)('appName');
@@ -66,7 +79,10 @@ var ReqraftUserProvider = function (_a) {
66
79
  var latestStorage = (_a = currentUser_1.currentUserStore.getState().currentUser) === null || _a === void 0 ? void 0 : _a.storage;
67
80
  var updatedStorage = (0, exports.applyStorageWrite)(latestStorage, _path, value);
68
81
  updateCurrentUserStorage(updatedStorage);
69
- load({ body: { storage: updatedStorage } });
82
+ // in memory only for a user whose storage is not theirs to keep
83
+ if ((0, exports.storageIsWritable)(currentUser_1.currentUserStore.getState().currentUser)) {
84
+ load({ body: { storage: updatedStorage } });
85
+ }
70
86
  }, [appName, load, updateCurrentUserStorage]);
71
87
  var removeStorageValue = (0, react_1.useCallback)(function (path, includeAppPrefix) {
72
88
  var _a;
@@ -77,7 +93,9 @@ var ReqraftUserProvider = function (_a) {
77
93
  var latestStorage = (_a = currentUser_1.currentUserStore.getState().currentUser) === null || _a === void 0 ? void 0 : _a.storage;
78
94
  var updatedStorage = (0, exports.applyStorageWrite)(latestStorage, _path, null);
79
95
  updateCurrentUserStorage(updatedStorage);
80
- load({ body: { storage_path: _path } });
96
+ if ((0, exports.storageIsWritable)(currentUser_1.currentUserStore.getState().currentUser)) {
97
+ load({ body: { storage_path: _path } });
98
+ }
81
99
  }, [appName, load, updateCurrentUserStorage]);
82
100
  var contextValue = (0, react_1.useMemo)(function () { return ({ storage: currentUser === null || currentUser === void 0 ? void 0 : currentUser.storage, getStorage: getStorage, updateStorage: updateStorage, removeStorageValue: removeStorageValue }); }, [currentUser === null || currentUser === void 0 ? void 0 : currentUser.storage, getStorage, updateStorage, removeStorageValue]);
83
101
  if (loading && waitForStorage) {
@@ -1 +1 @@
1
- {"version":3,"file":"StorageProvider.js","sourceRoot":"","sources":["../../src/providers/StorageProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StorageProvider.js","sourceRoot":"","sources":["../../src/providers/StorageProvider.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,35 @@
1
+ /**
2
+ * The interactive support session a current user is in, when it is one (qorus#693
3
+ * Layer 3): a staff member reading a customer's workspace in the IDE, read-only, as
4
+ * the workspace's support reader. Exactly what the server puts on the request context
5
+ * for such a session, never a token. Absent for every ordinary user.
6
+ */
7
+ export interface ICurrentUserSupportSession {
8
+ /** the session's id on the control plane */
9
+ session_id: string;
10
+ /** the customer's grant the session runs under */
11
+ grant_id: string;
12
+ /** the ticket the grant belongs to */
13
+ ticket_id: string;
14
+ /** the ticket's number, for display */
15
+ ticket_number?: number;
16
+ /** the control-plane staff identity the session belongs to */
17
+ actor: string;
18
+ /** the staff member's display name, when the control plane has it */
19
+ actor_name?: string;
20
+ /** the workspace's portable namespace */
21
+ group_namespace: number;
22
+ /** the workspace group's name */
23
+ group_name?: string;
24
+ /** the identity profile, `workspace-read` */
25
+ profile: string;
26
+ /** when the session ends at the latest: the grant's expiry (ISO 8601) */
27
+ expires: string;
28
+ /** where the IDE opens — `kind` and `name` or `id` — when the staff member came from a reference */
29
+ target?: Record<string, unknown>;
30
+ /** the control-plane page to return to */
31
+ portal_url?: string;
32
+ }
1
33
  export interface ICurrentUser {
2
34
  provider: string;
3
35
  username: string;
@@ -16,6 +48,16 @@ export interface ICurrentUser {
16
48
  storage?: Record<string, any>;
17
49
  sandboxed?: boolean;
18
50
  default_group?: string;
51
+ /**
52
+ * Whether the user's storage can be written back to the server. `false` for an
53
+ * identity whose storage is not its own to keep — an interactive support session
54
+ * reads a workspace as its reader principal — and then every storage write stays
55
+ * in memory for the page's lifetime (see `ReqraftUserProvider`). Absent means
56
+ * writable, as on every server from before the flag.
57
+ */
58
+ storage_writable?: boolean;
59
+ /** present only in an interactive support session (qorus#693 Layer 3) */
60
+ support_session?: ICurrentUserSupportSession;
19
61
  }
20
62
  export interface ICurrentUserStore {
21
63
  currentUser?: ICurrentUser;
@@ -1 +1 @@
1
- {"version":3,"file":"currentUser.d.ts","sourceRoot":"","sources":["../../../src/stores/currentUser/currentUser.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,IAAI,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,SAAS,CAAC,EAAE,GAAG,CAAC;IAEhB,gBAAgB,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC;IACrD,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;CACvD;AAED,eAAO,MAAM,gBAAgB,gFA0D1B,CAAC"}
1
+ {"version":3,"file":"currentUser.d.ts","sourceRoot":"","sources":["../../../src/stores/currentUser/currentUser.tsx"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,eAAe,EAAE,MAAM,CAAC;IACxB,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAC;IAChB,oGAAoG;IACpG,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,yEAAyE;IACzE,eAAe,CAAC,EAAE,0BAA0B,CAAC;CAC9C;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,IAAI,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,SAAS,CAAC,EAAE,GAAG,CAAC;IAEhB,gBAAgB,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC;IACrD,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;CACvD;AAED,eAAO,MAAM,gBAAgB,gFA0D1B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"currentUser.js","sourceRoot":"","sources":["../../../src/stores/currentUser/currentUser.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAiC;AACjC,2CAAmF;AAkCtE,QAAA,gBAAgB,GAAG,IAAA,gBAAM,EAAoB,UAAC,GAAG,EAAE,GAAG,IAAK,OAAA,CAAC;IACvE,WAAW,EAAE,SAAS;IACtB,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE;;;;;oBACJ,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;;;;oBAKV,qBAAM,IAAA,aAAK,EAAe,EAAE,GAAG,EAAE,sBAAsB,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAA;;oBAAnF,QAAQ,GAAG,SAAwE,CAAC;;;;oBAEpF;;;;gFAI4D;oBAC5D,IAAI,IAAA,wBAAgB,EAAC,OAAK,CAAC,EAAE,CAAC;wBAC5B,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC1B,CAAC;yBAAM,CAAC;wBACN,GAAG,CAAC;4BACF,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,OAAc;4BACrB,WAAW,EAAE,SAAS;4BACtB,SAAS,EAAE,SAAS;yBACrB,CAAC,CAAC;oBACL,CAAC;oBAED,sBAAO,OAAO,CAAC,MAAM,CAAC,OAAK,CAAC,EAAC;;oBAG/B,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;wBACjB,GAAG,CAAC;4BACF,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,QAAQ,CAAC,KAAK;4BACrB,WAAW,EAAE,SAAS;4BACtB,SAAS,EAAE,QAAQ,CAAC,IAAI;yBACzB,CAAC,CAAC;wBAEH,sBAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAC;oBACxC,CAAC;oBAED,GAAG,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;oBAE5F,sBAAO,QAAQ,CAAC,IAAI,EAAC;;;SACtB;IACD,gBAAgB,EAAE,UAAC,WAAW;QAC5B,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;QAEO,IAAA,WAAW,GAAK,GAAG,EAAE,YAAV,CAAW;QAE9B,OAAO,WAAW,CAAC,IAAI,CAAC,UAAC,UAAU,YAAK,OAAA,MAAA,WAAW,CAAC,WAAW,0CAAE,QAAQ,CAAC,UAAU,CAAC,CAAA,EAAA,CAAC,CAAC;IACzF,CAAC;IACD,aAAa,EAAE,UAAC,OAAO;QACrB,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,CAAC,EAAE,WAAW,wBAAO,KAAK,CAAC,WAAW,KAAE,OAAO,SAAA,GAAE,EAAE,CAAC,EAApD,CAAoD,CAAC,CAAC;IACvE,CAAC;CACF,CAAC,EA1DsE,CA0DtE,CAAC,CAAC"}
1
+ {"version":3,"file":"currentUser.js","sourceRoot":"","sources":["../../../src/stores/currentUser/currentUser.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAiC;AACjC,2CAAmF;AA6EtE,QAAA,gBAAgB,GAAG,IAAA,gBAAM,EAAoB,UAAC,GAAG,EAAE,GAAG,IAAK,OAAA,CAAC;IACvE,WAAW,EAAE,SAAS;IACtB,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE;;;;;oBACJ,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;;;;oBAKV,qBAAM,IAAA,aAAK,EAAe,EAAE,GAAG,EAAE,sBAAsB,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAA;;oBAAnF,QAAQ,GAAG,SAAwE,CAAC;;;;oBAEpF;;;;gFAI4D;oBAC5D,IAAI,IAAA,wBAAgB,EAAC,OAAK,CAAC,EAAE,CAAC;wBAC5B,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC1B,CAAC;yBAAM,CAAC;wBACN,GAAG,CAAC;4BACF,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,OAAc;4BACrB,WAAW,EAAE,SAAS;4BACtB,SAAS,EAAE,SAAS;yBACrB,CAAC,CAAC;oBACL,CAAC;oBAED,sBAAO,OAAO,CAAC,MAAM,CAAC,OAAK,CAAC,EAAC;;oBAG/B,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;wBACjB,GAAG,CAAC;4BACF,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,QAAQ,CAAC,KAAK;4BACrB,WAAW,EAAE,SAAS;4BACtB,SAAS,EAAE,QAAQ,CAAC,IAAI;yBACzB,CAAC,CAAC;wBAEH,sBAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAC;oBACxC,CAAC;oBAED,GAAG,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;oBAE5F,sBAAO,QAAQ,CAAC,IAAI,EAAC;;;SACtB;IACD,gBAAgB,EAAE,UAAC,WAAW;QAC5B,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;QAEO,IAAA,WAAW,GAAK,GAAG,EAAE,YAAV,CAAW;QAE9B,OAAO,WAAW,CAAC,IAAI,CAAC,UAAC,UAAU,YAAK,OAAA,MAAA,WAAW,CAAC,WAAW,0CAAE,QAAQ,CAAC,UAAU,CAAC,CAAA,EAAA,CAAC,CAAC;IACzF,CAAC;IACD,aAAa,EAAE,UAAC,OAAO;QACrB,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,CAAC,EAAE,WAAW,wBAAO,KAAK,CAAC,WAAW,KAAE,OAAO,SAAA,GAAE,EAAE,CAAC,EAApD,CAAoD,CAAC,CAAC;IACvE,CAAC;CACF,CAAC,EA1DsE,CA0DtE,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qoretechnologies/reqraft",
3
- "version": "0.10.64",
3
+ "version": "0.10.65-pr.148.gc6381e4",
4
4
  "description": "ReQraft is a collection of React components and hooks that are used across Qore Technologies' products made using the ReQore component library from Qore.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -57,7 +57,7 @@
57
57
  "@chromatic-com/storybook": "^5.2.1",
58
58
  "@netsells/storybook-mockdate": "^0.3.3",
59
59
  "@qoretechnologies/qlip": "^0.1.3-beta.20260929120101",
60
- "@qoretechnologies/reqore": "^0.77.2",
60
+ "@qoretechnologies/reqore": "^0.78.8",
61
61
  "@storybook/addon-docs": "^10.4.6",
62
62
  "@storybook/addon-links": "^10.4.6",
63
63
  "@storybook/addon-vitest": "^10.4.6",
@@ -255,3 +255,59 @@ export const KindImageFailsToLoad: Story = {
255
255
  await expect(canvasElement.querySelector('.reqore-tag .reqore-icon')).toBeTruthy();
256
256
  },
257
257
  };
258
+
259
+ /**
260
+ * A viewer that can open SOME references: the IDE under a support grant, or any viewer
261
+ * after an interface moved group or was deleted since it was cited. `isInterfaceLinkable`
262
+ * keeps the refused chips in place — they are still what was cited — but without the
263
+ * click, with an unlink glyph, and with `unlinkableReason` in the tooltip.
264
+ */
265
+ export const MixedLinkability: Story = {
266
+ parameters: {
267
+ docs: {
268
+ description: {
269
+ story:
270
+ 'Renders four chips of which two can be opened: the refused ones keep their place and look but carry an unlink glyph and no click, with the reason in their tooltip (qorus#693).',
271
+ },
272
+ },
273
+ },
274
+ args: {
275
+ onInterfaceClick: fn(),
276
+ isInterfaceLinkable: (reference: IInterfaceReference) => reference.interface_kind !== 'workflow',
277
+ unlinkableReason: (reference: IInterfaceReference) =>
278
+ reference.interface_kind === 'workflow' ? 'not covered by the support grant' : undefined,
279
+ },
280
+ async play({ canvasElement, args }) {
281
+ const canvas = within(canvasElement);
282
+ await userEvent.click(canvas.getByText('order-sync:1.2'));
283
+ await expect(args.onInterfaceClick).not.toHaveBeenCalled();
284
+ await userEvent.click(canvas.getByText('notification-svc'));
285
+ await waitFor(() =>
286
+ expect(args.onInterfaceClick).toHaveBeenCalledWith(
287
+ expect.objectContaining({ interface_kind: 'service', interface_name: 'notification-svc' })
288
+ )
289
+ );
290
+ await expect(args.onInterfaceClick).toHaveBeenCalledTimes(1);
291
+ },
292
+ };
293
+
294
+ /** The same mixed chips at phone width: the glyph is what tells the two apart on a
295
+ * screen with no hover, so it has to survive the wrap. */
296
+ export const MixedLinkabilityMobile: Story = {
297
+ parameters: {
298
+ qlip: { viewport: { width: 390, height: 844 } },
299
+ docs: {
300
+ description: {
301
+ story:
302
+ 'Renders the mixed linkable and unlinkable chips at 390px: they wrap, and the refused ones still carry the unlink glyph, which is the only cue on a screen without hover.',
303
+ },
304
+ },
305
+ },
306
+ args: MixedLinkability.args,
307
+ async play({ canvasElement }) {
308
+ const canvas = within(canvasElement);
309
+ await expect(canvas.getByText('order-sync:1.2')).toBeInTheDocument();
310
+ await expect(canvas.getByText('nightly-cleanup')).toBeInTheDocument();
311
+ },
312
+ };
313
+
@@ -4,6 +4,7 @@ import { ComponentProps } from 'react';
4
4
  import {
5
5
  defaultInterfaceIcon,
6
6
  IInterfaceReference,
7
+ interfaceReferenceKey,
7
8
  toInterfaceKindMark,
8
9
  TResolveInterfaceIcon,
9
10
  } from './meta';
@@ -22,6 +23,18 @@ export interface IInterfaceReferenceTagsProps {
22
23
  /** Open a referenced interface; chips are static (informational) when omitted —
23
24
  * e.g. the staff view, which can't reach the customer's instance. */
24
25
  onInterfaceClick?: (reference: IInterfaceReference) => void;
26
+ /**
27
+ * Whether a reference can be opened right now; consulted only when `onInterfaceClick`
28
+ * is given, and every reference is linkable when it is omitted. A chip it refuses
29
+ * renders without the click and with an unlink glyph, and its tooltip carries
30
+ * `unlinkableReason` when there is one. A support reader can open only what the
31
+ * customer's grant covers, and an interface that moved group or was deleted since it
32
+ * was cited is a reference with nowhere to go — the chip still shows what was cited.
33
+ */
34
+ isInterfaceLinkable?: (reference: IInterfaceReference) => boolean;
35
+ /** Why a reference is not linkable, for the chip's tooltip ("not covered by the
36
+ * grant", "no longer on the instance"). Consulted only for refused references. */
37
+ unlinkableReason?: (reference: IInterfaceReference) => string | undefined;
25
38
  /**
26
39
  * Detach a reference. Each chip grows an "×" when given — for the composer,
27
40
  * where the chips are the references you're about to send and so are still
@@ -68,6 +81,8 @@ export const InterfaceReferenceTags = ({
68
81
  label,
69
82
  resolveInterfaceIcon,
70
83
  onInterfaceClick,
84
+ isInterfaceLinkable,
85
+ unlinkableReason,
71
86
  onRemove,
72
87
  size = 'small',
73
88
  intent,
@@ -100,25 +115,30 @@ export const InterfaceReferenceTags = ({
100
115
  // The chosen image (see `preferKindImage`) once it has loaded; the kind's
101
116
  // font icon until then, and if it fails.
102
117
  const loaded = isLoaded(image);
118
+ // Linkable: a click handler is wired AND the consumer does not refuse this one.
119
+ // A refused chip keeps its look and says why, instead of opening nothing.
120
+ const linkable = !!onInterfaceClick && (isInterfaceLinkable?.(reference) ?? true);
121
+ const reason = onInterfaceClick && !linkable ? unlinkableReason?.(reference) : undefined;
122
+ const described = `${reference.interface_kind}: ${reference.interface_name}`;
103
123
  return (
104
124
  <ReqoreTag
105
- key={
106
- reference.reference_id ??
107
- `${reference.interface_kind}:${reference.interface_name}`
108
- }
125
+ key={reference.reference_id ?? interfaceReferenceKey(reference)}
109
126
  icon={icon}
110
127
  leftIconProps={loaded ? { image } : undefined}
128
+ rightIcon={onInterfaceClick && !linkable ? 'LinkUnlinkM' : undefined}
111
129
  labelKey={reference.interface_kind}
112
130
  label={reference.interface_name}
113
131
  size={size}
114
132
  intent={intent}
115
133
  customTheme={customTheme}
116
134
  tooltip={
117
- onInterfaceClick
135
+ linkable
118
136
  ? `Open ${reference.interface_kind} ${reference.interface_name}`
119
- : `${reference.interface_kind}: ${reference.interface_name}`
137
+ : reason
138
+ ? `${described} — ${reason}`
139
+ : described
120
140
  }
121
- onClick={onInterfaceClick ? () => onInterfaceClick(reference) : undefined}
141
+ onClick={linkable ? () => onInterfaceClick(reference) : undefined}
122
142
  onRemoveClick={onRemove ? () => onRemove(reference) : undefined}
123
143
  removeTooltip={`Remove ${reference.interface_kind} ${reference.interface_name}`}
124
144
  />
@@ -16,6 +16,7 @@ import {
16
16
  IInterfaceReference,
17
17
  toInterfaceKindMark,
18
18
  TResolveInterfaceIcon,
19
+ normalizeInterfaceKind,
19
20
  } from './meta';
20
21
  import { useLoadedImages } from './useLoadedImages';
21
22
 
@@ -342,7 +343,9 @@ export const ReferencePicker = ({
342
343
  () =>
343
344
  new Set(
344
345
  (picked ?? [])
345
- .filter((reference) => reference.interface_kind === kind)
346
+ .filter(
347
+ (reference) => normalizeInterfaceKind(reference.interface_kind) === normalizeInterfaceKind(kind)
348
+ )
346
349
  .map((reference) => reference.interface_name)
347
350
  ),
348
351
  [picked, kind]