@tooee/search 0.2.3 → 0.3.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.
package/dist/index.d.ts CHANGED
@@ -5,6 +5,6 @@ export type { NavSearchStore, NavSearchContext, NavSearchEvents, RowKey, } from
5
5
  export { selectCursor, selectRowKeys, selectSelectionAnchor, selectToggledKeys, selectSearchStatus, selectSearchActive, selectSearchQuery, selectMatches, selectCurrentMatchIndex, deriveSelection, resolveIndex, } from "./nav-search-store.js";
6
6
  export type { UseSearchOptions, SearchState } from "./search-hook.js";
7
7
  export { findMatchingLines } from "./search.js";
8
- export { SearchBar } from "./SearchBar.js";
9
- export type { SearchBarProps } from "./SearchBar.js";
8
+ export { SearchBar } from "./search-bar.js";
9
+ export type { SearchBarProps } from "./search-bar.js";
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,MAAM,GACP,MAAM,uBAAuB,CAAA;AAC9B,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,CAAA;AAC9B,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA"}
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"}
package/dist/index.js CHANGED
@@ -3,5 +3,5 @@ export { useNavSearchStore, useSearchBindings } from "./search-hook.js";
3
3
  export { createNavSearchStore } from "./nav-search-store.js";
4
4
  export { selectCursor, selectRowKeys, selectSelectionAnchor, selectToggledKeys, selectSearchStatus, selectSearchActive, selectSearchQuery, selectMatches, selectCurrentMatchIndex, deriveSelection, resolveIndex, } from "./nav-search-store.js";
5
5
  export { findMatchingLines } from "./search.js";
6
- export { SearchBar } from "./SearchBar.js";
6
+ export { SearchBar } from "./search-bar.js";
7
7
  //# sourceMappingURL=index.js.map
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,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAO5D,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,CAAA;AAE9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA"}
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"}
@@ -16,9 +16,9 @@ export interface NavSearchContext {
16
16
  };
17
17
  }
18
18
  export interface NavSearchDeps {
19
- isSelectable(index: number): boolean;
19
+ isSelectable: (index: number) => boolean;
20
20
  }
