negodesign 0.0.74 → 0.0.75

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.
Files changed (93) hide show
  1. package/dist/components/pages/security/login/02/ui/LoginCard02.svelte +15 -4
  2. package/dist/components/pages/security/login/03/ui/LoginCard03.svelte +34 -16
  3. package/dist/components/ui/form/Form.svelte +171 -0
  4. package/dist/components/ui/form/Form.svelte.d.ts +4 -0
  5. package/dist/components/ui/form/types.d.ts +78 -0
  6. package/dist/components/ui/form/types.js +1 -0
  7. package/dist/components/ui/form/ui/input-badges.svelte +214 -0
  8. package/dist/components/ui/form/ui/input-badges.svelte.d.ts +14 -0
  9. package/dist/components/ui/form/ui/input-checkbox.svelte +86 -0
  10. package/dist/components/ui/form/ui/input-checkbox.svelte.d.ts +17 -0
  11. package/dist/components/ui/form/ui/input-radio.svelte +82 -0
  12. package/dist/components/ui/form/ui/input-radio.svelte.d.ts +17 -0
  13. package/dist/components/ui/form/ui/input-select.svelte +195 -0
  14. package/dist/components/ui/form/ui/input-select.svelte.d.ts +17 -0
  15. package/dist/components/ui/form/ui/input-textarea.svelte +61 -0
  16. package/dist/components/ui/form/ui/input-textarea.svelte.d.ts +13 -0
  17. package/dist/components/ui/form/ui/input-toggle.svelte +89 -0
  18. package/dist/components/ui/form/ui/input-toggle.svelte.d.ts +11 -0
  19. package/dist/components/ui/modal/badge/index.d.ts +3 -0
  20. package/dist/components/ui/modal/badge/index.js +2 -0
  21. package/dist/components/ui/modal/badge/types.d.ts +35 -0
  22. package/dist/components/ui/modal/badge/types.js +1 -0
  23. package/dist/components/ui/modal/badge/ui/ModalBadgeSelection.svelte +87 -0
  24. package/dist/components/ui/modal/badge/ui/ModalBadgeSelection.svelte.d.ts +4 -0
  25. package/dist/components/ui/modal/core/index.d.ts +3 -0
  26. package/dist/components/ui/modal/core/index.js +2 -0
  27. package/dist/components/ui/modal/core/types.d.ts +82 -0
  28. package/dist/components/ui/modal/core/types.js +1 -0
  29. package/dist/components/ui/modal/core/ui/ModalCore.svelte +129 -0
  30. package/dist/components/ui/modal/core/ui/ModalCore.svelte.d.ts +4 -0
  31. package/dist/components/ui/modal/feedback/index.d.ts +3 -0
  32. package/dist/components/ui/modal/feedback/index.js +2 -0
  33. package/dist/components/ui/modal/feedback/types.d.ts +32 -0
  34. package/dist/components/ui/modal/feedback/types.js +1 -0
  35. package/dist/components/ui/modal/feedback/ui/ModalFeedback.svelte +135 -0
  36. package/dist/components/ui/modal/feedback/ui/ModalFeedback.svelte.d.ts +4 -0
  37. package/dist/components/ui/modal/form/index.d.ts +3 -0
  38. package/dist/components/ui/modal/form/index.js +2 -0
  39. package/dist/components/ui/modal/form/types.d.ts +38 -0
  40. package/dist/components/ui/modal/form/types.js +1 -0
  41. package/dist/components/ui/modal/form/ui/ModalForm.svelte +67 -0
  42. package/dist/components/ui/modal/form/ui/ModalForm.svelte.d.ts +4 -0
  43. package/dist/components/ui/modal/grid/index.d.ts +5 -0
  44. package/dist/components/ui/modal/grid/index.js +4 -0
  45. package/dist/components/ui/modal/grid/types.d.ts +51 -0
  46. package/dist/components/ui/modal/grid/types.js +1 -0
  47. package/dist/components/ui/modal/grid/ui/01/ModalGridSelection01.svelte +83 -0
  48. package/dist/components/ui/modal/grid/ui/01/ModalGridSelection01.svelte.d.ts +4 -0
  49. package/dist/components/ui/modal/grid/ui/02/ModalGridSelection02.svelte +142 -0
  50. package/dist/components/ui/modal/grid/ui/02/ModalGridSelection02.svelte.d.ts +4 -0
  51. package/dist/components/ui/modal/grid/ui/ModalGridSelection.svelte +60 -0
  52. package/dist/components/ui/modal/grid/ui/ModalGridSelection.svelte.d.ts +4 -0
  53. package/dist/components/ui/modal/map/index.d.ts +3 -0
  54. package/dist/components/ui/modal/map/index.js +2 -0
  55. package/dist/components/ui/modal/map/types.d.ts +48 -0
  56. package/dist/components/ui/modal/map/types.js +1 -0
  57. package/dist/components/ui/modal/map/ui/ModalMap.svelte +187 -0
  58. package/dist/components/ui/modal/map/ui/ModalMap.svelte.d.ts +4 -0
  59. package/dist/components/ui/modal/notification/index.d.ts +3 -0
  60. package/dist/components/ui/modal/notification/index.js +2 -0
  61. package/dist/components/ui/modal/notification/types.d.ts +26 -0
  62. package/dist/components/ui/modal/notification/types.js +1 -0
  63. package/dist/components/ui/modal/notification/ui/ModalNotification.svelte +65 -0
  64. package/dist/components/ui/modal/notification/ui/ModalNotification.svelte.d.ts +4 -0
  65. package/dist/components/ui/modal/share/index.d.ts +3 -0
  66. package/dist/components/ui/modal/share/index.js +2 -0
  67. package/dist/components/ui/modal/share/types.d.ts +32 -0
  68. package/dist/components/ui/modal/share/types.js +1 -0
  69. package/dist/components/ui/modal/share/ui/ModalShareSelection.svelte +103 -0
  70. package/dist/components/ui/modal/share/ui/ModalShareSelection.svelte.d.ts +4 -0
  71. package/dist/components/ui/modal/upload/index.d.ts +3 -0
  72. package/dist/components/ui/modal/upload/index.js +2 -0
  73. package/dist/components/ui/modal/upload/types.d.ts +79 -0
  74. package/dist/components/ui/modal/upload/types.js +1 -0
  75. package/dist/components/ui/modal/upload/ui/ModalUpload.svelte +268 -0
  76. package/dist/components/ui/modal/upload/ui/ModalUpload.svelte.d.ts +4 -0
  77. package/dist/components/ui/section/Section01.svelte +90 -0
  78. package/dist/components/ui/section/Section01.svelte.d.ts +4 -0
  79. package/dist/components/ui/section/Section02.svelte +68 -0
  80. package/dist/components/ui/section/Section02.svelte.d.ts +4 -0
  81. package/dist/components/ui/section/Section03.svelte +52 -0
  82. package/dist/components/ui/section/Section03.svelte.d.ts +4 -0
  83. package/dist/components/ui/section/index.d.ts +4 -0
  84. package/dist/components/ui/section/index.js +3 -0
  85. package/dist/components/ui/section/types.d.ts +46 -0
  86. package/dist/components/ui/section/types.js +1 -0
  87. package/dist/docs/components.d.ts +1 -1
  88. package/dist/docs/components.js +882 -0
  89. package/dist/globals.css +443 -0
  90. package/dist/index.d.ts +169 -0
  91. package/dist/index.js +169 -0
  92. package/dist/types/index.d.ts +46 -0
  93. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -34,9 +34,22 @@ import Menu from "./components/ui/nav/ui/Menu.svelte";
