@ciromaciel/dashboard-kit 1.3.1 → 1.4.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ciromaciel/dashboard-kit",
3
- "version": "1.3.1",
3
+ "version": "1.4.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "description": "The components every dashboard shares: table, empty state, loading state, destructive confirm, danger zone and wordmark.",
@@ -0,0 +1,56 @@
1
+ import { Box, Text, UnstyledButton } from '@mantine/core'
2
+
3
+ import { Wordmark } from './Wordmark'
4
+
5
+ /**
6
+ * O topo da coluna: o nome do produto e, embaixo, o que ele cuida.
7
+ *
8
+ * VEIO DE SETE CÓPIAS IGUAIS (Blogs, Forms, Links, Newsletter, Pages, Tasks,
9
+ * Videos) e uma quase igual (People, com cinza e espaçamento próprios). A
10
+ * linha de baixo virou padrão em 10/10/2026 (Ciro): todo painel diz, em duas
11
+ * palavras, o que cabe nele — "Artigos · Publicação", "Edições · Assinantes".
12
+ * Ela orienta quem chega e separa produtos de nome parecido na mesma linha.
13
+ *
14
+ * O nome é a volta para `/` (a lista de recursos, ou o Início no painel sem
15
+ * recurso): o mesmo destino do item "Todos os …" da coluna.
16
+ *
17
+ * @param {string} name O nome do produto ("Blogs").
18
+ * @param {string} tagline Os dois termos, separados por " · ". Some quando
19
+ * não há: uma linha vazia ocuparia espaço sem dizer nada.
20
+ * @param {Function} onClick Ir para `/`.
21
+ * @param {string} label O rótulo de acessibilidade do nome ("Todos os blogs").
22
+ */
23
+ export function ColumnBrand({ name, tagline, onClick, label }) {
24
+ return (
25
+ <Box
26
+ px={12}
27
+ pb={8}
28
+ >
29
+ <UnstyledButton
30
+ onClick={onClick}
31
+ aria-label={label ?? name}
32
+ w="100%"
33
+ style={{ display: 'block', textAlign: 'center' }}
34
+ >
35
+ <Wordmark
36
+ name={name}
37
+ size={28}
38
+ />
39
+ </UnstyledButton>
40
+
41
+ {tagline && (
42
+ <Text
43
+ ta="center"
44
+ fz={10}
45
+ fw={800}
46
+ c="gray.4"
47
+ tt="uppercase"
48
+ lts="1.5px"
49
+ mt={6}
50
+ >
51
+ {tagline}
52
+ </Text>
53
+ )}
54
+ </Box>
55
+ )
56
+ }
package/src/index.js CHANGED
@@ -80,6 +80,7 @@ export { NavItem } from './components/NavItem'
80
80
  export { GroupLabel } from './components/GroupLabel'
81
81
  export { ResourceItem } from './components/ResourceItem'
82
82
  export { ActiveResource } from './components/ActiveResource'
83
+ export { ColumnBrand } from './components/ColumnBrand'
83
84
  export { ListSkeleton } from './components/ListSkeleton'
84
85
  export { DashboardFrame, SIDEBAR_WIDTH } from './components/DashboardFrame'
85
86
  export { SidebarShell } from './components/SidebarShell'