@qoretechnologies/reqraft 0.10.57 → 0.10.58-pr.129.g43f4175

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 (86) hide show
  1. package/design/FORM_ENGINE_COMPACT.md +23 -5
  2. package/dist/components/form/engine/CompactToolbar.d.ts.map +1 -1
  3. package/dist/components/form/engine/CompactToolbar.js +2 -2
  4. package/dist/components/form/engine/CompactToolbar.js.map +1 -1
  5. package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
  6. package/dist/components/form/engine/FormEngine.js +35 -8
  7. package/dist/components/form/engine/FormEngine.js.map +1 -1
  8. package/dist/components/form/engine/OptionFieldMessages.d.ts.map +1 -1
  9. package/dist/components/form/engine/OptionFieldMessages.js +6 -3
  10. package/dist/components/form/engine/OptionFieldMessages.js.map +1 -1
  11. package/dist/components/form/engine/variants/VariantCalmTable.d.ts.map +1 -1
  12. package/dist/components/form/engine/variants/VariantCalmTable.js +1 -1
  13. package/dist/components/form/engine/variants/VariantCalmTable.js.map +1 -1
  14. package/dist/components/form/engine/variants/variantModel.d.ts.map +1 -1
  15. package/dist/components/form/engine/variants/variantModel.js +8 -3
  16. package/dist/components/form/engine/variants/variantModel.js.map +1 -1
  17. package/dist/components/form/fields/array/ArrayAuto.d.ts.map +1 -1
  18. package/dist/components/form/fields/array/ArrayAuto.js +8 -0
  19. package/dist/components/form/fields/array/ArrayAuto.js.map +1 -1
  20. package/dist/components/form/fields/array/ArrayAutoField.d.ts.map +1 -1
  21. package/dist/components/form/fields/array/ArrayAutoField.js +8 -0
  22. package/dist/components/form/fields/array/ArrayAutoField.js.map +1 -1
  23. package/dist/components/form/fields/binary/Binary.d.ts.map +1 -1
  24. package/dist/components/form/fields/binary/Binary.js +10 -0
  25. package/dist/components/form/fields/binary/Binary.js.map +1 -1
  26. package/dist/components/form/fields/emittedValues.d.ts +38 -0
  27. package/dist/components/form/fields/emittedValues.d.ts.map +1 -0
  28. package/dist/components/form/fields/emittedValues.js +67 -0
  29. package/dist/components/form/fields/emittedValues.js.map +1 -0
  30. package/dist/components/form/fields/long-string/LongString.d.ts.map +1 -1
  31. package/dist/components/form/fields/long-string/LongString.js +24 -8
  32. package/dist/components/form/fields/long-string/LongString.js.map +1 -1
  33. package/dist/components/form/fields/number/Number.d.ts.map +1 -1
  34. package/dist/components/form/fields/number/Number.js +9 -0
  35. package/dist/components/form/fields/number/Number.js.map +1 -1
  36. package/dist/components/form/fields/rich-text/RichText.d.ts.map +1 -1
  37. package/dist/components/form/fields/rich-text/RichText.js +10 -0
  38. package/dist/components/form/fields/rich-text/RichText.js.map +1 -1
  39. package/dist/components/supportTicket/InterfaceReferenceTags.d.ts +21 -5
  40. package/dist/components/supportTicket/InterfaceReferenceTags.d.ts.map +1 -1
  41. package/dist/components/supportTicket/InterfaceReferenceTags.js +24 -8
  42. package/dist/components/supportTicket/InterfaceReferenceTags.js.map +1 -1
  43. package/dist/components/supportTicket/ReferencePicker.d.ts +5 -4
  44. package/dist/components/supportTicket/ReferencePicker.d.ts.map +1 -1
  45. package/dist/components/supportTicket/ReferencePicker.js +27 -2
  46. package/dist/components/supportTicket/ReferencePicker.js.map +1 -1
  47. package/dist/components/supportTicket/meta.d.ts +16 -0
  48. package/dist/components/supportTicket/meta.d.ts.map +1 -1
  49. package/dist/components/supportTicket/meta.js +6 -1
  50. package/dist/components/supportTicket/meta.js.map +1 -1
  51. package/dist/components/supportTicket/useLoadedImages.d.ts +18 -0
  52. package/dist/components/supportTicket/useLoadedImages.d.ts.map +1 -0
  53. package/dist/components/supportTicket/useLoadedImages.js +72 -0
  54. package/dist/components/supportTicket/useLoadedImages.js.map +1 -0
  55. package/dist/components/ticketReferences/TicketReferences.d.ts +9 -5
  56. package/dist/components/ticketReferences/TicketReferences.d.ts.map +1 -1
  57. package/dist/components/ticketReferences/TicketReferences.js +22 -9
  58. package/dist/components/ticketReferences/TicketReferences.js.map +1 -1
  59. package/dist/components/ticketThread/TicketThread.d.ts +10 -6
  60. package/dist/components/ticketThread/TicketThread.d.ts.map +1 -1
  61. package/dist/components/ticketThread/TicketThread.js +2 -2
  62. package/dist/components/ticketThread/TicketThread.js.map +1 -1
  63. package/package.json +1 -1
  64. package/src/components/form/engine/CompactToolbar.tsx +8 -3
  65. package/src/components/form/engine/FormEngine.stories.tsx +206 -13
  66. package/src/components/form/engine/FormEngine.tsx +38 -8
  67. package/src/components/form/engine/OptionFieldMessages.tsx +7 -5
  68. package/src/components/form/engine/variants/VariantCalmTable.tsx +3 -1
  69. package/src/components/form/engine/variants/variantModel.ts +10 -3
  70. package/src/components/form/fields/array/ArrayAuto.tsx +10 -1
  71. package/src/components/form/fields/array/ArrayAutoField.tsx +10 -1
  72. package/src/components/form/fields/binary/Binary.tsx +10 -0
  73. package/src/components/form/fields/emittedValues.ts +62 -0
  74. package/src/components/form/fields/long-string/LongString.tsx +28 -8
  75. package/src/components/form/fields/number/Number.tsx +9 -0
  76. package/src/components/form/fields/rich-text/RichText.tsx +10 -0
  77. package/src/components/supportTicket/InterfaceReferenceTags.stories.tsx +86 -0
  78. package/src/components/supportTicket/InterfaceReferenceTags.tsx +44 -11
  79. package/src/components/supportTicket/ReferencePicker.stories.tsx +51 -0
  80. package/src/components/supportTicket/ReferencePicker.tsx +26 -5
  81. package/src/components/supportTicket/TicketReplyBox.stories.tsx +5 -2
  82. package/src/components/supportTicket/__fixtures__/kindMarks.ts +28 -0
  83. package/src/components/supportTicket/meta.ts +21 -0
  84. package/src/components/supportTicket/useLoadedImages.ts +73 -0
  85. package/src/components/ticketReferences/TicketReferences.tsx +27 -7
  86. package/src/components/ticketThread/TicketThread.tsx +11 -3
@@ -1,16 +1,17 @@
1
1
  import { ReqoreTag } from '@qoretechnologies/reqore';
2
2
  import { TSizes } from '@qoretechnologies/reqore/dist/constants/sizes';