34
34
  import PageLogin from "./components/pages/security/login/PageLogin.svelte";
35
35
  import SearchInput from "./components/ui/search/SearchInput.svelte";
36
36
  import Footer from "./components/ui/footer/ui/Footer.svelte";
37
+ import SimpleHero from "./components/ui/hero/SimpleHero.svelte";
38
+ import CardMedia from "./components/ui/card/core/media/CardMedia.svelte";
39
+ import CardProfile from "./components/ui/card/core/profile/CardProfile.svelte";
37
40
  import NegoDesign from "./components/NegoDesign.svelte";
38
41
  import ItemsSimpleGrid from "./components/ui/grid/core/ui/ItemsSimpleGrid.svelte";
39
42
  import ItemsPanel from "./components/ui/grid/core/ui/ItemsPanel.svelte";
43
+ import ModalGridSelection from "./components/ui/modal/grid/ui/ModalGridSelection.svelte";
44
+ import ModalBadgeSelection from "./components/ui/modal/badge/ui/ModalBadgeSelection.svelte";
45
+ import ModalShareSelection from "./components/ui/modal/share/ui/ModalShareSelection.svelte";
46
+ import ModalNotification from "./components/ui/modal/notification/ui/ModalNotification.svelte";
47
+ import ModalFeedback from "./components/ui/modal/feedback/ui/ModalFeedback.svelte";
48
+ import ModalMap from "./components/ui/modal/map/ui/ModalMap.svelte";
49
+ import ModalForm from "./components/ui/modal/form/ui/ModalForm.svelte";
50
+ import ModalUpload from "./components/ui/modal/upload/ui/ModalUpload.svelte";
51
+ import ModalCore from "./components/ui/modal/core/ui/ModalCore.svelte";
52
+ import Form from "./components/ui/form/Form.svelte";
40
53
  /** Store reativa do idioma atual. Altere com `$locale = "pt"`. */
