Makuco UI
Geral

Changelog

Histórico de versões e mudanças do Makuco UI.

1.18.0MinorPatch

Minor Changes

  • –`mk-breadcrumb`: novas props `locale` (rótulo do landmark em pt, es e en) e `collapseOnMobile` (abaixo de 768 px, só o primeiro e o último item); ancestrais com `href` viram links `<a>`; abaixo de 768 px cada item ocupa uma linha, com recuo após o primeiro; a barra passa a ser desenhada antes de cada item a partir do segundo. Mudanças visíveis para quem já usa: o ancestral com `href` passa de `role=button` para `role=link` (Espaço deixa de ativar); clique com Ctrl, Cmd, Shift, Alt ou botão do meio segue o link nativo e não emite `mkNavigate`; o `aria-label` do landmark deixa de ser `"breadcrumb"` e segue o `locale`; a ordem do DOM da barra muda.
  • –`mk-date-picker`: o texto digitado que não é uma data aceita (incompleto, inexistente ou fora de `min` e `max`) permanece no campo em vez de ser apagado, e `value` fica vazio. Ao sair do campo, o componente exibe "Data inválida" (ou "Data fora do intervalo permitido"), define `badInput` na validade do formulário e emite o novo evento `mkInvalid` com `{ text, reason }`. A `errorMessage` do consumidor tem precedência e o botão × aparece também com texto inválido.
  • –`mk-date-picker`: o mês e o ano do cabeçalho viram botões que abrem painéis de meses (3 colunas) e de anos (4 colunas, 24 anos por página) no lugar da grade de dias, com teclado (setas, Home, End, Page Up e Page Down, Enter, Espaço, Escape), `min` e `max` respeitados, altura do popover mantida e textos em pt, es e en. Uma região `aria-live="polite"` oculta, só com o texto, anuncia a troca de mês, de ano ou de painel.
  • –`mk-input`: nova prop `controlPopup` (só propriedade JS) que referencia o popup por `aria-controls` no controle interno; `mk-date-picker` e `mk-time-picker` a usam enquanto o calendário/lista está aberto. Nota: o axe-core 4.11.2 segue acusando `aria-required-attr` no combobox expandido, porque lê só o atributo `aria-controls`, que a reflexão por elemento deixa vazio.
  • –Novo `mk-menu-group`: agrupa itens do `mk-menu` num `role="group"` com nome acessível (`label`), só semântica (sem rótulo visível, divisor nem mudança de layout). Os itens do grupo entram na navegação por teclado do menu. A tag existiu até a v1.10 com rótulo visível e divisor; volta apenas como contêiner semântico.
  • –`mk-menu`: nova prop `selectionMode` (`none`, `single`, `multiple`). Os itens viram `menuitemradio` ou `menuitemcheckbox` com `aria-checked` vindo de `selected`, e o item marcado mostra um tique à direita (largura sempre reservada). Em `multiple` o menu não fecha ao selecionar. Sem `selectionMode`, nada muda.
  • –`mk-tabs`: só a aba selecionada entra na ordem de `Tab` (roving tabindex) e a nova prop `label` define o `aria-label` da lista de abas.
  • –`mk-tabs`: quando as abas não cabem, setas nas pontas indicam e rolam as abas escondidas (cada seta só aparece com conteúdo escondido do seu lado); a aba ativa é rolada para a vista ao ser selecionada; nova prop `locale` para o nome acessível das setas (pt, es, en).
  • –`mk-toast`: ganchos de CSS `--mk-toast-offset-top` e `--mk-toast-offset-bottom` afastam os contêineres das bordas da viewport (padrão 0).
  • –`toast()` devolve um controle com `id` e `dismiss()` (ainda "awaitable": a Promise resolve quando o toast é exibido); nova função `dismissAll()`; nova opção `id` (um toast aberto com o mesmo `id` é substituído); `mk-toast` ganha o método `dismiss()`.

