negodesign 0.0.29 → 0.0.31
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/assets/lonely-404.mp4 +0 -0
- package/dist/components/core/banner/AdCardBanner.svelte.d.ts +4 -0
- package/dist/components/core/banner/CtaCardBanner.svelte +118 -0
- package/dist/components/core/banner/CtaCardBanner.svelte.d.ts +4 -0
- package/dist/components/core/banner/{BannerNotification.svelte → NotificationBanner.svelte} +4 -3
- package/dist/components/core/banner/NotificationBanner.svelte.d.ts +4 -0
- package/dist/components/core/banner/types.d.ts +38 -7
- package/dist/components/core/card/highlight/01/CardHighlight01.svelte +15 -26
- package/dist/components/core/card/highlight/02/CardHighlight02.svelte +13 -24
- package/dist/components/core/card/media/01/CardMedia01.svelte +2 -12
- package/dist/components/core/card/media/02/CardMedia02.svelte +2 -12
- package/dist/components/core/card/promotion/CardPromotion.svelte +5 -1
- package/dist/components/core/card/shared/CardButton.svelte +9 -3
- package/dist/components/core/card/shared/CardButton.svelte.d.ts +1 -1
- package/dist/components/core/card/shared/CardLogo.svelte +19 -0
- package/dist/components/core/card/shared/CardLogo.svelte.d.ts +7 -0
- package/dist/components/core/card/shared/CardThumbnailVideo.svelte +3 -0
- package/dist/components/core/card/types.d.ts +97 -0
- package/dist/components/core/carousel/grid/media/types.d.ts +11 -0
- package/dist/components/core/carousel/grid/media/ui/CarouselGridMedia.svelte +2 -1
- package/dist/components/core/carousel/grid/profile/types.d.ts +11 -0
- package/dist/components/core/carousel/grid/profile/ui/CarouselGridProfile.svelte +3 -5
- package/dist/components/core/carousel/grid/shared/ui/CarouselGridSlot.svelte +4 -9
- package/dist/components/core/carousel/grid/shared/ui/CarouselGridSlot.svelte.d.ts +1 -0
- package/dist/components/core/carousel/highlights/types.d.ts +11 -0
- package/dist/components/core/carousel/promotion/types.d.ts +10 -0
- package/dist/components/core/carousel/types.d.ts +56 -0
- package/dist/components/core/datatable/data/data-table.d.ts +25 -0
- package/dist/components/core/footer/types.d.ts +51 -0
- package/dist/components/core/footer/types.js +1 -0
- package/dist/components/core/footer/ui/01/Footer01.svelte +76 -0
- package/dist/components/core/footer/ui/01/Footer01.svelte.d.ts +4 -0
- package/dist/components/core/footer/ui/02/Footer02.svelte +53 -0
- package/dist/components/core/footer/ui/02/Footer02.svelte.d.ts +4 -0
- package/dist/components/core/footer/ui/Footer.svelte +18 -0
- package/dist/components/core/footer/ui/Footer.svelte.d.ts +7 -0
- package/dist/components/core/footer/ui/shared/FooterColumn.svelte +18 -0
- package/dist/components/core/footer/ui/shared/FooterColumn.svelte.d.ts +4 -0
- package/dist/components/core/footer/ui/shared/FooterNewsLetter.svelte +57 -0
- package/dist/components/core/footer/ui/shared/FooterNewsLetter.svelte.d.ts +9 -0
- package/dist/components/core/footer/ui/shared/FooterSocialIcon.svelte +62 -0
- package/dist/components/core/footer/ui/shared/FooterSocialIcon.svelte.d.ts +4 -0
- package/dist/components/core/nav/data/nav-menu-sidebar.d.ts +29 -0
- package/dist/components/core/nav/data/nav-menu.d.ts +43 -0
- package/dist/components/core/nav/data/nav-user-sidebar.d.ts +14 -0
- package/dist/components/core/nav/ui/menu-links.svelte +1 -1
- package/dist/components/core/panel/CarouselSlot.svelte +2 -2
- package/dist/components/core/panel/LeftHero.svelte +2 -2
- package/dist/components/core/panel/type.d.ts +11 -0
- package/dist/components/core/search/types.d.ts +17 -5
- package/dist/components/core/sidebar/types.d.ts +19 -0
- package/dist/components/core/sidebar/types.js +1 -0
- package/dist/components/core/tabs/data/TabModel.d.ts +11 -0
- package/dist/components/core/tabs/types.d.ts +11 -0
- package/dist/components/core/tabs/types.js +1 -0
- package/dist/components/pages/admin/01/ui/types.d.ts +21 -0
- package/dist/components/pages/admin/01/ui/types.js +1 -0
- package/dist/components/pages/product-details/01/ProductDetails01.svelte +71 -0
- package/dist/components/pages/product-details/01/ProductDetails01.svelte.d.ts +11 -0
- package/dist/components/pages/product-details/02/ProductDetails02.svelte +88 -0
- package/dist/components/pages/product-details/02/ProductDetails02.svelte.d.ts +11 -0
- package/dist/components/pages/product-details/03/ProductDetails03.svelte +77 -0
- package/dist/components/pages/product-details/03/ProductDetails03.svelte.d.ts +11 -0
- package/dist/components/pages/product-details/04/ProductDetails04.svelte +65 -0
- package/dist/components/pages/product-details/04/ProductDetails04.svelte.d.ts +11 -0
- package/dist/components/pages/product-details/ProductDetails.svelte +38 -0
- package/dist/components/pages/product-details/ProductDetails.svelte.d.ts +4 -0
- package/dist/components/pages/product-details/shared/ProductDetailActions.svelte +82 -0
- package/dist/components/pages/product-details/shared/ProductDetailActions.svelte.d.ts +13 -0
- package/dist/components/pages/product-details/shared/ProductDetailBreadcrumb.svelte +46 -0
- package/dist/components/pages/product-details/shared/ProductDetailBreadcrumb.svelte.d.ts +8 -0
- package/dist/components/pages/product-details/shared/ProductDetailDescription.svelte +38 -0
- package/dist/components/pages/product-details/shared/ProductDetailDescription.svelte.d.ts +8 -0
- package/dist/components/pages/product-details/shared/ProductDetailFeatures.svelte +40 -0
- package/dist/components/pages/product-details/shared/ProductDetailFeatures.svelte.d.ts +7 -0
- package/dist/components/pages/product-details/shared/ProductDetailFilesVertical.svelte +72 -0
- package/dist/components/pages/product-details/shared/ProductDetailFilesVertical.svelte.d.ts +9 -0
- package/dist/components/pages/product-details/shared/ProductDetailHeader.svelte +41 -0
- package/dist/components/pages/product-details/shared/ProductDetailHeader.svelte.d.ts +9 -0
- package/dist/components/pages/product-details/shared/ProductDetailImage.svelte +70 -0
- package/dist/components/pages/product-details/shared/ProductDetailImage.svelte.d.ts +9 -0
- package/dist/components/pages/product-details/shared/ProductDetailMap.svelte +57 -0
- package/dist/components/pages/product-details/shared/ProductDetailMap.svelte.d.ts +9 -0
- package/dist/components/pages/product-details/shared/ProductDetailPrice.svelte +44 -0
- package/dist/components/pages/product-details/shared/ProductDetailPrice.svelte.d.ts +9 -0
- package/dist/components/pages/product-details/shared/ProductDetailRating.svelte +42 -0
- package/dist/components/pages/product-details/shared/ProductDetailRating.svelte.d.ts +8 -0
- package/dist/components/pages/product-details/shared/ProductDetailReviews.svelte +70 -0
- package/dist/components/pages/product-details/shared/ProductDetailReviews.svelte.d.ts +8 -0
- package/dist/components/pages/product-details/shared/ProductDetailTabs.svelte +96 -0
- package/dist/components/pages/product-details/shared/ProductDetailTabs.svelte.d.ts +12 -0
- package/dist/components/pages/product-details/shared/ProductDetailTags.svelte +35 -0
- package/dist/components/pages/product-details/shared/ProductDetailTags.svelte.d.ts +8 -0
- package/dist/components/pages/product-details/shared/ProductPurchasePanel.svelte +58 -0
- package/dist/components/pages/product-details/shared/ProductPurchasePanel.svelte.d.ts +11 -0
- package/dist/components/pages/product-details/types.d.ts +170 -0
- package/dist/components/pages/product-details/types.js +1 -0
- package/dist/components/pages/profile-user/01/ProfileUser01.svelte +113 -0
- package/dist/components/pages/profile-user/01/ProfileUser01.svelte.d.ts +27 -0
- package/dist/components/pages/profile-user/02/ProfileUser02.svelte +83 -0
- package/dist/components/pages/profile-user/02/ProfileUser02.svelte.d.ts +20 -0
- package/dist/components/pages/profile-user/03/ProfileUser03.svelte +85 -0
- package/dist/components/pages/profile-user/03/ProfileUser03.svelte.d.ts +20 -0
- package/dist/components/pages/profile-user/ProfileUser.svelte +53 -0
- package/dist/components/pages/profile-user/ProfileUser.svelte.d.ts +4 -0
- package/dist/components/pages/profile-user/shared/ProfileUserAddress.svelte +84 -0
- package/dist/components/pages/profile-user/shared/ProfileUserAddress.svelte.d.ts +8 -0
- package/dist/components/pages/profile-user/shared/ProfileUserHeader.svelte +104 -0
- package/dist/components/pages/profile-user/shared/ProfileUserHeader.svelte.d.ts +9 -0
- package/dist/components/pages/profile-user/shared/ProfileUserResetPassword.svelte +116 -0
- package/dist/components/pages/profile-user/shared/ProfileUserResetPassword.svelte.d.ts +7 -0
- package/dist/components/pages/profile-user/shared/ProfileUserSetting.svelte +176 -0
- package/dist/components/pages/profile-user/shared/ProfileUserSetting.svelte.d.ts +14 -0
- package/dist/components/pages/profile-user/shared/ProfileUserTabs.svelte +78 -0
- package/dist/components/pages/profile-user/shared/ProfileUserTabs.svelte.d.ts +22 -0
- package/dist/components/pages/profile-user/types.d.ts +144 -0
- package/dist/components/pages/profile-user/types.js +1 -0
- package/dist/globals.css +319 -4
- package/dist/i18n/langs/en.d.ts +87 -0
- package/dist/i18n/langs/en.js +87 -0
- package/dist/i18n/langs/pt.d.ts +87 -0
- package/dist/i18n/langs/pt.js +93 -6
- package/dist/i18n/translations.d.ts +174 -0
- package/dist/index.d.ts +194 -27
- package/dist/index.js +194 -27
- package/dist/styles/globals.css +1 -1
- package/dist/types/index.d.ts +196 -5
- package/package.json +1 -1
- package/dist/components/core/banner/BannerNotification.svelte.d.ts +0 -4
- package/dist/components/core/banner/CardAdBanner.svelte.d.ts +0 -4
- /package/dist/components/core/banner/{CardAdBanner.svelte → AdCardBanner.svelte} +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -9,9 +9,12 @@ import DataTableCore from "./components/core/datatable/ui/DataTableCore.svelte";
|
|
|
9
9
|
import MenuBarSidebar from "./components/core/sidebar/MenuBarSidebar.svelte";
|
|
10
10
|
import AdminContent from "./components/pages/admin/01/ui/AdminContent.svelte";
|
|
11
11
|
import AdminPanel from "./components/pages/admin/01/ui/AdminPanel.svelte";
|
|
12
|
-
import
|
|
13
|
-
import
|
|
12
|
+
import AdCardBanner from "./components/core/banner/AdCardBanner.svelte";
|
|
13
|
+
import CtaCardBanner from "./components/core/banner/CtaCardBanner.svelte";
|
|
14
|
+
import NotificationBanner from "./components/core/banner/NotificationBanner.svelte";
|
|
14
15
|
import PrivacyPolicyOrTermsOfUse from "./components/pages/privacy-policy-or-terms-of-use/PrivacyPolicyOrTermsOfUse.svelte";
|
|
16
|
+
import ProductDetails from "./components/pages/product-details/ProductDetails.svelte";
|
|
17
|
+
import ProfileUser from "./components/pages/profile-user/ProfileUser.svelte";
|
|
15
18
|
import PageOtpVerification from "./components/pages/security/otp-verification/PageOtpVerification.svelte";
|
|
16
19
|
import PageForgetPassword from "./components/pages/security/forget-password/PageForgetPassword.svelte";
|
|
17
20
|
import PageResetPassword from "./components/pages/security/reset-password/PageResetPassword.svelte";
|
|
@@ -26,6 +29,7 @@ import PageLogin from "./components/pages/security/login/PageLogin.svelte";
|
|
|
26
29
|
import SearchInput from "./components/core/search/SearchInput.svelte";
|
|
27
30
|
import NavMenu from "./components/core/nav/ui/nav-menu.svelte";
|
|
28
31
|
import NegoDesign from "./components/NegoDesign.svelte";
|
|
32
|
+
import Footer from "./components/core/footer/ui/Footer.svelte";
|
|
29
33
|
/** Store reativa do idioma atual. Altere com `$locale = "pt"`. */
|
|
30
34
|
export { locale } from "./i18n";
|
|
31
35
|
/** Lista de idiomas disponíveis. Atualizado automaticamente. */
|
|
@@ -37,47 +41,210 @@ export { getMergedTranslations } from "./i18n/config";
|
|
|
37
41
|
/** Retorna a lista de idiomas disponíveis. */
|
|
38
42
|
export { getLocales } from "./i18n/config";
|
|
39
43
|
export {
|
|
40
|
-
/**
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
44
|
+
/**
|
|
45
|
+
* Componente raiz do Negodesign.
|
|
46
|
+
* Configura o tema, idioma e traduções da aplicação.
|
|
47
|
+
* @property {Record<string, Record<string, string>>} translations - Traduções customizadas
|
|
48
|
+
* @property {Snippet} children - Conteúdo da aplicação
|
|
49
|
+
*/
|
|
50
|
+
NegoDesign,
|
|
51
|
+
/**
|
|
52
|
+
* Barra de navegação principal com logo, links, ações (login/registo),
|
|
53
|
+
* language switcher e light switch integrados.
|
|
54
|
+
* @see NavMenuProps
|
|
55
|
+
*/
|
|
56
|
+
NavMenu,
|
|
57
|
+
/**
|
|
58
|
+
* Banner de anúncio com faixa lateral colorida, título destacado e botão CTA.
|
|
59
|
+
* Ideal para publicidade, chamadas de atenção ou ofertas especiais.
|
|
60
|
+
* @see AdCardBannerProps
|
|
61
|
+
*/
|
|
62
|
+
AdCardBanner,
|
|
63
|
+
/**
|
|
64
|
+
* Banner CTA "Vamos entrar em contacto" com título bold, descrição de apoio
|
|
65
|
+
* e até 2 botões em formato de pílula com decoração de anéis concêntricos.
|
|
66
|
+
* @see CtaCardBannerProps
|
|
67
|
+
*/
|
|
68
|
+
CtaCardBanner,
|
|
69
|
+
/**
|
|
70
|
+
* Banner de notificação com texto em destaque, descrição, CTA e botão dismiss.
|
|
71
|
+
* Usado para comunicar novidades, promoções ou mensagens importantes.
|
|
72
|
+
* @see NotificationBannerProps
|
|
73
|
+
*/
|
|
74
|
+
NotificationBanner,
|
|
75
|
+
/**
|
|
76
|
+
* Campo de input de busca com 2 variantes visuais (borda completa ou underline).
|
|
77
|
+
* Inclui botão de submissão e callback onSubmit.
|
|
78
|
+
* @see SearchInputProps
|
|
79
|
+
*/
|
|
80
|
+
SearchInput,
|
|
81
|
+
/**
|
|
82
|
+
* Carousel de badges/categorias com orientação horizontal ou vertical.
|
|
83
|
+
* Cada item pode ter ícone, imagem, label e callback de clique.
|
|
84
|
+
* @see CarouselBadgeProps
|
|
85
|
+
*/
|
|
86
|
+
CarouselBadge,
|
|
87
|
+
/**
|
|
88
|
+
* Carousel hero em fullscreen com slides de imagem, título, descrição
|
|
89
|
+
* e menu de navegação sobreposto. Ideal para páginas de login.
|
|
90
|
+
* @see CarouselHeroProps
|
|
91
|
+
*/
|
|
92
|
+
CarouselHero,
|
|
93
|
+
/**
|
|
94
|
+
* Rodapé completo com múltiplas colunas de links, logo, ícones de redes sociais
|
|
95
|
+
* e formulário de newsletter opcional.
|
|
96
|
+
* @see FooterProps
|
|
97
|
+
*/
|
|
98
|
+
Footer,
|
|
99
|
+
/**
|
|
100
|
+
* Carousel de cards de promoção com preços antigo/novo, botão de comprar,
|
|
101
|
+
* favoritar e adicionar ao carrinho.
|
|
102
|
+
* @see CarouselPromotionProps
|
|
103
|
+
*/
|
|
45
104
|
CarouselPromotion,
|
|
46
|
-
/**
|
|
105
|
+
/**
|
|
106
|
+
* Carousel de cards de destaque para organizações, serviços ou locais em evidência.
|
|
107
|
+
* Suporta duas variantes visuais.
|
|
108
|
+
* @see CarouselHighlightsProps
|
|
109
|
+
*/
|
|
47
110
|
CarouselHighlights,
|
|
48
|
-
/**
|
|
111
|
+
/**
|
|
112
|
+
* Layout em grid responsivo de cards de mídia (imagens ou vídeos).
|
|
113
|
+
* Em telas mobile transforma-se num carousel com swipe.
|
|
114
|
+
* @see CarouselMediaProps
|
|
115
|
+
*/
|
|
49
116
|
CarouselGridMedia,
|
|
50
|
-
/**
|
|
51
|
-
|
|
52
|
-
|
|
117
|
+
/**
|
|
118
|
+
* Layout em grid responsivo de cards de perfil (guias, intérpretes, organizações).
|
|
119
|
+
* Em telas mobile transforma-se num carousel com swipe.
|
|
120
|
+
* @see CarouselProfileProps
|
|
121
|
+
*/
|
|
122
|
+
CarouselGridProfile,
|
|
123
|
+
/**
|
|
124
|
+
* Componente de abas com estilo underline. Troca o conteúdo (Snippet)
|
|
125
|
+
* conforme a aba selecionada.
|
|
126
|
+
* @see TabUnderlineProps
|
|
127
|
+
*/
|
|
128
|
+
TabUnderline,
|
|
129
|
+
/**
|
|
130
|
+
* Página de login completa com carousel hero ao fundo e card de autenticação
|
|
131
|
+
* com múltiplas variantes (email, username, telefone) e formulário de registo.
|
|
132
|
+
* @see PageLoginProps
|
|
133
|
+
*/
|
|
53
134
|
PageLogin,
|
|
54
|
-
/**
|
|
135
|
+
/**
|
|
136
|
+
* Página de recuperação de senha com hero carousel e card de solicitação
|
|
137
|
+
* de link de recuperação por email.
|
|
138
|
+
* @see PageForgetPasswordProps
|
|
139
|
+
*/
|
|
55
140
|
PageForgetPassword,
|
|
56
|
-
/**
|
|
141
|
+
/**
|
|
142
|
+
* Página de redefinição de senha com hero carousel e card para introduzir
|
|
143
|
+
* e confirmar a nova palavra-passe.
|
|
144
|
+
* @see PageResetPasswordProps
|
|
145
|
+
*/
|
|
57
146
|
PageResetPassword,
|
|
58
|
-
/**
|
|
147
|
+
/**
|
|
148
|
+
* Página de política de privacidade ou termos de utilização com sidebar,
|
|
149
|
+
* tabela de conteúdos e blocos de conteúdo navegáveis.
|
|
150
|
+
* @see PrivacyPolicyOrTermsOfUseProps
|
|
151
|
+
*/
|
|
59
152
|
PrivacyPolicyOrTermsOfUse,
|
|
60
|
-
/**
|
|
153
|
+
/**
|
|
154
|
+
* Página de detalhes do produto com 4 variantes de layout, galeria de imagens,
|
|
155
|
+
* avaliações, mapa, ficheiros, tabs e painel de compra.
|
|
156
|
+
* @see ProductDetailsProps
|
|
157
|
+
*/
|
|
158
|
+
ProductDetails,
|
|
159
|
+
/**
|
|
160
|
+
* Página de perfil de utilizador com 3 variantes de layout.
|
|
161
|
+
* Inclui informação básica, alterar senha, preferências e experiência.
|
|
162
|
+
* - varient=1: Header colorido com dados admin, tabs e painel de detalhes.
|
|
163
|
+
* - varient=2: Banner com avatar sobreposto, formulário alterar senha (Security).
|
|
164
|
+
* - varient=3: Header roxo com tabs de experiência e timeline.
|
|
165
|
+
* @see ProfileUserProps
|
|
166
|
+
*/
|
|
167
|
+
ProfileUser,
|
|
168
|
+
/**
|
|
169
|
+
* Página de verificação OTP com hero carousel e card de input de código
|
|
170
|
+
* de 6 dígitos para validação de login ou recuperação.
|
|
171
|
+
* @see PageOtpVerificationProps
|
|
172
|
+
*/
|
|
61
173
|
PageOtpVerification,
|
|
62
|
-
/**
|
|
174
|
+
/**
|
|
175
|
+
* Tabela de dados genérica construída sobre o TanStack Table.
|
|
176
|
+
* Inclui paginação, ordenação, filtros, badges, coluna de seleção,
|
|
177
|
+
* drag handle e ações personalizadas por linha.
|
|
178
|
+
* @template T Tipo genérico dos itens/linhas
|
|
179
|
+
* @see DataTableCoreProps
|
|
180
|
+
*/
|
|
63
181
|
DataTableCore,
|
|
64
|
-
/**
|
|
182
|
+
/**
|
|
183
|
+
* Sidebar de navegação administrativa com menu colapsável, cabeçalho customizável,
|
|
184
|
+
* lista de menus/submenus, botões do rodapé e bloco de utilizador logado.
|
|
185
|
+
* @see MenuBarSidebarProps
|
|
186
|
+
*/
|
|
65
187
|
MenuBarSidebar,
|
|
66
|
-
/**
|
|
188
|
+
/**
|
|
189
|
+
* Layout principal da área administrativa. Composto por provider de sidebar,
|
|
190
|
+
* header com trigger da sidebar, breadcrumb, language switcher, light switch
|
|
191
|
+
* e área de conteúdo principal.
|
|
192
|
+
* @property {Snippet} appsidebar - Snippet com a sidebar da aplicação
|
|
193
|
+
* @property {Snippet} content - Snippet com o conteúdo principal
|
|
194
|
+
* @property {Snippet} breadcrumb - Snippet com a navegação breadcrumb
|
|
195
|
+
*/
|
|
67
196
|
AdminPanel,
|
|
68
|
-
/**
|
|
197
|
+
/**
|
|
198
|
+
* Wrapper de conteúdo para páginas administrativas.
|
|
199
|
+
* Aplica padding, layout flex colunar e gaps consistentes entre secções.
|
|
200
|
+
* @property {Snippet} children - Snippet com o conteúdo interno da página
|
|
201
|
+
*/
|
|
69
202
|
AdminContent,
|
|
70
|
-
/**
|
|
203
|
+
/**
|
|
204
|
+
* Campo de input para email com validação, ícone e label integrados.
|
|
205
|
+
* Suporta two-way binding via prop `value`.
|
|
206
|
+
* @property {string} value - Valor vinculado do input
|
|
207
|
+
* @property {string} label - Rótulo personalizado do campo
|
|
208
|
+
*/
|
|
71
209
|
InputEmail,
|
|
72
|
-
/**
|
|
210
|
+
/**
|
|
211
|
+
* Campo de input para número de telefone com seletor de país (código + bandeira)
|
|
212
|
+
* e validação do formato.
|
|
213
|
+
* @property {string} value - Valor vinculado do input
|
|
214
|
+
* @property {string} label - Rótulo personalizado do campo
|
|
215
|
+
*/
|
|
73
216
|
InputPhone,
|
|
74
|
-
/**
|
|
217
|
+
/**
|
|
218
|
+
* Campo de input híbrido que aceita tanto email como número de telefone.
|
|
219
|
+
* Detecta automaticamente o tipo com base no valor introduzido.
|
|
220
|
+
* @property {string} value - Valor vinculado do input
|
|
221
|
+
* @property {string} label - Rótulo personalizado do campo
|
|
222
|
+
*/
|
|
75
223
|
InputEmailOrPhone,
|
|
76
|
-
/**
|
|
224
|
+
/**
|
|
225
|
+
* Campo de input para código OTP (One-Time Password) com N caixas de dígitos separadas.
|
|
226
|
+
* Suporta separador visual entre grupos de dígitos.
|
|
227
|
+
* @property {number} length - Quantidade de caixas de dígitos (padrão: 6)
|
|
228
|
+
* @property {boolean} separator - Exibir separador visual entre grupos
|
|
229
|
+
*/
|
|
77
230
|
InputCodeOtp,
|
|
78
|
-
/**
|
|
231
|
+
/**
|
|
232
|
+
* Campo de input para senha com toggle de visibilidade (ícone de olho).
|
|
233
|
+
* Suporta two-way binding e validações customizadas.
|
|
234
|
+
* @property {string} value - Valor vinculado do input
|
|
235
|
+
* @property {string} label - Rótulo personalizado do campo
|
|
236
|
+
*/
|
|
79
237
|
InputPassword,
|
|
80
|
-
/**
|
|
238
|
+
/**
|
|
239
|
+
* Campo de input para nome de utilizador com ícone e label integrados.
|
|
240
|
+
* @property {string} value - Valor vinculado do input
|
|
241
|
+
* @property {string} label - Rótulo personalizado do campo
|
|
242
|
+
*/
|
|
81
243
|
InputUsername,
|
|
82
|
-
/**
|
|
244
|
+
/**
|
|
245
|
+
* Campo de input para confirmação de senha. Integra-se com InputPassword
|
|
246
|
+
* para validar correspondência entre os dois campos.
|
|
247
|
+
* @property {string} value - Valor vinculado do input
|
|
248
|
+
* @property {string} label - Rótulo personalizado do campo
|
|
249
|
+
*/
|
|
83
250
|
InputPasswordConfirm };
|
package/dist/index.js
CHANGED
|
@@ -9,9 +9,12 @@ import DataTableCore from "./components/core/datatable/ui/DataTableCore.svelte";
|
|
|
9
9
|
import MenuBarSidebar from "./components/core/sidebar/MenuBarSidebar.svelte";
|
|
10
10
|
import AdminContent from "./components/pages/admin/01/ui/AdminContent.svelte";
|
|
11
11
|
import AdminPanel from "./components/pages/admin/01/ui/AdminPanel.svelte";
|
|
12
|
-
import
|
|
13
|
-
import
|
|
12
|
+
import AdCardBanner from "./components/core/banner/AdCardBanner.svelte";
|
|
13
|
+
import CtaCardBanner from "./components/core/banner/CtaCardBanner.svelte";
|
|
14
|
+
import NotificationBanner from "./components/core/banner/NotificationBanner.svelte";
|
|
14
15
|
import PrivacyPolicyOrTermsOfUse from "./components/pages/privacy-policy-or-terms-of-use/PrivacyPolicyOrTermsOfUse.svelte";
|
|
16
|
+
import ProductDetails from "./components/pages/product-details/ProductDetails.svelte";
|
|
17
|
+
import ProfileUser from "./components/pages/profile-user/ProfileUser.svelte";
|
|
15
18
|
import PageOtpVerification from "./components/pages/security/otp-verification/PageOtpVerification.svelte";
|
|
16
19
|
import PageForgetPassword from "./components/pages/security/forget-password/PageForgetPassword.svelte";
|
|
17
20
|
import PageResetPassword from "./components/pages/security/reset-password/PageResetPassword.svelte";
|
|
@@ -26,6 +29,7 @@ import PageLogin from "./components/pages/security/login/PageLogin.svelte";
|
|
|
26
29
|
import SearchInput from "./components/core/search/SearchInput.svelte";
|
|
27
30
|
import NavMenu from "./components/core/nav/ui/nav-menu.svelte";
|
|
28
31
|
import NegoDesign from "./components/NegoDesign.svelte";
|
|
32
|
+
import Footer from "./components/core/footer/ui/Footer.svelte";
|
|
29
33
|
/** Store reativa do idioma atual. Altere com `$locale = "pt"`. */
|
|
30
34
|
export { locale } from "./i18n";
|
|
31
35
|
/** Lista de idiomas disponíveis. Atualizado automaticamente. */
|
|
@@ -37,47 +41,210 @@ export { getMergedTranslations } from "./i18n/config";
|
|
|
37
41
|
/** Retorna a lista de idiomas disponíveis. */
|
|
38
42
|
export { getLocales } from "./i18n/config";
|
|
39
43
|
export {
|
|
40
|
-
/**
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
44
|
+
/**
|
|
45
|
+
* Componente raiz do Negodesign.
|
|
46
|
+
* Configura o tema, idioma e traduções da aplicação.
|
|
47
|
+
* @property {Record<string, Record<string, string>>} translations - Traduções customizadas
|
|
48
|
+
* @property {Snippet} children - Conteúdo da aplicação
|
|
49
|
+
*/
|
|
50
|
+
NegoDesign,
|
|
51
|
+
/**
|
|
52
|
+
* Barra de navegação principal com logo, links, ações (login/registo),
|
|
53
|
+
* language switcher e light switch integrados.
|
|
54
|
+
* @see NavMenuProps
|
|
55
|
+
*/
|
|
56
|
+
NavMenu,
|
|
57
|
+
/**
|
|
58
|
+
* Banner de anúncio com faixa lateral colorida, título destacado e botão CTA.
|
|
59
|
+
* Ideal para publicidade, chamadas de atenção ou ofertas especiais.
|
|
60
|
+
* @see AdCardBannerProps
|
|
61
|
+
*/
|
|
62
|
+
AdCardBanner,
|
|
63
|
+
/**
|
|
64
|
+
* Banner CTA "Vamos entrar em contacto" com título bold, descrição de apoio
|
|
65
|
+
* e até 2 botões em formato de pílula com decoração de anéis concêntricos.
|
|
66
|
+
* @see CtaCardBannerProps
|
|
67
|
+
*/
|
|
68
|
+
CtaCardBanner,
|
|
69
|
+
/**
|
|
70
|
+
* Banner de notificação com texto em destaque, descrição, CTA e botão dismiss.
|
|
71
|
+
* Usado para comunicar novidades, promoções ou mensagens importantes.
|
|
72
|
+
* @see NotificationBannerProps
|
|
73
|
+
*/
|
|
74
|
+
NotificationBanner,
|
|
75
|
+
/**
|
|
76
|
+
* Campo de input de busca com 2 variantes visuais (borda completa ou underline).
|
|
77
|
+
* Inclui botão de submissão e callback onSubmit.
|
|
78
|
+
* @see SearchInputProps
|
|
79
|
+
*/
|
|
80
|
+
SearchInput,
|
|
81
|
+
/**
|
|
82
|
+
* Carousel de badges/categorias com orientação horizontal ou vertical.
|
|
83
|
+
* Cada item pode ter ícone, imagem, label e callback de clique.
|
|
84
|
+
* @see CarouselBadgeProps
|
|
85
|
+
*/
|
|
86
|
+
CarouselBadge,
|
|
87
|
+
/**
|
|
88
|
+
* Carousel hero em fullscreen com slides de imagem, título, descrição
|
|
89
|
+
* e menu de navegação sobreposto. Ideal para páginas de login.
|
|
90
|
+
* @see CarouselHeroProps
|
|
91
|
+
*/
|
|
92
|
+
CarouselHero,
|
|
93
|
+
/**
|
|
94
|
+
* Rodapé completo com múltiplas colunas de links, logo, ícones de redes sociais
|
|
95
|
+
* e formulário de newsletter opcional.
|
|
96
|
+
* @see FooterProps
|
|
97
|
+
*/
|
|
98
|
+
Footer,
|
|
99
|
+
/**
|
|
100
|
+
* Carousel de cards de promoção com preços antigo/novo, botão de comprar,
|
|
101
|
+
* favoritar e adicionar ao carrinho.
|
|
102
|
+
* @see CarouselPromotionProps
|
|
103
|
+
*/
|
|
45
104
|
CarouselPromotion,
|
|
46
|
-
/**
|
|
105
|
+
/**
|
|
106
|
+
* Carousel de cards de destaque para organizações, serviços ou locais em evidência.
|
|
107
|
+
* Suporta duas variantes visuais.
|
|
108
|
+
* @see CarouselHighlightsProps
|
|
109
|
+
*/
|
|
47
110
|
CarouselHighlights,
|
|
48
|
-
/**
|
|
111
|
+
/**
|
|
112
|
+
* Layout em grid responsivo de cards de mídia (imagens ou vídeos).
|
|
113
|
+
* Em telas mobile transforma-se num carousel com swipe.
|
|
114
|
+
* @see CarouselMediaProps
|
|
115
|
+
*/
|
|
49
116
|
CarouselGridMedia,
|
|
50
|
-
/**
|
|
51
|
-
|
|
52
|
-
|
|
117
|
+
/**
|
|
118
|
+
* Layout em grid responsivo de cards de perfil (guias, intérpretes, organizações).
|
|
119
|
+
* Em telas mobile transforma-se num carousel com swipe.
|
|
120
|
+
* @see CarouselProfileProps
|
|
121
|
+
*/
|
|
122
|
+
CarouselGridProfile,
|
|
123
|
+
/**
|
|
124
|
+
* Componente de abas com estilo underline. Troca o conteúdo (Snippet)
|
|
125
|
+
* conforme a aba selecionada.
|
|
126
|
+
* @see TabUnderlineProps
|
|
127
|
+
*/
|
|
128
|
+
TabUnderline,
|
|
129
|
+
/**
|
|
130
|
+
* Página de login completa com carousel hero ao fundo e card de autenticação
|
|
131
|
+
* com múltiplas variantes (email, username, telefone) e formulário de registo.
|
|
132
|
+
* @see PageLoginProps
|
|
133
|
+
*/
|
|
53
134
|
PageLogin,
|
|
54
|
-
/**
|
|
135
|
+
/**
|
|
136
|
+
* Página de recuperação de senha com hero carousel e card de solicitação
|
|
137
|
+
* de link de recuperação por email.
|
|
138
|
+
* @see PageForgetPasswordProps
|
|
139
|
+
*/
|
|
55
140
|
PageForgetPassword,
|
|
56
|
-
/**
|
|
141
|
+
/**
|
|
142
|
+
* Página de redefinição de senha com hero carousel e card para introduzir
|
|
143
|
+
* e confirmar a nova palavra-passe.
|
|
144
|
+
* @see PageResetPasswordProps
|
|
145
|
+
*/
|
|
57
146
|
PageResetPassword,
|
|
58
|
-
/**
|
|
147
|
+
/**
|
|
148
|
+
* Página de política de privacidade ou termos de utilização com sidebar,
|
|
149
|
+
* tabela de conteúdos e blocos de conteúdo navegáveis.
|
|
150
|
+
* @see PrivacyPolicyOrTermsOfUseProps
|
|
151
|
+
*/
|
|
59
152
|
PrivacyPolicyOrTermsOfUse,
|
|
60
|
-
/**
|
|
153
|
+
/**
|
|
154
|
+
* Página de detalhes do produto com 4 variantes de layout, galeria de imagens,
|
|
155
|
+
* avaliações, mapa, ficheiros, tabs e painel de compra.
|
|
156
|
+
* @see ProductDetailsProps
|
|
157
|
+
*/
|
|
158
|
+
ProductDetails,
|
|
159
|
+
/**
|
|
160
|
+
* Página de perfil de utilizador com 3 variantes de layout.
|
|
161
|
+
* Inclui informação básica, alterar senha, preferências e experiência.
|
|
162
|
+
* - varient=1: Header colorido com dados admin, tabs e painel de detalhes.
|
|
163
|
+
* - varient=2: Banner com avatar sobreposto, formulário alterar senha (Security).
|
|
164
|
+
* - varient=3: Header roxo com tabs de experiência e timeline.
|
|
165
|
+
* @see ProfileUserProps
|
|
166
|
+
*/
|
|
167
|
+
ProfileUser,
|
|
168
|
+
/**
|
|
169
|
+
* Página de verificação OTP com hero carousel e card de input de código
|
|
170
|
+
* de 6 dígitos para validação de login ou recuperação.
|
|
171
|
+
* @see PageOtpVerificationProps
|
|
172
|
+
*/
|
|
61
173
|
PageOtpVerification,
|
|
62
|
-
/**
|
|
174
|
+
/**
|
|
175
|
+
* Tabela de dados genérica construída sobre o TanStack Table.
|
|
176
|
+
* Inclui paginação, ordenação, filtros, badges, coluna de seleção,
|
|
177
|
+
* drag handle e ações personalizadas por linha.
|
|
178
|
+
* @template T Tipo genérico dos itens/linhas
|
|
179
|
+
* @see DataTableCoreProps
|
|
180
|
+
*/
|
|
63
181
|
DataTableCore,
|
|
64
|
-
/**
|
|
182
|
+
/**
|
|
183
|
+
* Sidebar de navegação administrativa com menu colapsável, cabeçalho customizável,
|
|
184
|
+
* lista de menus/submenus, botões do rodapé e bloco de utilizador logado.
|
|
185
|
+
* @see MenuBarSidebarProps
|
|
186
|
+
*/
|
|
65
187
|
MenuBarSidebar,
|
|
66
|
-
/**
|
|
188
|
+
/**
|
|
189
|
+
* Layout principal da área administrativa. Composto por provider de sidebar,
|
|
190
|
+
* header com trigger da sidebar, breadcrumb, language switcher, light switch
|
|
191
|
+
* e área de conteúdo principal.
|
|
192
|
+
* @property {Snippet} appsidebar - Snippet com a sidebar da aplicação
|
|
193
|
+
* @property {Snippet} content - Snippet com o conteúdo principal
|
|
194
|
+
* @property {Snippet} breadcrumb - Snippet com a navegação breadcrumb
|
|
195
|
+
*/
|
|
67
196
|
AdminPanel,
|
|
68
|
-
/**
|
|
197
|
+
/**
|
|
198
|
+
* Wrapper de conteúdo para páginas administrativas.
|
|
199
|
+
* Aplica padding, layout flex colunar e gaps consistentes entre secções.
|
|
200
|
+
* @property {Snippet} children - Snippet com o conteúdo interno da página
|
|
201
|
+
*/
|
|
69
202
|
AdminContent,
|
|
70
|
-
/**
|
|
203
|
+
/**
|
|
204
|
+
* Campo de input para email com validação, ícone e label integrados.
|
|
205
|
+
* Suporta two-way binding via prop `value`.
|
|
206
|
+
* @property {string} value - Valor vinculado do input
|
|
207
|
+
* @property {string} label - Rótulo personalizado do campo
|
|
208
|
+
*/
|
|
71
209
|
InputEmail,
|
|
72
|
-
/**
|
|
210
|
+
/**
|
|
211
|
+
* Campo de input para número de telefone com seletor de país (código + bandeira)
|
|
212
|
+
* e validação do formato.
|
|
213
|
+
* @property {string} value - Valor vinculado do input
|
|
214
|
+
* @property {string} label - Rótulo personalizado do campo
|
|
215
|
+
*/
|
|
73
216
|
InputPhone,
|
|
74
|
-
/**
|
|
217
|
+
/**
|
|
218
|
+
* Campo de input híbrido que aceita tanto email como número de telefone.
|
|
219
|
+
* Detecta automaticamente o tipo com base no valor introduzido.
|
|
220
|
+
* @property {string} value - Valor vinculado do input
|
|
221
|
+
* @property {string} label - Rótulo personalizado do campo
|
|
222
|
+
*/
|
|
75
223
|
InputEmailOrPhone,
|
|
76
|
-
/**
|
|
224
|
+
/**
|
|
225
|
+
* Campo de input para código OTP (One-Time Password) com N caixas de dígitos separadas.
|
|
226
|
+
* Suporta separador visual entre grupos de dígitos.
|
|
227
|
+
* @property {number} length - Quantidade de caixas de dígitos (padrão: 6)
|
|
228
|
+
* @property {boolean} separator - Exibir separador visual entre grupos
|
|
229
|
+
*/
|
|
77
230
|
InputCodeOtp,
|
|
78
|
-
/**
|
|
231
|
+
/**
|
|
232
|
+
* Campo de input para senha com toggle de visibilidade (ícone de olho).
|
|
233
|
+
* Suporta two-way binding e validações customizadas.
|
|
234
|
+
* @property {string} value - Valor vinculado do input
|
|
235
|
+
* @property {string} label - Rótulo personalizado do campo
|
|
236
|
+
*/
|
|
79
237
|
InputPassword,
|
|
80
|
-
/**
|
|
238
|
+
/**
|
|
239
|
+
* Campo de input para nome de utilizador com ícone e label integrados.
|
|
240
|
+
* @property {string} value - Valor vinculado do input
|
|
241
|
+
* @property {string} label - Rótulo personalizado do campo
|
|
242
|
+
*/
|
|
81
243
|
InputUsername,
|
|
82
|
-
/**
|
|
244
|
+
/**
|
|
245
|
+
* Campo de input para confirmação de senha. Integra-se com InputPassword
|
|
246
|
+
* para validar correspondência entre os dois campos.
|
|
247
|
+
* @property {string} value - Valor vinculado do input
|
|
248
|
+
* @property {string} label - Rótulo personalizado do campo
|
|
249
|
+
*/
|
|
83
250
|
InputPasswordConfirm };
|
package/dist/styles/globals.css
CHANGED