@oneuptime/common 10.0.45 → 10.0.48

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.
@@ -3,7 +3,7 @@ import CommonAPI from "../API/Index";
3
3
  import { AppVersion, IsBillingEnabled, getFrontendEnvVars, } from "../EnvironmentConfig";
4
4
  import LocalCache from "../Infrastructure/LocalCache";
5
5
  import "./Environment";
6
- import Express, { ExpressJson, ExpressRaw, ExpressStatic, ExpressUrlEncoded, } from "./Express";
6
+ import Express, { ExpressJson, ExpressRaw, ExpressStatic, ExpressUrlEncoded, headerValueToString, } from "./Express";
7
7
  import logger from "./Logger";
8
8
  import "./Process";
9
9
  import Response from "./Response";
@@ -77,22 +77,21 @@ app.use((req, _res, next) => {
77
77
  next();
78
78
  });
79
79
  /*
80
- * Parse protobuf (binary) bodies for OTLP ingestion before JSON/gzip middleware.
81
- * The .NET OpenTelemetry SDK (and others) send telemetry data as application/x-protobuf.
82
- * Without this, express.json() skips protobuf requests and req.body remains undefined.
80
+ * Parse protobuf (binary) bodies for non-OTLP routes.
81
+ * OTLP HTTP ingestion bypasses the global body parsers and handles raw/gzip
82
+ * payloads in the telemetry router to avoid conflicts with the merged app stack.
83
83
  */
84
84
  const protobufBodyParserMiddleware = ExpressRaw({
85
85
  type: ["application/x-protobuf", "application/protobuf"],
86
86
  limit: "50mb",
87
87
  });