Patch Changes

  • –`mk-checkbox`: o rótulo herda o cursor do controle (`pointer`, ou `not-allowed` quando desabilitado).
  • –`mk-color-picker`: os eventos dos componentes internos do painel não chegam mais ao consumidor, e a cor informada por `value`, pelos campos HEX/RGB ou por preset é mantida sem alteração.
  • –`mk-date-picker`: o cabeçalho dos dias fica dentro do grid; o grid tem um único tab stop e navegação por setas, `Home`, `End`, `Page Up`/`Page Down` (mês) e `Shift` + `Page Up`/`Page Down` (ano); `Enter` e `Escape` devolvem o foco ao campo.
  • –`mk-icon-button`: a caixa de hover aciona o botão em toda a sua extensão e o alvo de clique tem ao menos 24×24 px em todos os tamanhos, sem mudar o visual.
  • –`mk-menu`: Enter e Espaço no item destacado emitem `mkClick` e `mkSelect`, fecham o menu e seguem o `href`, como o clique do mouse.
  • –`mk-menu` com `anchor`: o teclado a partir do gatilho abre o menu com o foco no primeiro item (`ArrowUp`, no último); setas, `Home`, `End`, `Escape` e `Tab` navegam e fecham o menu.
  • –`mk-dialog` e `mk-drawer`: ao fechar, o foco volta ao elemento interno que abriu o overlay (ex.: o `<button>` dentro de um `mk-button`).
  • –`mk-drawer` e `mk-dialog`: o foco inicial entra no painel depois do render que exibe o overlay, em toda abertura.
  • –`mk-input-number`, `mk-number-field` e `mk-search`: o campo `readonly` mostra a borda de foco do campo editável.
  • –`mk-input`, `mk-select`, `mk-textarea`, `mk-autocomplete`, `mk-input-tag` e `mk-mentions`: o campo `readonly` mostra a borda de foco do campo editável.
  • –`mk-select`: com valor escolhido, a lista abre com o destaque na opção escolhida (em `kind="multiple"`, a primeira), que entra na vista; as setas partem dela.
  • –`mk-sidebar`: fechada abaixo de 768px fica `inert`; aberta, o painel é um diálogo modal (`role="dialog"`, `aria-modal`, `aria-label`) com `Tab` preso e o conteúdo de trás inerte.
  • –`mk-sidebar`: a alça de recolher/expandir tem área clicável de 24 px de largura; a linha visível continua fina, no mesmo lugar.
  • –`mk-toast`: o toast aberto nas posições `bottom-*` assenta na posição final (`translateY(0) scale(1)`), com e sem movimento reduzido.
  • –`mk-toast`: o botão de fechar mostra o anel de foco ao receber foco por teclado.
  • –`mk-toast`: o ícone fica centrado na primeira linha do título (a caixa do ícone tem a altura da linha).
1.17.1Patch

Patch Changes

  • –`mk-datagrid`: a linha passa a ter altura dinâmica por padrão (mínimo de `--mk-datagrid-row-height`, cresce com o conteúdo), também com `virtual`, onde cada linha é medida e `wrap` passa a valer. Nova prop `rowHeight` fixa a altura; use `rowHeight={44}` para manter o comportamento anterior.
  • –`mk-table`: células e cabeçalhos voltam a crescer com o conteúdo; 44px passa a ser a altura mínima.
1.17.0Minor

