negodesign 0.0.73 → 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 (573) hide show
  1. package/README.md +133 -133
  2. package/dist/components/NegoDesign.svelte +21 -21
  3. package/dist/components/pages/admin/01/ui/AdminContent.svelte +14 -14
  4. package/dist/components/pages/admin/01/ui/AdminPanel.svelte +46 -46
  5. package/dist/components/pages/company-profile/shared/ProfileProducts.svelte +2 -2
  6. package/dist/components/pages/company-profile/types.d.ts +1 -1
  7. package/dist/components/pages/product-details/shared/ProductDetailFilesVertical.svelte +103 -103
  8. package/dist/components/pages/product-details/shared/ProductDetailPrice.svelte +3 -2
  9. package/dist/components/pages/product-details/shared/ProductDetailRating.svelte +2 -1
  10. package/dist/components/pages/product-details/shared/ProductDetailReviews.svelte +2 -1
  11. package/dist/components/pages/product-details/shared/ProductDetailTags.svelte +3 -2
  12. package/dist/components/pages/product-details/shared/ProductPromotionDetails.svelte +1 -1
  13. package/dist/components/pages/profile-user/shared/ProfileUserAddress.svelte +83 -83
  14. package/dist/components/pages/profile-user/shared/ProfileUserTabs.svelte +80 -80
  15. package/dist/components/pages/security/forget-password/01/ui/ForgetPasswordCard.svelte +2 -2
  16. package/dist/components/pages/security/forget-password/01/ui/FormForgetPassword.svelte +4 -4
  17. package/dist/components/pages/security/forget-password/01/ui/PageForgetPassword01.svelte +2 -2
  18. package/dist/components/pages/security/login/01/ui/FormLogin.svelte +11 -12
  19. package/dist/components/pages/security/login/01/ui/FormLogin.svelte.d.ts +2 -1
  20. package/dist/components/pages/security/login/01/ui/FormLoginEmailPassword.svelte +4 -3
  21. package/dist/components/pages/security/login/01/ui/FormLoginEmailPassword.svelte.d.ts +2 -1
  22. package/dist/components/pages/security/login/01/ui/FormLoginPhonePassword.svelte +4 -3
  23. package/dist/components/pages/security/login/01/ui/FormLoginPhonePassword.svelte.d.ts +2 -1
  24. package/dist/components/pages/security/login/01/ui/FormLoginUsernamePassword.svelte +4 -3
  25. package/dist/components/pages/security/login/01/ui/FormLoginUsernamePassword.svelte.d.ts +2 -1
  26. package/dist/components/pages/security/login/01/ui/FormRegister.svelte +28 -28
  27. package/dist/components/pages/security/login/01/ui/LoginCard.svelte +109 -107
  28. package/dist/components/pages/security/login/01/ui/LoginCard.svelte.d.ts +2 -1
  29. package/dist/components/pages/security/login/01/ui/PageLogin01.svelte +5 -3
  30. package/dist/components/pages/security/login/02/ui/FormLogin02.svelte +70 -0
  31. package/dist/components/pages/security/login/02/ui/FormLogin02.svelte.d.ts +10 -0
  32. package/dist/components/pages/security/login/02/ui/FormLoginEmailPassword02.svelte +24 -0
  33. package/dist/components/pages/security/login/02/ui/FormLoginEmailPassword02.svelte.d.ts +9 -0
  34. package/dist/components/pages/security/login/02/ui/FormLoginPhonePassword02.svelte +24 -0
  35. package/dist/components/pages/security/login/02/ui/FormLoginPhonePassword02.svelte.d.ts +9 -0
  36. package/dist/components/pages/security/login/02/ui/FormLoginUsernamePassword02.svelte +24 -0
  37. package/dist/components/pages/security/login/02/ui/FormLoginUsernamePassword02.svelte.d.ts +9 -0
  38. package/dist/components/pages/security/login/02/ui/LeftHero02.svelte +111 -0
  39. package/dist/components/pages/security/login/02/ui/LeftHero02.svelte.d.ts +10 -0
  40. package/dist/components/pages/security/login/02/ui/LoginCard02.svelte +107 -0
  41. package/dist/components/pages/security/login/02/ui/LoginCard02.svelte.d.ts +13 -0
  42. package/dist/components/pages/security/login/02/ui/PageLogin02.svelte +69 -0
  43. package/dist/components/pages/security/login/02/ui/PageLogin02.svelte.d.ts +4 -0
  44. package/dist/components/pages/security/login/03/ui/FormLogin03.svelte +87 -0
  45. package/dist/components/pages/security/login/03/ui/FormLogin03.svelte.d.ts +10 -0
  46. package/dist/components/pages/security/login/03/ui/FormLoginEmailPassword03.svelte +24 -0
  47. package/dist/components/pages/security/login/03/ui/FormLoginEmailPassword03.svelte.d.ts +9 -0
  48. package/dist/components/pages/security/login/03/ui/FormLoginPhonePassword03.svelte +24 -0
  49. package/dist/components/pages/security/login/03/ui/FormLoginPhonePassword03.svelte.d.ts +9 -0
  50. package/dist/components/pages/security/login/03/ui/FormLoginUsernamePassword03.svelte +24 -0
  51. package/dist/components/pages/security/login/03/ui/FormLoginUsernamePassword03.svelte.d.ts +9 -0
  52. package/dist/components/pages/security/login/03/ui/LeftHero03.svelte +114 -0
  53. package/dist/components/pages/security/login/03/ui/LeftHero03.svelte.d.ts +10 -0
  54. package/dist/components/pages/security/login/03/ui/LoginCard03.svelte +134 -0
  55. package/dist/components/pages/security/login/03/ui/LoginCard03.svelte.d.ts +13 -0
  56. package/dist/components/pages/security/login/03/ui/PageLogin03.svelte +69 -0
  57. package/dist/components/pages/security/login/03/ui/PageLogin03.svelte.d.ts +4 -0
  58. package/dist/components/pages/security/login/PageLogin.svelte +30 -22
  59. package/dist/components/pages/security/login/PageLogin.svelte.d.ts +1 -1
  60. package/dist/components/pages/security/login/types.d.ts +12 -2
  61. package/dist/components/pages/security/otp-verification/01/ui/FormOtpVerification.svelte +2 -2
  62. package/dist/components/pages/security/otp-verification/01/ui/OtpVerificationCard.svelte +2 -2
  63. package/dist/components/pages/security/otp-verification/01/ui/PageOtpVerification01.svelte +2 -2
  64. package/dist/components/pages/security/reset-password/01/ui/FormResetPassword.svelte +4 -4
  65. package/dist/components/pages/security/reset-password/01/ui/PageResetPassword01.svelte +2 -2
  66. package/dist/components/pages/security/reset-password/01/ui/ResetPasswordCard.svelte +2 -2
  67. package/dist/components/ui/avatar/avatar-fallback.svelte +29 -29
  68. package/dist/components/ui/avatar/avatar-image.svelte +38 -38
  69. package/dist/components/ui/avatar/avatar.svelte +39 -39
  70. package/dist/components/ui/badge/badge.svelte +46 -46
  71. package/dist/components/{core → ui}/banner/AdCardBanner.svelte +74 -74
  72. package/dist/components/{core → ui}/banner/CtaCardBanner.svelte +118 -118
  73. package/dist/components/{core → ui}/banner/CtaCardImageBanner.svelte +94 -94
  74. package/dist/components/{core/breadcrumb → ui/breadcrumb/core}/breadcrumb-list.svelte +31 -31
  75. package/dist/components/{core → ui}/button/ButtonBack.svelte +18 -18
  76. package/dist/components/{core → ui}/button/ButtonBack.svelte.d.ts +1 -1
  77. package/dist/components/{core → ui}/button/ButtonLogin.svelte +15 -15
  78. package/dist/components/{core → ui}/button/ButtonLogin.svelte.d.ts +1 -1
  79. package/dist/components/{core → ui}/button/ButtonLoginWith.svelte +57 -57
  80. package/dist/components/{core → ui}/button/ButtonLoginWith.svelte.d.ts +1 -1
  81. package/dist/components/{core → ui}/button/ButtonSend.svelte +15 -15
  82. package/dist/components/{core → ui}/button/ButtonSend.svelte.d.ts +1 -1
  83. package/dist/components/ui/button/button.svelte +85 -85
  84. package/dist/components/{core/card → ui/card/core}/highlight/01/CardHighlight01.svelte +103 -103
  85. package/dist/components/{core/card → ui/card/core}/highlight/02/CardHighlight02.svelte +99 -99
  86. package/dist/components/{core/card → ui/card/core}/highlight/CardHighlight.svelte +22 -22
  87. package/dist/components/{core/card → ui/card/core}/media/01/CardMedia01.svelte +133 -133
  88. package/dist/components/{core/card → ui/card/core}/media/02/CardMedia02.svelte +127 -127
  89. package/dist/components/{core/card → ui/card/core}/media/CardMedia.svelte +18 -18
  90. package/dist/components/{core/card → ui/card/core}/product/01/CardProduct01.svelte +136 -136
  91. package/dist/components/{core/card → ui/card/core}/product/02/CardProduct02.svelte +124 -124
  92. package/dist/components/{core/card → ui/card/core}/product/CardProduct.svelte +22 -22
  93. package/dist/components/{core/card → ui/card/core}/profile/01/CardProfile01.svelte +134 -134
  94. package/dist/components/{core/card → ui/card/core}/profile/02/CardProfile02.svelte +132 -132
  95. package/dist/components/{core/card → ui/card/core}/profile/CardProfile.svelte +18 -18
  96. package/dist/components/{core/card → ui/card/core}/promotion/CardPromotion.svelte +139 -139
  97. package/dist/components/{core/card → ui/card/core}/promotion/CardPromotionPrice.svelte +32 -32
  98. package/dist/components/{core/card → ui/card/core}/shared/CardButton.svelte +42 -42
  99. package/dist/components/{core/card → ui/card/core}/shared/CardCart.svelte +36 -36
  100. package/dist/components/{core/card → ui/card/core}/shared/CardDescription.svelte +41 -41
  101. package/dist/components/{core/card → ui/card/core}/shared/CardFavorite.svelte +33 -33
  102. package/dist/components/{core/card → ui/card/core}/shared/CardLogo.svelte +19 -19
  103. package/dist/components/{core/card → ui/card/core}/shared/CardPhoneOrWhatsapp.svelte +45 -45
  104. package/dist/components/{core/card → ui/card/core}/shared/CardStarRating.svelte +24 -24
  105. package/dist/components/{core/card → ui/card/core}/shared/CardTags.svelte +95 -95
  106. package/dist/components/{core/card → ui/card/core}/shared/CardThumbnailVideo.svelte +232 -232
  107. package/dist/components/{core/card → ui/card/core}/shared/CardTitlePrice.svelte +24 -24
  108. package/dist/components/{core/card → ui/card/core}/shared/TruncatableText.svelte +49 -49
  109. package/dist/components/ui/carousel/carousel-content.svelte +56 -56
  110. package/dist/components/ui/carousel/carousel-item.svelte +29 -29
  111. package/dist/components/ui/carousel/carousel-next.svelte +40 -40
  112. package/dist/components/ui/carousel/carousel-previous.svelte +40 -40
  113. package/dist/components/ui/carousel/carousel.svelte +225 -225
  114. package/dist/components/{core/carousel → ui/carousel/core}/badge/ui/CarouselBadge.svelte +108 -108
  115. package/dist/components/{core/carousel → ui/carousel/core}/grid/media/types.d.ts +3 -3
  116. package/dist/components/{core/carousel → ui/carousel/core}/grid/media/ui/CarouselGridMedia.svelte +6 -6
  117. package/dist/components/{core/carousel → ui/carousel/core}/grid/media/ui/CarouselGridMedia.svelte.d.ts +1 -1
  118. package/dist/components/{core/carousel → ui/carousel/core}/grid/product/types.d.ts +3 -3
  119. package/dist/components/{core/carousel → ui/carousel/core}/grid/product/ui/CarouselGridProduct.svelte +5 -5
  120. package/dist/components/{core/carousel → ui/carousel/core}/grid/profile/types.d.ts +2 -2
  121. package/dist/components/{core/carousel → ui/carousel/core}/grid/profile/ui/CarouselGridProfile.svelte +6 -6
  122. package/dist/components/{core/carousel → ui/carousel/core}/grid/profile/ui/CarouselGridProfile.svelte.d.ts +1 -1
  123. package/dist/components/{core/carousel → ui/carousel/core}/grid/promotion/types.d.ts +2 -2
  124. package/dist/components/{core/carousel → ui/carousel/core}/grid/promotion/ui/CarouselGridPromotion.svelte +5 -5
  125. package/dist/components/{core/carousel → ui/carousel/core}/grid/shared/ui/CarouselGridSlot.svelte +38 -38
  126. package/dist/components/{core/carousel → ui/carousel/core}/grid/shared/ui/CarouselGridSlot.svelte.d.ts +2 -2
  127. package/dist/components/{core/carousel → ui/carousel/core}/hero/types.d.ts +2 -2
  128. package/dist/components/{core/carousel → ui/carousel/core}/hero/ui/CarouselHero.svelte +181 -181
  129. package/dist/components/{core/carousel → ui/carousel/core}/highlights/types.d.ts +2 -2
  130. package/dist/components/{core/carousel → ui/carousel/core}/highlights/ui/CarouselHighlights.svelte +67 -67
  131. package/dist/components/{core/carousel → ui/carousel/core}/product/types.d.ts +2 -2
  132. package/dist/components/{core/carousel → ui/carousel/core}/product/ui/CarouselProduct.svelte +57 -57
  133. package/dist/components/{core/carousel → ui/carousel/core}/promotion/types.d.ts +2 -2
  134. package/dist/components/{core/carousel → ui/carousel/core}/promotion/ui/CarouselPromotion.svelte +67 -67
  135. package/dist/components/{core/carousel → ui/carousel/core}/shared/ui/CarouselHeader.svelte +59 -59
  136. package/dist/components/ui/checkbox/checkbox.svelte +96 -96
  137. package/dist/components/ui/collapsible/collapsible-content.svelte +30 -30
  138. package/dist/components/ui/collapsible/collapsible-trigger.svelte +51 -51
  139. package/dist/components/ui/collapsible/collapsible.svelte +66 -66
  140. package/dist/components/ui/data-table/flex-render.svelte +40 -40
  141. package/dist/components/{core → ui}/datatable/data/columns-create.d.ts +1 -1
  142. package/dist/components/{core → ui}/datatable/data/columns-create.js +1 -1
  143. package/dist/components/{core → ui}/datatable/data/data-table.d.ts +1 -1
  144. package/dist/components/{core → ui}/datatable/data/resolve-cell-badge.svelte.d.ts +1 -1
  145. package/dist/components/{core → ui}/datatable/data/resolve-cell-badge.svelte.js +2 -2
  146. package/dist/components/{core → ui}/datatable/data/resolve-cell.svelte.d.ts +1 -1
  147. package/dist/components/{core → ui}/datatable/data/resolve-cell.svelte.js +1 -1
  148. package/dist/components/{core → ui}/datatable/data/resolve-header.svelte.d.ts +1 -1
  149. package/dist/components/{core → ui}/datatable/data/resolve-header.svelte.js +1 -1
  150. package/dist/components/{core → ui}/datatable/ui/DataTableActions.svelte +28 -28
  151. package/dist/components/{core → ui}/datatable/ui/DataTableActions.svelte.d.ts +1 -1
  152. package/dist/components/{core → ui}/datatable/ui/DataTableCheckbox.svelte +22 -22
  153. package/dist/components/{core → ui}/datatable/ui/DataTableContent.svelte +59 -59
  154. package/dist/components/{core → ui}/datatable/ui/DataTableContent.svelte.d.ts +1 -1
  155. package/dist/components/{core → ui}/datatable/ui/DataTableCore.svelte +148 -148
  156. package/dist/components/{core → ui}/datatable/ui/DataTableDragHandle.svelte +8 -8
  157. package/dist/components/{core → ui}/datatable/ui/DataTableListFilter.svelte +60 -60
  158. package/dist/components/{core → ui}/datatable/ui/DataTableListFilter.svelte.d.ts +1 -1
  159. package/dist/components/{core → ui}/datatable/ui/DataTableListPagination.svelte +35 -35
  160. package/dist/components/{core → ui}/datatable/ui/DataTableListPagination.svelte.d.ts +1 -1
  161. package/dist/components/{core → ui}/datatable/ui/columns-create.svelte.d.ts +1 -1
  162. package/dist/components/{core → ui}/datatable/ui/columns-create.svelte.js +1 -1
  163. package/dist/components/ui/drawer/drawer-close.svelte +41 -41
  164. package/dist/components/ui/drawer/drawer-content.svelte +81 -81
  165. package/dist/components/ui/drawer/drawer-description.svelte +19 -19
  166. package/dist/components/ui/drawer/drawer-footer.svelte +20 -20
  167. package/dist/components/ui/drawer/drawer-header.svelte +20 -20
  168. package/dist/components/ui/drawer/drawer-nested.svelte +34 -34
  169. package/dist/components/ui/drawer/drawer-overlay.svelte +25 -25
  170. package/dist/components/ui/drawer/drawer-portal.svelte +19 -19
  171. package/dist/components/ui/drawer/drawer-title.svelte +19 -19
  172. package/dist/components/ui/drawer/drawer-trigger.svelte +42 -42
  173. package/dist/components/ui/drawer/drawer.svelte +74 -74
  174. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-group.svelte +25 -25
  175. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +69 -69
  176. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte +106 -106
  177. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte +27 -27
  178. package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte +21 -21
  179. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte +60 -60
  180. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte +27 -27
  181. package/dist/components/ui/dropdown-menu/dropdown-menu-portal.svelte +6 -6
  182. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte +43 -43
  183. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +70 -70
  184. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte +20 -20
  185. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +33 -33
  186. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +57 -57
  187. package/dist/components/ui/dropdown-menu/dropdown-menu-sub.svelte +76 -76
  188. package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte +68 -68
  189. package/dist/components/ui/dropdown-menu/dropdown-menu.svelte +53 -53
  190. package/dist/components/ui/empty/empty-content.svelte +19 -19
  191. package/dist/components/ui/empty/empty-description.svelte +19 -19
  192. package/dist/components/ui/empty/empty-header.svelte +19 -19
  193. package/dist/components/ui/empty/empty-media.svelte +41 -41
  194. package/dist/components/ui/empty/empty-title.svelte +19 -19
  195. package/dist/components/ui/empty/empty.svelte +19 -19
  196. package/dist/components/{core → ui}/footer/ui/Footer.svelte +18 -18
  197. package/dist/components/ui/form/Form.svelte +171 -0
  198. package/dist/components/ui/form/Form.svelte.d.ts +4 -0
  199. package/dist/components/ui/form/types.d.ts +78 -0
  200. package/dist/components/ui/form/ui/input-badges.svelte +214 -0
  201. package/dist/components/ui/form/ui/input-badges.svelte.d.ts +14 -0
  202. package/dist/components/{core → ui}/form/ui/input-base.svelte +81 -81
  203. package/dist/components/{core → ui}/form/ui/input-base.svelte.d.ts +1 -1
  204. package/dist/components/ui/form/ui/input-checkbox.svelte +86 -0
  205. package/dist/components/ui/form/ui/input-checkbox.svelte.d.ts +17 -0
  206. package/dist/components/{core → ui}/form/ui/input-code-otp.svelte +3 -3
  207. package/dist/components/{core → ui}/form/ui/input-code-otp.svelte.d.ts +1 -1
  208. package/dist/components/{core → ui}/form/ui/input-email-or-phone.svelte +23 -23
  209. package/dist/components/{core → ui}/form/ui/input-email-or-phone.svelte.d.ts +1 -1
  210. package/dist/components/{core → ui}/form/ui/input-email.svelte +23 -23
  211. package/dist/components/{core → ui}/form/ui/input-email.svelte.d.ts +1 -1
  212. package/dist/components/{core → ui}/form/ui/input-password-confirm.svelte +23 -23
  213. package/dist/components/{core → ui}/form/ui/input-password-confirm.svelte.d.ts +1 -1
  214. package/dist/components/{core → ui}/form/ui/input-password.svelte +23 -23
  215. package/dist/components/{core → ui}/form/ui/input-password.svelte.d.ts +1 -1
  216. package/dist/components/{core → ui}/form/ui/input-phone.svelte +33 -33
  217. package/dist/components/{core → ui}/form/ui/input-phone.svelte.d.ts +1 -1
  218. package/dist/components/ui/form/ui/input-radio.svelte +82 -0
  219. package/dist/components/ui/form/ui/input-radio.svelte.d.ts +17 -0
  220. package/dist/components/ui/form/ui/input-select.svelte +195 -0
  221. package/dist/components/ui/form/ui/input-select.svelte.d.ts +17 -0
  222. package/dist/components/ui/form/ui/input-textarea.svelte +61 -0
  223. package/dist/components/ui/form/ui/input-textarea.svelte.d.ts +13 -0
  224. package/dist/components/ui/form/ui/input-toggle.svelte +89 -0
  225. package/dist/components/ui/form/ui/input-toggle.svelte.d.ts +11 -0
  226. package/dist/components/{core → ui}/form/ui/input-username.svelte +22 -22
  227. package/dist/components/{core → ui}/form/ui/input-username.svelte.d.ts +1 -1
  228. package/dist/components/{core/grid → ui/grid/core}/ui/01/Grid01.svelte +30 -30
  229. package/dist/components/{core/grid → ui/grid/core}/ui/02/Grid02.svelte +30 -30
  230. package/dist/components/{core/grid → ui/grid/core}/ui/ItemsPanel.svelte +26 -26
  231. package/dist/components/{core/grid → ui/grid/core}/ui/ItemsPanelCarousel.svelte +37 -37
  232. package/dist/components/{core/grid → ui/grid/core}/ui/ItemsPanelGrid.svelte +43 -43
  233. package/dist/components/{core/grid → ui/grid/core}/ui/ItemsSimpleGrid.svelte +45 -45
  234. package/dist/components/{core/grid → ui/grid/core}/ui/shared/DescriptionGrid.svelte +23 -23
  235. package/dist/components/{core/grid → ui/grid/core}/ui/shared/IconRenderGrid.svelte +23 -23
  236. package/dist/components/{core/grid → ui/grid/core}/ui/shared/TitleGrid.svelte +19 -19
  237. package/dist/components/{core → ui}/hero/SimpleHero.svelte +65 -65
  238. package/dist/components/ui/input-otp/input-otp-group.svelte +22 -22
  239. package/dist/components/ui/input-otp/input-otp-separator.svelte +27 -27
  240. package/dist/components/ui/input-otp/input-otp-slot.svelte +63 -63
  241. package/dist/components/ui/input-otp/input-otp.svelte +181 -181
  242. package/dist/components/{core/label → ui/label/core}/LabelOr.svelte +25 -25
  243. package/dist/components/ui/label/label.svelte +19 -19
  244. package/dist/components/ui/language-switcher/language-switcher.svelte +48 -48
  245. package/dist/components/ui/light-switch/light-switch.svelte +48 -48
  246. package/dist/components/{core → ui}/link/link-forget-password.svelte +12 -12
  247. package/dist/components/{core → ui}/link/link-privacy-polity.svelte +12 -12
  248. package/dist/components/{core → ui}/link/link-terms-of-service.svelte +12 -12
  249. package/dist/components/ui/modal/badge/index.d.ts +3 -0
  250. package/dist/components/ui/modal/badge/index.js +2 -0
  251. package/dist/components/ui/modal/badge/types.d.ts +35 -0
  252. package/dist/components/ui/modal/badge/ui/ModalBadgeSelection.svelte +87 -0
  253. package/dist/components/ui/modal/badge/ui/ModalBadgeSelection.svelte.d.ts +4 -0
  254. package/dist/components/ui/modal/core/index.d.ts +3 -0
  255. package/dist/components/ui/modal/core/index.js +2 -0
  256. package/dist/components/ui/modal/core/types.d.ts +82 -0
  257. package/dist/components/ui/modal/core/ui/ModalCore.svelte +129 -0
  258. package/dist/components/ui/modal/core/ui/ModalCore.svelte.d.ts +4 -0
  259. package/dist/components/ui/modal/feedback/index.d.ts +3 -0
  260. package/dist/components/ui/modal/feedback/index.js +2 -0
  261. package/dist/components/ui/modal/feedback/types.d.ts +32 -0
  262. package/dist/components/ui/modal/feedback/ui/ModalFeedback.svelte +135 -0
  263. package/dist/components/ui/modal/feedback/ui/ModalFeedback.svelte.d.ts +4 -0
  264. package/dist/components/ui/modal/form/index.d.ts +3 -0
  265. package/dist/components/ui/modal/form/index.js +2 -0
  266. package/dist/components/ui/modal/form/types.d.ts +38 -0
  267. package/dist/components/ui/modal/form/ui/ModalForm.svelte +67 -0
  268. package/dist/components/ui/modal/form/ui/ModalForm.svelte.d.ts +4 -0
  269. package/dist/components/ui/modal/grid/index.d.ts +5 -0
  270. package/dist/components/ui/modal/grid/index.js +4 -0
  271. package/dist/components/ui/modal/grid/types.d.ts +51 -0
  272. package/dist/components/ui/modal/grid/ui/01/ModalGridSelection01.svelte +83 -0
  273. package/dist/components/ui/modal/grid/ui/01/ModalGridSelection01.svelte.d.ts +4 -0
  274. package/dist/components/ui/modal/grid/ui/02/ModalGridSelection02.svelte +142 -0
  275. package/dist/components/ui/modal/grid/ui/02/ModalGridSelection02.svelte.d.ts +4 -0
  276. package/dist/components/ui/modal/grid/ui/ModalGridSelection.svelte +60 -0
  277. package/dist/components/ui/modal/grid/ui/ModalGridSelection.svelte.d.ts +4 -0
  278. package/dist/components/ui/modal/map/index.d.ts +3 -0
  279. package/dist/components/ui/modal/map/index.js +2 -0
  280. package/dist/components/ui/modal/map/types.d.ts +48 -0
  281. package/dist/components/ui/modal/map/ui/ModalMap.svelte +187 -0
  282. package/dist/components/ui/modal/map/ui/ModalMap.svelte.d.ts +4 -0
  283. package/dist/components/ui/modal/notification/index.d.ts +3 -0
  284. package/dist/components/ui/modal/notification/index.js +2 -0
  285. package/dist/components/ui/modal/notification/types.d.ts +26 -0
  286. package/dist/components/ui/modal/notification/ui/ModalNotification.svelte +65 -0
  287. package/dist/components/ui/modal/notification/ui/ModalNotification.svelte.d.ts +4 -0
  288. package/dist/components/ui/modal/share/index.d.ts +3 -0
  289. package/dist/components/ui/modal/share/index.js +2 -0
  290. package/dist/components/ui/modal/share/types.d.ts +32 -0
  291. package/dist/components/ui/modal/share/ui/ModalShareSelection.svelte +103 -0
  292. package/dist/components/ui/modal/share/ui/ModalShareSelection.svelte.d.ts +4 -0
  293. package/dist/components/ui/modal/upload/index.d.ts +3 -0
  294. package/dist/components/ui/modal/upload/index.js +2 -0
  295. package/dist/components/ui/modal/upload/types.d.ts +79 -0
  296. package/dist/components/ui/modal/upload/ui/ModalUpload.svelte +268 -0
  297. package/dist/components/ui/modal/upload/ui/ModalUpload.svelte.d.ts +4 -0
  298. package/dist/components/ui/nav/data/nav-menu.js +1 -0
  299. package/dist/components/ui/nav/data/types.js +1 -0
  300. package/dist/components/{core → ui}/nav/ui/ComplexMenu.svelte +51 -51
  301. package/dist/components/{core → ui}/nav/ui/Menu.svelte +72 -72
  302. package/dist/components/{core → ui}/nav/ui/SimpleMenu.svelte +14 -14
  303. package/dist/components/{core → ui}/nav/ui/mobile/ComplexMenuMobile.svelte +125 -125
  304. package/dist/components/{core → ui}/nav/ui/mobile/MenuMobile.svelte +54 -54
  305. package/dist/components/{core → ui}/nav/ui/mobile/SimpleMenuMobile.svelte +1 -1
  306. package/dist/components/{core → ui}/nav/ui/shared/CollapsibleNavMenu.svelte +1 -1
  307. package/dist/components/{core → ui}/nav/ui/shared/MenuButton.svelte +51 -51
  308. package/dist/components/{core → ui}/nav/ui/shared/MenuLinks.svelte +40 -40
  309. package/dist/components/{core → ui}/nav/ui/shared/MenuListItem.svelte +44 -44
  310. package/dist/components/{core → ui}/nav/ui/shared/MenuLogo.svelte +13 -13
  311. package/dist/components/{core → ui}/nav/ui/shared/dropdown/DropdownNavigationMenuItem.svelte +1 -1
  312. package/dist/components/{core → ui}/nav/ui/shared/dropdown/DropdownNavigationMenuItemCard.svelte +1 -1
  313. package/dist/components/{core → ui}/nav/ui/shared/dropdown/DropdownNavigationMenuItemGrid.svelte +30 -30
  314. package/dist/components/{core → ui}/nav/ui/shared/dropdown/DropdownNavigationMenuItemList.svelte +1 -1
  315. package/dist/components/{core → ui}/nav/ui/shared/dropdown/DropdownNavigationMenuItems.svelte +1 -1
  316. package/dist/components/{core → ui}/nav/ui/shared/navigation/NavDropdown.svelte +87 -87
  317. package/dist/components/{core → ui}/nav/ui/shared/navigation/NavigationMenuItem.svelte +17 -17
  318. package/dist/components/{core → ui}/nav/ui/shared/navigation/NavigationMenuItemCard.svelte +53 -53
  319. package/dist/components/{core → ui}/nav/ui/shared/navigation/NavigationMenuItemGrid.svelte +36 -36
  320. package/dist/components/{core → ui}/nav/ui/shared/navigation/NavigationMenuItemList.svelte +24 -24
  321. package/dist/components/{core → ui}/nav/ui/shared/navigation/NavigationMenuItems.svelte +21 -21
  322. package/dist/components/{core → ui}/panel/CarouselSlot.svelte +57 -57
  323. package/dist/components/{core → ui}/panel/LeftHero.svelte +114 -117
  324. package/dist/components/{core → ui}/panel/LeftHero.svelte.d.ts +0 -1
  325. package/dist/components/{core → ui}/panel/NotFoundEmpty.svelte +66 -66
  326. package/dist/components/{core → ui}/panel/type.d.ts +1 -1
  327. package/dist/components/ui/panel/type.js +1 -0
  328. package/dist/components/ui/phone-input/country-selector.svelte +86 -86
  329. package/dist/components/ui/phone-input/flag.svelte +11 -11
  330. package/dist/components/ui/phone-input/phone-input.svelte +147 -147
  331. package/dist/components/ui/popover/popover-close.svelte +25 -25
  332. package/dist/components/ui/popover/popover-content.svelte +92 -92
  333. package/dist/components/ui/popover/popover-portal.svelte +6 -6
  334. package/dist/components/ui/popover/popover-trigger.svelte +68 -68
  335. package/dist/components/ui/popover/popover.svelte +53 -53
  336. package/dist/components/{core → ui}/search/SearchInput.svelte +32 -32
  337. package/dist/components/{core → ui}/search/shared/SearchInputCore.svelte +66 -66
  338. package/dist/components/ui/search/types.js +1 -0
  339. package/dist/components/ui/section/Section01.svelte +90 -0
  340. package/dist/components/ui/section/Section01.svelte.d.ts +4 -0
  341. package/dist/components/ui/section/Section02.svelte +68 -0
  342. package/dist/components/ui/section/Section02.svelte.d.ts +4 -0
  343. package/dist/components/ui/section/Section03.svelte +52 -0
  344. package/dist/components/ui/section/Section03.svelte.d.ts +4 -0
  345. package/dist/components/ui/section/index.d.ts +4 -0
  346. package/dist/components/ui/section/index.js +3 -0
  347. package/dist/components/ui/section/types.d.ts +46 -0
  348. package/dist/components/ui/section/types.js +1 -0
  349. package/dist/components/ui/separator/separator.svelte +28 -28
  350. package/dist/components/{core/sidebar → ui/sidebar/core}/MenuBarSidebar.svelte +70 -70
  351. package/dist/components/{core/sidebar → ui/sidebar/core}/MenuBarSidebar.svelte.d.ts +1 -1
  352. package/dist/components/ui/sidebar/core/data/nav-menu-sidebar.js +1 -0
  353. package/dist/components/ui/sidebar/core/data/nav-top-bar-sidebar.js +1 -0
  354. package/dist/components/ui/sidebar/core/data/nav-user-sidebar.js +1 -0
  355. package/dist/components/ui/sidebar/core/types.js +1 -0
  356. package/dist/components/{core/sidebar → ui/sidebar/core}/ui/navbar/NavMenuBarSidebar.svelte +97 -97
  357. package/dist/components/{core/sidebar → ui/sidebar/core}/ui/navbar/NavMenuBottomSidebar.svelte +33 -33
  358. package/dist/components/{core/sidebar → ui/sidebar/core}/ui/navbar/NavMenuBottomSidebar.svelte.d.ts +2 -2
  359. package/dist/components/{core/sidebar → ui/sidebar/core}/ui/navbar/NavMenuTopBarSidebar.svelte +101 -101
  360. package/dist/components/{core/sidebar → ui/sidebar/core}/ui/navbar/NavUserSidebar.svelte +6 -6
  361. package/dist/components/{core/sidebar → ui/sidebar/core}/ui/navbar/NavUserSidebar.svelte.d.ts +1 -1
  362. package/dist/components/{core/sidebar → ui/sidebar/core}/ui/navbar/nav-menu-header-sidebar.svelte +77 -77
  363. package/dist/components/ui/sidebar/sidebar-content.svelte +24 -24
  364. package/dist/components/ui/sidebar/sidebar-footer.svelte +21 -21
  365. package/dist/components/ui/sidebar/sidebar-group-content.svelte +21 -21
  366. package/dist/components/ui/sidebar/sidebar-menu-action.svelte +38 -38
  367. package/dist/components/ui/sidebar/sidebar-menu-button.svelte +70 -70
  368. package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte +39 -39
  369. package/dist/components/ui/sidebar/sidebar-provider.svelte +62 -62
  370. package/dist/components/ui/sidebar/sidebar-rail.svelte +36 -36
  371. package/dist/components/ui/sidebar/sidebar-separator.svelte +21 -21
  372. package/dist/components/ui/sidebar/sidebar-trigger.svelte +36 -36
  373. package/dist/components/ui/sidebar/sidebar.svelte +118 -118
  374. package/dist/components/ui/skeleton/skeleton.svelte +19 -19
  375. package/dist/components/ui/social-login/social-login.svelte +79 -0
  376. package/dist/components/ui/social-login/social-login.svelte.d.ts +10 -0
  377. package/dist/components/ui/star-rating/star-rating-star.svelte +66 -66
  378. package/dist/components/ui/star-rating/star-rating.svelte +149 -149
  379. package/dist/components/ui/table/table-body.svelte +15 -15
  380. package/dist/components/ui/table/table-caption.svelte +20 -20
  381. package/dist/components/ui/table/table-cell.svelte +15 -15
  382. package/dist/components/ui/table/table-footer.svelte +20 -20
  383. package/dist/components/ui/table/table-head.svelte +15 -15
  384. package/dist/components/ui/table/table-header.svelte +20 -20
  385. package/dist/components/ui/table/table-row.svelte +15 -15
  386. package/dist/components/ui/table/table.svelte +17 -17
  387. package/dist/components/ui/tabs/data/TabModel.js +1 -0
  388. package/dist/components/ui/tabs/types.js +1 -0
  389. package/dist/components/{core → ui}/tabs/ui/tab-underline.svelte +43 -43
  390. package/dist/components/ui/underline-tabs/underline-tabs-content.svelte +33 -33
  391. package/dist/components/ui/underline-tabs/underline-tabs-list.svelte +40 -40
  392. package/dist/components/ui/underline-tabs/underline-tabs-trigger.svelte +91 -91
  393. package/dist/components/ui/underline-tabs/underline-tabs.svelte +61 -61
  394. package/dist/docs/ApiTable.svelte +42 -42
  395. package/dist/docs/CodeBlock.svelte +26 -26
  396. package/dist/docs/DocsHeader.svelte +25 -25
  397. package/dist/docs/DocsSidebar.svelte +98 -98
  398. package/dist/docs/components.d.ts +1 -1
  399. package/dist/docs/components.js +1112 -230
  400. package/dist/globals.css +530 -0
  401. package/dist/i18n/langs/en.d.ts +9 -0
  402. package/dist/i18n/langs/en.js +9 -0
  403. package/dist/i18n/langs/pt.d.ts +9 -0
  404. package/dist/i18n/langs/pt.js +9 -0
  405. package/dist/i18n/translations.d.ts +18 -0
  406. package/dist/index.d.ts +197 -28
  407. package/dist/index.js +197 -28
  408. package/dist/styles/globals.css +283 -283
  409. package/dist/types/index.d.ts +68 -22
  410. package/package.json +81 -81
  411. /package/dist/components/{core → ui}/banner/AdCardBanner.svelte.d.ts +0 -0
  412. /package/dist/components/{core → ui}/banner/CtaCardBanner.svelte.d.ts +0 -0
  413. /package/dist/components/{core → ui}/banner/CtaCardImageBanner.svelte.d.ts +0 -0
  414. /package/dist/components/{core → ui}/banner/NotificationBanner.svelte +0 -0
  415. /package/dist/components/{core → ui}/banner/NotificationBanner.svelte.d.ts +0 -0
  416. /package/dist/components/{core → ui}/banner/types.d.ts +0 -0
  417. /package/dist/components/{core → ui}/banner/types.js +0 -0
  418. /package/dist/components/{core/breadcrumb → ui/breadcrumb/core}/breadcrumb-list.svelte.d.ts +0 -0
  419. /package/dist/components/{core/card → ui/card/core}/highlight/01/CardHighlight01.svelte.d.ts +0 -0
  420. /package/dist/components/{core/card → ui/card/core}/highlight/02/CardHighlight02.svelte.d.ts +0 -0
  421. /package/dist/components/{core/card → ui/card/core}/highlight/CardHighlight.svelte.d.ts +0 -0
  422. /package/dist/components/{core/card → ui/card/core}/highlight/data.d.ts +0 -0
  423. /package/dist/components/{core/card → ui/card/core}/highlight/data.js +0 -0
  424. /package/dist/components/{core/card → ui/card/core}/media/01/CardMedia01.svelte.d.ts +0 -0
  425. /package/dist/components/{core/card → ui/card/core}/media/02/CardMedia02.svelte.d.ts +0 -0
  426. /package/dist/components/{core/card → ui/card/core}/media/CardMedia.svelte.d.ts +0 -0
  427. /package/dist/components/{core/card → ui/card/core}/media/data.d.ts +0 -0
  428. /package/dist/components/{core/card → ui/card/core}/media/data.js +0 -0
  429. /package/dist/components/{core/card → ui/card/core}/product/01/CardProduct01.svelte.d.ts +0 -0
  430. /package/dist/components/{core/card → ui/card/core}/product/02/CardProduct02.svelte.d.ts +0 -0
  431. /package/dist/components/{core/card → ui/card/core}/product/CardProduct.svelte.d.ts +0 -0
  432. /package/dist/components/{core/card → ui/card/core}/product/data.d.ts +0 -0
  433. /package/dist/components/{core/card → ui/card/core}/product/data.js +0 -0
  434. /package/dist/components/{core/card → ui/card/core}/profile/01/CardProfile01.svelte.d.ts +0 -0
  435. /package/dist/components/{core/card → ui/card/core}/profile/02/CardProfile02.svelte.d.ts +0 -0
  436. /package/dist/components/{core/card → ui/card/core}/profile/CardProfile.svelte.d.ts +0 -0
  437. /package/dist/components/{core/card → ui/card/core}/profile/data.d.ts +0 -0
  438. /package/dist/components/{core/card → ui/card/core}/profile/data.js +0 -0
  439. /package/dist/components/{core/card → ui/card/core}/promotion/CardPromotion.svelte.d.ts +0 -0
  440. /package/dist/components/{core/card → ui/card/core}/promotion/CardPromotionPrice.svelte.d.ts +0 -0
  441. /package/dist/components/{core/card → ui/card/core}/promotion/data.d.ts +0 -0
  442. /package/dist/components/{core/card → ui/card/core}/promotion/data.js +0 -0
  443. /package/dist/components/{core/card → ui/card/core}/shared/CardButton.svelte.d.ts +0 -0
  444. /package/dist/components/{core/card → ui/card/core}/shared/CardCart.svelte.d.ts +0 -0
  445. /package/dist/components/{core/card → ui/card/core}/shared/CardDescription.svelte.d.ts +0 -0
  446. /package/dist/components/{core/card → ui/card/core}/shared/CardFavorite.svelte.d.ts +0 -0
  447. /package/dist/components/{core/card → ui/card/core}/shared/CardLogo.svelte.d.ts +0 -0
  448. /package/dist/components/{core/card → ui/card/core}/shared/CardPhoneOrWhatsapp.svelte.d.ts +0 -0
  449. /package/dist/components/{core/card → ui/card/core}/shared/CardStarRating.svelte.d.ts +0 -0
  450. /package/dist/components/{core/card → ui/card/core}/shared/CardTags.svelte.d.ts +0 -0
  451. /package/dist/components/{core/card → ui/card/core}/shared/CardThumbnailVideo.svelte.d.ts +0 -0
  452. /package/dist/components/{core/card → ui/card/core}/shared/CardTitlePrice.svelte.d.ts +0 -0
  453. /package/dist/components/{core/card → ui/card/core}/shared/TruncatableText.svelte.d.ts +0 -0
  454. /package/dist/components/{core/card → ui/card/core}/types.d.ts +0 -0
  455. /package/dist/components/{core/card → ui/card/core}/types.js +0 -0
  456. /package/dist/components/{core/carousel → ui/carousel/core}/badge/type.d.ts +0 -0
  457. /package/dist/components/{core/carousel → ui/carousel/core}/badge/type.js +0 -0
  458. /package/dist/components/{core/carousel → ui/carousel/core}/badge/ui/CarouselBadge.svelte.d.ts +0 -0
  459. /package/dist/components/{core/carousel → ui/carousel/core}/grid/media/types.js +0 -0
  460. /package/dist/components/{core/carousel → ui/carousel/core}/grid/product/types.js +0 -0
  461. /package/dist/components/{core/carousel → ui/carousel/core}/grid/product/ui/CarouselGridProduct.svelte.d.ts +0 -0
  462. /package/dist/components/{core/carousel → ui/carousel/core}/grid/profile/types.js +0 -0
  463. /package/dist/components/{core/carousel → ui/carousel/core}/grid/promotion/types.js +0 -0
  464. /package/dist/components/{core/carousel → ui/carousel/core}/grid/promotion/ui/CarouselGridPromotion.svelte.d.ts +0 -0
  465. /package/dist/components/{core/carousel → ui/carousel/core}/hero/types.js +0 -0
  466. /package/dist/components/{core/carousel → ui/carousel/core}/hero/ui/CarouselHero.svelte.d.ts +0 -0
  467. /package/dist/components/{core/carousel → ui/carousel/core}/highlights/types.js +0 -0
  468. /package/dist/components/{core/carousel → ui/carousel/core}/highlights/ui/CarouselHighlights.svelte.d.ts +0 -0
  469. /package/dist/components/{core/carousel → ui/carousel/core}/product/types.js +0 -0
  470. /package/dist/components/{core/carousel → ui/carousel/core}/product/ui/CarouselProduct.svelte.d.ts +0 -0
  471. /package/dist/components/{core/carousel → ui/carousel/core}/promotion/types.js +0 -0
  472. /package/dist/components/{core/carousel → ui/carousel/core}/promotion/ui/CarouselPromotion.svelte.d.ts +0 -0
  473. /package/dist/components/{core/carousel → ui/carousel/core}/shared/ui/CarouselHeader.svelte.d.ts +0 -0
  474. /package/dist/components/{core/carousel → ui/carousel/core}/types.d.ts +0 -0
  475. /package/dist/components/{core/carousel → ui/carousel/core}/types.js +0 -0
  476. /package/dist/components/{core → ui}/datatable/data/data-table.js +0 -0
  477. /package/dist/components/{core → ui}/datatable/ui/DataTableCheckbox.svelte.d.ts +0 -0
  478. /package/dist/components/{core → ui}/datatable/ui/DataTableCore.svelte.d.ts +0 -0
  479. /package/dist/components/{core → ui}/datatable/ui/DataTableDragHandle.svelte.d.ts +0 -0
  480. /package/dist/components/{core → ui}/footer/types.d.ts +0 -0
  481. /package/dist/components/{core → ui}/footer/types.js +0 -0
  482. /package/dist/components/{core → ui}/footer/ui/01/Footer01.svelte +0 -0
  483. /package/dist/components/{core → ui}/footer/ui/01/Footer01.svelte.d.ts +0 -0
  484. /package/dist/components/{core → ui}/footer/ui/02/Footer02.svelte +0 -0
  485. /package/dist/components/{core → ui}/footer/ui/02/Footer02.svelte.d.ts +0 -0
  486. /package/dist/components/{core → ui}/footer/ui/Footer.svelte.d.ts +0 -0
  487. /package/dist/components/{core → ui}/footer/ui/shared/FooterColumn.svelte +0 -0
  488. /package/dist/components/{core → ui}/footer/ui/shared/FooterColumn.svelte.d.ts +0 -0
  489. /package/dist/components/{core → ui}/footer/ui/shared/FooterNewsLetter.svelte +0 -0
  490. /package/dist/components/{core → ui}/footer/ui/shared/FooterNewsLetter.svelte.d.ts +0 -0
  491. /package/dist/components/{core → ui}/footer/ui/shared/FooterSocialIcon.svelte +0 -0
  492. /package/dist/components/{core → ui}/footer/ui/shared/FooterSocialIcon.svelte.d.ts +0 -0
  493. /package/dist/components/{core → ui}/form/data/InputIconDefault.svelte.d.ts +0 -0
  494. /package/dist/components/{core → ui}/form/data/InputIconDefault.svelte.js +0 -0
  495. /package/dist/components/{core → ui}/form/data/InputLabel.svelte.d.ts +0 -0
  496. /package/dist/components/{core → ui}/form/data/InputLabel.svelte.js +0 -0
  497. /package/dist/components/{core/grid/data → ui/form}/types.js +0 -0
  498. /package/dist/components/{core/grid → ui/grid/core}/data/types.d.ts +0 -0
  499. /package/dist/components/{core/hero → ui/grid/core/data}/types.js +0 -0
  500. /package/dist/components/{core/grid → ui/grid/core}/ui/01/Grid01.svelte.d.ts +0 -0
  501. /package/dist/components/{core/grid → ui/grid/core}/ui/02/Grid02.svelte.d.ts +0 -0
  502. /package/dist/components/{core/grid → ui/grid/core}/ui/ItemsPanel.svelte.d.ts +0 -0
  503. /package/dist/components/{core/grid → ui/grid/core}/ui/ItemsPanelCarousel.svelte.d.ts +0 -0
  504. /package/dist/components/{core/grid → ui/grid/core}/ui/ItemsPanelGrid.svelte.d.ts +0 -0
  505. /package/dist/components/{core/grid → ui/grid/core}/ui/ItemsSimpleGrid.svelte.d.ts +0 -0
  506. /package/dist/components/{core/grid → ui/grid/core}/ui/shared/DescriptionGrid.svelte.d.ts +0 -0
  507. /package/dist/components/{core/grid → ui/grid/core}/ui/shared/IconRenderGrid.svelte.d.ts +0 -0
  508. /package/dist/components/{core/grid → ui/grid/core}/ui/shared/TitleGrid.svelte.d.ts +0 -0
  509. /package/dist/components/{core → ui}/hero/SimpleHero.svelte.d.ts +0 -0
  510. /package/dist/components/{core → ui}/hero/types.d.ts +0 -0
  511. /package/dist/components/{core/nav/data → ui/hero}/types.js +0 -0
  512. /package/dist/components/{core/label → ui/label/core}/LabelOr.svelte.d.ts +0 -0
  513. /package/dist/components/{core → ui}/link/link-forget-password.svelte.d.ts +0 -0
  514. /package/dist/components/{core → ui}/link/link-privacy-polity.svelte.d.ts +0 -0
  515. /package/dist/components/{core → ui}/link/link-terms-of-service.svelte.d.ts +0 -0
  516. /package/dist/components/{core/search → ui/modal/badge}/types.js +0 -0
  517. /package/dist/components/{core/sidebar → ui/modal/core}/types.js +0 -0
  518. /package/dist/components/{core/tabs → ui/modal/feedback}/types.js +0 -0
  519. /package/dist/components/{core/nav/data/nav-menu.js → ui/modal/form/types.js} +0 -0
  520. /package/dist/components/{core/panel/type.js → ui/modal/grid/types.js} +0 -0
  521. /package/dist/components/{core/sidebar/data/nav-menu-sidebar.js → ui/modal/map/types.js} +0 -0
  522. /package/dist/components/{core/sidebar/data/nav-top-bar-sidebar.js → ui/modal/notification/types.js} +0 -0
  523. /package/dist/components/{core/sidebar/data/nav-user-sidebar.js → ui/modal/share/types.js} +0 -0
  524. /package/dist/components/{core/tabs/data/TabModel.js → ui/modal/upload/types.js} +0 -0
  525. /package/dist/components/{core → ui}/nav/data/complex-menu-utils.d.ts +0 -0
  526. /package/dist/components/{core → ui}/nav/data/complex-menu-utils.js +0 -0
  527. /package/dist/components/{core → ui}/nav/data/nav-menu.d.ts +0 -0
  528. /package/dist/components/{core → ui}/nav/data/types.d.ts +0 -0
  529. /package/dist/components/{core → ui}/nav/ui/ComplexMenu.svelte.d.ts +0 -0
  530. /package/dist/components/{core → ui}/nav/ui/Menu.svelte.d.ts +0 -0
  531. /package/dist/components/{core → ui}/nav/ui/SimpleMenu.svelte.d.ts +0 -0
  532. /package/dist/components/{core → ui}/nav/ui/mobile/ComplexMenuMobile.svelte.d.ts +0 -0
  533. /package/dist/components/{core → ui}/nav/ui/mobile/MenuMobile.svelte.d.ts +0 -0
  534. /package/dist/components/{core → ui}/nav/ui/mobile/SimpleMenuMobile.svelte.d.ts +0 -0
  535. /package/dist/components/{core → ui}/nav/ui/shared/CollapsibleNavMenu.svelte.d.ts +0 -0
  536. /package/dist/components/{core → ui}/nav/ui/shared/MenuButton.svelte.d.ts +0 -0
  537. /package/dist/components/{core → ui}/nav/ui/shared/MenuLinks.svelte.d.ts +0 -0
  538. /package/dist/components/{core → ui}/nav/ui/shared/MenuListItem.svelte.d.ts +0 -0
  539. /package/dist/components/{core → ui}/nav/ui/shared/MenuLogo.svelte.d.ts +0 -0
  540. /package/dist/components/{core → ui}/nav/ui/shared/NavMenuItem.svelte +0 -0
  541. /package/dist/components/{core → ui}/nav/ui/shared/NavMenuItem.svelte.d.ts +0 -0
  542. /package/dist/components/{core → ui}/nav/ui/shared/dropdown/DropdownMenuListItem.svelte +0 -0
  543. /package/dist/components/{core → ui}/nav/ui/shared/dropdown/DropdownMenuListItem.svelte.d.ts +0 -0
  544. /package/dist/components/{core → ui}/nav/ui/shared/dropdown/DropdownNavigationMenuItem.svelte.d.ts +0 -0
  545. /package/dist/components/{core → ui}/nav/ui/shared/dropdown/DropdownNavigationMenuItemCard.svelte.d.ts +0 -0
  546. /package/dist/components/{core → ui}/nav/ui/shared/dropdown/DropdownNavigationMenuItemGrid.svelte.d.ts +0 -0
  547. /package/dist/components/{core → ui}/nav/ui/shared/dropdown/DropdownNavigationMenuItemList.svelte.d.ts +0 -0
  548. /package/dist/components/{core → ui}/nav/ui/shared/dropdown/DropdownNavigationMenuItems.svelte.d.ts +0 -0
  549. /package/dist/components/{core → ui}/nav/ui/shared/navigation/NavDropdown.svelte.d.ts +0 -0
  550. /package/dist/components/{core → ui}/nav/ui/shared/navigation/NavigationMenuItem.svelte.d.ts +0 -0
  551. /package/dist/components/{core → ui}/nav/ui/shared/navigation/NavigationMenuItemCard.svelte.d.ts +0 -0
  552. /package/dist/components/{core → ui}/nav/ui/shared/navigation/NavigationMenuItemGrid.svelte.d.ts +0 -0
  553. /package/dist/components/{core → ui}/nav/ui/shared/navigation/NavigationMenuItemList.svelte.d.ts +0 -0
  554. /package/dist/components/{core → ui}/nav/ui/shared/navigation/NavigationMenuItems.svelte.d.ts +0 -0
  555. /package/dist/components/{core → ui}/panel/CarouselSlot.svelte.d.ts +0 -0
  556. /package/dist/components/{core → ui}/panel/NotFoundEmpty.svelte.d.ts +0 -0
  557. /package/dist/components/{core → ui}/search/01/Search01.svelte +0 -0
  558. /package/dist/components/{core → ui}/search/01/Search01.svelte.d.ts +0 -0
  559. /package/dist/components/{core → ui}/search/02/Search02.svelte +0 -0
  560. /package/dist/components/{core → ui}/search/02/Search02.svelte.d.ts +0 -0
  561. /package/dist/components/{core → ui}/search/SearchInput.svelte.d.ts +0 -0
  562. /package/dist/components/{core → ui}/search/shared/SearchInputCore.svelte.d.ts +0 -0
  563. /package/dist/components/{core → ui}/search/types.d.ts +0 -0
  564. /package/dist/components/{core/sidebar → ui/sidebar/core}/data/nav-menu-sidebar.d.ts +0 -0
  565. /package/dist/components/{core/sidebar → ui/sidebar/core}/data/nav-top-bar-sidebar.d.ts +0 -0
  566. /package/dist/components/{core/sidebar → ui/sidebar/core}/data/nav-user-sidebar.d.ts +0 -0
  567. /package/dist/components/{core/sidebar → ui/sidebar/core}/types.d.ts +0 -0
  568. /package/dist/components/{core/sidebar → ui/sidebar/core}/ui/navbar/NavMenuBarSidebar.svelte.d.ts +0 -0
  569. /package/dist/components/{core/sidebar → ui/sidebar/core}/ui/navbar/NavMenuTopBarSidebar.svelte.d.ts +0 -0
  570. /package/dist/components/{core/sidebar → ui/sidebar/core}/ui/navbar/nav-menu-header-sidebar.svelte.d.ts +0 -0
  571. /package/dist/components/{core → ui}/tabs/data/TabModel.d.ts +0 -0
  572. /package/dist/components/{core → ui}/tabs/types.d.ts +0 -0
  573. /package/dist/components/{core → ui}/tabs/ui/tab-underline.svelte.d.ts +0 -0
