negodesign 0.0.77 → 0.0.79

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 (278) 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/product-details/shared/ProductDetailFilesVertical.svelte +103 -103
  6. package/dist/components/pages/profile-user/shared/ProfileUserAddress.svelte +83 -83
  7. package/dist/components/pages/profile-user/shared/ProfileUserTabs.svelte +80 -80
  8. package/dist/components/pages/security/auth/PageAuth01.svelte +21 -24
  9. package/dist/components/pages/security/auth/PageAuth02.svelte +11 -16
  10. package/dist/components/pages/security/auth/PageAuth03.svelte +11 -16
  11. package/dist/components/pages/security/login/01/ui/FormLogin.svelte +7 -5
  12. package/dist/components/pages/security/login/01/ui/FormLogin.svelte.d.ts +2 -0
  13. package/dist/components/pages/security/login/01/ui/FormLoginEmailPassword.svelte +4 -2
  14. package/dist/components/pages/security/login/01/ui/FormLoginEmailPassword.svelte.d.ts +2 -0
  15. package/dist/components/pages/security/login/01/ui/FormLoginPhonePassword.svelte +4 -2
  16. package/dist/components/pages/security/login/01/ui/FormLoginPhonePassword.svelte.d.ts +2 -0
  17. package/dist/components/pages/security/login/01/ui/FormLoginUsernamePassword.svelte +4 -2
  18. package/dist/components/pages/security/login/01/ui/FormLoginUsernamePassword.svelte.d.ts +2 -0
  19. package/dist/components/pages/security/login/01/ui/{LoginCard.svelte → LoginCard01.svelte} +132 -109
  20. package/dist/components/pages/security/login/01/ui/{LoginCard.svelte.d.ts → LoginCard01.svelte.d.ts} +3 -3
  21. package/dist/components/pages/security/login/01/ui/PageLogin01.svelte +2 -2
  22. package/dist/components/pages/security/login/02/ui/FormLogin02.svelte +7 -5
  23. package/dist/components/pages/security/login/02/ui/FormLogin02.svelte.d.ts +2 -0
  24. package/dist/components/pages/security/login/02/ui/FormLoginEmailPassword02.svelte +4 -2
  25. package/dist/components/pages/security/login/02/ui/FormLoginEmailPassword02.svelte.d.ts +2 -0
  26. package/dist/components/pages/security/login/02/ui/FormLoginPhonePassword02.svelte +4 -2
  27. package/dist/components/pages/security/login/02/ui/FormLoginPhonePassword02.svelte.d.ts +2 -0
  28. package/dist/components/pages/security/login/02/ui/FormLoginUsernamePassword02.svelte +4 -2
  29. package/dist/components/pages/security/login/02/ui/FormLoginUsernamePassword02.svelte.d.ts +2 -0
  30. package/dist/components/pages/security/login/03/ui/FormLogin03.svelte +8 -4
  31. package/dist/components/pages/security/login/03/ui/FormLogin03.svelte.d.ts +2 -0
  32. package/dist/components/pages/security/login/03/ui/FormLoginEmailPassword03.svelte +4 -2
  33. package/dist/components/pages/security/login/03/ui/FormLoginEmailPassword03.svelte.d.ts +2 -0
  34. package/dist/components/pages/security/login/03/ui/FormLoginPhonePassword03.svelte +4 -2
  35. package/dist/components/pages/security/login/03/ui/FormLoginPhonePassword03.svelte.d.ts +2 -0
  36. package/dist/components/pages/security/login/03/ui/FormLoginUsernamePassword03.svelte +4 -2
  37. package/dist/components/pages/security/login/03/ui/FormLoginUsernamePassword03.svelte.d.ts +2 -0
  38. package/dist/components/pages/security/login/PageLogin.svelte +30 -30
  39. package/dist/components/pages/security/register/01/ui/PageRegister01.svelte +21 -9
  40. package/dist/components/pages/security/register/01/ui/PageRegister01.svelte.d.ts +1 -0
  41. package/dist/components/pages/security/register/01/ui/{RegisterCard.svelte → RegisterCard01.svelte} +26 -22
  42. package/dist/components/pages/security/register/01/ui/{RegisterCard.svelte.d.ts → RegisterCard01.svelte.d.ts} +3 -3
  43. package/dist/components/pages/security/register/FormRegister.svelte +40 -14
  44. package/dist/components/pages/security/register/FormRegister.svelte.d.ts +3 -0
  45. package/dist/components/ui/avatar/avatar-fallback.svelte +29 -29
  46. package/dist/components/ui/avatar/avatar-image.svelte +38 -38
  47. package/dist/components/ui/avatar/avatar.svelte +39 -39
  48. package/dist/components/ui/badge/badge.svelte +46 -46
  49. package/dist/components/ui/banner/AdCardBanner.svelte +74 -74
  50. package/dist/components/ui/banner/CtaCardBanner.svelte +118 -118
  51. package/dist/components/ui/banner/CtaCardImageBanner.svelte +94 -94
  52. package/dist/components/ui/breadcrumb/core/breadcrumb-list.svelte +31 -31
  53. package/dist/components/ui/button/ButtonBack.svelte +18 -18
  54. package/dist/components/ui/button/ButtonLogin.svelte +15 -15
  55. package/dist/components/ui/button/ButtonLoginWith.svelte +57 -57
  56. package/dist/components/ui/button/ButtonSend.svelte +15 -15
  57. package/dist/components/ui/button/button.svelte +85 -85
  58. package/dist/components/ui/card/core/highlight/01/CardHighlight01.svelte +103 -103
  59. package/dist/components/ui/card/core/highlight/02/CardHighlight02.svelte +99 -99
  60. package/dist/components/ui/card/core/highlight/CardHighlight.svelte +22 -22
  61. package/dist/components/ui/card/core/media/01/CardMedia01.svelte +133 -133
  62. package/dist/components/ui/card/core/media/02/CardMedia02.svelte +127 -127
  63. package/dist/components/ui/card/core/media/CardMedia.svelte +18 -18
  64. package/dist/components/ui/card/core/product/01/CardProduct01.svelte +136 -136
  65. package/dist/components/ui/card/core/product/02/CardProduct02.svelte +124 -124
  66. package/dist/components/ui/card/core/product/CardProduct.svelte +22 -22
  67. package/dist/components/ui/card/core/profile/01/CardProfile01.svelte +134 -134
  68. package/dist/components/ui/card/core/profile/02/CardProfile02.svelte +132 -132
  69. package/dist/components/ui/card/core/profile/CardProfile.svelte +18 -18
  70. package/dist/components/ui/card/core/promotion/CardPromotion.svelte +139 -139
  71. package/dist/components/ui/card/core/promotion/CardPromotionPrice.svelte +32 -32
  72. package/dist/components/ui/card/core/shared/CardButton.svelte +42 -42
  73. package/dist/components/ui/card/core/shared/CardCart.svelte +36 -36
  74. package/dist/components/ui/card/core/shared/CardDescription.svelte +41 -41
  75. package/dist/components/ui/card/core/shared/CardFavorite.svelte +33 -33
  76. package/dist/components/ui/card/core/shared/CardLogo.svelte +19 -19
  77. package/dist/components/ui/card/core/shared/CardPhoneOrWhatsapp.svelte +45 -45
  78. package/dist/components/ui/card/core/shared/CardStarRating.svelte +24 -24
  79. package/dist/components/ui/card/core/shared/CardTags.svelte +95 -95
  80. package/dist/components/ui/card/core/shared/CardThumbnailVideo.svelte +232 -232
  81. package/dist/components/ui/card/core/shared/CardTitlePrice.svelte +24 -24
  82. package/dist/components/ui/card/core/shared/TruncatableText.svelte +49 -49
  83. package/dist/components/ui/carousel/carousel-content.svelte +56 -56
  84. package/dist/components/ui/carousel/carousel-item.svelte +29 -29
  85. package/dist/components/ui/carousel/carousel-next.svelte +40 -40
  86. package/dist/components/ui/carousel/carousel-previous.svelte +40 -40
  87. package/dist/components/ui/carousel/carousel.svelte +225 -225
  88. package/dist/components/ui/carousel/core/badge/ui/CarouselBadge.svelte +108 -108
  89. package/dist/components/ui/carousel/core/grid/shared/ui/CarouselGridSlot.svelte +38 -38
  90. package/dist/components/ui/carousel/core/hero/ui/CarouselHero.svelte +181 -181
  91. package/dist/components/ui/carousel/core/highlights/ui/CarouselHighlights.svelte +67 -67
  92. package/dist/components/ui/carousel/core/product/ui/CarouselProduct.svelte +57 -57
  93. package/dist/components/ui/carousel/core/promotion/ui/CarouselPromotion.svelte +67 -67
  94. package/dist/components/ui/carousel/core/shared/ui/CarouselHeader.svelte +59 -59
  95. package/dist/components/ui/checkbox/checkbox.svelte +96 -96
  96. package/dist/components/ui/collapsible/collapsible-content.svelte +30 -30
  97. package/dist/components/ui/collapsible/collapsible-trigger.svelte +51 -51
  98. package/dist/components/ui/collapsible/collapsible.svelte +66 -66
  99. package/dist/components/ui/data-table/flex-render.svelte +40 -40
  100. package/dist/components/ui/datatable/ui/DataTableActions.svelte +28 -28
  101. package/dist/components/ui/datatable/ui/DataTableCheckbox.svelte +22 -22
  102. package/dist/components/ui/datatable/ui/DataTableContent.svelte +59 -59
  103. package/dist/components/ui/datatable/ui/DataTableCore.svelte +148 -148
  104. package/dist/components/ui/datatable/ui/DataTableDragHandle.svelte +8 -8
  105. package/dist/components/ui/datatable/ui/DataTableListFilter.svelte +60 -60
  106. package/dist/components/ui/datatable/ui/DataTableListPagination.svelte +35 -35
  107. package/dist/components/ui/drawer/drawer-close.svelte +41 -41
  108. package/dist/components/ui/drawer/drawer-content.svelte +81 -81
  109. package/dist/components/ui/drawer/drawer-description.svelte +19 -19
  110. package/dist/components/ui/drawer/drawer-footer.svelte +20 -20
  111. package/dist/components/ui/drawer/drawer-header.svelte +20 -20
  112. package/dist/components/ui/drawer/drawer-nested.svelte +34 -34
  113. package/dist/components/ui/drawer/drawer-overlay.svelte +25 -25
  114. package/dist/components/ui/drawer/drawer-portal.svelte +19 -19
  115. package/dist/components/ui/drawer/drawer-title.svelte +19 -19
  116. package/dist/components/ui/drawer/drawer-trigger.svelte +42 -42
  117. package/dist/components/ui/drawer/drawer.svelte +74 -74
  118. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-group.svelte +25 -25
  119. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +69 -69
  120. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte +106 -106
  121. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte +27 -27
  122. package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte +21 -21
  123. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte +60 -60
  124. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte +27 -27
  125. package/dist/components/ui/dropdown-menu/dropdown-menu-portal.svelte +6 -6
  126. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte +43 -43
  127. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +70 -70
  128. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte +20 -20
  129. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +33 -33
  130. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +57 -57
  131. package/dist/components/ui/dropdown-menu/dropdown-menu-sub.svelte +76 -76
  132. package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte +68 -68
  133. package/dist/components/ui/dropdown-menu/dropdown-menu.svelte +53 -53
  134. package/dist/components/ui/empty/empty-content.svelte +19 -19
  135. package/dist/components/ui/empty/empty-description.svelte +19 -19
  136. package/dist/components/ui/empty/empty-header.svelte +19 -19
  137. package/dist/components/ui/empty/empty-media.svelte +41 -41
  138. package/dist/components/ui/empty/empty-title.svelte +19 -19
  139. package/dist/components/ui/empty/empty.svelte +19 -19
  140. package/dist/components/ui/footer/ui/Footer.svelte +18 -18
  141. package/dist/components/ui/form/data/InputIconDefault.svelte.js +2 -1
  142. package/dist/components/ui/form/data/InputLabel.svelte.d.ts +3 -0
  143. package/dist/components/ui/form/ui/calendar/Calendar.svelte +194 -0
  144. package/dist/components/ui/form/ui/calendar/Calendar.svelte.d.ts +15 -0
  145. package/dist/components/ui/form/ui/calendar/CalendarCard.svelte +90 -0
  146. package/dist/components/ui/form/ui/calendar/CalendarCard.svelte.d.ts +20 -0
  147. package/dist/components/ui/form/ui/calendar/DaysGrid.svelte +76 -0
  148. package/dist/components/ui/form/ui/calendar/DaysGrid.svelte.d.ts +17 -0
  149. package/dist/components/ui/form/ui/calendar/MonthSelect.svelte +50 -0
  150. package/dist/components/ui/form/ui/calendar/MonthSelect.svelte.d.ts +10 -0
  151. package/dist/components/ui/form/ui/calendar/YearSelect.svelte +117 -0
  152. package/dist/components/ui/form/ui/calendar/YearSelect.svelte.d.ts +15 -0
  153. package/dist/components/ui/form/ui/calendar/index.d.ts +5 -0
  154. package/dist/components/ui/form/ui/calendar/index.js +5 -0
  155. package/dist/components/ui/form/ui/calendar/utils.d.ts +26 -0
  156. package/dist/components/ui/form/ui/calendar/utils.js +89 -0
  157. package/dist/components/ui/form/ui/input-base.svelte +83 -81
  158. package/dist/components/ui/form/ui/input-calendar-interval.svelte +179 -0
  159. package/dist/components/ui/form/ui/input-calendar-interval.svelte.d.ts +14 -0
  160. package/dist/components/ui/form/ui/input-calendar.svelte +110 -0
  161. package/dist/components/ui/form/ui/input-calendar.svelte.d.ts +9 -0
  162. package/dist/components/ui/form/ui/input-email-or-phone.svelte +23 -23
  163. package/dist/components/ui/form/ui/input-email.svelte +23 -23
  164. package/dist/components/ui/form/ui/input-password-confirm.svelte +23 -23
  165. package/dist/components/ui/form/ui/input-password.svelte +23 -23
  166. package/dist/components/ui/form/ui/input-phone.svelte +37 -33
  167. package/dist/components/ui/form/ui/input-select.svelte +210 -158
  168. package/dist/components/ui/form/ui/input-select.svelte.d.ts +5 -9
  169. package/dist/components/ui/form/ui/input-username.svelte +22 -22
  170. package/dist/components/ui/grid/core/ui/01/Grid01.svelte +30 -30
  171. package/dist/components/ui/grid/core/ui/02/Grid02.svelte +30 -30
  172. package/dist/components/ui/grid/core/ui/ItemsPanel.svelte +26 -26
  173. package/dist/components/ui/grid/core/ui/ItemsPanelCarousel.svelte +37 -37
  174. package/dist/components/ui/grid/core/ui/ItemsPanelGrid.svelte +43 -43
  175. package/dist/components/ui/grid/core/ui/ItemsSimpleGrid.svelte +45 -45
  176. package/dist/components/ui/grid/core/ui/shared/DescriptionGrid.svelte +23 -23
  177. package/dist/components/ui/grid/core/ui/shared/IconRenderGrid.svelte +23 -23
  178. package/dist/components/ui/grid/core/ui/shared/TitleGrid.svelte +19 -19
  179. package/dist/components/ui/hero/SimpleHero.svelte +65 -65
  180. package/dist/components/ui/input-otp/input-otp-group.svelte +22 -22
  181. package/dist/components/ui/input-otp/input-otp-separator.svelte +27 -27
  182. package/dist/components/ui/input-otp/input-otp-slot.svelte +63 -63
  183. package/dist/components/ui/input-otp/input-otp.svelte +181 -181
  184. package/dist/components/ui/label/core/LabelOr.svelte +25 -25
  185. package/dist/components/ui/label/label.svelte +19 -19
  186. package/dist/components/ui/language-switcher/language-switcher.svelte +48 -48
  187. package/dist/components/ui/light-switch/light-switch.svelte +48 -48
  188. package/dist/components/ui/link/link-forget-password.svelte +12 -12
  189. package/dist/components/ui/link/link-privacy-polity.svelte +12 -12
  190. package/dist/components/ui/link/link-terms-of-service.svelte +12 -12
  191. package/dist/components/ui/modal/core/index.d.ts +1 -1
  192. package/dist/components/ui/modal/core/types.d.ts +2 -1
  193. package/dist/components/ui/modal/core/ui/ModalCore.svelte +132 -132
  194. package/dist/components/ui/modal/grid/types.d.ts +6 -5
  195. package/dist/components/ui/modal/grid/ui/02/ModalGridSelection02.svelte +146 -146
  196. package/dist/components/ui/modal/share/ui/ModalShareSelection.svelte +156 -156
  197. package/dist/components/ui/nav/ui/ComplexMenu.svelte +51 -51
  198. package/dist/components/ui/nav/ui/Menu.svelte +72 -72
  199. package/dist/components/ui/nav/ui/SimpleMenu.svelte +14 -14
  200. package/dist/components/ui/nav/ui/mobile/ComplexMenuMobile.svelte +125 -125
  201. package/dist/components/ui/nav/ui/mobile/MenuMobile.svelte +54 -54
  202. package/dist/components/ui/nav/ui/shared/MenuButton.svelte +51 -51
  203. package/dist/components/ui/nav/ui/shared/MenuLinks.svelte +40 -40
  204. package/dist/components/ui/nav/ui/shared/MenuListItem.svelte +44 -44
  205. package/dist/components/ui/nav/ui/shared/MenuLogo.svelte +13 -13
  206. package/dist/components/ui/nav/ui/shared/dropdown/DropdownNavigationMenuItemGrid.svelte +30 -30
  207. package/dist/components/ui/nav/ui/shared/navigation/NavDropdown.svelte +87 -87
  208. package/dist/components/ui/nav/ui/shared/navigation/NavigationMenuItem.svelte +17 -17
  209. package/dist/components/ui/nav/ui/shared/navigation/NavigationMenuItemCard.svelte +53 -53
  210. package/dist/components/ui/nav/ui/shared/navigation/NavigationMenuItemGrid.svelte +36 -36
  211. package/dist/components/ui/nav/ui/shared/navigation/NavigationMenuItemList.svelte +24 -24
  212. package/dist/components/ui/nav/ui/shared/navigation/NavigationMenuItems.svelte +21 -21
  213. package/dist/components/ui/panel/CarouselSlot.svelte +57 -57
  214. package/dist/components/ui/panel/LeftHero.svelte +114 -114
  215. package/dist/components/ui/panel/NotFoundEmpty.svelte +66 -66
  216. package/dist/components/ui/phone-input/country-selector.svelte +87 -87
  217. package/dist/components/ui/phone-input/country-selector.svelte.d.ts +2 -2
  218. package/dist/components/ui/phone-input/flag.svelte +11 -11
  219. package/dist/components/ui/phone-input/phone-input.svelte +163 -148
  220. package/dist/components/ui/phone-input/phone-input.svelte.d.ts +2 -2
  221. package/dist/components/ui/popover/popover-close.svelte +25 -25
  222. package/dist/components/ui/popover/popover-content.svelte +92 -92
  223. package/dist/components/ui/popover/popover-portal.svelte +6 -6
  224. package/dist/components/ui/popover/popover-trigger.svelte +68 -68
  225. package/dist/components/ui/popover/popover.svelte +53 -53
  226. package/dist/components/ui/search/SearchInput.svelte +32 -32
  227. package/dist/components/ui/search/shared/SearchInputCore.svelte +66 -66
  228. package/dist/components/ui/separator/separator.svelte +28 -28
  229. package/dist/components/ui/sidebar/core/MenuBarSidebar.svelte +70 -70
  230. package/dist/components/ui/sidebar/core/ui/navbar/NavMenuBarSidebar.svelte +97 -97
  231. package/dist/components/ui/sidebar/core/ui/navbar/NavMenuBottomSidebar.svelte +33 -33
  232. package/dist/components/ui/sidebar/core/ui/navbar/NavMenuTopBarSidebar.svelte +101 -101
  233. package/dist/components/ui/sidebar/core/ui/navbar/nav-menu-header-sidebar.svelte +77 -77
  234. package/dist/components/ui/sidebar/sidebar-content.svelte +24 -24
  235. package/dist/components/ui/sidebar/sidebar-footer.svelte +21 -21
  236. package/dist/components/ui/sidebar/sidebar-group-content.svelte +21 -21
  237. package/dist/components/ui/sidebar/sidebar-menu-action.svelte +38 -38
  238. package/dist/components/ui/sidebar/sidebar-menu-button.svelte +70 -70
  239. package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte +39 -39
  240. package/dist/components/ui/sidebar/sidebar-provider.svelte +62 -62
  241. package/dist/components/ui/sidebar/sidebar-rail.svelte +36 -36
  242. package/dist/components/ui/sidebar/sidebar-separator.svelte +21 -21
  243. package/dist/components/ui/sidebar/sidebar-trigger.svelte +36 -36
  244. package/dist/components/ui/sidebar/sidebar.svelte +118 -118
  245. package/dist/components/ui/skeleton/skeleton.svelte +19 -19
  246. package/dist/components/ui/star-rating/star-rating-star.svelte +66 -66
  247. package/dist/components/ui/star-rating/star-rating.svelte +149 -149
  248. package/dist/components/ui/table/table-body.svelte +15 -15
  249. package/dist/components/ui/table/table-caption.svelte +20 -20
  250. package/dist/components/ui/table/table-cell.svelte +15 -15
  251. package/dist/components/ui/table/table-footer.svelte +20 -20
  252. package/dist/components/ui/table/table-head.svelte +15 -15
  253. package/dist/components/ui/table/table-header.svelte +20 -20
  254. package/dist/components/ui/table/table-row.svelte +15 -15
  255. package/dist/components/ui/table/table.svelte +17 -17
  256. package/dist/components/ui/tabs/ui/tab-underline.svelte +43 -43
  257. package/dist/components/ui/underline-tabs/underline-tabs-content.svelte +33 -33
  258. package/dist/components/ui/underline-tabs/underline-tabs-list.svelte +40 -40
  259. package/dist/components/ui/underline-tabs/underline-tabs-trigger.svelte +91 -91
  260. package/dist/components/ui/underline-tabs/underline-tabs.svelte +61 -61
  261. package/dist/docs/ApiTable.svelte +42 -42
  262. package/dist/docs/CodeBlock.svelte +26 -26
  263. package/dist/docs/DocsHeader.svelte +25 -25
  264. package/dist/docs/DocsSidebar.svelte +108 -156
  265. package/dist/docs/components.js +638 -563
  266. package/dist/globals.css +68 -10
  267. package/dist/i18n/langs/en.d.ts +7 -0
  268. package/dist/i18n/langs/en.js +7 -0
  269. package/dist/i18n/langs/pt.d.ts +7 -0
  270. package/dist/i18n/langs/pt.js +7 -0
  271. package/dist/i18n/translations.d.ts +14 -0
  272. package/dist/index.d.ts +23 -0
  273. package/dist/index.js +23 -0
  274. package/dist/styles/globals.css +283 -283
  275. package/dist/types/index.d.ts +3 -1
  276. package/package.json +81 -81
  277. package/dist/components/pages/security/login/01/ui/FormRegister.svelte +0 -28
  278. package/dist/components/pages/security/login/01/ui/FormRegister.svelte.d.ts +0 -3
