@cnc-ti/layout-basic 8.8.1 → 9.0.0

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.
package/dist/index.d.mts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as class_variance_authority_dist_types from 'class-variance-authority/dist/types';
2
2
  import { VariantProps } from 'class-variance-authority';
3
3
  import * as React$1 from 'react';
4
- import React__default, { HTMLAttributes, ReactNode, PropsWithChildren, ReactElement, ComponentProps, SVGProps, ElementType } from 'react';
4
+ import React__default, { HTMLAttributes, ReactNode, PropsWithChildren, ComponentProps, ReactElement, SVGProps, ElementType } from 'react';
5
5
  import * as react_jsx_runtime from 'react/jsx-runtime';
6
6
  import * as DialogPrimitive from '@radix-ui/react-dialog';
7
7
  import { DialogProps } from '@radix-ui/react-dialog';
@@ -116,8 +116,14 @@ interface AppInput {
116
116
  }
117
117
  interface AppsMenuProps {
118
118
  apps?: AppInput[];
119
+ /**
120
+ * Controla a exibição do AppsMenu no header.
121
+ *
122
+ * @defaultValue false
123
+ */
124
+ show?: boolean;
119
125
  }
120
- declare function AppsMenu({ apps, }: AppsMenuProps): react_jsx_runtime.JSX.Element;
126
+ declare function AppsMenu({ apps, show, }: AppsMenuProps): react_jsx_runtime.JSX.Element | null;
121
127
 
