negodesign 0.0.68 → 0.0.70
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/dist/components/core/banner/CtaCardImageBanner.svelte +109 -0
- package/dist/components/core/banner/CtaCardImageBanner.svelte.d.ts +4 -0
- package/dist/components/core/banner/types.d.ts +37 -0
- package/dist/components/core/carousel/grid/shared/ui/CarouselGridSlot.svelte +1 -1
- package/dist/components/core/carousel/shared/ui/CarouselHeader.svelte +3 -4
- package/dist/components/core/grid/data/types.d.ts +3 -0
- package/dist/components/core/grid/ui/01/Grid01.svelte +2 -1
- package/dist/components/core/grid/ui/02/Grid02.svelte +2 -1
- package/dist/components/core/grid/ui/ItemsPanel.svelte +26 -0
- package/dist/components/core/grid/ui/ItemsPanel.svelte.d.ts +7 -0
- package/dist/components/core/grid/ui/ItemsPanelCarousel.svelte +37 -0
- package/dist/components/core/grid/ui/ItemsPanelCarousel.svelte.d.ts +4 -0
- package/dist/components/core/grid/ui/{PanelGrid.svelte → ItemsPanelGrid.svelte} +11 -5
- package/dist/components/core/grid/ui/ItemsPanelGrid.svelte.d.ts +4 -0
- package/dist/components/core/grid/ui/ItemsSimpleGrid.svelte.d.ts +4 -0
- package/dist/components/core/nav/data/types.d.ts +15 -0
- package/dist/components/core/nav/ui/ComplexMenu.svelte +27 -9
- package/dist/components/core/nav/ui/shared/MenuListItem.svelte +7 -2
- package/dist/components/core/nav/ui/shared/MenuListItem.svelte.d.ts +5 -1
- package/dist/components/core/nav/ui/shared/navigation/NavDropdown.svelte +23 -14
- package/dist/components/core/nav/ui/shared/navigation/NavDropdown.svelte.d.ts +3 -1
- package/dist/components/core/nav/ui/shared/navigation/NavigationMenuItem.svelte +12 -9
- package/dist/components/core/nav/ui/shared/navigation/NavigationMenuItemCard.svelte +12 -7
- package/dist/components/core/nav/ui/shared/navigation/NavigationMenuItemGrid.svelte +9 -3
- package/dist/components/core/nav/ui/shared/navigation/NavigationMenuItemList.svelte +7 -4
- package/dist/components/core/nav/ui/shared/navigation/NavigationMenuItems.svelte +3 -3
- package/dist/components/core/panel/NotFoundEmpty.svelte +2 -15
- package/dist/components/core/panel/NotFoundEmpty.svelte.d.ts +2 -14
- package/dist/components/core/panel/type.d.ts +25 -0
- package/dist/globals.css +125 -11
- package/dist/index.d.ts +164 -16
- package/dist/index.js +164 -16
- package/dist/types/index.d.ts +14 -4
- package/package.json +1 -1
- package/dist/components/core/grid/ui/PanelGrid.svelte.d.ts +0 -4
- package/dist/components/core/grid/ui/SimpleGrid.svelte.d.ts +0 -4
- /package/dist/components/core/grid/ui/{SimpleGrid.svelte → ItemsSimpleGrid.svelte} +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ import AdminContent from "./components/pages/admin/01/ui/AdminContent.svelte";
|
|
|
12
12
|
import AdminPanel from "./components/pages/admin/01/ui/AdminPanel.svelte";
|
|
13
13
|
import AdCardBanner from "./components/core/banner/AdCardBanner.svelte";
|
|
14
14
|
import CtaCardBanner from "./components/core/banner/CtaCardBanner.svelte";
|
|
15
|
+
import CtaCardImageBanner from "./components/core/banner/CtaCardImageBanner.svelte";
|
|
15
16
|
import NotificationBanner from "./components/core/banner/NotificationBanner.svelte";
|
|
16
17
|
import PrivacyPolicyOrTermsOfUse from "./components/pages/privacy-policy-or-terms-of-use/PrivacyPolicyOrTermsOfUse.svelte";
|
|
17
18
|
import ProductDetails from "./components/pages/product-details/ProductDetails.svelte";
|
|
@@ -34,8 +35,8 @@ import PageLogin from "./components/pages/security/login/PageLogin.svelte";
|
|
|
34
35
|
import SearchInput from "./components/core/search/SearchInput.svelte";
|
|
35
36
|
import Footer from "./components/core/footer/ui/Footer.svelte";
|
|
36
37
|
import NegoDesign from "./components/NegoDesign.svelte";
|
|
37
|
-
import
|
|
38
|
-
import
|
|
38
|
+
import ItemsSimpleGrid from "./components/core/grid/ui/ItemsSimpleGrid.svelte";
|
|
39
|
+
import ItemsPanel from "./components/core/grid/ui/ItemsPanel.svelte";
|
|
39
40
|
/** Store reativa do idioma atual. Altere com `$locale = "pt"`. */
|
|
40
41
|
export { locale } from "./i18n";
|
|
41
42
|
/** Lista de idiomas disponíveis. Atualizado automaticamente. */
|
|
@@ -46,7 +47,41 @@ export { t } from "./i18n";
|
|
|
46
47
|
export { getMergedTranslations } from "./i18n/config";
|
|
47
48
|
/** Retorna a lista de idiomas disponíveis. */
|
|
48
49
|
export { getLocales } from "./i18n/config";
|
|
49
|
-
export {
|
|
50
|
+
export {
|
|
51
|
+
/**
|
|
52
|
+
* Barra de navegação responsiva que alterna entre as variantes Simples
|
|
53
|
+
* (links) e Complexa (menus) consoante o dispositivo (mobile ou desktop).
|
|
54
|
+
* Inclui logo, botões de ação, light switch e language switcher.
|
|
55
|
+
* @property {NavMenuLogoProps} logo - Logotipo do menu
|
|
56
|
+
* @property {MenuVarientProps} navMenu - Variante de navegação (Simples ou Complexa)
|
|
57
|
+
* @property {NavMenuButtonProps} navMenuButton - Botão de ação (login/registo)
|
|
58
|
+
* @property {boolean} isBorder - Exibe borda inferior no menu
|
|
59
|
+
* @property {boolean} isLightSwitch - Exibe o interruptor de tema (claro/escuro)
|
|
60
|
+
* @property {boolean} isLanguageSwitcher - Exibe o seletor de idioma
|
|
61
|
+
* @see MenuProps
|
|
62
|
+
*/
|
|
63
|
+
Menu,
|
|
64
|
+
/**
|
|
65
|
+
* Grid de itens (cards) com variantes visuais 1 e 2.
|
|
66
|
+
* Em mobile vira uma lista de scroll horizontal; em desktop usa colunas
|
|
67
|
+
* dinâmicas baseadas no número de itens. Suporta estado de carregamento.
|
|
68
|
+
* @property {ItemGridProps[]} items - Lista de itens a exibir
|
|
69
|
+
* @property {1|2} variant - Variante visual dos cards (padrão: 1)
|
|
70
|
+
* @property {boolean} isLoading - Exibe skeletons de carregamento
|
|
71
|
+
* @property {(id) => void} onClick - Callback ao clicar num item
|
|
72
|
+
* @property {string} className - Classe CSS adicional do container
|
|
73
|
+
* @see GridProps
|
|
74
|
+
*/
|
|
75
|
+
ItemsSimpleGrid,
|
|
76
|
+
/**
|
|
77
|
+
* Contentor de itens que pode renderizar numa grade (grid) ou num carousel
|
|
78
|
+
* (inline) com seleção ativa. Cada clique normaliza o id e dispara `onClick`.
|
|
79
|
+
* @property {ItemGridProps[]} items - Lista de itens a exibir
|
|
80
|
+
* @property {"grid"|"inline"} style - Estilo de exibição (padrão: "grid")
|
|
81
|
+
* @property {(id) => void} onClick - Callback ao selecionar um item
|
|
82
|
+
* @see GridProps
|
|
83
|
+
*/
|
|
84
|
+
ItemsPanel,
|
|
50
85
|
/**
|
|
51
86
|
* Componente raiz do Negodesign.
|
|
52
87
|
* Configura o tema, idioma e traduções da aplicação.
|
|
@@ -55,138 +90,227 @@ export { Menu, SimpleGrid, PanelGrid,
|
|
|
55
90
|
*/
|
|
56
91
|
NegoDesign,
|
|
57
92
|
/**
|
|
58
|
-
* Banner de anúncio com faixa lateral colorida, título destacado
|
|
59
|
-
* Ideal para publicidade, chamadas de atenção ou ofertas especiais.
|
|
93
|
+
* Banner de anúncio com faixa lateral colorida, título destacado (duas cores)
|
|
94
|
+
* e botão CTA. Ideal para publicidade, chamadas de atenção ou ofertas especiais.
|
|
95
|
+
* @property {string} tagText - Texto da faixa lateral colorida
|
|
96
|
+
* @property {string} titleHighlight - Primeira parte do título (cor âmbar)
|
|
97
|
+
* @property {string} titleMain - Segunda parte do título (cor verde)
|
|
98
|
+
* @property {string} buttonText - Texto do botão CTA
|
|
99
|
+
* @property {() => void} onClickButton - Chamado ao clicar no CTA
|
|
100
|
+
* @property {string} href - Link que torna todo o card clicável
|
|
60
101
|
* @see AdCardBannerProps
|
|
61
102
|
*/
|
|
62
103
|
AdCardBanner,
|
|
63
104
|
/**
|
|
64
105
|
* Banner CTA "Vamos entrar em contacto" com título bold, descrição de apoio
|
|
65
106
|
* e até 2 botões em formato de pílula com decoração de anéis concêntricos.
|
|
107
|
+
* @property {string} title - Título principal do banner
|
|
108
|
+
* @property {string} description - Texto de apoio/descrição
|
|
109
|
+
* @property {string} primaryText - Texto do botão primário
|
|
110
|
+
* @property {string} secondaryText - Texto do botão secundário
|
|
111
|
+
* @property {() => void} onClickPrimary - Callback do botão primário
|
|
112
|
+
* @property {() => void} onClickSecondary - Callback do botão secundário
|
|
113
|
+
* @property {string} primaryHref - Link do botão primário
|
|
114
|
+
* @property {string} secondaryHref - Link do botão secundário
|
|
66
115
|
* @see CtaCardBannerProps
|
|
67
116
|
*/
|
|
68
117
|
CtaCardBanner,
|
|
118
|
+
/**
|
|
119
|
+
* Banner CTA com imagem de destaque em fundo gradiente (`bg-gradient`).
|
|
120
|
+
* Título, descrição e até dois CTAs, cada um com link e/ou callback de clique,
|
|
121
|
+
* além da imagem e seus atributos.
|
|
122
|
+
* @property {string} title - Título principal do banner
|
|
123
|
+
* @property {string} description - Texto de apoio/descrição
|
|
124
|
+
* @property {string} primaryText - Texto do CTA primário
|
|
125
|
+
* @property {string} primaryHref - Link do CTA primário
|
|
126
|
+
* @property {() => void} onClickPrimary - Callback do CTA primário
|
|
127
|
+
* @property {string} secondaryText - Texto do CTA secundário
|
|
128
|
+
* @property {string} secondaryHref - Link do CTA secundário
|
|
129
|
+
* @property {() => void} onClickSecondary - Callback do CTA secundário
|
|
130
|
+
* @property {string} imageSrc - URL da imagem de destaque
|
|
131
|
+
* @property {string} imageAlt - Texto alternativo da imagem
|
|
132
|
+
* @property {number} imageWidth - Largura da imagem
|
|
133
|
+
* @property {number} imageHeight - Altura da imagem
|
|
134
|
+
* @see CtaCardImageBannerProps
|
|
135
|
+
*/
|
|
136
|
+
CtaCardImageBanner,
|
|
69
137
|
/**
|
|
70
138
|
* Banner de notificação com texto em destaque, descrição, CTA e botão dismiss.
|
|
71
139
|
* Usado para comunicar novidades, promoções ou mensagens importantes.
|
|
140
|
+
* @property {string} strongText - Texto em destaque antes do separador
|
|
141
|
+
* @property {string} description - Descrição principal
|
|
142
|
+
* @property {string} ctaText - Texto do botão CTA
|
|
143
|
+
* @property {string} ctaHref - Link do botão CTA
|
|
144
|
+
* @property {() => void} onCtaClick - Chamado ao clicar no CTA
|
|
145
|
+
* @property {() => void} onDismiss - Chamado ao clicar no dismiss
|
|
72
146
|
* @see NotificationBannerProps
|
|
73
147
|
*/
|
|
74
148
|
NotificationBanner,
|
|
75
|
-
/**
|
|
149
|
+
/**
|
|
150
|
+
* Estado vazio (empty state) com ícone, título, descrição e uma ação
|
|
151
|
+
* (link ou botão) para quando não há conteúdo a exibir.
|
|
152
|
+
* @property {string} title - Título do estado vazio
|
|
153
|
+
* @property {string} description - Descrição de apoio
|
|
154
|
+
* @property {IconSvgElement} icon - Ícone exibido na área de media
|
|
155
|
+
* @property {string} actionHref - URL de destino da ação (link)
|
|
156
|
+
* @property {string} actionLabel - Texto da ação
|
|
157
|
+
* @property {() => void} onAction - Callback ao clicar na ação (botão)
|
|
158
|
+
* @property {boolean} showAction - Exibe a ação de suporte
|
|
159
|
+
* @property {Snippet} children - Conteúdo customizado no lugar da ação padrão
|
|
160
|
+
* @see NotFoundEmptyProps
|
|
161
|
+
*/
|
|
76
162
|
NotFoundEmpty,
|
|
77
163
|
/**
|
|
78
164
|
* Campo de input de busca com 2 variantes visuais (borda completa ou underline).
|
|
79
165
|
* Inclui botão de submissão e callback onSubmit.
|
|
166
|
+
* @property {1|2} variant - Variante visual (1: borda completa, 2: underline)
|
|
167
|
+
* @property {(value) => void} onSubmit - Chamado ao submeter a busca
|
|
80
168
|
* @see SearchInputProps
|
|
81
169
|
*/
|
|
82
170
|
SearchInput,
|
|
83
171
|
/**
|
|
84
|
-
*
|
|
172
|
+
* Página de perfil da empresa com informações detalhadas, descrição,
|
|
173
|
+
* galeria, localização e contactos.
|
|
85
174
|
* @see CompanyProfileProps
|
|
86
175
|
*/
|
|
87
176
|
CompanyProfile,
|
|
88
177
|
/**
|
|
89
178
|
* Carousel de badges/categorias com orientação horizontal ou vertical.
|
|
90
179
|
* Cada item pode ter ícone, imagem, label e callback de clique.
|
|
180
|
+
* @property {ItemCarousel[]} items - Lista de itens/categorias
|
|
181
|
+
* @property {boolean} isVertical - Orientação vertical
|
|
182
|
+
* @property {(item) => void} onClick - Callback ao clicar num item
|
|
91
183
|
* @see CarouselBadgeProps
|
|
92
184
|
*/
|
|
93
185
|
CarouselBadge,
|
|
94
186
|
/**
|
|
95
187
|
* Carousel hero em fullscreen com slides de imagem, título, descrição
|
|
96
188
|
* e menu de navegação sobreposto. Ideal para páginas de login.
|
|
189
|
+
* @property {CarouselHeroItem[]} items - Lista de slides
|
|
97
190
|
* @see CarouselHeroProps
|
|
98
191
|
*/
|
|
99
192
|
CarouselHero,
|
|
100
193
|
/**
|
|
101
194
|
* Rodapé completo com múltiplas colunas de links, logo, ícones de redes sociais
|
|
102
195
|
* e formulário de newsletter opcional.
|
|
196
|
+
* @property {FooterColumnProps[]} columns - Colunas de links do rodapé
|
|
197
|
+
* @property {FooterSocialItem[]} social - Redes sociais
|
|
198
|
+
* @property {boolean} hasNewsletter - Exibe o formulário de newsletter
|
|
103
199
|
* @see FooterProps
|
|
104
200
|
*/
|
|
105
201
|
Footer,
|
|
106
202
|
/**
|
|
107
203
|
* Carousel de cards de promoção com preços antigo/novo, botão de comprar,
|
|
108
204
|
* favoritar e adicionar ao carrinho.
|
|
205
|
+
* @property {CardPromotionProps[]} items - Cards de promoção
|
|
206
|
+
* @property {CarouselHeaderProps} header - Cabeçalho do carousel
|
|
109
207
|
* @see CarouselPromotionProps
|
|
110
208
|
*/
|
|
111
209
|
CarouselPromotion,
|
|
112
210
|
/**
|
|
113
211
|
* Carousel de cards de destaque para organizações, serviços ou locais em evidência.
|
|
114
212
|
* Suporta duas variantes visuais.
|
|
213
|
+
* @property {CardHighlightProps[]} items - Cards de destaque
|
|
214
|
+
* @property {CarouselHeaderProps} header - Cabeçalho do carousel
|
|
215
|
+
* @property {1|2} variant - Variante visual
|
|
115
216
|
* @see CarouselHighlightsProps
|
|
116
217
|
*/
|
|
117
218
|
CarouselHighlights,
|
|
118
219
|
/**
|
|
119
220
|
* Layout em grid responsivo de cards de mídia (imagens ou vídeos).
|
|
120
221
|
* Em telas mobile transforma-se num carousel com swipe.
|
|
121
|
-
* @
|
|
222
|
+
* @property {CardMediaProps[]} items - Cards de mídia
|
|
223
|
+
* @property {CarouselHeaderProps} header - Cabeçalho do carousel
|
|
224
|
+
* @see CarouselGridMediaProps
|
|
122
225
|
*/
|
|
123
226
|
CarouselGridMedia,
|
|
124
227
|
/**
|
|
125
228
|
* Layout em grid responsivo de cards de perfil (guias, intérpretes, organizações).
|
|
126
229
|
* Em telas mobile transforma-se num carousel com swipe.
|
|
127
|
-
* @
|
|
230
|
+
* @property {CardProfileProps[]} items - Cards de perfil
|
|
231
|
+
* @property {CarouselHeaderProps} header - Cabeçalho do carousel
|
|
232
|
+
* @see CarouselGridProfileProps
|
|
128
233
|
*/
|
|
129
234
|
CarouselGridProfile,
|
|
130
235
|
/**
|
|
131
236
|
* Layout em grid responsivo de cards de produto (imagens ou vídeos).
|
|
132
237
|
* Em telas mobile transforma-se num carousel com swipe.
|
|
133
|
-
* @
|
|
238
|
+
* @property {CardProductProps[]} items - Cards de produto
|
|
239
|
+
* @property {CarouselHeaderProps} header - Cabeçalho do carousel
|
|
240
|
+
* @see CarouselGridProductProps
|
|
134
241
|
*/
|
|
135
242
|
CarouselGridProduct,
|
|
136
243
|
/**
|
|
137
|
-
* Layout em grid responsivo de cards de produto
|
|
244
|
+
* Layout em grid responsivo de cards de produto em promoção (imagens ou vídeos).
|
|
138
245
|
* Em telas mobile transforma-se num carousel com swipe.
|
|
139
|
-
* @
|
|
246
|
+
* @property {CardProductProps[]} items - Cards de produto em promoção
|
|
247
|
+
* @property {CarouselHeaderProps} header - Cabeçalho do carousel
|
|
248
|
+
* @see CarouselGridPromotionProps
|
|
140
249
|
*/
|
|
141
250
|
CarouselGridPromotion,
|
|
142
251
|
/**
|
|
143
252
|
* Componente de abas com estilo underline. Troca o conteúdo (Snippet)
|
|
144
253
|
* conforme a aba selecionada.
|
|
254
|
+
* @property {TabItem[]} items - Lista de abas (valor identificador e label)
|
|
255
|
+
* @property {Record<string, Snippet>} contents - Snippets de conteúdo por aba
|
|
145
256
|
* @see TabUnderlineProps
|
|
146
257
|
*/
|
|
147
258
|
TabUnderline,
|
|
148
259
|
/**
|
|
149
260
|
* Página de login completa com carousel hero ao fundo e card de autenticação
|
|
150
261
|
* com múltiplas variantes (email, username, telefone) e formulário de registo.
|
|
262
|
+
* @property {LoginVariant} variant - Variante do formulário de login
|
|
263
|
+
* @property {LoginRequestDto} initialData - Valores iniciais do formulário
|
|
151
264
|
* @see PageLoginProps
|
|
152
265
|
*/
|
|
153
266
|
PageLogin,
|
|
154
267
|
/**
|
|
155
268
|
* Página de recuperação de senha com hero carousel e card de solicitação
|
|
156
269
|
* de link de recuperação por email.
|
|
270
|
+
* @property {ForgetPasswordVariant} variant - Variante do formulário
|
|
271
|
+
* @property {(data) => Promise<void>} onSubmit - Chamado ao submeter
|
|
157
272
|
* @see PageForgetPasswordProps
|
|
158
273
|
*/
|
|
159
274
|
PageForgetPassword,
|
|
160
275
|
/**
|
|
161
276
|
* Página de redefinição de senha com hero carousel e card para introduzir
|
|
162
277
|
* e confirmar a nova palavra-passe.
|
|
278
|
+
* @property {(data) => Promise<void>} onSubmit - Chamado ao submeter
|
|
163
279
|
* @see PageResetPasswordProps
|
|
164
280
|
*/
|
|
165
281
|
PageResetPassword,
|
|
166
282
|
/**
|
|
167
283
|
* Página de política de privacidade ou termos de utilização com sidebar,
|
|
168
284
|
* tabela de conteúdos e blocos de conteúdo navegáveis.
|
|
285
|
+
* @property {DocSection[]} sections - Secções de conteúdo do documento
|
|
286
|
+
* @property {BreadcrumbItem[]} breadcrumb - Navegação breadcrumb
|
|
169
287
|
* @see PrivacyPolicyOrTermsOfUseProps
|
|
170
288
|
*/
|
|
171
289
|
PrivacyPolicyOrTermsOfUse,
|
|
172
290
|
/**
|
|
173
291
|
* Página de detalhes do produto com 4 variantes de layout, galeria de imagens,
|
|
174
292
|
* avaliações, mapa, ficheiros, tabs e painel de compra.
|
|
293
|
+
* @property {ProductDetailsData} data - Dados completos do produto
|
|
294
|
+
* @property {1|2|3} variant - Variante de layout
|
|
175
295
|
* @see ProductDetailsProps
|
|
176
296
|
*/
|
|
177
297
|
ProductDetails,
|
|
178
298
|
/**
|
|
179
299
|
* Página de perfil de utilizador com 3 variantes de layout.
|
|
180
300
|
* Inclui informação básica, alterar senha, preferências e experiência.
|
|
181
|
-
* -
|
|
182
|
-
* -
|
|
183
|
-
* -
|
|
301
|
+
* - variant=1: Header colorido com dados admin, tabs e painel de detalhes.
|
|
302
|
+
* - variant=2: Banner com avatar sobreposto, formulário alterar senha (Security).
|
|
303
|
+
* - variant=3: Header roxo com tabs de experiência e timeline.
|
|
304
|
+
* @property {ProfileUserData} data - Dados do utilizador
|
|
305
|
+
* @property {ProfileUserVariant} variant - Variante de layout
|
|
184
306
|
* @see ProfileUserProps
|
|
185
307
|
*/
|
|
186
308
|
ProfileUser,
|
|
187
309
|
/**
|
|
188
310
|
* Página de verificação OTP com hero carousel e card de input de código
|
|
189
311
|
* de 6 dígitos para validação de login ou recuperação.
|
|
312
|
+
* @property {OtpVerificationRequestDto} initialData - Valores iniciais
|
|
313
|
+
* @property {(data) => Promise<void>} onSubmit - Chamado ao validar o OTP
|
|
190
314
|
* @see PageOtpVerificationProps
|
|
191
315
|
*/
|
|
192
316
|
PageOtpVerification,
|
|
@@ -194,13 +318,19 @@ PageOtpVerification,
|
|
|
194
318
|
* Tabela de dados genérica construída sobre o TanStack Table.
|
|
195
319
|
* Inclui paginação, ordenação, filtros, badges, coluna de seleção,
|
|
196
320
|
* drag handle e ações personalizadas por linha.
|
|
197
|
-
* @template T Tipo genérico dos itens/linhas
|
|
321
|
+
* @template T - Tipo genérico dos itens/linhas
|
|
322
|
+
* @property {DataTableItem<T>} item - Definição da tabela (colunas, filtros, ações)
|
|
198
323
|
* @see DataTableCoreProps
|
|
199
324
|
*/
|
|
200
325
|
DataTableCore,
|
|
201
326
|
/**
|
|
202
327
|
* Sidebar de navegação administrativa com menu colapsável, cabeçalho customizável,
|
|
203
328
|
* lista de menus/submenus, botões do rodapé e bloco de utilizador logado.
|
|
329
|
+
* @property {NavMenuItem[]} menus - Itens de navegação principal (com ou sem submenus)
|
|
330
|
+
* @property {NavUserSidebarProps} user - Bloco de utilizador logado
|
|
331
|
+
* @property {NavMenuSidebarProps[]} menusButtons - Botões do rodapé da sidebar (ex: logout)
|
|
332
|
+
* @property {Snippet} header - Snippet customizado do cabeçalho da sidebar
|
|
333
|
+
* @property {Snippet} footer - Snippet customizado do rodapé da sidebar
|
|
204
334
|
* @see MenuBarSidebarProps
|
|
205
335
|
*/
|
|
206
336
|
MenuBarSidebar,
|
|
@@ -211,12 +341,14 @@ MenuBarSidebar,
|
|
|
211
341
|
* @property {Snippet} appsidebar - Snippet com a sidebar da aplicação
|
|
212
342
|
* @property {Snippet} content - Snippet com o conteúdo principal
|
|
213
343
|
* @property {Snippet} breadcrumb - Snippet com a navegação breadcrumb
|
|
344
|
+
* @see AdminPanelProps
|
|
214
345
|
*/
|
|
215
346
|
AdminPanel,
|
|
216
347
|
/**
|
|
217
348
|
* Wrapper de conteúdo para páginas administrativas.
|
|
218
349
|
* Aplica padding, layout flex colunar e gaps consistentes entre secções.
|
|
219
350
|
* @property {Snippet} children - Snippet com o conteúdo interno da página
|
|
351
|
+
* @see AdminContentProps
|
|
220
352
|
*/
|
|
221
353
|
AdminContent,
|
|
222
354
|
/**
|
|
@@ -224,6 +356,8 @@ AdminContent,
|
|
|
224
356
|
* Suporta two-way binding via prop `value`.
|
|
225
357
|
* @property {string} value - Valor vinculado do input
|
|
226
358
|
* @property {string} label - Rótulo personalizado do campo
|
|
359
|
+
* @property {string} placeholder - Texto de exemplo do campo
|
|
360
|
+
* @see InputLabelProps
|
|
227
361
|
*/
|
|
228
362
|
InputEmail,
|
|
229
363
|
/**
|
|
@@ -231,6 +365,8 @@ InputEmail,
|
|
|
231
365
|
* e validação do formato.
|
|
232
366
|
* @property {string} value - Valor vinculado do input
|
|
233
367
|
* @property {string} label - Rótulo personalizado do campo
|
|
368
|
+
* @property {string} placeholder - Texto de exemplo do campo
|
|
369
|
+
* @see InputLabelProps
|
|
234
370
|
*/
|
|
235
371
|
InputPhone,
|
|
236
372
|
/**
|
|
@@ -238,13 +374,19 @@ InputPhone,
|
|
|
238
374
|
* Detecta automaticamente o tipo com base no valor introduzido.
|
|
239
375
|
* @property {string} value - Valor vinculado do input
|
|
240
376
|
* @property {string} label - Rótulo personalizado do campo
|
|
377
|
+
* @property {string} placeholder - Texto de exemplo do campo
|
|
378
|
+
* @see InputLabelProps
|
|
241
379
|
*/
|
|
242
380
|
InputEmailOrPhone,
|
|
243
381
|
/**
|
|
244
382
|
* Campo de input para código OTP (One-Time Password) com N caixas de dígitos separadas.
|
|
245
383
|
* Suporta separador visual entre grupos de dígitos.
|
|
384
|
+
* @property {string} value - Valor vinculado do input
|
|
385
|
+
* @property {string} label - Rótulo personalizado do campo (opcional)
|
|
246
386
|
* @property {number} length - Quantidade de caixas de dígitos (padrão: 6)
|
|
247
387
|
* @property {boolean} separator - Exibir separador visual entre grupos
|
|
388
|
+
* @property {string} placeholder - Texto de exemplo do campo
|
|
389
|
+
* @see InputLabelProps
|
|
248
390
|
*/
|
|
249
391
|
InputCodeOtp,
|
|
250
392
|
/**
|
|
@@ -252,12 +394,16 @@ InputCodeOtp,
|
|
|
252
394
|
* Suporta two-way binding e validações customizadas.
|
|
253
395
|
* @property {string} value - Valor vinculado do input
|
|
254
396
|
* @property {string} label - Rótulo personalizado do campo
|
|
397
|
+
* @property {string} placeholder - Texto de exemplo do campo
|
|
398
|
+
* @see InputLabelProps
|
|
255
399
|
*/
|
|
256
400
|
InputPassword,
|
|
257
401
|
/**
|
|
258
402
|
* Campo de input para nome de utilizador com ícone e label integrados.
|
|
259
403
|
* @property {string} value - Valor vinculado do input
|
|
260
404
|
* @property {string} label - Rótulo personalizado do campo
|
|
405
|
+
* @property {string} placeholder - Texto de exemplo do campo
|
|
406
|
+
* @see InputLabelProps
|
|
261
407
|
*/
|
|
262
408
|
InputUsername,
|
|
263
409
|
/**
|
|
@@ -265,5 +411,7 @@ InputUsername,
|
|
|
265
411
|
* para validar correspondência entre os dois campos.
|
|
266
412
|
* @property {string} value - Valor vinculado do input
|
|
267
413
|
* @property {string} label - Rótulo personalizado do campo
|
|
414
|
+
* @property {string} placeholder - Texto de exemplo do campo
|
|
415
|
+
* @see InputLabelProps
|
|
268
416
|
*/
|
|
269
417
|
InputPasswordConfirm };
|