@@ -1,83 +1,83 @@
1
- <script lang="ts" module>
2
- /**
3
- * Lista de moradas do utilizador com opção de adicionar e badge para default.
4
- * Extraído da variante 1. Todos os textos são parametrizáveis com defaults via i18n.
5
- * @component
6
- */
7
- </script>
8
-
9
- <script lang="ts">
10
- import { MapPin, PlusSignIcon } from "@hugeicons/core-free-icons";
11
- import { HugeiconsIcon } from "@hugeicons/svelte";
12
- import Badge from "../../../ui/badge/badge.svelte";
13
- import Button from "../../../ui/button/button.svelte";
14
- import Skeleton from "../../../ui/skeleton/skeleton.svelte";
15
- import { cn } from "../../../../utils.js";
16
- import { t } from "../../../../i18n";
17
- import type { ProfileUserAddress, ProfileUserAddressProps } from "../types";
18
-
19
- let {
20
- addresses,
21
- isLoading = false,
22
- onAddAddress,
23
- className,
24
- title = $t("profile-user.variant1.addresses.title"),
25
- addLabel = $t("profile-user.variant1.addresses.add"),
26
- defaultBadge = $t("profile-user.variant1.addresses.defaultBadge"),
27
- emptyText = $t("profile-user.variant1.addresses.empty"),
28
- }: ProfileUserAddressProps & {
29
- addresses?: ProfileUserAddress[];
30
- isLoading?: boolean;
31
- } = $props();
32
- </script>
33
-
34
- <section
35
- class={cn("rounded-lg border bg-card p-6", className)}
36
- data-slot="profile-user-address"
37
- >
38
- <div class="mb-6 flex items-center justify-between">
39
- <h3 class="text-lg font-semibold">{title}</h3>
40
- <Button variant="ghost" size="sm" onclick={onAddAddress}>
41
- <HugeiconsIcon icon={PlusSignIcon} class="size-4" />
42
- {addLabel}
43
- </Button>
44
- </div>
45
-
46
- {#if isLoading}
47
- <div class="grid gap-4 md:grid-cols-2">
48
- {#each Array.from({ length: 2 }) as _, i (i)}
49
- <Skeleton class="h-32 w-full rounded-md" />
50
- {/each}
51
- </div>
52
- {:else if addresses && addresses.length > 0}
53
- <div class="grid gap-4 md:grid-cols-2">
54
- {#each addresses as address (address.id)}
55
- <div
56
- class={cn(
57
- "rounded-md border p-4 transition-colors",
58
- address.isDefault ? "border-primary bg-primary/5" : ""
59
- )}
60
- >
61
- <div class="mb-2 flex items-center justify-between">
62
- <span class="font-medium">{address.label}</span>
63
- {#if address.isDefault}
64
- <Badge>{defaultBadge}</Badge>
65
- {/if}
66
- </div>
67
- <div class="flex flex-col gap-1 text-sm text-muted-foreground">
68
- <p class="flex items-start gap-1.5">
69
- <HugeiconsIcon icon={MapPin} class="mt-0.5 size-4 shrink-0" />
70
- {address.street}
71
- {#if address.apartment}, {address.apartment}{/if}
72
- </p>
73
- {#if address.state || address.zip}
74
- <p class="pl-5.5">{address.state ?? ""} {address.zip ?? ""}</p>
75
- {/if}
76
- </div>
77
- </div>
78
- {/each}
79
- </div>
80
- {:else}
81
- <p class="text-sm text-muted-foreground">{emptyText}</p>
82
- {/if}
83
- </section>
1
+ <script lang="ts" module>
2
+ /**
3
+ * Lista de moradas do utilizador com opção de adicionar e badge para default.
4
+ * Extraído da variante 1. Todos os textos são parametrizáveis com defaults via i18n.
5
+ * @component
6
+ */
7
+ </script>
8
+
9
+ <script lang="ts">
10
+ import { MapPin, PlusSignIcon } from "@hugeicons/core-free-icons";
11
+ import { HugeiconsIcon } from "@hugeicons/svelte";
12
+ import Badge from "../../../ui/badge/badge.svelte";
13
+ import Button from "../../../ui/button/button.svelte";
14
+ import Skeleton from "../../../ui/skeleton/skeleton.svelte";
15
+ import { cn } from "../../../../utils.js";
16
+ import { t } from "../../../../i18n";
17
+ import type { ProfileUserAddress, ProfileUserAddressProps } from "../types";
18
+
19
+ let {
20
+ addresses,
21
+ isLoading = false,
22
+ onAddAddress,
23
+ className,
24
+ title = $t("profile-user.variant1.addresses.title"),
25
+ addLabel = $t("profile-user.variant1.addresses.add"),
26
+ defaultBadge = $t("profile-user.variant1.addresses.defaultBadge"),
27
+ emptyText = $t("profile-user.variant1.addresses.empty"),
28
+ }: ProfileUserAddressProps & {
29
+ addresses?: ProfileUserAddress[];
30
+ isLoading?: boolean;
31
+ } = $props();
32
+ </script>
33
+
34
+ <section
35
+ class={cn("rounded-lg border bg-card p-6", className)}
36
+ data-slot="profile-user-address"
37
+ >
38
+ <div class="mb-6 flex items-center justify-between">
39
+ <h3 class="text-lg font-semibold">{title}</h3>
40
+ <Button variant="ghost" size="sm" onclick={onAddAddress}>
41
+ <HugeiconsIcon icon={PlusSignIcon} class="size-4" />
42
+ {addLabel}
43
+ </Button>
44
+ </div>
45
+
46
+ {#if isLoading}
47
+ <div class="grid gap-4 md:grid-cols-2">
48
+ {#each Array.from({ length: 2 }) as _, i (i)}
49
+ <Skeleton class="h-32 w-full rounded-md" />
50
+ {/each}
51
+ </div>
52
+ {:else if addresses && addresses.length > 0}
53
+ <div class="grid gap-4 md:grid-cols-2">
54
+ {#each addresses as address (address.id)}
55
+ <div
56
+ class={cn(
57
+ "rounded-md border p-4 transition-colors",
58
+ address.isDefault ? "border-primary bg-primary/5" : ""
59
+ )}
60
+ >
61
+ <div class="mb-2 flex items-center justify-between">
62
+ <span class="font-medium">{address.label}</span>
63
+ {#if address.isDefault}
64
+ <Badge>{defaultBadge}</Badge>
65
+ {/if}
66
+ </div>
67
+ <div class="flex flex-col gap-1 text-sm text-muted-foreground">
68
+ <p class="flex items-start gap-1.5">
69
+ <HugeiconsIcon icon={MapPin} class="mt-0.5 size-4 shrink-0" />
70
+ {address.street}
71
+ {#if address.apartment}, {address.apartment}{/if}
72
+ </p>
73
+ {#if address.state || address.zip}
74
+ <p class="pl-5.5">{address.state ?? ""} {address.zip ?? ""}</p>
75
+ {/if}
76
+ </div>
77
+ </div>
78
+ {/each}
79
+ </div>
80
+ {:else}
81
+ <p class="text-sm text-muted-foreground">{emptyText}</p>
82
+ {/if}
83
+ </section>
@@ -1,80 +1,80 @@
1
- <script lang="ts" module>
2
- /**
3
- * Barra de tabs reutilizável para as variantes de perfil.
4
- * Suporta loading state, tabs customizadas, active tab controlável
5
- * e estilos variantes (underline vs pill).
6
- * @component
7
- */
8
- export type ProfileUserTabItem = { id: string; label: string };
9
- export type ProfileUserTabsStyle = "underline" | "pill";
10
- </script>
11
-
12
- <script lang="ts">
13
- import Skeleton from "../../../ui/skeleton/skeleton.svelte";
14
- import { cn } from "../../../../utils.js";
15
-
16
- let {
17
- tabs,
18
- activeTab = $bindable(),
19
- style = "underline",
20
- isLoading = false,
21
- className,
22
- onchange,
23
- }: {
24
- tabs: ProfileUserTabItem[];
25
- activeTab?: string;
26
- style?: ProfileUserTabsStyle;
27
- isLoading?: boolean;
28
- className?: string;
29
- onchange?: (id: string) => void;
30
- } = $props();
31
-
32
- const currentTab = $derived(activeTab ?? tabs[0]?.id ?? "");
33
-
34
- const handleSelect = (id: string) => {
35
- activeTab = id;
36
- onchange?.(id);
37
- };
38
- </script>
39
-
40
- <div
41
- class={cn(
42
- "mb-6 flex gap-1 border-b overflow-x-auto",
43
- style === "pill"
44
- ? "-mt-12 mb-6 rounded-t-lg border border-t bg-background px-2 py-1 shadow-sm border-b"
45
- : "",
46
- className
47
- )}
48
- data-slot="profile-user-tabs"
49
- >
50
- {#if isLoading}
51
- {#each tabs as tab (tab.id)}
52
- <Skeleton class="h-9 w-32 shrink-0 rounded-t-md" />
53
- {/each}
54
- {:else}
55
- {#each tabs as tab (tab.id)}
56
- <button
57
- type="button"
58
- onclick={() => handleSelect(tab.id)}
59
- class={cn(
60
- "shrink-0 px-4 py-2 text-sm font-medium transition-colors whitespace-nowrap",
61
- style === "underline"
62
- ? cn(
63
- "border-b-2",
64
- currentTab === tab.id
65
- ? "border-foreground text-foreground"
66
- : "border-transparent text-muted-foreground hover:text-foreground"
67
- )
68
- : cn(
69
- "rounded-md",
70
- currentTab === tab.id
71
- ? "bg-primary/10 text-primary"
72
- : "text-muted-foreground hover:bg-muted hover:text-foreground"
73
- )
74
- )}
75
- >
76
- {tab.label}
77
- </button>
78
- {/each}
79
- {/if}
80
- </div>
1
+ <script lang="ts" module>
2
+ /**
3
+ * Barra de tabs reutilizável para as variantes de perfil.
4
+ * Suporta loading state, tabs customizadas, active tab controlável
5
+ * e estilos variantes (underline vs pill).
6
+ * @component
7
+ */
8
+ export type ProfileUserTabItem = { id: string; label: string };
9
+ export type ProfileUserTabsStyle = "underline" | "pill";
10
+ </script>
11
+
12
+ <script lang="ts">
13
+ import Skeleton from "../../../ui/skeleton/skeleton.svelte";
14
+ import { cn } from "../../../../utils.js";
15
+
16
+ let {
17
+ tabs,
18
+ activeTab = $bindable(),
19
+ style = "underline",
20
+ isLoading = false,
21
+ className,
22
+ onchange,
23
+ }: {
24
+ tabs: ProfileUserTabItem[];
25
+ activeTab?: string;
26
+ style?: ProfileUserTabsStyle;
27
+ isLoading?: boolean;
28
+ className?: string;
29
+ onchange?: (id: string) => void;
30
+ } = $props();
31
+
32
+ const currentTab = $derived(activeTab ?? tabs[0]?.id ?? "");
33
+
34
+ const handleSelect = (id: string) => {
35
+ activeTab = id;
36
+ onchange?.(id);
37
+ };
38
+ </script>
39
+
40
+ <div
41
+ class={cn(
42
+ "mb-6 flex gap-1 border-b overflow-x-auto",
43
+ style === "pill"
44
+ ? "-mt-12 mb-6 rounded-t-lg border border-t bg-background px-2 py-1 shadow-sm border-b"
45
+ : "",
46
+ className
47
+ )}
48
+ data-slot="profile-user-tabs"
49
+ >
50
+ {#if isLoading}
51
+ {#each tabs as tab (tab.id)}
52
+ <Skeleton class="h-9 w-32 shrink-0 rounded-t-md" />
53
+ {/each}
54
+ {:else}
55
+ {#each tabs as tab (tab.id)}
56
+ <button
57
+ type="button"
58
+ onclick={() => handleSelect(tab.id)}
59
+ class={cn(
60
+ "shrink-0 px-4 py-2 text-sm font-medium transition-colors whitespace-nowrap",
61
+ style === "underline"
62
+ ? cn(
63
+ "border-b-2",
64
+ currentTab === tab.id
65
+ ? "border-foreground text-foreground"
66
+ : "border-transparent text-muted-foreground hover:text-foreground"
67
+ )
68
+ : cn(
69
+ "rounded-md",
70
+ currentTab === tab.id
71
+ ? "bg-primary/10 text-primary"
72
+ : "text-muted-foreground hover:bg-muted hover:text-foreground"
73
+ )
74
+ )}
75
+ >
76
+ {tab.label}
77
+ </button>
78
+ {/each}
79
+ {/if}
80
+ </div>
@@ -11,40 +11,37 @@
11
11
  import LeftHero from "../../../ui/panel/LeftHero.svelte";
12
12
 
13
13
  type CarouselItem = {
14
- title: string
15
- description: string
16
- buttonText: string
17
- buttonUrl?: string
18
- backgroundUrl?: string
14
+ title: string;
15
+ description: string;
16
+ buttonText: string;
17
+ buttonUrl?: string;
18
+ backgroundUrl?: string;
19
19
  };
20
20
 
21
21
  type Props = {
22
- title?: string
23
- type?: "NUMBER" | "DOT" | "POINTER"
24
- carousel?: CarouselItem[]
25
- children?: Snippet
22
+ title?: string;
23
+ type?: "NUMBER" | "DOT" | "POINTER";
24
+ carousel?: CarouselItem[];
25
+ children?: Snippet;
26
26
  };
27
27
 
28
- let {
29
- title,
30
- type,
31
- carousel = [],
32
- children,
33
- }: Props = $props();
28
+ let { title, type, carousel = [], children }: Props = $props();
34
29
  </script>
35
30
 
36
31
  <main class="h-screen w-screen flex items-center">
37
- <svg width="0" height="0" class="absolute">
38
- <defs>
39
- <clipPath id="grid-curve-clip" clipPathUnits="objectBoundingBox">
40
- <path d="M0.35,0 L1,0 C0.85,0.3 1,0.6 0.4,1 L1,1 Z" />
41
- </clipPath>
42
- </defs>
43
- </svg>
44
- <div class="hidden md:block md:w-8/12">
32
+ <div class="hidden md:block md:w-7/12 relative">
45
33
  <LeftHero {title} type={type ?? "POINTER"} items={carousel} />
34
+ <svg width="0" height="0" class="absolute">
35
+ <defs>
36
+ <clipPath id="grid-curve-clip" clipPathUnits="objectBoundingBox">
37
+ <path d="M0.35,0 L1,0 C0.85,0.3 1,0.6 0.4,1 L1,1 Z" />
38
+ </clipPath>
39
+ </defs>
40
+ </svg>
46
41
  </div>
47
- <div class="w-full md:px-0 md:w-4/12 border-gray-900">
42
+ <div
43
+ class="w-full md:w-5/12 border-gray-900 overflow-y-auto px-10 bg-gradient"
44
+ >
48
45
  {#if children}
49
46
  {@render children()}
50
47
  {/if}
@@ -11,33 +11,28 @@
11
11
  import LeftHero from "../login/02/ui/LeftHero02.svelte";
12
12
 
13
13
  type CarouselItem = {
14
- title: string
15
- description: string
16
- buttonText: string
17
- buttonUrl?: string
18
- backgroundUrl?: string
14
+ title: string;
15
+ description: string;
16
+ buttonText: string;
17
+ buttonUrl?: string;
18
+ backgroundUrl?: string;
19
19
  };
20
20
 
21
21
  type Props = {
22
- title?: string
23
- type?: "NUMBER" | "DOT" | "POINTER"
24
- carousel?: CarouselItem[]
25
- children?: Snippet
22
+ title?: string;
23
+ type?: "NUMBER" | "DOT" | "POINTER";
24
+ carousel?: CarouselItem[];
25
+ children?: Snippet;
26
26
  };
27
27
 
28
- let {
29
- title,
30
- type,
31
- carousel = [],
32
- children,
33
- }: Props = $props();
28
+ let { title, type, carousel = [], children }: Props = $props();
34
29
  </script>
35
30
 
36
31
  <main class="h-screen w-screen flex items-center justify-center">
37
32
  <div class="hidden md:flex w-7/12 h-screen">
38
33
  <LeftHero {title} type={type ?? "POINTER"} items={carousel} />
39
34
  </div>
40
- <div class="w-full md:w-5/12 flex flex-col h-screen">
35
+ <div class="w-full md:w-5/12 flex flex-col h-screen overflow-y-auto">
41
36
  {#if children}
42
37
  {@render children()}
43
38
  {/if}
@@ -11,33 +11,28 @@
11
11
  import LeftHero from "../login/03/ui/LeftHero03.svelte";
12
12
 
13
13
  type CarouselItem = {
14
- title: string
15
- description: string
16
- buttonText: string
17
- buttonUrl?: string
18
- backgroundUrl?: string
14
+ title: string;
15
+ description: string;
16
+ buttonText: string;
17
+ buttonUrl?: string;
18
+ backgroundUrl?: string;
19
19
  };
20
20
 
21
21
  type Props = {
22
- title?: string
23
- type?: "NUMBER" | "DOT" | "POINTER"
24
- carousel?: CarouselItem[]
25
- children?: Snippet
22
+ title?: string;
23
+ type?: "NUMBER" | "DOT" | "POINTER";
24
+ carousel?: CarouselItem[];
25
+ children?: Snippet;
26
26
  };
27
27
 
28
- let {
29
- title,
30
- type,
31
- carousel = [],
32
- children,
33
- }: Props = $props();
28
+ let { title, type, carousel = [], children }: Props = $props();
34
29
  </script>
35
30
 
36
31
  <main class="h-screen w-screen flex items-center justify-center">
37
32
  <div class="hidden md:flex w-1/2 h-screen">
38
33
  <LeftHero {title} type={type ?? "DOT"} items={carousel} />
39
34
  </div>
40
- <div class="w-full md:w-1/2 flex flex-col h-screen">
35
+ <div class="w-full md:w-1/2 flex flex-col h-screen overflow-y-auto">
41
36
  {#if children}
42
37
  {@render children()}
43
38
  {/if}
@@ -24,9 +24,11 @@
24
24
  onSubmit?: (credential: LoginRequestDto) => void;
25
25
  forgetPassword?: LinkProps;
26
26
  socialLogins?: SocialLoginItem[];
27
+ inputLabelClass?: string;
28
+ inputClass?: string;
27
29
  };
28
30
 
29
- let { variant, onSubmit, forgetPassword, socialLogins = [] }: Props = $props();
31
+ let { variant, onSubmit, forgetPassword, socialLogins = [], inputLabelClass, inputClass }: Props = $props();
30
32
  let data = $state("");
31
33
  let password = $state("");
32
34
 
@@ -41,16 +43,16 @@
41
43
 
42
44
  <div class="space-y-1">
43
45
  {#if variant === "EMAIL"}
44
- <InputEmail bind:value={data} />
46
+ <InputEmail labelClass={inputLabelClass} inputClass={inputClass} bind:value={data} />
45
47
  {:else if variant === "USERNAME"}
46
- <InputUsername bind:value={data} />
48
+ <InputUsername labelClass={inputLabelClass} inputClass={inputClass} bind:value={data} />
47
49
  {:else if variant === "PHONE"}
48
- <InputPhone bind:value={data} />
50
+ <InputPhone labelClass={inputLabelClass} inputClass={inputClass} bind:value={data} />
49
51
  {/if}
50
52
  </div>
51
53
 
52
54
  <div class="space-y-1 relative">
53
- <InputPassword bind:value={password} />
55
+ <InputPassword labelClass={inputLabelClass} inputClass={inputClass} bind:value={password} />
54
56
  <LinkForgetPassword href={forgetPassword?.url} onclick={forgetPassword?.onclick} />
55
57
  </div>
56
58
 
@@ -4,6 +4,8 @@ type Props = {
4
4
  onSubmit?: (credential: LoginRequestDto) => void;
5
5
  forgetPassword?: LinkProps;
6
6
  socialLogins?: SocialLoginItem[];
7
+ inputLabelClass?: string;
8
+ inputClass?: string;
7
9
  };
8
10
  declare const FormLogin: import("svelte").Component<Props, {}, "">;
9
11
  type FormLogin = ReturnType<typeof FormLogin>;
@@ -16,9 +16,11 @@
16
16
  onSubmit?: (credential: LoginRequestDto) => void;
17
17
  forgetPassword?: LinkProps;
18
18
  socialLogins?: SocialLoginItem[];
19
+ inputLabelClass?: string;
20
+ inputClass?: string;
19
21
  };
20
22
 
21
- let { onSubmit, forgetPassword, socialLogins = [] }: Props = $props();
23
+ let { onSubmit, forgetPassword, socialLogins = [], inputLabelClass, inputClass }: Props = $props();
22
24
  </script>
23
25
 
24
- <FormLogin variant="EMAIL" {onSubmit} {forgetPassword} {socialLogins} />
26
+ <FormLogin variant="EMAIL" {onSubmit} {forgetPassword} {socialLogins} {inputLabelClass} {inputClass} />
@@ -3,6 +3,8 @@ type Props = {
3
3
  onSubmit?: (credential: LoginRequestDto) => void;
4
4
  forgetPassword?: LinkProps;
5
5
  socialLogins?: SocialLoginItem[];
6
+ inputLabelClass?: string;
7
+ inputClass?: string;
6
8
  };
7
9
  declare const FormLoginEmailPassword: import("svelte").Component<Props, {}, "">;
8
10
  type FormLoginEmailPassword = ReturnType<typeof FormLoginEmailPassword>;
@@ -16,9 +16,11 @@
16
16
  onSubmit?: (credential: LoginRequestDto) => void;
17
17
  forgetPassword?: LinkProps;
18
18
  socialLogins?: SocialLoginItem[];
19
+ inputLabelClass?: string;
20
+ inputClass?: string;
19
21
  };
20
22
 
21
- let { onSubmit, forgetPassword, socialLogins = [] }: Props = $props();
23
+ let { onSubmit, forgetPassword, socialLogins = [], inputLabelClass, inputClass }: Props = $props();
22
24
  </script>
23
25
 
24
- <FormLogin variant="PHONE" {onSubmit} {forgetPassword} {socialLogins} />
26
+ <FormLogin variant="PHONE" {onSubmit} {forgetPassword} {socialLogins} {inputLabelClass} {inputClass} />
@@ -3,6 +3,8 @@ type Props = {
3
3
  onSubmit?: (credential: LoginRequestDto) => void;
4
4
  forgetPassword?: LinkProps;
5
5
  socialLogins?: SocialLoginItem[];
6
+ inputLabelClass?: string;
7
+ inputClass?: string;
6
8
  };
7
9
  declare const FormLoginPhonePassword: import("svelte").Component<Props, {}, "">;
8
10
  type FormLoginPhonePassword = ReturnType<typeof FormLoginPhonePassword>;
@@ -16,9 +16,11 @@
16
16
  onSubmit?: (credential: LoginRequestDto) => void;
17
17
  forgetPassword?: LinkProps;
18
18
  socialLogins?: SocialLoginItem[];
19
+ inputLabelClass?: string;
20
+ inputClass?: string;
19
21
  };
20
22
 
21
- let { onSubmit, forgetPassword, socialLogins = [] }: Props = $props();
23
+ let { onSubmit, forgetPassword, socialLogins = [], inputLabelClass, inputClass }: Props = $props();
22
24
  </script>
23
25
 
24
- <FormLogin variant="USERNAME" {onSubmit} {forgetPassword} {socialLogins} />
26
+ <FormLogin variant="USERNAME" {onSubmit} {forgetPassword} {socialLogins} {inputLabelClass} {inputClass} />
@@ -3,6 +3,8 @@ type Props = {
3
3
  onSubmit?: (credential: LoginRequestDto) => void;
4
4
  forgetPassword?: LinkProps;
5
5
  socialLogins?: SocialLoginItem[];
6
+ inputLabelClass?: string;
7
+ inputClass?: string;
6
8
  };
7
9
  declare const FormLoginUsernamePassword: import("svelte").Component<Props, {}, "">;
8
10
  type FormLoginUsernamePassword = ReturnType<typeof FormLoginUsernamePassword>;