L iddlmZddlmZmZmZmZddlmZddl m Z ddl m Z ddl mZer ddlmZddlmZe eZGd d ed Z d ddZy )) annotations) TYPE_CHECKINGAny TypedDictcast)Self)StreamlitAPIException) get_logger)get_script_run_ctx) SessionState)WidgetValuePresenterc"eZdZUded<ded<y)_TriggerPayloadstreventobjectvalueN)__name__ __module__ __qualname____annotations__j/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/streamlit/components/v2/presentation.pyrr!s J MrrF)totalNcdfd }|S)aReturn a presenter that merges trigger events into CCv2 state. This function returns a callable that takes a component's persistent state value and the current `SessionState` instance, and returns the user-visible value that should appear in `st.session_state`. The presenter is side-effect-free and does not mutate stored state or callback behavior. It is intended to be attached to the persistent state widget via the generic `presenter` hook. Parameters ---------- aggregator_id The ID of the trigger aggregator widget that holds the event payloads. Returns ------- WidgetValuePresenter A callable that merges the trigger event values into the component's base state for presentation in `st.session_state`. cD d fd d}t|tr td|}|. jjj }||j dk7r|S j}|d}nZt|tr*|Dcgc]}t|tr td| }}n t|trtd|g}nd}i}|=|D]8}|j d} t| ts%|j d|| <:t|} | j|G fddtttf} | | S|S#t$rd}YwxYwcc}w#t$r$} tjd | | |cYd} ~ Sd} ~ wwxYw) Nc t}|PMjj}|jvs||jvrt d|d|d|dyyy)Nz`st.session_state..z3` cannot be modified after the component with key `z` is instantiated.)r _key_id_mapperget_key_from_idwidget_ids_this_runform_ids_this_runr )kctxuser_key component_id session_states r_check_modificationzLmake_bidi_component_presenter.._present.._check_modificationCs$&C<#;(77GG U C$;$;;3#8#88/,XJas;&&.Z/AC9 $<rdict[str, object]json_trigger_valuerrrcdeZdZdfd ZddZd fd Zd dZd fd Zd fd ZxZ S) Fmake_bidi_component_presenter.._present.._WriteThroughc$t||yN)super__init__)selfdata __class__s rr1zOmake_bidi_component_presenter.._present.._WriteThrough.__init__s(.rc$|j|Sr/)get)r2names r __getattr__zRmake_bidi_component_presenter.._present.._WriteThrough.__getattr__s#xx~-rcR|jdrt| ||S|||<y)N)___) startswithr0 __setattr__)r2r7rr4s rr=zRmake_bidi_component_presenter.._present.._WriteThrough.__setattr__s-??;7#(7#6tU#CC%*T #rc"||t|<|Sr/)id)r2memos r __deepcopy__zSmake_bidi_component_presenter.._present.._WriteThrough.__deepcopy__s)-RX# rc||vryt||| }&|jjt |yy#t $r }t jd|Yd}~yd}~wwxYw)Nz'Failed to persist CCv2 state update: %s)r0 __setitem___new_widget_stateset_from_valuedict Exception_LOGGERdebug) r2r$vsser4r)allowed_state_keysr'r(s rrCzRmake_bidi_component_presenter.._present.._WriteThrough.__setitem__s+A./: !); ;#+Aq1 X!.B+7 " 4 4 C C$0$t*!" 8 )X#MM*SUVWWXs)A A6A11A6c|t|| }&|jjt |yy#t $r }t jd|Yd}~yd}~wwxYw)Nz)Failed to persist CCv2 state deletion: %s)r0 __delitem__rDrErFrGrHrI)r2r$rKrLr4r)r'r(s rrOzRmake_bidi_component_presenter.._present.._WriteThrough.__delitem__sr+A.+A. !.B+7 " 4 4 C C$0$t*!" 8 )#MM KQs)A A.A))A.)r3r*returnNone)r7rrPr)r7rrrrPrQ)r@zdict[int, Any]rPr)r$rrJrrPrQr$rrPrQ) rrrr1r8r=rArCrO __classcell__)r4r)rMr'r(s@r _WriteThroughr-s-/.$ $ XX.  rrTz7Failed to merge trigger events into component state: %s)exc_inforR) isinstancerFrrDwidget_metadatar6 value_typeKeyErrorlistrupdaterrGrHrI) base_valuer(base_mapagg_metaagg_payloads_obj payloads_listp event_to_valpayloadevflatrTrLr) aggregator_idrMr's ` @r_presentz/make_bidi_component_presenter.._presentBs .2 j$ '/R'R%%,'4'F'F}'U$ $+$(M 0$7"2%%a..2%M%  0$7%)*;=M%N$OM$(M24  ,#0D$[[1%b#./6{{7/CL,D +/|*< H%66Df$56p%T**I ,'+$,%f " M "! "sU7E2&E5E2#E-1A E2?AE2 E*'E2)E**E22 F;FFF)r\rr(r rPrr)rfr'rMrgs``` rmake_bidi_component_presenterrh&s8BH Or)NN)rfrr'z str | NonerMzset[str] | NonerPr ) __future__rtypingrrrrtyping_extensionsrstreamlit.errorsr streamlit.loggerr streamlit.runtime.scriptrunnerr streamlit.runtime.stater streamlit.runtime.state.commonr rrHrrhrrrrqsu#66"2'=4C X iu $*.```(` `r