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
package/README.md CHANGED
@@ -1,134 +1,134 @@
1
- # NegoDesign
2
-
3
- <div align="center">
4
-
5
- **A Svelte 5 component library for building modern, fast and beautiful web applications.**
6
-
7
- </div>
8
-
9
- NegoDesign is an open-source collection of accessible, copy-paste-friendly UI components
10
- for [Svelte](https://svelte.dev) and [SvelteKit](https://svelte.dev/docs/kit). It follows the
11
- [shadcn](https://ui.shadcn.com) philosophy: components are built with Svelte's runes API,
12
- styled with [Tailwind CSS](https://tailwindcss.com), and ship as plain `.svelte` files you
13
- own — no lock-in, no black box.
14
-
15
- From low-level primitives (buttons, badges, carousels, dropdowns, inputs, sidebars) to
16
- complete, production-ready pages (admin panel, login, company profile, product details),
17
- everything is designed to be dropped into your project and customized.
18
-
19
- ---
20
-
21
- ## Features
22
-
23
- - **Svelte 5 runes** — components use `$state`, `$derived`, `$props`, snippets and
24
- bindable props. No legacy APIs.
25
- - **shadcn-style workflow** — copy the component, read the prop table, ship it.
26
- - **Tailwind CSS v4** — utility-first styling with CSS variables for theming and dark mode.
27
- - **Theming** — CSS variables for colors and a built-in light/dark switch.
28
- - **i18n ready** — language switcher and translation helpers included.
29
- - **Composable** — low-level UI primitives and high-level composite components.
30
- - **TypeScript** — all components ship with full type definitions.
31
-
32
- ## Requirements
33
-
34
- - [Svelte](https://svelte.dev) `>= 5`
35
- - [SvelteKit](https://svelte.dev/docs/kit) `>= 2` (recommended)
36
-
37
- Tailwind CSS is not a hard dependency, but the components are designed for it and the
38
- built-in `styles.css` expects the shadcn design tokens.
39
-
40
- ## Installation
41
-
42
- ```bash
43
- npm install negodesign
44
- ```
45
-
46
- Import the compiled styles once, in your global stylesheet:
47
-
48
- ```css
49
- @import "tailwindcss";
50
- @import "negodesign/styles.css";
51
- ```
52
-
53
- Or from your root layout:
54
-
55
- ```svelte
56
- <script lang="ts">
57
- import "negodesign/styles.css";
58
- import "../app.css";
59
- </script>
60
- ```
61
-
62
- ### Usage
63
-
64
- ```svelte
65
- <script lang="ts">
66
- import { Menu } from "negodesign";
67
- import { Home01Icon, Hotel01Icon } from "@hugeicons/core-free-icons";
68
-
69
- const links = [
70
- { label: "Home", url: "/", icon: Home01Icon },
71
- { label: "Accommodation", url: "/accommodation", icon: Hotel01Icon },
72
- ];
73
- </script>
74
-
75
- <Menu isBorder navMenu={{ links }} />
76
- ```
77
-
78
- ### Package exports
79
-
80
- | Export | Description |
81
- | ------------------------- | ------------------------------------------------------ |
82
- | `negodesign` | All components, types and utilities |
83
- | `negodesign/styles.css` | Compiled global styles (design tokens, base, theme) |
84
- | `negodesign/types` | Shared TypeScript types |
85
- | `negodesign/i18n` | Translation helpers and dictionaries |
86
-
87
- ## Component categories
88
-
89
- - **Navigation** — `Menu`, `SearchInput`, `Navbar`
90
- - **Hero** — `SimpleHero`, `CarouselHero`
91
- - **Banners** — `CtaCardImageBanner`, `CtaCardBanner`, `AdCardBanner`, `NotificationBanner`
92
- - **Cards** — `CardMedia`, `CardProfile`, `CardProduct`, `CardPromotion`, `CardHighlight`
93
- - **Carousels** — `CarouselBadge`, `CarouselHighlights`, `CarouselPromotion`, `CarouselGridMedia/Product/Profile/Promotion`
94
- - **Item Grid** — `ItemsSimpleGrid`, `ItemsPanel`
95
- - **Footer** — `Footer`
96
- - **Admin Panel** — `AdminPanel`, `MenuBarSidebar`, `DataTableCore`
97
- - **Login / Security** — `PageLogin`, `PageOtpVerification`, `PageForgetPassword`, `PageResetPassword`
98
- - **Full Pages** — `CompanyProfile`, `ProductDetails`, `ProfileUser`, `PrivacyPolicyOrTermsOfUse`
99
-
100
- ## Documentation
101
-
102
- During development, a full documentation site is available at `/docs`:
103
-
104
- - **Getting Started** — `/docs`
105
- - **Installation** — `/docs/installation`
106
- - **Components** — `/docs/components` and `/docs/<component>`
107
-
108
- Each component page includes its description, a copy-paste example, a link to a live demo
109
- and a complete API reference (props table).
110
-
111
- ## Development
112
-
113
- Clone the repository and install dependencies:
114
-
115
- ```bash
116
- git clone <repository-url>
117
- cd negodesign
118
- npm install
119
- ```
120
-
121
- Useful scripts:
122
-
123
- | Command | Description |
124
- | ----------------- | -------------------------------------------- |
125
- | `npm run dev` | Start the SvelteKit dev server |
126
- | `npm run check` | Run `svelte-check` for type/compile errors |
127
- | `npm run lint` | Run ESLint |
128
- | `npm test` | Run the Vitest unit/browser tests |
129
- | `npm run build` | Build the demo app |
130
- | `npm run package` | Build the distributable package into `dist/` |
131
-
132
- ## License
133
-
1
+ # NegoDesign
2
+
3
+ <div align="center">
4
+
5
+ **A Svelte 5 component library for building modern, fast and beautiful web applications.**
6
+
7
+ </div>
8
+
9
+ NegoDesign is an open-source collection of accessible, copy-paste-friendly UI components
10
+ for [Svelte](https://svelte.dev) and [SvelteKit](https://svelte.dev/docs/kit). It follows the
11
+ [shadcn](https://ui.shadcn.com) philosophy: components are built with Svelte's runes API,
12
+ styled with [Tailwind CSS](https://tailwindcss.com), and ship as plain `.svelte` files you
13
+ own — no lock-in, no black box.
14
+
15
+ From low-level primitives (buttons, badges, carousels, dropdowns, inputs, sidebars) to
16
+ complete, production-ready pages (admin panel, login, company profile, product details),
17
+ everything is designed to be dropped into your project and customized.
18
+
19
+ ---
20
+
21
+ ## Features
22
+
23
+ - **Svelte 5 runes** — components use `$state`, `$derived`, `$props`, snippets and
24
+ bindable props. No legacy APIs.
25
+ - **shadcn-style workflow** — copy the component, read the prop table, ship it.
26
+ - **Tailwind CSS v4** — utility-first styling with CSS variables for theming and dark mode.
27
+ - **Theming** — CSS variables for colors and a built-in light/dark switch.
28
+ - **i18n ready** — language switcher and translation helpers included.
29
+ - **Composable** — low-level UI primitives and high-level composite components.
30
+ - **TypeScript** — all components ship with full type definitions.
31
+
32
+ ## Requirements
33
+
34
+ - [Svelte](https://svelte.dev) `>= 5`
35
+ - [SvelteKit](https://svelte.dev/docs/kit) `>= 2` (recommended)
36
+
37
+ Tailwind CSS is not a hard dependency, but the components are designed for it and the
38
+ built-in `styles.css` expects the shadcn design tokens.
39
+
40
+ ## Installation
41
+
42
+ ```bash
43
+ npm install negodesign
44
+ ```
45
+
46
+ Import the compiled styles once, in your global stylesheet:
47
+
48
+ ```css
49
+ @import "tailwindcss";
50
+ @import "negodesign/styles.css";
51
+ ```
52
+
53
+ Or from your root layout:
54
+
55
+ ```svelte
56
+ <script lang="ts">
57
+ import "negodesign/styles.css";
58
+ import "../app.css";
59
+ </script>
60
+ ```
61
+
62
+ ### Usage
63
+
64
+ ```svelte
65
+ <script lang="ts">
66
+ import { Menu } from "negodesign";
67
+ import { Home01Icon, Hotel01Icon } from "@hugeicons/core-free-icons";
68
+
69
+ const links = [
70
+ { label: "Home", url: "/", icon: Home01Icon },
71
+ { label: "Accommodation", url: "/accommodation", icon: Hotel01Icon },
72
+ ];
73
+ </script>
74
+
75
+ <Menu isBorder navMenu={{ links }} />
76
+ ```
77
+
78
+ ### Package exports
79
+
80
+ | Export | Description |
81
+ | ------------------------- | ------------------------------------------------------ |
82
+ | `negodesign` | All components, types and utilities |
83
+ | `negodesign/styles.css` | Compiled global styles (design tokens, base, theme) |
84
+ | `negodesign/types` | Shared TypeScript types |
85
+ | `negodesign/i18n` | Translation helpers and dictionaries |
86
+
87
+ ## Component categories
88
+
89
+ - **Navigation** — `Menu`, `SearchInput`, `Navbar`
90
+ - **Hero** — `SimpleHero`, `CarouselHero`
91
+ - **Banners** — `CtaCardImageBanner`, `CtaCardBanner`, `AdCardBanner`, `NotificationBanner`
92
+ - **Cards** — `CardMedia`, `CardProfile`, `CardProduct`, `CardPromotion`, `CardHighlight`
93
+ - **Carousels** — `CarouselBadge`, `CarouselHighlights`, `CarouselPromotion`, `CarouselGridMedia/Product/Profile/Promotion`
94
+ - **Item Grid** — `ItemsSimpleGrid`, `ItemsPanel`
95
+ - **Footer** — `Footer`
96
+ - **Admin Panel** — `AdminPanel`, `MenuBarSidebar`, `DataTableCore`
97
+ - **Login / Security** — `PageLogin`, `PageOtpVerification`, `PageForgetPassword`, `PageResetPassword`
98
+ - **Full Pages** — `CompanyProfile`, `ProductDetails`, `ProfileUser`, `PrivacyPolicyOrTermsOfUse`
99
+
100
+ ## Documentation
101
+
102
+ During development, a full documentation site is available at `/docs`:
103
+
104
+ - **Getting Started** — `/docs`
105
+ - **Installation** — `/docs/installation`
106
+ - **Components** — `/docs/components` and `/docs/<component>`
107
+
108
+ Each component page includes its description, a copy-paste example, a link to a live demo
109
+ and a complete API reference (props table).
110
+
111
+ ## Development
112
+
113
+ Clone the repository and install dependencies:
114
+
115
+ ```bash
116
+ git clone <repository-url>
117
+ cd negodesign
118
+ npm install
119
+ ```
120
+
121
+ Useful scripts:
122
+
123
+ | Command | Description |
124
+ | ----------------- | -------------------------------------------- |
125
+ | `npm run dev` | Start the SvelteKit dev server |
126
+ | `npm run check` | Run `svelte-check` for type/compile errors |
127
+ | `npm run lint` | Run ESLint |
128
+ | `npm test` | Run the Vitest unit/browser tests |
129
+ | `npm run build` | Build the demo app |
130
+ | `npm run package` | Build the distributable package into `dist/` |
131
+
132
+ ## License
133
+
134
134
  Licensed under the [MIT](https://opensource.org/license/mit) License.
@@ -1,21 +1,21 @@
1
- <script lang="ts">
2
- import { setUserTranslations } from "../i18n/config";
3
- import type { NegoDesignProps } from "../types";
4
- import { applyTheme, theme } from "../theme.svelte";
5
-
6
- let { translations, children }: NegoDesignProps = $props();
7
-
8
- $effect(() => {
9
- if (translations) {
10
- setUserTranslations(translations);
11
- }
12
- });
13
-
14
- $effect(() => {
15
- if (typeof document !== "undefined") {
16
- applyTheme(theme.current);
17
- }
18
- });
19
- </script>
20
-
21
- {@render children()}
1
+ <script lang="ts">
2
+ import { setUserTranslations } from "../i18n/config";
3
+ import type { NegoDesignProps } from "../types";
4
+ import { applyTheme, theme } from "../theme.svelte";
5
+
6
+ let { translations, children }: NegoDesignProps = $props();
7
+
8
+ $effect(() => {
9
+ if (translations) {
10
+ setUserTranslations(translations);
11
+ }
12
+ });
13
+
14
+ $effect(() => {
15
+ if (typeof document !== "undefined") {
16
+ applyTheme(theme.current);
17
+ }
18
+ });
19
+ </script>
20
+
21
+ {@render children()}
@@ -1,14 +1,14 @@
1
- <script lang="ts">
2
- import type { Snippet } from "svelte";
3
-
4
- /** Content wrapper for admin pages. */
5
- type Props = {
6
- children?: Snippet;
7
- };
8
-
9
- let { children }: Props = $props();
10
- </script>
11
-
12
- <div class="flex flex-1 flex-col gap-4 p-4 pt-0">
13
- {@render children?.()}
14
- </div>
1
+ <script lang="ts">
2
+ import type { Snippet } from "svelte";
3
+
4
+ /** Content wrapper for admin pages. */
5
+ type Props = {
6
+ children?: Snippet;
7
+ };
8
+
9
+ let { children }: Props = $props();
10
+ </script>
11
+
12
+ <div class="flex flex-1 flex-col gap-4 p-4 pt-0">
13
+ {@render children?.()}
14
+ </div>
@@ -1,46 +1,46 @@
1
- <script lang="ts">
2
- import LanguageSwitcher from "../../../../ui/language-switcher/language-switcher.svelte";
3
- import LightSwitch from "../../../../ui/light-switch/light-switch.svelte";
4
- import { Separator } from "../../../../ui/separator/index.js";
5
- import * as Sidebar from "../../../../ui/sidebar/index.js";
6
- import type { Snippet } from "svelte";
7
-
8
- /**
9
- * Admin layout with sidebar, header, and content.
10
- * @property {Snippet} appsidebar - Application sidebar
11
- * @property {Snippet} content - Main content
12
- * @property {Snippet} breadcrumb - Breadcrumb navigation
13
- */
14
- type Props = {
15
- appsidebar?: Snippet;
16
- content?: Snippet;
17
- breadcrumb?: Snippet;
18
- };
19
-
20
- let { appsidebar, content, breadcrumb }: Props = $props();
21
- </script>
22
-
23
- <Sidebar.Provider>
24
- {@render appsidebar?.()}
25
- <Sidebar.Inset>
26
- <header
27
- class="flex h-16 shrink-0 items-center md:justify-between gap-2 transition-[width,height] ease-linear group-has-data-[collapsible=icon]/sidebar-wrapper:h-12"
28
- >
29
- <div class="flex items-center gap-2 px-4">
30
- <Sidebar.Trigger class="-ms-1" />
31
- <Separator
32
- orientation="vertical"
33
- class="me-2 data-[orientation=vertical]:h-4"
34
- />
35
- {@render breadcrumb?.()}
36
- </div>
37
- <div class="pr-5">
38
- <div class="flex gap-3">
39
- <LanguageSwitcher />
40
- <LightSwitch />
41
- </div>
42
- </div>
43
- </header>
44
- {@render content?.()}
45
- </Sidebar.Inset>
46
- </Sidebar.Provider>
1
+ <script lang="ts">
2
+ import LanguageSwitcher from "../../../../ui/language-switcher/language-switcher.svelte";
3
+ import LightSwitch from "../../../../ui/light-switch/light-switch.svelte";
4
+ import { Separator } from "../../../../ui/separator/index.js";
5
+ import * as Sidebar from "../../../../ui/sidebar/index.js";
6
+ import type { Snippet } from "svelte";
7
+
8
+ /**
9
+ * Admin layout with sidebar, header, and content.
10
+ * @property {Snippet} appsidebar - Application sidebar
11
+ * @property {Snippet} content - Main content
12
+ * @property {Snippet} breadcrumb - Breadcrumb navigation
13
+ */
14
+ type Props = {
15
+ appsidebar?: Snippet;
16
+ content?: Snippet;
17
+ breadcrumb?: Snippet;
18
+ };
19
+
20
+ let { appsidebar, content, breadcrumb }: Props = $props();
21
+ </script>
22
+
23
+ <Sidebar.Provider>
24
+ {@render appsidebar?.()}
25
+ <Sidebar.Inset>
26
+ <header
27
+ class="flex h-16 shrink-0 items-center md:justify-between gap-2 transition-[width,height] ease-linear group-has-data-[collapsible=icon]/sidebar-wrapper:h-12"
28
+ >
29
+ <div class="flex items-center gap-2 px-4">
30
+ <Sidebar.Trigger class="-ms-1" />
31
+ <Separator
32
+ orientation="vertical"
33
+ class="me-2 data-[orientation=vertical]:h-4"
34
+ />
35
+ {@render breadcrumb?.()}
36
+ </div>
37
+ <div class="pr-5">
38
+ <div class="flex gap-3">
39
+ <LanguageSwitcher />
40
+ <LightSwitch />
41
+ </div>
42
+ </div>
43
+ </header>
44
+ {@render content?.()}
45
+ </Sidebar.Inset>
46
+ </Sidebar.Provider>
@@ -12,11 +12,11 @@
12
12
  </script>
13
13
 
14
14
  <script lang="ts">
15
- import CarouselGridProduct from "../../../core/carousel/grid/product/ui/CarouselGridProduct.svelte";
15
+ import CarouselGridProduct from "../../../ui/carousel/core/grid/product/ui/CarouselGridProduct.svelte";
16
16
  import type { ProfileProductsData } from "../types";
17
17
  import { HugeiconsIcon } from "@hugeicons/svelte";
18
18
  import { PackageIcon } from "@hugeicons/core-free-icons";
19
- import NotFoundEmpty from "../../../core/panel/NotFoundEmpty.svelte";
19
+ import NotFoundEmpty from "../../../ui/panel/NotFoundEmpty.svelte";
20
20
 
21
21
  let {
22
22
  data,
@@ -1,5 +1,5 @@
1
1
  import type { IconSvgElement } from "@hugeicons/svelte";
2
- import type { CardProductProps } from "../../core/card/types";
2
+ import type { CardProductProps } from "../../ui/card/core/types";
3
3
  /**
4
4
  * Item de estatística exibido na faixa de dados do banner
5
5
  * (ex: "Setor de atuação", "Anos de Atuação", "Localização").
@@ -1,103 +1,103 @@
1
- <script lang="ts" module>
2
- /**
3
- * Lista vertical de ficheiros/thumbnails do produto com seleção de imagem/vídeo.
4
- * Quando `isLoading` é true, exibe Skeletons.
5
- * Se houver um item do tipo "video", ele é priorizado (aparece primeiro).
6
- * @component
7
- * @example
8
- * ```svelte
9
- * <ProductDetailFilesVertical files={data.gallery} />
10
- * ```
11
- */
12
- </script>
13
-
14
- <script lang="ts">
15
- import Skeleton from "../../../ui/skeleton/skeleton.svelte";
16
- import type { ProductDetailsImage } from "../types";
17
-
18
- let {
19
- files,
20
- className,
21
- isLoading = false,
22
- }: {
23
- files: ProductDetailsImage[];
24
- className?: string;
25
- isLoading?: boolean;
26
- } = $props();
27
-
28
- // Vídeo primeiro, mantendo a ordem relativa do resto
29
- const sortedFiles = $derived(
30
- [...(files ?? [])].sort(
31
- (a, b) => (a.type === "video" ? 0 : 1) - (b.type === "video" ? 0 : 1),
32
- ),
33
- );
34
-
35
- let activeIndex = $state(0);
36
- const active = $derived(sortedFiles[activeIndex]);
37
- </script>
38
-
39
- {#snippet media(file: ProductDetailsImage, cls: string)}
40
- {#if file.type === "video"}
41
- <video src={file.src} class={cls} muted playsinline></video>
42
- {:else}
43
- <img src={file.src} alt={file.alt ?? ""} class={cls} />
44
- {/if}
45
- {/snippet}
46
-
47
- <div class="flex flex-col gap-3 {className}">
48
- {#if isLoading}
49
- <div class="flex gap-3">
50
- <div class="flex shrink-0 flex-col gap-2">
51
- {#each Array.from( { length: Math.min(files.length || 3, 4) }, ) as _, i (i)}
52
- <Skeleton class="h-16 w-16 rounded-md" />
53
- {/each}
54
- </div>
55
- <Skeleton class="aspect-4/3 min-w-0 flex-1 rounded-lg" />
56
- </div>
57
- {:else if sortedFiles.length > 0}
58
- <div class="flex gap-3">
59
- <div class="flex shrink-0 flex-col gap-2">
60
- {#each sortedFiles as file, i (file.src)}
61
- <button
62
- type="button"
63
- aria-label={file.alt ?? `Item ${i + 1}`}
64
- onclick={() => (activeIndex = i)}
65
- class="relative overflow-hidden rounded-md border transition-opacity {i ===
66
- activeIndex
67
- ? 'border-foreground opacity-100'
68
- : 'border-muted opacity-60 hover:opacity-100'}"
69
- >
70
- {@render media(file, "h-16 w-16 object-cover")}
71
- {#if file.type === "video"}
72
- <span
73
- class="absolute inset-0 flex items-center justify-center bg-black/30"
74
- >
75
- <svg
76
- viewBox="0 0 24 24"
77
- class="h-4 w-4 fill-white"
78
- aria-hidden="true"
79
- >
80
- <path d="M8 5v14l11-7z" />
81
- </svg>
82
- </span>
83
- {/if}
84
- </button>
85
- {/each}
86
- </div>
87
-
88
- <div class="min-w-0 flex-1 overflow-hidden rounded-lg border">
89
- {#if active.type === "video"}
90
- <!-- svelte-ignore a11y_media_has_caption -->
91
- <video
92
- src={active.src}
93
- class="aspect-4/3 w-full object-cover"
94
- controls
95
- playsinline
96
- ></video>
97
- {:else}
98
- {@render media(active, "aspect-4/3 w-full object-cover")}
99
- {/if}
100
- </div>
101
- </div>
102
- {/if}
103
- </div>
1
+ <script lang="ts" module>
2
+ /**
3
+ * Lista vertical de ficheiros/thumbnails do produto com seleção de imagem/vídeo.
4
+ * Quando `isLoading` é true, exibe Skeletons.
5
+ * Se houver um item do tipo "video", ele é priorizado (aparece primeiro).
6
+ * @component
7
+ * @example
8
+ * ```svelte
9
+ * <ProductDetailFilesVertical files={data.gallery} />
10
+ * ```
11
+ */
12
+ </script>
13
+
14
+ <script lang="ts">
15
+ import Skeleton from "../../../ui/skeleton/skeleton.svelte";
16
+ import type { ProductDetailsImage } from "../types";
17
+
18
+ let {
19
+ files,
20
+ className,
21
+ isLoading = false,
22
+ }: {
23
+ files: ProductDetailsImage[];
24
+ className?: string;
25
+ isLoading?: boolean;
26
+ } = $props();
27
+
28
+ // Vídeo primeiro, mantendo a ordem relativa do resto
29
+ const sortedFiles = $derived(
30
+ [...(files ?? [])].sort(
31
+ (a, b) => (a.type === "video" ? 0 : 1) - (b.type === "video" ? 0 : 1),
32
+ ),
33
+ );
34
+
35
+ let activeIndex = $state(0);
36
+ const active = $derived(sortedFiles[activeIndex]);
37
+ </script>
38
+
39
+ {#snippet media(file: ProductDetailsImage, cls: string)}
40
+ {#if file.type === "video"}
41
+ <video src={file.src} class={cls} muted playsinline></video>
42
+ {:else}
43
+ <img src={file.src} alt={file.alt ?? ""} class={cls} />
44
+ {/if}
45
+ {/snippet}
46
+
47
+ <div class="flex flex-col gap-3 {className}">
48
+ {#if isLoading}
49
+ <div class="flex gap-3">
50
+ <div class="flex shrink-0 flex-col gap-2">
51
+ {#each Array.from( { length: Math.min(files.length || 3, 4) }, ) as _, i (i)}
52
+ <Skeleton class="h-16 w-16 rounded-md" />
53
+ {/each}
54
+ </div>
55
+ <Skeleton class="aspect-4/3 min-w-0 flex-1 rounded-lg" />
56
+ </div>
57
+ {:else if sortedFiles.length > 0}
58
+ <div class="flex gap-3">
59
+ <div class="flex shrink-0 flex-col gap-2">
60
+ {#each sortedFiles as file, i (file.src)}
61
+ <button
62
+ type="button"
63
+ aria-label={file.alt ?? `Item ${i + 1}`}
64
+ onclick={() => (activeIndex = i)}
65
+ class="relative overflow-hidden rounded-md border transition-opacity {i ===
66
+ activeIndex
67
+ ? 'border-foreground opacity-100'
68
+ : 'border-muted opacity-60 hover:opacity-100'}"
69
+ >
70
+ {@render media(file, "h-16 w-16 object-cover")}
71
+ {#if file.type === "video"}
72
+ <span
73
+ class="absolute inset-0 flex items-center justify-center bg-black/30"
74
+ >
75
+ <svg
76
+ viewBox="0 0 24 24"
77
+ class="h-4 w-4 fill-white"
78
+ aria-hidden="true"
79
+ >
80
+ <path d="M8 5v14l11-7z" />
81
+ </svg>
82
+ </span>
83
+ {/if}
84
+ </button>
85
+ {/each}
86
+ </div>
87
+
88
+ <div class="min-w-0 flex-1 overflow-hidden rounded-lg border">
89
+ {#if active.type === "video"}
90
+ <!-- svelte-ignore a11y_media_has_caption -->
91
+ <video
92
+ src={active.src}
93
+ class="aspect-4/3 w-full object-cover"
94
+ controls
95
+ playsinline
96
+ ></video>
97
+ {:else}
98
+ {@render media(active, "aspect-4/3 w-full object-cover")}
99
+ {/if}
100
+ </div>
101
+ </div>
102
+ {/if}
103
+ </div>