Minor Changes

  • –`mk-datagrid`: preenchimento para cima (arrasto e Shift+↑), com `direction` no `mkFill` e no contexto da `formula`; quadrado de 8×8 (`--db1-spacing-2`) no canto da célula `fillable` ativa.
  • –`mk-datagrid`: template de cabeçalho por coluna (`column.headerTemplate` + `renderHeaderTemplate`; React `column.header` e `<MkDatagridHeader>`; Angular `ng-template[mkDatagridHeader]`). `mk-table-header`: prop `columnName`.
  • –`mk-datagrid`: funções `applyCellChange` e `applyFill` aplicam o `mkCellChange` e o `mkFill` em `rows`; métodos `scrollToRow(rowId)` e `getState()`.
  • –`mk-checkbox`, `mk-radio` e `mk-switch`: `supportText` passa a ser texto visível abaixo do rótulo, ligado ao controle por `aria-describedby`, como no `mk-input`. Quem usava `supportText` para a bolha do ícone de ajuda deve usar `helperText`.
  • –`mk-input-number`: `entryMode="natural"` (edição nativa da esquerda para a direita, sem milhar; a vírgula separa os decimais, completados com zeros no blur) e `selectOnFocus`.
  • –`mk-list`: reordenação por arrastar e por teclado (`reorderable` + evento `mkReorder`; `mk-list-item` ganha `value`). Novo componente `mk-drag-handle`.
  • –`mk-segmented`: prop `variant` com o novo estilo `brand` (trilho cinza e indicador na cor da marca), para uso sobre superfícies brancas.
  • –`mk-table`: `colSpan` em `mk-table-cell` e `mk-table-header` (com `aria-colspan`) e `rowHeader` em `mk-table-cell` (`role="rowheader"`). O layout passa de `display: table` para CSS grid com `subgrid` (Chrome 117, Safari 16, Firefox 71 ou superiores).
  • –`mk-textarea`: `variant="code"` com fonte monoespaçada (`--db1-typography-family-code`), sem corretor, autocapitalização e autocorreção; `spellcheck` e `autocapitalize` repassados ao textarea interno. Novos tokens de tipografia `code` (Fira Code) e classes `.mk-typography-code-*`.
1.16.0MinorPatch

Minor Changes

  • –Novo `mk-datagrid`: grid de dados com ordenação, paginação, colunas fixas e ocultas, virtualização, células customizadas, edição (`mkCellChange`) com editor de opções (`editable.options`), preencher para baixo com modos copiar, série e fórmula (`fillable`, `mkFill` por destino), linhas expansíveis e seleção de linhas (`selectable`, `selectedRows`, `mkSelectionChange`), troca de colunas (`reorderable`, `columnOrder`, `mkColumnOrderChange`) e redimensionamento (`resizable`, `columnWidths`, `mkColumnWidthsChange`), com navegação por teclado no padrão grid da APG. Em React, `MkDatagrid` genérico com `column.cell`, `MkDatagridCell` e `renderExpanded`; em Angular, `MK_DATAGRID` com `ng-template[mkDatagridCell]` e `ng-template[mkDatagridExpand]`.
  • –`mk-date-picker`: botão × para limpar o campo nos modos `single` e `range`, antes do ícone de calendário. Limpar emite `mkChange` com `""` e devolve o foco ao campo sem abrir o calendário. No modo `single`, apagar a data digitada ou deixá-la incompleta também emite `mkChange` com `""` quando o valor passa de preenchido a vazio. `mk-input`: novo slot `trailing-action`, para uma ação interativa dentro do campo antes do ícone trailing.
  • –`mk-icon-button` e `mk-fab`: novas props `expanded` e `hasPopup`, refletidas como `aria-expanded` e `aria-haspopup` no `<button>` interno. Sem `expanded`, o atributo não é renderizado. `mk-speed-dial`: o trigger passa a usar essas props no lugar de escrever os atributos direto no botão interno do `mk-fab`.
  • –`mk-search`: novo evento `mkInput`, emitido a cada tecla sem aguardar o `debounce` (e com `""` ao limpar), como no `mk-input`. Com `value` controlado, espelhe o texto no estado pelo `mkInput` e dispare a busca pelo `mkChange`. `mk-search`: limpar com Escape emite `mkChange("")` uma vez só; antes, a limpeza nativa do campo disparava um segundo `mkChange("")` após o `debounce`.
  • –`mk-segmented`: nova prop `label`, aplicada como `aria-label` no `role="group"` interno, para o leitor de tela anunciar o que os segmentos escolhem. O rótulo não é exibido visualmente.
  • –`mk-table-header`: nova prop `focusMode` (`"controls"` | `"cell"`, padrão `"controls"`). Com `"cell"`, o próprio cabeçalho é a parada de foco, os botões internos saem da ordem do Tab, o `helperText` vai para `aria-description` e o tooltip de ajuda abre no foco do cabeçalho. O botão de ordenar passa a se chamar "Ordenar por {coluna}". `mk-tooltip`: novos métodos `show()` e `hide()`.
  • –Novo `mk-table-input`: campo de texto para células de tabela, sem rótulo visível (`label` vira `aria-label`) e só com a borda inferior. Participa de formulários, aceita as máscaras do `mk-input` (`mask`), confirma com Enter ou ao sair do campo (`mkChange`) e volta ao valor anterior com Esc. Com `brl` e `number`, o valor é uma string decimal em unidades (`"19.90"`), como no `mk-input-number`.

