@proef/common-ui 2.2.4 → 2.2.6

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.
@@ -0,0 +1,36 @@
1
+ import React from 'react';
2
+ export interface PeopleFilterPerson {
3
+ id: string;
4
+ name: string;
5
+ /** URL da fotografia. Sem ela ficam as iniciais. */
6
+ photo?: string | null;
7
+ }
8
+ export interface PeopleFilterProps {
9
+ people: PeopleFilterPerson[];
10
+ /** A pessoa escolhida (`id`), ou `null` para nenhuma. */
11
+ value: string | null;
12
+ onChange: (id: string | null) => void;
13
+ /** Nome do grupo, para leitores de ecrã (ex: "Recurso"). */
14
+ label?: string;
15
+ /**
16
+ * Por omissão é um filtro: clicar na escolhida desmarca-a e há um × para limpar.
17
+ * `false` para escolher sempre uma pessoa (ex: num formulário).
18
+ */
19
+ clearable?: boolean;
20
+ /** Nome do botão ×. */
21
+ clearLabel?: string;
22
+ /** `sm` 24px (barras de filtros), `md` 28px (formulários). */
23
+ size?: 'sm' | 'md';
24
+ className?: string;
25
+ }
26
+ /**
27
+ * Escolher uma pessoa pela cara: avatares sobrepostos, a escolhida com o
28
+ * contorno turquesa dos filtros e as outras esbatidas. O nome aparece ao passar
29
+ * o rato.
30
+ *
31
+ * Usar para filtrar uma lista por pessoa (ex: por recurso ou responsável) ou,
32
+ * com `clearable={false}`, para escolher a pessoa num formulário. O × fica
33
+ * sempre com o seu lugar, para os avatares não saltarem quando aparece.
34
+ */
35
+ export default function PeopleFilter({ people, value, onChange, label, clearable, clearLabel, size, className, }: PeopleFilterProps): React.JSX.Element | null;
36
+ export { PeopleFilter };
@@ -0,0 +1,22 @@
1
+ import React from 'react';
2
+ export interface SwitchProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'onChange' | 'type' | 'role'> {
3
+ /** Ligado ou desligado. A app guarda este estado. */
4
+ checked: boolean;
5
+ /** O valor novo, ao clicar (ou com Espaço/Enter). */
6
+ onChange: (checked: boolean) => void;
7
+ /** Texto à direita (ex: "Ativo"). Clicar nele também muda o interruptor. */
8
+ label?: React.ReactNode;
9
+ }
10
+ /**
11
+ * Interruptor de ligar/desligar, para uma opção que tem efeito logo (ex: "Grupo CAB",
12
+ * "Mostrar inativos"). Para marcar itens numa lista ou aceitar termos, usar a
13
+ * [Checkbox](?path=/docs/v1-primitives-forms-checkbox--docs).
14
+ *
15
+ * Dentro de um [FormField](?path=/docs/v1-components-forms-formfield--docs) fica
16
+ * ligado à etiqueta automaticamente. Fora dele, dar-lhe um `label` ou um `aria-label`.
17
+ *
18
+ * **Aceita os atributos HTML do [&lt;button&gt;](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/button)** (`disabled`, `name`, `ref`, `aria-*`, ...).
19
+ * Diferenças: o `className` aplica-se ao conjunto (interruptor e texto).
20
+ */
21
+ declare const Switch: React.ForwardRefExoticComponent<SwitchProps & React.RefAttributes<HTMLButtonElement>>;
22
+ export default Switch;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@proef/common-ui",
3
- "version": "2.2.4",
3
+ "version": "2.2.6",
4
4
  "description": "",
5
5
  "main": "dist/esm/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -1,36 +0,0 @@
1
- .cui-container {
2
- color: var(--dark-blue);
3
- display: flex;
4
- align-items: center;
5
- }
6
- .cui-container .cui-label {
7
- white-space: nowrap;
8
- }
9
-
10
- .cui-switch {
11
- display: inline-block;
12
- }
13
-
14
- .cui-switch-size-default {
15
- font-size: 0.95rem;
16
- gap: 0.4rem;
17
- }
18
- .cui-switch-size-default .cui-switch {
19
- transform: scale(1);
20
- }
21
-
22
- .cui-switch-size-compact {
23
- font-size: 0.85rem;
24
- gap: 0.2rem;
25
- }
26
- .cui-switch-size-compact .cui-switch {
27
- transform: scale(0.85);
28
- }
29
-
30
- .cui-switch-size-large {
31
- font-size: 1.1rem;
32
- gap: 0.7rem;
33
- }
34
- .cui-switch-size-large .cui-switch {
35
- transform: scale(1.15);
36
- }