Coverage for src / lexigram / ui / htmx / __init__.py: 100%

8 statements  

« prev     ^ index     » next       coverage.py v7.13.5, created at 2026-08-10 04:11 +0800

1"""HTMX helpers for Lexigram UI — consolidated re-exports.""" 

2 

3from __future__ import annotations 

4 

5import sys as _sys 

6 

7from lexigram.ui.htmx.action_response import HtmxActionResponse, ToastData, ToastType 

8from lexigram.ui.htmx.attrs import ( 

9 hx_delete, 

10 hx_get, 

11 hx_headers, 

12 hx_patch, 

13 hx_post, 

14 hx_put, 

15 hx_swap, 

16 hx_target, 

17 hx_trigger, 

18 hx_vals, 

19) 

20from lexigram.ui.htmx.helpers import ( 

21 hx_boost, 

22 hx_debounce, 

23 hx_lazy_load, 

24 hx_morph, 

25 hx_optimistic, 

26 hx_polling, 

27 hx_prefetch, 

28 hx_preserve, 

29 hx_sse, 

30 hx_swap_oob, 

31 hx_websocket, 

32) 

33from lexigram.ui.htmx.sse import SSE, SSEEventType, SSEMessage, SSEStream 

34 

35__all__ = [ 

36 "HtmxActionResponse", 

37 "SSE", 

38 "SSEEventType", 

39 "SSEMessage", 

40 "SSEStream", 

41 "ToastData", 

42 "ToastType", 

43 "hx_boost", 

44 "hx_debounce", 

45 "hx_delete", 

46 "hx_get", 

47 "hx_headers", 

48 "hx_lazy_load", 

49 "hx_morph", 

50 "hx_optimistic", 

51 "hx_patch", 

52 "hx_polling", 

53 "hx_post", 

54 "hx_prefetch", 

55 "hx_preserve", 

56 "hx_put", 

57 "hx_sse", 

58 "hx_swap", 

59 "hx_swap_oob", 

60 "hx_target", 

61 "hx_trigger", 

62 "hx_vals", 

63 "hx_websocket", 

64] 

65 

66# Expose the module as itself so public-API consumers can resolve `htmx`. 

67htmx = _sys.modules[__name__]