Patch Changes

  • –`mk-command-palette`: o campo de busca recebe o foco depois do render que cria o painel, inclusive quando `open` muda por JS (atalho de teclado, estado externo, rota). Antes, o foco ficava no gatilho e o `flushSync` no React era necessário.
  • –`mk-datagrid`: a navegação por teclado mostra o anel de foco no WebKit (Safari 18.4+) também depois de um clique numa célula.
  • –`mk-helper` e `mk-form-helper`: cada `\n` na descrição vira uma quebra de linha na bolha, o que permite listar vários itens em `content` (por exemplo, `erros.join("\n")`).
  • –`mk-link`: o Enter fica com o `<a>` nativo. Ctrl+Enter (Cmd+Enter no macOS) abre o destino em nova aba e Shift+Enter em nova janela; Espaço deixa de ativar o link.
  • –`mk-select`: o placeholder fica em `--text-low-emphasis` em todos os estados, inclusive com o campo focado ou aberto, como o `::placeholder` do `mk-input`. Desabilitado, usa `--text-disabled`.
  • –`mk-sidebar`: ao abrir o overlay mobile, o foco vai para a navegação depois do render que a torna focável; antes, o foco ficava no gatilho. Ao fechar, o foco volta ao elemento que o tinha de fato, inclusive dentro de um shadow root (como o botão interno de um `mk-icon-button`).
1.15.4Patch

Patch Changes

  • –`mk-input-otp`: `aria-label` dos slots e do grupo traduzido conforme o `locale` (pt, es, en); mensagens de erro e sucesso passam a respeitar o `lang` do ancestral.
  • –`mk-input-otp`: Enter em um slot envia o formulário pai.
1.15.3Patch

Patch Changes

  • –`mk-checkbox-group`, `mk-radio-group` e `mk-switch-group`: os filhos passam a ser encontrados quando as tags são prefixadas via `setTagTransformer`.
1.15.2Patch

Patch Changes

  • –`mk-helper` e `mk-popconfirm`: texto do balão volta a quebrar linha quando o componente está dentro de um ancestral com `white-space: nowrap`, como o cabeçalho da `mk-table`.
  • –`mk-table`: fundo do hover de linha no tema escuro com 50% de opacidade, alinhado ao Figma.
1.15.1Patch

Patch Changes

  • –`mk-chip`: fundo da variante `subtle` na cor `gray` alinhado ao Figma — `neutral-200` no tema claro e `neutral-600` no escuro.
  • –`mk-switch`: nova prop `layout` (`"inline"` | `"spread"`). Em `"spread"`, o switch ocupa 100% da largura do bloco, com rótulo e toggle em extremidades opostas; os ícones de ajuda e link acompanham o rótulo. `labelPosition` continua definindo o lado do rótulo.
1.15.0MinorPatch