@@ -1,12 +1,12 @@
1
- <script lang="ts">
2
- import { t } from "../../../i18n";
3
- import type { HTMLAnchorAttributes } from "svelte/elements";
4
-
5
- type Props = HTMLAnchorAttributes;
6
-
7
- let { ...restProps }: Props = $props();
8
- </script>
9
-
10
- <a {...restProps} class="text-xs text-slate-500 hover:text-slate-800 z-10">
11
- {$t("link.privacy-policy.label")}
12
- </a>
1
+ <script lang="ts">
2
+ import { t } from "../../../i18n";
3
+ import type { HTMLAnchorAttributes } from "svelte/elements";
4
+
5
+ type Props = HTMLAnchorAttributes;
6
+
7
+ let { ...restProps }: Props = $props();
8
+ </script>
9
+
10
+ <a {...restProps} class="text-xs text-slate-500 hover:text-slate-800 z-10">
11
+ {$t("link.privacy-policy.label")}
12
+ </a>
@@ -1,12 +1,12 @@
1
- <script lang="ts">
2
- import { t } from "../../../i18n";
3
- import type { HTMLAnchorAttributes } from "svelte/elements";
4
-
5
- type Props = HTMLAnchorAttributes;
6
-
7
- let { ...restProps }: Props = $props();
8
- </script>
9
-
10
- <a {...restProps} class="text-xs text-slate-500 hover:text-slate-800 z-10">
11
- {$t("link.terms-of-service.label")}
12
- </a>
1
+ <script lang="ts">
2
+ import { t } from "../../../i18n";
3
+ import type { HTMLAnchorAttributes } from "svelte/elements";
4
+
5
+ type Props = HTMLAnchorAttributes;
6
+
7
+ let { ...restProps }: Props = $props();
8
+ </script>
9
+
10
+ <a {...restProps} class="text-xs text-slate-500 hover:text-slate-800 z-10">
11
+ {$t("link.terms-of-service.label")}
12
+ </a>
@@ -0,0 +1,3 @@
1
+ import Root from "./ui/ModalBadgeSelection.svelte";
2
+ export { Root, Root as ModalBadgeSelection, };
3
+ export type { ModelBadge, ModalBadgeSelectionProps } from "./types";
@@ -0,0 +1,2 @@
1
+ import Root from "./ui/ModalBadgeSelection.svelte";
2
+ export { Root, Root as ModalBadgeSelection, };
@@ -0,0 +1,35 @@
1
+ import type { ModelBadge } from "../core/types";
2
+ export type { ModelBadge } from "../core/types";
3
+ /**
4
+ * Props do componente ModalBadgeSelection — modal de seleção com badges/pills.
5
+ * Segunda variação do sistema de modais do NegoDesign.
6
+ * @property title - Título principal do modal.
7
+ * @property subtitle - Subtítulo/descrição abaixo do título.
8
+ * @property badges - Lista de badges/pills seleccionáveis.
9
+ * @property selectedBadge - Badge actualmente seleccionado.
10
+ * @property multiple - Permite seleção múltipla de badges.
11
+ * @property totalSteps - Número total de passos (para a progress bar).
12
+ * @property currentStep - Passo actual.
13
+ * @property isOpen - Controla a visibilidade do modal.
14
+ * @property onSelect - Chamado ao seleccionar um badge.
15
+ * @property onBack - Chamado ao clicar no botão "Back".
16
+ * @property onContinue - Chamado ao clicar no botão "Continue".
17
+ * @property onSkip - Chamado ao clicar no "Skip This Step".
18
+ * @property class - Classe CSS extra no container do modal.
19
+ */
20
+ export type ModalBadgeSelectionProps = {
21
+ title: string;
22
+ subtitle?: string;
23
+ badges: ModelBadge[];
24
+ selectedBadge?: ModelBadge | null;
25
+ selectedBadges?: ModelBadge[];
26
+ multiple?: boolean;
27
+ totalSteps?: number;
28
+ currentStep?: number;
29
+ isOpen?: boolean;
30
+ onSelect?: (badge: ModelBadge) => void;
31
+ onBack?: () => void;
32
+ onContinue?: () => void;
33
+ onSkip?: () => void;
34
+ class?: string;
35
+ };
@@ -0,0 +1,87 @@
1
+ <script lang="ts">
2
+ import { cn } from "../../../../../utils";
3
+ import { HugeiconsIcon } from "@hugeicons/svelte";
4
+ import ModalCore from "../../core/ui/ModalCore.svelte";
5
+ import type { ModalBadgeSelectionProps, ModelBadge } from "../types";
6
+
7
+ let {
8
+ title,
9
+ subtitle,
10
+ badges = [],
11
+ selectedBadge = $bindable(null),
12
+ selectedBadges = $bindable([]),
13
+ multiple = false,
14
+ totalSteps = 1,
15
+ currentStep = 1,
16
+ isOpen = $bindable(false),
17
+ onSelect,
18
+ onBack,
19
+ onContinue,
20
+ onSkip,
21
+ class: className,
22
+ }: ModalBadgeSelectionProps = $props();
23
+
24
+ function handleSelect(badge: ModelBadge) {
25
+ if (multiple) {
26
+ const exists = selectedBadges.some((b) => b.value === badge.value);
27
+ if (exists) {
28
+ selectedBadges = selectedBadges.filter((b) => b.value !== badge.value);
29
+ } else {
30
+ selectedBadges = [...selectedBadges, badge];
31
+ }
32
+ onSelect?.(badge);
33
+ } else {
34
+ selectedBadge = badge;
35
+ onSelect?.(badge);
36
+ }
37
+ }
38
+
39
+ function isSelected(badge: ModelBadge): boolean {
40
+ if (multiple) {
41
+ return selectedBadges.some((b) => b.value === badge.value);
42
+ }
43
+ return selectedBadge?.value === badge.value;
44
+ }
45
+ </script>
46
+
47
+ <ModalCore
48
+ bind:isOpen
49
+ {title}
50
+ {subtitle}
51
+ {totalSteps}
52
+ {currentStep}
53
+ showProgress={true}
54
+ showBack={false}
55
+ showSkip={true}
56
+ {onBack}
57
+ {onContinue}
58
+ {onSkip}
59
+ class={className}
60
+ >
61
+ {#snippet content()}
62
+ <div class="flex flex-wrap gap-3">
63
+ {#each badges as badge (badge.value)}
64
+ {@const selected = isSelected(badge)}
65
+ <button
66
+ type="button"
67
+ class={cn(
68
+ "inline-flex items-center gap-2 rounded-full border px-5 py-2.5 text-sm font-medium transition-all duration-200",
69
+ selected
70
+ ? "border-foreground bg-foreground text-background shadow-md"
71
+ : "border-border bg-card text-foreground hover:border-foreground/50 hover:shadow-sm"
72
+ )}
73
+ onclick={() => handleSelect(badge)}
74
+ >
75
+ {#if badge.icon}
76
+ {#if typeof badge.icon === "string"}
77
+ <i class="{badge.icon} text-sm"></i>
78
+ {:else}
79
+ <HugeiconsIcon icon={badge.icon} class="size-4" />
80
+ {/if}
81
+ {/if}
82
+ {badge.label}
83
+ </button>
84
+ {/each}
85
+ </div>
86
+ {/snippet}
87
+ </ModalCore>
@@ -0,0 +1,4 @@
1
+ import type { ModalBadgeSelectionProps } from "../types";
2
+ declare const ModalBadgeSelection: import("svelte").Component<ModalBadgeSelectionProps, {}, "isOpen" | "selectedBadge" | "selectedBadges">;
3
+ type ModalBadgeSelection = ReturnType<typeof ModalBadgeSelection>;
4
+ export default ModalBadgeSelection;
@@ -0,0 +1,3 @@
1
+ import Root from "./ui/ModalCore.svelte";
2
+ export { Root, Root as ModalCore, };
3
+ export type { ModalCoreProps, ModelBadge, ModelGridCard, ModelSocialShare } from "./types";
@@ -0,0 +1,2 @@
1
+ import Root from "./ui/ModalCore.svelte";
2
+ export { Root, Root as ModalCore, };
@@ -0,0 +1,82 @@
1
+ import type { Snippet } from "svelte";
2
+ import type { IconSvgElement } from "@hugeicons/svelte";
3
+ /**
4
+ * Props do componente ModalCore — contentor base reutilizável para todos os modais.
5
+ * Fornece overlay, container com gradiente, cabeçalho, rodapé com progress bar e navegação.
6
+ * @property isOpen - Controla a visibilidade do modal (bindable).
7
+ * @property title - Título principal do modal.
8
+ * @property subtitle - Subtítulo/descrição abaixo do título.
9
+ * @property totalSteps - Número total de passos (para a progress bar).
10
+ * @property currentStep - Passo actual (para a progress bar).
11
+ * @property showProgress - Exibe a progress bar.
12
+ * @property showBack - Exibe o botão "Back".
13
+ * @property showSkip - Exibe o botão/link "Skip".
14
+ * @property skipText - Texto do botão/link de skip.
15
+ * @property continueText - Texto do botão "Continue".
16
+ * @property backText - Texto do botão "Back".
17
+ * @property onBack - Chamado ao clicar no botão "Back".
18
+ * @property onContinue - Chamado ao clicar no botão "Continue".
19
+ * @property onSkip - Chamado ao clicar no skip.
20
+ * @property onClose - Chamado ao clicar no overlay (fechar).
21
+ * @property content - Snippet com o conteúdo principal do modal.
22
+ * @property footer - Snippet personalizado para o rodapé (substitui o padrão).
23
+ * @property class - Classe CSS extra no container do modal.
24
+ */
25
+ export type ModalCoreProps = {
26
+ isOpen: boolean;
27
+ title: string;
28
+ subtitle?: string;
29
+ totalSteps?: number;
30
+ currentStep?: number;
31
+ showProgress?: boolean;
32
+ showBack?: boolean;
33
+ showSkip?: boolean;
34
+ skipText?: string;
35
+ continueText?: string;
36
+ backText?: string;
37
+ onBack?: () => void;
38
+ onContinue?: () => void;
39
+ onSkip?: () => void;
40
+ onClose?: () => void;
41
+ content?: Snippet;
42
+ footer?: Snippet;
43
+ class?: string;
44
+ };
45
+ /**
46
+ * Modelo de dados para um badge/pill seleccionável dentro do modal.
47
+ * Cada badge representa uma opção simples (ex: "Marketing", "Engineering").
48
+ * @property label - Texto visível do badge.
49
+ * @property value - Valor identificador do badge.
50
+ * @property icon - Ícone opcional exibido antes do label.
51
+ */
52
+ export type ModelBadge = {
53
+ label: string;
54
+ value: string;
55
+ icon?: string | IconSvgElement;
56
+ };
57
+ /**
58
+ * Modelo de dados para um card seleccionável dentro do grid do modal.
59
+ * Cada card representa uma opção com ícone, título e descrição (ex: "Estudante", "Empresa").
60
+ * @property title - Título visível do card.
61
+ * @property description - Descrição curta exibida abaixo do título.
62
+ * @property icon - Ícone exibido no topo do card (string CSS ou HugeIcons).
63
+ */
64
+ export type ModelGridCard = {
65
+ title: string;
66
+ description?: string;
67
+ icon: string | IconSvgElement;
68
+ };
69
+ /**
70
+ * Modelo de dados para uma rede social no modal de partilha.
71
+ * Cada item representa uma plataforma de redes sociais para partilhar conteúdo.
72
+ * @property name - Nome da rede social (ex: "Facebook", "Twitter").
73
+ * @property icon - Ícone da rede social (string CSS ou HugeIcons).
74
+ * @property color - Cor da rede social (hex, rgb, etc.).
75
+ * @property url - URL de partilha da rede social.
76
+ */
77
+ export type ModelSocialShare = {
78
+ name: string;
79
+ icon: string | IconSvgElement;
80
+ color?: string;
81
+ url?: string;
82
+ };
@@ -0,0 +1,129 @@
1
+ <script lang="ts">
2
+ import { cn } from "../../../../../utils";
3
+ import { ArrowLeft01Icon, ArrowRight01Icon } from "@hugeicons/core-free-icons";
4
+ import { HugeiconsIcon } from "@hugeicons/svelte";
5
+ import type { ModalCoreProps } from "../types";
6
+
7
+ let {
8
+ isOpen = $bindable(false),
9
+ title,
10
+ subtitle,
11
+ totalSteps = 1,
12
+ currentStep = 1,
13
+ showProgress = true,
14
+ showBack = true,
15
+ showSkip = false,
16
+ skipText = "Skip This Step",
17
+ continueText = "Continue",
18
+ backText = "Back",
19
+ onBack,
20
+ onContinue,
21
+ onSkip,
22
+ onClose,
23
+ content,
24
+ footer,
25
+ class: className,
26
+ }: ModalCoreProps = $props();
27
+
28
+ function handleClose() {
29
+ isOpen = false;
30
+ onClose?.();
31
+ }
32
+
33
+ const progressPercent = $derived(
34
+ totalSteps > 0 ? (currentStep / totalSteps) * 100 : 0
35
+ );
36
+ </script>
37
+
38
+ {#if isOpen}
39
+ <div class="fixed inset-0 z-50 flex items-center justify-center">
40
+ <!-- svelte-ignore a11y_no_static_element_interactions -->
41
+ <div
42
+ class="absolute inset-0 bg-black/50 backdrop-blur-sm"
43
+ onclick={handleClose}
44
+ onkeydown={(e) => {
45
+ if (e.key === "Escape") handleClose();
46
+ }}
47
+ ></div>
48
+
49
+ <div
50
+ class={cn(
51
+ "relative z-10 mx-4 flex max-h-[90vh] w-full max-w-3xl flex-col overflow-hidden rounded-3xl border border-border bg-card shadow-lg",
52
+ "before:absolute before:-inset-px before:z-[-1] before:rounded-3xl before:bg-linear-to-br before:from-primary/40 before:via-primary/10 before:to-transparent",
53
+ "animate-in fade-in zoom-in-95 duration-200",
54
+ className
55
+ )}
56
+ >
57
+ <!-- Header -->
58
+ <div class="px-8 pt-8">
59
+ <h2 class="text-2xl font-extrabold tracking-tight md:text-3xl">
60
+ {title}
61
+ </h2>
62
+ {#if subtitle}
63
+ <p class="mt-2 text-sm text-muted-foreground">{subtitle}</p>
64
+ {/if}
65
+ </div>
66
+
67
+ <!-- Content -->
68
+ <div class="flex-1 overflow-y-auto px-8 py-6">
69
+ {#if content}
70
+ {@render content()}
71
+ {/if}
72
+ </div>
73
+
74
+ <!-- Footer -->
75
+ {#if footer}
76
+ <div class="border-t border-border px-8 py-5">
77
+ {@render footer()}
78
+ </div>
79
+ {:else}
80
+ <div class="border-t border-border px-8 py-5">
81
+ {#if showProgress}
82
+ <div class="mb-5 h-1.5 w-full overflow-hidden rounded-full bg-muted">
83
+ <div
84
+ class="h-full rounded-full bg-linear-to-r from-primary to-primary/70 transition-all duration-300"
85
+ style="width: {progressPercent}%"
86
+ ></div>
87
+ </div>
88
+ {/if}
89
+
90
+ <div class="flex items-center justify-between">
91
+ <div class="flex items-center gap-4">
92
+ {#if showSkip}
93
+ <button
94
+ type="button"
95
+ class="text-sm font-medium text-muted-foreground transition hover:text-foreground"
96
+ onclick={onSkip}
97
+ >
98
+ {skipText}
99
+ </button>
100
+ {/if}
101
+ </div>
102
+
103
+ <div class="flex items-center gap-3">
104
+ {#if showBack && currentStep > 1}
105
+ <button
106
+ type="button"
107
+ class="inline-flex items-center gap-2 rounded-full border border-border px-5 py-2.5 text-sm font-semibold transition hover:bg-muted"
108
+ onclick={onBack}
109
+ >
110
+ <HugeiconsIcon icon={ArrowLeft01Icon} class="size-4" />
111
+ {backText}
112
+ </button>
113
+ {/if}
114
+
115
+ <button
116
+ type="button"
117
+ class="inline-flex items-center gap-2 rounded-full bg-primary px-6 py-2.5 text-sm font-semibold text-primary-foreground transition hover:bg-primary/90"
118
+ onclick={onContinue}
119
+ >
120
+ {continueText}
121
+ <HugeiconsIcon icon={ArrowRight01Icon} class="size-4" />
122
+ </button>
123
+ </div>
124
+ </div>
125
+ </div>
126
+ {/if}
127
+ </div>
128
+ </div>
129
+ {/if}
@@ -0,0 +1,4 @@
1
+ import type { ModalCoreProps } from "../types";
2
+ declare const ModalCore: import("svelte").Component<ModalCoreProps, {}, "isOpen">;
3
+ type ModalCore = ReturnType<typeof ModalCore>;
4
+ export default ModalCore;
@@ -0,0 +1,3 @@
1
+ import Root from "./ui/ModalFeedback.svelte";
2
+ export { Root, Root as ModalFeedback, };
3
+ export type { ModalFeedbackProps } from "./types";
@@ -0,0 +1,2 @@
1
+ import Root from "./ui/ModalFeedback.svelte";
2
+ export { Root, Root as ModalFeedback, };
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Props do componente ModalFeedback — modal de feedback com editor de texto rico.
3
+ * Quinta variação do sistema de modais do NegoDesign.
4
+ * @property title - Título principal do modal (ex: "Your Feedback").
5
+ * @property icon - Emoji/ícone exibido ao lado do título.
6
+ * @property placeholder - Texto placeholder da área de texto.
7
+ * @property buttonText - Texto do botão de submissão.
8
+ * @property buttonLoadingText - Texto exibido durante o carregamento.
9
+ * @property cancelText - Texto do botão cancelar.
10
+ * @property addImageText - Texto do botão de adicionar imagem.
11
+ * @property isLoading - Estado de carregamento do botão.
12
+ * @property isOpen - Controla a visibilidade do modal.
13
+ * @property onSubmit - Chamado ao submeter o feedback (conteúdo HTML + imagens).
14
+ * @property onAddImage - Chamado ao clicar no botão de adicionar imagem.
15
+ * @property onClose - Chamado ao fechar o modal.
16
+ * @property class - Classe CSS extra no container do modal.
17
+ */
18
+ export type ModalFeedbackProps = {
19
+ title?: string;
20
+ icon?: string;
21
+ placeholder?: string;
22
+ buttonText?: string;
23
+ buttonLoadingText?: string;
24
+ cancelText?: string;
25
+ addImageText?: string;
26
+ isLoading?: boolean;
27
+ isOpen?: boolean;
28
+ onSubmit?: (content: string, images: File[]) => void;
29
+ onAddImage?: () => void;
30
+ onClose?: () => void;
31
+ class?: string;
32
+ };
@@ -0,0 +1,135 @@
1
+ <script lang="ts">
2
+ import { cn } from "../../../../../utils";
3
+ import ModalCore from "../../core/ui/ModalCore.svelte";
4
+ import type { ModalFeedbackProps } from "../types";
5
+
6
+ let {
7
+ title = "Your Feedback",
8
+ icon = "🔥",
9
+ placeholder = "Write your feedback here...",
10
+ buttonText = "Send",
11
+ buttonLoadingText = "Sending...",
12
+ cancelText = "Cancel",
13
+ addImageText = "Add an Image",
14
+ isLoading = false,
15
+ isOpen = $bindable(false),
16
+ onSubmit,
17
+ onAddImage,
18
+ onClose,
19
+ class: className,
20
+ }: ModalFeedbackProps = $props();
21
+
22
+ let editorRef = $state<HTMLDivElement | null>(null);
23
+ let images = $state<File[]>([]);
24
+
25
+ function execCmd(command: string, value?: string) {
26
+ document.execCommand(command, false, value);
27
+ editorRef?.focus();
28
+ }
29
+
30
+ function handleAddImage() {
31
+ onAddImage?.();
32
+ }
33
+
34
+ function handleSubmit() {
35
+ const content = editorRef?.innerHTML ?? "";
36
+ if (!content.trim() || isLoading) return;
37
+ onSubmit?.(content, images);
38
+ }
39
+
40
+ function handleCancel() {
41
+ isOpen = false;
42
+ onClose?.();
43
+ }
44
+
45
+ const toolbarButtons = [
46
+ { command: "bold", label: "B", class: "font-bold" },
47
+ { command: "italic", label: "I", class: "italic" },
48
+ { command: "underline", label: "U", class: "underline" },
49
+ { command: "insertUnorderedList", label: "•", class: "" },
50
+ { command: "insertOrderedList", label: "1.", class: "" },
51
+ { command: "undo", label: "↶", class: "" },
52
+ { command: "redo", label: "↷", class: "" },
53
+ { command: "justifyLeft", label: "⫷", class: "" },
54
+ { command: "justifyCenter", label: "⫿", class: "" },
55
+ { command: "justifyRight", label: "⫸", class: "" },
56
+ ] as const;
57
+ </script>
58
+
59
+ <ModalCore
60
+ bind:isOpen
61
+ {title}
62
+ showProgress={false}
63
+ showBack={false}
64
+ {onClose}
65
+ class={cn("max-w-lg", className)}
66
+ >
67
+ {#snippet content()}
68
+ <!-- Toolbar -->
69
+ <div class="mb-3 flex flex-wrap items-center gap-1 rounded-t-lg border border-border bg-muted/50 px-3 py-2">
70
+ {#each toolbarButtons as btn (btn.command)}
71
+ <button
72
+ type="button"
73
+ class={cn(
74
+ "flex size-8 items-center justify-center rounded text-sm text-muted-foreground transition hover:bg-border hover:text-foreground",
75
+ btn.class
76
+ )}
77
+ onclick={() => execCmd(btn.command)}
78
+ title={btn.command}
79
+ >
80
+ {btn.label}
81
+ </button>
82
+ {/each}
83
+ </div>
84
+
85
+ <!-- Editor -->
86
+ <!-- svelte-ignore a11y_no_static_element_interactions -->
87
+ <div
88
+ bind:this={editorRef}
89
+ contenteditable="true"
90
+ class="min-h-[160px] rounded-b-lg border border-t-0 border-border bg-card px-4 py-3 text-sm text-foreground outline-none focus:ring-2 focus:ring-primary/20"
91
+ data-placeholder={placeholder}
92
+ onkeydown={(e) => {
93
+ if (e.key === "Enter" && e.ctrlKey) handleSubmit();
94
+ }}
95
+ ></div>
96
+
97
+ <!-- Add Image Button -->
98
+ <button
99
+ type="button"
100
+ class="mt-4 flex w-full items-center justify-center gap-2 rounded-lg border-2 border-dashed border-orange-300 bg-orange-50/50 py-3 text-sm font-medium text-orange-600 transition hover:bg-orange-50 dark:bg-orange-950/20 dark:text-orange-400 dark:hover:bg-orange-950/30"
101
+ onclick={handleAddImage}
102
+ >
103
+ <span class="text-lg">🖼️</span>
104
+ {addImageText}
105
+ </button>
106
+ {/snippet}
107
+
108
+ {#snippet footer()}
109
+ <div class="flex items-center justify-end gap-3">
110
+ <button
111
+ type="button"
112
+ class="rounded-lg border border-border px-5 py-2.5 text-sm font-semibold transition hover:bg-muted"
113
+ onclick={handleCancel}
114
+ >
115
+ {cancelText}
116
+ </button>
117
+ <button
118
+ type="button"
119
+ disabled={isLoading}
120
+ class="rounded-lg bg-orange-500 px-6 py-2.5 text-sm font-semibold text-white transition hover:bg-orange-600 disabled:cursor-not-allowed disabled:opacity-50"
121
+ onclick={handleSubmit}
122
+ >
123
+ {isLoading ? buttonLoadingText : buttonText}
124
+ </button>
125
+ </div>
126
+ {/snippet}
127
+ </ModalCore>
128
+
129
+ <style>
130
+ [contenteditable]:empty:before {
131
+ content: attr(data-placeholder);
132
+ color: oklch(0.56 0.021 213.5);
133
+ pointer-events: none;
134
+ }
135
+ </style>
@@ -0,0 +1,4 @@
1
+ import type { ModalFeedbackProps } from "../types";
2
+ declare const ModalFeedback: import("svelte").Component<ModalFeedbackProps, {}, "isOpen">;
3
+ type ModalFeedback = ReturnType<typeof ModalFeedback>;
4
+ export default ModalFeedback;
@@ -0,0 +1,3 @@
1
+ import Root from "./ui/ModalForm.svelte";
2
+ export { Root, Root as ModalForm, };
3
+ export type { ModalFormProps, FormInputConfig, FormOption } from "./types";
@@ -0,0 +1,2 @@
1
+ import Root from "./ui/ModalForm.svelte";
2
+ export { Root, Root as ModalForm, };
@@ -0,0 +1,38 @@
1
+ import type { FormInputConfig } from "../../form/types";
2
+ export type { FormInputConfig, FormOption, FormProps } from "../../form/types";
3
+ /**
4
+ * Props do componente ModalForm — formulário dentro de um modal.
5
+ * Reutiliza o componente Form com a mesma API de inputs, adicionando
6
+ * overlay, título, subtítulo e botões de navegação do modal.
7
+ *
8
+ * @property title - Título principal do modal.
9
+ * @property subtitle - Subtítulo/descrição abaixo do título.
10
+ * @property inputs - Array de configurações dos inputs do formulário.
11
+ * @property isOpen - Controla a visibilidade do modal (bindable).
12
+ * @property submitText - Texto do botão de submissão.
13
+ * @property submitLoadingText - Texto durante carregamento.
14
+ * @property cancelText - Texto do botão cancelar.
15
+ * @property isLoading - Estado de carregamento.
16
+ * @property showCancel - Exibe o botão cancelar.
17
+ * @property columns - Número de colunas da grid (padrão: 2).
18
+ * @property onSubmit - Callback ao submeter o formulário.
19
+ * @property onCancel - Chamado ao clicar no botão cancelar ou fechar.
20
+ * @property onClose - Chamado ao fechar o modal.
21
+ * @property class - Classe CSS extra no container do modal.
22
+ */
23
+ export type ModalFormProps = {
24
+ title: string;
25
+ subtitle?: string;
26
+ inputs: FormInputConfig[];
27
+ isOpen?: boolean;
28
+ submitText?: string;
29
+ submitLoadingText?: string;
30
+ cancelText?: string;
31
+ isLoading?: boolean;
32
+ showCancel?: boolean;
33
+ columns?: 1 | 2;
34
+ onSubmit?: (data: Record<string, string | string[] | boolean>) => void;
35
+ onCancel?: () => void;
36
+ onClose?: () => void;
37
+ class?: string;
38
+ };