\DocumentMetadata{}
\input regression-test.tex
\documentclass{ltx-talk}
\usepackage{ltxtalk-theme}
\setltxtalkcolors{
  primary={model=HTML,value=2B3A67},
  structure={model=HTML,value=123456},
  alert={model=HTML,value=A00000},
  example={model=HTML,value=006000}
}
\styleltxtalkblock{block}{rule-color=structure,rule-thickness=.4pt,padding=2pt}
\styleltxtalkblock{alertblock}{before=\smallskip,after=\smallskip}
\setltxtalkitemize{
  level-1={I},level-2={II},level-3={III},level-4={IV}
}
% \setltxtalkcolors is a full redeclaration (see __ltxtalk_colors_apply:n
% in lttheme.dtx): slots not given fall back through osgstyler's own
% chain (secondary etc. to primary) rather than keeping their previous
% value. An incomplete resource for the mandatory primary slot is
% therefore fatal to the whole redeclaration, not just to primary --
% osgstyler's own missing-primary-color/incomplete-color-resource
% messages report it. Attempted before \START so the resulting error
% message does not become part of the diffed log; what the check below
% verifies is that ltxtalk-primary keeps the value from the last
% *successful* declaration above, since this failed one changes nothing.
\setltxtalkcolors{primary={model=RGB}}
\begin{document}
\begin{frame}{Inner theme}
  \begin{block}{Block}Normal content.\end{block}
  \begin{alertblock}{Alert}Alert content.\end{alertblock}
  \begin{exampleblock}{Example}Example content.\end{exampleblock}
  \begin{itemize}
    \item One
    \begin{itemize}
      \item Two
      \begin{itemize}
        \item Three
        \begin{itemize}\item Four\end{itemize}
      \end{itemize}
    \end{itemize}
  \end{itemize}
\end{frame}
\START
\ExplSyntaxOn
\cs_if_exist:NT \alertblock {\TYPE{alertblock:passed}}
\cs_if_exist:NT \exampleblock {\TYPE{exampleblock:passed}}
% \setltxtalkitemize now delegates to osgstyler's enumitem-backed list
% palette (\labelitemi is no longer touched at all, so checking it
% directly would test a mechanism that is no longer in use); the
% stored, per-level \setlist option is what osgstyler-block-style tests
% elsewhere in this bundle already check for comparable internals.
\str_if_eq:eeT
  { \prop_item:Nn \g__osgstyler_list_palette_prop { ltxtalk-itemize/itemize/1 } }
  { label=I }
  {\TYPE{itemize-level-1:passed}}
\str_if_eq:eeT
  { \prop_item:Nn \g__osgstyler_list_palette_prop { ltxtalk-itemize/itemize/4 } }
  { label=IV }
  {\TYPE{itemize-level-4:passed}}
\color_export:nnN { ltxtalk-primary } { HTML } \l_tmpa_tl
\TYPE{primary-after-incomplete-attempt=\l_tmpa_tl}
\ExplSyntaxOff
\END
\end{document}
