@selectwin/kit 0.1.195 → 0.1.197
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 +52 -47
- package/dist/SelectBalanceCard.d.ts +6 -1
- package/dist/SelectListCard.d.ts +5 -0
- package/dist/SelectMiniStats.d.ts +3 -1
- package/dist/SelectShareBar.d.ts +8 -2
- package/dist/index.js +140 -100
- package/dist/style.css +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,47 +1,52 @@
|
|
|
1
|
-
# @selectwin/kit
|
|
2
|
-
|
|
3
|
-
Design system da Selectwin — primitivos React, charts SVG (sem dependência de biblioteca de
|
|
4
|
-
gráficos) e tokens CSS, theme-aware (light/dark).
|
|
5
|
-
|
|
6
|
-
Uso interno da Selectwin. Publicado no npm para facilitar a distribuição entre os apps da casa;
|
|
7
|
-
não há suporte, documentação pública nem garantia de estabilidade de API para terceiros.
|
|
8
|
-
|
|
9
|
-
## Uso
|
|
10
|
-
|
|
11
|
-
```bash
|
|
12
|
-
npm i @selectwin/kit
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
```tsx
|
|
16
|
-
import '@selectwin/kit/styles.css'; // tokens + estilos (uma vez, no root)
|
|
17
|
-
import { SelectButton, SelectSection } from '@selectwin/kit';
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
Idioma (0.1.187): os textos próprios do kit ("Página anterior", "Mais filtros", "Fechar"…) e os números que ele
|
|
21
|
-
formata saem em português. Para inglês, envolva o app no `SelectLocaleProvider`:
|
|
22
|
-
|
|
23
|
-
```tsx
|
|
24
|
-
import { SelectLocaleProvider } from '@selectwin/kit';
|
|
25
|
-
|
|
26
|
-
<SelectLocaleProvider locale="en">{app}</SelectLocaleProvider>; // 'pt-BR' | 'en'
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
A prop de texto do componente (`confirmLabel`, `noun`…) sempre ganha do dicionário.
|
|
30
|
-
|
|
31
|
-
Tom corporativo (0.1.188; arredondado suave no botão desde a 0.1.192, em tudo desde a 0.1.193 e bem suave desde a
|
|
32
|
-
0.1.195): campo e botão com 1rem (`--select-radius`, `--select-radius-button`), card 1.5rem, caixa de dentro e menu
|
|
33
|
-
1rem, item de menu 0.75rem (`--select-radius-sm`); pílula só em selo. Rótulos de KPI
|
|
34
|
-
e cabeçalho de tabela em caixa-alta espaçada. Nos gráficos, cor é situação: verde `--select-chart-paid` = pago, dourado
|
|
35
|
-
`--select-chart-pending` (+ `-edge`) = pendente, `--select-chart-compare` = o período anterior, e os cinzas
|
|
36
|
-
`--select-chart-ramp-1..4` para categoria. O app que quer o visual antigo sobrescreve esses tokens.
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
1
|
+
# @selectwin/kit
|
|
2
|
+
|
|
3
|
+
Design system da Selectwin — primitivos React, charts SVG (sem dependência de biblioteca de
|
|
4
|
+
gráficos) e tokens CSS, theme-aware (light/dark).
|
|
5
|
+
|
|
6
|
+
Uso interno da Selectwin. Publicado no npm para facilitar a distribuição entre os apps da casa;
|
|
7
|
+
não há suporte, documentação pública nem garantia de estabilidade de API para terceiros.
|
|
8
|
+
|
|
9
|
+
## Uso
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm i @selectwin/kit
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
```tsx
|
|
16
|
+
import '@selectwin/kit/styles.css'; // tokens + estilos (uma vez, no root)
|
|
17
|
+
import { SelectButton, SelectSection } from '@selectwin/kit';
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Idioma (0.1.187): os textos próprios do kit ("Página anterior", "Mais filtros", "Fechar"…) e os números que ele
|
|
21
|
+
formata saem em português. Para inglês, envolva o app no `SelectLocaleProvider`:
|
|
22
|
+
|
|
23
|
+
```tsx
|
|
24
|
+
import { SelectLocaleProvider } from '@selectwin/kit';
|
|
25
|
+
|
|
26
|
+
<SelectLocaleProvider locale="en">{app}</SelectLocaleProvider>; // 'pt-BR' | 'en'
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
A prop de texto do componente (`confirmLabel`, `noun`…) sempre ganha do dicionário.
|
|
30
|
+
|
|
31
|
+
Tom corporativo (0.1.188; arredondado suave no botão desde a 0.1.192, em tudo desde a 0.1.193 e bem suave desde a
|
|
32
|
+
0.1.195): campo e botão com 1rem (`--select-radius`, `--select-radius-button`), card 1.5rem, caixa de dentro e menu
|
|
33
|
+
1rem, item de menu 0.75rem (`--select-radius-sm`); pílula só em selo. Rótulos de KPI
|
|
34
|
+
e cabeçalho de tabela em caixa-alta espaçada. Nos gráficos, cor é situação: verde `--select-chart-paid` = pago, dourado
|
|
35
|
+
`--select-chart-pending` (+ `-edge`) = pendente, `--select-chart-compare` = o período anterior, e os cinzas
|
|
36
|
+
`--select-chart-ramp-1..4` para categoria. O app que quer o visual antigo sobrescreve esses tokens.
|
|
37
|
+
|
|
38
|
+
O card mostra o dado; a explicação vai no tooltip (0.1.196). O "i" `help` está no `SelectSection`, no
|
|
39
|
+
`SelectDataTable`, no `SelectChartCard`, no `SelectKpiCard`, no `SelectListCard`, em cada número do `SelectMiniStats` e
|
|
40
|
+
em cada balde do `SelectBalanceCard`. Na `SelectShareBar`, cada faixa tem o seu tooltip, e a nota da parte vai em
|
|
41
|
+
`tip`; o que o clique faz vai em `selectHint`/`clearHint`, no lugar da linha `hint`.
|
|
42
|
+
|
|
43
|
+
Peer deps: **react**, **react-dom** (obrigatórios); **gsap** (opcional — só componentes animados),
|
|
44
|
+
**react-router-dom** (opcional). Tematização = sobrescrever os tokens CSS `--select-*` / `--sw-*`.
|
|
45
|
+
|
|
46
|
+
## Build
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
npm run build # → dist/index.js (ESM) + dist/style.css + dist/index.d.ts
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
`npm publish` roda `prepublishOnly` (= build) e publica só `dist/` (sem sourcemaps).
|
|
@@ -4,8 +4,10 @@ export interface SelectBalanceBucket {
|
|
|
4
4
|
cents: number | string | null | undefined;
|
|
5
5
|
/** Optional icon embedded in the bucket's mini-card. */
|
|
6
6
|
icon?: ReactNode;
|
|
7
|
-
/** One line of context under the amount (hero tiles only) — "
|
|
7
|
+
/** One line of context under the amount (hero tiles only) — a DADO ("Nada retido agora"), não a definição. */
|
|
8
8
|
hint?: ReactNode;
|
|
9
|
+
/** O "i" ao lado do rótulo (0.1.196): o que o balde é ("Vira disponível no prazo de cada venda"). */
|
|
10
|
+
help?: ReactNode;
|
|
9
11
|
}
|
|
10
12
|
/** One context number on the hero's strip ("Entra nos próximos 7 dias", "Último saque · 23/09"). */
|
|
11
13
|
export interface SelectBalanceMeta {
|
|
@@ -20,6 +22,9 @@ export interface SelectBalanceMeta {
|
|
|
20
22
|
export interface SelectBalanceCardProps {
|
|
21
23
|
availableCents: number | string | null | undefined;
|
|
22
24
|
availableLabel?: string;
|
|
25
|
+
/** hero: o "i" ao lado do rótulo do saldo (0.1.197) — "Os próximos recebíveis abatem sozinhos" sob o saldo devedor.
|
|
26
|
+
* A explicação não ocupa a linha do "Atualizado…" (dono, 03/11/2026: a explicação vai no tooltip). */
|
|
27
|
+
availableHelp?: ReactNode;
|
|
23
28
|
/** Period-over-period variation of the available balance (percentage). `card` only. */
|
|
24
29
|
delta?: number | null;
|
|
25
30
|
buckets?: SelectBalanceBucket[];
|
package/dist/SelectListCard.d.ts
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { ReactNode, ComponentPropsWithoutRef } from 'react';
|
|
2
2
|
type SelectListCardOwnProps = {
|
|
3
3
|
title?: ReactNode;
|
|
4
|
+
/**
|
|
5
|
+
* O "i" ao lado do título (0.1.196), como o do `SelectSection`: a explicação do card mora aqui, não numa linha do
|
|
6
|
+
* corpo nem na descrição (dono, 03/11/2026 — o card mostra o dado).
|
|
7
|
+
*/
|
|
8
|
+
help?: ReactNode;
|
|
4
9
|
description?: ReactNode;
|
|
5
10
|
/** Right-aligned action in the header (e.g. an "Add" button). */
|
|
6
11
|
headerAction?: ReactNode;
|
|
@@ -3,8 +3,10 @@ export interface SelectMiniStat {
|
|
|
3
3
|
key?: string;
|
|
4
4
|
label: ReactNode;
|
|
5
5
|
value: ReactNode;
|
|
6
|
-
/** Linha de apoio sob o número ("398 de 1.284"
|
|
6
|
+
/** Linha de apoio sob o número — DADO ("398 de 1.284"). A definição do número vai em `help`. */
|
|
7
7
|
hint?: ReactNode;
|
|
8
|
+
/** O "i" ao lado do rótulo (0.1.196): como o número é contado ("mediana entre compras"). Não vira linha no card. */
|
|
9
|
+
help?: ReactNode;
|
|
8
10
|
}
|
|
9
11
|
type SelectMiniStatsOwnProps = {
|
|
10
12
|
items: SelectMiniStat[];
|
package/dist/SelectShareBar.d.ts
CHANGED
|
@@ -10,6 +10,8 @@ export interface SelectShareItem {
|
|
|
10
10
|
valueText?: ReactNode;
|
|
11
11
|
/** Na legenda em fichas: o número em negrito ao lado do rótulo (a contagem). */
|
|
12
12
|
count?: ReactNode;
|
|
13
|
+
/** A nota da parte, no tooltip da faixa e da ficha (0.1.196): "Inclui 203 Pix vencidos…". Nunca uma linha no card. */
|
|
14
|
+
tip?: ReactNode;
|
|
13
15
|
}
|
|
14
16
|
type SelectShareBarOwnProps = {
|
|
15
17
|
items: SelectShareItem[];
|
|
@@ -23,9 +25,13 @@ type SelectShareBarOwnProps = {
|
|
|
23
25
|
onSelect?: (key: string) => void;
|
|
24
26
|
/** A parte escolhida (as outras esmaecem). */
|
|
25
27
|
selected?: string | null;
|
|
26
|
-
/** Linha discreta sob a legenda. */
|
|
28
|
+
/** Linha discreta sob a legenda. Prefira o tooltip: a explicação vai no `tip` da parte e o clique em `selectHint`. */
|
|
27
29
|
hint?: ReactNode;
|
|
30
|
+
/** Com `onSelect`, a última linha do tooltip de cada faixa e ficha (0.1.196). Padrão: "Clique para filtrar." */
|
|
31
|
+
selectHint?: ReactNode;
|
|
32
|
+
/** A mesma linha na parte escolhida. Padrão: "Clique de novo para ver todas." */
|
|
33
|
+
clearHint?: ReactNode;
|
|
28
34
|
};
|
|
29
35
|
export type SelectShareBarProps = SelectShareBarOwnProps & Omit<ComponentPropsWithoutRef<'div'>, keyof SelectShareBarOwnProps>;
|
|
30
|
-
export declare function SelectShareBar({ items, label, aside, legend, size, onSelect, selected, hint, className, ...rest }: SelectShareBarProps): import("react").JSX.Element | null;
|
|
36
|
+
export declare function SelectShareBar({ items, label, aside, legend, size, onSelect, selected, hint, selectHint, clearHint, className, ...rest }: SelectShareBarProps): import("react").JSX.Element | null;
|
|
31
37
|
export {};
|
package/dist/index.js
CHANGED
|
@@ -12715,19 +12715,19 @@ var Mu = "allow-scripts allow-same-origin allow-forms", Nu = 390, Pu = 1280, Fu
|
|
|
12715
12715
|
})
|
|
12716
12716
|
})]
|
|
12717
12717
|
});
|
|
12718
|
-
}), Iu = r(function({ availableCents: e, availableLabel: t = "Saldo disponível",
|
|
12719
|
-
if (
|
|
12720
|
-
let
|
|
12718
|
+
}), Iu = r(function({ availableCents: e, availableLabel: t = "Saldo disponível", availableHelp: n, delta: r, buckets: i = [], action: a, variant: o = "card", updatedLabel: s, meta: c = [], status: l, loading: u = !1, className: d, ...f }, p) {
|
|
12719
|
+
if (o === "hero") {
|
|
12720
|
+
let r = (e, t = "1em") => /* @__PURE__ */ v("span", {
|
|
12721
12721
|
className: "select-skeleton select-balance__skel",
|
|
12722
12722
|
style: {
|
|
12723
12723
|
width: e,
|
|
12724
12724
|
height: t
|
|
12725
12725
|
}
|
|
12726
|
-
}),
|
|
12726
|
+
}), o = (e) => e == null || e === "" ? "—" : /* @__PURE__ */ v(Gl, { cents: e });
|
|
12727
12727
|
return /* @__PURE__ */ v("div", {
|
|
12728
|
-
ref:
|
|
12729
|
-
...
|
|
12730
|
-
className: `select-balance-hero${
|
|
12728
|
+
ref: p,
|
|
12729
|
+
...f,
|
|
12730
|
+
className: `select-balance-hero${d ? " " + d : ""}`,
|
|
12731
12731
|
children: /* @__PURE__ */ y("div", {
|
|
12732
12732
|
className: "select-balance-hero__layout",
|
|
12733
12733
|
children: [/* @__PURE__ */ y("section", {
|
|
@@ -12737,64 +12737,74 @@ var Mu = "allow-scripts allow-same-origin allow-forms", Nu = 390, Pu = 1280, Fu
|
|
|
12737
12737
|
/* @__PURE__ */ y("div", {
|
|
12738
12738
|
className: "select-balance-hero__top",
|
|
12739
12739
|
children: [
|
|
12740
|
-
/* @__PURE__ */
|
|
12741
|
-
className: "select-balance-hero__label"
|
|
12742
|
-
children: t
|
|
12740
|
+
/* @__PURE__ */ y("span", {
|
|
12741
|
+
className: `select-balance-hero__label${n == null ? "" : " select-balance-hero__label--help"}`,
|
|
12742
|
+
children: [t, n != null && /* @__PURE__ */ v(Mn, {
|
|
12743
|
+
content: n,
|
|
12744
|
+
label: `Sobre ${t}`
|
|
12745
|
+
})]
|
|
12743
12746
|
}),
|
|
12744
12747
|
/* @__PURE__ */ v("span", {
|
|
12745
12748
|
className: "select-balance-hero__amount",
|
|
12746
|
-
children:
|
|
12749
|
+
children: u ? r("11ch", "0.9em") : o(e)
|
|
12747
12750
|
}),
|
|
12748
|
-
|
|
12751
|
+
s != null && !u && /* @__PURE__ */ y("span", {
|
|
12749
12752
|
className: "select-balance-hero__updated",
|
|
12750
|
-
children: [/* @__PURE__ */ v(he, {}),
|
|
12753
|
+
children: [/* @__PURE__ */ v(he, {}), s]
|
|
12751
12754
|
})
|
|
12752
12755
|
]
|
|
12753
12756
|
}),
|
|
12754
|
-
|
|
12757
|
+
c.length > 0 && /* @__PURE__ */ v("dl", {
|
|
12755
12758
|
className: "select-balance-hero__meta",
|
|
12756
|
-
children:
|
|
12759
|
+
children: c.map((e, t) => /* @__PURE__ */ y("div", {
|
|
12757
12760
|
className: "select-balance-hero__metaitem",
|
|
12758
|
-
children: [/* @__PURE__ */ v("dt", { children: e.label }), /* @__PURE__ */ v("dd", { children:
|
|
12761
|
+
children: [/* @__PURE__ */ v("dt", { children: e.label }), /* @__PURE__ */ v("dd", { children: u ? r("7ch") : e.cents != null && e.cents !== "" ? /* @__PURE__ */ y(_, { children: [e.prefix, /* @__PURE__ */ v(Gl, { cents: e.cents })] }) : e.value ?? "—" })]
|
|
12759
12762
|
}, t))
|
|
12760
12763
|
}),
|
|
12761
|
-
(
|
|
12764
|
+
(a || l) && /* @__PURE__ */ y("div", {
|
|
12762
12765
|
className: "select-balance-hero__foot",
|
|
12763
|
-
children: [
|
|
12766
|
+
children: [a && /* @__PURE__ */ y("button", {
|
|
12764
12767
|
type: "button",
|
|
12765
12768
|
className: "select-balance-hero__cta",
|
|
12766
|
-
onClick:
|
|
12767
|
-
disabled:
|
|
12768
|
-
"aria-busy":
|
|
12769
|
-
children: [
|
|
12770
|
-
}),
|
|
12771
|
-
className: `select-balance-hero__status select-balance-hero__status--${
|
|
12769
|
+
onClick: a.onAction,
|
|
12770
|
+
disabled: a.disabled || a.loading,
|
|
12771
|
+
"aria-busy": a.loading || void 0,
|
|
12772
|
+
children: [a.icon, a.content]
|
|
12773
|
+
}), l && /* @__PURE__ */ y("span", {
|
|
12774
|
+
className: `select-balance-hero__status select-balance-hero__status--${l.tone ?? "success"}`,
|
|
12772
12775
|
children: [/* @__PURE__ */ v("span", {
|
|
12773
12776
|
className: "select-balance-hero__statusdot",
|
|
12774
12777
|
"aria-hidden": "true"
|
|
12775
|
-
}),
|
|
12778
|
+
}), l.label]
|
|
12776
12779
|
})]
|
|
12777
12780
|
})
|
|
12778
12781
|
]
|
|
12779
|
-
}),
|
|
12782
|
+
}), i.length > 0 && /* @__PURE__ */ v("div", {
|
|
12780
12783
|
className: "select-balance-hero__tiles",
|
|
12781
|
-
children:
|
|
12784
|
+
children: i.map((e) => /* @__PURE__ */ y("div", {
|
|
12782
12785
|
className: "select-balance-hero__tile",
|
|
12783
12786
|
children: [
|
|
12784
12787
|
/* @__PURE__ */ y("div", {
|
|
12785
12788
|
className: "select-balance-hero__tilehead",
|
|
12786
|
-
children: [
|
|
12787
|
-
|
|
12788
|
-
|
|
12789
|
-
|
|
12790
|
-
|
|
12791
|
-
|
|
12792
|
-
|
|
12793
|
-
|
|
12789
|
+
children: [
|
|
12790
|
+
e.icon && /* @__PURE__ */ v("span", {
|
|
12791
|
+
className: "select-balance-hero__tileicon",
|
|
12792
|
+
children: e.icon
|
|
12793
|
+
}),
|
|
12794
|
+
/* @__PURE__ */ v("span", {
|
|
12795
|
+
className: "select-balance-hero__tilelabel",
|
|
12796
|
+
title: e.label,
|
|
12797
|
+
children: e.label
|
|
12798
|
+
}),
|
|
12799
|
+
e.help != null && /* @__PURE__ */ v(Mn, {
|
|
12800
|
+
content: e.help,
|
|
12801
|
+
label: `Sobre ${e.label}`
|
|
12802
|
+
})
|
|
12803
|
+
]
|
|
12794
12804
|
}),
|
|
12795
12805
|
/* @__PURE__ */ v("span", {
|
|
12796
12806
|
className: "select-balance-hero__tileamount",
|
|
12797
|
-
children:
|
|
12807
|
+
children: u ? r("8ch", "0.85em") : o(e.cents)
|
|
12798
12808
|
}),
|
|
12799
12809
|
e.hint != null && /* @__PURE__ */ v("span", {
|
|
12800
12810
|
className: "select-balance-hero__tilehint",
|
|
@@ -12807,22 +12817,22 @@ var Mu = "allow-scripts allow-same-origin allow-forms", Nu = 390, Pu = 1280, Fu
|
|
|
12807
12817
|
});
|
|
12808
12818
|
}
|
|
12809
12819
|
return /* @__PURE__ */ y("div", {
|
|
12810
|
-
ref:
|
|
12811
|
-
...
|
|
12812
|
-
className: `select-balance${
|
|
12820
|
+
ref: p,
|
|
12821
|
+
...f,
|
|
12822
|
+
className: `select-balance${d ? " " + d : ""}`,
|
|
12813
12823
|
children: [/* @__PURE__ */ y("div", {
|
|
12814
12824
|
className: "select-balance__head",
|
|
12815
12825
|
children: [/* @__PURE__ */ v("h3", {
|
|
12816
12826
|
className: "select-balance__title",
|
|
12817
12827
|
children: t
|
|
12818
|
-
}),
|
|
12828
|
+
}), a && /* @__PURE__ */ v(W, {
|
|
12819
12829
|
variant: "primary",
|
|
12820
12830
|
size: "sm",
|
|
12821
12831
|
inline: !0,
|
|
12822
|
-
onClick:
|
|
12823
|
-
disabled:
|
|
12824
|
-
loading:
|
|
12825
|
-
children:
|
|
12832
|
+
onClick: a.onAction,
|
|
12833
|
+
disabled: a.disabled,
|
|
12834
|
+
loading: a.loading,
|
|
12835
|
+
children: a.content
|
|
12826
12836
|
})]
|
|
12827
12837
|
}), /* @__PURE__ */ y("div", {
|
|
12828
12838
|
className: "select-balance__body",
|
|
@@ -12831,23 +12841,26 @@ var Mu = "allow-scripts allow-same-origin allow-forms", Nu = 390, Pu = 1280, Fu
|
|
|
12831
12841
|
children: [/* @__PURE__ */ v("span", {
|
|
12832
12842
|
className: "select-balance__heroamount",
|
|
12833
12843
|
children: /* @__PURE__ */ v(Gl, { cents: e })
|
|
12834
|
-
}),
|
|
12835
|
-
value:
|
|
12844
|
+
}), r != null && /* @__PURE__ */ v(ql, {
|
|
12845
|
+
value: r,
|
|
12836
12846
|
caption: "vs. período anterior"
|
|
12837
12847
|
})]
|
|
12838
|
-
}),
|
|
12848
|
+
}), i.length > 0 && /* @__PURE__ */ v("div", {
|
|
12839
12849
|
className: "select-balance__buckets",
|
|
12840
|
-
children:
|
|
12850
|
+
children: i.map((e) => /* @__PURE__ */ y("div", {
|
|
12841
12851
|
className: "select-balance__bucket",
|
|
12842
12852
|
children: [e.icon && /* @__PURE__ */ v("span", {
|
|
12843
12853
|
className: "select-balance__bucketicon",
|
|
12844
12854
|
children: e.icon
|
|
12845
12855
|
}), /* @__PURE__ */ y("span", {
|
|
12846
12856
|
className: "select-balance__bucketbody",
|
|
12847
|
-
children: [/* @__PURE__ */
|
|
12857
|
+
children: [/* @__PURE__ */ y("span", {
|
|
12848
12858
|
className: "select-balance__bucketlabel",
|
|
12849
12859
|
title: e.label,
|
|
12850
|
-
children: e.label
|
|
12860
|
+
children: [e.label, e.help != null && /* @__PURE__ */ v(Mn, {
|
|
12861
|
+
content: e.help,
|
|
12862
|
+
label: `Sobre ${e.label}`
|
|
12863
|
+
})]
|
|
12851
12864
|
}), /* @__PURE__ */ v("span", {
|
|
12852
12865
|
className: "select-balance__bucketamount",
|
|
12853
12866
|
children: /* @__PURE__ */ v(Gl, { cents: e.cents })
|
|
@@ -15073,17 +15086,38 @@ function Yd({ items: e, className: t, ...n }) {
|
|
|
15073
15086
|
}
|
|
15074
15087
|
//#endregion
|
|
15075
15088
|
//#region src/SelectShareBar.tsx
|
|
15076
|
-
function Xd({ items: e, label: t, aside: n, legend: r = "list", size: i = "sm", onSelect: a, selected: o, hint: s,
|
|
15077
|
-
let
|
|
15089
|
+
function Xd({ items: e, label: t, aside: n, legend: r = "list", size: i = "sm", onSelect: a, selected: o, hint: s, selectHint: c = "Clique para filtrar.", clearHint: l = "Clique de novo para ver todas.", className: u, ...d }) {
|
|
15090
|
+
let f = e.map((e, t) => ({
|
|
15078
15091
|
...e,
|
|
15079
15092
|
key: e.key ?? e.label,
|
|
15080
15093
|
color: e.color ?? X(t)
|
|
15081
|
-
})).filter((e) => e.value > 0),
|
|
15082
|
-
if (
|
|
15083
|
-
let
|
|
15094
|
+
})).filter((e) => e.value > 0), p = f.reduce((e, t) => e + t.value, 0);
|
|
15095
|
+
if (p <= 0) return null;
|
|
15096
|
+
let m = (e) => Math.round(e / p * 100), h = (e) => o != null && o !== e, g = (e, t) => {
|
|
15097
|
+
let n = a ? o === e.key ? l : c : null;
|
|
15098
|
+
return !t && e.tip == null && n == null ? null : /* @__PURE__ */ y("span", {
|
|
15099
|
+
className: "select-sharebar__tip",
|
|
15100
|
+
children: [
|
|
15101
|
+
t && /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ v("strong", { children: e.label }), /* @__PURE__ */ y("span", { children: [
|
|
15102
|
+
e.count != null && /* @__PURE__ */ y(_, { children: [e.count, " · "] }),
|
|
15103
|
+
e.valueText != null && /* @__PURE__ */ y(_, { children: [e.valueText, " · "] }),
|
|
15104
|
+
m(e.value),
|
|
15105
|
+
"%"
|
|
15106
|
+
] })] }),
|
|
15107
|
+
e.tip != null && /* @__PURE__ */ v("span", { children: e.tip }),
|
|
15108
|
+
n != null && /* @__PURE__ */ v("span", {
|
|
15109
|
+
className: "select-sharebar__tipaction",
|
|
15110
|
+
children: n
|
|
15111
|
+
})
|
|
15112
|
+
]
|
|
15113
|
+
});
|
|
15114
|
+
}, b = (e, t) => e == null ? t : /* @__PURE__ */ v(wn, {
|
|
15115
|
+
content: e,
|
|
15116
|
+
children: t
|
|
15117
|
+
});
|
|
15084
15118
|
return /* @__PURE__ */ y("div", {
|
|
15085
|
-
...
|
|
15086
|
-
className: `select-sharebar select-sharebar--${i}${r === "chips" ? " select-sharebar--chips" : ""}${
|
|
15119
|
+
...d,
|
|
15120
|
+
className: `select-sharebar select-sharebar--${i}${r === "chips" ? " select-sharebar--chips" : ""}${u ? " " + u : ""}`,
|
|
15087
15121
|
children: [
|
|
15088
15122
|
(t != null || n != null) && /* @__PURE__ */ y("div", {
|
|
15089
15123
|
className: "select-sharebar__head",
|
|
@@ -15092,28 +15126,31 @@ function Xd({ items: e, label: t, aside: n, legend: r = "list", size: i = "sm",
|
|
|
15092
15126
|
/* @__PURE__ */ v("div", {
|
|
15093
15127
|
className: "select-sharebar__track",
|
|
15094
15128
|
role: a ? "group" : "img",
|
|
15095
|
-
"aria-label":
|
|
15096
|
-
children:
|
|
15097
|
-
|
|
15098
|
-
|
|
15099
|
-
|
|
15100
|
-
|
|
15101
|
-
|
|
15102
|
-
|
|
15103
|
-
|
|
15104
|
-
|
|
15105
|
-
|
|
15106
|
-
|
|
15107
|
-
|
|
15108
|
-
|
|
15109
|
-
|
|
15110
|
-
|
|
15111
|
-
|
|
15129
|
+
"aria-label": f.map((e) => `${e.label} ${m(e.value)}%`).join(", "),
|
|
15130
|
+
children: f.map((e) => /* @__PURE__ */ v(wn, {
|
|
15131
|
+
content: g(e, !0),
|
|
15132
|
+
children: a ? /* @__PURE__ */ v("button", {
|
|
15133
|
+
type: "button",
|
|
15134
|
+
className: `select-sharebar__seg select-sharebar__seg--btn${h(e.key) ? " is-dim" : ""}`,
|
|
15135
|
+
style: {
|
|
15136
|
+
width: `${e.value / p * 100}%`,
|
|
15137
|
+
background: e.color
|
|
15138
|
+
},
|
|
15139
|
+
"aria-label": `${e.label}: ${m(e.value)}%`,
|
|
15140
|
+
"aria-pressed": o === e.key,
|
|
15141
|
+
onClick: () => a(e.key)
|
|
15142
|
+
}) : /* @__PURE__ */ v("span", {
|
|
15143
|
+
className: `select-sharebar__seg${h(e.key) ? " is-dim" : ""}`,
|
|
15144
|
+
style: {
|
|
15145
|
+
width: `${e.value / p * 100}%`,
|
|
15146
|
+
background: e.color
|
|
15147
|
+
}
|
|
15148
|
+
})
|
|
15112
15149
|
}, e.key))
|
|
15113
15150
|
}),
|
|
15114
15151
|
r === "chips" ? /* @__PURE__ */ v("ul", {
|
|
15115
15152
|
className: "select-sharebar__chips",
|
|
15116
|
-
children:
|
|
15153
|
+
children: f.map((e) => {
|
|
15117
15154
|
let t = /* @__PURE__ */ y(_, { children: [
|
|
15118
15155
|
/* @__PURE__ */ v("span", {
|
|
15119
15156
|
className: "select-sharebar__dot",
|
|
@@ -15133,20 +15170,20 @@ function Xd({ items: e, label: t, aside: n, legend: r = "list", size: i = "sm",
|
|
|
15133
15170
|
children: e.valueText
|
|
15134
15171
|
})
|
|
15135
15172
|
] });
|
|
15136
|
-
return /* @__PURE__ */ v("li", { children: a ? /* @__PURE__ */ v("button", {
|
|
15173
|
+
return /* @__PURE__ */ v("li", { children: b(g(e, !1), a ? /* @__PURE__ */ v("button", {
|
|
15137
15174
|
type: "button",
|
|
15138
|
-
className: `select-sharebar__chip select-sharebar__chip--btn${o === e.key ? " is-selected" : ""}${
|
|
15175
|
+
className: `select-sharebar__chip select-sharebar__chip--btn${o === e.key ? " is-selected" : ""}${h(e.key) ? " is-dim" : ""}`,
|
|
15139
15176
|
"aria-pressed": o === e.key,
|
|
15140
15177
|
onClick: () => a(e.key),
|
|
15141
15178
|
children: t
|
|
15142
15179
|
}) : /* @__PURE__ */ v("span", {
|
|
15143
15180
|
className: "select-sharebar__chip",
|
|
15144
15181
|
children: t
|
|
15145
|
-
}) }, e.key);
|
|
15182
|
+
})) }, e.key);
|
|
15146
15183
|
})
|
|
15147
15184
|
}) : /* @__PURE__ */ v("ul", {
|
|
15148
15185
|
className: "select-sharebar__legend",
|
|
15149
|
-
children:
|
|
15186
|
+
children: f.map((e) => /* @__PURE__ */ y("li", {
|
|
15150
15187
|
className: "select-sharebar__item",
|
|
15151
15188
|
children: [
|
|
15152
15189
|
/* @__PURE__ */ v("span", {
|
|
@@ -15154,17 +15191,20 @@ function Xd({ items: e, label: t, aside: n, legend: r = "list", size: i = "sm",
|
|
|
15154
15191
|
style: { background: e.color },
|
|
15155
15192
|
"aria-hidden": "true"
|
|
15156
15193
|
}),
|
|
15157
|
-
/* @__PURE__ */ v("span", {
|
|
15194
|
+
b(e.tip == null ? null : /* @__PURE__ */ v("span", {
|
|
15195
|
+
className: "select-sharebar__tip",
|
|
15196
|
+
children: e.tip
|
|
15197
|
+
}), /* @__PURE__ */ v("span", {
|
|
15158
15198
|
className: "select-sharebar__label",
|
|
15159
15199
|
children: e.label
|
|
15160
|
-
}),
|
|
15200
|
+
})),
|
|
15161
15201
|
e.valueText != null && /* @__PURE__ */ v("span", {
|
|
15162
15202
|
className: "select-sharebar__value",
|
|
15163
15203
|
children: e.valueText
|
|
15164
15204
|
}),
|
|
15165
15205
|
/* @__PURE__ */ y("span", {
|
|
15166
15206
|
className: "select-sharebar__pct",
|
|
15167
|
-
children: [
|
|
15207
|
+
children: [m(e.value), "%"]
|
|
15168
15208
|
})
|
|
15169
15209
|
]
|
|
15170
15210
|
}, e.key))
|
|
@@ -15420,9 +15460,9 @@ var Zd = r(function({ value: e, max: t = 100, size: n = 64, thickness: r, tone:
|
|
|
15420
15460
|
children: e.map((e, t) => /* @__PURE__ */ y("div", {
|
|
15421
15461
|
className: "select-ministats__item",
|
|
15422
15462
|
children: [
|
|
15423
|
-
/* @__PURE__ */
|
|
15424
|
-
className: "select-ministats__label"
|
|
15425
|
-
children: e.label
|
|
15463
|
+
/* @__PURE__ */ y("dt", {
|
|
15464
|
+
className: `select-ministats__label${e.help == null ? "" : " select-ministats__label--help"}`,
|
|
15465
|
+
children: [e.label, e.help != null && /* @__PURE__ */ v(Mn, { content: e.help })]
|
|
15426
15466
|
}),
|
|
15427
15467
|
/* @__PURE__ */ v("dd", {
|
|
15428
15468
|
className: "select-ministats__value",
|
|
@@ -30466,38 +30506,38 @@ var Vp = r(function({ name: e, price: t, priceSuffix: n, headerAction: r, summar
|
|
|
30466
30506
|
})]
|
|
30467
30507
|
})]
|
|
30468
30508
|
});
|
|
30469
|
-
}), Hp = r(function({ title: e,
|
|
30509
|
+
}), Hp = r(function({ title: e, help: t, description: n, headerAction: r, footer: i, dense: a = !1, spread: o = !1, flush: s = !1, children: c, className: l, ...u }, d) {
|
|
30470
30510
|
return /* @__PURE__ */ y("div", {
|
|
30471
|
-
ref:
|
|
30472
|
-
...
|
|
30473
|
-
className: `select-listcard${
|
|
30511
|
+
ref: d,
|
|
30512
|
+
...u,
|
|
30513
|
+
className: `select-listcard${a ? " select-listcard--dense" : ""}${o ? " select-listcard--spread" : ""}${s ? " select-listcard--flush" : ""}${l ? " " + l : ""}`,
|
|
30474
30514
|
children: [
|
|
30475
|
-
(e ||
|
|
30515
|
+
(e || r) && /* @__PURE__ */ y("div", {
|
|
30476
30516
|
className: "select-listcard__head",
|
|
30477
30517
|
children: [/* @__PURE__ */ y("div", {
|
|
30478
30518
|
className: "select-listcard__heading",
|
|
30479
|
-
children: [e && /* @__PURE__ */
|
|
30480
|
-
className: "select-listcard__title"
|
|
30481
|
-
children: e
|
|
30482
|
-
}),
|
|
30519
|
+
children: [e && /* @__PURE__ */ y("h3", {
|
|
30520
|
+
className: `select-listcard__title${t == null ? "" : " select-listcard__title--help"}`,
|
|
30521
|
+
children: [e, t != null && /* @__PURE__ */ v(Mn, { content: t })]
|
|
30522
|
+
}), n && /* @__PURE__ */ v("p", {
|
|
30483
30523
|
className: "select-listcard__desc",
|
|
30484
|
-
children:
|
|
30524
|
+
children: n
|
|
30485
30525
|
})]
|
|
30486
|
-
}),
|
|
30526
|
+
}), r && /* @__PURE__ */ v("div", {
|
|
30487
30527
|
className: "select-listcard__headeraction",
|
|
30488
|
-
children:
|
|
30528
|
+
children: r
|
|
30489
30529
|
})]
|
|
30490
30530
|
}),
|
|
30491
30531
|
/* @__PURE__ */ v("div", {
|
|
30492
30532
|
className: "select-listcard__body",
|
|
30493
30533
|
children: /* @__PURE__ */ v("div", {
|
|
30494
30534
|
className: "select-listcard__rows",
|
|
30495
|
-
children:
|
|
30535
|
+
children: c
|
|
30496
30536
|
})
|
|
30497
30537
|
}),
|
|
30498
|
-
|
|
30538
|
+
i && /* @__PURE__ */ v("div", {
|
|
30499
30539
|
className: "select-listcard__footer",
|
|
30500
|
-
children:
|
|
30540
|
+
children: i
|
|
30501
30541
|
})
|
|
30502
30542
|
]
|
|
30503
30543
|
});
|