41
54
  export { locale } from "./i18n";
42
55
  /** Lista de idiomas disponíveis. Atualizado automaticamente. */
@@ -82,6 +95,137 @@ ItemsSimpleGrid,
82
95
  * @see GridProps
83
96
  */
84
97
  ItemsPanel,
98
+ /**
99
+ * Modal de seleção em grid com cards clicáveis, pagination dots e botões
100
+ * de navegação (Back/Continue). Primeira variação do sistema de modais.
101
+ * @property {string} title - Título principal do modal
102
+ * @property {string} subtitle - Subtítulo/descrição
103
+ * @property {ModelGridCard[]} cards - Lista de cards seleccionáveis
104
+ * @property {ModelGridCard | null} selectedCard - Card seleccionado (bindable)
105
+ * @property {number} totalSteps - Número total de passos (pagination dots)
106
+ * @property {number} currentStep - Passo actual
107
+ * @property {boolean} isOpen - Visibilidade do modal (bindable)
108
+ * @property {(card) => void} onSelect - Callback ao seleccionar um card
109
+ * @property {() => void} onBack - Callback do botão Back
110
+ * @property {() => void} onContinue - Callback do botão Continue
111
+ * @see ModalGridSelectionProps
112
+ */
113
+ ModalGridSelection,
114
+ /**
115
+ * Contentor base reutilizável para todos os modais.
116
+ * Fornece overlay, container com gradiente, cabeçalho, rodapé com progress bar e navegação.
117
+ * Suporta snippets personalizados para conteúdo e rodapé.
118
+ * @property {boolean} isOpen - Visibilidade do modal (bindable)
119
+ * @property {string} title - Título principal
120
+ * @property {string} subtitle - Subtítulo
121
+ * @property {Snippet} content - Conteúdo principal
122
+ * @property {Snippet} footer - Rodapé personalizado
123
+ * @see ModalCoreProps
124
+ */
125
+ ModalCore,
126
+ /**
127
+ * Modal de seleção com badges/pills clicáveis, progress bar e botão Skip.
128
+ * Segunda variação do sistema de modais.
129
+ * @property {string} title - Título principal do modal
130
+ * @property {string} subtitle - Subtítulo/descrição
131
+ * @property {ModelBadge[]} badges - Lista de badges seleccionáveis
132
+ * @property {ModelBadge | null} selectedBadge - Badge seleccionado (bindable)
133
+ * @property {boolean} multiple - Permite seleção múltipla
134
+ * @property {boolean} isOpen - Visibilidade do modal (bindable)
135
+ * @property {(badge) => void} onSelect - Callback ao seleccionar um badge
136
+ * @property {() => void} onContinue - Callback do botão Continue
137
+ * @property {() => void} onSkip - Callback do botão Skip
138
+ * @see ModalBadgeSelectionProps
139
+ */
140
+ ModalBadgeSelection,
141
+ /**
142
+ * Modal de partilha em redes sociais com ícones clicáveis e campo de copiar link.
143
+ * Terceira variação do sistema de modais.
144
+ * @property {string} title - Título principal (ex: "Share this design")
145
+ * @property {ModelSocialShare[]} networks - Lista de redes sociais
146
+ * @property {string} linkValue - URL a partilhar/copiar
147
+ * @property {boolean} isOpen - Visibilidade do modal (bindable)
148
+ * @property {(network) => void} onShare - Callback ao clicar numa rede social
149
+ * @property {(link) => void} onCopy - Callback ao copiar o link
150
+ * @see ModalShareSelectionProps
151
+ */
152
+ ModalShareSelection,
153
+ /**
154
+ * Modal de subscrição/notificação por email com input e botão CTA.
155
+ * Quarta variação do sistema de modais.
156
+ * @property {string} title - Título principal
157
+ * @property {string} description - Texto descritivo
158
+ * @property {string} placeholder - Texto placeholder do input
159
+ * @property {string} buttonText - Texto do botão
160
+ * @property {boolean} isLoading - Estado de carregamento
161
+ * @property {boolean} isOpen - Visibilidade do modal (bindable)
162
+ * @property {(email) => void} onSubmit - Callback ao submeter
163
+ * @see ModalNotificationProps
164
+ */
165
+ ModalNotification,
166
+ /**
167
+ * Modal de feedback com editor de texto rico (bold, italic, underline, listas, alinhamento)
168
+ * e botão de adicionar imagem. Quinta variação do sistema de modais.
169
+ * @property {string} title - Título principal (default: "Your Feedback")
170
+ * @property {string} icon - Emoji/ícone ao lado do título
171
+ * @property {string} placeholder - Texto placeholder do editor
172
+ * @property {string} buttonText - Texto do botão Send
173
+ * @property {boolean} isLoading - Estado de carregamento
174
+ * @property {boolean} isOpen - Visibilidade do modal (bindable)
175
+ * @property {(content, images) => void} onSubmit - Callback ao submeter
176
+ * @property {() => void} onAddImage - Callback ao clicar Add Image
177
+ * @see ModalFeedbackProps
178
+ */
179
+ ModalFeedback,
180
+ /**
181
+ * Modal de seleção de localização com mapa, barra de pesquisa, popup de endereço
182
+ * e descrição. Sexta variação do sistema de modais.
183
+ * @property {string} title - Título do popup (default: "Location")
184
+ * @property {string} address - Endereço actual
185
+ * @property {string} description - Descrição da localização
186
+ * @property {boolean} isOpen - Visibilidade do modal (bindable)
187
+ * @property {(query) => void} onSearch - Callback ao pesquisar
188
+ * @property {(address, description) => void} onApply - Callback ao aplicar
189
+ * @property {Snippet} mapSlot - Snippet personalizado para o mapa
190
+ * @see ModalMapProps
191
+ */
192
+ ModalMap,
193
+ /**
194
+ * Formulário com grid responsivo de 2 colunas.
195
+ * Organiza inputs (text, email, password, date, phone, select, radio, checkbox, textarea)
196
+ * numa grid, onde cada campo pode ocupar 1 ou 2 colunas via prop `fill`.
197
+ * @property {FormInputConfig[]} inputs - Configuração dos inputs
198
+ * @property {(data) => void} onSubmit - Callback ao submeter
199
+ * @property {string} submitText - Texto do botão
200
+ * @property {boolean} isLoading - Estado de carregamento
201
+ * @property {1|2} columns - Número de colunas (padrão: 2)
202
+ * @see FormProps
203
+ */
204
+ Form,
205
+ /**
206
+ * Formulário dentro de um modal. Reutiliza o componente Form com a mesma
207
+ * API de inputs, adicionando overlay, título e botões de navegação.
208
+ * @property {string} title - Título do modal
209
+ * @property {string} subtitle - Subtítulo do modal
210
+ * @property {FormInputConfig[]} inputs - Configuração dos inputs
211
+ * @property {boolean} isOpen - Visibilidade do modal (bindable)
212
+ * @property {(data) => void} onSubmit - Callback ao submeter
213
+ * @property {() => void} onCancel - Callback ao cancelar
214
+ * @see ModalFormProps
215
+ */
216
+ ModalForm,
217
+ /**
218
+ * Modal de upload de ficheiros com drag and drop, lista de ficheiros
219
+ * com progress bar e estados (uploading/completed/failed).
220
+ * @property {string} title - Título do modal (default: "Upload File")
221
+ * @property {string} accept - Tipos MIME aceites
222
+ * @property {UploadFile[]} files - Lista de ficheiros (bindable)
223
+ * @property {boolean} isOpen - Visibilidade do modal (bindable)
224
+ * @property {(files) => void} onFilesSelected - Callback ao selecionar ficheiros
225
+ * @property {(files) => void} onUpload - Callback ao clicar Upload
226
+ * @see ModalUploadProps
227
+ */
228
+ ModalUpload,
85
229
  /**
86
230
  * Componente raiz do Negodesign.
87
231
  * Configura o tema, idioma e traduções da aplicação.
@@ -199,6 +343,31 @@ CarouselHero,
199
343
  * @see FooterProps
200
344
  */