21
- export type NavSearchEvents = {
21
+ interface NavSearchEventDefinitions {
22
22
  rowsChanged: {
23
23
  keys: readonly RowKey[];
24
24
  preserveCursorByKey?: boolean;
@@ -33,9 +33,9 @@ export type NavSearchEvents = {
33
33
  setCursor: {
34
34
  index: number;
35
35
  };
36
- enterSelect: {};
37
- cancelSelect: {};
38
- toggleCurrent: {};
36
+ enterSelect: Record<never, never>;
37
+ cancelSelect: Record<never, never>;
38
+ toggleCurrent: Record<never, never>;
39
39
  toggleAndMove: {
40
40
  delta: number;
41
41
  };
@@ -46,24 +46,30 @@ export type NavSearchEvents = {
46
46
  query: string;
47
47
  matches: readonly number[];
48
48
  };
49
- searchSubmitted: {};
50
- searchCancelled: {};
51
- searchNext: {};
52
- searchPrevious: {};
49
+ searchSubmitted: Record<never, never>;
50
+ searchCancelled: Record<never, never>;
51
+ searchNext: Record<never, never>;
52
+ searchPrevious: Record<never, never>;
53
+ }
54
+ export type NavSearchEvents = {
55
+ [EventName in keyof NavSearchEventDefinitions]: NavSearchEventDefinitions[EventName];
53
56
  };
54
- type NavSearchEmitted = {
57
+ interface NavSearchEmittedDefinitions {
55
58
  restoreMode: {
56
59
  mode: Mode;
57
60
  };
58
61
  jumped: {
59
62
  index: number;
60
63
  };
64
+ }
65
+ type NavSearchEmitted = {
66
+ [EventName in keyof NavSearchEmittedDefinitions]: NavSearchEmittedDefinitions[EventName];
61
67
  };
62
- export declare function resolveIndex(target: number, direction: 1 | -1, rowCount: number, isSelectable: (index: number) => boolean): number | null;
63
- export declare function createNavSearchStore(options?: {
68
+ export declare const resolveIndex: (target: number, direction: 1 | -1, rowCount: number, isSelectable: (index: number) => boolean) => number | null;
69
+ export declare const createNavSearchStore: (options?: {
64
70
  keys?: readonly RowKey[];
65
71
  deps?: NavSearchDeps;
66
- }): import("@xstate/store").Store<NavSearchContext, NavSearchEvents, import("@xstate/store").ExtractEvents<NavSearchEmitted>>;
72
+ }) => import("@xstate/store").Store<NavSearchContext, NavSearchEvents, import("@xstate/store").ExtractEvents<NavSearchEmitted>>;
67
73
  export type NavSearchStore = ReturnType<typeof createNavSearchStore>;
68
74
  export declare const selectCursor: (ctx: NavSearchContext) => number | null;
69
75
  export declare const selectRowKeys: (ctx: NavSearchContext) => readonly RowKey[];
@@ -74,9 +80,9 @@ export declare const selectSearchActive: (ctx: NavSearchContext) => boolean;
74
80
  export declare const selectSearchQuery: (ctx: NavSearchContext) => string;
75
81
  export declare const selectMatches: (ctx: NavSearchContext) => readonly number[];
76
82
  export declare const selectCurrentMatchIndex: (ctx: NavSearchContext) => number;
77
- export declare function deriveSelection(ctx: NavSearchContext, mode: Mode): {
78
- start: number;
83
+ export declare const deriveSelection: (ctx: NavSearchContext, mode: Mode) => {
79
84
  end: number;
85
+ start: number;
80
86
  } | null;
81
87
  export {};
82
88
  //# sourceMappingURL=nav-search-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nav-search-store.d.ts","sourceRoot":"","sources":["../src/nav-search-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAE3C,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;AAC7C,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,CAAA;AAE3D,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;IAC1B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAChC,MAAM,EAAE;QACN,MAAM,EAAE,YAAY,CAAA;QACpB,KAAK,EAAE,MAAM,CAAA;QACb,cAAc,EAAE,MAAM,CAAA;QACtB,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;QAC1B,iBAAiB,EAAE,MAAM,CAAA;QACzB,aAAa,EAAE,IAAI,CAAA;KACpB,CAAA;CACF;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;CACrC;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,EAAE;QAAE,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;IACvE,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IACvB,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;KAAE,CAAA;IAC1C,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5B,WAAW,EAAE,EAAE,CAAA;IACf,YAAY,EAAE,EAAE,CAAA;IAChB,aAAa,EAAE,EAAE,CAAA;IACjB,aAAa,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAChC,aAAa,EAAE;QAAE,IAAI,EAAE,IAAI,CAAA;KAAE,CAAA;IAC7B,aAAa,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,CAAA;IAC5D,eAAe,EAAE,EAAE,CAAA;IACnB,eAAe,EAAE,EAAE,CAAA;IACnB,UAAU,EAAE,EAAE,CAAA;IACd,cAAc,EAAE,EAAE,CAAA;CACnB,CAAA;AAED,KAAK,gBAAgB,GAAG;IACtB,WAAW,EAAE;QAAE,IAAI,EAAE,IAAI,CAAA;KAAE,CAAA;IAC3B,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CAC1B,CAAA;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,EACjB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GACvC,MAAM,GAAG,IAAI,CAoBf;AAID,wBAAgB,oBAAoB,CAClC,OAAO,GAAE;IACP,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACxB,IAAI,CAAC,EAAE,aAAa,CAAA;CAChB,6HAyJP;AAyBD,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEpE,eAAO,MAAM,YAAY,GAAI,KAAK,gBAAgB,kBAAe,CAAA;AACjE,eAAO,MAAM,aAAa,GAAI,KAAK,gBAAgB,sBAAgB,CAAA;AACnE,eAAO,MAAM,qBAAqB,GAAI,KAAK,gBAAgB,kBAAwB,CAAA;AACnF,eAAO,MAAM,iBAAiB,GAAI,KAAK,gBAAgB,wBAAoB,CAAA;AAC3E,eAAO,MAAM,kBAAkB,GAAI,KAAK,gBAAgB,iBAAsB,CAAA;AAC9E,eAAO,MAAM,kBAAkB,GAAI,KAAK,gBAAgB,YAAoC,CAAA;AAC5F,eAAO,MAAM,iBAAiB,GAAI,KAAK,gBAAgB,WACyB,CAAA;AAChF,eAAO,MAAM,aAAa,GAAI,KAAK,gBAAgB,sBAAuB,CAAA;AAC1E,eAAO,MAAM,uBAAuB,GAAI,KAAK,gBAAgB,WAAiC,CAAA;AAC9F,wBAAgB,eAAe,CAAC,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI;;;SAOhE"}
1
+ {"version":3,"file":"nav-search-store.d.ts","sourceRoot":"","sources":["../src/nav-search-store.ts"],"names":[],"mappings":"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"}
@@ -1,53 +1,101 @@
1
1
  import { createStore } from "@xstate/store";
2
- export function resolveIndex(target, direction, rowCount, isSelectable) {
3
- if (rowCount <= 0)
2
+ export const resolveIndex = function resolveIndex(target, direction, rowCount, isSelectable) {
3
+ if (rowCount <= 0) {
4
4
  return null;
5
+ }
5
6
  const max = rowCount - 1;
6
7
  const clamped = Math.max(0, Math.min(target, max));
7
- if (isSelectable(clamped))
8
+ if (isSelectable(clamped)) {
8
9
  return clamped;
10
+ }
9
11
  for (let index = clamped + direction; direction === 1 ? index <= max : index >= 0; index += direction) {
10
- if (isSelectable(index))
12
+ if (isSelectable(index)) {
11
13
  return index;
14
+ }
12
15
  }
13
16
  for (let index = clamped - direction; direction === 1 ? index >= 0 : index <= max; index -= direction) {
14
- if (isSelectable(index))
17
+ if (isSelectable(index)) {
15
18
  return index;
19
+ }
16
20
  }
17
21
  return null;
18
- }
22
+ };
23
+ const toggle = function toggle(ctx) {
24
+ if (ctx.cursor === null) {
25
+ return ctx;
26
+ }
27
+ const key = ctx.rowKeys[ctx.cursor];
28
+ if (key === undefined) {
29
+ return ctx;
30
+ }
31
+ const toggledKeys = new Set(ctx.toggledKeys);
32
+ if (toggledKeys.has(key)) {
33
+ toggledKeys.delete(key);
34
+ }
35
+ else {
36
+ toggledKeys.add(key);
37
+ }
38
+ return { ...ctx, toggledKeys };
39
+ };
40
+ const searchStep = function searchStep(ctx, delta, enqueue) {
41
+ if (ctx.search.matches.length === 0) {
42
+ return ctx;
43
+ }
44
+ const currentMatchIndex = (ctx.search.currentMatchIndex + delta + ctx.search.matches.length) % ctx.search.matches.length;
45
+ const cursor = ctx.search.matches[currentMatchIndex];
46
+ enqueue.emit.jumped({ index: cursor });
47
+ return { ...ctx, cursor, search: { ...ctx.search, currentMatchIndex } };
48
+ };
19
49
  const EMPTY_KEYS = [];
20
- export function createNavSearchStore(options = {}) {
50
+ export const createNavSearchStore = function createNavSearchStore(options = {}) {
21
51
  const deps = options.deps ?? { isSelectable: () => true };
22
52
  const keys = options.keys ?? EMPTY_KEYS;
23
53
  const resolve = (index, direction, count = keys.length) => resolveIndex(index, direction, count, deps.isSelectable);
24
54
  return createStore({
25
55
  context: {
26
- rowKeys: keys,
27
56
  cursor: resolve(0, 1),
28
- selectionAnchor: null,
29
- toggledKeys: new Set(),
57
+ rowKeys: keys,
30
58
  search: {
31
- status: "idle",
32
- query: "",
33
59
  committedQuery: "",
34
- matches: [],
35
60
  currentMatchIndex: 0,
61
+ matches: [],
36
62
  preSearchMode: "cursor",
63
+ query: "",
64
+ status: "idle",
37
65
  },
66
+ selectionAnchor: null,
67
+ toggledKeys: new Set(),
38
68
  },
39
69
  on: {
70
+ cancelSelect: (ctx) => ctx.selectionAnchor === null ? ctx : { ...ctx, selectionAnchor: null },
71
+ enterSelect: (ctx) => ({ ...ctx, selectionAnchor: ctx.cursor }),
72
+ jump: (ctx, event) => ({
73
+ ...ctx,
74
+ cursor: resolveIndex(event.index, event.direction, ctx.rowKeys.length, deps.isSelectable),
75
+ }),
76
+ move: (ctx, event) => {
77
+ if (ctx.cursor === null) {
78
+ return ctx;
79
+ }
80
+ const direction = event.delta < 0 ? -1 : 1;
81
+ const cursor = resolveIndex(ctx.cursor + event.delta, direction, ctx.rowKeys.length, deps.isSelectable);
82
+ return cursor === null || cursor === ctx.cursor ? ctx : { ...ctx, cursor };
83
+ },
40
84
  rowsChanged: (ctx, event) => {
41
- const previousKey = ctx.cursor === null ? undefined : ctx.rowKeys[ctx.cursor];
42
- let cursor = ctx.cursor;
43
- if (event.keys.length === 0)
85
+ const previousCursor = ctx.cursor;
86
+ const previousKey = previousCursor === null ? undefined : ctx.rowKeys[previousCursor];
87
+ let { cursor } = ctx;
88
+ if (event.keys.length === 0) {
44
89
  cursor = null;
45
- else if (event.preserveCursorByKey && previousKey !== undefined) {
90
+ }
91
+ else if (event.preserveCursorByKey === true &&
92
+ previousCursor !== null &&
93
+ previousKey !== undefined) {
46
94
  const preserved = event.keys.indexOf(previousKey);
47
95
  cursor =
48
- preserved >= 0
49
- ? resolveIndex(preserved, 1, event.keys.length, deps.isSelectable)
50
- : resolveIndex(Math.min(ctx.cursor, event.keys.length - 1), 1, event.keys.length, deps.isSelectable);
96
+ preserved === -1
97
+ ? resolveIndex(Math.min(previousCursor, event.keys.length - 1), 1, event.keys.length, deps.isSelectable)
98
+ : resolveIndex(preserved, 1, event.keys.length, deps.isSelectable);
51
99
  }
52
100
  else if (cursor === null || cursor >= event.keys.length) {
53
101
  cursor = resolveIndex(cursor === null ? 0 : event.keys.length - 1, cursor === null ? 1 : -1, event.keys.length, deps.isSelectable);
@@ -58,50 +106,27 @@ export function createNavSearchStore(options = {}) {
58
106
  const available = new Set(event.keys);
59
107
  const filtered = new Set([...ctx.toggledKeys].filter((key) => available.has(key)));
60
108
  const toggledKeys = filtered.size === ctx.toggledKeys.size ? ctx.toggledKeys : filtered;
61
- return { ...ctx, rowKeys: event.keys, cursor, toggledKeys };
62
- },
63
- move: (ctx, event) => {
64
- if (ctx.cursor === null)
65
- return ctx;
66
- const direction = event.delta < 0 ? -1 : 1;
67
- const cursor = resolveIndex(ctx.cursor + event.delta, direction, ctx.rowKeys.length, deps.isSelectable);
68
- return cursor === null || cursor === ctx.cursor ? ctx : { ...ctx, cursor };
109
+ return { ...ctx, cursor, rowKeys: event.keys, toggledKeys };
69
110
  },
70
- jump: (ctx, event) => ({
71
- ...ctx,
72
- cursor: resolveIndex(event.index, event.direction, ctx.rowKeys.length, deps.isSelectable),
73
- }),
74
- setCursor: (ctx, event) => {
75
- const direction = ctx.cursor !== null && event.index < ctx.cursor ? -1 : 1;
76
- const cursor = resolveIndex(event.index, direction, ctx.rowKeys.length, deps.isSelectable);
77
- return cursor === null ? ctx : { ...ctx, cursor };
78
- },
79
- enterSelect: (ctx) => ({ ...ctx, selectionAnchor: ctx.cursor }),
80
- cancelSelect: (ctx) => ctx.selectionAnchor === null ? ctx : { ...ctx, selectionAnchor: null },
81
- toggleCurrent: (ctx) => toggle(ctx),
82
- toggleAndMove: (ctx, event) => {
83
- const toggled = toggle(ctx);
84
- if (toggled.cursor === null)
85
- return toggled;
86
- const direction = event.delta < 0 ? -1 : 1;
87
- const cursor = resolveIndex(toggled.cursor + event.delta, direction, toggled.rowKeys.length, deps.isSelectable);
88
- return cursor === null ? toggled : { ...toggled, cursor };
111
+ searchCancelled: (ctx, _event, enqueue) => {
112
+ enqueue.emit.restoreMode({ mode: ctx.search.preSearchMode });
113
+ return {
114
+ ...ctx,
115
+ search: {
116
+ ...ctx.search,
117
+ committedQuery: "",
118
+ currentMatchIndex: 0,
119
+ matches: [],
120
+ query: "",
121
+ status: "idle",
122
+ },
123
+ };
89
124
  },
90
- searchStarted: (ctx, event) => ({
91
- ...ctx,
92
- search: {
93
- ...ctx.search,
94
- status: "editing",
95
- query: "",
96
- matches: [],
97
- currentMatchIndex: 0,
98
- preSearchMode: event.mode,
99
- },
100
- }),
101
125
  searchChanged: (ctx, event, enqueue) => {
102
- const first = event.matches[0];
103
- if (first !== undefined)
126
+ const [first] = event.matches;
127
+ if (first !== undefined) {
104
128
  enqueue.emit.jumped({ index: first });
129
+ }
105
130
  return {
106
131
  ...ctx,
107
132
  cursor: first === undefined
@@ -109,16 +134,30 @@ export function createNavSearchStore(options = {}) {
109
134
  : resolveIndex(first, 1, ctx.rowKeys.length, deps.isSelectable),
110
135
  search: {
111
136
  ...ctx.search,
112
- query: event.query,
113
- matches: event.matches,
114
137
  currentMatchIndex: 0,
138
+ matches: event.matches,
139
+ query: event.query,
115
140
  },
116
141
  };
117
142
  },
143
+ searchNext: (ctx, _event, enqueue) => searchStep(ctx, 1, enqueue),
144
+ searchPrevious: (ctx, _event, enqueue) => searchStep(ctx, -1, enqueue),
145
+ searchStarted: (ctx, event) => ({
146
+ ...ctx,
147
+ search: {
148
+ ...ctx.search,
149
+ currentMatchIndex: 0,
150
+ matches: [],
151
+ preSearchMode: event.mode,
152
+ query: "",
153
+ status: "editing",
154
+ },
155
+ }),
118
156
  searchSubmitted: (ctx, _event, enqueue) => {
119
- const first = ctx.search.matches[0];
120
- if (first !== undefined)
157
+ const [first] = ctx.search.matches;
158
+ if (first !== undefined) {
121
159
  enqueue.emit.jumped({ index: first });
160
+ }
122
161
  enqueue.emit.restoreMode({ mode: ctx.search.preSearchMode });
123
162
  return {
124
163
  ...ctx,
@@ -127,52 +166,30 @@ export function createNavSearchStore(options = {}) {
127
166
  : resolveIndex(first, 1, ctx.rowKeys.length, deps.isSelectable),
128
167
  search: {
129
168
  ...ctx.search,
130
- status: "committed",
131
169
  committedQuery: ctx.search.query,
132
170
  currentMatchIndex: 0,
171
+ status: "committed",
133
172
  },
134
173
  };
135
174
  },
136
- searchCancelled: (ctx, _event, enqueue) => {
137
- enqueue.emit.restoreMode({ mode: ctx.search.preSearchMode });
138
- return {
139
- ...ctx,
140
- search: {
141
- ...ctx.search,
142
- status: "idle",
143
- query: "",
144
- committedQuery: "",
145
- matches: [],
146
- currentMatchIndex: 0,
147
- },
148
- };
175
+ setCursor: (ctx, event) => {
176
+ const direction = ctx.cursor !== null && event.index < ctx.cursor ? -1 : 1;
177
+ const cursor = resolveIndex(event.index, direction, ctx.rowKeys.length, deps.isSelectable);
178
+ return cursor === null ? ctx : { ...ctx, cursor };
149
179
  },
150
- searchNext: (ctx, _event, enqueue) => searchStep(ctx, 1, enqueue),
151
- searchPrevious: (ctx, _event, enqueue) => searchStep(ctx, -1, enqueue),
180
+ toggleAndMove: (ctx, event) => {
181
+ const toggled = toggle(ctx);
182
+ if (toggled.cursor === null) {
183
+ return toggled;
184
+ }
185
+ const direction = event.delta < 0 ? -1 : 1;
186
+ const cursor = resolveIndex(toggled.cursor + event.delta, direction, toggled.rowKeys.length, deps.isSelectable);
187
+ return cursor === null ? toggled : { ...toggled, cursor };
188
+ },
189
+ toggleCurrent: (ctx) => toggle(ctx),
152
190
  },
153
191
  });
154
- }
155
- function toggle(ctx) {
156
- if (ctx.cursor === null)
157
- return ctx;
158
- const key = ctx.rowKeys[ctx.cursor];
159
- if (key === undefined)
160
- return ctx;
161
- const toggledKeys = new Set(ctx.toggledKeys);
162
- if (toggledKeys.has(key))
163
- toggledKeys.delete(key);
164
- else
165
- toggledKeys.add(key);
166
- return { ...ctx, toggledKeys };
167
- }
168
- function searchStep(ctx, delta, enqueue) {
169
- if (ctx.search.matches.length === 0)
170
- return ctx;
171
- const currentMatchIndex = (ctx.search.currentMatchIndex + delta + ctx.search.matches.length) % ctx.search.matches.length;
172
- const cursor = ctx.search.matches[currentMatchIndex];
173
- enqueue.emit.jumped({ index: cursor });
174
- return { ...ctx, cursor, search: { ...ctx.search, currentMatchIndex } };
175
- }
192
+ };
176
193
  export const selectCursor = (ctx) => ctx.cursor;
177
194
  export const selectRowKeys = (ctx) => ctx.rowKeys;
178
195
  export const selectSelectionAnchor = (ctx) => ctx.selectionAnchor;
@@ -182,12 +199,12 @@ export const selectSearchActive = (ctx) => ctx.search.status === "editing";
182
199
  export const selectSearchQuery = (ctx) => ctx.search.status === "editing" ? ctx.search.query : ctx.search.committedQuery;
183
200
  export const selectMatches = (ctx) => ctx.search.matches;
184
201
  export const selectCurrentMatchIndex = (ctx) => ctx.search.currentMatchIndex;
185
- export function deriveSelection(ctx, mode) {
202
+ export const deriveSelection = function deriveSelection(ctx, mode) {
186
203
  return mode === "select" && ctx.selectionAnchor !== null && ctx.cursor !== null
187
204
  ? {
188
- start: Math.min(ctx.selectionAnchor, ctx.cursor),
189
205
  end: Math.max(ctx.selectionAnchor, ctx.cursor),
206
+ start: Math.min(ctx.selectionAnchor, ctx.cursor),
190
207
  }
191
208
  : null;
192
- }
209
+ };
193
210
  //# sourceMappingURL=nav-search-store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nav-search-store.js","sourceRoot":"","sources":["../src/nav-search-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nav-search-store.js","sourceRoot":"","sources":["../src/nav-search-store.ts"],"names":[],"mappings":"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"}
@@ -6,5 +6,5 @@ export interface SearchBarProps {
6
6
  matchCount?: number;
7
7
  currentMatch?: number;
8
8
  }
9
- export declare function SearchBar({ query, onQueryChange, onSubmit, onCancel: _onCancel, matchCount, currentMatch, }: SearchBarProps): import("react").ReactNode;
10
- //# sourceMappingURL=SearchBar.d.ts.map
9
+ export declare const SearchBar: ({ query, onQueryChange, onSubmit, onCancel: _onCancel, matchCount, currentMatch, }: SearchBarProps) => React.ReactNode;
10
+ //# sourceMappingURL=search-bar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-bar.d.ts","sourceRoot":"","sources":["../src/search-bar.tsx"],"names":[],"mappings":"AAEA,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,GAAsB,oFAOzC,cAAc,KAAG,KAAK,CAAC,SAoCzB,CAAC"}
@@ -1,18 +1,20 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "@opentui/react/jsx-runtime";
2
2
  import { useTheme } from "@tooee/themes";
3
- export function SearchBar({ query, onQueryChange, onSubmit, onCancel: _onCancel, matchCount, currentMatch, }) {
3
+ export const SearchBar = function SearchBar({ query, onQueryChange, onSubmit, onCancel: _onCancel, matchCount, currentMatch, }) {
4
4
  const { theme } = useTheme();
5
- const matchDisplay = matchCount !== undefined && matchCount > 0
6
- ? `${(currentMatch ?? 0) + 1}/${matchCount}`
7
- : matchCount === 0 && query.length > 0
8
- ? "No matches"
9
- : "";
5
+ let matchDisplay = "";
6
+ if (matchCount !== undefined && matchCount > 0) {
7
+ matchDisplay = `${(currentMatch ?? 0) + 1}/${matchCount}`;
8
+ }
9
+ else if (matchCount === 0 && query.length > 0) {
10
+ matchDisplay = "No matches";
11
+ }
10
12
  return (_jsxs("box", { style: {
13
+ backgroundColor: theme.backgroundPanel,
11
14
  flexDirection: "row",
12
15
  flexShrink: 0,
13
- backgroundColor: theme.backgroundPanel,
14
16
  paddingLeft: 1,
15
17
  paddingRight: 1,
16
- }, children: [_jsx("text", { content: "/", style: { fg: theme.accent } }), _jsx("input", { value: query, focused: true, onInput: onQueryChange, onSubmit: onSubmit, backgroundColor: "transparent", focusedBackgroundColor: "transparent", textColor: theme.text, cursorColor: theme.accent, cursorStyle: { style: "line", blinking: true }, style: { flexGrow: 1 } }), matchDisplay ? _jsx("text", { content: ` ${matchDisplay}`, style: { fg: theme.textMuted } }) : null] }));
17
- }
18
- //# sourceMappingURL=SearchBar.js.map
18
+ }, children: [_jsx("text", { content: "/", style: { fg: theme.accent } }), _jsx("input", { value: query, focused: true, onInput: onQueryChange, onSubmit: onSubmit, backgroundColor: "transparent", focusedBackgroundColor: "transparent", textColor: theme.text, cursorColor: theme.accent, cursorStyle: { blinking: true, style: "line" }, style: { flexGrow: 1 } }), matchDisplay ? _jsx("text", { content: ` ${matchDisplay}`, style: { fg: theme.textMuted } }) : null] }));
19
+ };
20
+ //# sourceMappingURL=search-bar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-bar.js","sourceRoot":"","sources":["../src/search-bar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAWzC,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,4 +1,4 @@
1
- import { type NavSearchStore, type RowKey } from "./nav-search-store.js";
1
+ import type { NavSearchStore, RowKey } from "./nav-search-store.js";
2
2
  export interface UseSearchOptions {
3
3
  match: (query: string) => number[];
4
4
  onJump: (index: number) => void;
@@ -13,13 +13,13 @@ export interface SearchState {
13
13
  currentMatchIndex: number;
14
14
  submitSearch: () => void;
15
15
  }
16
- export declare function useNavSearchStore(options: {
16
+ export declare const useNavSearchStore: (options: {
17
17
  keys: readonly RowKey[];
18
18
  isSelectable?: (index: number) => boolean;
19
19
  preserveCursorByKey?: boolean;
20
- }): NavSearchStore;
21
- export declare function useSearchBindings(store: NavSearchStore, { match, onJump, enabled, deps, }: Omit<UseSearchOptions, "onJump"> & {
20
+ }) => NavSearchStore;
21
+ export declare const useSearchBindings: (store: NavSearchStore, { match, onJump, enabled, deps, }: Omit<UseSearchOptions, "onJump"> & {
22
22
  onJump?: (index: number) => void;
23
- }): SearchState;
24
- export declare function useSearch(options: UseSearchOptions): SearchState;
23
+ }) => SearchState;
24
+ export declare const useSearch: (options: UseSearchOptions) => SearchState;
25
25
  //# sourceMappingURL=search-hook.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"search-hook.d.ts","sourceRoot":"","sources":["../src/search-hook.ts"],"names":[],"mappings":"AAGA,OAAO,EAOL,KAAK,cAAc,EACnB,KAAK,MAAM,EACZ,MAAM,uBAAuB,CAAA;AAE9B,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,EAAE,CAAA;IAClC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,CAAC,EAAE,SAAS,OAAO,EAAE,CAAA;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,OAAO,CAAA;IACrB,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,MAAM,IAAI,CAAA;CACzB;AAKD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE;IACzC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;IACvB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAA;IACzC,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B,GAAG,cAAc,CAmBjB;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,cAAc,EACrB,EACE,KAAK,EACL,MAAM,EACN,OAAc,EACd,IAAS,GACV,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,GACzE,WAAW,CA6Fb;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,WAAW,CAGhE"}
1
+ {"version":3,"file":"search-hook.d.ts","sourceRoot":"","sources":["../src/search-hook.ts"],"names":[],"mappings":"AAWA,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,MAAM,EAAE,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B;AAKD,eAAO,MAAM,iBAAiB,GAA8B,SAAS;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,GAC5B,OAAO,cAAc,EACrB,mCAKG,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,KACzE,WA+GF,CAAC;AAEF,eAAO,MAAM,SAAS,GAAsB,SAAS,gBAAgB,KAAG,WAGvE,CAAC"}