Minor Changes

  • –`mk-table-row`: nova prop `highlighted`, que destaca a linha com `brand-100`/`brand-900` e prevalece sobre o hover e o listrado. Tokens da linha renomeados: `--table-bg-cell-hover` passa a `--table-bg-row-hover`, e o novo `--table-bg-row-highlighted` substitui o antigo `--table-bg-row-hover`, que não tinha uso.
  • –`mk-button`: nova prop `form` (id do `<form>`). `type="submit"` e `type="reset"` acionam o formulário indicado mesmo com o botão fora dele, como no rodapé do `mk-dialog`.
  • –Tokens de cor dos componentes alinhados ao Figma nos temas claro e escuro. No escuro, `--background-default` passa a `neutral-900` e `--background-surface` a `neutral-800`; campos (input, search, autocomplete, mentions) ficam em `neutral-800` e camadas flutuantes (dialog, drawer, toast, menu) em `neutral-900`. Hover do botão outlined deixa de ser preenchido e passa a usar fundo claro com texto, ícone e borda do tom. Ícone do chip strong segue `--icon-on-filled`. Dropdown do `mk-mentions` ganha borda (`--mentions-dropdown-stroke`). Gatilho do `mk-command-palette` segue os tokens do search, com foco na borda. Opções de select e autocomplete usam cores sólidas no lugar de `rgba`.
  • –`mk-date-picker`: nova prop `locale` define a ordem dia/mês do campo, o placeholder e o rótulo dos dias (`en-US` usa `MM/DD/YYYY`). O valor ISO não muda.
  • –`mk-date-picker`: `locale` traduz o nome do mês, as iniciais dos dias da semana e os textos de acessibilidade do calendário (pt, es e en).
  • –`mk-date-picker`: novas props `min` e `max` (ISO) desabilitam dias fora do intervalo no calendário e ignoram datas digitadas fora dele. Novas props `readonly` e `supportText`.
  • –`mk-dialog`: nova prop `kind="alert"`. O painel usa `role="alertdialog"`, indicado para confirmações destrutivas.
  • –`mk-dialog`: o painel sempre tem `aria-labelledby` apontando para o título (`heading` ou slot `header`) e `aria-describedby` apontando para o corpo.
  • –`mk-dialog`: nova prop `initialFocus` (seletor CSS ou `first-action`) define o elemento focado ao abrir.
  • –`mk-checkbox`, `mk-input` e `mk-input-number`: nova prop `hideLabel` oculta o rótulo visualmente e mantém o nome acessível do campo.
  • –`mk-icon-button`: usa `delegatesFocus`. `focus()` no host move o foco para o `<button>` interno.
  • –`mk-input` com `mask="cnpj"` aceita o CNPJ alfanumérico da RFB (12 posições com letras e dígitos, mais 2 dígitos verificadores) e valida os dígitos verificadores do novo formato.
  • –`mk-input-number`: nova prop `currency="BRL"` exibe o prefixo `R$`, fixa 2 casas decimais e usa separadores pt-BR, no mesmo formato do `mask="brl"` de `mk-input`.
  • –`mk-input-number`: nova prop `valueAsString` com o valor decimal exato em string (ex.: `"12.3456"`), sem perda de precisão. Definir a prop aplica o valor ao campo.
  • –`mk-select`: nova prop `hideLabel` oculta o rótulo visualmente e mantém o nome acessível do combobox.
  • –`mk-select` com `tree`: os pais exibem um chevron que abre e fecha os filhos (clique no chevron, ou ← e → no pai focado). Todos os pais começam abertos. O recuo dos filhos segue o Figma.
  • –`mk-sidebar-item`: `expanded` passa a ser prop pública e refletida. O grupo abre sozinho quando um `mk-sidebar-sub-item` filho está `active`.
  • –`mk-table-header`: `align="center"` e `align="end"` passam a alinhar o conteúdo do cabeçalho (título, ajuda e ordenação) no contêiner flex.
  • –`mk-toast` e `toast()`: `duration: 0` mantém o toast até o usuário fechar. Nova prop/opção `locale` traduz o rótulo do botão de fechar e da região de notificações (pt, es, en).
  • –`mk-upload`: nova prop `mode` (`"multiple"` | `"single"`). Em `"single"`, a dropzone fica compacta em linha e aceita um único arquivo. O `mk-upload-item` entra como filho direto de `mk-upload`, sem `mk-upload-list`, e ocupa o lugar da dropzone enquanto existir. O `mk-upload-item` só recebe `role="listitem"` dentro de `mk-upload-list`. `mk-upload-item`: nova prop `indeterminate` para progresso sem fim conhecido. A barra anima em vai-e-volta e o percentual deixa de ser exibido.