201
345
  Footer,
346
+ /**
347
+ * Hero estático com layout dividido: coluna esquerda com conteúdo
348
+ * e coluna direita com imagem circular.
349
+ * @property {string} title - Título principal
350
+ * @property {string} subTitle - Subtítulo
351
+ * @property {string} description - Descrição
352
+ * @property {string} image - URL da imagem
353
+ * @see SimpleHero
354
+ */
355
+ SimpleHero,
356
+ /**
357
+ * Wrapper para cards de mídia com variantes 1 (alinhado à esquerda) e 2 (centrado).
358
+ * Mostra logo, título, rating, tags e botões.
359
+ * @property {1|2} variant - Variante visual
360
+ * @property {CardMediaProps} - Props do card de mídia
361
+ * @see CardMediaProps
362
+ */
363
+ CardMedia,
364
+ /**
365
+ * Wrapper para cards de perfil de organização/guia, com variantes 1 e 2.
366
+ * @property {1|2} variant - Variante visual
367
+ * @property {CardProfileProps} - Props do card de perfil
368
+ * @see CardProfileProps
369
+ */
370
+ CardProfile,
202
371
  /**
203
372
  * Carousel de cards de promoção com preços antigo/novo, botão de comprar,
204
373
  * favoritar e adicionar ao carrinho.
package/dist/index.js CHANGED
@@ -34,9 +34,22 @@ import Menu from "./components/ui/nav/ui/Menu.svelte";
34
34
  import PageLogin from "./components/pages/security/login/PageLogin.svelte";
35
35
  import SearchInput from "./components/ui/search/SearchInput.svelte";
36
36
  import Footer from "./components/ui/footer/ui/Footer.svelte";
37
+ import SimpleHero from "./components/ui/hero/SimpleHero.svelte";
38
+ import CardMedia from "./components/ui/card/core/media/CardMedia.svelte";
39
+ import CardProfile from "./components/ui/card/core/profile/CardProfile.svelte";
37
40
  import NegoDesign from "./components/NegoDesign.svelte";
38
41
  import ItemsSimpleGrid from "./components/ui/grid/core/ui/ItemsSimpleGrid.svelte";
39
42
  import ItemsPanel from "./components/ui/grid/core/ui/ItemsPanel.svelte";
43
+ import ModalGridSelection from "./components/ui/modal/grid/ui/ModalGridSelection.svelte";
44
+ import ModalBadgeSelection from "./components/ui/modal/badge/ui/ModalBadgeSelection.svelte";
45
+ import ModalShareSelection from "./components/ui/modal/share/ui/ModalShareSelection.svelte";
46
+ import ModalNotification from "./components/ui/modal/notification/ui/ModalNotification.svelte";
47
+ import ModalFeedback from "./components/ui/modal/feedback/ui/ModalFeedback.svelte";
48
+ import ModalMap from "./components/ui/modal/map/ui/ModalMap.svelte";
49
+ import ModalForm from "./components/ui/modal/form/ui/ModalForm.svelte";
50
+ import ModalUpload from "./components/ui/modal/upload/ui/ModalUpload.svelte";
51
+ import ModalCore from "./components/ui/modal/core/ui/ModalCore.svelte";
52
+ import Form from "./components/ui/form/Form.svelte";
40
53
  /** Store reativa do idioma atual. Altere com `$locale = "pt"`. */