88
88
  app.use((req, res, next) => {
89
- const contentType = req.headers["content-type"];
90
- if (contentType &&
91
- (contentType.includes("application/x-protobuf") ||
92
- contentType.includes("application/protobuf"))) {
93
- protobufBodyParserMiddleware(req, res, next);
89
+ if (req.path.includes("/otlp/v1/")) {
90
+ return next();
94
91
  }
95
- else if (req.headers["content-encoding"] === "gzip") {
92
+ const contentType = headerValueToString(req.headers["content-type"]);
93
+ const contentEncoding = headerValueToString(req.headers["content-encoding"]);
94
+ if (contentEncoding === null || contentEncoding === void 0 ? void 0 : contentEncoding.includes("gzip")) {
96
95
  const buffers = [];
97
96
  req.on("data", (chunk) => {
98
97
  buffers.push(chunk);
@@ -109,12 +108,19 @@ app.use((req, res, next) => {
109
108
  });
110
109
  });
111
110
  }
111
+ else if (contentType &&
112
+ (contentType.includes("application/x-protobuf") ||
113
+ contentType.includes("application/protobuf"))) {
114
+ protobufBodyParserMiddleware(req, res, next);
115
+ }
112
116
  else {
113
117
  jsonBodyParserMiddleware(req, res, next);
114
118
  }
115
119
  });
116
120
  app.use((req, res, next) => {
117
- if (req.headers["content-encoding"] === "gzip") {
121
+ var _a;
122
+ if (req.path.includes("/otlp/v1/") ||
123
+ ((_a = headerValueToString(req.headers["content-encoding"])) === null || _a === void 0 ? void 0 : _a.includes("gzip"))) {
118
124
  next();
119
125
  }
120
126
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"StartServer.js","sourceRoot":"","sources":["../../../../Server/Utils/StartServer.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,UAAU,MAAM,8BAA8B,CAAC;AACtD,OAAO,eAAe,CAAC;AACvB,OAAO,OAAO,EAAE,EAEd,WAAW,EACX,UAAU,EAGV,aAAa,EACb,iBAAiB,GAIlB,MAAM,WAAW,CAAC;AACnB,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,WAAW,CAAC;AACnB,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,UAAU,MAAM,4BAA4B,CAAC;AACpD,OAAO,iBAAiB,MAAM,mCAAmC,CAAC;AAClE,OAAO,SAAS,MAAM,iCAAiC,CAAC;AACxD,OAAO,iBAAiB,MAAM,yCAAyC,CAAC;AACxE,OAAO,eAAe,MAAM,uCAAuC,CAAC;AAGpE,OAAO,aAAa,MAAM,2BAA2B,CAAC;AAEtD,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,CAAC;AACb,+CAA+C;AAC/C,KAAK,CAAC,eAAe,GAAG,QAAQ,CAAC;AAEjC,MAAM,GAAG,GAAuB,OAAO,CAAC,aAAa,EAAE,CAAC;AAExD,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AAC5B,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AACrC,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAC9B;;;GAGG;AACH,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;AAC7B,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;AAExB,MAAM,wBAAwB,GAAmB,WAAW,CAAC;IAC3D,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,CAAC,GAAmB,EAAE,IAAqB,EAAE,GAAW,EAAE,EAAE;QACjE,GAAwB,CAAC,OAAO,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;QACnD,MAAM,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACpE,CAAC;CACF,CAAC,CAAC,CAAC,eAAe;AAEnB,MAAM,oBAAoB,GAAmB,iBAAiB,CAAC;IAC7D,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,CAAC,GAAmB,EAAE,IAAqB,EAAE,GAAW,EAAE,EAAE;QACjE,GAAwB,CAAC,qBAAqB,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;QAChE,GAAwB,CAAC,OAAO,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,mCAAmC;QACvF,MAAM,CAAC,KAAK,CACV,8BAA+B,GAAwB,CAAC,qBAAqB,EAAE,CAChF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC,CAAC,eAAe;AAEnB,MAAM,iBAAiB,GAAmB,CACxC,GAAmB,EACnB,GAAoB,EACpB,IAAkB,EACZ,EAAE;IACR,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;QACtC,GAAG,CAAC,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,GAAG,CAAC,MAAM,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAC;IACvD,GAAG,CAAC,MAAM,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;IAC/C,GAAG,CAAC,MAAM,CAAC,8BAA8B,EAAE,6BAA6B,CAAC,CAAC;IAC1E,GAAG,CAAC,MAAM,CACR,8BAA8B,EAC9B,4KAA4K,CAC7K,CAAC;IAEF,IAAI,EAAE,CAAC;AACT,CAAC,CAAC;AAEF,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;AAChB,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAE3B,6BAA6B;AAC7B,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAE9B;;;GAGG;AAEH,kDAAkD;AAClD,GAAG,CAAC,GAAG,CAAC,CAAC,GAAmB,EAAE,IAAqB,EAAE,IAAkB,EAAE,EAAE;IACzE,MAAM,WAAW,GAAuB,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACpE,IAAI,WAAW,IAAI,WAAW,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;QACjE,sEAAsE;QACtE,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;IACnD,CAAC;IACD,IAAI,EAAE,CAAC;AACT,CAAC,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,4BAA4B,GAAmB,UAAU,CAAC;IAC9D,IAAI,EAAE,CAAC,wBAAwB,EAAE,sBAAsB,CAAC;IACxD,KAAK,EAAE,MAAM;CACd,CAAC,CAAC;AAEH,GAAG,CAAC,GAAG,CAAC,CAAC,GAAqB,EAAE,GAAoB,EAAE,IAAkB,EAAE,EAAE;IAC1E,MAAM,WAAW,GAAuB,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAEpE,IACE,WAAW;QACX,CAAC,WAAW,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YAC7C,WAAW,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,EAC/C,CAAC;QACD,4BAA4B,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;SAAM,IAAI,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,MAAM,EAAE,CAAC;QACtD,MAAM,OAAO,GAAQ,EAAE,CAAC;QAExB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAU,EAAE,EAAE;YAC5B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACjB,MAAM,MAAM,GAAW,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,MAAoB,EAAE,CAAC,GAAY,EAAE,OAAe,EAAE,EAAE;gBAClE,IAAI,GAAG,EAAE,CAAC;oBACR,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAClB,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,eAAe,CAAC,0BAA0B,CAAC,CAChD,CAAC;gBACJ,CAAC;gBAED,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC;gBAEnB,IAAI,EAAE,CAAC;YACT,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,wBAAwB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,GAAG,CAAC,CAAC,GAAmB,EAAE,GAAoB,EAAE,IAAkB,EAAE,EAAE;IACxE,IAAI,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,MAAM,EAAE,CAAC;QAC/C,IAAI,EAAE,CAAC;IACT,CAAC;SAAM,CAAC;QACN,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,GAAG,CAAC,CAAC,IAAoB,EAAE,IAAqB,EAAE,IAAkB,EAAE,EAAE;IAC1E,uGAAuG;IACvG,MAAM,IAAI,GAAyB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3E,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,EAAE,CAAC;AACT,CAAC,CAAC,CAAC;AAiBH,MAAM,IAAI,GAAiB,KAAK,EAC9B,IAAwB,EACK,EAAE;IAC/B,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC;IAEtD,MAAM,CAAC,IAAI,CAAC,gBAAgB,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAErD,MAAM,OAAO,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC/C,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAE7C,SAAS,CAAC;QACR,OAAO;QACP,aAAa,EAAE,IAAI,CAAC,aAAa;KAClC,CAAC,CAAC;IAEH,IAAI,aAAa,EAAE,CAAC;QAClB,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAE9C,GAAG,CAAC,GAAG,CACL,CAAC,IAAI,OAAO,SAAS,EAAE,SAAS,CAAC,EACjC,KAAK,EAAE,GAAmB,EAAE,GAAoB,EAAE,IAAkB,EAAE,EAAE;YACtE,IAAI,CAAC;gBACH,uCAAuC;gBAEvC,MAAM,GAAG,GAAe,kBAAkB,EAAE,CAAC;gBAE7C,MAAM,MAAM,GAAW;;;;;;;;2BAQN,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;GAC3C,CAAC;gBAEM,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;YACpD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;QACH,CAAC,CACF,CAAC;QAEF,GAAG,CAAC,GAAG,CACL,IAAI,OAAO,EAAE,EACb,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC,CACrD,CAAC;QAEF,GAAG,CAAC,GAAG,CACL,IAAI,OAAO,gBAAgB,EAC3B,CAAC,IAAoB,EAAE,GAAoB,EAAE,EAAE;YAC7C,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAC;QACpE,CAAC,CACF,CAAC;QAEF,GAAG,CAAC,GAAG,CACL,CAAC,IAAI,EAAE,IAAI,OAAO,IAAI,CAAC,EACvB,KAAK,EACH,IAAoB,EACpB,GAAoB,EACpB,IAAkB,EAClB,EAAE;YACF,IAAI,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBAErC,IAAI,SAAS,GAAe,EAAE,CAAC;gBAE/B,IAAI,IAAI,CAAC,6BAA6B,EAAE,CAAC;oBACvC,MAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;oBACvD,IAAI,CAAC;wBACH,MAAM,0BAA0B,GAC9B,MAAM,IAAI,CAAC,6BAA6B,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;wBACtD,SAAS,mCACJ,SAAS,GACT,0BAA0B,CAC9B,CAAC;oBACJ,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACtB,CAAC;gBACH,CAAC;gBAED,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;gBACtD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAExB,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;oBACpB,MAAM,CAAC,KAAK,CACV,oEAAoE,CACrE,CAAC;oBACF,OAAO;gBACT,CAAC;gBAED,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,iBAAiB,CAAC,kBAC9D,sBAAsB,EAAE,gBAAgB,IAAI,KAAK,IAC9C,SAAS,EACZ,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAwB,KAAK,IAAmB,EAAE;IACtE,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAmB,EAAE,GAAoB,EAAE,EAAE;QAC1D,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,iBAAiB,CAAC,oBAAoB,GAAG,CAAC,GAAG,EAAE,CAAC,CACrD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAmB,EAAE,GAAoB,EAAE,EAAE;QACzD,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,iBAAiB,CAAC,oBAAoB,GAAG,CAAC,GAAG,EAAE,CAAC,CACrD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAmB,EAAE,GAAoB,EAAE,EAAE;QAC5D,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,iBAAiB,CAAC,oBAAoB,GAAG,CAAC,GAAG,EAAE,CAAC,CACrD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAmB,EAAE,GAAoB,EAAE,EAAE;QACzD,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,iBAAiB,CAAC,oBAAoB,GAAG,CAAC,GAAG,EAAE,CAAC,CACrD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,wBAAwB;IACxB,GAAG,CAAC,GAAG,CACL,CACE,GAA0C,EAC1C,IAAoB,EACpB,GAAoB,EACpB,IAAkB,EAClB,EAAE;;QACF,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAElB,sBAAsB;QACtB,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,IAAI,GAAyB,GAAG,CAAC,KAAK,CAAC,OAAO,CAClD,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CACrB,CAAC;YACF,IAAI,IAAI,EAAE,CAAC;gBACT,mBAAmB;gBACnB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBAE1B,gCAAgC;gBAChC,IAAI,CAAC,SAAS,CAAC;oBACb,IAAI,EAAE,GAAG,CAAC,cAAc,CAAC,KAAK;oBAC9B,OAAO,EAAE,GAAG,CAAC,OAAO;iBACrB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QAED,IAAI,GAAG,YAAY,OAAO,EAAE,CAAC;YAC3B,GAAG,CAAC,KAAK,CAAC,CAAC,SAAoB,EAAE,EAAE;gBACjC,IAAI,UAAU,CAAC,iBAAiB,CAAE,SAAuB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChE,GAAG,CAAC,MAAM,CAAE,SAAuB,CAAC,IAAI,CAAC,CAAC;oBAC1C,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,SAAuB,CAAC,OAAO,EAAE,CAAC,CAAC;gBACxD,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAChB,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;YAC5C,MAAM,eAAe,GAAW,UAAU,CAAC,iBAAiB,CAC1D,GAAG,CAAC,UAAU,CACf;gBACC,CAAC,CAAC,GAAG,CAAC,UAAU;gBAChB,CAAC,CAAC,GAAG,CAAC;YAER,MAAM,OAAO,GAAY,MAAA,GAAG,CAAC,QAAQ,mCAAI;gBACvC,KAAK,EAAE,GAAG,CAAC,OAAO,IAAI,cAAc;aACrC,CAAC;YAEF,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAC5B,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,CAAC;aAAM,IAAI,GAAG,YAAY,SAAS,EAAE,CAAC;YACpC,GAAG,CAAC,MAAM,CAAE,GAAiB,CAAC,IAAI,CAAC,CAAC;YACpC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,GAAiB,CAAC,OAAO,EAAE,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChB,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"StartServer.js","sourceRoot":"","sources":["../../../../Server/Utils/StartServer.ts"],"names":[],"mappings":"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"}
@@ -50,12 +50,12 @@ describe("ComponentsModal", () => {
50
50
  });
51
51
  it("should display search input", () => {
52
52
  render(React.createElement(ComponentsModal, { componentsType: ComponentType.Component, onCloseModal: mockOnCloseModal, onComponentClick: mockOnComponentClick, components: mockedComponents, categories: mockedCategories }));
53
- expect(screen.getByPlaceholderText("Search components...")).toBeInTheDocument();
53
+ expect(screen.getByPlaceholderText("Search components by name, description, or category")).toBeInTheDocument();
54
54
  });
55
55
  it("should display categories and components", () => {
56
56
  render(React.createElement(ComponentsModal, { componentsType: ComponentType.Component, onCloseModal: mockOnCloseModal, onComponentClick: mockOnComponentClick, components: mockedComponents, categories: mockedCategories }));
57
57
  for (const cat of mockedCategories) {
58
- expect(screen.getByText(cat.name)).toBeInTheDocument();
58
+ expect(screen.getAllByText(cat.name).length).toBeGreaterThanOrEqual(1);
59
59
  }
60
60
  for (const comp of mockedComponents) {
61
61
  expect(screen.getByText(comp.title)).toBeInTheDocument();
@@ -90,7 +90,7 @@ describe("ComponentsModal", () => {
90
90
  });
91
91
  it("should display no components message when search yields no results", () => {
92
92
  render(React.createElement(ComponentsModal, { componentsType: ComponentType.Component, onCloseModal: mockOnCloseModal, onComponentClick: mockOnComponentClick, components: mockedComponents, categories: mockedCategories }));
93
- fireEvent.change(screen.getByPlaceholderText("Search components..."), {
93
+ fireEvent.change(screen.getByPlaceholderText("Search components by name, description, or category"), {
94
94
  target: { value: "Non-existent Ccmponent" },
95
95
  });
96
96
  expect(screen.getByText("No components that match your search. If you are looking for an integration that does not exist currently - you can use Custom Code or API component to build anything you like.")).toBeInTheDocument();
@@ -113,10 +113,13 @@ describe("ComponentsModal", () => {
113
113
  render(React.createElement(ComponentsModal, { componentsType: ComponentType.Component, onCloseModal: mockOnCloseModal, onComponentClick: mockOnComponentClick, components: mockedComponents, categories: mockedCategories }));
114
114
  mockedComponents.forEach((comp) => {
115
115
  const partialTitle = comp.title.substring(0, comp.title.length - comp.title.length / 2);
116
- fireEvent.change(screen.getByPlaceholderText("Search components..."), {
116
+ fireEvent.change(screen.getByPlaceholderText("Search components by name, description, or category"), {
117
117
  target: { value: partialTitle },
118
118
  });
119
- expect(screen.getByText(comp.title)).toBeInTheDocument();
119
+ // title may be split across elements due to search highlighting
120
+ expect(screen.getByText((_content, element) => {
121
+ return (element === null || element === void 0 ? void 0 : element.textContent) === comp.title;
122
+ })).toBeInTheDocument();
120
123
  // check other components are not displayed
121
124
  mockedComponents
122
125
  .filter((c) => {
@@ -130,7 +133,7 @@ describe("ComponentsModal", () => {
130
133
  it("should filter components based on description when searching", () => {
131
134
  render(React.createElement(ComponentsModal, { componentsType: ComponentType.Component, onCloseModal: mockOnCloseModal, onComponentClick: mockOnComponentClick, components: mockedComponents, categories: mockedCategories }));
132
135
  mockedComponents.forEach((comp) => {
133
- fireEvent.change(screen.getByPlaceholderText("Search components..."), {
136
+ fireEvent.change(screen.getByPlaceholderText("Search components by name, description, or category"), {
134
137
  target: { value: comp.description },
135
138
  });
136
139
  expect(screen.getByText(comp.title)).toBeInTheDocument();
@@ -147,7 +150,7 @@ describe("ComponentsModal", () => {
147
150
  it("should filter components based on category when searching", () => {
148
151
  render(React.createElement(ComponentsModal, { componentsType: ComponentType.Component, onCloseModal: mockOnCloseModal, onComponentClick: mockOnComponentClick, components: mockedComponents, categories: mockedCategories }));
149
152
  mockedComponents.forEach((comp) => {
150
- fireEvent.change(screen.getByPlaceholderText("Search components..."), {
153
+ fireEvent.change(screen.getByPlaceholderText("Search components by name, description, or category"), {
151
154
  target: { value: comp.category },
152
155
  });
153
156
  expect(screen.getByText(comp.title)).toBeInTheDocument();
@@ -164,7 +167,7 @@ describe("ComponentsModal", () => {
164
167
  it("should show all components when search is cleared", () => {
165
168
  render(React.createElement(ComponentsModal, { componentsType: ComponentType.Component, onCloseModal: mockOnCloseModal, onComponentClick: mockOnComponentClick, components: mockedComponents, categories: mockedCategories }));
166
169
  mockedComponents.forEach((comp) => {
167
- const searchInput = screen.getByPlaceholderText("Search components...");
170
+ const searchInput = screen.getByPlaceholderText("Search components by name, description, or category");
168
171
  fireEvent.change(searchInput, { target: { value: comp.title } });
169
172
  fireEvent.change(searchInput, { target: { value: "" } }); // clear search
170
173
  mockedComponents.forEach((c) => {
@@ -175,30 +178,35 @@ describe("ComponentsModal", () => {
175
178
  it("should return multiple components when similar titles match", () => {
176
179
  var _a, _b;
177
180
  // we add a new component where its title is a substring of another component's title
178
- const commonWord = ((_a = mockedComponents[0]) === null || _a === void 0 ? void 0 : _a.title.substring(0, 5)) || "";
181
+ const localComponents = [...mockedComponents];
182
+ const commonWord = ((_a = localComponents[0]) === null || _a === void 0 ? void 0 : _a.title.substring(0, 5)) || "";
179
183
  const newComponent = getComponentMetadata((_b = mockedCategories[1]) === null || _b === void 0 ? void 0 : _b.name);
180
184
  newComponent.title += commonWord;
181
- mockedComponents.push(newComponent);
182
- const componentsWithCommonWord = mockedComponents.filter((comp) => {
185
+ localComponents.push(newComponent);
186
+ const componentsWithCommonWord = localComponents.filter((comp) => {
183
187
  return comp.title.includes(commonWord);
184
188
  });
185
- render(React.createElement(ComponentsModal, { componentsType: ComponentType.Component, onCloseModal: mockOnCloseModal, onComponentClick: mockOnComponentClick, components: mockedComponents, categories: mockedCategories }));
186
- fireEvent.change(screen.getByPlaceholderText("Search components..."), {
189
+ render(React.createElement(ComponentsModal, { componentsType: ComponentType.Component, onCloseModal: mockOnCloseModal, onComponentClick: mockOnComponentClick, components: localComponents, categories: mockedCategories }));
190
+ fireEvent.change(screen.getByPlaceholderText("Search components by name, description, or category"), {
187
191
  target: { value: commonWord },
188
192
  });
189
193
  componentsWithCommonWord.forEach((comp) => {
190
- expect(screen.getByText(comp.title)).toBeInTheDocument();
194
+ // title may be split across elements due to search highlighting
195
+ expect(screen.getByText((_content, element) => {
196
+ return (element === null || element === void 0 ? void 0 : element.textContent) === comp.title;
197
+ })).toBeInTheDocument();
191
198
  });
192
199
  });
193
200
  it("should return return components with similar descriptions", () => {
194
201
  var _a, _b;
195
202
  // we add a new component where its title is a substring of another component's description
196
- const partialDescription = ((_a = mockedComponents[0]) === null || _a === void 0 ? void 0 : _a.description.substring(0, 10)) || "";
203
+ const localComponents = [...mockedComponents];
204
+ const partialDescription = ((_a = localComponents[0]) === null || _a === void 0 ? void 0 : _a.description.substring(0, 10)) || "";
197
205
  const newComponent = getComponentMetadata((_b = mockedCategories[1]) === null || _b === void 0 ? void 0 : _b.name);
198
206
  newComponent.title = partialDescription || "";
199
- mockedComponents.push(newComponent);
200
- render(React.createElement(ComponentsModal, { componentsType: ComponentType.Component, onCloseModal: mockOnCloseModal, onComponentClick: mockOnComponentClick, components: mockedComponents, categories: mockedCategories }));
201
- fireEvent.change(screen.getByPlaceholderText("Search components..."), {
207
+ localComponents.push(newComponent);
208
+ render(React.createElement(ComponentsModal, { componentsType: ComponentType.Component, onCloseModal: mockOnCloseModal, onComponentClick: mockOnComponentClick, components: localComponents, categories: mockedCategories }));
209
+ fireEvent.change(screen.getByPlaceholderText("Search components by name, description, or category"), {
202
210
  target: { value: partialDescription },
203
211
  });
204
212
  expect(screen.getAllByText(new RegExp(partialDescription, "i"))).toHaveLength(2);
@@ -206,14 +214,15 @@ describe("ComponentsModal", () => {
206
214
  it("should return components with the same category", () => {
207
215
  var _a;
208
216
  // we add two components with the same category as the first component
209
- const commonCategory = (_a = mockedComponents[0]) === null || _a === void 0 ? void 0 : _a.category;
210
- mockedComponents.push(getComponentMetadata(commonCategory));
211
- mockedComponents.push(getComponentMetadata(commonCategory));
212
- const componentsInCommonCategory = mockedComponents.filter((comp) => {
217
+ const localComponents = [...mockedComponents];
218
+ const commonCategory = (_a = localComponents[0]) === null || _a === void 0 ? void 0 : _a.category;
219
+ localComponents.push(getComponentMetadata(commonCategory));
220
+ localComponents.push(getComponentMetadata(commonCategory));
221
+ const componentsInCommonCategory = localComponents.filter((comp) => {
213
222
  return comp.category === commonCategory;
214
223
  });
215
- render(React.createElement(ComponentsModal, { componentsType: ComponentType.Component, onCloseModal: mockOnCloseModal, onComponentClick: mockOnComponentClick, components: mockedComponents, categories: mockedCategories }));
216
- fireEvent.change(screen.getByPlaceholderText("Search components..."), {
224
+ render(React.createElement(ComponentsModal, { componentsType: ComponentType.Component, onCloseModal: mockOnCloseModal, onComponentClick: mockOnComponentClick, components: localComponents, categories: mockedCategories }));
225
+ fireEvent.change(screen.getByPlaceholderText("Search components by name, description, or category"), {
217
226
  target: { value: commonCategory },
218
227
  });
219
228
  componentsInCommonCategory.forEach((comp) => {
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentsModal.test.js","sourceRoot":"","sources":["../../../../../Tests/UI/Components/ComponentsModal.test.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ComponentsModal.test.js","sourceRoot":"","sources":["../../../../../Tests/UI/Components/ComponentsModal.test.tsx"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,iDAAiD,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,yCAAyC,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,QAAQ,MAAM,8BAA8B,CAAC;AACpD,OAA0B,EAExB,aAAa,GACd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,mBAAqC,MAAM,yBAAyB,CAAC;AAC5E,OAAO,KAAK,MAAM,sBAAsB,CAAC;AAMzC,MAAM,oBAAoB,GAAiC,CACzD,QAAiB,EACE,EAAE;IACrB,MAAM,EAAE,GAAW,KAAK,CAAC,sBAAsB,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC7D,OAAO;QACL,EAAE;QACF,KAAK,EAAE,EAAE;QACT,WAAW,EAAE,KAAK,CAAC,sBAAsB,EAAE,CAAC,QAAQ,EAAE;QACtD,QAAQ,EAAE,QAAQ,IAAI,KAAK,CAAC,sBAAsB,EAAE,CAAC,QAAQ,EAAE;QAC/D,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,aAAa,EAAE,aAAa,CAAC,SAAS;QACtC,SAAS,EAAE,EAAE;QACb,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,EAAE;KACb,CAAC;AACJ,CAAC,CAAC;AAIF,MAAM,oBAAoB,GAAiC,CACzD,IAAa,EACM,EAAE;IACrB,OAAO;QACL,IAAI,EAAE,IAAI,IAAI,KAAK,CAAC,sBAAsB,EAAE,CAAC,QAAQ,EAAE;QACvD,WAAW,EAAE,mBAAmB,IAAI,EAAE;QACtC,IAAI,EAAE,QAAQ,CAAC,QAAQ;KACxB,CAAC;AACJ,CAAC,CAAC;AAEF,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;;IAC/B,MAAM,gBAAgB,GAAwB;QAC5C,oBAAoB,EAAE;QACtB,oBAAoB,EAAE;QACtB,oBAAoB,EAAE;QACtB,oBAAoB,EAAE;KACvB,CAAC;IAEF,MAAM,gBAAgB,GAAwB;QAC5C,oBAAoB,CAAC,MAAA,gBAAgB,CAAC,CAAC,CAAC,0CAAE,IAAI,CAAC;QAC/C,oBAAoB,CAAC,MAAA,gBAAgB,CAAC,CAAC,CAAC,0CAAE,IAAI,CAAC;QAC/C,oBAAoB,CAAC,MAAA,gBAAgB,CAAC,CAAC,CAAC,0CAAE,IAAI,CAAC;QAC/C,oBAAoB,CAAC,MAAA,gBAAgB,CAAC,CAAC,CAAC,0CAAE,IAAI,CAAC;KAChD,CAAC;IAEF,MAAM,gBAAgB,GAAiB,mBAAmB,EAAE,CAAC;IAC7D,MAAM,oBAAoB,GAAiB,mBAAmB,EAAE,CAAC;IAEjE,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CACJ,oBAAC,eAAe,IACd,cAAc,EAAE,aAAa,CAAC,SAAS,EACvC,YAAY,EAAE,gBAAgB,EAC9B,gBAAgB,EAAE,oBAAoB,EACtC,UAAU,EAAE,gBAAgB,EAC5B,UAAU,EAAE,gBAAgB,GAC5B,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,CACJ,oBAAC,eAAe,IACd,cAAc,EAAE,aAAa,CAAC,SAAS,EACvC,YAAY,EAAE,gBAAgB,EAC9B,gBAAgB,EAAE,oBAAoB,EACtC,UAAU,EAAE,gBAAgB,EAC5B,UAAU,EAAE,gBAAgB,GAC5B,CACH,CAAC;QACF,MAAM,CACJ,MAAM,CAAC,oBAAoB,CACzB,qDAAqD,CACtD,CACF,CAAC,iBAAiB,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,CACJ,oBAAC,eAAe,IACd,cAAc,EAAE,aAAa,CAAC,SAAS,EACvC,YAAY,EAAE,gBAAgB,EAC9B,gBAAgB,EAAE,oBAAoB,EACtC,UAAU,EAAE,gBAAgB,EAC5B,UAAU,EAAE,gBAAgB,GAC5B,CACH,CAAC;QACF,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QACzE,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;YACpC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,CACJ,oBAAC,eAAe,IACd,cAAc,EAAE,aAAa,CAAC,SAAS,EACvC,YAAY,EAAE,gBAAgB,EAC9B,gBAAgB,EAAE,oBAAoB,EACtC,UAAU,EAAE,gBAAgB,EAC5B,UAAU,EAAE,gBAAgB,GAC5B,CACH,CAAC;QACF,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,gBAAgB,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,CACJ,oBAAC,eAAe,IACd,cAAc,EAAE,aAAa,CAAC,SAAS,EACvC,YAAY,EAAE,gBAAgB,EAC9B,gBAAgB,EAAE,oBAAoB,EACtC,UAAU,EAAE,gBAAgB,EAC5B,UAAU,EAAE,gBAAgB,GAC5B,CACH,CAAC;QACF,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC;YACrD,iCAAiC;YACjC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;YAE/D,sBAAsB;YACtB,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAErD,8EAA8E;YAC9E,MAAM,CAAC,oBAAoB,CAAC,CAAC,uBAAuB,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QACtE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,CACJ,oBAAC,eAAe,IACd,cAAc,EAAE,aAAa,CAAC,SAAS,EACvC,YAAY,EAAE,gBAAgB,EAC9B,gBAAgB,EAAE,oBAAoB,EACtC,UAAU,EAAE,EAAE,EACd,UAAU,EAAE,gBAAgB,GAC5B,CACH,CAAC;QACF,MAAM,CACJ,MAAM,CAAC,SAAS,CACd,kLAAkL,CACnL,CACF,CAAC,iBAAiB,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,CACJ,oBAAC,eAAe,IACd,cAAc,EAAE,aAAa,CAAC,SAAS,EACvC,YAAY,EAAE,gBAAgB,EAC9B,gBAAgB,EAAE,oBAAoB,EACtC,UAAU,EAAE,gBAAgB,EAC5B,UAAU,EAAE,EAAE,GACd,CACH,CAAC;QACF,gBAAgB,CAAC,OAAO,CAAC,CAAC,QAA2B,EAAE,EAAE;YACvD,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;QACpE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,MAAM,CACJ,oBAAC,eAAe,IACd,cAAc,EAAE,aAAa,CAAC,SAAS,EACvC,YAAY,EAAE,gBAAgB,EAC9B,gBAAgB,EAAE,oBAAoB,EACtC,UAAU,EAAE,gBAAgB,EAC5B,UAAU,EAAE,gBAAgB,GAC5B,CACH,CAAC;QACF,SAAS,CAAC,MAAM,CACd,MAAM,CAAC,oBAAoB,CACzB,qDAAqD,CACtD,EACD;YACE,MAAM,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE;SAC5C,CACF,CAAC;QACF,MAAM,CACJ,MAAM,CAAC,SAAS,CACd,kLAAkL,CACnL,CACF,CAAC,iBAAiB,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,MAAM,CACJ,oBAAC,eAAe,IACd,cAAc,EAAE,aAAa,CAAC,SAAS,EACvC,YAAY,EAAE,gBAAgB,EAC9B,gBAAgB,EAAE,oBAAoB,EACtC,UAAU,EAAE,gBAAgB,EAC5B,UAAU,EAAE,gBAAgB,GAC5B,CACH,CAAC;QACF,MAAM,YAAY,GAAgB,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QACtE,MAAM,CAAC,YAAY,CAAC,CAAC,YAAY,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0EAA0E,EAAE,GAAG,EAAE;QAClF,MAAM,CACJ,oBAAC,eAAe,IACd,cAAc,EAAE,aAAa,CAAC,SAAS,EACvC,YAAY,EAAE,gBAAgB,EAC9B,gBAAgB,EAAE,oBAAoB,EACtC,UAAU,EAAE,gBAAgB,EAC5B,UAAU,EAAE,gBAAgB,GAC5B,CACH,CAAC;QACF,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;YACpC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9C,MAAM,YAAY,GAAgB,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;YACtE,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QAC1C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,eAAe;IAEf,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,CACJ,oBAAC,eAAe,IACd,cAAc,EAAE,aAAa,CAAC,SAAS,EACvC,YAAY,EAAE,gBAAgB,EAC9B,gBAAgB,EAAE,oBAAoB,EACtC,UAAU,EAAE,gBAAgB,EAC5B,UAAU,EAAE,gBAAgB,GAC5B,CACH,CAAC;QAEF,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAuB,EAAE,EAAE;YACnD,MAAM,YAAY,GAAW,IAAI,CAAC,KAAK,CAAC,SAAS,CAC/C,CAAC,EACD,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAC1C,CAAC;YACF,SAAS,CAAC,MAAM,CACd,MAAM,CAAC,oBAAoB,CACzB,qDAAqD,CACtD,EACD;gBACE,MAAM,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE;aAChC,CACF,CAAC;YACF,gEAAgE;YAChE,MAAM,CACJ,MAAM,CAAC,SAAS,CAAC,CAAC,QAAuB,EAAE,OAAuB,EAAE,EAAE;gBACpE,OAAO,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,MAAK,IAAI,CAAC,KAAK,CAAC;YAC7C,CAAC,CAAC,CACH,CAAC,iBAAiB,EAAE,CAAC;YAEtB,2CAA2C;YAC3C,gBAAgB;iBACb,MAAM,CAAC,CAAC,CAAoB,EAAE,EAAE;gBAC/B,OAAO,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;YAChC,CAAC,CAAC;iBACD,OAAO,CAAC,CAAC,CAAoB,EAAE,EAAE;gBAChC,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;YACrE,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,CACJ,oBAAC,eAAe,IACd,cAAc,EAAE,aAAa,CAAC,SAAS,EACvC,YAAY,EAAE,gBAAgB,EAC9B,gBAAgB,EAAE,oBAAoB,EACtC,UAAU,EAAE,gBAAgB,EAC5B,UAAU,EAAE,gBAAgB,GAC5B,CACH,CAAC;QACF,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAuB,EAAE,EAAE;YACnD,SAAS,CAAC,MAAM,CACd,MAAM,CAAC,oBAAoB,CACzB,qDAAqD,CACtD,EACD;gBACE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE;aACpC,CACF,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;YAEzD,2CAA2C;YAC3C,gBAAgB;iBACb,MAAM,CAAC,CAAC,CAAoB,EAAE,EAAE;gBAC/B,OAAO,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;YAChC,CAAC,CAAC;iBACD,OAAO,CAAC,CAAC,CAAoB,EAAE,EAAE;gBAChC,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;YACrE,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,CACJ,oBAAC,eAAe,IACd,cAAc,EAAE,aAAa,CAAC,SAAS,EACvC,YAAY,EAAE,gBAAgB,EAC9B,gBAAgB,EAAE,oBAAoB,EACtC,UAAU,EAAE,gBAAgB,EAC5B,UAAU,EAAE,gBAAgB,GAC5B,CACH,CAAC;QACF,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAuB,EAAE,EAAE;YACnD,SAAS,CAAC,MAAM,CACd,MAAM,CAAC,oBAAoB,CACzB,qDAAqD,CACtD,EACD;gBACE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE;aACjC,CACF,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;YAEzD,2CAA2C;YAC3C,gBAAgB;iBACb,MAAM,CAAC,CAAC,CAAoB,EAAE,EAAE;gBAC/B,OAAO,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC;YACtC,CAAC,CAAC;iBACD,OAAO,CAAC,CAAC,CAAoB,EAAE,EAAE;gBAChC,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;YACrE,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,CACJ,oBAAC,eAAe,IACd,cAAc,EAAE,aAAa,CAAC,SAAS,EACvC,YAAY,EAAE,gBAAgB,EAC9B,gBAAgB,EAAE,oBAAoB,EACtC,UAAU,EAAE,gBAAgB,EAC5B,UAAU,EAAE,gBAAgB,GAC5B,CACH,CAAC;QACF,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAuB,EAAE,EAAE;YACnD,MAAM,WAAW,GAAgB,MAAM,CAAC,oBAAoB,CAC1D,qDAAqD,CACtD,CAAC;YACF,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACjE,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe;YAEzE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAoB,EAAE,EAAE;gBAChD,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;YAC/D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;;QACrE,qFAAqF;QACrF,MAAM,eAAe,GAAwB,CAAC,GAAG,gBAAgB,CAAC,CAAC;QACnE,MAAM,UAAU,GAAW,CAAA,MAAA,eAAe,CAAC,CAAC,CAAC,0CAAE,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAI,EAAE,CAAC;QAC3E,MAAM,YAAY,GAAsB,oBAAoB,CAC1D,MAAA,gBAAgB,CAAC,CAAC,CAAC,0CAAE,IAAI,CAC1B,CAAC;QACF,YAAY,CAAC,KAAK,IAAI,UAAU,CAAC;QACjC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnC,MAAM,wBAAwB,GAC5B,eAAe,CAAC,MAAM,CAAC,CAAC,IAAuB,EAAE,EAAE;YACjD,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEL,MAAM,CACJ,oBAAC,eAAe,IACd,cAAc,EAAE,aAAa,CAAC,SAAS,EACvC,YAAY,EAAE,gBAAgB,EAC9B,gBAAgB,EAAE,oBAAoB,EACtC,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,gBAAgB,GAC5B,CACH,CAAC;QAEF,SAAS,CAAC,MAAM,CACd,MAAM,CAAC,oBAAoB,CACzB,qDAAqD,CACtD,EACD;YACE,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;SAC9B,CACF,CAAC;QACF,wBAAwB,CAAC,OAAO,CAAC,CAAC,IAAuB,EAAE,EAAE;YAC3D,gEAAgE;YAChE,MAAM,CACJ,MAAM,CAAC,SAAS,CAAC,CAAC,QAAuB,EAAE,OAAuB,EAAE,EAAE;gBACpE,OAAO,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,MAAK,IAAI,CAAC,KAAK,CAAC;YAC7C,CAAC,CAAC,CACH,CAAC,iBAAiB,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;;QACnE,2FAA2F;QAC3F,MAAM,eAAe,GAAwB,CAAC,GAAG,gBAAgB,CAAC,CAAC;QACnE,MAAM,kBAAkB,GACtB,CAAA,MAAA,eAAe,CAAC,CAAC,CAAC,0CAAE,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAI,EAAE,CAAC;QACzD,MAAM,YAAY,GAAsB,oBAAoB,CAC1D,MAAA,gBAAgB,CAAC,CAAC,CAAC,0CAAE,IAAI,CAC1B,CAAC;QACF,YAAY,CAAC,KAAK,GAAG,kBAAkB,IAAI,EAAE,CAAC;QAC9C,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnC,MAAM,CACJ,oBAAC,eAAe,IACd,cAAc,EAAE,aAAa,CAAC,SAAS,EACvC,YAAY,EAAE,gBAAgB,EAC9B,gBAAgB,EAAE,oBAAoB,EACtC,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,gBAAgB,GAC5B,CACH,CAAC;QAEF,SAAS,CAAC,MAAM,CACd,MAAM,CAAC,oBAAoB,CACzB,qDAAqD,CACtD,EACD;YACE,MAAM,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE;SACtC,CACF,CAAC;QACF,MAAM,CACJ,MAAM,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC,CACzD,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;;QACzD,sEAAsE;QACtE,MAAM,eAAe,GAAwB,CAAC,GAAG,gBAAgB,CAAC,CAAC;QACnE,MAAM,cAAc,GAAuB,MAAA,eAAe,CAAC,CAAC,CAAC,0CAAE,QAAQ,CAAC;QACxE,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,CAAC;QAC3D,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,CAAC;QAC3D,MAAM,0BAA0B,GAC9B,eAAe,CAAC,MAAM,CAAC,CAAC,IAAuB,EAAE,EAAE;YACjD,OAAO,IAAI,CAAC,QAAQ,KAAK,cAAc,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEL,MAAM,CACJ,oBAAC,eAAe,IACd,cAAc,EAAE,aAAa,CAAC,SAAS,EACvC,YAAY,EAAE,gBAAgB,EAC9B,gBAAgB,EAAE,oBAAoB,EACtC,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,gBAAgB,GAC5B,CACH,CAAC;QAEF,SAAS,CAAC,MAAM,CACd,MAAM,CAAC,oBAAoB,CACzB,qDAAqD,CACtD,EACD;YACE,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE;SAClC,CACF,CAAC;QACF,0BAA0B,CAAC,OAAO,CAAC,CAAC,IAAuB,EAAE,EAAE;YAC7D,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,67 +1,205 @@
1
1
  // Show a large modal full of components.
2
2
  import ErrorMessage from "../ErrorMessage/ErrorMessage";
3
3
  import Icon from "../Icon/Icon";
4
- import Input from "../Input/Input";
5
4
  import SideOver from "../SideOver/SideOver";
6
5
  import IconProp from "../../../Types/Icon/IconProp";
7
- import React, { useEffect, useState, } from "react";
6
+ import React, { useEffect, useRef, useState, } from "react";
7
+ const escapeRegExp = (value) => {
8
+ return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
9
+ };
10
+ const getSearchScore = (componentMetadata, searchTerm) => {
11
+ const title = componentMetadata.title.toLowerCase();
12
+ const description = componentMetadata.description.toLowerCase();
13
+ const category = componentMetadata.category.toLowerCase();
14
+ let score = 0;
15
+ if (title.startsWith(searchTerm)) {
16
+ score += 140;
17
+ }
18
+ else if (title.includes(searchTerm)) {
19
+ score += 100;
20
+ }
21
+ if (category.startsWith(searchTerm)) {
22
+ score += 75;
23
+ }
24
+ else if (category.includes(searchTerm)) {
25
+ score += 55;
26
+ }
27
+ if (description.includes(searchTerm)) {
28
+ score += 35;
29
+ }
30
+ if (title.split(" ").some((word) => {
31
+ return word.trim().startsWith(searchTerm);
32
+ })) {
33
+ score += 15;
34
+ }
35
+ return score;
36
+ };
8
37
  const ComponentsModal = (props) => {
9
38
  const [search, setSearch] = useState("");
39
+ const searchInputRef = useRef(null);
10
40
  const [components, setComponents] = useState([]);
11
41
  const [categories, setCategories] = useState([]);
12
42
  const [componentsToShow, setComponentsToShow] = useState([]);
13
- const [isSearching, setIsSearching] = useState(false);
14
43
  const [selectedComponentMetadata, setSelectedComponentMetadata] = useState(null);
15
44
  useEffect(() => {
16
45
  setComponents(props.components);
17
46
  setComponentsToShow([...props.components]);
18
47
  setCategories(props.categories);
48
+ }, [props.categories, props.components]);
49
+ useEffect(() => {
50
+ const normalizedSearch = search.trim().toLowerCase();
51
+ const filteredComponents = components
52
+ .filter((componentMetadata) => {
53
+ return componentMetadata.componentType === props.componentsType;
54
+ })
55
+ .filter((componentMetadata) => {
56
+ if (!normalizedSearch) {
57
+ return true;
58
+ }
59
+ return (componentMetadata.title.toLowerCase().includes(normalizedSearch) ||
60
+ componentMetadata.description
61
+ .toLowerCase()
62
+ .includes(normalizedSearch) ||
63
+ componentMetadata.category.toLowerCase().includes(normalizedSearch));
64
+ })
65
+ .sort((componentA, componentB) => {
66
+ if (!normalizedSearch) {
67
+ return componentA.title.localeCompare(componentB.title);
68
+ }
69
+ const scoreDifference = getSearchScore(componentB, normalizedSearch) -
70
+ getSearchScore(componentA, normalizedSearch);
71
+ if (scoreDifference !== 0) {
72
+ return scoreDifference;
73
+ }
74
+ return componentA.title.localeCompare(componentB.title);
75
+ });
76
+ setComponentsToShow(filteredComponents);
77
+ }, [components, props.componentsType, search]);
78
+ useEffect(() => {
79
+ var _a;
80
+ (_a = searchInputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
19
81
  }, []);
20
82
  useEffect(() => {
21
- if (!isSearching) {
22
- return;
23
- }
24
- if (!search) {
25
- setComponentsToShow([
26
- ...components.filter((componentMetadata) => {
27
- return componentMetadata.componentType === props.componentsType;
28
- }),
29
- ]);
83
+ const handleKeyDown = (event) => {
84
+ var _a;
85
+ const target = event.target;
86
+ const isTypingContext = Boolean(target &&
87
+ (target.tagName === "INPUT" ||
88
+ target.tagName === "TEXTAREA" ||
89
+ target.getAttribute("contenteditable") === "true"));
90
+ if (event.key === "/" &&
91
+ !event.metaKey &&
92
+ !event.ctrlKey &&
93
+ !event.altKey &&
94
+ !isTypingContext) {
95
+ event.preventDefault();
96
+ (_a = searchInputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
97
+ }
98
+ };
99
+ window.addEventListener("keydown", handleKeyDown);
100
+ return () => {
101
+ window.removeEventListener("keydown", handleKeyDown);
102
+ };
103
+ }, []);
104
+ const hasSearchTerm = search.trim().length > 0;
105
+ const normalizedSearch = search.trim().toLowerCase();
106
+ const totalComponentCount = components.length;
107
+ const componentTypeLabel = `${props.componentsType.toLowerCase()}${totalComponentCount === 1 ? "" : "s"}`;
108
+ const suggestedCategories = categories
109
+ .filter((category) => {
110
+ return components.some((componentMetadata) => {
111
+ return componentMetadata.category === category.name;
112
+ });
113
+ })
114
+ .slice(0, 4);
115
+ const renderHighlightedText = (text, markClassName) => {
116
+ if (!hasSearchTerm) {
117
+ return text;
30
118
  }
31
- setComponentsToShow([
32
- ...components.filter((componentMetadata) => {
33
- return (componentMetadata.componentType === props.componentsType &&
34
- (componentMetadata.title
35
- .toLowerCase()
36
- .includes(search.trim().toLowerCase()) ||
37
- componentMetadata.description
38
- .toLowerCase()
39
- .includes(search.trim().toLowerCase()) ||
40
- componentMetadata.category
41
- .toLowerCase()
42
- .includes(search.trim().toLowerCase())));
43
- }),
44
- ]);
45
- }, [search]);
119
+ const highlightedParts = text.split(new RegExp(`(${escapeRegExp(search.trim())})`, "ig"));
120
+ return (React.createElement(React.Fragment, null, highlightedParts.map((part, index) => {
121
+ if (part.toLowerCase() === normalizedSearch) {
122
+ return (React.createElement("mark", { key: `${part}-${index}`, className: markClassName || "rounded bg-amber-100 px-0.5 text-current" }, part));
123
+ }
124
+ return (React.createElement(React.Fragment, { key: `${part}-${index}` }, part));
125
+ })));
126
+ };
46
127
  return (React.createElement(SideOver, { submitButtonText: "Add to Workflow", title: `Add ${props.componentsType}`, description: `Choose a ${props.componentsType.toLowerCase()} to add to your workflow.`, onClose: props.onCloseModal, submitButtonDisabled: !selectedComponentMetadata, onSubmit: () => {
47
128
  return (selectedComponentMetadata &&
48
129
  props.onComponentClick(selectedComponentMetadata));
49
130
  } },
50
131
  React.createElement(React.Fragment, null,
51
132
  React.createElement("div", { className: "flex flex-col h-full" },
52
- React.createElement("div", { className: "mt-4 mb-4" },
53
- React.createElement("div", { className: "relative" },
54
- React.createElement("div", { className: "absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none" },
55
- React.createElement(Icon, { icon: IconProp.Search, className: "h-4 w-4 text-gray-400" })),
56
- React.createElement("div", { className: "pl-9" },
57
- React.createElement(Input, { placeholder: `Search ${props.componentsType.toLowerCase()}s...`, onChange: (text) => {
58
- setIsSearching(true);
59
- setSearch(text);
60
- } })))),
133
+ React.createElement("div", { className: "mt-4 mb-5" },
134
+ React.createElement("div", { className: "rounded-3xl border border-slate-200 bg-gradient-to-br from-white via-indigo-50 to-slate-50 p-3 shadow-sm" },
135
+ React.createElement("div", { className: "mb-3 flex items-start justify-between gap-3" },
136
+ React.createElement("div", { className: "min-w-0" },
137
+ React.createElement("label", { htmlFor: "workflow-component-search", className: "block text-xs font-semibold uppercase tracking-wide text-slate-500" },
138
+ "Search ",
139
+ componentTypeLabel),
140
+ React.createElement("p", { className: "mt-1 text-sm text-slate-600" }, hasSearchTerm
141
+ ? "Showing the closest matches first across title, description, and category."
142
+ : `Find the right ${props.componentsType.toLowerCase()} by name, category, or the job you need it to do.`)),
143
+ React.createElement("div", { className: "inline-flex flex-shrink-0 items-center rounded-full bg-white/90 px-3 py-1 text-xs font-semibold text-slate-500 ring-1 ring-slate-200" }, hasSearchTerm
144
+ ? `${componentsToShow.length} match${componentsToShow.length === 1 ? "" : "es"}`
145
+ : `${totalComponentCount} available`)),
146
+ React.createElement("div", { className: "relative flex items-center gap-3 rounded-2xl border border-slate-200 bg-white/90 px-3 py-3 shadow-sm transition-all duration-200 hover:border-slate-300 focus-within:border-indigo-500 focus-within:ring-4 focus-within:ring-indigo-100" },
147
+ React.createElement("div", { className: "flex h-11 w-11 flex-shrink-0 items-center justify-center rounded-2xl bg-gradient-to-br from-white via-indigo-50 to-sky-100 text-indigo-600 ring-1 ring-indigo-100 shadow-sm" },
148
+ React.createElement(Icon, { icon: IconProp.Search, className: "h-4 w-4" })),
149
+ React.createElement("div", { className: "min-w-0 flex-1" },
150
+ React.createElement("input", { id: "workflow-component-search", ref: searchInputRef, type: "text", value: search, placeholder: `Search ${componentTypeLabel} by name, description, or category`, autoComplete: "off", className: "block w-full border-0 bg-transparent p-0 text-base font-semibold text-slate-900 placeholder:text-slate-400 focus:outline-none focus:ring-0", onChange: (event) => {
151
+ setSearch(event.target.value);
152
+ }, onKeyDown: (event) => {
153
+ var _a;
154
+ if (event.key === "Escape" && hasSearchTerm) {
155
+ setSearch("");
156
+ (_a = searchInputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
157
+ }
158
+ } }),
159
+ React.createElement("div", { className: "mt-1 flex flex-wrap items-center gap-2 text-xs text-slate-500" },
160
+ React.createElement("span", null, hasSearchTerm
161
+ ? `Showing ${componentsToShow.length} of ${totalComponentCount} ${componentTypeLabel}.`
162
+ : "Searches title, description, and category."),
163
+ !hasSearchTerm && (React.createElement("span", { className: "hidden items-center gap-1 rounded-full bg-slate-100 px-2 py-1 font-medium text-slate-500 sm:inline-flex" },
164
+ React.createElement("kbd", { className: "rounded bg-white px-1.5 py-0.5 text-[10px] font-semibold text-slate-500 ring-1 ring-slate-200" }, "/"),
165
+ "Quick focus")),
166
+ hasSearchTerm && (React.createElement("span", { className: "hidden items-center gap-1 rounded-full bg-indigo-50 px-2 py-1 font-medium text-indigo-600 sm:inline-flex" },
167
+ React.createElement("kbd", { className: "rounded bg-white px-1.5 py-0.5 text-[10px] font-semibold text-indigo-600 ring-1 ring-indigo-100" }, "Esc"),
168
+ "Clear search")))),
169
+ hasSearchTerm && (React.createElement("div", { className: "flex flex-shrink-0 items-center gap-2" },
170
+ React.createElement("button", { type: "button", className: "inline-flex items-center gap-1 rounded-full bg-slate-900 px-3 py-1.5 text-xs font-medium text-white shadow-sm transition-colors duration-150 hover:bg-slate-700", onClick: () => {
171
+ var _a;
172
+ setSearch("");
173
+ (_a = searchInputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
174
+ } },
175
+ React.createElement(Icon, { icon: IconProp.Close, className: "h-3 w-3" }),
176
+ "Clear")))),
177
+ suggestedCategories.length > 0 && (React.createElement("div", { className: "mt-3 flex flex-wrap items-center gap-2" },
178
+ React.createElement("span", { className: "text-xs font-medium text-slate-500" }, "Quick filters:"),
179
+ suggestedCategories.map((category) => {
180
+ const isActive = normalizedSearch === category.name.toLowerCase();
181
+ return (React.createElement("button", { key: category.name, type: "button", onClick: () => {
182
+ var _a;
183
+ setSearch(category.name);
184
+ (_a = searchInputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
185
+ }, className: `inline-flex items-center gap-1 rounded-full border px-3 py-1.5 text-xs font-medium transition-colors duration-150 ${isActive
186
+ ? "border-indigo-200 bg-indigo-50 text-indigo-700"
187
+ : "border-slate-200 bg-white text-slate-600 hover:border-slate-300 hover:bg-slate-50"}` },
188
+ React.createElement(Icon, { icon: category.icon, className: "h-3 w-3" }),
189
+ category.name));
190
+ }))))),
61
191
  React.createElement("div", { className: "overflow-y-auto overflow-x-hidden flex-1" },
62
192
  !componentsToShow ||
63
- (componentsToShow.length === 0 && (React.createElement("div", { className: "w-full flex justify-center mt-20 px-4" },
64
- React.createElement(ErrorMessage, { message: "No components that match your search. If you are looking for an integration that does not exist currently - you can use Custom Code or API component to build anything you like." })))),
193
+ (componentsToShow.length === 0 && (React.createElement("div", { className: "mt-20 flex w-full flex-col items-center justify-center gap-4 px-4" },
194
+ React.createElement("div", { className: "max-w-2xl" },
195
+ React.createElement(ErrorMessage, { message: "No components that match your search. If you are looking for an integration that does not exist currently - you can use Custom Code or API component to build anything you like." })),
196
+ hasSearchTerm && (React.createElement("button", { type: "button", className: "inline-flex items-center gap-2 rounded-full border border-slate-200 bg-white px-4 py-2 text-sm font-medium text-slate-600 shadow-sm transition-colors duration-150 hover:bg-slate-50 hover:text-slate-800", onClick: () => {
197
+ var _a;
198
+ setSearch("");
199
+ (_a = searchInputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
200
+ } },
201
+ React.createElement(Icon, { icon: IconProp.Close, className: "h-3.5 w-3.5" }),
202
+ "Reset search"))))),
65
203
  categories &&
66
204
  categories.length > 0 &&
67
205
  categories.map((category, i) => {
@@ -123,13 +261,21 @@ const ComponentsModal = (props) => {
123
261
  height: "1rem",
124
262
  } })),
125
263
  React.createElement("div", { style: { minWidth: 0, flex: 1 } },
126
- React.createElement("p", { style: {
127
- fontSize: "0.8125rem",
128
- fontWeight: 600,
129
- color: isSelected ? "#4338ca" : "#1e293b",
130
- margin: 0,
131
- lineHeight: "1.25rem",
132
- } }, componentMetadata.title),
264
+ React.createElement("div", { className: "flex items-start justify-between gap-2" },
265
+ React.createElement("p", { style: {
266
+ fontSize: "0.8125rem",
267
+ fontWeight: 600,
268
+ color: isSelected ? "#4338ca" : "#1e293b",
269
+ margin: 0,
270
+ lineHeight: "1.25rem",
271
+ } }, renderHighlightedText(componentMetadata.title, isSelected
272
+ ? "rounded bg-white/80 px-0.5 text-current"
273
+ : "rounded bg-amber-100 px-0.5 text-current")),
274
+ hasSearchTerm && (React.createElement("span", { className: `mt-0.5 inline-flex flex-shrink-0 rounded-full px-2 py-0.5 text-[11px] font-medium ${isSelected
275
+ ? "bg-white/80 text-indigo-700"
276
+ : "bg-slate-100 text-slate-500"}` }, renderHighlightedText(componentMetadata.category, isSelected
277
+ ? "rounded bg-indigo-100 px-0.5 text-current"
278
+ : "rounded bg-white px-0.5 text-current")))),
133
279
  React.createElement("p", { style: {
134
280
  fontSize: "0.75rem",
135
281
  color: isSelected ? "#6366f1" : "#94a3b8",
@@ -140,7 +286,9 @@ const ComponentsModal = (props) => {
140
286
  WebkitLineClamp: 2,
141
287
  WebkitBoxOrient: "vertical",
142
288
  overflow: "hidden",
143
- } }, componentMetadata.description)),
289
+ } }, renderHighlightedText(componentMetadata.description, isSelected
290
+ ? "rounded bg-white/80 px-0.5 text-current"
291
+ : "rounded bg-amber-100 px-0.5 text-current"))),
144
292
  isSelected && (React.createElement("div", { style: {
145
293
  width: "20px",
146
294
  height: "20px",