@tooee/search 0.12.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,MAAM,GACP,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,uBAAuB,EACvB,eAAe,EACf,YAAY,GACb,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAExE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,MAAM,GACP,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,uBAAuB,EACvB,eAAe,EACf,YAAY,GACb,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAO7D,OAAO,EACL,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,uBAAuB,EACvB,eAAe,EACf,YAAY,GACb,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAExE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAS7D,OAAO,EACL,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,uBAAuB,EACvB,eAAe,EACf,YAAY,GACb,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC"}
@@ -33,9 +33,9 @@ interface NavSearchEventDefinitions {
33
33
  setCursor: {
34
34
  index: number;
35
35
  };
36
- enterSelect: Record<never, never>;
37
- cancelSelect: Record<never, never>;
38
- toggleCurrent: Record<never, never>;
36
+ enterSelect: object;
37
+ cancelSelect: object;
38
+ toggleCurrent: object;
39
39
  toggleAndMove: {
40
40
  delta: number;
41
41
  };
@@ -46,10 +46,10 @@ interface NavSearchEventDefinitions {
46
46
  query: string;
47
47
  matches: readonly number[];
48
48
  };
49
- searchSubmitted: Record<never, never>;
50
- searchCancelled: Record<never, never>;
51
- searchNext: Record<never, never>;
52
- searchPrevious: Record<never, never>;
49
+ searchSubmitted: object;
50
+ searchCancelled: object;
51
+ searchNext: object;
52
+ searchPrevious: object;
53
53
  }
54
54
  export type NavSearchEvents = {
55
55
  [EventName in keyof NavSearchEventDefinitions]: NavSearchEventDefinitions[EventName];
@@ -1 +1 @@
1
- {"version":3,"file":"nav-search-store.d.ts","sourceRoot":"","sources":["../src/nav-search-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAG5C,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAC9C,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,CAAC;AAE5D,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,EAAE;QACN,MAAM,EAAE,YAAY,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,cAAc,EAAE,MAAM,CAAC;QACvB,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;QAC3B,iBAAiB,EAAE,MAAM,CAAC;QAC1B,aAAa,EAAE,IAAI,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;CAC1C;AAED,UAAU,yBAAyB;IACjC,WAAW,EAAE;QAAE,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACxE,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACxB,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;KAAE,CAAC;IAC3C,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAClC,YAAY,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACnC,aAAa,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACpC,aAAa,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACjC,aAAa,EAAE;QAAE,IAAI,EAAE,IAAI,CAAA;KAAE,CAAC;IAC9B,aAAa,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,CAAC;IAC7D,eAAe,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACtC,eAAe,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACtC,UAAU,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACjC,cAAc,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;CACtC;AACD,MAAM,MAAM,eAAe,GAAG;KAC3B,SAAS,IAAI,MAAM,yBAAyB,GAAG,yBAAyB,CAAC,SAAS,CAAC;CACrF,CAAC;AAEF,UAAU,2BAA2B;IACnC,WAAW,EAAE;QAAE,IAAI,EAAE,IAAI,CAAA;KAAE,CAAC;IAC5B,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3B;AACD,KAAK,gBAAgB,GAAG;KACrB,SAAS,IAAI,MAAM,2BAA2B,GAAG,2BAA2B,CAAC,SAAS,CAAC;CACzF,CAAC;AAEF,eAAO,MAAM,YAAY,WACf,MAAM,aACH,CAAC,GAAG,CAAC,CAAC,YACP,MAAM,gBACF,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,KACvC,MAAM,GAAG,IAoBX,CAAC;AAoCF,eAAO,MAAM,oBAAoB,aACtB;IACP,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB,8HAwLF,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAErE,eAAO,MAAM,YAAY,QAAS,gBAAgB,kBAAe,CAAC;AAClE,eAAO,MAAM,aAAa,QAAS,gBAAgB,sBAAgB,CAAC;AACpE,eAAO,MAAM,qBAAqB,QAAS,gBAAgB,kBAAwB,CAAC;AACpF,eAAO,MAAM,iBAAiB,QAAS,gBAAgB,wBAAoB,CAAC;AAC5E,eAAO,MAAM,kBAAkB,QAAS,gBAAgB,iBAAsB,CAAC;AAC/E,eAAO,MAAM,kBAAkB,QAAS,gBAAgB,YAAoC,CAAC;AAC7F,eAAO,MAAM,iBAAiB,QAAS,gBAAgB,WACyB,CAAC;AACjF,eAAO,MAAM,aAAa,QAAS,gBAAgB,sBAAuB,CAAC;AAC3E,eAAO,MAAM,uBAAuB,QAAS,gBAAgB,WAAiC,CAAC;AAC/F,eAAO,MAAM,eAAe,QAAiC,gBAAgB,QAAQ,IAAI;;;QAOxF,CAAC"}
1
+ {"version":3,"file":"nav-search-store.d.ts","sourceRoot":"","sources":["../src/nav-search-store.ts"],"names":[],"mappings":"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"}
@@ -37,12 +37,19 @@ const toggle = function toggle(ctx) {
37
37
  }
38
38
  return { ...ctx, toggledKeys };
39
39
  };
40
- const searchStep = function searchStep(ctx, delta, enqueue) {
40
+ const searchStep = function searchStep(ctx, delta, isSelectable, enqueue) {
41
41
  if (ctx.search.matches.length === 0) {
42
42
  return ctx;
43
43
  }
44
44
  const currentMatchIndex = (ctx.search.currentMatchIndex + delta + ctx.search.matches.length) % ctx.search.matches.length;
45
- const cursor = ctx.search.matches[currentMatchIndex];
45
+ const match = ctx.search.matches[currentMatchIndex];
46
+ // A match can sit on a row that the cursor may not stop on, for example a
47
+ // heading. Resolve it the same way typing and Enter do. A store with no rows
48
+ // (a standalone `useSearch`) cannot check rows, so it keeps the match.
49
+ const cursor = ctx.rowKeys.length === 0 ? match : resolveIndex(match, delta, ctx.rowKeys.length, isSelectable);
50
+ if (cursor === null) {
51
+ return { ...ctx, search: { ...ctx.search, currentMatchIndex } };
52
+ }
46
53
  enqueue.emit.jumped({ index: cursor });
47
54
  return { ...ctx, cursor, search: { ...ctx.search, currentMatchIndex } };
48
55
  };
@@ -150,8 +157,8 @@ export const createNavSearchStore = function createNavSearchStore(options = {})
150
157
  },
151
158
  };