41
54
  export { locale } from "./i18n";
42
55
  /** Lista de idiomas disponíveis. Atualizado automaticamente. */
@@ -82,6 +95,137 @@ ItemsSimpleGrid,
82
95
  * @see GridProps
83
96
  */
84
97
  ItemsPanel,
98
+ /**
99
+ * Modal de seleção em grid com cards clicáveis, pagination dots e botões
100
+ * de navegação (Back/Continue). Primeira variação do sistema de modais.
101
+ * @property {string} title - Título principal do modal
102
+ * @property {string} subtitle - Subtítulo/descrição
103
+ * @property {ModelGridCard[]} cards - Lista de cards seleccionáveis
104
+ * @property {ModelGridCard | null} selectedCard - Card seleccionado (bindable)
105
+ * @property {number} totalSteps - Número total de passos (pagination dots)
106
+ * @property {number} currentStep - Passo actual
107
+ * @property {boolean} isOpen - Visibilidade do modal (bindable)
108
+ * @property {(card) => void} onSelect - Callback ao seleccionar um card
109
+ * @property {() => void} onBack - Callback do botão Back
110
+ * @property {() => void} onContinue - Callback do botão Continue
111
+ * @see ModalGridSelectionProps
112
+ */
113
+ ModalGridSelection,
114
+ /**
115
+ * Contentor base reutilizável para todos os modais.
116
+ * Fornece overlay, container com gradiente, cabeçalho, rodapé com progress bar e navegação.
117
+ * Suporta snippets personalizados para conteúdo e rodapé.
118
+ * @property {boolean} isOpen - Visibilidade do modal (bindable)
119
+ * @property {string} title - Título principal
120
+ * @property {string} subtitle - Subtítulo
121
+ * @property {Snippet} content - Conteúdo principal
122
+ * @property {Snippet} footer - Rodapé personalizado
123
+ * @see ModalCoreProps
124
+ */
125
+ ModalCore,
126
+ /**
127
+ * Modal de seleção com badges/pills clicáveis, progress bar e botão Skip.
128
+ * Segunda variação do sistema de modais.
129
+ * @property {string} title - Título principal do modal
130
+ * @property {string} subtitle - Subtítulo/descrição
131
+ * @property {ModelBadge[]} badges - Lista de badges seleccionáveis
132
+ * @property {ModelBadge | null} selectedBadge - Badge seleccionado (bindable)
133
+ * @property {boolean} multiple - Permite seleção múltipla
134
+ * @property {boolean} isOpen - Visibilidade do modal (bindable)
135
+ * @property {(badge) => void} onSelect - Callback ao seleccionar um badge
136
+ * @property {() => void} onContinue - Callback do botão Continue
137
+ * @property {() => void} onSkip - Callback do botão Skip
138
+ * @see ModalBadgeSelectionProps
139
+ */
140
+ ModalBadgeSelection,
141
+ /**
142
+ * Modal de partilha em redes sociais com ícones clicáveis e campo de copiar link.
143
+ * Terceira variação do sistema de modais.
144
+ * @property {string} title - Título principal (ex: "Share this design")
145
+ * @property {ModelSocialShare[]} networks - Lista de redes sociais
146
+ * @property {string} linkValue - URL a partilhar/copiar
147
+ * @property {boolean} isOpen - Visibilidade do modal (bindable)
148
+ * @property {(network) => void} onShare - Callback ao clicar numa rede social
149
+ * @property {(link) => void} onCopy - Callback ao copiar o link
150
+ * @see ModalShareSelectionProps
151
+ */
152
+ ModalShareSelection,
153
+ /**
154
+ * Modal de subscrição/notificação por email com input e botão CTA.
155
+ * Quarta variação do sistema de modais.
156
+ * @property {string} title - Título principal
157
+ * @property {string} description - Texto descritivo
158
+ * @property {string} placeholder - Texto placeholder do input
159
+ * @property {string} buttonText - Texto do botão
160
+ * @property {boolean} isLoading - Estado de carregamento
161
+ * @property {boolean} isOpen - Visibilidade do modal (bindable)
162
+ * @property {(email) => void} onSubmit - Callback ao submeter
163
+ * @see ModalNotificationProps
164
+ */
165
+ ModalNotification,
166
+ /**
167
+ * Modal de feedback com editor de texto rico (bold, italic, underline, listas, alinhamento)
168
+ * e botão de adicionar imagem. Quinta variação do sistema de modais.
169
+ * @property {string} title - Título principal (default: "Your Feedback")
170
+ * @property {string} icon - Emoji/ícone ao lado do título
171
+ * @property {string} placeholder - Texto placeholder do editor
172
+ * @property {string} buttonText - Texto do botão Send
173
+ * @property {boolean} isLoading - Estado de carregamento
174
+ * @property {boolean} isOpen - Visibilidade do modal (bindable)
175
+ * @property {(content, images) => void} onSubmit - Callback ao submeter
176
+ * @property {() => void} onAddImage - Callback ao clicar Add Image
177
+ * @see ModalFeedbackProps
178
+ */
179
+ ModalFeedback,
180
+ /**
181
+ * Modal de seleção de localização com mapa, barra de pesquisa, popup de endereço
182
+ * e descrição. Sexta variação do sistema de modais.
183
+ * @property {string} title - Título do popup (default: "Location")
184
+ * @property {string} address - Endereço actual
185
+ * @property {string} description - Descrição da localização
186
+ * @property {boolean} isOpen - Visibilidade do modal (bindable)
187
+ * @property {(query) => void} onSearch - Callback ao pesquisar
188
+ * @property {(address, description) => void} onApply - Callback ao aplicar
189
+ * @property {Snippet} mapSlot - Snippet personalizado para o mapa
190
+ * @see ModalMapProps
191
+ */
192
+ ModalMap,
193
+ /**
194
+ * Formulário com grid responsivo de 2 colunas.
195
+ * Organiza inputs (text, email, password, date, phone, select, radio, checkbox, textarea)
196
+ * numa grid, onde cada campo pode ocupar 1 ou 2 colunas via prop `fill`.
197
+ * @property {FormInputConfig[]} inputs - Configuração dos inputs
198
+ * @property {(data) => void} onSubmit - Callback ao submeter
199
+ * @property {string} submitText - Texto do botão
200
+ * @property {boolean} isLoading - Estado de carregamento
201
+ * @property {1|2} columns - Número de colunas (padrão: 2)
202
+ * @see FormProps
203
+ */
204
+ Form,
205
+ /**
206
+ * Formulário dentro de um modal. Reutiliza o componente Form com a mesma
207
+ * API de inputs, adicionando overlay, título e botões de navegação.
208
+ * @property {string} title - Título do modal
209
+ * @property {string} subtitle - Subtítulo do modal
210
+ * @property {FormInputConfig[]} inputs - Configuração dos inputs
211
+ * @property {boolean} isOpen - Visibilidade do modal (bindable)
212
+ * @property {(data) => void} onSubmit - Callback ao submeter
213
+ * @property {() => void} onCancel - Callback ao cancelar
214
+ * @see ModalFormProps
215
+ */
216
+ ModalForm,
217
+ /**
218
+ * Modal de upload de ficheiros com drag and drop, lista de ficheiros
219
+ * com progress bar e estados (uploading/completed/failed).
220
+ * @property {string} title - Título do modal (default: "Upload File")
221
+ * @property {string} accept - Tipos MIME aceites
222
+ * @property {UploadFile[]} files - Lista de ficheiros (bindable)
223
+ * @property {boolean} isOpen - Visibilidade do modal (bindable)
224
+ * @property {(files) => void} onFilesSelected - Callback ao selecionar ficheiros
225
+ * @property {(files) => void} onUpload - Callback ao clicar Upload
226
+ * @see ModalUploadProps
227
+ */
228
+ ModalUpload,
85
229
  /**
86
230
  * Componente raiz do Negodesign.
87
231
  * Configura o tema, idioma e traduções da aplicação.
@@ -199,6 +343,31 @@ CarouselHero,
199
343
  * @see FooterProps
200
344
  */