Patch Changes

  • –`mk-table`: nova prop `striped`, que alterna a cor de fundo nas linhas pares de `mk-table-body`. Os tokens de fundo, hover e listrado da tabela seguem o Figma: célula e header em `neutral-white`/`neutral-800`, hover em `brand-50`/`neutral-600` e listrado em `neutral-100`/`neutral-700`.
1.14.7Patch

Patch Changes

  • –Tokens: a rampa 600–900 da marca Flinke segue o Figma. O anel de foco de `mk-menu`, `mk-sidebar`, `mk-navbar` e `mk-rating` usa `--stroke-brand` e acompanha o `data-brand`.
  • –`mk-dialog`: `mkClose` passa a ser cancelável (`preventDefault()` mantém o dialog aberto). `mk-dialog` e `mk-drawer` não fecham mais com um Escape já tratado por um componente interno (ex.: fechar o dropdown de um `mk-select`).
  • –`mk-dialog` e `mk-drawer`: cliques dentro do painel voltam a propagar, e elementos nativos funcionam com frameworks que delegam eventos na raiz (React 17+).
  • –`mk-color-picker`: nova prop `readonly`, igual aos demais campos; `readOnly` fica deprecada. A documentação do `mk-input` passa a listar as máscaras `date` e `time`.
  • –`mk-dialog`: o rodapé é exibido mesmo quando o `mk-dialog-footer` hidrata depois do dialog.
  • –`mk-drawer`: o painel fica limitado ao tamanho da tela em telas menores que o `size` escolhido.
  • –`mk-dialog`: o corpo rola quando o conteúdo é mais alto que a tela, mantendo cabeçalho e rodapé fixos.
1.14.6Patch

Patch Changes

  • –`mk-mentions`: nova prop `mentions` para reabrir conteúdo salvo — as options informadas voltam como tag nos trechos `gatilho + label` de `value`. `mk-tab` e `mk-tab-panel`: a detecção do `mk-tabs` pai passa por `isTag`, respeitando o prefixo de `setTagTransformer`.
1.14.5Patch

Patch Changes

  • –Altera MkButton para ter altura varíavel; Select recebe nova propriedade "emptyText"
1.14.4Patch

Patch Changes

  • –Remove dialog-body overflow-y auto
1.14.3Patch

Patch Changes

  • –Corrige o `toast()` e o `showLoading()` em consumidores que prefixam as tags via `setTagTransformer`: os serviços resolviam `mk-toast` e `mk-loading` pelo literal, então num consumidor que compila a `collection` (como o `@db1/iam-embed`, que registra `iam-mk-*`) o `customElements.get` não achava o componente e toda chamada lançava `[makuco] mk-toast is not registered`. A tag agora passa por `transformTag`, tanto na checagem de registro quanto no `createElement`.
1.14.2Patch

Patch Changes

  • –Remove o mk-divider entre header/body e body/footer do mk-dialog e corrige o header e o footer encolhendo junto com o body quando o conteúdo excede o max-height do painel
1.14.1Patch

Patch Changes

  • –Corrige fechamento indevido do popconfirm, select, autocomplete, date-picker, time-picker, helper, color-picker e menu ao clicar no próprio conteúdo quando o componente está aninhado dentro de outro elemento com shadow DOM (card, modal, wrapper do app consumidor)
1.14.0MinorPatch

Minor Changes

  • –Atualiza cores de marca do WiseShip e Consignet

Patch Changes

  • –Renderiza seletor de qtd. de itens do paginador via Floating UI; Altera ícones do paginador
  • –Corrige tipografia da Tabela e permite que receba bordas via wrapper.
  • –Corrige abertura do Select no Safari
1.13.0Minor