3
- import { IReqoreIconName } from '@qoretechnologies/reqore/dist/types/icons';
4
3
  import { ComponentProps } from 'react';
5
- import { IInterfaceReference } from './meta';
4
+ import { IInterfaceReference, TResolveInterfaceIcon } from './meta';
6
5
  export interface IInterfaceReferenceTagsProps {
7
6
  references?: IInterfaceReference[];
8
7
  /** Optional leading label, e.g. "References" in a ticket header. Omitted (the
9
8
  * default) inside the thread, where the chips sit under a message. */
10
9
  label?: string;
11
- /** Resolve a per-kind icon. Consumers with their own icon vocabulary (the IDE)
10
+ /** Resolve a per-kind icon: a font icon, or a mark `{ icon, image }` whose image
11
+ * (e.g. the Qog logo) is drawn once it loads, with the font icon before that and
12
+ * instead of it if it fails. Consumers with their own icon vocabulary (the IDE)
12
13
  * pass one; when omitted the built-in per-kind default is used. */
13
- resolveInterfaceIcon?: (kind: string) => IReqoreIconName;
14
+ resolveInterfaceIcon?: TResolveInterfaceIcon;
14
15
  /** Open a referenced interface; chips are static (informational) when omitted —
15
16
  * e.g. the staff view, which can't reach the customer's instance. */
16
17
  onInterfaceClick?: (reference: IInterfaceReference) => void;
@@ -31,6 +32,21 @@ export interface IInterfaceReferenceTagsProps {
31
32
  * qogs list does. When this (or the reference's own `logo`) returns a value, the
32
33
  * chip shows the image in place of the kind icon. */
33
34
  resolveInterfaceImage?: (reference: IInterfaceReference) => string | undefined;
35
+ /**
36
+ * Which image a chip draws when there is more than one:
37
+ *
38
+ * - `false` (the default): the reference's own image first — its stored `logo`,
39
+ * then `resolveInterfaceImage` — and the kind's image (from
40
+ * `resolveInterfaceIcon`) only when it has neither. This is how chips have
41
+ * always looked: an app-triggered Qog shows its trigger app's logo.
42
+ * - `true`: the kind's image first, then the reference's own. For a host that
43
+ * draws every interface of a kind with one mark (the IDE's green Qog), so a
44
+ * Qog reads as a Qog whatever app triggers it.
45
+ *
46
+ * Either way the kind's font icon shows until the chosen image loads, and
47
+ * instead of it if it cannot.
48
+ */
49
+ preferKindImage?: boolean;
34
50
  }
35
51
  /**
36
52
  * The chips for the Qorus interfaces a ticket or message references, as
@@ -39,5 +55,5 @@ export interface IInterfaceReferenceTagsProps {
39
55
  * thread (per message, no label), and the Qonsole card — so a reference looks
40
56
  * identical everywhere. Renders nothing when there are no references.
41
57
  */
42
- export declare const InterfaceReferenceTags: ({ references, label, resolveInterfaceIcon, onInterfaceClick, onRemove, size, intent, customTheme, resolveInterfaceImage, }: IInterfaceReferenceTagsProps) => import("react/jsx-runtime").JSX.Element;
58
+ export declare const InterfaceReferenceTags: ({ references, label, resolveInterfaceIcon, onInterfaceClick, onRemove, size, intent, customTheme, resolveInterfaceImage, preferKindImage, }: IInterfaceReferenceTagsProps) => import("react/jsx-runtime").JSX.Element;
43
59
  //# sourceMappingURL=InterfaceReferenceTags.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InterfaceReferenceTags.d.ts","sourceRoot":"","sources":["../../../src/components/supportTicket/InterfaceReferenceTags.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+B,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,+CAA+C,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAwB,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAEnE,MAAM,WAAW,4BAA4B;IAC3C,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACnC;2EACuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;wEACoE;IACpE,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,eAAe,CAAC;IACzD;0EACsE;IACtE,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC5D;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACpD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;0FACsF;IACtF,MAAM,CAAC,EAAE,cAAc,CAAC,OAAO,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;IACpD,WAAW,CAAC,EAAE,cAAc,CAAC,OAAO,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC;IAC9D;;0DAEsD;IACtD,qBAAqB,CAAC,EAAE,CAAC,SAAS,EAAE,mBAAmB,KAAK,MAAM,GAAG,SAAS,CAAC;CAChF;AAED;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,+HAUhC,4BAA4B,4CA0C9B,CAAC"}
1
+ {"version":3,"file":"InterfaceReferenceTags.d.ts","sourceRoot":"","sources":["../../../src/components/supportTicket/InterfaceReferenceTags.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+B,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,+CAA+C,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAEL,mBAAmB,EAEnB,qBAAqB,EACtB,MAAM,QAAQ,CAAC;AAGhB,MAAM,WAAW,4BAA4B;IAC3C,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACnC;2EACuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;wEAGoE;IACpE,oBAAoB,CAAC,EAAE,qBAAqB,CAAC;IAC7C;0EACsE;IACtE,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC5D;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACpD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;0FACsF;IACtF,MAAM,CAAC,EAAE,cAAc,CAAC,OAAO,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;IACpD,WAAW,CAAC,EAAE,cAAc,CAAC,OAAO,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC;IAC9D;;0DAEsD;IACtD,qBAAqB,CAAC,EAAE,CAAC,SAAS,EAAE,mBAAmB,KAAK,MAAM,GAAG,SAAS,CAAC;IAC/E;;;;;;;;;;;;;OAaG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,gJAWhC,4BAA4B,4CAoD9B,CAAC"}
@@ -4,6 +4,7 @@ exports.InterfaceReferenceTags = void 0;
4
4
  var jsx_runtime_1 = require("react/jsx-runtime");
5
5
  var reqore_1 = require("@qoretechnologies/reqore");
6
6
  var meta_1 = require("./meta");
7
+ var useLoadedImages_1 = require("./useLoadedImages");
7
8
  /**
8
9
  * The chips for the Qorus interfaces a ticket or message references, as
9
10
  * `{kind, name}` snapshots. The single renderer for interface references across
@@ -12,17 +13,32 @@ var meta_1 = require("./meta");
12
13
  * identical everywhere. Renders nothing when there are no references.
13
14
  */
14
15
  var InterfaceReferenceTags = function (_a) {
15
- var references = _a.references, label = _a.label, resolveInterfaceIcon = _a.resolveInterfaceIcon, onInterfaceClick = _a.onInterfaceClick, onRemove = _a.onRemove, _b = _a.size, size = _b === void 0 ? 'small' : _b, intent = _a.intent, customTheme = _a.customTheme, resolveInterfaceImage = _a.resolveInterfaceImage;
16
+ var references = _a.references, label = _a.label, resolveInterfaceIcon = _a.resolveInterfaceIcon, onInterfaceClick = _a.onInterfaceClick, onRemove = _a.onRemove, _b = _a.size, size = _b === void 0 ? 'small' : _b, intent = _a.intent, customTheme = _a.customTheme, resolveInterfaceImage = _a.resolveInterfaceImage, _c = _a.preferKindImage, preferKindImage = _c === void 0 ? false : _c;
17
+ var resolveIcon = resolveInterfaceIcon !== null && resolveInterfaceIcon !== void 0 ? resolveInterfaceIcon : meta_1.defaultInterfaceIcon;
18
+ var marks = (references !== null && references !== void 0 ? references : []).map(function (reference) {
19
+ var _a, _b;
20
+ var mark = (0, meta_1.toInterfaceKindMark)(resolveIcon(reference.interface_kind));
21
+ var own = (_a = reference.logo) !== null && _a !== void 0 ? _a : resolveInterfaceImage === null || resolveInterfaceImage === void 0 ? void 0 : resolveInterfaceImage(reference);
22
+ return {
23
+ reference: reference,
24
+ icon: mark.icon,
25
+ image: preferKindImage ? ((_b = mark.image) !== null && _b !== void 0 ? _b : own) : (own !== null && own !== void 0 ? own : mark.image),
26
+ };
27
+ });
28
+ var isLoaded = (0, useLoadedImages_1.useLoadedImages)(marks.map(function (_a) {
29
+ var image = _a.image;
30
+ return image;
31
+ }));
16
32
  if (!(references === null || references === void 0 ? void 0 : references.length)) {
17
33
  return null;
18
34
  }
19
- var resolveIcon = resolveInterfaceIcon !== null && resolveInterfaceIcon !== void 0 ? resolveInterfaceIcon : meta_1.defaultInterfaceIcon;
20
- return ((0, jsx_runtime_1.jsxs)(reqore_1.ReqoreControlGroup, { verticalAlign: 'center', wrap: true, gapSize: 'small', children: [label ? ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreP, { size: 'small', effect: { opacity: 0.6 }, children: label })) : null, references.map(function (reference) {
21
- var _a, _b;
22
- // an app-triggered qog shows the trigger app's logo (stored, or resolved by
23
- // a viewer with the app catalogue); everything else shows its kind glyph.
24
- var image = (_a = reference.logo) !== null && _a !== void 0 ? _a : resolveInterfaceImage === null || resolveInterfaceImage === void 0 ? void 0 : resolveInterfaceImage(reference);
25
- return ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreTag, { icon: image ? undefined : resolveIcon(reference.interface_kind), leftIconProps: image ? { image: image } : undefined, labelKey: reference.interface_kind, label: reference.interface_name, size: size, intent: intent, customTheme: customTheme, tooltip: onInterfaceClick
35
+ return ((0, jsx_runtime_1.jsxs)(reqore_1.ReqoreControlGroup, { verticalAlign: 'center', wrap: true, gapSize: 'small', children: [label ? ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreP, { size: 'small', effect: { opacity: 0.6 }, children: label })) : null, marks.map(function (_a) {
36
+ var _b;
37
+ var reference = _a.reference, icon = _a.icon, image = _a.image;
38
+ // The chosen image (see `preferKindImage`) once it has loaded; the kind's
39
+ // font icon until then, and if it fails.
40
+ var loaded = isLoaded(image);
41
+ return ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreTag, { icon: icon, leftIconProps: loaded ? { image: image } : undefined, labelKey: reference.interface_kind, label: reference.interface_name, size: size, intent: intent, customTheme: customTheme, tooltip: onInterfaceClick
26
42
  ? "Open ".concat(reference.interface_kind, " ").concat(reference.interface_name)
27
43
  : "".concat(reference.interface_kind, ": ").concat(reference.interface_name), onClick: onInterfaceClick ? function () { return onInterfaceClick(reference); } : undefined, onRemoveClick: onRemove ? function () { return onRemove(reference); } : undefined, removeTooltip: "Remove ".concat(reference.interface_kind, " ").concat(reference.interface_name) }, (_b = reference.reference_id) !== null && _b !== void 0 ? _b : "".concat(reference.interface_kind, ":").concat(reference.interface_name)));
28
44
  })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"InterfaceReferenceTags.js","sourceRoot":"","sources":["../../../src/components/supportTicket/InterfaceReferenceTags.tsx"],"names":[],"mappings":";;;;AAAA,mDAAkF;AAIlF,+BAAmE;AAgCnE;;;;;;GAMG;AACI,IAAM,sBAAsB,GAAG,UAAC,EAUR;QAT7B,UAAU,gBAAA,EACV,KAAK,WAAA,EACL,oBAAoB,0BAAA,EACpB,gBAAgB,sBAAA,EAChB,QAAQ,cAAA,EACR,YAAc,EAAd,IAAI,mBAAG,OAAO,KAAA,EACd,MAAM,YAAA,EACN,WAAW,iBAAA,EACX,qBAAqB,2BAAA;IAErB,IAAI,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,CAAA,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAM,WAAW,GAAG,oBAAoB,aAApB,oBAAoB,cAApB,oBAAoB,GAAI,2BAAoB,CAAC;IACjE,OAAO,CACL,wBAAC,2BAAkB,IAAC,aAAa,EAAC,QAAQ,EAAC,IAAI,QAAC,OAAO,EAAC,OAAO,aAC5D,KAAK,CAAC,CAAC,CAAC,CACP,uBAAC,gBAAO,IAAC,IAAI,EAAC,OAAO,EAAC,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,YAC3C,KAAK,GACE,CACX,CAAC,CAAC,CAAC,IAAI,EACP,UAAU,CAAC,GAAG,CAAC,UAAC,SAAS;;gBACxB,4EAA4E;gBAC5E,0EAA0E;gBAC1E,IAAM,KAAK,GAAG,MAAA,SAAS,CAAC,IAAI,mCAAI,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAG,SAAS,CAAC,CAAC;gBACnE,OAAO,CACL,uBAAC,kBAAS,IAKR,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,EAC/D,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,OAAA,EAAE,CAAC,CAAC,CAAC,SAAS,EAC5C,QAAQ,EAAE,SAAS,CAAC,cAAc,EAClC,KAAK,EAAE,SAAS,CAAC,cAAc,EAC/B,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,OAAO,EACL,gBAAgB;wBACd,CAAC,CAAC,eAAQ,SAAS,CAAC,cAAc,cAAI,SAAS,CAAC,cAAc,CAAE;wBAChE,CAAC,CAAC,UAAG,SAAS,CAAC,cAAc,eAAK,SAAS,CAAC,cAAc,CAAE,EAEhE,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,cAAM,OAAA,gBAAgB,CAAC,SAAS,CAAC,EAA3B,CAA2B,CAAC,CAAC,CAAC,SAAS,EACzE,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,cAAM,OAAA,QAAQ,CAAC,SAAS,CAAC,EAAnB,CAAmB,CAAC,CAAC,CAAC,SAAS,EAC/D,aAAa,EAAE,iBAAU,SAAS,CAAC,cAAc,cAAI,SAAS,CAAC,cAAc,CAAE,IAjB7E,MAAA,SAAS,CAAC,YAAY,mCACtB,UAAG,SAAS,CAAC,cAAc,cAAI,SAAS,CAAC,cAAc,CAAE,CAiB3D,CACH,CAAC;YACJ,CAAC,CAAC,IACiB,CACtB,CAAC;AACJ,CAAC,CAAC;AApDW,QAAA,sBAAsB,0BAoDjC"}
1
+ {"version":3,"file":"InterfaceReferenceTags.js","sourceRoot":"","sources":["../../../src/components/supportTicket/InterfaceReferenceTags.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import { TReqoreBadge } from '@qoretechnologies/reqore/dist/components/Button';
2
- import { IReqoreIconName } from '@qoretechnologies/reqore/dist/types/icons';
3
2
  import { ReactNode } from 'react';
4
- import { IInterfaceReference } from './meta';
3
+ import { IInterfaceReference, TResolveInterfaceIcon } from './meta';
5
4
  /**
6
5
  * One interface in the list. A bare string is the name and nothing else — the common
7
6
  * case, and what a host that has only names can keep passing. The object form adds the
@@ -54,9 +53,11 @@ export interface IReferencePickerProps {
54
53
  onRemove?: (reference: IInterfaceReference) => void;
55
54
  /** the whole picker is inert (e.g. a reply is in flight) */
56
55
  disabled?: boolean;
57
- /** Per-kind icon. Consumers with their own icon vocabulary (the IDE) pass one; the
56
+ /** Per-kind icon: a font icon, or a mark `{ icon, image }` whose image (e.g. the Qog
57
+ * logo) is drawn once it loads, with the font icon before that and instead of it if
58
+ * it fails. Consumers with their own icon vocabulary (the IDE) pass one; the
58
59
  * built-in per-kind default is used when omitted. */
59
- resolveInterfaceIcon?: (kind: string) => IReqoreIconName;
60
+ resolveInterfaceIcon?: TResolveInterfaceIcon;
60
61
  /**
61
62
  * Per-kind reading name — "Value maps" for `value-map`. The kind id is a wire value
62
63
  * and never reaches the user; this is what does. Search matches both, so typing
@@ -1 +1 @@
1
- {"version":3,"file":"ReferencePicker.d.ts","sourceRoot":"","sources":["../../../src/components/supportTicket/ReferencePicker.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,MAAM,iDAAiD,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,SAAS,EAA6C,MAAM,OAAO,CAAC;AAI7E,OAAO,EAGL,mBAAmB,EACpB,MAAM,QAAQ,CAAC;AA6JhB;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,KAAK,CAAC,EAAE,YAAY,GAAG,YAAY,EAAE,CAAC;CACvC;AAED,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,oBAAoB,CAAC;AAEjE,mEAAmE;AACnE,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;AACpE,oFAAoF;AACpF,MAAM,MAAM,4BAA4B,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEvE,MAAM,WAAW,qBAAqB;IACpC,oDAAoD;IACpD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC;;;;OAIG;IACH,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC9B;qCACiC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;mEAC+D;IAC/D,MAAM,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC/B,KAAK,EAAE,CAAC,SAAS,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAChD;6DACyD;IACzD,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACpD,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;0DACsD;IACtD,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,eAAe,CAAC;IACzD;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5C,sFAAsF;IACtF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;wEACoE;IACpE,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC;wEACoE;IACpE,YAAY,CAAC,EAAE,4BAA4B,CAAC;CAC7C;AA8BD,eAAO,MAAM,eAAe,oMAoBzB,qBAAqB,4CA0OvB,CAAC"}
1
+ {"version":3,"file":"ReferencePicker.d.ts","sourceRoot":"","sources":["../../../src/components/supportTicket/ReferencePicker.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,MAAM,iDAAiD,CAAC;AAC/E,OAAO,EAAE,SAAS,EAA6C,MAAM,OAAO,CAAC;AAI7E,OAAO,EAGL,mBAAmB,EAEnB,qBAAqB,EACtB,MAAM,QAAQ,CAAC;AA8JhB;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,KAAK,CAAC,EAAE,YAAY,GAAG,YAAY,EAAE,CAAC;CACvC;AAED,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,oBAAoB,CAAC;AAEjE,mEAAmE;AACnE,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;AACpE,oFAAoF;AACpF,MAAM,MAAM,4BAA4B,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEvE,MAAM,WAAW,qBAAqB;IACpC,oDAAoD;IACpD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC;;;;OAIG;IACH,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC9B;qCACiC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;mEAC+D;IAC/D,MAAM,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC/B,KAAK,EAAE,CAAC,SAAS,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAChD;6DACyD;IACzD,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACpD,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;0DAGsD;IACtD,oBAAoB,CAAC,EAAE,qBAAqB,CAAC;IAC7C;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5C,sFAAsF;IACtF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;wEACoE;IACpE,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC;wEACoE;IACpE,YAAY,CAAC,EAAE,4BAA4B,CAAC;CAC7C;AA8BD,eAAO,MAAM,eAAe,oMAoBzB,qBAAqB,4CA2PvB,CAAC"}
@@ -14,6 +14,15 @@ var __assign = (this && this.__assign) || function () {
14
14
  };
15
15
  return __assign.apply(this, arguments);
16
16
  };
17
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
18
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
19
+ if (ar || !(i in from)) {
20
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
21
+ ar[i] = from[i];
22
+ }
23
+ }
24
+ return to.concat(ar || Array.prototype.slice.call(from));
25
+ };
17
26
  var __importDefault = (this && this.__importDefault) || function (mod) {
18
27
  return (mod && mod.__esModule) ? mod : { "default": mod };
19
28
  };
@@ -26,6 +35,7 @@ var styled_components_1 = __importDefault(require("styled-components"));
26
35
  var scrollbar_1 = require("../../helpers/scrollbar");
27
36
  var usePhoneViewport_1 = require("../../hooks/usePhoneViewport");
28
37
  var meta_1 = require("./meta");
38
+ var useLoadedImages_1 = require("./useLoadedImages");
29
39
  /*
30
40
  * The interface browser: kinds on one side, the selected kind's interfaces on the
31
41
  * other, and one search field that scopes both. Sits above a ticket composer, toggled
@@ -235,7 +245,22 @@ var ReferencePicker = function (_a) {
235
245
  still own the scroll and the layout; the menus render transparent inside them.
236
246
  Only menu items go inside a `ReqoreMenu`: it clones every child with its own props,
237
247
  so a spinner or a note nested in one would be handed props it can't take. */
238
- var kindItems = visibleKinds.map(function (option) { return ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreMenuItem, { className: matchesKind(option) ? undefined : DIMMED_CLASS, icon: resolveInterfaceIcon(option), label: resolveKindLabel(option), selected: option === kind, disabled: disabled, onClick: function () { return onKindChange(option); } }, option)); });
248
+ /* A kind's icon on a menu item: its font icon, and its image (the Qog logo) once
249
+ that has loaded — never a broken picture while it loads or if it fails. */
250
+ var kindMarks = new Map(Array.from(new Set(__spreadArray(__spreadArray([], visibleKinds, true), [kind], false).filter(Boolean))).map(function (option) { return [
251
+ option,
252
+ (0, meta_1.toInterfaceKindMark)(resolveInterfaceIcon(option)),
253
+ ]; }));
254
+ var isImageLoaded = (0, useLoadedImages_1.useLoadedImages)(Array.from(kindMarks.values()).map(function (mark) { return mark.image; }));
255
+ var kindIconProps = function (option) {
256
+ var _a;
257
+ var mark = (_a = kindMarks.get(option)) !== null && _a !== void 0 ? _a : (0, meta_1.toInterfaceKindMark)(resolveInterfaceIcon(option));
258
+ return {
259
+ icon: mark.icon,
260
+ leftIconProps: isImageLoaded(mark.image) ? { image: mark.image } : undefined,
261
+ };
262
+ };
263
+ var kindItems = visibleKinds.map(function (option) { return ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreMenuItem, __assign({ className: matchesKind(option) ? undefined : DIMMED_CLASS }, kindIconProps(option), { label: resolveKindLabel(option), selected: option === kind, disabled: disabled, onClick: function () { return onKindChange(option); } }), option)); });
239
264
  var interfaces = (function () {
240
265
  if (error) {
241
266
  return ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreMenu, { transparent: true, flat: true, padded: false, width: '100%', size: 'small', children: (0, jsx_runtime_1.jsx)(reqore_1.ReqoreMenuItem, { icon: 'ErrorWarningLine', rightIcon: onRetry ? 'RefreshLine' : undefined, intent: 'danger', label: "Couldn't load ".concat(label.toLowerCase()),
@@ -252,7 +277,7 @@ var ReferencePicker = function (_a) {
252
277
  var name = _a.name, description = _a.description, badge = _a.badge;
253
278
  var isPicked = pickedNames.has(name);
254
279
  var removable = isPicked && !!onRemove;
255
- return ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreMenuItem, __assign({ className: isPicked ? PICKED_CLASS : undefined, icon: resolveInterfaceIcon(kind), rightIcon: isPicked ? 'CheckLine' : 'AddLine', label: name, description: description, badge: badge, disabled: disabled, tooltip: isPicked
280
+ return ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreMenuItem, __assign({ className: isPicked ? PICKED_CLASS : undefined }, kindIconProps(kind), { rightIcon: isPicked ? 'CheckLine' : 'AddLine', label: name, description: description, badge: badge, disabled: disabled, tooltip: isPicked
256
281
  ? removable
257
282
  ? "Remove \u201C".concat(name, "\u201D")
258
283
  : "\u201C".concat(name, "\u201D is already referenced")
@@ -1 +1 @@
1
- {"version":3,"file":"ReferencePicker.js","sourceRoot":"","sources":["../../../src/components/supportTicket/ReferencePicker.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReferencePicker.js","sourceRoot":"","sources":["../../../src/components/supportTicket/ReferencePicker.tsx"],"names":[],"mappings":"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"}
@@ -60,6 +60,22 @@ export interface IInterfaceReference {
60
60
  }
61
61
  /** Default per-kind icon for a referenced interface, with a generic fallback. */
62
62
  export declare const defaultInterfaceIcon: (kind: string) => IReqoreIconName;
63
+ /**
64
+ * An interface kind's mark: a font icon, and optionally an image (e.g. the green
65
+ * Qog logo). The font icon is what shows while the image loads, and instead of it
66
+ * when there is none or it cannot load. Same shape as qorus-ide's
67
+ * `interfaceKindMark()`, so the IDE can return that directly.
68
+ */
69
+ export interface IInterfaceKindMark {
70
+ icon: IReqoreIconName;
71
+ image?: string;
72
+ }
73
+ /** What a `resolveInterfaceIcon` may return: a font icon, or a mark with an image. */
74
+ export type TInterfaceKindIcon = IReqoreIconName | IInterfaceKindMark;
75
+ /** Resolve the icon for an interface kind (see `TInterfaceKindIcon`). */
76
+ export type TResolveInterfaceIcon = (kind: string) => TInterfaceKindIcon;
77
+ /** A resolver's answer as a mark, so callers handle one shape. */
78
+ export declare const toInterfaceKindMark: (icon: TInterfaceKindIcon) => IInterfaceKindMark;
63
79
  /**
64
80
  * Default reading name for an interface kind — "Value maps" for `value-map`. An
65
81
  * unknown kind is humanised generically (separators to spaces, sentence case, a
@@ -1 +1 @@
1
- {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/components/supportTicket/meta.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAW5E,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,GAAG,mBAAmB,GAAG,UAAU,GAAG,QAAQ,CAAC;AACzF,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;AACnE,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AACnF,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,OAAO,GAAG,gBAAgB,GAAG,UAAU,GAAG,SAAS,CAAC;AAEjG,sFAAsF;AACtF,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEnE,qFAAqF;AACrF,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,OAAO,CAAC;AAErD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,eAAe,CAAC;IACtB;0EACsE;IACtE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,aAAa,EAAE,eAAe,CAWrE,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,eAAe,EAAE,eAAe,CAKzE,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,eAAe,EAAE,eAAe,CAMzE,CAAC;AAEF;;;+EAG+E;AAC/E,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,kBAAkB,EAAE,eAAe,CAMhF,CAAC;AAEF;kFACkF;AAClF,eAAO,MAAM,iBAAiB,WACpB,aAAa,eACR,iBAAiB,KAC7B,MAGF,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,kBAAkB,EAAE,aAAa,EAK7C,CAAC;AAEF,8DAA8D;AAC9D,eAAO,MAAM,iBAAiB,WAAY,aAAa,KAAG,OAA8B,CAAC;AAEzF;8EAC8E;AAC9E,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;iFAEiF;AACjF,MAAM,WAAW,mBAAmB;IAClC,8EAA8E;IAC9E,cAAc,EAAE,MAAM,CAAC;IACvB,6CAA6C;IAC7C,cAAc,EAAE,MAAM,CAAC;IACvB,+EAA+E;IAC/E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;iFAE6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;2DAEuD;IACvD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAsBD,iFAAiF;AACjF,eAAO,MAAM,oBAAoB,SAAU,MAAM,KAAG,eACJ,CAAC;AAsBjD;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,SAAU,MAAM,KAAG,MAWxD,CAAC"}
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/components/supportTicket/meta.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAW5E,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,GAAG,mBAAmB,GAAG,UAAU,GAAG,QAAQ,CAAC;AACzF,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;AACnE,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AACnF,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,OAAO,GAAG,gBAAgB,GAAG,UAAU,GAAG,SAAS,CAAC;AAEjG,sFAAsF;AACtF,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEnE,qFAAqF;AACrF,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,OAAO,CAAC;AAErD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,eAAe,CAAC;IACtB;0EACsE;IACtE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,aAAa,EAAE,eAAe,CAWrE,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,eAAe,EAAE,eAAe,CAKzE,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,eAAe,EAAE,eAAe,CAMzE,CAAC;AAEF;;;+EAG+E;AAC/E,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,kBAAkB,EAAE,eAAe,CAMhF,CAAC;AAEF;kFACkF;AAClF,eAAO,MAAM,iBAAiB,WACpB,aAAa,eACR,iBAAiB,KAC7B,MAGF,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,kBAAkB,EAAE,aAAa,EAK7C,CAAC;AAEF,8DAA8D;AAC9D,eAAO,MAAM,iBAAiB,WAAY,aAAa,KAAG,OAA8B,CAAC;AAEzF;8EAC8E;AAC9E,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;iFAEiF;AACjF,MAAM,WAAW,mBAAmB;IAClC,8EAA8E;IAC9E,cAAc,EAAE,MAAM,CAAC;IACvB,6CAA6C;IAC7C,cAAc,EAAE,MAAM,CAAC;IACvB,+EAA+E;IAC/E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;iFAE6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;2DAEuD;IACvD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAsBD,iFAAiF;AACjF,eAAO,MAAM,oBAAoB,SAAU,MAAM,KAAG,eACJ,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,sFAAsF;AACtF,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG,kBAAkB,CAAC;AAEtE,yEAAyE;AACzE,MAAM,MAAM,qBAAqB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,kBAAkB,CAAC;AAEzE,kEAAkE;AAClE,eAAO,MAAM,mBAAmB,SAAU,kBAAkB,KAAG,kBACnB,CAAC;AAsB7C;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,SAAU,MAAM,KAAG,MAWxD,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.defaultInterfaceKindLabel = exports.defaultInterfaceIcon = exports.isTicketReplyable = exports.REPLYABLE_STATUSES = exports.ticketStatusLabel = exports.TICKET_AUDIT_ACTION_META = exports.TICKET_CATEGORY_META = exports.TICKET_PRIORITY_META = exports.TICKET_STATUS_META = void 0;
3
+ exports.defaultInterfaceKindLabel = exports.toInterfaceKindMark = exports.defaultInterfaceIcon = exports.isTicketReplyable = exports.REPLYABLE_STATUSES = exports.ticketStatusLabel = exports.TICKET_AUDIT_ACTION_META = exports.TICKET_CATEGORY_META = exports.TICKET_PRIORITY_META = exports.TICKET_STATUS_META = void 0;
4
4
  exports.TICKET_STATUS_META = {
5
5
  new: { label: 'New', intent: 'info', icon: 'SparklingLine' },
6
6
  open: { label: 'Open', intent: 'pending', icon: 'Chat3Line' },
@@ -76,6 +76,11 @@ var DEFAULT_INTERFACE_ICONS = {
76
76
  /** Default per-kind icon for a referenced interface, with a generic fallback. */
77
77
  var defaultInterfaceIcon = function (kind) { var _a; return (_a = DEFAULT_INTERFACE_ICONS[kind]) !== null && _a !== void 0 ? _a : 'CodeBoxLine'; };
78
78
  exports.defaultInterfaceIcon = defaultInterfaceIcon;
79
+ /** A resolver's answer as a mark, so callers handle one shape. */
80
+ var toInterfaceKindMark = function (icon) {
81
+ return typeof icon === 'string' ? { icon: icon } : icon;
82
+ };
83
+ exports.toInterfaceKindMark = toInterfaceKindMark;
79
84
  // The reading name for each interface kind. The kind id (`value-map`, `ai-collection`)
80
85
  // is a wire value — it's what a host fetches with and what gets stored on the reference
81
86
  // — so it must never be what the user reads. These are plural because they name a
@@ -1 +1 @@
1
- {"version":3,"file":"meta.js","sourceRoot":"","sources":["../../../src/components/supportTicket/meta.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"meta.js","sourceRoot":"","sources":["../../../src/components/supportTicket/meta.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Which of `sources` have loaded. An icon that has an image draws its font icon
3
+ * until this says the image loaded, and keeps the font icon when it fails — the
4
+ * image is never drawn as a broken picture or an empty box.
5
+ *
6
+ * One hook for a whole list, so a component that maps over references (or a
7
+ * `ReqoreMenu`, which clones its children and so cannot hold per-item hooks)
8
+ * asks once.
9
+ */
10
+ export declare const useLoadedImages: (sources: Array<string | undefined>) => ((src?: string) => boolean);
11
+ /**
12
+ * Resolves once `src` has loaded or failed — so a test or story can check the
13
+ * settled state instead of waiting an arbitrary time.
14
+ */
15
+ export declare const whenImageSettled: (src: string) => Promise<void>;
16
+ /** Forget every image's status. For tests only. */
17
+ export declare const resetLoadedImagesForTests: () => void;
18
+ //# sourceMappingURL=useLoadedImages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLoadedImages.d.ts","sourceRoot":"","sources":["../../../src/components/supportTicket/useLoadedImages.ts"],"names":[],"mappings":"AA4BA;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,YAAa,MAAM,MAAM,GAAG,SAAS,CAAC,KAAG,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,KAAK,OAAO,CAsB9F,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,QAAS,MAAM,KAAG,QAAQ,IAAI,CACA,CAAC;AAE5D,mDAAmD;AACnD,eAAO,MAAM,yBAAyB,QAAO,IAG5C,CAAC"}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resetLoadedImagesForTests = exports.whenImageSettled = exports.useLoadedImages = void 0;
4
+ var react_1 = require("react");
5
+ /* What is known about each image URL, shared by every surface for the life of
6
+ the page: an image that loaded once is drawn at once the next time, and one
7
+ that failed is not tried again on every render. */
8
+ var imageStatus = new Map();
9
+ var pending = new Map();
10
+ var loadImage = function (src) {
11
+ var promise = pending.get(src);
12
+ if (!promise) {
13
+ promise = new Promise(function (resolve) {
14
+ var image = new Image();
15
+ image.onload = function () {
16
+ imageStatus.set(src, 'loaded');
17
+ resolve();
18
+ };
19
+ image.onerror = function () {
20
+ imageStatus.set(src, 'failed');
21
+ resolve();
22
+ };
23
+ image.src = src;
24
+ }).finally(function () { return pending.delete(src); });
25
+ pending.set(src, promise);
26
+ }
27
+ return promise;
28
+ };
29
+ /**
30
+ * Which of `sources` have loaded. An icon that has an image draws its font icon
31
+ * until this says the image loaded, and keeps the font icon when it fails — the
32
+ * image is never drawn as a broken picture or an empty box.
33
+ *
34
+ * One hook for a whole list, so a component that maps over references (or a
35
+ * `ReqoreMenu`, which clones its children and so cannot hold per-item hooks)
36
+ * asks once.
37
+ */
38
+ var useLoadedImages = function (sources) {
39
+ var _a = (0, react_1.useState)(0), setVersion = _a[1];
40
+ var key = sources.filter(Boolean).join('\u0000');
41
+ (0, react_1.useEffect)(function () {
42
+ var active = true;
43
+ var unknown = Array.from(new Set(sources.filter(function (src) { return !!src; }))).filter(function (src) { return !imageStatus.has(src); });
44
+ unknown.forEach(function (src) {
45
+ loadImage(src).then(function () {
46
+ if (active) {
47
+ setVersion(function (version) { return version + 1; });
48
+ }
49
+ });
50
+ });
51
+ return function () {
52
+ active = false;
53
+ };
54
+ }, [key]);
55
+ return function (src) { return !!src && imageStatus.get(src) === 'loaded'; };
56
+ };
57
+ exports.useLoadedImages = useLoadedImages;
58
+ /**
59
+ * Resolves once `src` has loaded or failed — so a test or story can check the
60
+ * settled state instead of waiting an arbitrary time.
61
+ */
62
+ var whenImageSettled = function (src) {
63
+ return imageStatus.has(src) ? Promise.resolve() : loadImage(src);
64
+ };
65
+ exports.whenImageSettled = whenImageSettled;
66
+ /** Forget every image's status. For tests only. */
67
+ var resetLoadedImagesForTests = function () {
68
+ imageStatus.clear();
69
+ pending.clear();
70
+ };
71
+ exports.resetLoadedImagesForTests = resetLoadedImagesForTests;
72
+ //# sourceMappingURL=useLoadedImages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLoadedImages.js","sourceRoot":"","sources":["../../../src/components/supportTicket/useLoadedImages.ts"],"names":[],"mappings":";;;AAAA,+BAA4C;AAE5C;;qDAEqD;AACrD,IAAM,WAAW,GAAG,IAAI,GAAG,EAA+B,CAAC;AAC3D,IAAM,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAC;AAEjD,IAAM,SAAS,GAAG,UAAC,GAAW;IAC5B,IAAI,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,IAAI,OAAO,CAAO,UAAC,OAAO;YAClC,IAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;YAC1B,KAAK,CAAC,MAAM,GAAG;gBACb,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAC/B,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;YACF,KAAK,CAAC,OAAO,GAAG;gBACd,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAC/B,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;YACF,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;QAClB,CAAC,CAAC,CAAC,OAAO,CAAC,cAAM,OAAA,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAnB,CAAmB,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACI,IAAM,eAAe,GAAG,UAAC,OAAkC;IAC1D,IAAA,KAAiB,IAAA,gBAAQ,EAAC,CAAC,CAAC,EAAzB,UAAU,QAAe,CAAC;IACnC,IAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEnD,IAAA,iBAAS,EAAC;QACR,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,UAAC,GAAG,IAAoB,OAAA,CAAC,CAAC,GAAG,EAAL,CAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CACvF,UAAC,GAAG,IAAK,OAAA,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAArB,CAAqB,CAC/B,CAAC;QACF,OAAO,CAAC,OAAO,CAAC,UAAC,GAAG;YAClB,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAClB,IAAI,MAAM,EAAE,CAAC;oBACX,UAAU,CAAC,UAAC,OAAO,IAAK,OAAA,OAAO,GAAG,CAAC,EAAX,CAAW,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO;YACL,MAAM,GAAG,KAAK,CAAC;QACjB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,OAAO,UAAC,GAAY,IAAK,OAAA,CAAC,CAAC,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,QAAQ,EAA1C,CAA0C,CAAC;AACtE,CAAC,CAAC;AAtBW,QAAA,eAAe,mBAsB1B;AAEF;;;GAGG;AACI,IAAM,gBAAgB,GAAG,UAAC,GAAW;IAC1C,OAAA,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC;AAAzD,CAAyD,CAAC;AAD/C,QAAA,gBAAgB,oBAC+B;AAE5D,mDAAmD;AAC5C,IAAM,yBAAyB,GAAG;IACvC,WAAW,CAAC,KAAK,EAAE,CAAC;IACpB,OAAO,CAAC,KAAK,EAAE,CAAC;AAClB,CAAC,CAAC;AAHW,QAAA,yBAAyB,6BAGpC"}
@@ -1,5 +1,4 @@
1
- import { IReqoreIconName } from '@qoretechnologies/reqore/dist/types/icons';
2
- import { IInterfaceReference, TTicketViewerRole } from '../supportTicket/meta';
1
+ import { IInterfaceReference, TResolveInterfaceIcon, TTicketViewerRole } from '../supportTicket/meta';
3
2
  import type { ITicketThreadAttachment, ITicketThreadMessage } from '../ticketThread/TicketThread';
4
3
  /** Attachment metadata as returned by the list endpoint — carries the provenance
5
4
  * (uploader + timestamp + source message) the message-embedded metadata omits. */
@@ -34,8 +33,13 @@ export interface ITicketReferencesProps {
34
33
  * Omitted ⇒ the action is not offered. It is also omitted per-row for anything filed
35
34
  * against the ticket itself rather than a reply, which has no message to reveal. */
36
35
  onShowInChat?: (messageId: string) => void;
37
- /** resolve a per-kind icon for a referenced interface (the IDE passes its own vocabulary) */
38
- resolveInterfaceIcon?: (kind: string) => IReqoreIconName;
36
+ /** resolve a per-kind icon for a referenced interface (the IDE passes its own
37
+ * vocabulary): a font icon, or a mark `{ icon, image }` whose image is drawn once
38
+ * it loads, with the font icon before that and instead of it if it fails */
39
+ resolveInterfaceIcon?: TResolveInterfaceIcon;
40
+ /** Draw the kind's image ahead of a reference's own logo; see `preferKindImage` on
41
+ * `InterfaceReferenceTags`. Off by default. */
42
+ preferKindImage?: boolean;
39
43
  loading?: boolean;
40
44
  }
41
45
  /**
@@ -48,5 +52,5 @@ export interface ITicketReferencesProps {
48
52
  export interface IResolvedInterfaceReference extends IInterfaceReference {
49
53
  message_id?: string;
50
54
  }
51
- export declare const TicketReferences: ({ references, messages, attachments, viewerRole, fetchAttachmentUrl, onDownloadAttachment, onInterfaceClick, onShowInChat, resolveInterfaceIcon, loading, }: ITicketReferencesProps) => import("react/jsx-runtime").JSX.Element;
55
+ export declare const TicketReferences: ({ references, messages, attachments, viewerRole, fetchAttachmentUrl, onDownloadAttachment, onInterfaceClick, onShowInChat, resolveInterfaceIcon, preferKindImage, loading, }: ITicketReferencesProps) => import("react/jsx-runtime").JSX.Element;
52
56
  //# sourceMappingURL=TicketReferences.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TicketReferences.d.ts","sourceRoot":"","sources":["../../../src/components/ticketReferences/TicketReferences.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAU5E,OAAO,EAEL,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAelG;mFACmF;AACnF,MAAM,WAAW,0BAA2B,SAAQ,uBAAuB;IACzE,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;2FACuF;IACvF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,aAAa,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IACrC,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,8EAA8E;IAC9E,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACnC,sFAAsF;IACtF,QAAQ,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAClC;mGAC+F;IAC/F,WAAW,CAAC,EAAE,0BAA0B,EAAE,CAAC;IAC3C,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B;8EAC0E;IAC1E,kBAAkB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/D,kDAAkD;IAClD,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACxE,2FAA2F;IAC3F,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC5D;;yFAEqF;IACrF,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,6FAA6F;IAC7F,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,eAAe,CAAC;IACzD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAgGD;;;;;;GAMG;AACH,MAAM,WAAW,2BAA4B,SAAQ,mBAAmB;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA+ND,eAAO,MAAM,gBAAgB,gKAW1B,sBAAsB,4CAmdxB,CAAC"}
1
+ {"version":3,"file":"TicketReferences.d.ts","sourceRoot":"","sources":["../../../src/components/ticketReferences/TicketReferences.tsx"],"names":[],"mappings":"AAsBA,OAAO,EAEL,mBAAmB,EAEnB,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAelG;mFACmF;AACnF,MAAM,WAAW,0BAA2B,SAAQ,uBAAuB;IACzE,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;2FACuF;IACvF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,aAAa,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IACrC,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,8EAA8E;IAC9E,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACnC,sFAAsF;IACtF,QAAQ,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAClC;mGAC+F;IAC/F,WAAW,CAAC,EAAE,0BAA0B,EAAE,CAAC;IAC3C,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B;8EAC0E;IAC1E,kBAAkB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/D,kDAAkD;IAClD,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACxE,2FAA2F;IAC3F,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC5D;;yFAEqF;IACrF,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C;;iFAE6E;IAC7E,oBAAoB,CAAC,EAAE,qBAAqB,CAAC;IAC7C;oDACgD;IAChD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAgGD;;;;;;GAMG;AACH,MAAM,WAAW,2BAA4B,SAAQ,mBAAmB;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA+ND,eAAO,MAAM,gBAAgB,iLAY1B,sBAAsB,4CA8dxB,CAAC"}
@@ -37,6 +37,7 @@ var styled_components_1 = __importDefault(require("styled-components"));
37
37
  var common_1 = require("../../helpers/common");
38
38
  var imageLightbox_1 = require("../imageLightbox");
39
39
  var meta_1 = require("../supportTicket/meta");
40
+ var useLoadedImages_1 = require("../supportTicket/useLoadedImages");
40
41
  // ---------------------------------------------------------------------------
41
42
  // helpers
42
43
  // ---------------------------------------------------------------------------
@@ -222,7 +223,7 @@ var Screenshot = function (_a) {
222
223
  // main
223
224
  // ---------------------------------------------------------------------------
224
225
  var TicketReferences = function (_a) {
225
- var _b = _a.references, references = _b === void 0 ? [] : _b, _c = _a.messages, messages = _c === void 0 ? [] : _c, attachments = _a.attachments, viewerRole = _a.viewerRole, fetchAttachmentUrl = _a.fetchAttachmentUrl, onDownloadAttachment = _a.onDownloadAttachment, onInterfaceClick = _a.onInterfaceClick, onShowInChat = _a.onShowInChat, resolveInterfaceIcon = _a.resolveInterfaceIcon, loading = _a.loading;
226
+ var _b = _a.references, references = _b === void 0 ? [] : _b, _c = _a.messages, messages = _c === void 0 ? [] : _c, attachments = _a.attachments, viewerRole = _a.viewerRole, fetchAttachmentUrl = _a.fetchAttachmentUrl, onDownloadAttachment = _a.onDownloadAttachment, onInterfaceClick = _a.onInterfaceClick, onShowInChat = _a.onShowInChat, resolveInterfaceIcon = _a.resolveInterfaceIcon, _d = _a.preferKindImage, preferKindImage = _d === void 0 ? false : _d, loading = _a.loading;
226
227
  // references: ticket-level + every message's, deduped. Rendered as rows carrying
227
228
  // their kind as metadata — the same treatment as the files below — so the tab
228
229
  // reads as one consistent list rather than chips above rows.
@@ -230,6 +231,18 @@ var TicketReferences = function (_a) {
230
231
  return dedupeRefs(__spreadArray(__spreadArray([], references, true), messages.flatMap(function (m) { var _a; return ((_a = m.referenced_interfaces) !== null && _a !== void 0 ? _a : []).map(function (r) { return (__assign(__assign({}, r), { message_id: m.message_id })); }); }), true));
231
232
  }, [references, messages]);
232
233
  var resolveIcon = resolveInterfaceIcon !== null && resolveInterfaceIcon !== void 0 ? resolveInterfaceIcon : meta_1.defaultInterfaceIcon;
234
+ /* Each reference's icon: the kind's font icon, and the image chosen by the same
235
+ precedence as the chips (`preferKindImage`), drawn once it has loaded. */
236
+ var markOf = function (reference) {
237
+ var _a;
238
+ var mark = (0, meta_1.toInterfaceKindMark)(resolveIcon(reference.interface_kind));
239
+ var own = reference.logo;
240
+ return {
241
+ icon: mark.icon,
242
+ image: preferKindImage ? ((_a = mark.image) !== null && _a !== void 0 ? _a : own) : (own !== null && own !== void 0 ? own : mark.image),
243
+ };
244
+ };
245
+ var isImageLoaded = (0, useLoadedImages_1.useLoadedImages)(allRefs.map(function (reference) { return markOf(reference).image; }));
233
246
  /**
234
247
  * The trailing controls for a row: its primary action, plus a "three dots" menu when
235
248
  * there is anything else to offer. Built in one place so the interface rows and the
@@ -297,11 +310,11 @@ var TicketReferences = function (_a) {
297
310
  var files = (0, react_1.useMemo)(function () { return allAttachments.filter(function (a) { return !(0, common_1.isImage)(a.content_type); }); }, [allAttachments]);
298
311
  var imageIds = (0, react_1.useMemo)(function () { return images.map(function (a) { return a.attachment_id; }); }, [images]);
299
312
  var urls = useImageUrls(imageIds, fetchAttachmentUrl);
300
- var _d = (0, react_1.useState)(null), lightbox = _d[0], setLightbox = _d[1];
313
+ var _e = (0, react_1.useState)(null), lightbox = _e[0], setLightbox = _e[1];
301
314
  // --- search / filter / sort ------------------------------------------------
302
- var _e = (0, react_1.useState)(''), search = _e[0], setSearch = _e[1];
303
- var _f = (0, react_1.useState)('all'), filter = _f[0], setFilter = _f[1];
304
- var _g = (0, react_1.useState)('newest'), sort = _g[0], setSort = _g[1];
315
+ var _f = (0, react_1.useState)(''), search = _f[0], setSearch = _f[1];
316
+ var _g = (0, react_1.useState)('all'), filter = _g[0], setFilter = _g[1];
317
+ var _h = (0, react_1.useState)('newest'), sort = _h[0], setSort = _h[1];
305
318
  var query = search.trim().toLowerCase();
306
319
  var matchesText = (0, react_1.useCallback)(function () {
307
320
  var fields = [];
@@ -439,10 +452,10 @@ var TicketReferences = function (_a) {
439
452
  : null, visibleRefs.length ?
440
453
  (0, jsx_runtime_1.jsx)(reqore_1.ReqorePanel, { label: 'Linked interfaces', icon: 'LinksLine', badge: visibleRefs.length, flat: true, transparent: true, size: 'small', labelSize: 4, collapsible: true, children: (0, jsx_runtime_1.jsx)(reqore_1.ReqoreControlGroup, { vertical: true, fluid: true, gapSize: 'small', size: 'small', children: visibleRefs.map(function (reference) {
441
454
  var _a;
442
- // an app-triggered qog carries its trigger app's logo; everything else
443
- // shows its kind glyph — the same vocabulary the reference chips use.
444
- var image = reference.logo;
445
- return ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreEntityRow, { icon: image ? undefined : resolveIcon(reference.interface_kind), iconImage: image, label: reference.interface_name, metadata: (0, jsx_runtime_1.jsx)(reqore_1.ReqoreTextEffect, { effect: META_EFFECT, children: reference.interface_kind }), flat: true, tooltip: onInterfaceClick ?
455
+ // the same vocabulary and precedence as the reference chips: the kind's
456
+ // font icon, and the chosen image once it has loaded
457
+ var _b = markOf(reference), icon = _b.icon, image = _b.image;
458
+ return ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreEntityRow, { icon: icon, iconImage: isImageLoaded(image) ? image : undefined, label: reference.interface_name, metadata: (0, jsx_runtime_1.jsx)(reqore_1.ReqoreTextEffect, { effect: META_EFFECT, children: reference.interface_kind }), flat: true, tooltip: onInterfaceClick ?
446
459
  "Open ".concat(reference.interface_kind, " ").concat(reference.interface_name)
447
460
  : undefined, actions: rowActions(onInterfaceClick ?
448
461
  {