201
345
  Footer,
346
+ /**
347
+ * Hero estático com layout dividido: coluna esquerda com conteúdo
348
+ * e coluna direita com imagem circular.
349
+ * @property {string} title - Título principal
350
+ * @property {string} subTitle - Subtítulo
351
+ * @property {string} description - Descrição
352
+ * @property {string} image - URL da imagem
353
+ * @see SimpleHero
354
+ */
355
+ SimpleHero,
356
+ /**
357
+ * Wrapper para cards de mídia com variantes 1 (alinhado à esquerda) e 2 (centrado).
358
+ * Mostra logo, título, rating, tags e botões.
359
+ * @property {1|2} variant - Variante visual
360
+ * @property {CardMediaProps} - Props do card de mídia
361
+ * @see CardMediaProps
362
+ */
363
+ CardMedia,
364
+ /**
365
+ * Wrapper para cards de perfil de organização/guia, com variantes 1 e 2.
366
+ * @property {1|2} variant - Variante visual
367
+ * @property {CardProfileProps} - Props do card de perfil
368
+ * @see CardProfileProps
369
+ */
370
+ CardProfile,
202
371
  /**
203
372
  * Carousel de cards de promoção com preços antigo/novo, botão de comprar,
204
373
  * favoritar e adicionar ao carrinho.
@@ -31,6 +31,16 @@ import type { CarouselGridProductProps } from "../components/ui/carousel/core/gr
31
31
  import type { CompanyProfileProps } from "../components/pages/company-profile/types";
32
32
  import type { MenuProps, MenuVarientProps, ComplexMenuProps } from "../components/ui/nav/data/types";
33
33
  import type { GridProps, ItemGridProps } from "../components/ui/grid/core/data/types";
34
+ import type { ModelGridCard, ModelGridCategory, ModalGridSelectionProps } from "../components/ui/modal/grid/types";
35
+ import type { ModelBadge, ModalBadgeSelectionProps } from "../components/ui/modal/badge/types";
36
+ import type { ModelSocialShare, ModalShareSelectionProps } from "../components/ui/modal/share/types";
37
+ import type { ModalNotificationProps } from "../components/ui/modal/notification/types";
38
+ import type { ModalFeedbackProps } from "../components/ui/modal/feedback/types";
39
+ import type { ModalMapProps } from "../components/ui/modal/map/types";
40
+ import type { ModalCoreProps } from "../components/ui/modal/core/types";
41
+ import type { FormProps, FormInputConfig, FormOption } from "../components/ui/form/types";
42
+ import type { ModalFormProps } from "../components/ui/modal/form/types";
43
+ import type { ModalUploadProps, UploadFile, UploadFileStatus } from "../components/ui/modal/upload/types";
34
44
  export type { GridProps,
35
45
  /** Props de um link individual no menu de navegação. @see NavMenuLinksProps */