Minor Changes

  • –Prop `autocomplete` adicionada em `mk-input`, `mk-textarea`, `mk-search`, `mk-input-number`, `mk-number-field`, `mk-input-tag` e `mk-date-picker`, repassada ao controle nativo para habilitar o autofill do navegador. `mk-input-otp` já aplicava `autocomplete="one-time-code"` no primeiro slot para ancorar o autofill de SMS/OTP — comportamento preservado, agora coberto por teste.
  • –`id` refletido no host dos 19 componentes form-associated (mais `mk-button`, `mk-icon-button`, `mk-radio-group`, `mk-fab`, `mk-slider`) quando o consumidor não define um, dando a agentes e ferramentas de teste uma âncora estável entre snapshots. `name` passa a ser `reflect: true` em `mk-radio-group`, `mk-button` e `mk-icon-button`, e `mk-fab` ganha a prop `name`. Novas props `controlRole`, `controlExpanded` e `controlHasPopup` em `mk-input`, usadas por `mk-date-picker` e `mk-time-picker` para corrigir `aria-expanded`/`aria-haspopup` que estavam soltos no host em vez de chegar ao controle de texto real. Correção pontual de `cursor: pointer` em `mk-helper`. A troca do gatilho do `mk-select` para `<button>` foi avaliada e adiada por falta de evidência de necessidade real.
  • –Adiciona cores de marca do Flinke e WiseShip
  • –Adição de telemetria de uso de componentes, para que possamos entender melhor como o design system é utilizado. A telemetria é opcional, cheque a documentação de `Telemetria` para mais detalhes.
1.12.0MinorPatch

Minor Changes

  • –Criação do `mk-filter-chip` e `mk-filter-chip-group`, pílulas interativas de filtro com estados de seleção, ícone leading, botão de fechar e semântica de grupo.
  • –Criação do `mk-spinner`, indicador de carregamento inline com tamanho, cor e ícone configuráveis, slot para desenho próprio e modo anunciante opcional via `label`. Passa a ser a única definição de velocidade de rotação do sistema, exposta em `--mk-spinner-duration`, e é adotado internamente pelos componentes com estado assíncrono. A rotação é mantida sob `prefers-reduced-motion`.
  • –Criação do `mk-treeview`, `mk-treeview-node` e `mk-treeview-item`, árvore de navegação e seleção com roving tabindex, seleção única ou múltipla, disabled em cascata, carregamento sob demanda e aninhamento sem limite de profundidade.
  • –Criação do `mk-form-helper`, um ícone de ajuda ao lado do rótulo, e adoção dele via `helperText` nos componentes de formulário. Breaking: no Select, `helperText` deixa de ser alias de `supportText` e passa a controlar o ícone de ajuda.
  • –Campos com chips deixam de estourar o container quando ele encolhe. `mk-select` e `mk-input-tag` passam a tratar os 40px como piso de altura, e não medida fixa: a faixa de chips quebra em várias linhas e o campo cresce, em vez de os chips vazarem por cima do rótulo. O `mk-input-tag` troca o scroll horizontal da faixa por quebra de linha. O `mk-chip` acompanha — o rótulo quebra quando comprimido e a pílula cresce junto — e expõe as partes `root`, `icon`, `label` e `close` para estilo externo via `::part()`.
  • –Documentação do `mk-icon`: `--mk-icon-color`, `--mk-icon-fill` e `--mk-icon-size` passam a estar documentadas como pontos de override, incluindo a precedência sobre as props equivalentes.
  • –Criação do `mk-flex`, primitivo de layout que expõe `direction`, `wrap`, `justifyContent`, `alignItems`, `alignContent`, `inline` e `gap` mapeado para os tokens de espaçamento.
  • –Adicionados os valores `success`, `warning`, `info` e `brand` à prop `kind` de `mk-menu-item`. `danger` é mantido como alias descontinuado de `error`.
  • –`mkBlur` passa a carregar o valor atual, no mesmo formato de `mkChange`, em `mk-input`, `mk-input-number`, `mk-input-tag`, `mk-number-field`, `mk-search`, `mk-textarea`, `mk-time-picker`, `mk-mentions` e `mk-autocomplete`. Antes emitia `void`; agora quem só escuta `mkBlur` (ex.: validação disparada só no blur) tem acesso ao valor sem precisar também escutar `mkChange`.
  • –Criação do `mk-helper`, bolha de apoio ancorada a um trigger com `heading`, `description`, `placement` e abertura por `hover` ou `click`.
  • –Criação do `mk-mentions`, campo de texto com menções acionadas por gatilho, lista de sugestões flutuante e integração com formulários Angular via value accessor.
  • –Criação do `mk-watermark`, marca d'água repetida sobre o conteúdo, com suporte a texto e imagem.
  • –Criação do `mk-scroll-shadow`, wrapper que sobrepõe um gradiente decorativo nas bordas de um conteúdo rolável, com `orientation`, `size` e `visibility`.