152
159
  },
153
- searchNext: (ctx, _event, enqueue) => searchStep(ctx, 1, enqueue),
154
- searchPrevious: (ctx, _event, enqueue) => searchStep(ctx, -1, enqueue),
160
+ searchNext: (ctx, _event, enqueue) => searchStep(ctx, 1, deps.isSelectable, enqueue),
161
+ searchPrevious: (ctx, _event, enqueue) => searchStep(ctx, -1, deps.isSelectable, enqueue),
155
162
  searchStarted: (ctx, event) => ({
156
163
  ...ctx,
157
164
  search: {
@@ -1 +1 @@
1
- {"version":3,"file":"nav-search-store.js","sourceRoot":"","sources":["../src/nav-search-store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAoD5C,MAAM,CAAC,MAAM,YAAY,GAAG,SAAS,YAAY,CAC/C,MAAc,EACd,SAAiB,EACjB,QAAgB,EAChB,YAAwC;IAExC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,GAAG,GAAG,QAAQ,GAAG,CAAC,CAAC;IACzB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IACnD,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,KAAK,IAAI,KAAK,GAAG,OAAO,GAAG,SAAS,EAAE,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,SAAS,EAAE,CAAC;QACrF,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,KAAK,IAAI,KAAK,GAAG,OAAO,GAAG,SAAS,EAAE,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,SAAS,EAAE,CAAC;QACrF,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,SAAS,MAAM,CAAC,GAAqB;IAClD,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC7C,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,EAAE,GAAG,GAAG,EAAE,WAAW,EAAE,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,SAAS,UAAU,CACpC,GAAqB,EACrB,KAAa,EACb,OAAiE;IAEjE,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,OAAO,GAAG,CAAC;IACb,CAAC;IACD,MAAM,iBAAiB,GACrB,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,GAAG,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;IACjG,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACrD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACvC,OAAO,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,iBAAiB,EAAE,EAAE,CAAC;AAC1E,CAAC,CAAC;AAEF,MAAM,UAAU,GAAsB,EAAE,CAAC;AAEzC,MAAM,CAAC,MAAM,oBAAoB,GAAG,SAAS,oBAAoB,CAC/D,OAAO,GAGH,EAAE;IAEN,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IAC1D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,UAAU,CAAC;IACxC,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,SAAiB,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CACxE,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAE3D,OAAO,WAAW,CAAsD;QACtE,OAAO,EAAE;YACP,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;YACrB,OAAO,EAAE,IAAI;YACb,MAAM,EAAE;gBACN,cAAc,EAAE,EAAE;gBAClB,iBAAiB,EAAE,CAAC;gBACpB,OAAO,EAAE,EAAE;gBACX,aAAa,EAAE,QAAQ;gBACvB,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE,MAAM;aACf;YACD,eAAe,EAAE,IAAI;YACrB,WAAW,EAAE,IAAI,GAAG,EAAE;SACvB;QACD,EAAE,EAAE;YACF,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CACpB,GAAG,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE;YACxE,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;YAC/D,IAAI,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC5B,MAAM,MAAM,GAAG,YAAY,CACzB,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,SAAS,EACf,GAAG,CAAC,OAAO,CAAC,MAAM,EAClB,IAAI,CAAC,YAAY,CAClB,CAAC;gBACF,oEAAoE;gBACpE,gDAAgD;gBAChD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBACpB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBACzC,CAAC;gBACD,OAAO,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC;YAC5B,CAAC;YACD,IAAI,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBACnB,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;oBACxB,OAAO,GAAG,CAAC;gBACb,CAAC;gBACD,MAAM,SAAS,GAAW,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnD,MAAM,MAAM,GAAG,YAAY,CACzB,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,EACxB,SAAS,EACT,GAAG,CAAC,OAAO,CAAC,MAAM,EAClB,IAAI,CAAC,YAAY,CAClB,CAAC;gBACF,OAAO,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC;YAC7E,CAAC;YACD,WAAW,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBAC1B,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC;gBAClC,MAAM,WAAW,GAAG,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBACtF,IAAI,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;gBACrB,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC5B,MAAM,GAAG,IAAI,CAAC;gBAChB,CAAC;qBAAM,IACL,KAAK,CAAC,mBAAmB,KAAK,IAAI;oBAClC,cAAc,KAAK,IAAI;oBACvB,WAAW,KAAK,SAAS,EACzB,CAAC;oBACD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;oBAClD,MAAM;wBACJ,SAAS,KAAK,CAAC,CAAC;4BACd,CAAC,CAAC,YAAY,CACV,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAC/C,CAAC,EACD,KAAK,CAAC,IAAI,CAAC,MAAM,EACjB,IAAI,CAAC,YAAY,CAClB;4BACH,CAAC,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBACzE,CAAC;qBAAM,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBAC1D,MAAM,GAAG,YAAY,CACnB,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAC3C,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACxB,KAAK,CAAC,IAAI,CAAC,MAAM,EACjB,IAAI,CAAC,YAAY,CAClB,CAAC;gBACJ,CAAC;qBAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;oBACtC,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBACzE,CAAC;gBACD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACtC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACnF,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,KAAK,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACxF,OAAO,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;YAC9D,CAAC;YACD,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;gBACxC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;gBAC7D,OAAO;oBACL,GAAG,GAAG;oBACN,MAAM,EAAE;wBACN,GAAG,GAAG,CAAC,MAAM;wBACb,cAAc,EAAE,EAAE;wBAClB,iBAAiB,EAAE,CAAC;wBACpB,OAAO,EAAE,EAAE;wBACX,KAAK,EAAE,EAAE;wBACT,MAAM,EAAE,MAAM;qBACf;iBACF,CAAC;YACJ,CAAC;YACD,aAAa,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBACrC,MAAM,gBAAgB,GACpB,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM;oBAClD,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACrF,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,IAAI,gBAAgB,EAAE,CAAC;oBACzD,OAAO,GAAG,CAAC;gBACb,CAAC;gBAED,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;gBAC9B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBACxC,CAAC;gBACD,OAAO;oBACL,GAAG,GAAG;oBACN,MAAM,EACJ,KAAK,KAAK,SAAS;wBACjB,CAAC,CAAC,GAAG,CAAC,MAAM;wBACZ,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC;oBACnE,MAAM,EAAE;wBACN,GAAG,GAAG,CAAC,MAAM;wBACb,iBAAiB,EAAE,CAAC;wBACpB,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,KAAK,EAAE,KAAK,CAAC,KAAK;qBACnB;iBACF,CAAC;YACJ,CAAC;YACD,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC;YACjE,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC;YACtE,aAAa,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC9B,GAAG,GAAG;gBACN,MAAM,EAAE;oBACN,GAAG,GAAG,CAAC,MAAM;oBACb,iBAAiB,EAAE,CAAC;oBACpB,OAAO,EAAE,EAAE;oBACX,aAAa,EAAE,KAAK,CAAC,IAAI;oBACzB,KAAK,EAAE,EAAE;oBACT,MAAM,EAAE,SAAS;iBAClB;aACF,CAAC;YACF,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;gBACxC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC;gBACnC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBACxC,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;gBAC7D,OAAO;oBACL,GAAG,GAAG;oBACN,MAAM,EACJ,KAAK,KAAK,SAAS;wBACjB,CAAC,CAAC,GAAG,CAAC,MAAM;wBACZ,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC;oBACnE,MAAM,EAAE;wBACN,GAAG,GAAG,CAAC,MAAM;wBACb,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK;wBAChC,iBAAiB,EAAE,CAAC;wBACpB,MAAM,EAAE,WAAW;qBACpB;iBACF,CAAC;YACJ,CAAC;YACD,SAAS,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBACxB,MAAM,SAAS,GAAW,GAAG,CAAC,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnF,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC3F,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC;YACpD,CAAC;YACD,aAAa,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC5B,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;oBAC5B,OAAO,OAAO,CAAC;gBACjB,CAAC;gBACD,MAAM,SAAS,GAAW,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnD,MAAM,MAAM,GAAG,YAAY,CACzB,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,EAC5B,SAAS,EACT,OAAO,CAAC,OAAO,CAAC,MAAM,EACtB,IAAI,CAAC,YAAY,CAClB,CAAC;gBACF,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,CAAC;YAC5D,CAAC;YACD,aAAa,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC;SACpC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAIF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAqB,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC;AAClE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAqB,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC;AACpE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,GAAqB,EAAE,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC;AACpF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,GAAqB,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC;AAC5E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAqB,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;AAC/E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAqB,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC;AAC7F,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,GAAqB,EAAE,EAAE,CACzD,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC;AACjF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAqB,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC;AAC3E,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,GAAqB,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC;AAC/F,MAAM,CAAC,MAAM,eAAe,GAAG,SAAS,eAAe,CAAC,GAAqB,EAAE,IAAU;IACvF,OAAO,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,eAAe,KAAK,IAAI,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI;QAC7E,CAAC,CAAC;YACE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC;YAC9C,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC;SACjD;QACH,CAAC,CAAC,IAAI,CAAC;AACX,CAAC,CAAC"}
1
+ {"version":3,"file":"nav-search-store.js","sourceRoot":"","sources":["../src/nav-search-store.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,14 @@ export interface SearchBarProps {
3
3
  query: string;
4
4
  onQueryChange: (query: string) => void;
5
5
  onSubmit: () => void;
6
- onCancel: () => void;
6
+ /**
7
+ * @deprecated The bar never calls this. Escape reaches the `search-cancel`
8
+ * command that `useSearchBindings` registers, and that command cancels the
9
+ * search. The prop will be removed in a later release.
10
+ */
11
+ onCancel?: () => void;
7
12
  matchCount?: number;
8
13
  currentMatch?: number;
9
14
  }
10
- export declare const SearchBar: ({ query, onQueryChange, onSubmit, onCancel: _onCancel, matchCount, currentMatch, }: SearchBarProps) => ReactNode;
15
+ export declare const SearchBar: ({ query, onQueryChange, onSubmit, matchCount, currentMatch, }: SearchBarProps) => ReactNode;
11
16
  //# sourceMappingURL=search-bar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"search-bar.d.ts","sourceRoot":"","sources":["../src/search-bar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,SAAS,uFAOnB,cAAc,KAAG,SAoCnB,CAAC"}
1
+ {"version":3,"file":"search-bar.d.ts","sourceRoot":"","sources":["../src/search-bar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,SAAS,kEAMnB,cAAc,KAAG,SAqCnB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "@opentui/react/jsx-runtime";
2
2
  import { useTheme } from "@tooee/themes";
3
- export const SearchBar = function SearchBar({ query, onQueryChange, onSubmit, onCancel: _onCancel, matchCount, currentMatch, }) {
3
+ export const SearchBar = function SearchBar({ query, onQueryChange, onSubmit, matchCount, currentMatch, }) {
4
4
  const { theme } = useTheme();
5
5
  let matchDisplay = "";
6
6
  if (matchCount !== undefined && matchCount > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"search-bar.js","sourceRoot":"","sources":["../src/search-bar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAYzC,MAAM,CAAC,MAAM,SAAS,GAAG,SAAS,SAAS,CAAC,EAC1C,KAAK,EACL,aAAa,EACb,QAAQ,EACR,QAAQ,EAAE,SAAS,EACnB,UAAU,EACV,YAAY,GACG;IACf,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAE7B,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QAC/C,YAAY,GAAG,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,UAAU,EAAE,CAAC;IAC5D,CAAC;SAAM,IAAI,UAAU,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,YAAY,GAAG,YAAY,CAAC;IAC9B,CAAC;IAED,OAAO,CACL,eACE,KAAK,EAAE;YACL,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,aAAa,EAAE,KAAK;YACpB,UAAU,EAAE,CAAC;YACb,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;SAChB,aAED,eAAM,OAAO,EAAC,GAAG,EAAC,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,GAAI,EACjD,gBACE,KAAK,EAAE,KAAK,EACZ,OAAO,QACP,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAC,aAAa,EAC7B,sBAAsB,EAAC,aAAa,EACpC,SAAS,EAAE,KAAK,CAAC,IAAI,EACrB,WAAW,EAAE,KAAK,CAAC,MAAM,EACzB,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAC9C,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,GACtB,EACD,YAAY,CAAC,CAAC,CAAC,eAAM,OAAO,EAAE,IAAI,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,SAAS,EAAE,GAAI,CAAC,CAAC,CAAC,IAAI,IACxF,CACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"search-bar.js","sourceRoot":"","sources":["../src/search-bar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAiBzC,MAAM,CAAC,MAAM,SAAS,GAAG,SAAS,SAAS,CAAC,EAC1C,KAAK,EACL,aAAa,EACb,QAAQ,EACR,UAAU,EACV,YAAY,GACG;IACf,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAE7B,IAAI,YAAY,GAAG,EAAE,CAAC;IAEtB,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QAC/C,YAAY,GAAG,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,UAAU,EAAE,CAAC;IAC5D,CAAC;SAAM,IAAI,UAAU,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,YAAY,GAAG,YAAY,CAAC;IAC9B,CAAC;IAED,OAAO,CACL,eACE,KAAK,EAAE;YACL,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,aAAa,EAAE,KAAK;YACpB,UAAU,EAAE,CAAC;YACb,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;SAChB,aAED,eAAM,OAAO,EAAC,GAAG,EAAC,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,GAAI,EACjD,gBACE,KAAK,EAAE,KAAK,EACZ,OAAO,QACP,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAC,aAAa,EAC7B,sBAAsB,EAAC,aAAa,EACpC,SAAS,EAAE,KAAK,CAAC,IAAI,EACrB,WAAW,EAAE,KAAK,CAAC,MAAM,EACzB,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAC9C,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,GACtB,EACD,YAAY,CAAC,CAAC,CAAC,eAAM,OAAO,EAAE,IAAI,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,SAAS,EAAE,GAAI,CAAC,CAAC,CAAC,IAAI,IACxF,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"search-hook.d.ts","sourceRoot":"","sources":["../src/search-hook.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAiB,cAAc,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEnF,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IACnC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B;AAKD,eAAO,MAAM,iBAAiB,YAAuC;IACnE,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1C,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,KAAG,cAoBH,CAAC;AAEF,eAAO,MAAM,iBAAiB,UACrB,cAAc,qCAMlB,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,KACzE,WA4GF,CAAC;AAEF,eAAO,MAAM,SAAS,YAA+B,gBAAgB,KAAG,WAGvE,CAAC"}
1
+ {"version":3,"file":"search-hook.d.ts","sourceRoot":"","sources":["../src/search-hook.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAiB,cAAc,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEnF,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IACnC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B;AAMD,eAAO,MAAM,iBAAiB,YAAuC;IACnE,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1C,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,KAAG,cAyBH,CAAC;AAEF,eAAO,MAAM,iBAAiB,UACrB,cAAc,qCAMlB,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,KACzE,WAiHF,CAAC;AAEF,eAAO,MAAM,SAAS,YAA+B,gBAAgB,KAAG,WAIvE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"search-hook.js","sourceRoot":"","sources":["../src/search-hook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search-hook.js","sourceRoot":"","sources":["../src/search-hook.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,SAAoC,MAAM,SAAS,MAAM,KAAG,MAAM,EAmB/F,CAAC"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,SAAoC,MAAM,SAAS,MAAM,KAAG,MAAM,EAwB/F,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,iBAAiB,CAAC,IAAY,EAAE,KAAa;IACrF,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACvC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACpD,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC9B,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;YACD,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC;YAClB,OAAO,IAAI,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,iBAAiB,CAAC,IAAY,EAAE,KAAa;IACrF,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACvC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YAEpD,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC9B,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;YAED,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC;YAClB,OAAO,IAAI,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tooee/search",
3
- "version": "0.12.0",
3
+ "version": "0.13.0",
4
4
  "description": "Search hook, utilities, and SearchBar component for Tooee",
5
5
  "keywords": [
6
6
  "cli",
@@ -38,8 +38,8 @@
38
38
  "typecheck": "tsc --noEmit"
39
39
  },
40
40
  "dependencies": {
41
- "@tooee/commands": "0.12.0",
42
- "@tooee/themes": "0.12.0",
41
+ "@tooee/commands": "0.13.0",
42
+ "@tooee/themes": "0.13.0",
43
43
  "@xstate/store": "^4.2.3",
44
44
  "@xstate/store-react": "^2"
45
45
  },
package/src/index.ts CHANGED
@@ -1,12 +1,16 @@
1
1
  export { useSearch } from "./search-hook.js";
2
+
2
3
  export { useNavSearchStore, useSearchBindings } from "./search-hook.js";
4
+
3
5
  export { createNavSearchStore } from "./nav-search-store.js";
6
+
4
7
  export type {
5
8
  NavSearchStore,
6
9
  NavSearchContext,
7
10
  NavSearchEvents,
8
11
  RowKey,
9
12
  } from "./nav-search-store.js";
13
+
10
14
  export {
11
15
  selectCursor,
12
16
  selectRowKeys,
@@ -20,7 +24,11 @@ export {
20
24
  deriveSelection,
21
25
  resolveIndex,
22
26
  } from "./nav-search-store.js";
27
+
23
28
  export type { UseSearchOptions, SearchState } from "./search-hook.js";
29
+
24
30
  export { findMatchingLines } from "./search.js";
31
+
25
32
  export { SearchBar } from "./search-bar.js";
33
+
26
34
  export type { SearchBarProps } from "./search-bar.js";
@@ -2,6 +2,7 @@ import type { Mode } from "@tooee/commands";
2
2
  import { createStore } from "@xstate/store";
3
3
 
4
4
  export type RowKey = string | number | bigint;
5
+
5
6
  export type SearchStatus = "idle" | "editing" | "committed";
6
7
 
7
8
  export interface NavSearchContext {
@@ -23,22 +24,24 @@ export interface NavSearchDeps {
23
24
  isSelectable: (index: number) => boolean;
24
25
  }
25
26
 
27
+ // An event without a payload uses `object`. xstate treats it the same as `{}`, which lint rejects.
26
28
  interface NavSearchEventDefinitions {
27
29
  rowsChanged: { keys: readonly RowKey[]; preserveCursorByKey?: boolean };
28
30
  move: { delta: number };
29
31
  jump: { index: number; direction: 1 | -1 };
30
32
  setCursor: { index: number };
31
- enterSelect: Record<never, never>;
32
- cancelSelect: Record<never, never>;
33
- toggleCurrent: Record<never, never>;
33
+ enterSelect: object;
34
+ cancelSelect: object;
35
+ toggleCurrent: object;
34
36
  toggleAndMove: { delta: number };
35
37
  searchStarted: { mode: Mode };
36
38
  searchChanged: { query: string; matches: readonly number[] };
37
- searchSubmitted: Record<never, never>;
38
- searchCancelled: Record<never, never>;
39
- searchNext: Record<never, never>;
40
- searchPrevious: Record<never, never>;
39
+ searchSubmitted: object;
40
+ searchCancelled: object;
41
+ searchNext: object;
42
+ searchPrevious: object;
41
43
  }
44
+
42
45
  export type NavSearchEvents = {
43
46
  [EventName in keyof NavSearchEventDefinitions]: NavSearchEventDefinitions[EventName];
44
47
  };
@@ -47,6 +50,7 @@ interface NavSearchEmittedDefinitions {
47
50
  restoreMode: { mode: Mode };
48
51
  jumped: { index: number };
49
52
  }
53
+
50
54
  type NavSearchEmitted = {
51
55
  [EventName in keyof NavSearchEmittedDefinitions]: NavSearchEmittedDefinitions[EventName];
52
56
  };
@@ -60,21 +64,26 @@ export const resolveIndex = function resolveIndex(
60
64
  if (rowCount <= 0) {
61
65
  return null;
62
66
  }
67
+
63
68
  const max = rowCount - 1;
64
69
  const clamped = Math.max(0, Math.min(target, max));
70
+
65
71
  if (isSelectable(clamped)) {
66
72
  return clamped;
67
73
  }
74
+
68
75
  for (let index = clamped + direction; index >= 0 && index <= max; index += direction) {
69
76
  if (isSelectable(index)) {
70
77
  return index;
71
78
  }
72
79
  }
80
+
73
81
  for (let index = clamped - direction; index >= 0 && index <= max; index -= direction) {
74
82
  if (isSelectable(index)) {
75
83
  return index;
76
84
  }
77
85
  }
86
+
78
87
  return null;
79
88
  };
80
89
 
@@ -82,31 +91,51 @@ const toggle = function toggle(ctx: NavSearchContext): NavSearchContext {
82
91
  if (ctx.cursor === null) {
83
92
  return ctx;
84
93
  }
94
+
85
95
  const key = ctx.rowKeys[ctx.cursor];
96
+
86
97
  if (key === undefined) {
87
98
  return ctx;
88
99
  }
100
+
89
101
  const toggledKeys = new Set(ctx.toggledKeys);
102
+
90
103
  if (toggledKeys.has(key)) {
91
104
  toggledKeys.delete(key);
92
105
  } else {
93
106
  toggledKeys.add(key);
94
107
  }
108
+
95
109
  return { ...ctx, toggledKeys };
96
110
  };
97
111
 
98
112
  const searchStep = function searchStep(
99
113
  ctx: NavSearchContext,
100
114
  delta: 1 | -1,
115
+ isSelectable: (index: number) => boolean,
101
116
  enqueue: { emit: { jumped: (event: { index: number }) => void } }
102
117
  ): NavSearchContext {
103
118
  if (ctx.search.matches.length === 0) {
104
119
  return ctx;
105
120
  }
121
+
106
122
  const currentMatchIndex =
107
123
  (ctx.search.currentMatchIndex + delta + ctx.search.matches.length) % ctx.search.matches.length;
108
- const cursor = ctx.search.matches[currentMatchIndex];
124
+
125
+ const match = ctx.search.matches[currentMatchIndex];
126
+
127
+ // A match can sit on a row that the cursor may not stop on, for example a
128
+ // heading. Resolve it the same way typing and Enter do. A store with no rows
129
+ // (a standalone `useSearch`) cannot check rows, so it keeps the match.
130
+ const cursor =
131
+ ctx.rowKeys.length === 0 ? match : resolveIndex(match, delta, ctx.rowKeys.length, isSelectable);
132
+
133
+ if (cursor === null) {
134
+ return { ...ctx, search: { ...ctx.search, currentMatchIndex } };
135
+ }
136
+
109
137
  enqueue.emit.jumped({ index: cursor });
138
+
110
139
  return { ...ctx, cursor, search: { ...ctx.search, currentMatchIndex } };
111
140
  };
112
141
 
@@ -120,6 +149,7 @@ export const createNavSearchStore = function createNavSearchStore(
120
149
  ) {
121
150
  const deps = options.deps ?? { isSelectable: () => true };
122
151
  const keys = options.keys ?? EMPTY_KEYS;
152
+
123
153
  const resolve = (index: number, direction: 1 | -1, count = keys.length) =>
124
154
  resolveIndex(index, direction, count, deps.isSelectable);
125
155
 
@@ -149,30 +179,36 @@ export const createNavSearchStore = function createNavSearchStore(
149
179
  ctx.rowKeys.length,
150
180
  deps.isSelectable
151
181
  );
182
+
152
183
  // Emit even when the cursor is already on the target row, so a view
153
184
  // can reveal a row the user scrolled away from.
154
185
  if (cursor !== null) {
155
186
  enqueue.emit.jumped({ index: cursor });
156
187
  }
188
+
157
189
  return { ...ctx, cursor };
158
190
  },
159
191
  move: (ctx, event) => {
160
192
  if (ctx.cursor === null) {
161
193
  return ctx;
162
194
  }
195
+
163
196
  const direction: 1 | -1 = event.delta < 0 ? -1 : 1;
197
+
164
198
  const cursor = resolveIndex(
165
199
  ctx.cursor + event.delta,
166
200
  direction,
167
201
  ctx.rowKeys.length,
168
202
  deps.isSelectable
169
203
  );
204
+
170
205
  return cursor === null || cursor === ctx.cursor ? ctx : { ...ctx, cursor };
171
206
  },
172
207
  rowsChanged: (ctx, event) => {
173
208
  const previousCursor = ctx.cursor;
174
209
  const previousKey = previousCursor === null ? undefined : ctx.rowKeys[previousCursor];
175
210
  let { cursor } = ctx;
211
+
176
212
  if (event.keys.length === 0) {
177
213
  cursor = null;
178
214
  } else if (
@@ -200,13 +236,16 @@ export const createNavSearchStore = function createNavSearchStore(
200
236
  } else if (!deps.isSelectable(cursor)) {
201
237
  cursor = resolveIndex(cursor, 1, event.keys.length, deps.isSelectable);
202
238
  }
239
+
203
240
  const available = new Set(event.keys);
204
241
  const filtered = new Set([...ctx.toggledKeys].filter((key) => available.has(key)));
205
242
  const toggledKeys = filtered.size === ctx.toggledKeys.size ? ctx.toggledKeys : filtered;
243
+
206
244
  return { ...ctx, cursor, rowKeys: event.keys, toggledKeys };
207
245
  },
208
246
  searchCancelled: (ctx, _event, enqueue) => {
209
247
  enqueue.emit.restoreMode({ mode: ctx.search.preSearchMode });
248
+
210
249
  return {
211
250
  ...ctx,
212
251
  search: {
@@ -223,14 +262,17 @@ export const createNavSearchStore = function createNavSearchStore(
223
262
  const matchesUnchanged =
224
263
  ctx.search.matches.length === event.matches.length &&
225
264
  ctx.search.matches.every((match, index) => Object.is(match, event.matches[index]));
265
+
226
266
  if (ctx.search.query === event.query && matchesUnchanged) {
227
267
  return ctx;
228
268
  }
229
269
 
230
270
  const [first] = event.matches;
271
+
231
272
  if (first !== undefined) {
232
273
  enqueue.emit.jumped({ index: first });
233
274
  }
275
+
234
276
  return {
235
277
  ...ctx,
236
278
  cursor:
@@ -245,8 +287,8 @@ export const createNavSearchStore = function createNavSearchStore(
245
287
  },
246
288
  };
247
289
  },
248
- searchNext: (ctx, _event, enqueue) => searchStep(ctx, 1, enqueue),
249
- searchPrevious: (ctx, _event, enqueue) => searchStep(ctx, -1, enqueue),
290
+ searchNext: (ctx, _event, enqueue) => searchStep(ctx, 1, deps.isSelectable, enqueue),
291
+ searchPrevious: (ctx, _event, enqueue) => searchStep(ctx, -1, deps.isSelectable, enqueue),
250
292
  searchStarted: (ctx, event) => ({
251
293
  ...ctx,
252
294
  search: {
@@ -260,10 +302,13 @@ export const createNavSearchStore = function createNavSearchStore(
260
302
  }),
261
303
  searchSubmitted: (ctx, _event, enqueue) => {
262
304
  const [first] = ctx.search.matches;
305
+
263
306
  if (first !== undefined) {
264
307
  enqueue.emit.jumped({ index: first });
265
308
  }
309
+
266
310
  enqueue.emit.restoreMode({ mode: ctx.search.preSearchMode });
311
+
267
312
  return {
268
313
  ...ctx,
269
314
  cursor:
@@ -281,20 +326,25 @@ export const createNavSearchStore = function createNavSearchStore(
281
326
  setCursor: (ctx, event) => {
282
327
  const direction: 1 | -1 = ctx.cursor !== null && event.index < ctx.cursor ? -1 : 1;
283
328
  const cursor = resolveIndex(event.index, direction, ctx.rowKeys.length, deps.isSelectable);
329
+
284
330
  return cursor === null ? ctx : { ...ctx, cursor };
285
331
  },
286
332
  toggleAndMove: (ctx, event) => {
287
333
  const toggled = toggle(ctx);
334
+
288
335
  if (toggled.cursor === null) {
289
336
  return toggled;
290
337
  }
338
+
291
339
  const direction: 1 | -1 = event.delta < 0 ? -1 : 1;
340
+
292
341
  const cursor = resolveIndex(
293
342
  toggled.cursor + event.delta,
294
343
  direction,
295
344
  toggled.rowKeys.length,
296
345
  deps.isSelectable
297
346
  );
347
+
298
348
  return cursor === null ? toggled : { ...toggled, cursor };
299
349
  },
300
350
  toggleCurrent: (ctx) => toggle(ctx),
@@ -305,15 +355,24 @@ export const createNavSearchStore = function createNavSearchStore(
305
355
  export type NavSearchStore = ReturnType<typeof createNavSearchStore>;
306
356
 
307
357
  export const selectCursor = (ctx: NavSearchContext) => ctx.cursor;
358
+
308
359
  export const selectRowKeys = (ctx: NavSearchContext) => ctx.rowKeys;
360
+
309
361
  export const selectSelectionAnchor = (ctx: NavSearchContext) => ctx.selectionAnchor;
362
+
310
363
  export const selectToggledKeys = (ctx: NavSearchContext) => ctx.toggledKeys;
364
+
311
365
  export const selectSearchStatus = (ctx: NavSearchContext) => ctx.search.status;
366
+
312
367
  export const selectSearchActive = (ctx: NavSearchContext) => ctx.search.status === "editing";
368
+
313
369
  export const selectSearchQuery = (ctx: NavSearchContext) =>
314
370
  ctx.search.status === "editing" ? ctx.search.query : ctx.search.committedQuery;
371
+
315
372
  export const selectMatches = (ctx: NavSearchContext) => ctx.search.matches;
373
+
316
374
  export const selectCurrentMatchIndex = (ctx: NavSearchContext) => ctx.search.currentMatchIndex;
375
+
317
376
  export const deriveSelection = function deriveSelection(ctx: NavSearchContext, mode: Mode) {
318
377
  return mode === "select" && ctx.selectionAnchor !== null && ctx.cursor !== null
319
378
  ? {
@@ -5,7 +5,12 @@ export interface SearchBarProps {
5
5
  query: string;
6
6
  onQueryChange: (query: string) => void;
7
7
  onSubmit: () => void;
8
- onCancel: () => void;
8
+ /**
9
+ * @deprecated The bar never calls this. Escape reaches the `search-cancel`
10
+ * command that `useSearchBindings` registers, and that command cancels the
11
+ * search. The prop will be removed in a later release.
12
+ */
13
+ onCancel?: () => void;
9
14
  matchCount?: number;
10
15
  currentMatch?: number;
11
16
  }
@@ -14,13 +19,13 @@ export const SearchBar = function SearchBar({
14
19
  query,
15
20
  onQueryChange,
16
21
  onSubmit,
17
- onCancel: _onCancel,
18
22
  matchCount,
19
23
  currentMatch,
20
24
  }: SearchBarProps): ReactNode {
21
25
  const { theme } = useTheme();
22
26
 
23
27
  let matchDisplay = "";
28
+
24
29
  if (matchCount !== undefined && matchCount > 0) {
25
30
  matchDisplay = `${(currentMatch ?? 0) + 1}/${matchCount}`;
26
31
  } else if (matchCount === 0 && query.length > 0) {
@@ -29,6 +29,7 @@ export interface SearchState {
29
29
  }
30
30
 
31
31
  const CURSOR_MODES: Mode[] = ["cursor"];
32
+
32
33
  const ALL_MODES: Mode[] = ["cursor", "select", "insert"];
33
34
 
34
35
  export const useNavSearchStore = function useNavSearchStore(options: {
@@ -38,15 +39,19 @@ export const useNavSearchStore = function useNavSearchStore(options: {
38
39
  }): NavSearchStore {
39
40
  const depsRef = useRef<NavSearchDeps>({ isSelectable: options.isSelectable ?? (() => true) });
40
41
  depsRef.current.isSelectable = options.isSelectable ?? (() => true);
42
+
41
43
  const [store, setStore] = useState(() =>
42
44
  createNavSearchStore({ deps: depsRef.current, keys: options.keys })
43
45
  );
46
+
44
47
  void setStore;
45
48
  useEffect(() => {
46
49
  const currentKeys = store.getSnapshot().context.rowKeys;
50
+
47
51
  const keysChanged =
48
52
  currentKeys.length !== options.keys.length ||
49
53
  currentKeys.some((key, index) => !Object.is(key, options.keys[index]));
54
+
50
55
  if (keysChanged) {
51
56
  store.trigger.rowsChanged({
52
57
  keys: options.keys,
@@ -54,6 +59,7 @@ export const useNavSearchStore = function useNavSearchStore(options: {
54
59
  });
55
60
  }
56
61
  }, [store, options.keys, options.preserveCursorByKey]);
62
+
57
63
  return store;
58
64
  };
59
65
 
@@ -75,6 +81,7 @@ export const useSearchBindings = function useSearchBindings(
75
81
 
76
82
  useEffect(() => {
77
83
  const subscription = store.on("jumped", ({ index }) => onJumpRef.current?.(index));
84
+
78
85
  return () => {
79
86
  subscription.unsubscribe();
80
87
  };
@@ -83,6 +90,7 @@ export const useSearchBindings = function useSearchBindings(
83
90
  const subscription = store.on("restoreMode", ({ mode: restored }) => {
84
91
  setMode(restored);
85
92
  });
93
+
86
94
  return () => {
87
95
  subscription.unsubscribe();
88
96
  };
@@ -91,6 +99,7 @@ export const useSearchBindings = function useSearchBindings(
91
99
  const searchQuery = useSelector(store, (snapshot) => selectSearchQuery(snapshot.context));
92
100
  const searchActive = useSelector(store, (snapshot) => selectSearchActive(snapshot.context));
93
101
  const matchingLines = useSelector(store, (snapshot) => selectMatches(snapshot.context));
102
+
94
103
  const currentMatchIndex = useSelector(store, (snapshot) =>
95
104
  selectCurrentMatchIndex(snapshot.context)
96
105
  );
@@ -111,8 +120,10 @@ export const useSearchBindings = function useSearchBindings(
111
120
  ) {
112
121
  return;
113
122
  }
123
+
114
124
  depsRef.current = deps;
115
125
  const query = selectSearchQuery(store.getSnapshot().context);
126
+
116
127
  if (query) {
117
128
  store.trigger.searchChanged({ matches: matchRef.current(query), query });
118
129
  }
@@ -177,5 +188,6 @@ export const useSearchBindings = function useSearchBindings(
177
188
 
178
189
  export const useSearch = function useSearch(options: UseSearchOptions): SearchState {
179
190
  const store = useNavSearchStore({ keys: [] });
191
+
180
192
  return useSearchBindings(store, options);
181
193
  };
package/src/search.ts CHANGED
@@ -2,19 +2,24 @@ export const findMatchingLines = function findMatchingLines(text: string, query:
2
2
  if (!query) {
3
3
  return [];
4
4
  }
5
+
5
6
  const lowerQuery = query.toLowerCase();
6
7
  const results: number[] = [];
7
8
  let lineStart = 0;
8
9
  let lineNum = 0;
10
+
9
11
  for (let i = 0; i <= text.length; i += 1) {
10
12
  if (i === text.length || text[i] === "\n") {
11
13
  const line = text.slice(lineStart, i).toLowerCase();
14
+
12
15
  if (line.includes(lowerQuery)) {
13
16
  results.push(lineNum);
14
17
  }
18
+
15
19
  lineStart = i + 1;
16
20
  lineNum += 1;
17
21
  }
18
22
  }
23
+
19
24
  return results;
20
25
  };