36
46
  NavMenuLinksProps,
@@ -176,6 +186,42 @@ ProfileUserExperience,
176
186
  ProfileUserData,
177
187
  /** Props do componente ProfileUser — página de perfil com 3 variantes. @see ProfileUserProps */
178
188
  ProfileUserProps,
189
+ /** Modelo de dados para um card seleccionável no ModalGridSelection. @see ModelGridCard */
190
+ ModelGridCard,
191
+ /** Modelo de dados para uma categoria no topo do ModalGridSelection (variante 2). @see ModelGridCategory */
192
+ ModelGridCategory,
193
+ /** Props do componente ModalGridSelection — modal de seleção em grid. @see ModalGridSelectionProps */
194
+ ModalGridSelectionProps,
195
+ /** Modelo de dados para um badge/pill seleccionável no ModalBadgeSelection. @see ModelBadge */
196
+ ModelBadge,
197
+ /** Props do componente ModalBadgeSelection — modal de seleção com badges/pills. @see ModalBadgeSelectionProps */
198
+ ModalBadgeSelectionProps,
199
+ /** Modelo de dados para uma rede social no ModalShareSelection. @see ModelSocialShare */
200
+ ModelSocialShare,
201
+ /** Props do componente ModalShareSelection — modal de partilha em redes sociais. @see ModalShareSelectionProps */
202
+ ModalShareSelectionProps,
203
+ /** Props do componente ModalNotification — modal de subscrição/notificação por email. @see ModalNotificationProps */
204
+ ModalNotificationProps,
205
+ /** Props do componente ModalFeedback — modal de feedback com editor de texto rico. @see ModalFeedbackProps */
206
+ ModalFeedbackProps,
207
+ /** Props do componente ModalMap — modal de seleção de localização com mapa. @see ModalMapProps */
208
+ ModalMapProps,
209
+ /** Props do componente Form — formulário com grid responsivo de 2 colunas. @see FormProps */
210
+ FormProps,
211
+ /** Configuração de um input dentro do Form. @see FormInputConfig */
212
+ FormInputConfig,
213
+ /** Opção para inputs do tipo select, radio ou checkbox. @see FormOption */
214
+ FormOption,
215
+ /** Props do componente ModalForm — formulário dentro de um modal. @see ModalFormProps */
216
+ ModalFormProps,
217
+ /** Props do componente ModalUpload — modal de upload de ficheiros. @see ModalUploadProps */
218
+ ModalUploadProps,
219
+ /** Modelo de dados para um ficheiro no modal de upload. @see UploadFile */
220
+ UploadFile,
221
+ /** Estado de um ficheiro no upload. @see UploadFileStatus */
222
+ UploadFileStatus,
223
+ /** Props do componente ModalCore — contentor base reutilizável para todos os modais. @see ModalCoreProps */
224
+ ModalCoreProps,
179
225
  /** Props do NegoDesign — componente raiz do Negodesign. */
180
226
  NegoDesignProps,
181
227
  /** Props base para inputs de formulário com label. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "negodesign",
3
- "version": "0.0.74",
3
+ "version": "0.0.75",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "sideEffects": [