@tooee/choose 0.1.8 → 0.1.11

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":"Choose.d.ts","sourceRoot":"","sources":["../src/Choose.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,KAAK,EAAc,qBAAqB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAGhG,UAAU,WAAW;IACnB,eAAe,EAAE,qBAAqB,CAAA;IACtC,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC5B,sCAAsC;IACtC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAA;IAC1C,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;CACtB;AAED,wBAAgB,MAAM,CAAC,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,WAAW,6BAkS7F"}
1
+ {"version":3,"file":"Choose.d.ts","sourceRoot":"","sources":["../src/Choose.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,KAAK,EAAc,qBAAqB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAGhG,UAAU,WAAW;IACnB,eAAe,EAAE,qBAAqB,CAAA;IACtC,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC5B,sCAAsC;IACtC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAA;IAC1C,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;CACtB;AAED,wBAAgB,MAAM,CAAC,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,WAAW,6BAsS7F"}
package/dist/Choose.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "@opentui/react/jsx-runtime";
2
- import { useState, useEffect, useRef, useCallback } from "react";
2
+ import { useState, useEffect, useRef, useCallback, useMemo } from "react";
3
3
  import { useKeyboard } from "@opentui/react";
4
4
  import { AppLayout } from "@tooee/layout";
5
5
  import { ThemePicker, useTheme } from "@tooee/themes";
@@ -10,7 +10,6 @@ export function Choose({ contentProvider, options, actions, onConfirm, onCancel
10
10
  const { theme } = useTheme();
11
11
  const [items, setItems] = useState([]);
12
12
  const [filterQuery, setFilterQuery] = useState("");
13
- const [filteredItems, setFilteredItems] = useState([]);
14
13
  const [activeIndex, setActiveIndex] = useState(0);
15
14
  const [selectedIndices, setSelectedIndices] = useState(new Set());
16
15
  const [loading, setLoading] = useState(true);
@@ -22,21 +21,22 @@ export function Choose({ contentProvider, options, actions, onConfirm, onCancel
22
21
  if (result instanceof Promise) {
23
22
  result.then((loaded) => {
24
23
  setItems(loaded);
25
- setFilteredItems(fuzzyFilter(loaded, ""));
26
24
  setLoading(false);
27
25
  });
28
26
  }
29
27
  else {
30
28
  setItems(result);
31
- setFilteredItems(fuzzyFilter(result, ""));
32
29
  setLoading(false);
33
30
  }
34
31
  }, [contentProvider]);
35
- useEffect(() => {
36
- const matches = fuzzyFilter(items, filterQuery);
37
- setFilteredItems(matches);
32
+ // Derived state: filtered items computed from items + filterQuery (no extra render cycle)
33
+ const filteredItems = useMemo(() => fuzzyFilter(items, filterQuery), [items, filterQuery]);
34
+ // Reset activeIndex when filter changes (render-time state adjustment)
35
+ const [prevFilterQuery, setPrevFilterQuery] = useState("");
36
+ if (filterQuery !== prevFilterQuery) {
37
+ setPrevFilterQuery(filterQuery);
38
38
  setActiveIndex(0);
39
- }, [filterQuery, items]);
39
+ }
40
40
  const { name: themeName, picker: themePicker } = useThemeCommands();
41
41
  useQuitCommand({ onQuit: () => onCancel?.() });
42
42
  const mode = useMode();
@@ -198,7 +198,7 @@ export function Choose({ contentProvider, options, actions, onConfirm, onCancel
198
198
  if (multi && mode === "insert")
199
199
  hintParts.splice(2, 0, "Tab toggle");
200
200
  const hint = hintParts.join(" ");
201
- return (_jsx(AppLayout, { titleBar: options?.prompt ? { title: options.prompt } : undefined, statusBar: {
201
+ return (_jsx(AppLayout, { titleBar: (options?.title ?? options?.prompt) ? { title: (options.title ?? options.prompt) } : undefined, statusBar: {
202
202
  items: [
203
203
  { label: "Matches:", value: `${filteredItems.length}/${items.length}` },
204
204
  ...(multi ? [{ label: "Selected:", value: String(selectedCount) }] : []),
@@ -1 +1 @@
1
- {"version":3,"file":"Choose.js","sourceRoot":"","sources":["../src/Choose.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Choose.js","sourceRoot":"","sources":["../src/Choose.tsx"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -12,6 +12,7 @@ export interface ChooseResult {
12
12
  }
13
13
  export interface ChooseOptions {
14
14
  multi?: boolean;
15
+ title?: string;
15
16
  prompt?: string;
16
17
  placeholder?: string;
17
18
  emptyMessage?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,GAAG,UAAU,EAAE,CAAA;CAC7C;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,UAAU,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,GAAG,UAAU,EAAE,CAAA;CAC7C;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,UAAU,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tooee/choose",
3
- "version": "0.1.8",
3
+ "version": "0.1.11",
4
4
  "description": "Terminal selection with fuzzy filtering",
5
5
  "license": "MIT",
6
6
  "author": "Gareth Andrew",
@@ -37,21 +37,21 @@
37
37
  "typecheck": "tsc --noEmit"
38
38
  },
39
39
  "dependencies": {
40
- "@tooee/commands": "0.1.8",
41
- "@tooee/layout": "0.1.8",
42
- "@tooee/themes": "0.1.8",
43
- "@tooee/shell": "0.1.8"
40
+ "@tooee/commands": "0.1.11",
41
+ "@tooee/layout": "0.1.11",
42
+ "@tooee/themes": "0.1.11",
43
+ "@tooee/shell": "0.1.11"
44
44
  },
45
45
  "devDependencies": {
46
- "@opentui/core": "^0.1.67",
47
- "@opentui/react": "^0.1.67",
48
- "@types/bun": "^1.3.5",
49
- "@types/react": "^19.1.10",
50
- "typescript": "^5.8.3"
46
+ "@opentui/core": "^0.1.86",
47
+ "@opentui/react": "^0.1.86",
48
+ "@types/bun": "^1.3.10",
49
+ "@types/react": "^19.2.14",
50
+ "typescript": "^5.9.3"
51
51
  },
52
52
  "peerDependencies": {
53
- "@opentui/core": "^0.1.67",
54
- "@opentui/react": "^0.1.67",
53
+ "@opentui/core": "^0.1.86",
54
+ "@opentui/react": "^0.1.86",
55
55
  "react": "^18.0.0 || ^19.0.0"
56
56
  }
57
57
  }
package/src/Choose.tsx CHANGED
@@ -1,4 +1,4 @@
1
- import { useState, useEffect, useRef, useCallback } from "react"
1
+ import { useState, useEffect, useRef, useCallback, useMemo } from "react"
2
2
  import type { ScrollBoxRenderable } from "@opentui/core"
3
3
  import { useKeyboard } from "@opentui/react"
4
4
  import { AppLayout } from "@tooee/layout"
@@ -23,7 +23,6 @@ export function Choose({ contentProvider, options, actions, onConfirm, onCancel
23
23
  const { theme } = useTheme()
24
24
  const [items, setItems] = useState<ChooseItem[]>([])
25
25
  const [filterQuery, setFilterQuery] = useState("")
26
- const [filteredItems, setFilteredItems] = useState<FuzzyMatch[]>([])
27
26
  const [activeIndex, setActiveIndex] = useState(0)
28
27
  const [selectedIndices, setSelectedIndices] = useState<Set<number>>(new Set())
29
28
  const [loading, setLoading] = useState(true)
@@ -37,21 +36,26 @@ export function Choose({ contentProvider, options, actions, onConfirm, onCancel
37
36
  if (result instanceof Promise) {
38
37
  result.then((loaded) => {
39
38
  setItems(loaded)
40
- setFilteredItems(fuzzyFilter(loaded, ""))
41
39
  setLoading(false)
42
40
  })
43
41
  } else {
44
42
  setItems(result)
45
- setFilteredItems(fuzzyFilter(result, ""))
46
43
  setLoading(false)
47
44
  }
48
45
  }, [contentProvider])
49
46
 
50
- useEffect(() => {
51
- const matches = fuzzyFilter(items, filterQuery)
52
- setFilteredItems(matches)
47
+ // Derived state: filtered items computed from items + filterQuery (no extra render cycle)
48
+ const filteredItems = useMemo(
49
+ () => fuzzyFilter(items, filterQuery),
50
+ [items, filterQuery],
51
+ )
52
+
53
+ // Reset activeIndex when filter changes (render-time state adjustment)
54
+ const [prevFilterQuery, setPrevFilterQuery] = useState("")
55
+ if (filterQuery !== prevFilterQuery) {
56
+ setPrevFilterQuery(filterQuery)
53
57
  setActiveIndex(0)
54
- }, [filterQuery, items])
58
+ }
55
59
 
56
60
  const { name: themeName, picker: themePicker } = useThemeCommands()
57
61
  useQuitCommand({ onQuit: () => onCancel?.() })
@@ -231,7 +235,7 @@ export function Choose({ contentProvider, options, actions, onConfirm, onCancel
231
235
 
232
236
  return (
233
237
  <AppLayout
234
- titleBar={options?.prompt ? { title: options.prompt } : undefined}
238
+ titleBar={(options?.title ?? options?.prompt) ? { title: (options.title ?? options.prompt)! } : undefined}
235
239
  statusBar={{
236
240
  items: [
237
241
  { label: "Matches:", value: `${filteredItems.length}/${items.length}` },
package/src/types.ts CHANGED
@@ -15,6 +15,7 @@ export interface ChooseResult {
15
15
 
16
16
  export interface ChooseOptions {
17
17
  multi?: boolean
18
+ title?: string
18
19
  prompt?: string
19
20
  placeholder?: string
20
21
  emptyMessage?: string