{"version":3,"file":"index.mjs","sources":["../../src/components/default/layout/CrudCreatePage.tsx","../../src/components/default/layout/CrudEditPage.tsx","../../src/components/default/layout/CrudListPage.tsx","../../src/components/default/layout/CrudShowPage.tsx","../../src/components/default/layout/PageComponent.tsx","../../src/components/default/layout/SectionInfo.tsx","../../src/components/default/layout/ShowDetails.tsx","../../src/components/default/layout/ShowNotFound.tsx"],"sourcesContent":["import React from \"react\";\nimport { GenericHeadingMenubar, Header, type MenuItemConfig } from \"@/components/default/base\";\nimport { LayoutActions, PageComponent } from \"@/components/default/layout\";\nimport { CreateAndUpdateSkeleton } from \"@/components/default/skeleton-component\";\nimport { Button } from \"@/components/ui/button\";\n\nexport interface CrudCreatePageProps {\n\t/** Propriedades de cabeçalho e metadados da página */\n\tmetadata: {\n\t\t/** Título da página (tag `<title>`) */\n\t\ttitle: string;\n\t\t/** Título principal exibido no cabeçalho (Header) da página */\n\t\theaderTitle: string;\n\t\t/** Descrição exibida abaixo do título no cabeçalho */\n\t\theaderDescription: string;\n\t};\n\t/** Ações e controles da página (ex: barra de ferramentas) */\n\tactions: {\n\t\t/** Indica se há uma ação pendente (ex: salvando dados), desabilitando botões */\n\t\tisPendingAction?: boolean;\n\t\t/** Referência para o formulário principal, usado para submissão via botão de ação do layout */\n\t\tformRef: React.RefObject<HTMLFormElement | null>;\n\t\t/** Rótulo personalizado para a ação principal (opcional) */\n\t\tactionLabel?: string;\n\t\t/** Elementos React adicionais para renderizar na área de ações (botões extras) */\n\t\tactions?: React.ReactNode;\n\t};\n\t/** Conteúdo principal da página (títulos, formulário, abas, etc.) */\n\tcontent: {\n\t\t/** Título exibido no corpo da página (acima do formulário/conteúdo) */\n\t\tpageTitle: string;\n\t\t/** Descrição exibida no corpo da página */\n\t\tpageDescription: string;\n\t\t/** Elementos de abas (tabs) a serem exibidos */\n\t\ttabs?: React.ReactNode;\n\t\t/** Informações extras a serem exibidas no corpo da página */\n\t\textraInfo?: React.ReactNode;\n\t\t/** O componente de formulário em si a ser renderizado */\n\t\tform: React.ReactNode;\n\t\t/** Elementos filhos adicionais a serem renderizados */\n\t\tchildren?: React.ReactNode;\n\t\t/** Classes CSS adicionais para o container principal da página */\n\t\tpageClassName?: string;\n\t};\n\t/** Configurações do menu de navegação e breadcrumbs (opcional) */\n\tmenu?: {\n\t\t/** Caminho (URL) atual para destacar o item ativo no menu */\n\t\tcurrentPath: string;\n\t\t/** Lista de itens de configuração do menu */\n\t\tmenuItems: MenuItemConfig[];\n\t\t/** Função de callback acionada ao navegar pelo menu */\n\t\tonNavigate: (path: string) => void;\n\t};\n\t/** Indica se a página está carregando os dados iniciais (exibe skeleton) */\n\tisLoading?: boolean;\n}\n\nexport function CrudCreatePage({\n\tmetadata,\n\tactions,\n\tcontent,\n\tmenu,\n\tisLoading,\n}: CrudCreatePageProps) {\n\tconst submitForm = () => {\n\t\tif (actions.formRef.current) {\n\t\t\tactions.formRef.current.requestSubmit();\n\t\t}\n\t};\n\n\tlet pageContent: React.ReactNode;\n\tif (isLoading) {\n\t\tpageContent = <CreateAndUpdateSkeleton />;\n\t} else {\n\t\tpageContent = (\n\t\t\t<PageComponent\n\t\t\t\ttitle={content.pageTitle}\n\t\t\t\tdescription={content.pageDescription}\n\t\t\t\ttabs={content.tabs}\n\t\t\t\textraInfo={content.extraInfo}\n\t\t\t\tform={content.form}\n\t\t\t\tclassName={content.pageClassName}\n\t\t\t>\n\t\t\t\t{content.children}\n\t\t\t</PageComponent>\n\t\t);\n\t}\n\n\tconst renderActions = (\n\t\t<>\n\t\t\t{actions.actions ?? (\n\t\t\t\t<Button isAction type=\"submit\" onClick={submitForm} disabled={actions.isPendingAction}>\n\t\t\t\t\t{actions.actionLabel ?? \"Criar\"}\n\t\t\t\t</Button>\n\t\t\t)}\n\t\t</>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<title>{metadata.title}</title>\n\t\t\t<Header title={metadata.headerTitle} description={metadata.headerDescription} />\n\t\t\t{menu?.menuItems && menu?.currentPath && menu?.onNavigate ? (\n\t\t\t\t<GenericHeadingMenubar\n\t\t\t\t\tcurrentPath={menu.currentPath}\n\t\t\t\t\tmenuItems={menu.menuItems}\n\t\t\t\t\tonNavigate={menu.onNavigate}\n\t\t\t\t\tdisabled={actions.isPendingAction}\n\t\t\t\t>\n\t\t\t\t\t{renderActions}\n\t\t\t\t</GenericHeadingMenubar>\n\t\t\t) : (\n\t\t\t\t<LayoutActions className=\"flex justify-end item-center flex-wrap mt-0\">\n\t\t\t\t\t{renderActions}\n\t\t\t\t</LayoutActions>\n\t\t\t)}\n\n\t\t\t<main className=\"w-full\">{pageContent}</main>\n\t\t</>\n\t);\n}\n","import React from \"react\";\nimport {\n\tDeleteConfirmationModal,\n\tGenericHeadingMenubar,\n\tHeader,\n\ttype MenuItemConfig,\n} from \"@/components/default/base\";\nimport { LayoutActions, PageComponent, ShowNotFound } from \"@/components/default/layout\";\nimport { ButtonDelete, ButtonUpdateForm } from \"@/components/default/shared\";\nimport { CreateAndUpdateSkeleton } from \"@/components/default/skeleton-component\";\n\nexport interface CrudEditPageProps {\n\t/** Propriedades de cabeçalho e metadados da página */\n\tmetadata: {\n\t\t/** Título da página (tag `<title>`) */\n\t\ttitle: string;\n\t\t/** Título principal exibido no cabeçalho (Header) da página */\n\t\theaderTitle: string;\n\t\t/** Descrição exibida abaixo do título no cabeçalho */\n\t\theaderDescription: string;\n\t};\n\t/** Ações e controles da página (ex: salvar, excluir) */\n\tactions: {\n\t\t/** Indica se há uma ação pendente (ex: salvando ou excluindo dados), desabilitando botões */\n\t\tisPendingAction?: boolean;\n\t\t/** Referência para o formulário principal, usado para submissão via botão de ação do layout */\n\t\tformRef: React.RefObject<HTMLFormElement | null>;\n\t\t/** ID numérico da entidade atual sendo editada (se null, assume-se que não foi encontrada) */\n\t\tentityId?: number | null;\n\t\t/** Função de callback acionada ao confirmar a exclusão do registro */\n\t\tonDelete?: (id: number) => void;\n\t\t/** Título da modal de confirmação de exclusão */\n\t\ttitleModal?: string;\n\t\t/** Descrição da modal de confirmação de exclusão */\n\t\tdescriptionModal?: string;\n\t\t/** Elementos React adicionais para renderizar na área de ações (botões extras) */\n\t\tcustomActions?: React.ReactNode;\n\t};\n\t/** Conteúdo principal da página (títulos, formulário, abas, etc.) */\n\tcontent: {\n\t\t/** Título exibido no corpo da página (acima do formulário/conteúdo) */\n\t\tpageTitle: string;\n\t\t/** Descrição exibida no corpo da página */\n\t\tpageDescription: string;\n\t\t/** Elementos de abas (tabs) a serem exibidos */\n\t\ttabs?: React.ReactNode;\n\t\t/** Informações extras a serem exibidas no corpo da página */\n\t\textraInfo?: React.ReactNode;\n\t\t/** O componente de formulário em si a ser renderizado */\n\t\tform: React.ReactNode;\n\t\t/** Elementos filhos adicionais a serem renderizados */\n\t\tchildren?: React.ReactNode;\n\t\t/** Classes CSS adicionais para o wrapper principal de listagem do page content */\n\t\tpageClassName?: string;\n\t\t/** Título exibido quando o registro não é encontrado (`entityId` ausente) */\n\t\tnotFoundTitle?: string;\n\t\t/** Descrição exibida quando o registro não é encontrado (`entityId` ausente) */\n\t\tnotFoundDescription?: string;\n\t};\n\t/** Configurações do menu de navegação e breadcrumbs (opcional) */\n\tmenu?: {\n\t\t/** Caminho (URL) atual para destacar o item ativo no menu */\n\t\tcurrentPath: string;\n\t\t/** Lista de itens de configuração do menu */\n\t\tmenuItems: MenuItemConfig[];\n\t\t/** Função de callback acionada ao navegar pelo menu */\n\t\tonNavigate: (path: string) => void;\n\t};\n\t/** Indica se os dados do registro ainda estão sendo carregados (exibe skeleton caso sim) */\n\tisLoading?: boolean;\n}\n\nexport function CrudEditPage({ metadata, actions, content, menu, isLoading }: CrudEditPageProps) {\n\tconst submitForm = () => {\n\t\tif (actions.formRef.current) {\n\t\t\tactions.formRef.current.requestSubmit();\n\t\t}\n\t};\n\n\tconst isNotFound = !actions.entityId;\n\n\tlet pageContent: React.ReactNode;\n\tif (isLoading) {\n\t\tpageContent = <CreateAndUpdateSkeleton />;\n\t} else if (isNotFound) {\n\t\tpageContent = (\n\t\t\t<ShowNotFound\n\t\t\t\ttitle={content.notFoundTitle ?? \"Registro não encontrado\"}\n\t\t\t\tdescription={\n\t\t\t\t\tcontent.notFoundDescription ?? \"Não foi possível encontrar o registro solicitado.\"\n\t\t\t\t}\n\t\t\t/>\n\t\t);\n\t} else {\n\t\tpageContent = (\n\t\t\t<PageComponent\n\t\t\t\ttitle={content.pageTitle}\n\t\t\t\tdescription={content.pageDescription}\n\t\t\t\ttabs={content.tabs}\n\t\t\t\textraInfo={content.extraInfo}\n\t\t\t\tform={content.form}\n\t\t\t\tclassName={content.pageClassName}\n\t\t\t>\n\t\t\t\t{content.children}\n\t\t\t</PageComponent>\n\t\t);\n\t}\n\n\tconst renderActions = (\n\t\t<>\n\t\t\t{actions.customActions\n\t\t\t\t? actions.customActions\n\t\t\t\t: actions.entityId && (\n\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t<ButtonUpdateForm\n\t\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t\tonClick={submitForm}\n\t\t\t\t\t\t\t\tdisabled={actions.isPendingAction || !actions.entityId}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{actions.onDelete && (\n\t\t\t\t\t\t\t\t<DeleteConfirmationModal\n\t\t\t\t\t\t\t\t\ttitle={actions.titleModal ?? \"Apagar registro?\"}\n\t\t\t\t\t\t\t\t\tdescription={\n\t\t\t\t\t\t\t\t\t\tactions.descriptionModal ?? \"Tem certeza que deseja apagar este registro?\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonConfirm={() => {\n\t\t\t\t\t\t\t\t\t\tif (actions.onDelete && actions.entityId) {\n\t\t\t\t\t\t\t\t\t\t\tactions.onDelete(actions.entityId);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tdisabled={!actions.entityId || actions.isPendingAction}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ButtonDelete disabled={!actions.entityId || actions.isPendingAction} />\n\t\t\t\t\t\t\t\t</DeleteConfirmationModal>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t</>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<title>{metadata.title}</title>\n\t\t\t<Header title={metadata.headerTitle} description={metadata.headerDescription} />\n\n\t\t\t{menu?.menuItems && menu?.currentPath && menu?.onNavigate ? (\n\t\t\t\t<GenericHeadingMenubar\n\t\t\t\t\tcurrentPath={menu.currentPath}\n\t\t\t\t\tmenuItems={menu.menuItems}\n\t\t\t\t\tonNavigate={menu.onNavigate}\n\t\t\t\t\tdisabled={actions.isPendingAction}\n\t\t\t\t>\n\t\t\t\t\t{renderActions}\n\t\t\t\t</GenericHeadingMenubar>\n\t\t\t) : (\n\t\t\t\t<LayoutActions className=\"flex justify-end item-center flex-wrap mt-0\">\n\t\t\t\t\t{renderActions}\n\t\t\t\t</LayoutActions>\n\t\t\t)}\n\n\t\t\t<main className=\"w-full\">{pageContent}</main>\n\t\t</>\n\t);\n}\n","import React from \"react\";\nimport { GenericHeadingMenubar, Header, type MenuItemConfig } from \"@/components/default/base\";\nimport { LayoutActions } from \"@/components/default/layout\";\n\nexport interface CrudListPageProps {\n\t/** Propriedades de cabeçalho e metadados da página */\n\tmetadata: {\n\t\t/** Título da página web (inserido na tag `<title>`) */\n\t\tpageTitle: string;\n\t\t/** Título principal exibido no cabeçalho (Header) da aplicação */\n\t\theaderTitle: string;\n\t\t/** Descrição exibida abaixo do título no cabeçalho */\n\t\theaderDescription?: string;\n\t};\n\t/** Ações e componentes no topo da tabela / barra de ferramentas */\n\tactions: {\n\t\t/** Define se a tabela está em carregamento (desabilita navegação e ações) */\n\t\tisLoadingTable?: boolean;\n\t\t/** Botões ou elementos de ação (ex: botão de Criar, Exportar) a renderizar ao lado direito */\n\t\tactions?: React.ReactNode;\n\t\t/** Componente da área de importação, posicionado logo abaixo da barra de ações */\n\t\timportArea?: React.ReactNode;\n\t};\n\t/** Conteúdo principal da listagem (filtros, tabelas, etc.) */\n\tcontent: {\n\t\t/** O conteúdo que compõe a página (normalmente o componente DataTable e seus contêineres e filtros) */\n\t\tchildren: React.ReactNode;\n\t};\n\t/** Configurações do menu de navegação superior/lateral (opcional) */\n\tmenu?: {\n\t\t/** Caminho atual da rota, usado para identificar a aba/menu ativo */\n\t\tcurrentPath: string;\n\t\t/** Estrutura que mapeia as opções / abas de navegação do menu */\n\t\tmenuItems: MenuItemConfig[];\n\t\t/** Função chamada quando o usuário clica em algum dos itens de menu */\n\t\tonNavigate: (path: string) => void;\n\t};\n}\n\nexport function CrudListPage({ metadata, actions, content, menu }: CrudListPageProps) {\n\treturn (\n\t\t<>\n\t\t\t<title>{metadata.pageTitle}</title>\n\t\t\t<Header title={metadata.headerTitle} description={metadata.headerDescription ?? \"\"} />\n\t\t\t<main className=\"w-full\">\n\t\t\t\t<div className=\"flex w-full flex-wrap items-center justify-between gap-2\">\n\t\t\t\t\t{menu?.menuItems && menu?.currentPath && menu?.onNavigate ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<GenericHeadingMenubar\n\t\t\t\t\t\t\t\tcurrentPath={menu.currentPath}\n\t\t\t\t\t\t\t\tmenuItems={menu.menuItems}\n\t\t\t\t\t\t\t\tonNavigate={menu.onNavigate}\n\t\t\t\t\t\t\t\tdisabled={actions.isLoadingTable}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<div className=\"flex items-center gap-2 px-4\">{actions.actions}</div>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<LayoutActions className=\"flex w-full justify-end item-center flex-wrap mt-0\">\n\t\t\t\t\t\t\t{actions.actions}\n\t\t\t\t\t\t</LayoutActions>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{actions.importArea}\n\t\t\t\t{content.children}\n\t\t\t</main>\n\t\t</>\n\t);\n}\n","import React from \"react\";\nimport {\n\tDeleteConfirmationModal,\n\tGenericHeadingMenubar,\n\tHeader,\n\ttype MenuItemConfig,\n} from \"@/components/default/base\";\nimport { LayoutActions, PageComponent, ShowNotFound } from \"@/components/default/layout\";\nimport { ButtonDelete, ButtonUpdateShow } from \"@/components/default/shared\";\nimport { ShowSkeleton, type ShowSkeletonProps } from \"@/components/default/skeleton-component\";\n\nexport interface CrudShowPageProps<TId extends string | number = string | number> {\n\t/** Propriedades de cabeçalho e metadados da página */\n\tmetadata: {\n\t\t/** Título da página (tag `<title>`) */\n\t\ttitle: string;\n\t\t/** Título principal exibido no cabeçalho (Header) da página */\n\t\theaderTitle: string;\n\t\t/** Descrição exibida abaixo do título no cabeçalho */\n\t\theaderDescription: string;\n\t};\n\t/** Ações e controles de registro na visualização (ex: editar, excluir) */\n\tactions: {\n\t\t/** Indica se há uma ação pendente ativada, desabilitando a maioria dos cliques em botões de ação */\n\t\tisPendingAction?: boolean;\n\t\t/** ID do registro a ser visualizado. Se omitido/nulo, a página exibirá estado de Not Found */\n\t\tentityId?: TId | null | undefined;\n\t\t/** Função de callback acionada na exclusão do registro */\n\t\tonDelete?: (id: TId) => void;\n\t\t/** Função de callback acionada ao solicitar edição (navega/abre modal de edição) */\n\t\tonEdit?: (id: TId) => void;\n\t\t/** Título da modal de expurgação do registro (confirmação da deleção) */\n\t\ttitleModal?: string;\n\t\t/** Descrição informativa que aparece na modal de expurgação do registro */\n\t\tdescriptionModal?: string;\n\t\t/** Bôtões/Links extras que você deseja incorporar diretamente na barra de menus, substituindo os actions padrão se os providos não atenderem (código arbitrário de barra de ferramentas) */\n\t\tcustomActions?: React.ReactNode;\n\t};\n\t/** Conteúdo e estados principais para visualização */\n\tcontent: {\n\t\t/** Componente customizado Skeleton exibido durante carregamento (substitui inteiramente o Skeleton padrão da lib) */\n\t\tskeleton?: React.ReactNode;\n\t\t/** Propriedades que parametrizam o componente integrado ShowSkeleton do ivt-lib caso você não informe seu próprio skeleton na prop acima. */\n\t\tskeletonProps?: ShowSkeletonProps;\n\t\t/** Título do componente `ShowNotFound` exibido se não encontrado nenhum entityId ou o registro estiver faltando */\n\t\tnotFoundTitle: string;\n\t\t/** Descrição para detalhar o tipo de NotFound (`Registro xyz requisitado na url... não encontrado`) */\n\t\tnotFoundDescription: string;\n\t\t/** Cabeçalho interno informando a aba ativa (Visualização dos Detalhes, etc) a sobre o form-group */\n\t\tpageTitle: string;\n\t\t/** Breve descrição interna contextualizando os campos detalhados exibidos pelo ShowPage */\n\t\tpageDescription: string;\n\t\t/** Área opcional alinhada no corpo da página para componentes soltos/parágrafos extras antes dos child nodes principais (Detalhes do registro) */\n\t\textraInfo?: React.ReactNode;\n\t\t/** Conteúdo minucioso renderizado (os detalhes dos campos da View/Registro) */\n\t\tchildren?: React.ReactNode;\n\t};\n\t/** Configurações de seções de menus/rotas para a Entidade corrente (opcional) */\n\tmenu?: {\n\t\t/** Caminho base ativado sublinhado entre navegações do MenuBar */\n\t\tcurrentPath: string;\n\t\t/** As demais aberturas tabuladas por url configurados no header/menubar local. Array limitando acesso e seções do menu */\n\t\tmenuItems: MenuItemConfig[];\n\t\t/** Dispara ação de clique num tablink de seções paralelas contiguas para tal entidade */\n\t\tonNavigate: (path: string) => void;\n\t};\n\t/** Define se a tela carrega do backend seus dados; O Skeleton fará a cobertura visual caso true */\n\tisLoading?: boolean;\n}\n\nexport function CrudShowPage<TId extends string | number = string | number>({\n\tmetadata,\n\tactions,\n\tcontent,\n\tmenu,\n\tisLoading,\n}: CrudShowPageProps<TId>) {\n\tlet pageContent: React.ReactNode;\n\tconst isNotFound = !actions.entityId;\n\n\tif (isLoading) {\n\t\tpageContent = content.skeleton ? content.skeleton : <ShowSkeleton {...content.skeletonProps} />;\n\t} else if (isNotFound) {\n\t\tpageContent = (\n\t\t\t<ShowNotFound title={content.notFoundTitle} description={content.notFoundDescription} />\n\t\t);\n\t} else {\n\t\tpageContent = (\n\t\t\t<PageComponent\n\t\t\t\ttitle={content.pageTitle}\n\t\t\t\tdescription={content.pageDescription}\n\t\t\t\textraInfo={content.extraInfo}\n\t\t\t>\n\t\t\t\t{content.children}\n\t\t\t</PageComponent>\n\t\t);\n\t}\n\n\tconst renderActions = (\n\t\t<>\n\t\t\t{actions.customActions\n\t\t\t\t? actions.customActions\n\t\t\t\t: actions.entityId && (\n\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t{actions.onEdit && (\n\t\t\t\t\t\t\t\t<ButtonUpdateShow\n\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\tif (actions.onEdit && actions.entityId) {\n\t\t\t\t\t\t\t\t\t\t\tactions.onEdit(actions.entityId);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tdisabled={actions.isPendingAction || !actions.entityId}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{actions.onDelete && (\n\t\t\t\t\t\t\t\t<DeleteConfirmationModal\n\t\t\t\t\t\t\t\t\ttitle={actions.titleModal ?? \"Apagar registro?\"}\n\t\t\t\t\t\t\t\t\tdescription={\n\t\t\t\t\t\t\t\t\t\tactions.descriptionModal ?? \"Tem certeza que deseja apagar este registro?\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonConfirm={() => {\n\t\t\t\t\t\t\t\t\t\tif (actions.onDelete && actions.entityId) {\n\t\t\t\t\t\t\t\t\t\t\tactions.onDelete(actions.entityId);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tdisabled={!actions.entityId || actions.isPendingAction}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ButtonDelete disabled={!actions.entityId || actions.isPendingAction} />\n\t\t\t\t\t\t\t\t</DeleteConfirmationModal>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t</>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<title>{metadata.title}</title>\n\t\t\t<Header title={metadata.headerTitle} description={metadata.headerDescription} />\n\n\t\t\t{menu?.menuItems && menu?.currentPath && menu?.onNavigate ? (\n\t\t\t\t<GenericHeadingMenubar\n\t\t\t\t\tcurrentPath={menu.currentPath}\n\t\t\t\t\tmenuItems={menu.menuItems}\n\t\t\t\t\tonNavigate={menu.onNavigate}\n\t\t\t\t\tdisabled={actions.isPendingAction}\n\t\t\t\t>\n\t\t\t\t\t{renderActions}\n\t\t\t\t</GenericHeadingMenubar>\n\t\t\t) : (\n\t\t\t\t<LayoutActions className=\"flex justify-end item-send flex-wrap mt-0\">\n\t\t\t\t\t{renderActions}\n\t\t\t\t</LayoutActions>\n\t\t\t)}\n\n\t\t\t<main className=\"w-full\">{pageContent}</main>\n\t\t</>\n\t);\n}\n","import React from \"react\";\nimport { ChildContainer, Container, SectionInfo } from \"@/components/default/layout\";\nimport { cn } from \"@/lib/utils\";\n\nexport interface PageComponentProps {\n\ttitle: string;\n\tdescription: string;\n\tchildren?: React.ReactNode;\n\textraInfo?: React.ReactNode;\n\textraDescription?: React.ReactNode;\n\ttabs?: React.ReactNode;\n\tform?: React.ReactNode;\n\tclassName?: string;\n\tclassNames?: {\n\t\tcontainer?: string;\n\t\tchildContainer?: string;\n\t\tsectionInfo?: string;\n\t\tcontentWrapper?: string;\n\t\ttabsWrapper?: string;\n\t};\n}\n\nexport const PageComponent: React.FC<PageComponentProps> = ({\n\ttitle,\n\tdescription,\n\tchildren,\n\textraInfo,\n\textraDescription,\n\ttabs,\n\tform,\n\tclassName,\n\tclassNames,\n}) => {\n\tconst content = form ?? children;\n\n\tconst ContentSection = (\n\t\t<div className={cn(\"w-full max-w-150 space-y-8 text-sm\", classNames?.contentWrapper)}>\n\t\t\t{tabs && (\n\t\t\t\t<div className={cn(\"space-y-6\", classNames?.tabsWrapper)}>\n\t\t\t\t\t{tabs}\n\t\t\t\t\t<div>{extraInfo}</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t{!tabs && extraInfo && <div>{extraInfo}</div>}\n\t\t\t{content}\n\t\t</div>\n\t);\n\n\tconst InfoSection = (\n\t\t<>\n\t\t\t<SectionInfo\n\t\t\t\ttitle={title}\n\t\t\t\tdescription={description}\n\t\t\t\textraDescription={extraDescription}\n\t\t\t\tclassName={classNames?.sectionInfo}\n\t\t\t/>\n\t\t</>\n\t);\n\n\treturn (\n\t\t<Container className={cn(className, classNames?.container)}>\n\t\t\t<ChildContainer className={classNames?.childContainer}>\n\t\t\t\t{InfoSection}\n\t\t\t\t{ContentSection}\n\t\t\t</ChildContainer>\n\t\t</Container>\n\t);\n};\n","import React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\ninterface SectionInfoProps {\n\ttitle?: string;\n\tdescription?: string;\n\tclassName?: string;\n\textraDescription?: React.ReactNode;\n}\n\nexport const SectionInfo: React.FC<SectionInfoProps> = ({\n\ttitle = \"Informações Básicas\",\n\tdescription = \"Veja informações sobre o Administrador de Fundo\",\n\tclassName,\n\textraDescription,\n}: SectionInfoProps) => {\n\treturn (\n\t\t<section className={cn(\"relative space-y-4 w-full lg:w-2/5\", className)}>\n\t\t\t<h2 className=\"text-content-high text-2xl font-semibold\">{title}</h2>\n\t\t\t<p className=\"text-content-medium text-base\">\n\t\t\t\t{description}\n\t\t\t\t{extraDescription}\n\t\t\t</p>\n\t\t</section>\n\t);\n};\n","import React from \"react\";\nimport { StepNavigator, type StepNavigatorProps } from \"@/components/default/base\";\nimport { ListItem, type ListItemProps } from \"@/components/default/layout/ListItem\";\nimport { cn } from \"@/lib/utils\";\n\nexport interface ShowDetailsItem extends ListItemProps {\n\tisVisible?: boolean;\n}\n\nexport interface ShowDetailsProps extends React.HTMLAttributes<HTMLElement> {\n\titems?: ShowDetailsItem[];\n\tstepNavigator?: StepNavigatorProps;\n}\n\nexport const ShowDetails: React.FC<ShowDetailsProps> = ({\n\titems,\n\tstepNavigator,\n\tclassName,\n\tchildren,\n\t...props\n}) => {\n\treturn (\n\t\t<section className={cn(\"w-full\", className)} {...props}>\n\t\t\t{items && items.length > 0 && (\n\t\t\t\t<div className=\"w-full\">\n\t\t\t\t\t{items.map((item, index) => {\n\t\t\t\t\t\tconst { isVisible, ...listItemProps } = item;\n\t\t\t\t\t\tif (isVisible === false) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn <ListItem key={`${item.value}-${index}`} {...listItemProps} />;\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t{children}\n\t\t\t{stepNavigator && (\n\t\t\t\t<StepNavigator {...stepNavigator} className={cn(\"mt-4\", stepNavigator.className)} />\n\t\t\t)}\n\t\t</section>\n\t);\n};\n","import { AlertTriangleIcon } from \"lucide-react\";\nimport React from \"react\";\nimport { ChildContainer } from \"./ChildContainer\";\nimport { Container } from \"./Container\";\nimport { SectionInfo } from \"./SectionInfo\";\n\ninterface ShowNotFoundProps {\n\ttitle: string;\n\tdescription: string;\n}\n\nexport const ShowNotFound: React.FC<ShowNotFoundProps> = ({\n\ttitle = \"Administrador de Fundos não encontrado.\",\n\tdescription = \"Não foi possível encontrar o Administrador de Fundos solicitado.\",\n}: ShowNotFoundProps) => {\n\treturn (\n\t\t<Container>\n\t\t\t<ChildContainer>\n\t\t\t\t<SectionInfo description={description} />\n\t\t\t\t<section className=\"flex w-full max-w-[600px] items-center md:flex-[6]\">\n\t\t\t\t\t<div className=\"text-content-medium flex flex-wrap items-center gap-2 text-sm sm:text-base\">\n\t\t\t\t\t\t<AlertTriangleIcon className=\"text-destructive h-5 w-5\" />\n\t\t\t\t\t\t<span>{title}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</section>\n\t\t\t</ChildContainer>\n\t\t</Container>\n\t);\n};\n"],"names":["CrudCreatePage","metadata","actions","content","menu","isLoading","submitForm","formRef","current","requestSubmit","pageContent","React","CreateAndUpdateSkeleton","PageComponent","title","pageTitle","description","pageDescription","tabs","extraInfo","form","className","pageClassName","children","renderActions","Button","isAction","type","onClick","disabled","isPendingAction","actionLabel","Header","headerTitle","headerDescription","menuItems","currentPath","onNavigate","GenericHeadingMenubar","LayoutActions","main","CrudEditPage","isNotFound","entityId","ShowNotFound","notFoundTitle","notFoundDescription","customActions","div","ButtonUpdateForm","onDelete","DeleteConfirmationModal","titleModal","descriptionModal","onConfirm","ButtonDelete","CrudListPage","isLoadingTable","importArea","CrudShowPage","skeleton","ShowSkeleton","skeletonProps","onEdit","ButtonUpdateShow","extraDescription","classNames","ContentSection","cn","contentWrapper","tabsWrapper","InfoSection","SectionInfo","sectionInfo","Container","container","ChildContainer","childContainer","section","h2","p","ShowDetails","items","stepNavigator","props","length","map","item","index","isVisible","listItemProps","ListItem","key","value","StepNavigator","AlertTriangleIcon","span"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyDO,SAASA,cAAAA,CAAe,EAC9BC,QAAQ,EACRC,OAAO,EACPC,OAAO,EACPC,IAAI,EACJC,SAAS,EACY,EAAA;AACrB,IAAA,MAAMC,UAAAA,GAAa,IAAA;AAClB,QAAA,IAAIJ,OAAAA,CAAQK,OAAO,CAACC,OAAO,EAAE;AAC5BN,YAAAA,OAAAA,CAAQK,OAAO,CAACC,OAAO,CAACC,aAAa,EAAA;AACtC,QAAA;AACD,IAAA,CAAA;IAEA,IAAIC,WAAAA;AACJ,IAAA,IAAIL,SAAAA,EAAW;AACdK,QAAAA,WAAAA,iBAAcC,cAAA,CAAA,aAAA,CAACC,uBAAAA,EAAAA,IAAAA,CAAAA;IAChB,CAAA,MAAO;AACNF,QAAAA,WAAAA,iBACCC,cAAA,CAAA,aAAA,CAACE,aAAAA,EAAAA;AACAC,YAAAA,KAAAA,EAAOX,QAAQY,SAAS;AACxBC,YAAAA,WAAAA,EAAab,QAAQc,eAAe;AACpCC,YAAAA,IAAAA,EAAMf,QAAQe,IAAI;AAClBC,YAAAA,SAAAA,EAAWhB,QAAQgB,SAAS;AAC5BC,YAAAA,IAAAA,EAAMjB,QAAQiB,IAAI;AAClBC,YAAAA,SAAAA,EAAWlB,QAAQmB;AAElBnB,SAAAA,EAAAA,OAAAA,CAAQoB,QAAQ,CAAA;AAGpB,IAAA;AAEA,IAAA,MAAMC,aAAAA,iBACLb,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,EACET,OAAAA,CAAQA,OAAO,kBACfS,cAAA,CAAA,aAAA,CAACc,MAAAA,EAAAA;QAAOC,QAAAA,EAAAA,IAAAA;QAASC,IAAAA,EAAK,QAAA;QAASC,OAAAA,EAAStB,UAAAA;AAAYuB,QAAAA,QAAAA,EAAU3B,QAAQ4B;AACpE5B,KAAAA,EAAAA,OAAAA,CAAQ6B,WAAW,IAAI,OAAA,CAAA,CAAA;AAM5B,IAAA,qBACCpB,0EACCA,cAAA,CAAA,aAAA,CAACG,OAAAA,EAAAA,IAAAA,EAAOb,QAAAA,CAASa,KAAK,iBACtBH,cAAA,CAAA,aAAA,CAACqB,MAAAA,EAAAA;AAAOlB,QAAAA,KAAAA,EAAOb,SAASgC,WAAW;AAAEjB,QAAAA,WAAAA,EAAaf,SAASiC;AAC1D9B,KAAAA,CAAAA,EAAAA,IAAAA,EAAM+B,SAAAA,IAAa/B,IAAAA,EAAMgC,WAAAA,IAAehC,IAAAA,EAAMiC,2BAC9C1B,cAAA,CAAA,aAAA,CAAC2B,qBAAAA,EAAAA;AACAF,QAAAA,WAAAA,EAAahC,KAAKgC,WAAW;AAC7BD,QAAAA,SAAAA,EAAW/B,KAAK+B,SAAS;AACzBE,QAAAA,UAAAA,EAAYjC,KAAKiC,UAAU;AAC3BR,QAAAA,QAAAA,EAAU3B,QAAQ4B;AAEjBN,KAAAA,EAAAA,aAAAA,CAAAA,iBAGFb,cAAA,CAAA,aAAA,CAAC4B,aAAAA,EAAAA;QAAclB,SAAAA,EAAU;AACvBG,KAAAA,EAAAA,aAAAA,CAAAA,gBAIHb,cAAA,CAAA,aAAA,CAAC6B,MAAAA,EAAAA;QAAKnB,SAAAA,EAAU;AAAUX,KAAAA,EAAAA,WAAAA,CAAAA,CAAAA;AAG7B;;AChDO,SAAS+B,YAAAA,CAAa,EAAExC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,EAAEC,IAAI,EAAEC,SAAS,EAAqB,EAAA;AAC9F,IAAA,MAAMC,UAAAA,GAAa,IAAA;AAClB,QAAA,IAAIJ,OAAAA,CAAQK,OAAO,CAACC,OAAO,EAAE;AAC5BN,YAAAA,OAAAA,CAAQK,OAAO,CAACC,OAAO,CAACC,aAAa,EAAA;AACtC,QAAA;AACD,IAAA,CAAA;IAEA,MAAMiC,UAAAA,GAAa,CAACxC,OAAAA,CAAQyC,QAAQ;IAEpC,IAAIjC,WAAAA;AACJ,IAAA,IAAIL,SAAAA,EAAW;AACdK,QAAAA,WAAAA,iBAAcC,cAAA,CAAA,aAAA,CAACC,uBAAAA,EAAAA,IAAAA,CAAAA;AAChB,IAAA,CAAA,MAAO,IAAI8B,UAAAA,EAAY;AACtBhC,QAAAA,WAAAA,iBACCC,cAAA,CAAA,aAAA,CAACiC,YAAAA,EAAAA;YACA9B,KAAAA,EAAOX,OAAAA,CAAQ0C,aAAa,IAAI,yBAAA;YAChC7B,WAAAA,EACCb,OAAAA,CAAQ2C,mBAAmB,IAAI;;IAInC,CAAA,MAAO;AACNpC,QAAAA,WAAAA,iBACCC,cAAA,CAAA,aAAA,CAACE,aAAAA,EAAAA;AACAC,YAAAA,KAAAA,EAAOX,QAAQY,SAAS;AACxBC,YAAAA,WAAAA,EAAab,QAAQc,eAAe;AACpCC,YAAAA,IAAAA,EAAMf,QAAQe,IAAI;AAClBC,YAAAA,SAAAA,EAAWhB,QAAQgB,SAAS;AAC5BC,YAAAA,IAAAA,EAAMjB,QAAQiB,IAAI;AAClBC,YAAAA,SAAAA,EAAWlB,QAAQmB;AAElBnB,SAAAA,EAAAA,OAAAA,CAAQoB,QAAQ,CAAA;AAGpB,IAAA;IAEA,MAAMC,aAAAA,iBACLb,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,EACET,OAAAA,CAAQ6C,aAAa,GACnB7C,OAAAA,CAAQ6C,aAAa,GACrB7C,OAAAA,CAAQyC,QAAQ,kBAChBhC,cAAA,CAAA,aAAA,CAACqC,KAAAA,EAAAA;QAAI3B,SAAAA,EAAU;qBACdV,cAAA,CAAA,aAAA,CAACsC,gBAAAA,EAAAA;QACAtB,IAAAA,EAAK,QAAA;QACLC,OAAAA,EAAStB,UAAAA;AACTuB,QAAAA,QAAAA,EAAU3B,OAAAA,CAAQ4B,eAAe,IAAI,CAAC5B,QAAQyC;QAE9CzC,OAAAA,CAAQgD,QAAQ,kBAChBvC,cAAA,CAAA,aAAA,CAACwC,uBAAAA,EAAAA;QACArC,KAAAA,EAAOZ,OAAAA,CAAQkD,UAAU,IAAI,kBAAA;QAC7BpC,WAAAA,EACCd,OAAAA,CAAQmD,gBAAgB,IAAI,8CAAA;QAE7BC,SAAAA,EAAW,IAAA;AACV,YAAA,IAAIpD,OAAAA,CAAQgD,QAAQ,IAAIhD,OAAAA,CAAQyC,QAAQ,EAAE;gBACzCzC,OAAAA,CAAQgD,QAAQ,CAAChD,OAAAA,CAAQyC,QAAQ,CAAA;AAClC,YAAA;AACD,QAAA,CAAA;AACAd,QAAAA,QAAAA,EAAU,CAAC3B,OAAAA,CAAQyC,QAAQ,IAAIzC,QAAQ4B;qBAEvCnB,cAAA,CAAA,aAAA,CAAC4C,YAAAA,EAAAA;AAAa1B,QAAAA,QAAAA,EAAU,CAAC3B,OAAAA,CAAQyC,QAAQ,IAAIzC,QAAQ4B;;AAQ7D,IAAA,qBACCnB,0EACCA,cAAA,CAAA,aAAA,CAACG,OAAAA,EAAAA,IAAAA,EAAOb,QAAAA,CAASa,KAAK,iBACtBH,cAAA,CAAA,aAAA,CAACqB,MAAAA,EAAAA;AAAOlB,QAAAA,KAAAA,EAAOb,SAASgC,WAAW;AAAEjB,QAAAA,WAAAA,EAAaf,SAASiC;AAE1D9B,KAAAA,CAAAA,EAAAA,IAAAA,EAAM+B,SAAAA,IAAa/B,IAAAA,EAAMgC,WAAAA,IAAehC,IAAAA,EAAMiC,2BAC9C1B,cAAA,CAAA,aAAA,CAAC2B,qBAAAA,EAAAA;AACAF,QAAAA,WAAAA,EAAahC,KAAKgC,WAAW;AAC7BD,QAAAA,SAAAA,EAAW/B,KAAK+B,SAAS;AACzBE,QAAAA,UAAAA,EAAYjC,KAAKiC,UAAU;AAC3BR,QAAAA,QAAAA,EAAU3B,QAAQ4B;AAEjBN,KAAAA,EAAAA,aAAAA,CAAAA,iBAGFb,cAAA,CAAA,aAAA,CAAC4B,aAAAA,EAAAA;QAAclB,SAAAA,EAAU;AACvBG,KAAAA,EAAAA,aAAAA,CAAAA,gBAIHb,cAAA,CAAA,aAAA,CAAC6B,MAAAA,EAAAA;QAAKnB,SAAAA,EAAU;AAAUX,KAAAA,EAAAA,WAAAA,CAAAA,CAAAA;AAG7B;;AC5HO,SAAS8C,YAAAA,CAAa,EAAEvD,QAAQ,EAAEC,OAAO,EAAEC,OAAO,EAAEC,IAAI,EAAqB,EAAA;AACnF,IAAA,qBACCO,0EACCA,cAAA,CAAA,aAAA,CAACG,OAAAA,EAAAA,IAAAA,EAAOb,QAAAA,CAASc,SAAS,iBAC1BJ,cAAA,CAAA,aAAA,CAACqB,MAAAA,EAAAA;AAAOlB,QAAAA,KAAAA,EAAOb,SAASgC,WAAW;QAAEjB,WAAAA,EAAaf,QAAAA,CAASiC,iBAAiB,IAAI;sBAChFvB,cAAA,CAAA,aAAA,CAAC6B,MAAAA,EAAAA;QAAKnB,SAAAA,EAAU;qBACfV,cAAA,CAAA,aAAA,CAACqC,KAAAA,EAAAA;QAAI3B,SAAAA,EAAU;AACbjB,KAAAA,EAAAA,IAAAA,EAAM+B,aAAa/B,IAAAA,EAAMgC,WAAAA,IAAehC,IAAAA,EAAMiC,UAAAA,iBAC9C1B,0EACCA,cAAA,CAAA,aAAA,CAAC2B,qBAAAA,EAAAA;AACAF,QAAAA,WAAAA,EAAahC,KAAKgC,WAAW;AAC7BD,QAAAA,SAAAA,EAAW/B,KAAK+B,SAAS;AACzBE,QAAAA,UAAAA,EAAYjC,KAAKiC,UAAU;AAC3BR,QAAAA,QAAAA,EAAU3B,QAAQuD;sBAEnB9C,cAAA,CAAA,aAAA,CAACqC,KAAAA,EAAAA;QAAI3B,SAAAA,EAAU;OAAgCnB,OAAAA,CAAQA,OAAO,mBAG/DS,cAAA,CAAA,aAAA,CAAC4B,aAAAA,EAAAA;QAAclB,SAAAA,EAAU;AACvBnB,KAAAA,EAAAA,OAAAA,CAAQA,OAAO,CAAA,CAAA,EAIlBA,OAAAA,CAAQwD,UAAU,EAClBvD,QAAQoB,QAAQ,CAAA,CAAA;AAIrB;;ACGO,SAASoC,YAAAA,CAA4D,EAC3E1D,QAAQ,EACRC,OAAO,EACPC,OAAO,EACPC,IAAI,EACJC,SAAS,EACe,EAAA;IACxB,IAAIK,WAAAA;IACJ,MAAMgC,UAAAA,GAAa,CAACxC,OAAAA,CAAQyC,QAAQ;AAEpC,IAAA,IAAItC,SAAAA,EAAW;QACdK,WAAAA,GAAcP,OAAAA,CAAQyD,QAAQ,GAAGzD,OAAAA,CAAQyD,QAAQ,iBAAGjD,cAAA,CAAA,aAAA,CAACkD,YAAAA,EAAiB1D,OAAAA,CAAQ2D,aAAa,CAAA;AAC5F,IAAA,CAAA,MAAO,IAAIpB,UAAAA,EAAY;AACtBhC,QAAAA,WAAAA,iBACCC,cAAA,CAAA,aAAA,CAACiC,YAAAA,EAAAA;AAAa9B,YAAAA,KAAAA,EAAOX,QAAQ0C,aAAa;AAAE7B,YAAAA,WAAAA,EAAab,QAAQ2C;;IAEnE,CAAA,MAAO;AACNpC,QAAAA,WAAAA,iBACCC,cAAA,CAAA,aAAA,CAACE,aAAAA,EAAAA;AACAC,YAAAA,KAAAA,EAAOX,QAAQY,SAAS;AACxBC,YAAAA,WAAAA,EAAab,QAAQc,eAAe;AACpCE,YAAAA,SAAAA,EAAWhB,QAAQgB;AAElBhB,SAAAA,EAAAA,OAAAA,CAAQoB,QAAQ,CAAA;AAGpB,IAAA;IAEA,MAAMC,aAAAA,iBACLb,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,EACET,OAAAA,CAAQ6C,aAAa,GACnB7C,OAAAA,CAAQ6C,aAAa,GACrB7C,OAAAA,CAAQyC,QAAQ,kBAChBhC,cAAA,CAAA,aAAA,CAACqC,KAAAA,EAAAA;QAAI3B,SAAAA,EAAU;OACbnB,OAAAA,CAAQ6D,MAAM,kBACdpD,cAAA,CAAA,aAAA,CAACqD,gBAAAA,EAAAA;QACApC,OAAAA,EAAS,IAAA;AACR,YAAA,IAAI1B,OAAAA,CAAQ6D,MAAM,IAAI7D,OAAAA,CAAQyC,QAAQ,EAAE;gBACvCzC,OAAAA,CAAQ6D,MAAM,CAAC7D,OAAAA,CAAQyC,QAAQ,CAAA;AAChC,YAAA;AACD,QAAA,CAAA;AACAd,QAAAA,QAAAA,EAAU3B,OAAAA,CAAQ4B,eAAe,IAAI,CAAC5B,QAAQyC;QAG/CzC,OAAAA,CAAQgD,QAAQ,kBAChBvC,cAAA,CAAA,aAAA,CAACwC,uBAAAA,EAAAA;QACArC,KAAAA,EAAOZ,OAAAA,CAAQkD,UAAU,IAAI,kBAAA;QAC7BpC,WAAAA,EACCd,OAAAA,CAAQmD,gBAAgB,IAAI,8CAAA;QAE7BC,SAAAA,EAAW,IAAA;AACV,YAAA,IAAIpD,OAAAA,CAAQgD,QAAQ,IAAIhD,OAAAA,CAAQyC,QAAQ,EAAE;gBACzCzC,OAAAA,CAAQgD,QAAQ,CAAChD,OAAAA,CAAQyC,QAAQ,CAAA;AAClC,YAAA;AACD,QAAA,CAAA;AACAd,QAAAA,QAAAA,EAAU,CAAC3B,OAAAA,CAAQyC,QAAQ,IAAIzC,QAAQ4B;qBAEvCnB,cAAA,CAAA,aAAA,CAAC4C,YAAAA,EAAAA;AAAa1B,QAAAA,QAAAA,EAAU,CAAC3B,OAAAA,CAAQyC,QAAQ,IAAIzC,QAAQ4B;;AAQ7D,IAAA,qBACCnB,0EACCA,cAAA,CAAA,aAAA,CAACG,OAAAA,EAAAA,IAAAA,EAAOb,QAAAA,CAASa,KAAK,iBACtBH,cAAA,CAAA,aAAA,CAACqB,MAAAA,EAAAA;AAAOlB,QAAAA,KAAAA,EAAOb,SAASgC,WAAW;AAAEjB,QAAAA,WAAAA,EAAaf,SAASiC;AAE1D9B,KAAAA,CAAAA,EAAAA,IAAAA,EAAM+B,SAAAA,IAAa/B,IAAAA,EAAMgC,WAAAA,IAAehC,IAAAA,EAAMiC,2BAC9C1B,cAAA,CAAA,aAAA,CAAC2B,qBAAAA,EAAAA;AACAF,QAAAA,WAAAA,EAAahC,KAAKgC,WAAW;AAC7BD,QAAAA,SAAAA,EAAW/B,KAAK+B,SAAS;AACzBE,QAAAA,UAAAA,EAAYjC,KAAKiC,UAAU;AAC3BR,QAAAA,QAAAA,EAAU3B,QAAQ4B;AAEjBN,KAAAA,EAAAA,aAAAA,CAAAA,iBAGFb,cAAA,CAAA,aAAA,CAAC4B,aAAAA,EAAAA;QAAclB,SAAAA,EAAU;AACvBG,KAAAA,EAAAA,aAAAA,CAAAA,gBAIHb,cAAA,CAAA,aAAA,CAAC6B,MAAAA,EAAAA;QAAKnB,SAAAA,EAAU;AAAUX,KAAAA,EAAAA,WAAAA,CAAAA,CAAAA;AAG7B;;ACxIO,MAAMG,gBAA8C,CAAC,EAC3DC,KAAK,EACLE,WAAW,EACXO,QAAQ,EACRJ,SAAS,EACT8C,gBAAgB,EAChB/C,IAAI,EACJE,IAAI,EACJC,SAAS,EACT6C,UAAU,EACV,GAAA;AACA,IAAA,MAAM/D,UAAUiB,IAAAA,IAAQG,QAAAA;AAExB,IAAA,MAAM4C,+BACLxD,cAAA,CAAA,aAAA,CAACqC,KAAAA,EAAAA;QAAI3B,SAAAA,EAAW+C,EAAAA,CAAG,sCAAsCF,UAAAA,EAAYG,cAAAA;AACnEnD,KAAAA,EAAAA,IAAAA,kBACAP,cAAA,CAAA,aAAA,CAACqC,KAAAA,EAAAA;QAAI3B,SAAAA,EAAW+C,EAAAA,CAAG,aAAaF,UAAAA,EAAYI,WAAAA;OAC1CpD,IAAAA,gBACDP,cAAA,CAAA,aAAA,CAACqC,aAAK7B,SAAAA,CAAAA,CAAAA,EAGP,CAACD,QAAQC,SAAAA,kBAAaR,cAAA,CAAA,aAAA,CAACqC,aAAK7B,SAAAA,CAAAA,EAC5BhB,OAAAA,CAAAA;IAIH,MAAMoE,WAAAA,iBACL5D,0EACCA,cAAA,CAAA,aAAA,CAAC6D,WAAAA,EAAAA;QACA1D,KAAAA,EAAOA,KAAAA;QACPE,WAAAA,EAAaA,WAAAA;QACbiD,gBAAAA,EAAkBA,gBAAAA;AAClB5C,QAAAA,SAAAA,EAAW6C,UAAAA,EAAYO;;AAK1B,IAAA,qBACC9D,cAAA,CAAA,aAAA,CAAC+D,SAAAA,EAAAA;QAAUrD,SAAAA,EAAW+C,EAAAA,CAAG/C,WAAW6C,UAAAA,EAAYS,SAAAA;qBAC/ChE,cAAA,CAAA,aAAA,CAACiE,cAAAA,EAAAA;AAAevD,QAAAA,SAAAA,EAAW6C,UAAAA,EAAYW;OACrCN,WAAAA,EACAJ,cAAAA,CAAAA,CAAAA;AAIL;;ACzDO,MAAMK,WAAAA,GAA0C,CAAC,EACvD1D,KAAAA,GAAQ,qBAAqB,EAC7BE,WAAAA,GAAc,iDAAiD,EAC/DK,SAAS,EACT4C,gBAAgB,EACE,GAAA;AAClB,IAAA,qBACCtD,cAAA,CAAA,aAAA,CAACmE,SAAAA,EAAAA;AAAQzD,QAAAA,SAAAA,EAAW+C,GAAG,oCAAA,EAAsC/C,SAAAA;qBAC5DV,cAAA,CAAA,aAAA,CAACoE,IAAAA,EAAAA;QAAG1D,SAAAA,EAAU;AAA4CP,KAAAA,EAAAA,KAAAA,CAAAA,gBAC1DH,cAAA,CAAA,aAAA,CAACqE,GAAAA,EAAAA;QAAE3D,SAAAA,EAAU;OACXL,WAAAA,EACAiD,gBAAAA,CAAAA,CAAAA;AAIL;;ACXO,MAAMgB,WAAAA,GAA0C,CAAC,EACvDC,KAAK,EACLC,aAAa,EACb9D,SAAS,EACTE,QAAQ,EACR,GAAG6D,KAAAA,EACH,GAAA;AACA,IAAA,qBACCzE,cAAA,CAAA,aAAA,CAACmE,SAAAA,EAAAA;AAAQzD,QAAAA,SAAAA,EAAW+C,GAAG,QAAA,EAAU/C,SAAAA,CAAAA;AAAa,QAAA,GAAG+D;AAC/CF,KAAAA,EAAAA,KAAAA,IAASA,KAAAA,CAAMG,MAAM,GAAG,CAAA,kBACxB1E,cAAA,CAAA,aAAA,CAACqC,KAAAA,EAAAA;QAAI3B,SAAAA,EAAU;OACb6D,KAAAA,CAAMI,GAAG,CAAC,CAACC,IAAAA,EAAMC,KAAAA,GAAAA;AACjB,QAAA,MAAM,EAAEC,SAAS,EAAE,GAAGC,eAAe,GAAGH,IAAAA;AACxC,QAAA,IAAIE,cAAc,KAAA,EAAO;YACxB,OAAO,IAAA;AACR,QAAA;AACA,QAAA,qBAAO9E,cAAA,CAAA,aAAA,CAACgF,QAAAA,EAAAA;AAASC,YAAAA,GAAAA,EAAK,GAAGL,IAAAA,CAAKM,KAAK,CAAC,CAAC,EAAEL,KAAAA,CAAAA,CAAO;AAAG,YAAA,GAAGE;;IACrD,CAAA,CAAA,CAAA,EAGDnE,QAAAA,EACA4D,+BACAxE,cAAA,CAAA,aAAA,CAACmF,aAAAA,EAAAA;AAAe,QAAA,GAAGX,aAAa;QAAE9D,SAAAA,EAAW+C,EAAAA,CAAG,MAAA,EAAQe,aAAAA,CAAc9D,SAAS;;AAInF;;AC7BO,MAAMuB,eAA4C,CAAC,EACzD9B,QAAQ,yCAAyC,EACjDE,WAAAA,GAAc,kEAAkE,EAC7D,GAAA;AACnB,IAAA,qBACCL,cAAA,CAAA,aAAA,CAAC+D,SAAAA,EAAAA,IAAAA,gBACA/D,cAAA,CAAA,aAAA,CAACiE,cAAAA,EAAAA,IAAAA,gBACAjE,cAAA,CAAA,aAAA,CAAC6D,WAAAA,EAAAA;QAAYxD,WAAAA,EAAaA;sBAC1BL,cAAA,CAAA,aAAA,CAACmE,SAAAA,EAAAA;QAAQzD,SAAAA,EAAU;qBAClBV,cAAA,CAAA,aAAA,CAACqC,KAAAA,EAAAA;QAAI3B,SAAAA,EAAU;qBACdV,cAAA,CAAA,aAAA,CAACoF,aAAAA,EAAAA;QAAkB1E,SAAAA,EAAU;AAC7B,KAAA,CAAA,gBAAAV,cAAA,CAAA,aAAA,CAACqF,MAAAA,EAAAA,IAAAA,EAAMlF,KAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAMb;;;;"}