@kenlo/kdls-design-system 2.19.1 → 2.20.1

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/README.md CHANGED
@@ -42,6 +42,23 @@ Os tokens ficam em `foundations/tokens.css` como CSS custom properties (`var(--s
42
42
 
43
43
  `npm run dev` sobe o portal de documentação, com os playgrounds de cada componente e as páginas de fundação (cores, tipografia, espaçamento, grid, ícones).
44
44
 
45
+ ## Portal no pages.kenlo.io
46
+
47
+ Decisão do Rafael Leobas, 03/11/2026: o portal do KDLS deve morar no pages.kenlo.io, como o do SDS,
48
+ para a empresa toda navegar e testar com o login da Kenlo.
49
+
50
+ **Ainda não cabe.** Montado para lá, o portal tem cerca de 17 MB, porque carrega a biblioteca inteira de
51
+ ícones Fluent (cerca de 24 mil ícones), e o limite por página do pages.kenlo.io é 5 MB. Há dois caminhos:
52
+ subir o limite para portais de design system (decisão de quem administra o pages.kenlo.io) ou fazer o
53
+ portal carregar só os ícones que mostra. Até lá, vale o portal que a esteira publica a cada merge na
54
+ `main`: https://storage.googleapis.com/kenlo-open-docs/kdls-design-system/index.html. Ele abria em
55
+ branco até 03/11/2026: era montado para a raiz do domínio (`base: '/kdls-design-system/'`) e o bucket o
56
+ serve dentro de `/kenlo-open-docs/`. Com `base: './'` em `portal/vite.config.ts` ele funciona em qualquer
57
+ pasta, inclusive no pages.kenlo.io.
58
+
59
+ **Regra, quando estiver no pages.kenlo.io:** toda mudança que entra na `main` atualiza a página do
60
+ portal, do mesmo jeito que no SDS (seção "Portal no pages.kenlo.io" do README do `sds-design-system`).
61
+
45
62
  ## Status
46
63
 
47
64
  Publicado no npm como [`@kenlo/kdls-design-system`](https://www.npmjs.com/package/@kenlo/kdls-design-system).
@@ -14,6 +14,12 @@ interface ToastApi {
14
14
  neutral: (message: string, opts?: ShorthandOptions) => number;
15
15
  /** Closes a toast by id (triggers the exit animation) */
16
16
  dismiss: (id: number) => void;
17
+ /**
18
+ * Where the page's own top ends (its header or sub-header), in px from the top of the
19
+ * window: the open pile and "Fechar todos" stay 16px below it. `null` goes back to the
20
+ * window's top. Sets `--kdls-toaster-top` on the root.
21
+ */
22
+ setTopLimit: (px: number | null) => void;
17
23
  }
18
24
  export declare const toast: ToastApi;
19
25
  export type { ToastOptions };
@@ -1,5 +1,7 @@
1
1
  import type { ToastFeedback } from './Toast';
2
2
  import type { TooltipPosition } from '../Tooltip';
3
+ /** Time the pile stays once every toast in it joined, before all leave */
4
+ export declare const TOAST_PILE_MS = 4000;
3
5
  /** Must match the exit animation in Toast.css (.kdls-toast--leaving) */
4
6
  export declare const TOAST_EXIT_MS = 220;
5
7
  export interface ToastOptions {
@@ -30,11 +32,15 @@ export interface ToastItem {
30
32
  showDismiss: boolean;
31
33
  /** true while the exit animates, before leaving the list */
32
34
  leaving: boolean;
35
+ /** true once its time open ended and it joined the pile; false while open */
36
+ joined: boolean;
37
+ /** Order in which it joined the pile: the last one to join is in front */
38
+ joinOrder?: number;
33
39
  }
34
40
  type Listener = (toasts: ToastItem[]) => void;
35
41
  /** Subscribes to list changes. Calls immediately with the current state. Returns the unsubscribe function. */
36
42
  export declare function subscribe(listener: Listener): () => void;
37
- /** Adds a toast at the end of the line. Returns the id. */
43
+ /** Adds a toast above the others; fired together, the most important goes last. Returns the id. */
38
44
  export declare function addToast(message: string, opts?: ToastOptions): number;
39
45
  /** Closes a toast manually (triggers the exit animation). */
40
46
  export declare function dismissToast(id: number): void;