Patch Changes

  • –Correção do `mk-popconfirm`: a bolha fechada continuava ocupando layout e interceptando cliques, impedindo a abertura de popconfirms vizinhos. O `display` passa a ser declarado apenas em `:popover-open`.
1.11.0Minor

Minor Changes

  • –Estabilização do Transfer Criação dos grupos de controle para Checkbox, Radio e Switch Criação do Alert, Autocomplete, Loading, Popconfirm e Slider Adição do tamanho `xxl` para o Icon
  • –Criação do Input Tag Adicionada nova prop `closeLabel` no Chip (Default = Remove)
1.10.0Minor

Minor Changes

  • –Criação do Speed Dial
  • –Estabilização do FAB (Floating Action Button)
  • –Criação do Quick View, Sidebar, Input Number e Number Field, Speed Dial Correção no Paginator, adicionado padding lateral.
  • –Atualiza as dimensões do componente Image
1.9.0Minor

Minor Changes

  • –Criação dos componentes: Upload, Meter, ProgressBar, Grid, Kbd, KbdCombo e IllustrationIcon Tema: adição dos tokens do Consignet; atualização dos tokens do Koncili Correções gerais: tokenização do componente Empty Documentação: nova seção 'MCP'
1.8.1Patch

Patch Changes

  • –Define height padrão no Select
1.8.0Minor

Minor Changes

  • –Atualização do Select: depreciada a propriedade 'helperText', adicionada nova funcionalidade 'tree' para exibir opções hierárquicas, e estabilização do componente Estabilização do Color Picker Criação dos componentes: Search, Command Palette, Time Picker Chip: adicionada variante 'gray' para a propriedade 'color'
1.7.0MinorPatch

Minor Changes

  • –Estabilização dos componentes Drawer, Navbar, Menu, Date Picker e Table Utilização da Floating UI para controle de posicionamento e visibilidade dos elementos flutuantes Criação de tokens de overlay e blur Corrigido Icon Button para não quebrar o Stacking Context

Patch Changes

  • –List-item: correção do espaçamento entre slots vazios
1.6.0Minor

Minor Changes

  • –Criação do IconButton Estabilização de componentes: Accordion, Timeline, List e Card Alteração nas cores da variante `strong` da Chip no Dark Mode Adição de componentes experimentais: Table, Navbar, Carousel e Color picker
1.5.0MinorPatch

Minor Changes

  • –Implementação do Dark Mode + utilitários para 'switch' de tema
  • –Criaçao dos componentes Tabs, Stepper, Avatar e Badge

Patch Changes

  • –Corrige cor de fundo e padding do Segmented
1.4.0Minor

Minor Changes

  • –Criação dos componentes Segmented, Empty Criação dos componentes Radio, Switch e Rating Depreciação da propriedade "color" do Link Ajustes na escala dos ícones
1.3.0Minor

Minor Changes

  • –Criação dos componentes de Link e Breadcrumb
  • –Criação do Paginator
1.2.0MinorPatch

Minor Changes

  • –Remove tokens legado; Atualiza tokenização de todos os componentes; Adiciona tematização com "data-brand";

Patch Changes

  • –Fix toast bg-color
  • –Fix Button's outlined stroke property
1.1.0MinorPatch

Minor Changes

  • –Restyle some components: buttons, toast, dialog, chip

Patch Changes

  • –Fix React transitive dependency
1.0.0Major

Major Changes

  • –Initial stable release
0.1.0Minor

Minor Changes

  • –Adicionado Button e Icon