termcast 1.3.32 → 1.3.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (327) hide show
  1. package/dist/action-utils.d.ts.map +1 -1
  2. package/dist/action-utils.js +8 -0
  3. package/dist/action-utils.js.map +1 -1
  4. package/dist/apis/cache.d.ts +1 -2
  5. package/dist/apis/cache.d.ts.map +1 -1
  6. package/dist/apis/cache.js +138 -54
  7. package/dist/apis/cache.js.map +1 -1
  8. package/dist/apis/clipboard.d.ts.map +1 -1
  9. package/dist/apis/clipboard.js +4 -0
  10. package/dist/apis/clipboard.js.map +1 -1
  11. package/dist/apis/oauth.d.ts.map +1 -1
  12. package/dist/apis/oauth.js +31 -4
  13. package/dist/apis/oauth.js.map +1 -1
  14. package/dist/build.d.ts +0 -1
  15. package/dist/build.d.ts.map +1 -1
  16. package/dist/build.js +30 -51
  17. package/dist/build.js.map +1 -1
  18. package/dist/cli.js +31 -14
  19. package/dist/cli.js.map +1 -1
  20. package/dist/compile.d.ts.map +1 -1
  21. package/dist/compile.js +5 -1
  22. package/dist/compile.js.map +1 -1
  23. package/dist/components/actions.d.ts +14 -0
  24. package/dist/components/actions.d.ts.map +1 -1
  25. package/dist/components/actions.js +151 -59
  26. package/dist/components/actions.js.map +1 -1
  27. package/dist/components/alert.d.ts.map +1 -1
  28. package/dist/components/alert.js +6 -5
  29. package/dist/components/alert.js.map +1 -1
  30. package/dist/components/animation-tick.d.ts +1 -1
  31. package/dist/components/animation-tick.js +1 -1
  32. package/dist/components/animation-tick.js.map +1 -1
  33. package/dist/components/detail.d.ts +5 -31
  34. package/dist/components/detail.d.ts.map +1 -1
  35. package/dist/components/detail.js +36 -52
  36. package/dist/components/detail.js.map +1 -1
  37. package/dist/components/dropdown.d.ts +1 -1
  38. package/dist/components/dropdown.d.ts.map +1 -1
  39. package/dist/components/dropdown.js +50 -22
  40. package/dist/components/dropdown.js.map +1 -1
  41. package/dist/components/footer.d.ts.map +1 -1
  42. package/dist/components/footer.js +19 -18
  43. package/dist/components/footer.js.map +1 -1
  44. package/dist/components/form/checkbox.d.ts.map +1 -1
  45. package/dist/components/form/checkbox.js +12 -11
  46. package/dist/components/form/checkbox.js.map +1 -1
  47. package/dist/components/form/date-picker.d.ts.map +1 -1
  48. package/dist/components/form/date-picker.js +7 -22
  49. package/dist/components/form/date-picker.js.map +1 -1
  50. package/dist/components/form/description.d.ts +1 -1
  51. package/dist/components/form/description.d.ts.map +1 -1
  52. package/dist/components/form/description.js +6 -5
  53. package/dist/components/form/description.js.map +1 -1
  54. package/dist/components/form/dropdown.d.ts.map +1 -1
  55. package/dist/components/form/dropdown.js +53 -50
  56. package/dist/components/form/dropdown.js.map +1 -1
  57. package/dist/components/form/file-autocomplete.d.ts.map +1 -1
  58. package/dist/components/form/file-autocomplete.js +5 -4
  59. package/dist/components/form/file-autocomplete.js.map +1 -1
  60. package/dist/components/form/file-picker.d.ts.map +1 -1
  61. package/dist/components/form/file-picker.js +23 -22
  62. package/dist/components/form/file-picker.js.map +1 -1
  63. package/dist/components/form/form-end.d.ts.map +1 -1
  64. package/dist/components/form/form-end.js +6 -4
  65. package/dist/components/form/form-end.js.map +1 -1
  66. package/dist/components/form/form-field-wrapper.d.ts +15 -0
  67. package/dist/components/form/form-field-wrapper.d.ts.map +1 -0
  68. package/dist/components/form/form-field-wrapper.js +29 -0
  69. package/dist/components/form/form-field-wrapper.js.map +1 -0
  70. package/dist/components/form/index.d.ts.map +1 -1
  71. package/dist/components/form/index.js +31 -30
  72. package/dist/components/form/index.js.map +1 -1
  73. package/dist/components/form/password-field.d.ts.map +1 -1
  74. package/dist/components/form/password-field.js +7 -6
  75. package/dist/components/form/password-field.js.map +1 -1
  76. package/dist/components/form/separator.d.ts.map +1 -1
  77. package/dist/components/form/separator.js +3 -2
  78. package/dist/components/form/separator.js.map +1 -1
  79. package/dist/components/form/tagpicker.d.ts.map +1 -1
  80. package/dist/components/form/tagpicker.js +2 -1
  81. package/dist/components/form/tagpicker.js.map +1 -1
  82. package/dist/components/form/text-area.d.ts.map +1 -1
  83. package/dist/components/form/text-area.js +7 -6
  84. package/dist/components/form/text-area.js.map +1 -1
  85. package/dist/components/form/text-field.d.ts.map +1 -1
  86. package/dist/components/form/text-field.js +7 -6
  87. package/dist/components/form/text-field.js.map +1 -1
  88. package/dist/components/form/use-form-navigation.d.ts.map +1 -1
  89. package/dist/components/form/use-form-navigation.js +4 -4
  90. package/dist/components/form/use-form-navigation.js.map +1 -1
  91. package/dist/components/form/with-left-border.d.ts +15 -0
  92. package/dist/components/form/with-left-border.d.ts.map +1 -1
  93. package/dist/components/form/with-left-border.js +21 -9
  94. package/dist/components/form/with-left-border.js.map +1 -1
  95. package/dist/components/icon.d.ts +14 -0
  96. package/dist/components/icon.d.ts.map +1 -1
  97. package/dist/components/icon.js +60 -0
  98. package/dist/components/icon.js.map +1 -1
  99. package/dist/components/image.d.ts +47 -2
  100. package/dist/components/image.d.ts.map +1 -1
  101. package/dist/components/image.js +46 -7
  102. package/dist/components/image.js.map +1 -1
  103. package/dist/components/list.d.ts +5 -0
  104. package/dist/components/list.d.ts.map +1 -1
  105. package/dist/components/list.js +188 -132
  106. package/dist/components/list.js.map +1 -1
  107. package/dist/components/loading-bar.d.ts.map +1 -1
  108. package/dist/components/loading-bar.js +4 -3
  109. package/dist/components/loading-bar.js.map +1 -1
  110. package/dist/components/metadata.d.ts +70 -0
  111. package/dist/components/metadata.d.ts.map +1 -0
  112. package/dist/components/metadata.js +82 -0
  113. package/dist/components/metadata.js.map +1 -0
  114. package/dist/components/theme-picker.d.ts.map +1 -1
  115. package/dist/components/theme-picker.js +3 -2
  116. package/dist/components/theme-picker.js.map +1 -1
  117. package/dist/descendants-v2.d.ts +60 -0
  118. package/dist/descendants-v2.d.ts.map +1 -0
  119. package/dist/descendants-v2.js +144 -0
  120. package/dist/descendants-v2.js.map +1 -0
  121. package/dist/examples/actions-context.d.ts +2 -0
  122. package/dist/examples/actions-context.d.ts.map +1 -0
  123. package/dist/examples/actions-context.js +33 -0
  124. package/dist/examples/actions-context.js.map +1 -0
  125. package/dist/examples/form-basic.d.ts.map +1 -1
  126. package/dist/examples/form-basic.js +1 -1
  127. package/dist/examples/form-basic.js.map +1 -1
  128. package/dist/examples/form-dropdown.js +1 -1
  129. package/dist/examples/form-dropdown.js.map +1 -1
  130. package/dist/examples/internal/custom-action-renderables.d.ts +70 -0
  131. package/dist/examples/internal/custom-action-renderables.d.ts.map +1 -0
  132. package/dist/examples/internal/custom-action-renderables.js +163 -0
  133. package/dist/examples/internal/custom-action-renderables.js.map +1 -0
  134. package/dist/examples/internal/custom-dropdown.d.ts +99 -0
  135. package/dist/examples/internal/custom-dropdown.d.ts.map +1 -0
  136. package/dist/examples/internal/custom-dropdown.js +270 -0
  137. package/dist/examples/internal/custom-dropdown.js.map +1 -0
  138. package/dist/examples/internal/custom-renderable-form.d.ts +43 -0
  139. package/dist/examples/internal/custom-renderable-form.d.ts.map +1 -0
  140. package/dist/examples/internal/custom-renderable-form.js +284 -0
  141. package/dist/examples/internal/custom-renderable-form.js.map +1 -0
  142. package/dist/examples/internal/custom-renderable-list-default-search.d.ts +2 -0
  143. package/dist/examples/internal/custom-renderable-list-default-search.d.ts.map +1 -0
  144. package/dist/examples/internal/custom-renderable-list-default-search.js +16 -0
  145. package/dist/examples/internal/custom-renderable-list-default-search.js.map +1 -0
  146. package/dist/examples/internal/custom-renderable-list-v2-default-search.d.ts +2 -0
  147. package/dist/examples/internal/custom-renderable-list-v2-default-search.d.ts.map +1 -0
  148. package/dist/examples/internal/custom-renderable-list-v2-default-search.js +24 -0
  149. package/dist/examples/internal/custom-renderable-list-v2-default-search.js.map +1 -0
  150. package/dist/examples/internal/custom-renderable-list-v2.d.ts +189 -0
  151. package/dist/examples/internal/custom-renderable-list-v2.d.ts.map +1 -0
  152. package/dist/examples/internal/custom-renderable-list-v2.js +708 -0
  153. package/dist/examples/internal/custom-renderable-list-v2.js.map +1 -0
  154. package/dist/examples/internal/custom-renderable-list.d.ts +72 -0
  155. package/dist/examples/internal/custom-renderable-list.d.ts.map +1 -0
  156. package/dist/examples/internal/custom-renderable-list.js +544 -0
  157. package/dist/examples/internal/custom-renderable-list.js.map +1 -0
  158. package/dist/examples/internal/rhf-custom-ref.js +5 -4
  159. package/dist/examples/internal/rhf-custom-ref.js.map +1 -1
  160. package/dist/examples/internal/scrollbox-with-descendants.js +4 -2
  161. package/dist/examples/internal/scrollbox-with-descendants.js.map +1 -1
  162. package/dist/examples/list-controlled-search.d.ts +2 -0
  163. package/dist/examples/list-controlled-search.d.ts.map +1 -0
  164. package/dist/examples/list-controlled-search.js +12 -0
  165. package/dist/examples/list-controlled-search.js.map +1 -0
  166. package/dist/examples/list-detail-metadata.js +1 -1
  167. package/dist/examples/list-detail-metadata.js.map +1 -1
  168. package/dist/examples/simple-image-mask.d.ts +8 -0
  169. package/dist/examples/simple-image-mask.d.ts.map +1 -0
  170. package/dist/examples/simple-image-mask.js +12 -0
  171. package/dist/examples/simple-image-mask.js.map +1 -0
  172. package/dist/examples/toast-variations.js +1 -1
  173. package/dist/examples/toast-variations.js.map +1 -1
  174. package/dist/extensions/dev.d.ts.map +1 -1
  175. package/dist/extensions/dev.js +3 -2
  176. package/dist/extensions/dev.js.map +1 -1
  177. package/dist/extensions/react-refresh-init.d.ts.map +1 -1
  178. package/dist/extensions/react-refresh-init.js +4 -3
  179. package/dist/extensions/react-refresh-init.js.map +1 -1
  180. package/dist/index.d.ts +3 -2
  181. package/dist/index.d.ts.map +1 -1
  182. package/dist/index.js +1 -1
  183. package/dist/index.js.map +1 -1
  184. package/dist/internal/date-picker-widget.d.ts.map +1 -1
  185. package/dist/internal/date-picker-widget.js +2 -1
  186. package/dist/internal/date-picker-widget.js.map +1 -1
  187. package/dist/internal/dialog.d.ts +6 -0
  188. package/dist/internal/dialog.d.ts.map +1 -1
  189. package/dist/internal/dialog.js +59 -18
  190. package/dist/internal/dialog.js.map +1 -1
  191. package/dist/internal/navigation.d.ts.map +1 -1
  192. package/dist/internal/navigation.js +8 -1
  193. package/dist/internal/navigation.js.map +1 -1
  194. package/dist/internal/offscreen.d.ts +3 -0
  195. package/dist/internal/offscreen.d.ts.map +1 -1
  196. package/dist/internal/offscreen.js +5 -0
  197. package/dist/internal/offscreen.js.map +1 -1
  198. package/dist/internal/providers.d.ts.map +1 -1
  199. package/dist/internal/providers.js +20 -3
  200. package/dist/internal/providers.js.map +1 -1
  201. package/dist/internal/scrollbox.d.ts.map +1 -1
  202. package/dist/internal/scrollbox.js +3 -2
  203. package/dist/internal/scrollbox.js.map +1 -1
  204. package/dist/logger.d.ts.map +1 -1
  205. package/dist/logger.js +4 -0
  206. package/dist/logger.js.map +1 -1
  207. package/dist/preload.js +5 -17
  208. package/dist/preload.js.map +1 -1
  209. package/dist/state.d.ts +4 -0
  210. package/dist/state.d.ts.map +1 -1
  211. package/dist/state.js +4 -0
  212. package/dist/state.js.map +1 -1
  213. package/dist/test-border-overlay.d.ts +2 -0
  214. package/dist/test-border-overlay.d.ts.map +1 -0
  215. package/dist/test-border-overlay.js +7 -0
  216. package/dist/test-border-overlay.js.map +1 -0
  217. package/dist/test-layout-2.d.ts +2 -0
  218. package/dist/test-layout-2.d.ts.map +1 -0
  219. package/dist/test-layout-2.js +5 -0
  220. package/dist/test-layout-2.js.map +1 -0
  221. package/dist/test-layout.d.ts +2 -0
  222. package/dist/test-layout.d.ts.map +1 -0
  223. package/dist/test-layout.js +7 -0
  224. package/dist/test-layout.js.map +1 -0
  225. package/dist/theme.d.ts +1 -2
  226. package/dist/theme.d.ts.map +1 -1
  227. package/dist/theme.js +5 -9
  228. package/dist/theme.js.map +1 -1
  229. package/dist/utils/run-command.d.ts +1 -1
  230. package/dist/utils/run-command.d.ts.map +1 -1
  231. package/dist/utils/run-command.js +27 -7
  232. package/dist/utils/run-command.js.map +1 -1
  233. package/dist/utils.d.ts +1 -0
  234. package/dist/utils.d.ts.map +1 -1
  235. package/dist/utils.js +44 -23
  236. package/dist/utils.js.map +1 -1
  237. package/dist/watcher.d.ts.map +1 -1
  238. package/dist/watcher.js +24 -4
  239. package/dist/watcher.js.map +1 -1
  240. package/package.json +14 -12
  241. package/src/action-utils.tsx +10 -0
  242. package/src/apis/cache.test.ts +35 -3
  243. package/src/apis/cache.tsx +184 -59
  244. package/src/apis/clipboard.tsx +5 -0
  245. package/src/apis/oauth.tsx +33 -4
  246. package/src/build.tsx +35 -58
  247. package/src/cli.tsx +156 -134
  248. package/src/compile.tsx +6 -3
  249. package/src/compile.vitest.tsx +33 -15
  250. package/src/components/actions.tsx +230 -99
  251. package/src/components/alert.tsx +11 -10
  252. package/src/components/animation-tick.tsx +1 -1
  253. package/src/components/detail.tsx +56 -151
  254. package/src/components/dropdown.tsx +70 -36
  255. package/src/components/footer.tsx +58 -33
  256. package/src/components/form/checkbox.tsx +30 -32
  257. package/src/components/form/date-picker.tsx +27 -47
  258. package/src/components/form/description.tsx +19 -18
  259. package/src/components/form/dropdown.tsx +95 -103
  260. package/src/components/form/file-autocomplete.tsx +9 -8
  261. package/src/components/form/file-picker.tsx +46 -46
  262. package/src/components/form/form-end.tsx +6 -4
  263. package/src/components/form/index.tsx +38 -48
  264. package/src/components/form/password-field.tsx +25 -27
  265. package/src/components/form/separator.tsx +3 -2
  266. package/src/components/form/tagpicker.tsx +2 -1
  267. package/src/components/form/text-area.tsx +25 -30
  268. package/src/components/form/text-field.tsx +25 -27
  269. package/src/components/form/use-form-navigation.tsx +4 -5
  270. package/src/components/form/with-left-border.tsx +48 -10
  271. package/src/components/icon.tsx +69 -0
  272. package/src/components/image.tsx +60 -7
  273. package/src/components/list.tsx +270 -202
  274. package/src/components/loading-bar.tsx +4 -3
  275. package/src/components/metadata.tsx +217 -0
  276. package/src/components/theme-picker.tsx +3 -2
  277. package/src/examples/actions-context.tsx +63 -0
  278. package/src/examples/actions-context.vitest.tsx +110 -0
  279. package/src/examples/actions-dialog-layout.vitest.tsx +2 -1
  280. package/src/examples/file-autocomplete.vitest.tsx +15 -15
  281. package/src/examples/form-basic.tsx +12 -0
  282. package/src/examples/form-basic.vitest.tsx +74 -74
  283. package/src/examples/form-dropdown.tsx +8 -0
  284. package/src/examples/form-dropdown.vitest.tsx +364 -421
  285. package/src/examples/form-tagpicker.vitest.tsx +56 -54
  286. package/src/examples/github.vitest.tsx +252 -0
  287. package/src/examples/internal/rhf-custom-ref.tsx +16 -15
  288. package/src/examples/internal/scrollbox-with-descendants.tsx +4 -2
  289. package/src/examples/internal/simple-dialog.tsx +1 -1
  290. package/src/examples/internal/simple-scrollbox.vitest.tsx +14 -9
  291. package/src/examples/list-controlled-search.tsx +28 -0
  292. package/src/examples/list-controlled-search.vitest.tsx +49 -0
  293. package/src/examples/list-detail-metadata.tsx +8 -5
  294. package/src/examples/list-detail-metadata.vitest.tsx +22 -22
  295. package/src/examples/list-dropdown-default.vitest.tsx +12 -12
  296. package/src/examples/list-scrollbox.vitest.tsx +52 -38
  297. package/src/examples/list-with-detail.vitest.tsx +45 -41
  298. package/src/examples/list-with-dropdown.vitest.tsx +5 -5
  299. package/src/examples/list-with-sections.vitest.tsx +65 -12
  300. package/src/examples/list-with-toast.vitest.tsx +4 -4
  301. package/src/examples/simple-file-picker.vitest.tsx +12 -12
  302. package/src/examples/simple-grid.vitest.tsx +53 -53
  303. package/src/examples/simple-image-mask.tsx +58 -0
  304. package/src/examples/simple-navigation.vitest.tsx +19 -19
  305. package/src/examples/store.vitest.tsx +1 -1
  306. package/src/examples/swift-extension.vitest.tsx +4 -2
  307. package/src/examples/synonyms.vitest.tsx +31 -9
  308. package/src/examples/toast-action.vitest.tsx +8 -8
  309. package/src/examples/toast-variations.tsx +1 -1
  310. package/src/examples/toast-variations.vitest.tsx +69 -134
  311. package/src/extensions/dev.tsx +3 -2
  312. package/src/extensions/dev.vitest.tsx +65 -28
  313. package/src/extensions/react-refresh-init.tsx +4 -3
  314. package/src/index.tsx +3 -1
  315. package/src/internal/date-picker-widget.tsx +2 -1
  316. package/src/internal/dialog.tsx +100 -28
  317. package/src/internal/navigation.tsx +8 -1
  318. package/src/internal/offscreen.tsx +10 -0
  319. package/src/internal/providers.tsx +34 -8
  320. package/src/internal/scrollbox.tsx +4 -2
  321. package/src/logger.tsx +4 -0
  322. package/src/preload.tsx +5 -17
  323. package/src/state.tsx +12 -0
  324. package/src/theme.tsx +6 -9
  325. package/src/utils/run-command.tsx +32 -8
  326. package/src/utils.tsx +58 -23
  327. package/src/watcher.tsx +26 -6