122
128
  type ModalProps = {
123
129
  title?: string;
@@ -176,6 +182,89 @@ declare const DialogFooter: {
176
182
  declare const DialogTitle: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & React$1.RefAttributes<HTMLHeadingElement>, "ref"> & React$1.RefAttributes<HTMLHeadingElement>>;
177
183
  declare const DialogDescription: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & React$1.RefAttributes<HTMLParagraphElement>, "ref"> & React$1.RefAttributes<HTMLParagraphElement>>;
178
184
 
185
+ /**
186
+ * Estados possíveis da barra lateral.
187
+ *
188
+ * - `expanded` — largura total (280px no desktop, tela cheia no mobile), ícone + rótulo.
189
+ * - `mini` — largura reduzida (64px), somente ícones, rótulo exibido em tooltip.
190
+ * - `closed` — não renderizada. A reabertura é feita pelo botão de menu do `Header`.
191
+ */
192
+ type SidebarState = "expanded" | "mini" | "closed";
193
+ interface SidebarContextValue {
194
+ /** Estado atual da barra lateral. */
195
+ variant: SidebarState;
196
+ /** `true` quando a viewport está abaixo do breakpoint mobile. */
197
+ isMobile: boolean;
198
+ /**
199
+ * Solicita a mudança para outro estado. Encaminhado para o
200
+ * `onVariantChange` do `SidebarContainer`; sem ele, é um no-op.
201
+ */
202
+ requestState: (next: SidebarState) => void;
203
+ }
204
+ /**
205
+ * Acessa o estado da barra lateral a partir de qualquer subcomponente.
206
+ *
207
+ * Diferente do `useDrawer`, **não lança erro** fora do provider: devolve um
208
+ * estado expandido estático, preservando a compatibilidade com usos avulsos
209
+ * dos subcomponentes.
210
+ *
211
+ * @example
212
+ * const { variant, isMobile, requestState } = useSidebar();
213
+ * if (variant === "mini") { ... }
214
+ */
215
+ declare function useSidebar(): SidebarContextValue;
216
+
217
+ /** Breakpoint (px) abaixo do qual a barra lateral é tratada como mobile. */
218
+ declare const SIDEBAR_MOBILE_BREAKPOINT = 768;
219
+ interface UseSidebarBreakpointOptions {
220
+ /**
221
+ * Largura (px) abaixo da qual a barra lateral entra em modo mobile.
222
+ * @default 768
223
+ */
224
+ mobileBreakpoint?: number;
225
+ /**
226
+ * Estado inicial usado antes da primeira medição da viewport.
227
+ * Relevante em SSR, onde `window` não existe.
228
+ * @default "expanded"
229
+ */
230
+ defaultState?: SidebarState;
231
+ }
232
+ interface UseSidebarBreakpointResult {
233
+ /** `true` quando a viewport está abaixo de `mobileBreakpoint`. */
234
+ isMobile: boolean;
235
+ /**
236
+ * Estado sugerido para o breakpoint atual: `closed` no mobile,
237
+ * `expanded` no desktop. É uma sugestão — o consumidor decide se aplica.
238
+ */
239
+ suggested: SidebarState;
240
+ /**
241
+ * Próximo estado ao acionar o toggle, a partir de `current`.
242
+ *
243
+ * - Mobile: alterna `closed` ↔ `expanded` (não existe `mini`).
244
+ * - Desktop: alterna `expanded` ↔ `mini`.
245
+ */
246
+ getNextState: (current: SidebarState) => SidebarState;
247
+ }
248
+ /**
249
+ * Calcula o estado da barra lateral a partir da largura da viewport.
250
+ *
251
+ * Não controla nada sozinho: devolve o estado sugerido e a função de
252
+ * transição, cabendo ao consumidor aplicar (ou não). É o mesmo comportamento
253
+ * já validado em produção no gestão de eventos e no gestão de demandas.
254
+ *
255
+ * @example
256
+ * const [variant, setVariant] = useState<SidebarState>("expanded");
257
+ * const { isMobile, suggested, getNextState } = useSidebarBreakpoint();
258
+ *
259
+ * useEffect(() => setVariant(suggested), [suggested]);
260
+ *
261
+ * <SidebarContainer
262
+ * variant={variant}
263
+ * onVariantChange={setVariant}
264
+ * />
265
+ */
266
+ declare function useSidebarBreakpoint(options?: UseSidebarBreakpointOptions): UseSidebarBreakpointResult;
267
+
179
268
  /**
180
269
  * Propriedades para o componente SidebarContainer.
181
270
  *
@@ -184,31 +273,78 @@ declare const DialogDescription: React$1.ForwardRefExoticComponent<Omit<DialogPr
184
273
  interface SidebarContainerProps extends React__default.HTMLAttributes<HTMLDivElement> {
185
274
  /**
186
275
  * Indica se o sidebar está aberto ou fechado.
276
+ *
277
+ * @deprecated Desde a v9, use `variant`. Mantida para compatibilidade:
278
+ * `true` equivale a `"expanded"` e `false` a `"closed"`. Quando `variant`
279
+ * é informada, esta prop é ignorada.
187
280
  * @default true
188
281
  */
189
282
  isOpen?: boolean;
283
+ /**
284
+ * Estado visual da barra lateral. Tem precedência sobre `isOpen`.
285
+ * @default "expanded"
286
+ */
287
+ variant?: SidebarState;
288
+ /**
289
+ * Chamada quando um subcomponente solicita a mudança de estado — pelo botão
290
+ * de alternância do `SidebarImageBrand` ou pelo clique em um item de
291
+ * navegação no mobile. A barra lateral é controlada: cabe ao consumidor
292
+ * aplicar o novo estado.
293
+ */
294
+ onVariantChange?: (next: SidebarState) => void;
295
+ /**
296
+ * Largura (px) abaixo da qual a barra lateral é tratada como mobile.
297
+ * @default 768
298
+ */
299
+ mobileBreakpoint?: number;
190
300
  }
191
- declare function SidebarContainer({ isOpen, ...rest }: SidebarContainerProps): react_jsx_runtime.JSX.Element;
301
+ /**
302
+ * Container da barra lateral, responsável pela largura, pela transição entre
303
+ * estados e por prover o contexto consumido pelos demais subcomponentes.
304
+ *
305
+ * No estado `closed` **nada é renderizado** — a reabertura fica a cargo do
306
+ * botão de menu do `HeaderContainer`.
307
+ */
308
+ declare function SidebarContainer({ isOpen, variant, onVariantChange, mobileBreakpoint, className, style, children, ...rest }: SidebarContainerProps): react_jsx_runtime.JSX.Element;
192
309
  interface SidebarImageBrandProps extends PropsWithChildren {
193
- /** @param {boolean} [props.asChild=false] - Se `true`, e `children` for um elemento React válido, este será usado como logotipo. Se `img` também for fornecido, `img` terá precedência. Se `children` não for um elemento React válido, o comportamento padrão de exibir a imagem de `img` ou `children` como conteúdo será usado. */
310
+ /** @param {boolean} [props.asChild=false] - Se `true`, e `children` for um elemento React válido, este será usado como logotipo. Se `img` também for fornecido, `img` terá precedência. */
194
311
  asChild?: boolean;
195
- /** @param {{ src?: string; alt?: string }} [props.img] - Objeto com as propriedades `src` e `alt` da imagem, usado quando `asChild` é `false` ou quando `asChild` é `true` mas `children` não é um elemento React válido para ser usado como logotipo. */
312
+ /** @param {{ src?: string; alt?: string }} [props.img] - Objeto com as propriedades `src` e `alt` da imagem. */
196
313
  img?: {
197
314
  src?: string;
198
315
  alt?: string;
199
316
  };
200
- /** @param {ReactNode} [props.children] - Conteúdo personalizado ou elemento filho a ser exibido como logotipo quando `asChild` for `true` e `img` não for fornecido. Normalmente usado para o botão de toggle ou um logotipo customizado. */
317
+ /** @param {ReactNode} [props.children] - Conteúdo personalizado exibido como logotipo quando `asChild` for `true`. */
201
318
  children?: ReactNode;
319
+ /**
320
+ * Chamada ao clicar no botão de alternância.
321
+ *
322
+ * @deprecated Desde a v9, use `onToggleRequest`, que recebe o próximo
323
+ * estado já calculado. Quando as duas são informadas, ambas são chamadas.
324
+ */
202
325
  onChangeToggle?: () => void;
326
+ /**
327
+ * Chamada ao clicar no botão de alternância, com o próximo estado sugerido
328
+ * pelo breakpoint atual (`mini`/`expanded` no desktop, `closed`/`expanded`
329
+ * no mobile). O consumidor decide se aplica.
330
+ *
331
+ * Quando omitida, a solicitação é encaminhada ao `onVariantChange` do
332
+ * `SidebarContainer`.
333
+ */
334
+ onToggleRequest?: (next: SidebarState) => void;
335
+ /**
336
+ * Exibe o botão de alternância. Desligue quando o controle ficar a cargo
337
+ * do `Header`.
338
+ * @default true
339
+ */
340
+ showToggle?: boolean;
203
341
  }
204
342
  /**
205
- * Componente para exibir a imagem da marca (logotipo) na barra lateral.
343
+ * Cabeçalho da barra lateral: exibe o logotipo e o botão de alternância.
206
344
  *
207
- * Exibe uma imagem, um elemento filho como logotipo ou conteúdo personalizado na parte superior da barra lateral.
208
- * Permite a inclusão de um botão de alternância (toggle) para colapsar a barra lateral.
209
- * A prop `asChild` permite usar um elemento filho como logotipo, caso a prop `img` não seja fornecida.
345
+ * No estado `mini` o logotipo é omitido e o botão fica centralizado.
210
346
  */
211
- declare function SidebarImageBrand({ asChild, onChangeToggle, img, children, }: SidebarImageBrandProps): react_jsx_runtime.JSX.Element;
347
+ declare function SidebarImageBrand({ asChild, onChangeToggle, onToggleRequest, showToggle, img, children, }: SidebarImageBrandProps): react_jsx_runtime.JSX.Element;
212
348
  type AccordionRootProps = ComponentProps<typeof Accordion.Root>;
213
349
  type SidebarProps = AccordionRootProps & {
214
350
  /** @param {ReactNode} props.children - Os elementos filhos a serem renderizados dentro do Sidebar. */
@@ -217,25 +353,24 @@ type SidebarProps = AccordionRootProps & {
217
353
  type: AccordionRootProps["type"];
218
354
  };
219
355
  /**
220
- * Componente Sidebar, responsável por renderizar a estrutura principal do menu lateral
221
- * e gerenciar o comportamento de acordeão dos itens de navegação.
222
- *
223
- * Este componente utiliza o Radix UI Accordion para controlar a expansão e o colapso
224
- * dos itens do menu. O tipo de acordeão (único ou múltiplo) é determinado pela propriedade `type`.
356
+ * Área de navegação da barra lateral, com comportamento de acordeão para os
357
+ * itens do tipo `SidebarNavCollapse`.
225
358
  *
226
359
  * Estende as tipagens do componente `Accordion.Root` do Radix UI.
227
360
  */
228
- declare function Sidebar({ children, ...rest }: SidebarProps): react_jsx_runtime.JSX.Element;
361
+ declare function Sidebar({ children, className, ...rest }: SidebarProps): react_jsx_runtime.JSX.Element;
362
+ interface IconProps extends SVGProps<SVGSVGElement> {
363
+ }
364
+ type SidebarIcon = ReactElement<IconProps> | ReactNode;
229
365
  /**
230
366
  * Componente de link de navegação para o Sidebar.
231
367
  *
232
- * Renderiza um link com ícone e título, permitindo navegação dentro do Sidebar.
233
- * Recomenda-se que o ícone fornecido tenha 20px de altura e largura para
234
- * consistência visual.
368
+ * A partir da v9, prefira as props `icon` e `label` em lugar de `children`:
369
+ * elas são o que permite ao estado `mini` ocultar o rótulo e exibi-lo em um
370
+ * tooltip. O formato antigo continua funcionando, com aviso no console.
235
371
  *
236
- * @param {SidebarNavLinkProps} props - As propriedades do componente.
237
- * @param {ReactNode} props.children - O título do link e o icone que pode ser fornecido como componente ou svg (🚨recomendado 20px x 20px).
238
- * @param {string} props.href O caminho para redirecionamento.
372
+ * @example
373
+ * <SidebarNavLink href="/" icon={<IconHome />} label="Início" ativo />
239
374
  */
240
375
  interface SidebarNavLinkProps extends React__default.AnchorHTMLAttributes<HTMLAnchorElement> {
241
376
  asChild?: boolean;
@@ -244,15 +379,33 @@ interface SidebarNavLinkProps extends React__default.AnchorHTMLAttributes<HTMLAn
244
379
  * @default 'primary'
245
380
  */
246
381
  type?: "primary" | "secondary";
382
+ /** Ícone do item (recomendado 20px x 20px). Necessário para o estado `mini`. */
383
+ icon?: SidebarIcon;
384
+ /** Rótulo do item. Ocultado no estado `mini`, onde vira tooltip. */
385
+ label?: ReactNode;
386
+ /** Destaca o item como o da rota atual. */
387
+ ativo?: boolean;
388
+ /** Desabilita o item: remove do fluxo de foco e ignora cliques. */
389
+ disabled?: boolean;
390
+ /**
391
+ * Impede o fechamento automático da barra lateral no mobile ao clicar.
392
+ * @default false
393
+ */
394
+ keepOpenOnClick?: boolean;
247
395
  }
248
- declare function SidebarNavLink({ asChild, type, ...rest }: SidebarNavLinkProps): react_jsx_runtime.JSX.Element;
249
- interface IconProps extends SVGProps<SVGSVGElement> {
250
- }
396
+ declare function SidebarNavLink({ asChild, type, icon, label, ativo, disabled, keepOpenOnClick, className, children, onClick, ...rest }: SidebarNavLinkProps): react_jsx_runtime.JSX.Element;
251
397
  interface SidebarNavCollapseProps extends Accordion.AccordionItemProps {
252
398
  title: string;
253
- icon?: ReactElement<IconProps> | ReactNode;
399
+ icon?: SidebarIcon;
254
400
  }
255
- declare function SidebarNavCollapse({ children, title, icon, ...rest }: SidebarNavCollapseProps): react_jsx_runtime.JSX.Element;
401
+ /**
402
+ * Item de navegação com submenu.
403
+ *
404
+ * No estado `expanded` funciona como acordeão. No estado `mini` não há
405
+ * largura para expandir inline, então o submenu passa a ser exibido em um
406
+ * flyout lateral, ancorado no ícone.
407
+ */
408
+ declare function SidebarNavCollapse({ children, title, icon, className, ...rest }: SidebarNavCollapseProps): react_jsx_runtime.JSX.Element;
256
409
 
257
410
  declare const Popover: React$1.FC<PopoverPrimitive.PopoverProps>;
258
411
  declare const PopoverTrigger: React$1.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
@@ -1343,4 +1496,4 @@ interface RetornoUsarAlertas {
1343
1496
  }
1344
1497
  declare function usarAlertas({ baseUrl, sistema, email, fetchFn, eventoId, filtros, habilitado, onErro, }: OpcoesUsarAlertas): RetornoUsarAlertas;
1345
1498
 
1346
- export { type Alerta, type AlertaFormValues, AlertaItem, type AlertaItemProps, Alertas, type AlertasProps, AplicationsHeader, type AppInput, type AppItem, AppsMenu, type AppsMenuProps, type AtualizarAlertaInput, Avatar, type AvatarProps, Badge, type BadgeSize, type BadgeVariant, Button, type ButtonProps, Card, CardContent, CardFooter, CardFooterItem, CardHeader, CardList, type CardListProps, Checkbox, type CheckboxProps, Collapsible, AnimatedCollapsibleContent as CollapsibleContent, CollapsibleTrigger, Combobox, type ComboboxFooterAction, type ComboboxFooterRenderContext, type ComboboxProps, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ConfirmDialog, type ConfirmDialogProps, type CriarAlertaInput, DIAS_SEMANA_PT_BR, DateTimeRangeList, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Drawer, DrawerBody, DrawerClose, DrawerContent, type DrawerContentProps, DrawerContext, type DrawerContextValue, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerProvider, type DrawerProviderProps, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, type EmptyStateProps, ErroAlertas, ErroNotificacoes, FileList, type FileListItem, type FileListProps, type FileRejection, type FileRejectionReason, FileUpload, type FileUploadProps, Filter, type FilterField, type FilterFieldType, type FilterProps, type FilterValues, FormularioAlerta, type FormularioAlertaProps, Header, HeaderContainer, type HeaderNotificationItem, HeaderNotifications, type HeaderNotificationsBaseProps, type HeaderNotificationsConectadoProps, type HeaderNotificationsControladoProps, type HeaderNotificationsProps, HeaderProfileHeader, HeaderProfileItem, type HeaderProps, Input, type InputProps, type ItemOption, LabelValue, type LabelValueProps, MESES_PT_BR, MESES_PT_BR_ABREV, MiniMonthCalendar, type MiniMonthCalendarDay, type MiniMonthCalendarProps, Modal, ModalEntidade, ModalMudancaEntidade, type ModalProps, type MonthDay, MonthYearPicker, type MonthYearPickerProps, MultiSelect, type MultiSelectOption, type MultiSelectProps, type Notificacao, type OpcoesUsarAlertas, PageHeader, PageHeaderActionsContainer, PageHeaderTitle, PageHeaderTitleContent, type ParametrosBuscaAlertas, type PeriodRange, type PeriodRangeInputType, PeriodRangeList, type PeriodRangeListLabels, type PeriodRangeListProps, type PeriodRangeListValidateOptions, Popover, PopoverContent, PopoverTrigger, ResultMetadata, type ResultMetadataGender, type ResultMetadataProps, type RetornoUsarAlertas, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectPortal, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SelectViewport, Sidebar, SidebarContainer, type SidebarContainerProps, SidebarImageBrand, type SidebarImageBrandProps, SidebarNavCollapse, type SidebarNavCollapseProps, SidebarNavLink, type SidebarNavLinkProps, type SidebarProps, type StatusAlerta, type StatusLeitura, type StatusNotificacao, Switch, type SwitchProps, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, type TextareaProps, Title, Tooltip, type TooltipProps, URL_PADRAO_NOTIFICACOES, type ValidateFilesOptions, availableApps, buildMonthDays, buscarAlertas, buttonVariants, formatDayAriaLabel, formatFileSize, formatMonthYear, isSameDay, isToday, normalizarBaseUrl, toDateKey, toLocalNoon, usarAlertas, useDrawer, validateFiles };
1499
+ export { type Alerta, type AlertaFormValues, AlertaItem, type AlertaItemProps, Alertas, type AlertasProps, AplicationsHeader, type AppInput, type AppItem, AppsMenu, type AppsMenuProps, type AtualizarAlertaInput, Avatar, type AvatarProps, Badge, type BadgeSize, type BadgeVariant, Button, type ButtonProps, Card, CardContent, CardFooter, CardFooterItem, CardHeader, CardList, type CardListProps, Checkbox, type CheckboxProps, Collapsible, AnimatedCollapsibleContent as CollapsibleContent, CollapsibleTrigger, Combobox, type ComboboxFooterAction, type ComboboxFooterRenderContext, type ComboboxProps, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ConfirmDialog, type ConfirmDialogProps, type CriarAlertaInput, DIAS_SEMANA_PT_BR, DateTimeRangeList, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Drawer, DrawerBody, DrawerClose, DrawerContent, type DrawerContentProps, DrawerContext, type DrawerContextValue, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerProvider, type DrawerProviderProps, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, type EmptyStateProps, ErroAlertas, ErroNotificacoes, FileList, type FileListItem, type FileListProps, type FileRejection, type FileRejectionReason, FileUpload, type FileUploadProps, Filter, type FilterField, type FilterFieldType, type FilterProps, type FilterValues, FormularioAlerta, type FormularioAlertaProps, Header, HeaderContainer, type HeaderNotificationItem, HeaderNotifications, type HeaderNotificationsBaseProps, type HeaderNotificationsConectadoProps, type HeaderNotificationsControladoProps, type HeaderNotificationsProps, HeaderProfileHeader, HeaderProfileItem, type HeaderProps, Input, type InputProps, type ItemOption, LabelValue, type LabelValueProps, MESES_PT_BR, MESES_PT_BR_ABREV, MiniMonthCalendar, type MiniMonthCalendarDay, type MiniMonthCalendarProps, Modal, ModalEntidade, ModalMudancaEntidade, type ModalProps, type MonthDay, MonthYearPicker, type MonthYearPickerProps, MultiSelect, type MultiSelectOption, type MultiSelectProps, type Notificacao, type OpcoesUsarAlertas, PageHeader, PageHeaderActionsContainer, PageHeaderTitle, PageHeaderTitleContent, type ParametrosBuscaAlertas, type PeriodRange, type PeriodRangeInputType, PeriodRangeList, type PeriodRangeListLabels, type PeriodRangeListProps, type PeriodRangeListValidateOptions, Popover, PopoverContent, PopoverTrigger, ResultMetadata, type ResultMetadataGender, type ResultMetadataProps, type RetornoUsarAlertas, SIDEBAR_MOBILE_BREAKPOINT, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectPortal, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SelectViewport, Sidebar, SidebarContainer, type SidebarContainerProps, type SidebarContextValue, SidebarImageBrand, type SidebarImageBrandProps, SidebarNavCollapse, type SidebarNavCollapseProps, SidebarNavLink, type SidebarNavLinkProps, type SidebarProps, type SidebarState, type StatusAlerta, type StatusLeitura, type StatusNotificacao, Switch, type SwitchProps, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, type TextareaProps, Title, Tooltip, type TooltipProps, URL_PADRAO_NOTIFICACOES, type UseSidebarBreakpointOptions, type UseSidebarBreakpointResult, type ValidateFilesOptions, availableApps, buildMonthDays, buscarAlertas, buttonVariants, formatDayAriaLabel, formatFileSize, formatMonthYear, isSameDay, isToday, normalizarBaseUrl, toDateKey, toLocalNoon, usarAlertas, useDrawer, useSidebar, useSidebarBreakpoint, validateFiles };
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as class_variance_authority_dist_types from 'class-variance-authority/dist/types';
2
2
  import { VariantProps } from 'class-variance-authority';
3
3
  import * as React$1 from 'react';
4
- import React__default, { HTMLAttributes, ReactNode, PropsWithChildren, ReactElement, ComponentProps, SVGProps, ElementType } from 'react';
4
+ import React__default, { HTMLAttributes, ReactNode, PropsWithChildren, ComponentProps, ReactElement, SVGProps, ElementType } from 'react';
5
5
  import * as react_jsx_runtime from 'react/jsx-runtime';
6
6
  import * as DialogPrimitive from '@radix-ui/react-dialog';
7
7
  import { DialogProps } from '@radix-ui/react-dialog';
@@ -116,8 +116,14 @@ interface AppInput {
116
116
  }
117
117
  interface AppsMenuProps {
118
118
  apps?: AppInput[];
119
+ /**
120
+ * Controla a exibição do AppsMenu no header.
121
+ *
122
+ * @defaultValue false
123
+ */
124
+ show?: boolean;
119
125
  }
120
- declare function AppsMenu({ apps, }: AppsMenuProps): react_jsx_runtime.JSX.Element;
126
+ declare function AppsMenu({ apps, show, }: AppsMenuProps): react_jsx_runtime.JSX.Element | null;
121
127
 
122
128
  type ModalProps = {
123
129
  title?: string;
@@ -176,6 +182,89 @@ declare const DialogFooter: {
176
182
  declare const DialogTitle: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & React$1.RefAttributes<HTMLHeadingElement>, "ref"> & React$1.RefAttributes<HTMLHeadingElement>>;
177
183
  declare const DialogDescription: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & React$1.RefAttributes<HTMLParagraphElement>, "ref"> & React$1.RefAttributes<HTMLParagraphElement>>;
178
184
 
185
+ /**
186
+ * Estados possíveis da barra lateral.
187
+ *
188
+ * - `expanded` — largura total (280px no desktop, tela cheia no mobile), ícone + rótulo.
189
+ * - `mini` — largura reduzida (64px), somente ícones, rótulo exibido em tooltip.
190
+ * - `closed` — não renderizada. A reabertura é feita pelo botão de menu do `Header`.
191
+ */
192
+ type SidebarState = "expanded" | "mini" | "closed";
193
+ interface SidebarContextValue {
194
+ /** Estado atual da barra lateral. */
195
+ variant: SidebarState;
196
+ /** `true` quando a viewport está abaixo do breakpoint mobile. */
197
+ isMobile: boolean;
198
+ /**
199
+ * Solicita a mudança para outro estado. Encaminhado para o
200
+ * `onVariantChange` do `SidebarContainer`; sem ele, é um no-op.
201
+ */
202
+ requestState: (next: SidebarState) => void;
203
+ }
204
+ /**
205
+ * Acessa o estado da barra lateral a partir de qualquer subcomponente.
206
+ *
207
+ * Diferente do `useDrawer`, **não lança erro** fora do provider: devolve um
208
+ * estado expandido estático, preservando a compatibilidade com usos avulsos
209
+ * dos subcomponentes.
210
+ *
211
+ * @example
212
+ * const { variant, isMobile, requestState } = useSidebar();
213
+ * if (variant === "mini") { ... }
214
+ */
215
+ declare function useSidebar(): SidebarContextValue;
216
+
217
+ /** Breakpoint (px) abaixo do qual a barra lateral é tratada como mobile. */
218
+ declare const SIDEBAR_MOBILE_BREAKPOINT = 768;
219
+ interface UseSidebarBreakpointOptions {
220
+ /**
221
+ * Largura (px) abaixo da qual a barra lateral entra em modo mobile.
222
+ * @default 768
223
+ */
224
+ mobileBreakpoint?: number;
225
+ /**
226
+ * Estado inicial usado antes da primeira medição da viewport.
227
+ * Relevante em SSR, onde `window` não existe.
228
+ * @default "expanded"
229
+ */
230
+ defaultState?: SidebarState;
231
+ }
232
+ interface UseSidebarBreakpointResult {
233
+ /** `true` quando a viewport está abaixo de `mobileBreakpoint`. */
234
+ isMobile: boolean;
235
+ /**
236
+ * Estado sugerido para o breakpoint atual: `closed` no mobile,
237
+ * `expanded` no desktop. É uma sugestão — o consumidor decide se aplica.
238
+ */
239
+ suggested: SidebarState;
240
+ /**
241
+ * Próximo estado ao acionar o toggle, a partir de `current`.
242
+ *
243
+ * - Mobile: alterna `closed` ↔ `expanded` (não existe `mini`).
244
+ * - Desktop: alterna `expanded` ↔ `mini`.
245
+ */
246
+ getNextState: (current: SidebarState) => SidebarState;
247
+ }
248
+ /**
249
+ * Calcula o estado da barra lateral a partir da largura da viewport.
250
+ *
251
+ * Não controla nada sozinho: devolve o estado sugerido e a função de
252
+ * transição, cabendo ao consumidor aplicar (ou não). É o mesmo comportamento
253
+ * já validado em produção no gestão de eventos e no gestão de demandas.
254
+ *
255
+ * @example
256
+ * const [variant, setVariant] = useState<SidebarState>("expanded");
257
+ * const { isMobile, suggested, getNextState } = useSidebarBreakpoint();
258
+ *
259
+ * useEffect(() => setVariant(suggested), [suggested]);
260
+ *
261
+ * <SidebarContainer
262
+ * variant={variant}
263
+ * onVariantChange={setVariant}
264
+ * />
265
+ */
266
+ declare function useSidebarBreakpoint(options?: UseSidebarBreakpointOptions): UseSidebarBreakpointResult;
267
+
179
268
  /**
180
269
  * Propriedades para o componente SidebarContainer.
181
270
  *
@@ -184,31 +273,78 @@ declare const DialogDescription: React$1.ForwardRefExoticComponent<Omit<DialogPr
184
273
  interface SidebarContainerProps extends React__default.HTMLAttributes<HTMLDivElement> {
185
274
  /**
186
275
  * Indica se o sidebar está aberto ou fechado.
276
+ *
277
+ * @deprecated Desde a v9, use `variant`. Mantida para compatibilidade:
278
+ * `true` equivale a `"expanded"` e `false` a `"closed"`. Quando `variant`
279
+ * é informada, esta prop é ignorada.
187
280
  * @default true
188
281
  */
189
282
  isOpen?: boolean;
283
+ /**
284
+ * Estado visual da barra lateral. Tem precedência sobre `isOpen`.
285
+ * @default "expanded"
286
+ */
287
+ variant?: SidebarState;
288
+ /**
289
+ * Chamada quando um subcomponente solicita a mudança de estado — pelo botão
290
+ * de alternância do `SidebarImageBrand` ou pelo clique em um item de
291
+ * navegação no mobile. A barra lateral é controlada: cabe ao consumidor
292
+ * aplicar o novo estado.
293
+ */
294
+ onVariantChange?: (next: SidebarState) => void;
295
+ /**
296
+ * Largura (px) abaixo da qual a barra lateral é tratada como mobile.
297
+ * @default 768
298
+ */
299
+ mobileBreakpoint?: number;
190
300
  }
191
- declare function SidebarContainer({ isOpen, ...rest }: SidebarContainerProps): react_jsx_runtime.JSX.Element;
301
+ /**
302
+ * Container da barra lateral, responsável pela largura, pela transição entre
303
+ * estados e por prover o contexto consumido pelos demais subcomponentes.
304
+ *
305
+ * No estado `closed` **nada é renderizado** — a reabertura fica a cargo do
306
+ * botão de menu do `HeaderContainer`.
307
+ */
308
+ declare function SidebarContainer({ isOpen, variant, onVariantChange, mobileBreakpoint, className, style, children, ...rest }: SidebarContainerProps): react_jsx_runtime.JSX.Element;
192
309
  interface SidebarImageBrandProps extends PropsWithChildren {
193
- /** @param {boolean} [props.asChild=false] - Se `true`, e `children` for um elemento React válido, este será usado como logotipo. Se `img` também for fornecido, `img` terá precedência. Se `children` não for um elemento React válido, o comportamento padrão de exibir a imagem de `img` ou `children` como conteúdo será usado. */
310
+ /** @param {boolean} [props.asChild=false] - Se `true`, e `children` for um elemento React válido, este será usado como logotipo. Se `img` também for fornecido, `img` terá precedência. */
194
311
  asChild?: boolean;
195
- /** @param {{ src?: string; alt?: string }} [props.img] - Objeto com as propriedades `src` e `alt` da imagem, usado quando `asChild` é `false` ou quando `asChild` é `true` mas `children` não é um elemento React válido para ser usado como logotipo. */
312
+ /** @param {{ src?: string; alt?: string }} [props.img] - Objeto com as propriedades `src` e `alt` da imagem. */
196
313
  img?: {
197
314
  src?: string;
198
315
  alt?: string;
199
316
  };
200
- /** @param {ReactNode} [props.children] - Conteúdo personalizado ou elemento filho a ser exibido como logotipo quando `asChild` for `true` e `img` não for fornecido. Normalmente usado para o botão de toggle ou um logotipo customizado. */
317
+ /** @param {ReactNode} [props.children] - Conteúdo personalizado exibido como logotipo quando `asChild` for `true`. */
201
318
  children?: ReactNode;
319
+ /**
320
+ * Chamada ao clicar no botão de alternância.
321
+ *
322
+ * @deprecated Desde a v9, use `onToggleRequest`, que recebe o próximo
323
+ * estado já calculado. Quando as duas são informadas, ambas são chamadas.
324
+ */
202
325
  onChangeToggle?: () => void;
326
+ /**
327
+ * Chamada ao clicar no botão de alternância, com o próximo estado sugerido
328
+ * pelo breakpoint atual (`mini`/`expanded` no desktop, `closed`/`expanded`
329
+ * no mobile). O consumidor decide se aplica.
330
+ *
331
+ * Quando omitida, a solicitação é encaminhada ao `onVariantChange` do
332
+ * `SidebarContainer`.
333
+ */
334
+ onToggleRequest?: (next: SidebarState) => void;
335
+ /**
336
+ * Exibe o botão de alternância. Desligue quando o controle ficar a cargo
337
+ * do `Header`.
338
+ * @default true
339
+ */
340
+ showToggle?: boolean;
203
341
  }
204
342
  /**
205
- * Componente para exibir a imagem da marca (logotipo) na barra lateral.
343
+ * Cabeçalho da barra lateral: exibe o logotipo e o botão de alternância.
206
344
  *
207
- * Exibe uma imagem, um elemento filho como logotipo ou conteúdo personalizado na parte superior da barra lateral.
208
- * Permite a inclusão de um botão de alternância (toggle) para colapsar a barra lateral.
209
- * A prop `asChild` permite usar um elemento filho como logotipo, caso a prop `img` não seja fornecida.
345
+ * No estado `mini` o logotipo é omitido e o botão fica centralizado.
210
346
  */
211
- declare function SidebarImageBrand({ asChild, onChangeToggle, img, children, }: SidebarImageBrandProps): react_jsx_runtime.JSX.Element;
347
+ declare function SidebarImageBrand({ asChild, onChangeToggle, onToggleRequest, showToggle, img, children, }: SidebarImageBrandProps): react_jsx_runtime.JSX.Element;
212
348
  type AccordionRootProps = ComponentProps<typeof Accordion.Root>;
213
349
  type SidebarProps = AccordionRootProps & {
214
350
  /** @param {ReactNode} props.children - Os elementos filhos a serem renderizados dentro do Sidebar. */
@@ -217,25 +353,24 @@ type SidebarProps = AccordionRootProps & {
217
353
  type: AccordionRootProps["type"];
218
354
  };
219
355
  /**
220
- * Componente Sidebar, responsável por renderizar a estrutura principal do menu lateral
221
- * e gerenciar o comportamento de acordeão dos itens de navegação.
222
- *
223
- * Este componente utiliza o Radix UI Accordion para controlar a expansão e o colapso
224
- * dos itens do menu. O tipo de acordeão (único ou múltiplo) é determinado pela propriedade `type`.
356
+ * Área de navegação da barra lateral, com comportamento de acordeão para os
357
+ * itens do tipo `SidebarNavCollapse`.
225
358
  *
226
359
  * Estende as tipagens do componente `Accordion.Root` do Radix UI.
227
360
  */
228
- declare function Sidebar({ children, ...rest }: SidebarProps): react_jsx_runtime.JSX.Element;
361
+ declare function Sidebar({ children, className, ...rest }: SidebarProps): react_jsx_runtime.JSX.Element;
362
+ interface IconProps extends SVGProps<SVGSVGElement> {
363
+ }
364
+ type SidebarIcon = ReactElement<IconProps> | ReactNode;
229
365
  /**
230
366
  * Componente de link de navegação para o Sidebar.
231
367
  *
232
- * Renderiza um link com ícone e título, permitindo navegação dentro do Sidebar.
233
- * Recomenda-se que o ícone fornecido tenha 20px de altura e largura para
234
- * consistência visual.
368
+ * A partir da v9, prefira as props `icon` e `label` em lugar de `children`:
369
+ * elas são o que permite ao estado `mini` ocultar o rótulo e exibi-lo em um
370
+ * tooltip. O formato antigo continua funcionando, com aviso no console.
235
371
  *
236
- * @param {SidebarNavLinkProps} props - As propriedades do componente.
237
- * @param {ReactNode} props.children - O título do link e o icone que pode ser fornecido como componente ou svg (🚨recomendado 20px x 20px).
238
- * @param {string} props.href O caminho para redirecionamento.
372
+ * @example
373
+ * <SidebarNavLink href="/" icon={<IconHome />} label="Início" ativo />
239
374
  */
240
375
  interface SidebarNavLinkProps extends React__default.AnchorHTMLAttributes<HTMLAnchorElement> {
241
376
  asChild?: boolean;
@@ -244,15 +379,33 @@ interface SidebarNavLinkProps extends React__default.AnchorHTMLAttributes<HTMLAn
244
379
  * @default 'primary'
245
380
  */
246
381
  type?: "primary" | "secondary";
382
+ /** Ícone do item (recomendado 20px x 20px). Necessário para o estado `mini`. */
383
+ icon?: SidebarIcon;
384
+ /** Rótulo do item. Ocultado no estado `mini`, onde vira tooltip. */
385
+ label?: ReactNode;
386
+ /** Destaca o item como o da rota atual. */
387
+ ativo?: boolean;
388
+ /** Desabilita o item: remove do fluxo de foco e ignora cliques. */
389
+ disabled?: boolean;
390
+ /**
391
+ * Impede o fechamento automático da barra lateral no mobile ao clicar.
392
+ * @default false
393
+ */
394
+ keepOpenOnClick?: boolean;
247
395
  }
248
- declare function SidebarNavLink({ asChild, type, ...rest }: SidebarNavLinkProps): react_jsx_runtime.JSX.Element;
249
- interface IconProps extends SVGProps<SVGSVGElement> {
250
- }
396
+ declare function SidebarNavLink({ asChild, type, icon, label, ativo, disabled, keepOpenOnClick, className, children, onClick, ...rest }: SidebarNavLinkProps): react_jsx_runtime.JSX.Element;
251
397
  interface SidebarNavCollapseProps extends Accordion.AccordionItemProps {
252
398
  title: string;
253
- icon?: ReactElement<IconProps> | ReactNode;
399
+ icon?: SidebarIcon;
254
400
  }
255
- declare function SidebarNavCollapse({ children, title, icon, ...rest }: SidebarNavCollapseProps): react_jsx_runtime.JSX.Element;
401
+ /**
402
+ * Item de navegação com submenu.
403
+ *
404
+ * No estado `expanded` funciona como acordeão. No estado `mini` não há
405
+ * largura para expandir inline, então o submenu passa a ser exibido em um
406
+ * flyout lateral, ancorado no ícone.
407
+ */
408
+ declare function SidebarNavCollapse({ children, title, icon, className, ...rest }: SidebarNavCollapseProps): react_jsx_runtime.JSX.Element;
256
409
 
257
410
  declare const Popover: React$1.FC<PopoverPrimitive.PopoverProps>;
258
411
  declare const PopoverTrigger: React$1.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
@@ -1343,4 +1496,4 @@ interface RetornoUsarAlertas {
1343
1496
  }
1344
1497
  declare function usarAlertas({ baseUrl, sistema, email, fetchFn, eventoId, filtros, habilitado, onErro, }: OpcoesUsarAlertas): RetornoUsarAlertas;
1345
1498
 
1346
- export { type Alerta, type AlertaFormValues, AlertaItem, type AlertaItemProps, Alertas, type AlertasProps, AplicationsHeader, type AppInput, type AppItem, AppsMenu, type AppsMenuProps, type AtualizarAlertaInput, Avatar, type AvatarProps, Badge, type BadgeSize, type BadgeVariant, Button, type ButtonProps, Card, CardContent, CardFooter, CardFooterItem, CardHeader, CardList, type CardListProps, Checkbox, type CheckboxProps, Collapsible, AnimatedCollapsibleContent as CollapsibleContent, CollapsibleTrigger, Combobox, type ComboboxFooterAction, type ComboboxFooterRenderContext, type ComboboxProps, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ConfirmDialog, type ConfirmDialogProps, type CriarAlertaInput, DIAS_SEMANA_PT_BR, DateTimeRangeList, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Drawer, DrawerBody, DrawerClose, DrawerContent, type DrawerContentProps, DrawerContext, type DrawerContextValue, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerProvider, type DrawerProviderProps, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, type EmptyStateProps, ErroAlertas, ErroNotificacoes, FileList, type FileListItem, type FileListProps, type FileRejection, type FileRejectionReason, FileUpload, type FileUploadProps, Filter, type FilterField, type FilterFieldType, type FilterProps, type FilterValues, FormularioAlerta, type FormularioAlertaProps, Header, HeaderContainer, type HeaderNotificationItem, HeaderNotifications, type HeaderNotificationsBaseProps, type HeaderNotificationsConectadoProps, type HeaderNotificationsControladoProps, type HeaderNotificationsProps, HeaderProfileHeader, HeaderProfileItem, type HeaderProps, Input, type InputProps, type ItemOption, LabelValue, type LabelValueProps, MESES_PT_BR, MESES_PT_BR_ABREV, MiniMonthCalendar, type MiniMonthCalendarDay, type MiniMonthCalendarProps, Modal, ModalEntidade, ModalMudancaEntidade, type ModalProps, type MonthDay, MonthYearPicker, type MonthYearPickerProps, MultiSelect, type MultiSelectOption, type MultiSelectProps, type Notificacao, type OpcoesUsarAlertas, PageHeader, PageHeaderActionsContainer, PageHeaderTitle, PageHeaderTitleContent, type ParametrosBuscaAlertas, type PeriodRange, type PeriodRangeInputType, PeriodRangeList, type PeriodRangeListLabels, type PeriodRangeListProps, type PeriodRangeListValidateOptions, Popover, PopoverContent, PopoverTrigger, ResultMetadata, type ResultMetadataGender, type ResultMetadataProps, type RetornoUsarAlertas, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectPortal, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SelectViewport, Sidebar, SidebarContainer, type SidebarContainerProps, SidebarImageBrand, type SidebarImageBrandProps, SidebarNavCollapse, type SidebarNavCollapseProps, SidebarNavLink, type SidebarNavLinkProps, type SidebarProps, type StatusAlerta, type StatusLeitura, type StatusNotificacao, Switch, type SwitchProps, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, type TextareaProps, Title, Tooltip, type TooltipProps, URL_PADRAO_NOTIFICACOES, type ValidateFilesOptions, availableApps, buildMonthDays, buscarAlertas, buttonVariants, formatDayAriaLabel, formatFileSize, formatMonthYear, isSameDay, isToday, normalizarBaseUrl, toDateKey, toLocalNoon, usarAlertas, useDrawer, validateFiles };
1499
+ export { type Alerta, type AlertaFormValues, AlertaItem, type AlertaItemProps, Alertas, type AlertasProps, AplicationsHeader, type AppInput, type AppItem, AppsMenu, type AppsMenuProps, type AtualizarAlertaInput, Avatar, type AvatarProps, Badge, type BadgeSize, type BadgeVariant, Button, type ButtonProps, Card, CardContent, CardFooter, CardFooterItem, CardHeader, CardList, type CardListProps, Checkbox, type CheckboxProps, Collapsible, AnimatedCollapsibleContent as CollapsibleContent, CollapsibleTrigger, Combobox, type ComboboxFooterAction, type ComboboxFooterRenderContext, type ComboboxProps, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ConfirmDialog, type ConfirmDialogProps, type CriarAlertaInput, DIAS_SEMANA_PT_BR, DateTimeRangeList, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Drawer, DrawerBody, DrawerClose, DrawerContent, type DrawerContentProps, DrawerContext, type DrawerContextValue, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerProvider, type DrawerProviderProps, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, type EmptyStateProps, ErroAlertas, ErroNotificacoes, FileList, type FileListItem, type FileListProps, type FileRejection, type FileRejectionReason, FileUpload, type FileUploadProps, Filter, type FilterField, type FilterFieldType, type FilterProps, type FilterValues, FormularioAlerta, type FormularioAlertaProps, Header, HeaderContainer, type HeaderNotificationItem, HeaderNotifications, type HeaderNotificationsBaseProps, type HeaderNotificationsConectadoProps, type HeaderNotificationsControladoProps, type HeaderNotificationsProps, HeaderProfileHeader, HeaderProfileItem, type HeaderProps, Input, type InputProps, type ItemOption, LabelValue, type LabelValueProps, MESES_PT_BR, MESES_PT_BR_ABREV, MiniMonthCalendar, type MiniMonthCalendarDay, type MiniMonthCalendarProps, Modal, ModalEntidade, ModalMudancaEntidade, type ModalProps, type MonthDay, MonthYearPicker, type MonthYearPickerProps, MultiSelect, type MultiSelectOption, type MultiSelectProps, type Notificacao, type OpcoesUsarAlertas, PageHeader, PageHeaderActionsContainer, PageHeaderTitle, PageHeaderTitleContent, type ParametrosBuscaAlertas, type PeriodRange, type PeriodRangeInputType, PeriodRangeList, type PeriodRangeListLabels, type PeriodRangeListProps, type PeriodRangeListValidateOptions, Popover, PopoverContent, PopoverTrigger, ResultMetadata, type ResultMetadataGender, type ResultMetadataProps, type RetornoUsarAlertas, SIDEBAR_MOBILE_BREAKPOINT, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectPortal, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SelectViewport, Sidebar, SidebarContainer, type SidebarContainerProps, type SidebarContextValue, SidebarImageBrand, type SidebarImageBrandProps, SidebarNavCollapse, type SidebarNavCollapseProps, SidebarNavLink, type SidebarNavLinkProps, type SidebarProps, type SidebarState, type StatusAlerta, type StatusLeitura, type StatusNotificacao, Switch, type SwitchProps, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, type TextareaProps, Title, Tooltip, type TooltipProps, URL_PADRAO_NOTIFICACOES, type UseSidebarBreakpointOptions, type UseSidebarBreakpointResult, type ValidateFilesOptions, availableApps, buildMonthDays, buscarAlertas, buttonVariants, formatDayAriaLabel, formatFileSize, formatMonthYear, isSameDay, isToday, normalizarBaseUrl, toDateKey, toLocalNoon, usarAlertas, useDrawer, useSidebar, useSidebarBreakpoint, validateFiles };