@@ -1,6 +1,5 @@
1
1
  import { ReactNode } from 'react';
2
- import { Image } from 'termcast/src/components/list';
3
- import { Color } from 'termcast/src/colors';
2
+ import type { LabelProps, SeparatorProps, LinkProps, TagListProps, TagListItemProps } from 'termcast/src/components/metadata';
4
3
  interface ActionsInterface {
5
4
  actions?: ReactNode;
6
5
  }
@@ -19,35 +18,6 @@ interface DetailPropsWithLoading {
19
18
  interface MetadataProps {
20
19
  children: ReactNode;
21
20
  }
22
- interface LabelProps {
23
- title: string;
24
- icon?: Image.ImageLike | undefined | null;
25
- text?: string | {
26
- value: string;
27
- color?: Color.ColorLike | null;
28
- };
29
- }
30
- interface SeparatorProps {
31
- }
32
- interface LinkProps {
33
- title: string;
34
- target: string;
35
- text: string;
36
- }
37
- interface TagListProps {
38
- title: string;
39
- children: ReactNode;
40
- }
41
- interface TagListItemProps {
42
- icon?: Image.ImageLike | undefined | null;
43
- text?: string;
44
- color?: Color.ColorLike | undefined | null;
45
- onAction?: () => void;
46
- }
47
- interface DetailType {
48
- (props: DetailProps): any;
49
- Metadata: DetailMetadataType;
50
- }
51
21
  interface DetailMetadataTagListType {
52
22
  (props: TagListProps): any;
53
23
  Item: (props: TagListItemProps) => any;
@@ -59,6 +29,10 @@ interface DetailMetadataType {
59
29
  Link: (props: LinkProps) => any;
60
30
  TagList: DetailMetadataTagListType;
61
31
  }
32
+ interface DetailType {
33
+ (props: DetailProps): any;
34
+ Metadata: DetailMetadataType;
35
+ }
62
36
  declare const Detail: DetailType;
63
37
  export { Detail };
64
38
  export type { DetailProps, DetailPropsWithLoading };
@@ -1 +1 @@
1
- {"version":3,"file":"detail.d.ts","sourceRoot":"","sources":["../../src/components/detail.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAyB,MAAM,OAAO,CAAA;AAM/D,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAA;AACpD,OAAO,EAAE,KAAK,EAAgB,MAAM,qBAAqB,CAAA;AAOzD,UAAU,gBAAgB;IACxB,OAAO,CAAC,EAAE,SAAS,CAAA;CACpB;AAED,UAAU,wBAAwB;IAChC,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,UAAU,WAAY,SAAQ,gBAAgB,EAAE,wBAAwB;IACtE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB;AAED,UAAU,sBAAsB;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB;AAED,UAAU,aAAa;IACrB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,UAAU,UAAU;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,GAAG,IAAI,CAAA;IACzC,IAAI,CAAC,EACD,MAAM,GACN;QACE,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,IAAI,CAAA;KAC/B,CAAA;CACN;AAED,UAAU,cAAc;CAAG;AAE3B,UAAU,SAAS;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;CACb;AAED,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,UAAU,gBAAgB;IACxB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,GAAG,IAAI,CAAA;IACzC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,GAAG,IAAI,CAAA;IAC1C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;CACtB;AAED,UAAU,UAAU;IAClB,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,CAAA;IACzB,QAAQ,EAAE,kBAAkB,CAAA;CAC7B;AAsED,UAAU,yBAAyB;IACjC,CAAC,KAAK,EAAE,YAAY,GAAG,GAAG,CAAA;IAC1B,IAAI,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,GAAG,CAAA;CACvC;AAoBD,UAAU,kBAAkB;IAC1B,CAAC,KAAK,EAAE,aAAa,GAAG,GAAG,CAAA;IAC3B,KAAK,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,GAAG,CAAA;IACjC,SAAS,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,GAAG,CAAA;IACzC,IAAI,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,GAAG,CAAA;IAC/B,OAAO,EAAE,yBAAyB,CAAA;CACnC;AA6FD,QAAA,MAAM,MAAM,EAAE,UA0Db,CAAA;AAID,OAAO,EAAE,MAAM,EAAE,CAAA;AACjB,YAAY,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAA"}
1
+ {"version":3,"file":"detail.d.ts","sourceRoot":"","sources":["../../src/components/detail.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAyB,MAAM,OAAO,CAAA;AAa/D,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,gBAAgB,EAAkB,MAAM,kCAAkC,CAAA;AAE7I,UAAU,gBAAgB;IACxB,OAAO,CAAC,EAAE,SAAS,CAAA;CACpB;AAED,UAAU,wBAAwB;IAChC,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,UAAU,WAAY,SAAQ,gBAAgB,EAAE,wBAAwB;IACtE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB;AAED,UAAU,sBAAsB;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB;AAED,UAAU,aAAa;IACrB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,UAAU,yBAAyB;IACjC,CAAC,KAAK,EAAE,YAAY,GAAG,GAAG,CAAA;IAC1B,IAAI,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,GAAG,CAAA;CACvC;AAED,UAAU,kBAAkB;IAC1B,CAAC,KAAK,EAAE,aAAa,GAAG,GAAG,CAAA;IAC3B,KAAK,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,GAAG,CAAA;IACjC,SAAS,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,GAAG,CAAA;IACzC,IAAI,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,GAAG,CAAA;IAC/B,OAAO,EAAE,yBAAyB,CAAA;CACnC;AAED,UAAU,UAAU;IAClB,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,CAAA;IACzB,QAAQ,EAAE,kBAAkB,CAAA;CAC7B;AA+GD,QAAA,MAAM,MAAM,EAAE,UA6Db,CAAA;AAID,OAAO,EAAE,MAAM,EAAE,CAAA;AACjB,YAAY,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAA"}
@@ -1,61 +1,44 @@
1
- import { jsxs as _jsxs, jsx as _jsx } from "@opentui/react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "@opentui/react/jsx-runtime";
2
2
  import React, { useMemo } from 'react';
3
3
  import { TextAttributes } from '@opentui/core';
4
- import { useKeyboard } from '@opentui/react';
5
- import { Theme, markdownSyntaxStyle } from 'termcast/src/theme';
4
+ import { useKeyboard, useTerminalDimensions } from '@opentui/react';
5
+ import { useTheme, markdownSyntaxStyle } from 'termcast/src/theme';
6
6
  import { useIsInFocus } from 'termcast/src/internal/focus-context';
7
7
  import { ActionPanel, Action } from 'termcast/src/components/actions';
8
- import { resolveColor } from 'termcast/src/colors';
9
8
  import { Footer } from 'termcast/src/components/footer';
10
9
  import { useDialog } from 'termcast/src/internal/dialog';
11
10
  import { ScrollBox } from 'termcast/src/internal/scrollbox';
12
11
  import { useStore } from 'termcast/src/state';
13
- const DetailMetadataLabel = (props) => {
14
- const textValue = typeof props.text === 'string' ? props.text : props.text?.value;
15
- const textColor = typeof props.text === 'object' ? props.text?.color : undefined;
16
- return (_jsxs("box", { style: {
17
- flexDirection: 'row',
18
- paddingBottom: 1,
19
- }, children: [_jsxs("text", { fg: Theme.textMuted, style: { minWidth: 15 }, children: [props.title, ":"] }), _jsx("text", { fg: resolveColor(textColor) || Theme.text, children: textValue || '—' })] }));
20
- };
21
- const DetailMetadataSeparator = (props) => {
22
- return (_jsx("box", { style: {
23
- paddingTop: 1,
24
- paddingBottom: 1,
25
- }, children: _jsx("text", { fg: Theme.textMuted, children: '─'.repeat(30) }) }));
26
- };
27
- const DetailMetadataLink = (props) => {
28
- return (_jsxs("box", { style: {
29
- flexDirection: 'row',
30
- paddingBottom: 1,
31
- }, children: [_jsxs("text", { fg: Theme.textMuted, style: { minWidth: 15 }, children: [props.title, ":"] }), _jsx("text", { fg: Theme.accent, attributes: TextAttributes.UNDERLINE, children: props.text })] }));
32
- };
33
- const DetailMetadataTagListItem = (props) => {
34
- const displayText = props.text || '';
35
- return (_jsx("text", { fg: resolveColor(props.color) || Theme.text, style: {
36
- paddingRight: 1,
37
- paddingLeft: props.icon ? 1 : 0,
38
- }, children: displayText }));
39
- };
40
- const DetailMetadataTagList = (props) => {
41
- return (_jsxs("box", { style: {
42
- flexDirection: 'column',
43
- paddingBottom: 1,
44
- }, children: [_jsxs("text", { fg: Theme.textMuted, style: { minWidth: 15 }, children: [props.title, ":"] }), _jsx("box", { style: { flexDirection: 'row' }, children: props.children })] }));
45
- };
46
- DetailMetadataTagList.Item = DetailMetadataTagListItem;
12
+ import { Offscreen } from 'termcast/src/internal/offscreen';
13
+ import { Metadata, MetadataContext } from 'termcast/src/components/metadata';
47
14
  const DetailMetadata = (props) => {
48
- return (_jsx("box", { style: {
49
- flexDirection: 'column',
50
- paddingTop: 1,
51
- }, border: ['top'], borderStyle: 'single', borderColor: Theme.border, children: props.children }));
15
+ const { width } = useTerminalDimensions();
16
+ // Dynamic config based on terminal width
17
+ // Calculate maxValueLen as a function of title length:
18
+ // availableWidth = terminalWidth - padding(~4) - titleWidth - colon+space(2)
19
+ const config = {
20
+ maxValueLen: (titleLen) => {
21
+ const padding = 4;
22
+ const colonSpace = 2;
23
+ const titleWidth = Math.max(titleLen, 15); // minimum title width
24
+ return Math.max(10, width - padding - titleWidth - colonSpace);
25
+ },
26
+ titleMinWidth: 15,
27
+ paddingBottom: 1,
28
+ separatorWidth: Math.min(30, width - 4),
29
+ };
30
+ return (_jsx(MetadataContext.Provider, { value: config, children: _jsx("box", { style: {
31
+ flexDirection: 'column',
32
+ paddingTop: 1,
33
+ }, children: props.children }) }));
52
34
  };
53
- DetailMetadata.Label = DetailMetadataLabel;
54
- DetailMetadata.Separator = DetailMetadataSeparator;
55
- DetailMetadata.Link = DetailMetadataLink;
56
- DetailMetadata.TagList = DetailMetadataTagList;
35
+ DetailMetadata.Label = Metadata.Label;
36
+ DetailMetadata.Separator = Metadata.Separator;
37
+ DetailMetadata.Link = Metadata.Link;
38
+ DetailMetadata.TagList = Metadata.TagList;
57
39
  function DetailFooter({ hasActions, firstActionTitle, }) {
58
- return (_jsx(Footer, { paddingLeft: 0, paddingRight: 0, children: _jsxs("box", { style: { flexDirection: 'row', gap: 3 }, children: [_jsxs("box", { style: { flexDirection: 'row', gap: 1 }, children: [_jsx("text", { flexShrink: 0, fg: Theme.text, attributes: TextAttributes.BOLD, children: "esc" }), _jsx("text", { flexShrink: 0, fg: Theme.textMuted, children: "go back" })] }), hasActions && (_jsxs("box", { style: { flexDirection: 'row', gap: 1 }, children: [_jsx("text", { flexShrink: 0, fg: Theme.text, attributes: TextAttributes.BOLD, children: "^k" }), _jsx("text", { flexShrink: 0, fg: Theme.textMuted, children: "actions" })] })), hasActions && firstActionTitle && (_jsxs("box", { style: { flexDirection: 'row', gap: 1 }, children: [_jsx("text", { flexShrink: 0, fg: Theme.text, attributes: TextAttributes.BOLD, children: "\u21B5" }), _jsx("text", { flexShrink: 0, fg: Theme.textMuted, children: firstActionTitle })] }))] }) }));
40
+ const theme = useTheme();
41
+ return (_jsx(Footer, { paddingLeft: 0, paddingRight: 0, children: _jsxs("box", { style: { flexDirection: 'row', gap: 3 }, children: [_jsxs("box", { style: { flexDirection: 'row', gap: 1 }, children: [_jsx("text", { flexShrink: 0, fg: theme.text, attributes: TextAttributes.BOLD, children: "esc" }), _jsx("text", { flexShrink: 0, fg: theme.textMuted, children: "go back" })] }), hasActions && (_jsxs("box", { style: { flexDirection: 'row', gap: 1 }, children: [_jsx("text", { flexShrink: 0, fg: theme.text, attributes: TextAttributes.BOLD, children: "^k" }), _jsx("text", { flexShrink: 0, fg: theme.textMuted, children: "actions" })] })), hasActions && firstActionTitle && (_jsxs("box", { style: { flexDirection: 'row', gap: 1 }, children: [_jsx("text", { flexShrink: 0, fg: theme.text, attributes: TextAttributes.BOLD, children: "\u21B5" }), _jsx("text", { flexShrink: 0, fg: theme.textMuted, children: firstActionTitle })] }))] }) }));
59
42
  }
60
43
  // Helper to extract first action title from actions
61
44
  function getFirstActionTitle(actions) {
@@ -99,13 +82,14 @@ const Detail = (props) => {
99
82
  if (!inFocus)
100
83
  return;
101
84
  if (evt.name === 'k' && evt.ctrl) {
102
- // Ctrl+K shows actions (always show panel, even without actions)
103
- dialog.pushActions(actions || _jsx(ActionPanel, {}));
85
+ // Ctrl+K shows actions dialog via portal
86
+ if (actions) {
87
+ useStore.setState({ showActionsDialog: true });
88
+ }
104
89
  }
105
90
  else if (evt.name === 'return' && actions) {
106
- // Enter executes first action directly
91
+ // Enter auto-executes first action via ActionPanel's layout effect
107
92
  useStore.setState({ shouldAutoExecuteFirstAction: true });
108
- dialog.pushActions(actions);
109
93
  }
110
94
  });
111
95
  const content = (_jsx(ScrollBox, { focused: true,
@@ -119,7 +103,7 @@ const Detail = (props) => {
119
103
  paddingTop: 2,
120
104
  paddingRight: 2,
121
105
  }, children: [props.markdown && (_jsx("code", { content: props.markdown, conceal: true, filetype: "markdown", syntaxStyle: markdownSyntaxStyle, drawUnstyledText: false })), props.metadata] }) }));
122
- return (_jsxs("box", { style: { flexDirection: 'column', height: '100%', flexGrow: 1 }, children: [content, _jsx(DetailFooter, { hasActions: !!actions, firstActionTitle: firstActionTitle })] }));
106
+ return (_jsxs("box", { style: { flexDirection: 'column', height: '100%', flexGrow: 1 }, children: [content, _jsx(DetailFooter, { hasActions: !!actions, firstActionTitle: firstActionTitle }), actions && _jsx(Offscreen, { children: actions })] }));
123
107
  };
124
108
  Detail.Metadata = DetailMetadata;
125
109
  export { Detail };
@@ -1 +1 @@
1
- {"version":3,"file":"detail.js","sourceRoot":"","sources":["../../src/components/detail.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detail.js","sourceRoot":"","sources":["../../src/components/detail.tsx"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ export interface DropdownProps extends SearchBarInterface, CommonProps {
21
21
  }
22
22
  export interface DropdownItemProps extends CommonProps {
23
23
  title: string;
24
- value: string;
24
+ value?: string;
25
25
  icon?: ReactNode;
26
26
  keywords?: string[];
27
27
  label?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown.d.ts","sourceRoot":"","sources":["../../src/components/dropdown.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,SAAS,EAOV,MAAM,OAAO,CAAA;AAWd,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAKhD,UAAU,kBAAkB;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,SAAS,CAAC,EAAE,OAAO,GAAG;QAAE,gBAAgB,EAAE,OAAO,CAAA;KAAE,CAAA;IACnD,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,aAAc,SAAQ,kBAAkB,EAAE,WAAW;IACpE,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAChC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CAC5C;AAED,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,SAAS,CAAA;IAEhB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB;AAmCD,UAAU,YAAY;IACpB,CAAC,KAAK,EAAE,aAAa,GAAG,GAAG,CAAA;IAC3B,IAAI,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,GAAG,CAAA;IACvC,OAAO,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAA;CAC9C;AAED,QAAA,MAAM,QAAQ,EAAE,YA4Qf,CAAA;AAwMD,eAAe,QAAQ,CAAA;AACvB,OAAO,EAAE,QAAQ,EAAE,CAAA"}
1
+ {"version":3,"file":"dropdown.d.ts","sourceRoot":"","sources":["../../src/components/dropdown.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,SAAS,EAQV,MAAM,OAAO,CAAA;AAad,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAKhD,UAAU,kBAAkB;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,SAAS,CAAC,EAAE,OAAO,GAAG;QAAE,gBAAgB,EAAE,OAAO,CAAA;KAAE,CAAA;IACnD,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,aAAc,SAAQ,kBAAkB,EAAE,WAAW;IACpE,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAChC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CAC5C;AAED,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,SAAS,CAAA;IAEhB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB;AAmCD,UAAU,YAAY;IACpB,CAAC,KAAK,EAAE,aAAa,GAAG,GAAG,CAAA;IAC3B,IAAI,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,GAAG,CAAA;IACvC,OAAO,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAA;CAC9C;AAED,QAAA,MAAM,QAAQ,EAAE,YAmSf,CAAA;AAgND,eAAe,QAAQ,CAAA;AACvB,OAAO,EAAE,QAAQ,EAAE,CAAA"}
@@ -1,9 +1,11 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@opentui/react/jsx-runtime";
2
- import { useState, useEffect, useMemo, useRef, createContext, useContext, } from 'react';
2
+ import { useState, useLayoutEffect, useMemo, useRef, useCallback, createContext, useContext, } from 'react';
3
3
  import { useKeyboard, flushSync } from '@opentui/react';
4
4
  import { TextAttributes, } from '@opentui/core';
5
- import { Theme } from 'termcast/src/theme';
5
+ import { useTheme } from 'termcast/src/theme';
6
+ import { getIconValue } from 'termcast/src/components/icon';
6
7
  import { logger } from 'termcast/src/logger';
8
+ import { useStore } from 'termcast/src/state';
7
9
  import { useIsInFocus } from 'termcast/src/internal/focus-context';
8
10
  import { useIsOffscreen } from 'termcast/src/internal/offscreen';
9
11
  import { createDescendants } from 'termcast/src/descendants';
@@ -16,11 +18,26 @@ const DropdownContext = createContext({
16
18
  });
17
19
  const Dropdown = (props) => {
18
20
  const { tooltip, onChange, onSelectionChange, value, defaultValue, children, placeholder = 'Search…', storeValue, isLoading, filtering = true, onSearchTextChange, throttle, } = props;
21
+ const theme = useTheme();
19
22
  const isOffscreen = useIsOffscreen();
20
23
  const [selected, setSelected] = useState(0);
21
24
  const [searchText, setSearchTextState] = useState('');
22
25
  const [currentValue, setCurrentValue] = useState(value || defaultValue);
23
26
  const inputRef = useRef(null);
27
+ // Ref callback that registers the textarea in global state for ESC handling
28
+ const setInputRef = useCallback((node) => {
29
+ if (!node)
30
+ return;
31
+ inputRef.current = node;
32
+ useStore.setState({ activeSearchInputRef: node });
33
+ // React 19: return cleanup function for unmount
34
+ return () => {
35
+ if (useStore.getState().activeSearchInputRef === node) {
36
+ useStore.setState({ activeSearchInputRef: null });
37
+ }
38
+ inputRef.current = null;
39
+ };
40
+ }, []);
24
41
  const lastSearchTextRef = useRef('');
25
42
  const throttleTimeoutRef = useRef(undefined);
26
43
  const scrollBoxRef = useRef(null);
@@ -50,8 +67,8 @@ const Dropdown = (props) => {
50
67
  onSelectionChange,
51
68
  scrollBoxRef,
52
69
  }), [searchText, filtering, selected, currentValue, onSelectionChange]);
53
- // Update controlled value
54
- useEffect(() => {
70
+ // Update controlled value (before paint to avoid flash)
71
+ useLayoutEffect(() => {
55
72
  if (value !== undefined) {
56
73
  setCurrentValue(value);
57
74
  }
@@ -68,7 +85,10 @@ const Dropdown = (props) => {
68
85
  .filter((item) => item.index !== -1 && !item.props?.hidden)
69
86
  .sort((a, b) => a.index - b.index);
70
87
  if (items.length > 0 && items[0]) {
71
- setSelected(items[0].index);
88
+ flushSync(() => {
89
+ setSelected(items[0].index);
90
+ });
91
+ scrollToItem(items[0]);
72
92
  }
73
93
  if (onSearchTextChange) {
74
94
  if (throttle) {
@@ -105,7 +125,9 @@ const Dropdown = (props) => {
105
125
  nextVisibleIndex = 0;
106
126
  const nextItem = items[nextVisibleIndex];
107
127
  if (nextItem) {
108
- setSelected(nextItem.index);
128
+ flushSync(() => {
129
+ setSelected(nextItem.index);
130
+ });
109
131
  scrollToItem(nextItem);
110
132
  if (onSelectionChange && nextItem.props) {
111
133
  onSelectionChange(nextItem.props.value);
@@ -158,13 +180,13 @@ const Dropdown = (props) => {
158
180
  return (_jsx(DropdownDescendantsProvider, { value: descendantsContext, children: _jsx(DropdownContext.Provider, { value: contextValue, children: _jsxs("box", { children: [_jsxs("box", { style: { paddingLeft: 2, paddingRight: 2 }, children: [_jsxs("box", { style: { paddingLeft: 1, paddingRight: 1 }, children: [_jsxs("box", { style: {
159
181
  flexDirection: 'row',
160
182
  justifyContent: 'space-between',
161
- }, children: [_jsx("text", { fg: Theme.textMuted, children: tooltip }), _jsx("text", { fg: Theme.textMuted, children: "esc" })] }), _jsxs("box", { style: { paddingTop: 1, paddingBottom: 1, flexDirection: 'row' }, children: [_jsx("text", { flexShrink: 0, fg: Theme.primary, children: "> " }), _jsx("textarea", { ref: inputRef, height: 1, flexGrow: 1, wrapMode: 'none', keyBindings: [
183
+ }, children: [_jsx("text", { fg: theme.textMuted, children: tooltip }), _jsx("text", { fg: theme.textMuted, children: "esc" })] }), _jsxs("box", { style: { paddingTop: 1, paddingBottom: 1, flexDirection: 'row' }, children: [_jsx("text", { flexShrink: 0, fg: theme.primary, children: "> " }), _jsx("textarea", { ref: setInputRef, height: 1, flexGrow: 1, wrapMode: 'none', keyBindings: [
162
184
  { name: 'return', action: 'submit' },
163
185
  { name: 'linefeed', action: 'submit' },
164
186
  ], onContentChange: () => {
165
187
  const value = inputRef.current?.plainText || '';
166
188
  handleSearchTextChange(value);
167
- }, placeholder: placeholder, focused: inFocus, initialValue: "", focusedBackgroundColor: Theme.backgroundPanel, cursorColor: Theme.primary, focusedTextColor: Theme.textMuted })] })] }), _jsx(ScrollBox, { ref: scrollBoxRef, focused: false, flexGrow: 1, flexShrink: 1, style: {
189
+ }, placeholder: placeholder, focused: inFocus, initialValue: "", focusedBackgroundColor: theme.backgroundPanel, cursorColor: theme.primary, focusedTextColor: theme.textMuted })] })] }), _jsx(ScrollBox, { ref: scrollBoxRef, focused: false, flexGrow: 1, flexShrink: 1, style: {
168
190
  rootOptions: {
169
191
  backgroundColor: undefined,
170
192
  height: 7, // Fixed height prevents layout shift when content mounts incrementally
@@ -178,16 +200,17 @@ const Dropdown = (props) => {
178
200
  paddingBottom: 1,
179
201
  paddingTop: 1,
180
202
  flexDirection: 'row',
181
- }, children: [_jsx("text", { fg: Theme.text, attributes: TextAttributes.BOLD, children: "\u21B5" }), _jsx("text", { fg: Theme.textMuted, children: " select" }), _jsxs("text", { fg: Theme.text, attributes: TextAttributes.BOLD, children: [' ', "\u2191\u2193"] }), _jsx("text", { fg: Theme.textMuted, children: " navigate" })] })] }) }) }));
203
+ }, children: [_jsx("text", { fg: theme.text, attributes: TextAttributes.BOLD, children: "\u21B5" }), _jsx("text", { fg: theme.textMuted, children: " select" }), _jsxs("text", { fg: theme.text, attributes: TextAttributes.BOLD, children: [' ', "\u2191\u2193"] }), _jsx("text", { fg: theme.textMuted, children: " navigate" })] })] }) }) }));
182
204
  };
183
205
  function ItemOption(props) {
206
+ const theme = useTheme();
184
207
  const [isHovered, setIsHovered] = useState(false);
185
208
  return (_jsxs("box", { ref: props.elementRef, style: {
186
209
  flexDirection: 'row',
187
210
  backgroundColor: props.active
188
- ? Theme.primary
211
+ ? theme.primary
189
212
  : isHovered
190
- ? Theme.backgroundPanel
213
+ ? theme.backgroundPanel
191
214
  : undefined,
192
215
  paddingLeft: props.active ? 0 : 1,
193
216
  paddingRight: 1,
@@ -196,13 +219,13 @@ function ItemOption(props) {
196
219
  setIsHovered(true);
197
220
  if (props.onMouseMove)
198
221
  props.onMouseMove();
199
- }, onMouseOut: () => setIsHovered(false), onMouseDown: props.onMouseDown, children: [_jsxs("box", { style: { flexDirection: 'row' }, children: [props.active && (_jsxs("text", { fg: Theme.background, selectable: false, children: ["\u203A", ''] })), props.icon && (_jsxs("text", { fg: props.active ? Theme.background : Theme.text, selectable: false, children: [String(props.icon), ' '] })), _jsx("text", { fg: props.active
200
- ? Theme.background
222
+ }, onMouseOut: () => setIsHovered(false), onMouseDown: props.onMouseDown, children: [_jsxs("box", { style: { flexDirection: 'row' }, children: [props.active && (_jsxs("text", { fg: theme.background, selectable: false, children: ["\u203A", ''] })), props.icon && (_jsxs("text", { fg: props.active ? theme.background : theme.text, selectable: false, children: [getIconValue(props.icon), ' '] })), _jsx("text", { fg: props.active
223
+ ? theme.background
201
224
  : props.color
202
225
  ? props.color
203
226
  : props.current
204
- ? Theme.primary
205
- : Theme.text, attributes: props.active ? TextAttributes.BOLD : undefined, selectable: false, children: props.title })] }), props.label && (_jsx("text", { fg: props.active ? Theme.background : Theme.textMuted, attributes: props.active ? TextAttributes.BOLD : undefined, selectable: false, children: props.label }))] }));
227
+ ? theme.primary
228
+ : theme.text, attributes: props.active ? TextAttributes.BOLD : undefined, selectable: false, children: props.title })] }), props.label && (_jsx("text", { fg: props.active ? theme.background : theme.textMuted, attributes: props.active ? TextAttributes.BOLD : undefined, selectable: false, children: props.label }))] }));
206
229
  }
207
230
  const DropdownItem = (props) => {
208
231
  const context = useContext(DropdownContext);
@@ -225,9 +248,10 @@ const DropdownItem = (props) => {
225
248
  .toLowerCase();
226
249
  return !searchableText.includes(needle);
227
250
  })();
228
- // Register as descendant
251
+ // Register as descendant - use title as fallback for value
252
+ const value = props.value ?? props.title;
229
253
  const { index } = useDropdownItemDescendant({
230
- value: props.value,
254
+ value,
231
255
  title: props.title,
232
256
  hidden: shouldHide,
233
257
  elementRef: elementRef.current,
@@ -237,7 +261,7 @@ const DropdownItem = (props) => {
237
261
  return null;
238
262
  // Determine if active (index will be -1 if hidden)
239
263
  const isActive = index === selectedIndex && index !== -1;
240
- const isCurrent = props.value === currentValue;
264
+ const isCurrent = value === currentValue;
241
265
  // Handle mouse events
242
266
  const handleMouseMove = () => {
243
267
  // Update selected index on hover
@@ -246,20 +270,21 @@ const DropdownItem = (props) => {
246
270
  index !== -1) {
247
271
  context.setSelectedIndex(index);
248
272
  if (context.onSelectionChange) {
249
- context.onSelectionChange(props.value);
273
+ context.onSelectionChange(value);
250
274
  }
251
275
  }
252
276
  };
253
277
  const handleMouseDown = () => {
254
278
  // Trigger selection on click
255
- if (context.onChange && props.value) {
256
- context.onChange(props.value);
279
+ if (context.onChange && value) {
280
+ context.onChange(value);
257
281
  }
258
282
  };
259
283
  // Render the item directly
260
284
  return (_jsx(ItemOption, { title: props.title, icon: props.icon, active: isActive, current: isCurrent, label: props.label, color: props.color, onMouseMove: handleMouseMove, onMouseDown: handleMouseDown, elementRef: elementRef }));
261
285
  };
262
286
  const DropdownSection = (props) => {
287
+ const theme = useTheme();
263
288
  const parentContext = useContext(DropdownContext);
264
289
  const isOffscreen = useIsOffscreen();
265
290
  if (!parentContext)
@@ -273,7 +298,10 @@ const DropdownSection = (props) => {
273
298
  if (isOffscreen) {
274
299
  return (_jsx(DropdownContext.Provider, { value: sectionContextValue, children: props.children }));
275
300
  }
276
- return (_jsxs(_Fragment, { children: [props.title && (_jsx("box", { style: { paddingTop: 1, paddingLeft: 1 }, children: _jsx("text", { fg: Theme.accent, attributes: TextAttributes.BOLD, children: props.title }) })), _jsx(DropdownContext.Provider, { value: sectionContextValue, children: props.children })] }));
301
+ // Hide section titles when filtering is active and there's search text
302
+ // This prevents showing empty section headers when all items are filtered out
303
+ const hideTitle = parentContext.filtering && parentContext.searchText.trim().length > 0;
304
+ return (_jsxs(_Fragment, { children: [props.title && !hideTitle && (_jsx("box", { style: { paddingTop: 1, paddingLeft: 1 }, children: _jsx("text", { fg: theme.accent, attributes: TextAttributes.BOLD, children: props.title }) })), _jsx(DropdownContext.Provider, { value: sectionContextValue, children: props.children })] }));
277
305
  };
278
306
  Dropdown.Item = DropdownItem;
279
307
  Dropdown.Section = DropdownSection;
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown.js","sourceRoot":"","sources":["../../src/components/dropdown.tsx"],"names":[],"mappings":";AAAA,OAAc,EAEZ,QAAQ,EACR,SAAS,EACT,OAAO,EACP,MAAM,EACN,aAAa,EACb,UAAU,GACX,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EACL,cAAc,GAGf,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAA;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAEhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAA;AA6C3D,MAAM,EACJ,mBAAmB,EAAE,2BAA2B,EAChD,cAAc,EAAE,sBAAsB,EACtC,aAAa,EAAE,yBAAyB,GACzC,GAAG,iBAAiB,EAA0B,CAAA;AAe/C,MAAM,eAAe,GAAG,aAAa,CAAuB;IAC1D,UAAU,EAAE,EAAE;IACd,SAAS,EAAE,IAAI;IACf,aAAa,EAAE,CAAC;CACjB,CAAC,CAAA;AAQF,MAAM,QAAQ,GAAiB,CAAC,KAAK,EAAE,EAAE;IACvC,MAAM,EACJ,OAAO,EACP,QAAQ,EACR,iBAAiB,EACjB,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,WAAW,GAAG,SAAS,EACvB,UAAU,EACV,SAAS,EACT,SAAS,GAAG,IAAI,EAChB,kBAAkB,EAClB,QAAQ,GACT,GAAG,KAAK,CAAA;IAET,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IACpC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC3C,MAAM,CAAC,UAAU,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IACrD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAC9C,KAAK,IAAI,YAAY,CACtB,CAAA;IACD,MAAM,QAAQ,GAAG,MAAM,CAAqB,IAAI,CAAC,CAAA;IACjD,MAAM,iBAAiB,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;IACpC,MAAM,kBAAkB,GAAG,MAAM,CAA6B,SAAS,CAAC,CAAA;IACxE,MAAM,YAAY,GAAG,MAAM,CAAsB,IAAI,CAAC,CAAA;IACtD,MAAM,kBAAkB,GAAG,sBAAsB,EAAE,CAAA;IAInD,MAAM,YAAY,GAAG,CAAC,IAAwC,EAAE,EAAE;QAChE,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAA;QACtC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE,UAAU,CAAA;QACzC,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU;YAAE,OAAM;QAErC,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAA;QAC1C,MAAM,cAAc,GAAG,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAA;QAEvD,8CAA8C;QAC9C,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,GAAG,QAAQ,CAAA;QAEvC,4DAA4D;QAC5D,MAAM,eAAe,GAAG,OAAO,GAAG,cAAc,GAAG,CAAC,CAAA;QACpD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAA;IAClD,CAAC,CAAA;IAED,oCAAoC;IACpC,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,CAAC,CAAC;QACL,UAAU;QACV,SAAS;QACT,cAAc,EAAE,SAAS;QACzB,aAAa,EAAE,QAAQ;QACvB,gBAAgB,EAAE,WAAW;QAC7B,YAAY;QACZ,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;QAC9C,iBAAiB;QACjB,YAAY;KACb,CAAC,EACF,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,iBAAiB,CAAC,CACnE,CAAA;IAED,0BAA0B;IAC1B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,eAAe,CAAC,KAAK,CAAC,CAAA;QACxB,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEX,sEAAsE;IACtE,MAAM,sBAAsB,GAAG,CAAC,IAAY,EAAE,EAAE;QAC9C,IAAI,CAAC,OAAO;YAAE,OAAM;QAEpB,sFAAsF;QACtF,SAAS,CAAC,GAAG,EAAE;YACb,kBAAkB,CAAC,IAAI,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;QACF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC;aACxD,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC;aAC/D,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;QAE9C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACjC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QAC7B,CAAC;QAED,IAAI,kBAAkB,EAAE,CAAC;YACvB,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,kBAAkB,CAAC,OAAO,EAAE,CAAC;oBAC/B,YAAY,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;gBAC1C,CAAC;gBACD,kBAAkB,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC3C,kBAAkB,CAAC,IAAI,CAAC,CAAA;gBAC1B,CAAC,EAAE,GAAG,CAAC,CAAA;YACT,CAAC;iBAAM,CAAC;gBACN,kBAAkB,CAAC,IAAI,CAAC,CAAA;YAC1B,CAAC;QACH,CAAC;IACH,CAAC,CAAA;IAED,MAAM,IAAI,GAAG,CAAC,SAAiB,EAAE,EAAE;QACjC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC;aACxD,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC;aAC/D,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;QAE9C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAE9B,IAAI,mBAAmB,GAAG,KAAK,CAAC,SAAS,CACvC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,CAClC,CAAA;QACD,IAAI,mBAAmB,KAAK,CAAC,CAAC,EAAE,CAAC;YAC/B,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACb,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;gBAC3B,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YACxB,CAAC;YACD,OAAM;QACR,CAAC;QAED,IAAI,gBAAgB,GAAG,mBAAmB,GAAG,SAAS,CAAA;QACtD,IAAI,gBAAgB,GAAG,CAAC;YAAE,gBAAgB,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;QAC7D,IAAI,gBAAgB,IAAI,KAAK,CAAC,MAAM;YAAE,gBAAgB,GAAG,CAAC,CAAA;QAE1D,MAAM,QAAQ,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAA;QACxC,IAAI,QAAQ,EAAE,CAAC;YACb,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;YAC3B,YAAY,CAAC,QAAQ,CAAC,CAAA;YACtB,IAAI,iBAAiB,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACxC,iBAAiB,CAAE,QAAQ,CAAC,KAAgC,CAAC,KAAK,CAAC,CAAA;YACrE,CAAC;QACH,CAAC;IACH,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,CAAC,SAAiB,EAAE,EAAE;QACvC,eAAe,CAAC,SAAS,CAAC,CAAA;QAC1B,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,SAAS,CAAC,CAAA;QACrB,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,yDAAyD;YACzD,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAA;QACzC,CAAC;IACH,CAAC,CAAA;IAED,kBAAkB;IAClB,MAAM,OAAO,GAAG,YAAY,EAAE,CAAA;IAE9B,6BAA6B;IAC7B,WAAW,CAAC,CAAC,GAAG,EAAE,EAAE;QAClB,IAAI,CAAC,OAAO;YAAE,OAAM;QAEpB,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACV,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACxB,IAAI,CAAC,CAAC,CAAC,CAAA;QACT,CAAC;QACD,mCAAmC;QACnC,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACrC,IAAI,CAAC,CAAC,CAAC,CAAA;QACT,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACpC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACV,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC;iBACxD,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;iBACxC,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;YAE9C,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAA;YACjE,IAAI,WAAW,EAAE,KAAK,EAAE,CAAC;gBACvB,UAAU,CAAE,WAAW,CAAC,KAAgC,CAAC,KAAK,CAAC,CAAA;YACjE,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,yEAAyE;IACzE,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CACL,KAAC,2BAA2B,IAAC,KAAK,EAAE,kBAAkB,YACpD,KAAC,eAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,YAC1C,QAAQ,GACgB,GACC,CAC/B,CAAA;IACH,CAAC;IAED,OAAO,CACL,KAAC,2BAA2B,IAAC,KAAK,EAAE,kBAAkB,YACpD,KAAC,eAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,YAC3C,0BACE,eAAK,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,aAC7C,eAAK,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,aAC7C,eACE,KAAK,EAAE;4CACL,aAAa,EAAE,KAAK;4CACpB,cAAc,EAAE,eAAe;yCAChC,aAED,eAAM,EAAE,EAAE,KAAK,CAAC,SAAS,YAAG,OAAO,GAAQ,EAC3C,eAAM,EAAE,EAAE,KAAK,CAAC,SAAS,oBAAY,IACjC,EACN,eAAK,KAAK,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,aACnE,eAAM,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,OAAO,mBAAc,EACpD,mBACE,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,CAAC,EACT,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAC,MAAM,EACf,WAAW,EAAE;oDACX,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE;oDACpC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE;iDACvC,EACD,eAAe,EAAE,GAAG,EAAE;oDACpB,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,EAAE,SAAS,IAAI,EAAE,CAAA;oDAC/C,sBAAsB,CAAC,KAAK,CAAC,CAAA;gDAC/B,CAAC,EACD,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,EAChB,YAAY,EAAC,EAAE,EACf,sBAAsB,EAAE,KAAK,CAAC,eAAe,EAC7C,WAAW,EAAE,KAAK,CAAC,OAAO,EAC1B,gBAAgB,EAAE,KAAK,CAAC,SAAS,GACjC,IACE,IACF,EACN,KAAC,SAAS,IACR,GAAG,EAAE,YAAY,EACjB,OAAO,EAAE,KAAK,EACd,QAAQ,EAAE,CAAC,EACX,UAAU,EAAE,CAAC,EACb,KAAK,EAAE;oCACL,WAAW,EAAE;wCACX,eAAe,EAAE,SAAS;wCAC1B,MAAM,EAAE,CAAC,EAAE,uEAAuE;qCACnF;oCACD,gBAAgB,EAAE;wCAEhB,UAAU,EAAE,KAAK;qCAElB;iCACF,YAGA,QAAQ,GACC,IACR,EACN,eACE,MAAM,EAAE,KAAK,EACb,KAAK,EAAE;4BACL,YAAY,EAAE,CAAC;4BACf,WAAW,EAAE,CAAC;4BACd,aAAa,EAAE,CAAC;4BAChB,UAAU,EAAE,CAAC;4BACb,aAAa,EAAE,KAAK;yBACrB,aAED,eAAM,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,cAAc,CAAC,IAAI,uBAE9C,EACP,eAAM,EAAE,EAAE,KAAK,CAAC,SAAS,wBAAgB,EACzC,gBAAM,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,cAAc,CAAC,IAAI,aAClD,KAAK,oBACD,EACP,eAAM,EAAE,EAAE,KAAK,CAAC,SAAS,0BAAkB,IACvC,IACF,GACmB,GACC,CAC/B,CAAA;AACH,CAAC,CAAA;AAED,SAAS,UAAU,CAAC,KAUnB;IACC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEjD,OAAO,CACL,eACE,GAAG,EAAE,KAAK,CAAC,UAAU,EACrB,KAAK,EAAE;YACL,aAAa,EAAE,KAAK;YACpB,eAAe,EAAE,KAAK,CAAC,MAAM;gBAC3B,CAAC,CAAC,KAAK,CAAC,OAAO;gBACf,CAAC,CAAC,SAAS;oBACT,CAAC,CAAC,KAAK,CAAC,eAAe;oBACvB,CAAC,CAAC,SAAS;YACf,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,YAAY,EAAE,CAAC;YACf,cAAc,EAAE,eAAe;SAChC,EACD,MAAM,EAAE,KAAK,EACb,WAAW,EAAE,GAAG,EAAE;YAChB,YAAY,CAAC,IAAI,CAAC,CAAA;YAClB,IAAI,KAAK,CAAC,WAAW;gBAAE,KAAK,CAAC,WAAW,EAAE,CAAA;QAC5C,CAAC,EACD,UAAU,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EACrC,WAAW,EAAE,KAAK,CAAC,WAAW,aAE9B,eAAK,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,aACjC,KAAK,CAAC,MAAM,IAAI,CACf,gBAAM,EAAE,EAAE,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,uBACzC,EAAE,IACC,CACR,EACA,KAAK,CAAC,IAAI,IAAI,CACb,gBACE,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAChD,UAAU,EAAE,KAAK,aAEhB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,IACnB,CACR,EACD,eACE,EAAE,EACA,KAAK,CAAC,MAAM;4BACV,CAAC,CAAC,KAAK,CAAC,UAAU;4BAClB,CAAC,CAAC,KAAK,CAAC,KAAK;gCACX,CAAC,CAAC,KAAK,CAAC,KAAK;gCACb,CAAC,CAAC,KAAK,CAAC,OAAO;oCACb,CAAC,CAAC,KAAK,CAAC,OAAO;oCACf,CAAC,CAAC,KAAK,CAAC,IAAI,EAEpB,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAC1D,UAAU,EAAE,KAAK,YAEhB,KAAK,CAAC,KAAK,GACP,IACH,EACL,KAAK,CAAC,KAAK,IAAI,CACd,eACE,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EACrD,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAC1D,UAAU,EAAE,KAAK,YAEhB,KAAK,CAAC,KAAK,GACP,CACR,IACG,CACP,CAAA;AACH,CAAC;AAED,MAAM,YAAY,GAAsC,CAAC,KAAK,EAAE,EAAE;IAChE,MAAM,OAAO,GAAG,UAAU,CAAC,eAAe,CAAC,CAAA;IAC3C,MAAM,UAAU,GAAG,MAAM,CAAuC,IAAI,CAAC,CAAA;IACrE,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IACpC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAA;IAEzB,0EAA0E;IAC1E,IAAI,WAAW;QAAE,OAAO,IAAI,CAAA;IAE5B,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,GAC1E,OAAO,CAAA;IAET,wBAAwB;IACxB,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE;QACvB,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;YAAE,OAAO,KAAK,CAAA;QAClD,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAA;QAC9C,MAAM,cAAc,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;aAC5D,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,GAAG,CAAC;aACT,WAAW,EAAE,CAAA;QAChB,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACzC,CAAC,CAAC,EAAE,CAAA;IAEJ,yBAAyB;IACzB,MAAM,EAAE,KAAK,EAAE,GAAG,yBAAyB,CAAC;QAC1C,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,UAAU;QAClB,UAAU,EAAE,UAAU,CAAC,OAAO;KAC/B,CAAC,CAAA;IAEF,yBAAyB;IACzB,IAAI,UAAU;QAAE,OAAO,IAAI,CAAA;IAE3B,mDAAmD;IACnD,MAAM,QAAQ,GAAG,KAAK,KAAK,aAAa,IAAI,KAAK,KAAK,CAAC,CAAC,CAAA;IACxD,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,KAAK,YAAY,CAAA;IAE9C,sBAAsB;IACtB,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,iCAAiC;QACjC,IACE,OAAO,CAAC,gBAAgB;YACxB,OAAO,CAAC,aAAa,KAAK,KAAK;YAC/B,KAAK,KAAK,CAAC,CAAC,EACZ,CAAC;YACD,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;YAC/B,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBAC9B,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACxC,CAAC;QACH,CAAC;IACH,CAAC,CAAA;IAED,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,6BAA6B;QAC7B,IAAI,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC/B,CAAC;IACH,CAAC,CAAA;IAED,2BAA2B;IAC3B,OAAO,CACL,KAAC,UAAU,IACT,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,SAAS,EAClB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,WAAW,EAAE,eAAe,EAC5B,WAAW,EAAE,eAAe,EAC5B,UAAU,EAAE,UAAU,GACtB,CACH,CAAA;AACH,CAAC,CAAA;AAED,MAAM,eAAe,GAAyC,CAAC,KAAK,EAAE,EAAE;IACtE,MAAM,aAAa,GAAG,UAAU,CAAC,eAAe,CAAC,CAAA;IACjD,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IACpC,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAA;IAE/B,wCAAwC;IACxC,MAAM,mBAAmB,GAAG,OAAO,CACjC,GAAG,EAAE,CAAC,CAAC;QACL,GAAG,aAAa;QAChB,cAAc,EAAE,KAAK,CAAC,KAAK;KAC5B,CAAC,EACF,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,CAC7B,CAAA;IAED,gEAAgE;IAChE,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CACL,KAAC,eAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,mBAAmB,YACjD,KAAK,CAAC,QAAQ,GACU,CAC5B,CAAA;IACH,CAAC;IAED,OAAO,CACL,8BAEG,KAAK,CAAC,KAAK,IAAI,CACd,cAAK,KAAK,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,YAC3C,eAAM,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,cAAc,CAAC,IAAI,YACpD,KAAK,CAAC,KAAK,GACP,GACH,CACP,EAED,KAAC,eAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,mBAAmB,YACjD,KAAK,CAAC,QAAQ,GACU,IAC1B,CACJ,CAAA;AACH,CAAC,CAAA;AAED,QAAQ,CAAC,IAAI,GAAG,YAAY,CAAA;AAC5B,QAAQ,CAAC,OAAO,GAAG,eAAe,CAAA;AAElC,eAAe,QAAQ,CAAA;AACvB,OAAO,EAAE,QAAQ,EAAE,CAAA"}
1
+ {"version":3,"file":"dropdown.js","sourceRoot":"","sources":["../../src/components/dropdown.tsx"],"names":[],"mappings":";AAAA,OAAc,EAEZ,QAAQ,EACR,eAAe,EACf,OAAO,EACP,MAAM,EACN,WAAW,EACX,aAAa,EACb,UAAU,GACX,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EACL,cAAc,GAGf,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAA;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAEhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAA;AA6C3D,MAAM,EACJ,mBAAmB,EAAE,2BAA2B,EAChD,cAAc,EAAE,sBAAsB,EACtC,aAAa,EAAE,yBAAyB,GACzC,GAAG,iBAAiB,EAA0B,CAAA;AAe/C,MAAM,eAAe,GAAG,aAAa,CAAuB;IAC1D,UAAU,EAAE,EAAE;IACd,SAAS,EAAE,IAAI;IACf,aAAa,EAAE,CAAC;CACjB,CAAC,CAAA;AAQF,MAAM,QAAQ,GAAiB,CAAC,KAAK,EAAE,EAAE;IACvC,MAAM,EACJ,OAAO,EACP,QAAQ,EACR,iBAAiB,EACjB,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,WAAW,GAAG,SAAS,EACvB,UAAU,EACV,SAAS,EACT,SAAS,GAAG,IAAI,EAChB,kBAAkB,EAClB,QAAQ,GACT,GAAG,KAAK,CAAA;IAET,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IACxB,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IACpC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC3C,MAAM,CAAC,UAAU,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IACrD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAC9C,KAAK,IAAI,YAAY,CACtB,CAAA;IACD,MAAM,QAAQ,GAAG,MAAM,CAAqB,IAAI,CAAC,CAAA;IAEjD,4EAA4E;IAC5E,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,IAA+B,EAAE,EAAE;QAClE,IAAI,CAAC,IAAI;YAAE,OAAM;QAEjB,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAA;QACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAA;QAEjD,gDAAgD;QAChD,OAAO,GAAG,EAAE;YACV,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC,oBAAoB,KAAK,IAAI,EAAE,CAAC;gBACtD,QAAQ,CAAC,QAAQ,CAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAA;YACnD,CAAC;YACD,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAA;QACzB,CAAC,CAAA;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,iBAAiB,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;IACpC,MAAM,kBAAkB,GAAG,MAAM,CAA6B,SAAS,CAAC,CAAA;IACxE,MAAM,YAAY,GAAG,MAAM,CAAsB,IAAI,CAAC,CAAA;IACtD,MAAM,kBAAkB,GAAG,sBAAsB,EAAE,CAAA;IAInD,MAAM,YAAY,GAAG,CAAC,IAAwC,EAAE,EAAE;QAChE,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAA;QACtC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE,UAAU,CAAA;QACzC,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU;YAAE,OAAM;QAErC,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAA;QAC1C,MAAM,cAAc,GAAG,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAA;QAEvD,8CAA8C;QAC9C,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,GAAG,QAAQ,CAAA;QAEvC,4DAA4D;QAC5D,MAAM,eAAe,GAAG,OAAO,GAAG,cAAc,GAAG,CAAC,CAAA;QACpD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAA;IAClD,CAAC,CAAA;IAED,oCAAoC;IACpC,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,CAAC,CAAC;QACL,UAAU;QACV,SAAS;QACT,cAAc,EAAE,SAAS;QACzB,aAAa,EAAE,QAAQ;QACvB,gBAAgB,EAAE,WAAW;QAC7B,YAAY;QACZ,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;QAC9C,iBAAiB;QACjB,YAAY;KACb,CAAC,EACF,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,iBAAiB,CAAC,CACnE,CAAA;IAED,wDAAwD;IACxD,eAAe,CAAC,GAAG,EAAE;QACnB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,eAAe,CAAC,KAAK,CAAC,CAAA;QACxB,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEX,sEAAsE;IACtE,MAAM,sBAAsB,GAAG,CAAC,IAAY,EAAE,EAAE;QAC9C,IAAI,CAAC,OAAO;YAAE,OAAM;QAEpB,sFAAsF;QACtF,SAAS,CAAC,GAAG,EAAE;YACb,kBAAkB,CAAC,IAAI,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;QACF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC;aACxD,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC;aAC/D,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;QAE9C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACjC,SAAS,CAAC,GAAG,EAAE;gBACb,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YAC7B,CAAC,CAAC,CAAA;YACF,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACxB,CAAC;QAED,IAAI,kBAAkB,EAAE,CAAC;YACvB,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,kBAAkB,CAAC,OAAO,EAAE,CAAC;oBAC/B,YAAY,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;gBAC1C,CAAC;gBACD,kBAAkB,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC3C,kBAAkB,CAAC,IAAI,CAAC,CAAA;gBAC1B,CAAC,EAAE,GAAG,CAAC,CAAA;YACT,CAAC;iBAAM,CAAC;gBACN,kBAAkB,CAAC,IAAI,CAAC,CAAA;YAC1B,CAAC;QACH,CAAC;IACH,CAAC,CAAA;IAED,MAAM,IAAI,GAAG,CAAC,SAAiB,EAAE,EAAE;QACjC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC;aACxD,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC;aAC/D,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;QAE9C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAE9B,IAAI,mBAAmB,GAAG,KAAK,CAAC,SAAS,CACvC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,CAClC,CAAA;QACD,IAAI,mBAAmB,KAAK,CAAC,CAAC,EAAE,CAAC;YAC/B,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACb,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;gBAC3B,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YACxB,CAAC;YACD,OAAM;QACR,CAAC;QAED,IAAI,gBAAgB,GAAG,mBAAmB,GAAG,SAAS,CAAA;QACtD,IAAI,gBAAgB,GAAG,CAAC;YAAE,gBAAgB,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;QAC7D,IAAI,gBAAgB,IAAI,KAAK,CAAC,MAAM;YAAE,gBAAgB,GAAG,CAAC,CAAA;QAE1D,MAAM,QAAQ,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAA;QACxC,IAAI,QAAQ,EAAE,CAAC;YACb,SAAS,CAAC,GAAG,EAAE;gBACb,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;YAC7B,CAAC,CAAC,CAAA;YACF,YAAY,CAAC,QAAQ,CAAC,CAAA;YACtB,IAAI,iBAAiB,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACxC,iBAAiB,CAAE,QAAQ,CAAC,KAAgC,CAAC,KAAK,CAAC,CAAA;YACrE,CAAC;QACH,CAAC;IACH,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,CAAC,SAAiB,EAAE,EAAE;QACvC,eAAe,CAAC,SAAS,CAAC,CAAA;QAC1B,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,SAAS,CAAC,CAAA;QACrB,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,yDAAyD;YACzD,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAA;QACzC,CAAC;IACH,CAAC,CAAA;IAED,kBAAkB;IAClB,MAAM,OAAO,GAAG,YAAY,EAAE,CAAA;IAE9B,6BAA6B;IAC7B,WAAW,CAAC,CAAC,GAAG,EAAE,EAAE;QAClB,IAAI,CAAC,OAAO;YAAE,OAAM;QAEpB,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACV,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACxB,IAAI,CAAC,CAAC,CAAC,CAAA;QACT,CAAC;QACD,mCAAmC;QACnC,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACrC,IAAI,CAAC,CAAC,CAAC,CAAA;QACT,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACpC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACV,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC;iBACxD,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;iBACxC,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;YAE9C,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAA;YACjE,IAAI,WAAW,EAAE,KAAK,EAAE,CAAC;gBACvB,UAAU,CAAE,WAAW,CAAC,KAAgC,CAAC,KAAK,CAAC,CAAA;YACjE,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,yEAAyE;IACzE,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CACL,KAAC,2BAA2B,IAAC,KAAK,EAAE,kBAAkB,YACpD,KAAC,eAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,YAC1C,QAAQ,GACgB,GACC,CAC/B,CAAA;IACH,CAAC;IAED,OAAO,CACL,KAAC,2BAA2B,IAAC,KAAK,EAAE,kBAAkB,YACpD,KAAC,eAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,YAC3C,0BACE,eAAK,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,aAC7C,eAAK,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,aAC7C,eACE,KAAK,EAAE;4CACL,aAAa,EAAE,KAAK;4CACpB,cAAc,EAAE,eAAe;yCAChC,aAED,eAAM,EAAE,EAAE,KAAK,CAAC,SAAS,YAAG,OAAO,GAAQ,EAC3C,eAAM,EAAE,EAAE,KAAK,CAAC,SAAS,oBAAY,IACjC,EACN,eAAK,KAAK,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,aACnE,eAAM,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,OAAO,mBAAc,EACpD,mBACE,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,CAAC,EACT,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAC,MAAM,EACf,WAAW,EAAE;oDACX,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE;oDACpC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE;iDACvC,EACD,eAAe,EAAE,GAAG,EAAE;oDACpB,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,EAAE,SAAS,IAAI,EAAE,CAAA;oDAC/C,sBAAsB,CAAC,KAAK,CAAC,CAAA;gDAC/B,CAAC,EACD,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,EAChB,YAAY,EAAC,EAAE,EACf,sBAAsB,EAAE,KAAK,CAAC,eAAe,EAC7C,WAAW,EAAE,KAAK,CAAC,OAAO,EAC1B,gBAAgB,EAAE,KAAK,CAAC,SAAS,GACjC,IACE,IACF,EACN,KAAC,SAAS,IACR,GAAG,EAAE,YAAY,EACjB,OAAO,EAAE,KAAK,EACd,QAAQ,EAAE,CAAC,EACX,UAAU,EAAE,CAAC,EACb,KAAK,EAAE;oCACL,WAAW,EAAE;wCACX,eAAe,EAAE,SAAS;wCAC1B,MAAM,EAAE,CAAC,EAAE,uEAAuE;qCACnF;oCACD,gBAAgB,EAAE;wCAEhB,UAAU,EAAE,KAAK;qCAElB;iCACF,YAGA,QAAQ,GACC,IACR,EACN,eACE,MAAM,EAAE,KAAK,EACb,KAAK,EAAE;4BACL,YAAY,EAAE,CAAC;4BACf,WAAW,EAAE,CAAC;4BACd,aAAa,EAAE,CAAC;4BAChB,UAAU,EAAE,CAAC;4BACb,aAAa,EAAE,KAAK;yBACrB,aAED,eAAM,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,cAAc,CAAC,IAAI,uBAE9C,EACP,eAAM,EAAE,EAAE,KAAK,CAAC,SAAS,wBAAgB,EACzC,gBAAM,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,cAAc,CAAC,IAAI,aAClD,KAAK,oBACD,EACP,eAAM,EAAE,EAAE,KAAK,CAAC,SAAS,0BAAkB,IACvC,IACF,GACmB,GACC,CAC/B,CAAA;AACH,CAAC,CAAA;AAED,SAAS,UAAU,CAAC,KAUnB;IACC,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IACxB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEjD,OAAO,CACL,eACE,GAAG,EAAE,KAAK,CAAC,UAAU,EACrB,KAAK,EAAE;YACL,aAAa,EAAE,KAAK;YACpB,eAAe,EAAE,KAAK,CAAC,MAAM;gBAC3B,CAAC,CAAC,KAAK,CAAC,OAAO;gBACf,CAAC,CAAC,SAAS;oBACT,CAAC,CAAC,KAAK,CAAC,eAAe;oBACvB,CAAC,CAAC,SAAS;YACf,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,YAAY,EAAE,CAAC;YACf,cAAc,EAAE,eAAe;SAChC,EACD,MAAM,EAAE,KAAK,EACb,WAAW,EAAE,GAAG,EAAE;YAChB,YAAY,CAAC,IAAI,CAAC,CAAA;YAClB,IAAI,KAAK,CAAC,WAAW;gBAAE,KAAK,CAAC,WAAW,EAAE,CAAA;QAC5C,CAAC,EACD,UAAU,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EACrC,WAAW,EAAE,KAAK,CAAC,WAAW,aAE9B,eAAK,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,aACjC,KAAK,CAAC,MAAM,IAAI,CACf,gBAAM,EAAE,EAAE,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,uBACzC,EAAE,IACC,CACR,EACA,KAAK,CAAC,IAAI,IAAI,CACb,gBACE,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAChD,UAAU,EAAE,KAAK,aAEhB,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,IACzB,CACR,EACD,eACE,EAAE,EACA,KAAK,CAAC,MAAM;4BACV,CAAC,CAAC,KAAK,CAAC,UAAU;4BAClB,CAAC,CAAC,KAAK,CAAC,KAAK;gCACX,CAAC,CAAC,KAAK,CAAC,KAAK;gCACb,CAAC,CAAC,KAAK,CAAC,OAAO;oCACb,CAAC,CAAC,KAAK,CAAC,OAAO;oCACf,CAAC,CAAC,KAAK,CAAC,IAAI,EAEpB,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAC1D,UAAU,EAAE,KAAK,YAEhB,KAAK,CAAC,KAAK,GACP,IACH,EACL,KAAK,CAAC,KAAK,IAAI,CACd,eACE,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EACrD,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAC1D,UAAU,EAAE,KAAK,YAEhB,KAAK,CAAC,KAAK,GACP,CACR,IACG,CACP,CAAA;AACH,CAAC;AAED,MAAM,YAAY,GAAsC,CAAC,KAAK,EAAE,EAAE;IAChE,MAAM,OAAO,GAAG,UAAU,CAAC,eAAe,CAAC,CAAA;IAC3C,MAAM,UAAU,GAAG,MAAM,CAAuC,IAAI,CAAC,CAAA;IACrE,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IACpC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAA;IAEzB,0EAA0E;IAC1E,IAAI,WAAW;QAAE,OAAO,IAAI,CAAA;IAE5B,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,GAC1E,OAAO,CAAA;IAET,wBAAwB;IACxB,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE;QACvB,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;YAAE,OAAO,KAAK,CAAA;QAClD,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAA;QAC9C,MAAM,cAAc,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;aAC5D,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,GAAG,CAAC;aACT,WAAW,EAAE,CAAA;QAChB,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACzC,CAAC,CAAC,EAAE,CAAA;IAEJ,2DAA2D;IAC3D,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAA;IACxC,MAAM,EAAE,KAAK,EAAE,GAAG,yBAAyB,CAAC;QAC1C,KAAK;QACL,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,UAAU;QAClB,UAAU,EAAE,UAAU,CAAC,OAAO;KAC/B,CAAC,CAAA;IAEF,yBAAyB;IACzB,IAAI,UAAU;QAAE,OAAO,IAAI,CAAA;IAE3B,mDAAmD;IACnD,MAAM,QAAQ,GAAG,KAAK,KAAK,aAAa,IAAI,KAAK,KAAK,CAAC,CAAC,CAAA;IACxD,MAAM,SAAS,GAAG,KAAK,KAAK,YAAY,CAAA;IAExC,sBAAsB;IACtB,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,iCAAiC;QACjC,IACE,OAAO,CAAC,gBAAgB;YACxB,OAAO,CAAC,aAAa,KAAK,KAAK;YAC/B,KAAK,KAAK,CAAC,CAAC,EACZ,CAAC;YACD,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;YAC/B,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBAC9B,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;YAClC,CAAC;QACH,CAAC;IACH,CAAC,CAAA;IAED,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,6BAA6B;QAC7B,IAAI,OAAO,CAAC,QAAQ,IAAI,KAAK,EAAE,CAAC;YAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACzB,CAAC;IACH,CAAC,CAAA;IAED,2BAA2B;IAC3B,OAAO,CACL,KAAC,UAAU,IACT,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,SAAS,EAClB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,WAAW,EAAE,eAAe,EAC5B,WAAW,EAAE,eAAe,EAC5B,UAAU,EAAE,UAAU,GACtB,CACH,CAAA;AACH,CAAC,CAAA;AAED,MAAM,eAAe,GAAyC,CAAC,KAAK,EAAE,EAAE;IACtE,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IACxB,MAAM,aAAa,GAAG,UAAU,CAAC,eAAe,CAAC,CAAA;IACjD,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IACpC,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAA;IAE/B,wCAAwC;IACxC,MAAM,mBAAmB,GAAG,OAAO,CACjC,GAAG,EAAE,CAAC,CAAC;QACL,GAAG,aAAa;QAChB,cAAc,EAAE,KAAK,CAAC,KAAK;KAC5B,CAAC,EACF,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,CAC7B,CAAA;IAED,gEAAgE;IAChE,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CACL,KAAC,eAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,mBAAmB,YACjD,KAAK,CAAC,QAAQ,GACU,CAC5B,CAAA;IACH,CAAC;IAED,uEAAuE;IACvE,8EAA8E;IAC9E,MAAM,SAAS,GACb,aAAa,CAAC,SAAS,IAAI,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAA;IAEvE,OAAO,CACL,8BAEG,KAAK,CAAC,KAAK,IAAI,CAAC,SAAS,IAAI,CAC5B,cAAK,KAAK,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,YAC3C,eAAM,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,cAAc,CAAC,IAAI,YACpD,KAAK,CAAC,KAAK,GACP,GACH,CACP,EAED,KAAC,eAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,mBAAmB,YACjD,KAAK,CAAC,QAAQ,GACU,IAC1B,CACJ,CAAA;AACH,CAAC,CAAA;AAED,QAAQ,CAAC,IAAI,GAAG,YAAY,CAAA;AAC5B,QAAQ,CAAC,OAAO,GAAG,eAAe,CAAA;AAElC,eAAe,QAAQ,CAAA;AACvB,OAAO,EAAE,QAAQ,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"footer.d.ts","sourceRoot":"","sources":["../../src/components/footer.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAuB,MAAM,OAAO,CAAA;AAmB7D,UAAU,WAAW;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAgKD,wBAAgB,MAAM,CAAC,EACrB,QAAQ,EACR,WAAe,EACf,YAAgB,EAChB,UAAc,EACd,aAAa,EACb,SAAa,EACb,aAAqB,GACtB,EAAE,WAAW,GAAG,GAAG,CA6CnB"}
1
+ {"version":3,"file":"footer.d.ts","sourceRoot":"","sources":["../../src/components/footer.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAuB,MAAM,OAAO,CAAA;AAe7D,UAAU,WAAW;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AA4LD,wBAAgB,MAAM,CAAC,EACrB,QAAQ,EACR,WAAe,EACf,YAAgB,EAChB,UAAc,EACd,aAAa,EACb,SAAa,EACb,aAAqB,GACtB,EAAE,WAAW,GAAG,GAAG,CA8CnB"}
@@ -3,17 +3,17 @@ import { useState, useEffect } from 'react';
3
3
  import { TextAttributes } from '@opentui/core';
4
4
  import { useTerminalDimensions, useKeyboard } from '@opentui/react';
5
5
  import { colord } from 'colord';
6
- import { Theme } from 'termcast/src/theme';
6
+ import { useTheme } from 'termcast/src/theme';
7
7
  import { openInBrowser } from 'termcast/src/action-utils';
8
+ import { termcastMaxContentWidth } from 'termcast/src/utils';
8
9
  import { useStore, toastPrimaryActionKey, toastSecondaryActionKey, } from 'termcast/src/state';
9
10
  import { useIsInFocus } from 'termcast/src/internal/focus-context';
10
- /** Returns white or black foreground color based on background lightness */
11
- function getFgForBg(bgColor) {
12
- return colord(bgColor).isLight() ? '#000000' : '#ffffff';
13
- }
14
11
  const MIN_WIDTH_FOR_POWERED_BY = 75;
12
+ const TOAST_MARGIN = 2;
15
13
  function ToastInline({ toast }) {
14
+ const theme = useTheme();
16
15
  const inFocus = useIsInFocus();
16
+ const { width: terminalWidth } = useTerminalDimensions();
17
17
  const [animationFrame, setAnimationFrame] = useState(0);
18
18
  // Keyboard handling for toast actions
19
19
  useKeyboard((evt) => {
@@ -67,26 +67,27 @@ function ToastInline({ toast }) {
67
67
  const getIconColor = () => {
68
68
  switch (toast.style) {
69
69
  case 'SUCCESS':
70
- return Theme.success;
70
+ return theme.success;
71
71
  case 'FAILURE':
72
- return Theme.error;
72
+ return theme.error;
73
73
  case 'ANIMATED':
74
- return Theme.primary;
74
+ return theme.primary;
75
75
  default:
76
- return Theme.success;
76
+ return theme.success;
77
77
  }
78
78
  };
79
- const primaryBg = Theme.primary;
80
- const primaryFg = getFgForBg(primaryBg);
81
- const keysBg = colord(primaryBg).darken(0.06).toHex();
82
- const hasKeys = !!toast.primaryAction?.title || !!toast.secondaryAction?.title;
83
- return (_jsxs("box", { flexDirection: 'row', marginLeft: -3, marginRight: -3, flexGrow: 1, overflow: 'hidden', children: [_jsxs("box", { flexDirection: 'row', flexShrink: 0, backgroundColor: colord(primaryBg).lighten(0.1).toHex(), paddingLeft: 3, paddingRight: 1, children: [_jsxs("text", { flexShrink: 0, fg: getIconColor(), children: [getIcon(), ' '] }), _jsx("text", { flexShrink: 0, fg: primaryFg, attributes: TextAttributes.BOLD, children: toast.title })] }), _jsx("box", { flexGrow: 1, backgroundColor: keysBg, paddingLeft: 1, paddingRight: 1, flexDirection: 'row', overflow: 'hidden', children: _jsx("text", { fg: primaryFg, wrapMode: 'none', children: toast.message || '' }) }), _jsxs("box", { backgroundColor: keysBg, paddingLeft: 1, paddingRight: 3, gap: 1, flexDirection: 'row', flexShrink: 0, children: [toast.primaryAction?.title && (_jsxs("box", { flexShrink: 0, flexDirection: 'row', onMouseDown: () => {
79
+ const primaryColor = theme.primary;
80
+ const mutedColor = colord(primaryColor).darken(0.06).toHex();
81
+ const maxToastWidth = Math.min(terminalWidth, termcastMaxContentWidth);
82
+ const toastWidth = maxToastWidth - TOAST_MARGIN * 2;
83
+ return (_jsxs("box", { flexDirection: 'row', width: toastWidth, marginLeft: -TOAST_MARGIN, marginRight: -TOAST_MARGIN, flexGrow: 0, flexShrink: 0, overflow: 'hidden', height: 1, children: [_jsxs("box", { flexDirection: 'row', flexShrink: 0, paddingRight: 1, overflow: 'hidden', height: 1, children: [_jsxs("text", { flexShrink: 0, fg: getIconColor(), wrapMode: 'none', children: [getIcon(), ' '] }), _jsx("text", { flexShrink: 1, fg: primaryColor, attributes: TextAttributes.BOLD, wrapMode: 'none', children: toast.title })] }), _jsx("box", { flexGrow: 1, flexShrink: 1, paddingLeft: 1, paddingRight: 1, flexDirection: 'row', overflow: 'hidden', height: 1, children: _jsx("text", { fg: mutedColor, flexShrink: 1, wrapMode: 'none', children: toast.message || '' }) }), _jsxs("box", { paddingLeft: 1, gap: 1, flexDirection: 'row', flexShrink: 0, overflow: 'hidden', height: 1, children: [toast.primaryAction?.title && (_jsxs("box", { flexShrink: 0, flexDirection: 'row', onMouseDown: () => {
84
84
  toast.primaryAction?.onAction();
85
- }, children: [_jsx("text", { fg: primaryFg, attributes: TextAttributes.BOLD, children: toast.primaryAction.title }), _jsx("text", { fg: primaryFg, children: " ctrl t" })] })), toast.secondaryAction?.title && (_jsxs("box", { flexShrink: 0, flexDirection: 'row', onMouseDown: () => {
85
+ }, children: [_jsx("text", { fg: mutedColor, attributes: TextAttributes.BOLD, wrapMode: 'none', children: toast.primaryAction.title }), _jsxs("text", { fg: mutedColor, wrapMode: 'none', children: [' ', "ctrl t"] })] })), toast.secondaryAction?.title && (_jsxs("box", { flexShrink: 0, flexDirection: 'row', onMouseDown: () => {
86
86
  toast.secondaryAction?.onAction();
87
- }, children: [_jsx("text", { fg: primaryFg, attributes: TextAttributes.BOLD, children: toast.secondaryAction.title }), _jsx("text", { fg: primaryFg, children: " ctrl g" })] }))] })] }));
87
+ }, children: [_jsx("text", { fg: mutedColor, attributes: TextAttributes.BOLD, wrapMode: 'none', children: toast.secondaryAction.title }), _jsxs("text", { fg: mutedColor, wrapMode: 'none', children: [' ', "ctrl g"] })] }))] })] }));
88
88
  }
89
89
  export function Footer({ children, paddingLeft = 1, paddingRight = 1, paddingTop = 1, paddingBottom, marginTop = 1, hidePoweredBy = false, }) {
90
+ const theme = useTheme();
90
91
  const { width } = useTerminalDimensions();
91
92
  const showPoweredBy = !hidePoweredBy && width >= MIN_WIDTH_FOR_POWERED_BY;
92
93
  const toast = useStore((state) => state.toast);
@@ -99,8 +100,8 @@ export function Footer({ children, paddingLeft = 1, paddingRight = 1, paddingTop
99
100
  flexShrink: 0,
100
101
  flexDirection: 'row',
101
102
  justifyContent: 'space-between',
102
- }, children: toast ? (_jsx(ToastInline, { toast: toast })) : (_jsxs(_Fragment, { children: [children, showPoweredBy && (_jsxs("box", { flexDirection: 'row', gap: 1, children: [_jsx("text", { flexShrink: 0, fg: Theme.textMuted, children: "powered by" }), _jsx("text", { flexShrink: 0, onMouseDown: () => {
103
+ }, children: toast ? (_jsx(ToastInline, { toast: toast })) : (_jsxs(_Fragment, { children: [children, showPoweredBy && (_jsxs("box", { flexDirection: 'row', gap: 1, children: [_jsx("text", { flexShrink: 0, fg: theme.textMuted, children: "powered by" }), _jsx("text", { flexShrink: 0, onMouseDown: () => {
103
104
  openInBrowser('https://termcast.app');
104
- }, fg: Theme.textMuted, attributes: TextAttributes.BOLD, children: "termcast" })] }))] })) }));
105
+ }, fg: theme.textMuted, attributes: TextAttributes.BOLD, children: "termcast" })] }))] })) }));
105
106
  }
106
107
  //# sourceMappingURL=footer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"footer.js","sourceRoot":"","sources":["../../src/components/footer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"footer.js","sourceRoot":"","sources":["../../src/components/footer.tsx"],"names":[],"mappings":"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"}