negodesign 0.0.81 → 0.0.82

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 +62 -62
  9. package/dist/components/pages/security/auth/PageAuth02.svelte +40 -40
  10. package/dist/components/pages/security/auth/PageAuth03.svelte +40 -40
  11. package/dist/components/pages/security/login/01/ui/FormLogin.svelte +91 -63
  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 +49 -26
  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 +49 -26
  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 +49 -26
  18. package/dist/components/pages/security/login/01/ui/FormLoginUsernamePassword.svelte.d.ts +2 -0
  19. package/dist/components/pages/security/login/01/ui/LoginCard01.svelte +148 -132
  20. package/dist/components/pages/security/login/01/ui/LoginCard01.svelte.d.ts +2 -0
  21. package/dist/components/pages/security/login/01/ui/PageLogin01.svelte +66 -64
  22. package/dist/components/pages/security/login/02/ui/FormLogin02.svelte +82 -72
  23. package/dist/components/pages/security/login/02/ui/FormLogin02.svelte.d.ts +1 -0
  24. package/dist/components/pages/security/login/02/ui/FormLoginEmailPassword02.svelte +27 -26
  25. package/dist/components/pages/security/login/02/ui/FormLoginEmailPassword02.svelte.d.ts +1 -0
  26. package/dist/components/pages/security/login/02/ui/FormLoginPhonePassword02.svelte +27 -26
  27. package/dist/components/pages/security/login/02/ui/FormLoginPhonePassword02.svelte.d.ts +1 -0
  28. package/dist/components/pages/security/login/02/ui/FormLoginUsernamePassword02.svelte +27 -26
  29. package/dist/components/pages/security/login/02/ui/FormLoginUsernamePassword02.svelte.d.ts +1 -0
  30. package/dist/components/pages/security/login/02/ui/LoginCard02.svelte +15 -2
  31. package/dist/components/pages/security/login/02/ui/LoginCard02.svelte.d.ts +1 -0
  32. package/dist/components/pages/security/login/02/ui/PageLogin02.svelte +2 -0
  33. package/dist/components/pages/security/login/03/ui/FormLogin03.svelte +94 -91
  34. package/dist/components/pages/security/login/03/ui/FormLogin03.svelte.d.ts +1 -0
  35. package/dist/components/pages/security/login/03/ui/FormLoginEmailPassword03.svelte +27 -26
  36. package/dist/components/pages/security/login/03/ui/FormLoginEmailPassword03.svelte.d.ts +1 -0
  37. package/dist/components/pages/security/login/03/ui/FormLoginPhonePassword03.svelte +27 -26
  38. package/dist/components/pages/security/login/03/ui/FormLoginPhonePassword03.svelte.d.ts +1 -0
  39. package/dist/components/pages/security/login/03/ui/FormLoginUsernamePassword03.svelte +27 -26
  40. package/dist/components/pages/security/login/03/ui/FormLoginUsernamePassword03.svelte.d.ts +1 -0
  41. package/dist/components/pages/security/login/03/ui/LoginCard03.svelte +15 -2
  42. package/dist/components/pages/security/login/03/ui/LoginCard03.svelte.d.ts +1 -0
  43. package/dist/components/pages/security/login/03/ui/PageLogin03.svelte +2 -0
  44. package/dist/components/pages/security/login/PageLogin.svelte +30 -30
  45. package/dist/components/pages/security/login/types.d.ts +1 -0
  46. package/dist/components/pages/security/register/01/ui/PageRegister01.svelte +78 -76
  47. package/dist/components/pages/security/register/01/ui/RegisterCard01.svelte +107 -104
  48. package/dist/components/pages/security/register/01/ui/RegisterCard01.svelte.d.ts +1 -0
  49. package/dist/components/pages/security/register/02/ui/PageRegister02.svelte +2 -0
  50. package/dist/components/pages/security/register/02/ui/RegisterCard02.svelte +3 -1
  51. package/dist/components/pages/security/register/02/ui/RegisterCard02.svelte.d.ts +1 -0
  52. package/dist/components/pages/security/register/03/ui/PageRegister03.svelte +2 -0
  53. package/dist/components/pages/security/register/03/ui/RegisterCard03.svelte +3 -1
  54. package/dist/components/pages/security/register/03/ui/RegisterCard03.svelte.d.ts +1 -0
  55. package/dist/components/pages/security/register/FormRegister.svelte +148 -146
  56. package/dist/components/pages/security/register/FormRegister.svelte.d.ts +1 -0
  57. package/dist/components/pages/security/register/types.d.ts +1 -0
  58. package/dist/components/ui/avatar/avatar-fallback.svelte +29 -29
  59. package/dist/components/ui/avatar/avatar-image.svelte +38 -38
  60. package/dist/components/ui/avatar/avatar.svelte +39 -39
  61. package/dist/components/ui/badge/badge.svelte +46 -46
  62. package/dist/components/ui/banner/AdCardBanner.svelte +74 -74
  63. package/dist/components/ui/banner/CtaCardBanner.svelte +118 -118
  64. package/dist/components/ui/banner/CtaCardImageBanner.svelte +94 -94
  65. package/dist/components/ui/breadcrumb/core/breadcrumb-list.svelte +31 -31
  66. package/dist/components/ui/button/ButtonBack.svelte +18 -18
  67. package/dist/components/ui/button/ButtonLogin.svelte +19 -15
  68. package/dist/components/ui/button/ButtonLoginWith.svelte +57 -57
  69. package/dist/components/ui/button/ButtonSend.svelte +15 -15
  70. package/dist/components/ui/button/button.svelte +100 -86
  71. package/dist/components/ui/button/button.svelte.d.ts +1 -0
  72. package/dist/components/ui/card/core/highlight/01/CardHighlight01.svelte +103 -103
  73. package/dist/components/ui/card/core/highlight/02/CardHighlight02.svelte +99 -99
  74. package/dist/components/ui/card/core/highlight/CardHighlight.svelte +22 -22
  75. package/dist/components/ui/card/core/media/01/CardMedia01.svelte +133 -133
  76. package/dist/components/ui/card/core/media/02/CardMedia02.svelte +127 -127
  77. package/dist/components/ui/card/core/media/CardMedia.svelte +18 -18
  78. package/dist/components/ui/card/core/product/01/CardProduct01.svelte +136 -136
  79. package/dist/components/ui/card/core/product/02/CardProduct02.svelte +124 -124
  80. package/dist/components/ui/card/core/product/CardProduct.svelte +22 -22
  81. package/dist/components/ui/card/core/profile/01/CardProfile01.svelte +134 -134
  82. package/dist/components/ui/card/core/profile/02/CardProfile02.svelte +132 -132
  83. package/dist/components/ui/card/core/profile/CardProfile.svelte +18 -18
  84. package/dist/components/ui/card/core/promotion/CardPromotion.svelte +139 -139
  85. package/dist/components/ui/card/core/promotion/CardPromotionPrice.svelte +32 -32
  86. package/dist/components/ui/card/core/shared/CardButton.svelte +42 -42
  87. package/dist/components/ui/card/core/shared/CardCart.svelte +36 -36
  88. package/dist/components/ui/card/core/shared/CardDescription.svelte +41 -41
  89. package/dist/components/ui/card/core/shared/CardFavorite.svelte +33 -33
  90. package/dist/components/ui/card/core/shared/CardLogo.svelte +19 -19
  91. package/dist/components/ui/card/core/shared/CardPhoneOrWhatsapp.svelte +45 -45
  92. package/dist/components/ui/card/core/shared/CardStarRating.svelte +24 -24
  93. package/dist/components/ui/card/core/shared/CardTags.svelte +95 -95
  94. package/dist/components/ui/card/core/shared/CardThumbnailVideo.svelte +232 -232
  95. package/dist/components/ui/card/core/shared/CardTitlePrice.svelte +24 -24
  96. package/dist/components/ui/card/core/shared/TruncatableText.svelte +49 -49
  97. package/dist/components/ui/carousel/carousel-content.svelte +56 -56
  98. package/dist/components/ui/carousel/carousel-item.svelte +29 -29
  99. package/dist/components/ui/carousel/carousel-next.svelte +40 -40
  100. package/dist/components/ui/carousel/carousel-previous.svelte +40 -40
  101. package/dist/components/ui/carousel/carousel.svelte +225 -225
  102. package/dist/components/ui/carousel/core/badge/ui/CarouselBadge.svelte +108 -108
  103. package/dist/components/ui/carousel/core/grid/shared/ui/CarouselGridSlot.svelte +38 -38
  104. package/dist/components/ui/carousel/core/hero/ui/CarouselHero.svelte +181 -181
  105. package/dist/components/ui/carousel/core/highlights/ui/CarouselHighlights.svelte +67 -67
  106. package/dist/components/ui/carousel/core/product/ui/CarouselProduct.svelte +57 -57
  107. package/dist/components/ui/carousel/core/promotion/ui/CarouselPromotion.svelte +67 -67
  108. package/dist/components/ui/carousel/core/shared/ui/CarouselHeader.svelte +59 -59
  109. package/dist/components/ui/checkbox/checkbox.svelte +96 -96
  110. package/dist/components/ui/collapsible/collapsible-content.svelte +30 -30
  111. package/dist/components/ui/collapsible/collapsible-trigger.svelte +51 -51
  112. package/dist/components/ui/collapsible/collapsible.svelte +66 -66
  113. package/dist/components/ui/data-table/flex-render.svelte +40 -40
  114. package/dist/components/ui/datatable/ui/DataTableActions.svelte +28 -28
  115. package/dist/components/ui/datatable/ui/DataTableCheckbox.svelte +22 -22
  116. package/dist/components/ui/datatable/ui/DataTableContent.svelte +59 -59
  117. package/dist/components/ui/datatable/ui/DataTableCore.svelte +148 -148
  118. package/dist/components/ui/datatable/ui/DataTableDragHandle.svelte +8 -8
  119. package/dist/components/ui/datatable/ui/DataTableListFilter.svelte +60 -60
  120. package/dist/components/ui/datatable/ui/DataTableListPagination.svelte +35 -35
  121. package/dist/components/ui/drawer/drawer-close.svelte +41 -41
  122. package/dist/components/ui/drawer/drawer-content.svelte +81 -81
  123. package/dist/components/ui/drawer/drawer-description.svelte +19 -19
  124. package/dist/components/ui/drawer/drawer-footer.svelte +20 -20
  125. package/dist/components/ui/drawer/drawer-header.svelte +20 -20
  126. package/dist/components/ui/drawer/drawer-nested.svelte +34 -34
  127. package/dist/components/ui/drawer/drawer-overlay.svelte +25 -25
  128. package/dist/components/ui/drawer/drawer-portal.svelte +19 -19
  129. package/dist/components/ui/drawer/drawer-title.svelte +19 -19
  130. package/dist/components/ui/drawer/drawer-trigger.svelte +42 -42
  131. package/dist/components/ui/drawer/drawer.svelte +74 -74
  132. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-group.svelte +25 -25
  133. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +69 -69
  134. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte +106 -106
  135. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte +27 -27
  136. package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte +21 -21
  137. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte +60 -60
  138. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte +27 -27
  139. package/dist/components/ui/dropdown-menu/dropdown-menu-portal.svelte +6 -6
  140. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte +43 -43
  141. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +70 -70
  142. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte +20 -20
  143. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +33 -33
  144. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +57 -57
  145. package/dist/components/ui/dropdown-menu/dropdown-menu-sub.svelte +76 -76
  146. package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte +68 -68
  147. package/dist/components/ui/dropdown-menu/dropdown-menu.svelte +53 -53
  148. package/dist/components/ui/empty/empty-content.svelte +19 -19
  149. package/dist/components/ui/empty/empty-description.svelte +19 -19
  150. package/dist/components/ui/empty/empty-header.svelte +19 -19
  151. package/dist/components/ui/empty/empty-media.svelte +41 -41
  152. package/dist/components/ui/empty/empty-title.svelte +19 -19
  153. package/dist/components/ui/empty/empty.svelte +19 -19
  154. package/dist/components/ui/footer/ui/Footer.svelte +18 -18
  155. package/dist/components/ui/form/ui/calendar/Calendar.svelte +193 -193
  156. package/dist/components/ui/form/ui/calendar/CalendarCard.svelte +89 -89
  157. package/dist/components/ui/form/ui/calendar/DaysGrid.svelte +75 -75
  158. package/dist/components/ui/form/ui/calendar/MonthSelect.svelte +49 -49
  159. package/dist/components/ui/form/ui/calendar/YearSelect.svelte +116 -116
  160. package/dist/components/ui/form/ui/input-base.svelte +83 -83
  161. package/dist/components/ui/form/ui/input-calendar-interval.svelte +178 -178
  162. package/dist/components/ui/form/ui/input-calendar.svelte +109 -109
  163. package/dist/components/ui/form/ui/input-email-or-phone.svelte +23 -23
  164. package/dist/components/ui/form/ui/input-email.svelte +23 -23
  165. package/dist/components/ui/form/ui/input-password-confirm.svelte +23 -23
  166. package/dist/components/ui/form/ui/input-password.svelte +23 -23
  167. package/dist/components/ui/form/ui/input-phone.svelte +43 -37
  168. package/dist/components/ui/form/ui/input-select.svelte +246 -246
  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/ui/ModalCore.svelte +132 -132
  192. package/dist/components/ui/modal/form/index.d.ts +3 -2
  193. package/dist/components/ui/modal/form/index.js +2 -1
  194. package/dist/components/ui/modal/form/types.d.ts +41 -0
  195. package/dist/components/ui/modal/form/ui/ModalForm.svelte +11 -6
  196. package/dist/components/ui/modal/form/ui/ModalFormEmailOrPhone.svelte +204 -0
  197. package/dist/components/ui/modal/form/ui/ModalFormEmailOrPhone.svelte.d.ts +4 -0
  198. package/dist/components/ui/modal/grid/ui/02/ModalGridSelection02.svelte +146 -146
  199. package/dist/components/ui/modal/share/ui/ModalShareSelection.svelte +156 -156
  200. package/dist/components/ui/nav/ui/ComplexMenu.svelte +51 -51
  201. package/dist/components/ui/nav/ui/Menu.svelte +72 -72
  202. package/dist/components/ui/nav/ui/SimpleMenu.svelte +14 -14
  203. package/dist/components/ui/nav/ui/mobile/ComplexMenuMobile.svelte +125 -125
  204. package/dist/components/ui/nav/ui/mobile/MenuMobile.svelte +54 -54
  205. package/dist/components/ui/nav/ui/shared/MenuButton.svelte +51 -51
  206. package/dist/components/ui/nav/ui/shared/MenuLinks.svelte +40 -40
  207. package/dist/components/ui/nav/ui/shared/MenuListItem.svelte +44 -44
  208. package/dist/components/ui/nav/ui/shared/MenuLogo.svelte +13 -13
  209. package/dist/components/ui/nav/ui/shared/dropdown/DropdownNavigationMenuItemGrid.svelte +30 -30
  210. package/dist/components/ui/nav/ui/shared/navigation/NavDropdown.svelte +88 -88
  211. package/dist/components/ui/nav/ui/shared/navigation/NavigationMenuItem.svelte +17 -17
  212. package/dist/components/ui/nav/ui/shared/navigation/NavigationMenuItemCard.svelte +53 -53
  213. package/dist/components/ui/nav/ui/shared/navigation/NavigationMenuItemGrid.svelte +35 -35
  214. package/dist/components/ui/nav/ui/shared/navigation/NavigationMenuItemList.svelte +24 -24
  215. package/dist/components/ui/nav/ui/shared/navigation/NavigationMenuItems.svelte +21 -21
  216. package/dist/components/ui/panel/CarouselSlot.svelte +57 -57
  217. package/dist/components/ui/panel/LeftHero.svelte +114 -114
  218. package/dist/components/ui/panel/NotFoundEmpty.svelte +66 -66
  219. package/dist/components/ui/phone-input/country-selector.svelte +87 -87
  220. package/dist/components/ui/phone-input/flag.svelte +11 -11
  221. package/dist/components/ui/phone-input/phone-input.svelte +163 -163
  222. package/dist/components/ui/popover/popover-close.svelte +25 -25
  223. package/dist/components/ui/popover/popover-content.svelte +92 -92
  224. package/dist/components/ui/popover/popover-portal.svelte +6 -6
  225. package/dist/components/ui/popover/popover-trigger.svelte +68 -68
  226. package/dist/components/ui/popover/popover.svelte +53 -53
  227. package/dist/components/ui/search/SearchInput.svelte +32 -32
  228. package/dist/components/ui/search/shared/SearchInputCore.svelte +66 -66
  229. package/dist/components/ui/separator/separator.svelte +28 -28
  230. package/dist/components/ui/sidebar/core/MenuBarSidebar.svelte +70 -70
  231. package/dist/components/ui/sidebar/core/ui/navbar/NavMenuBarSidebar.svelte +97 -97
  232. package/dist/components/ui/sidebar/core/ui/navbar/NavMenuBottomSidebar.svelte +33 -33
  233. package/dist/components/ui/sidebar/core/ui/navbar/NavMenuTopBarSidebar.svelte +101 -101
  234. package/dist/components/ui/sidebar/core/ui/navbar/nav-menu-header-sidebar.svelte +77 -77
  235. package/dist/components/ui/sidebar/sidebar-content.svelte +24 -24
  236. package/dist/components/ui/sidebar/sidebar-footer.svelte +21 -21
  237. package/dist/components/ui/sidebar/sidebar-group-content.svelte +21 -21
  238. package/dist/components/ui/sidebar/sidebar-menu-action.svelte +38 -38
  239. package/dist/components/ui/sidebar/sidebar-menu-button.svelte +70 -70
  240. package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte +39 -39
  241. package/dist/components/ui/sidebar/sidebar-provider.svelte +62 -62
  242. package/dist/components/ui/sidebar/sidebar-rail.svelte +36 -36
  243. package/dist/components/ui/sidebar/sidebar-separator.svelte +21 -21
  244. package/dist/components/ui/sidebar/sidebar-trigger.svelte +36 -36
  245. package/dist/components/ui/sidebar/sidebar.svelte +118 -118
  246. package/dist/components/ui/skeleton/skeleton.svelte +19 -19
  247. package/dist/components/ui/star-rating/star-rating-star.svelte +66 -66
  248. package/dist/components/ui/star-rating/star-rating.svelte +149 -149
  249. package/dist/components/ui/table/table-body.svelte +15 -15
  250. package/dist/components/ui/table/table-caption.svelte +20 -20
  251. package/dist/components/ui/table/table-cell.svelte +15 -15
  252. package/dist/components/ui/table/table-footer.svelte +20 -20
  253. package/dist/components/ui/table/table-head.svelte +15 -15
  254. package/dist/components/ui/table/table-header.svelte +20 -20
  255. package/dist/components/ui/table/table-row.svelte +15 -15
  256. package/dist/components/ui/table/table.svelte +17 -17
  257. package/dist/components/ui/tabs/data/TabModel.d.ts +1 -0
  258. package/dist/components/ui/tabs/ui/tab-underline.svelte +47 -43
  259. package/dist/components/ui/underline-tabs/underline-tabs-content.svelte +33 -33
  260. package/dist/components/ui/underline-tabs/underline-tabs-list.svelte +40 -40
  261. package/dist/components/ui/underline-tabs/underline-tabs-trigger.svelte +91 -91
  262. package/dist/components/ui/underline-tabs/underline-tabs.svelte +61 -61
  263. package/dist/docs/ApiTable.svelte +42 -42
  264. package/dist/docs/CodeBlock.svelte +26 -26
  265. package/dist/docs/DocsHeader.svelte +25 -25
  266. package/dist/docs/DocsSidebar.svelte +108 -108
  267. package/dist/docs/components.js +624 -584
  268. package/dist/globals.css +27 -7
  269. package/dist/i18n/langs/en.d.ts +3 -1
  270. package/dist/i18n/langs/en.js +3 -1
  271. package/dist/i18n/langs/pt.d.ts +3 -1
  272. package/dist/i18n/langs/pt.js +3 -1
  273. package/dist/i18n/translations.d.ts +6 -2
  274. package/dist/index.d.ts +12 -0
  275. package/dist/index.js +12 -0
  276. package/dist/styles/globals.css +283 -283
  277. package/dist/types/index.d.ts +3 -1
  278. package/package.json +81 -81
@@ -1,132 +1,148 @@
1
- <script lang="ts" module>
2
- /**
3
- * @component LoginCard
4
- * Authentication card with login/register tabs, back button, light switch, and link footer.
5
- *
6
- * @example svelte
7
- * <LoginCard formType="EMAIL_PASSWORD" onSubmit={(cred) => login(cred)} />
8
- */
9
- </script>
10
-
11
- <script lang="ts">
12
- import LanguageSwitcher from "../../../../../ui/language-switcher/language-switcher.svelte";
13
- import LinkTermsOfService from "../../../../../ui/link/link-terms-of-service.svelte";
14
- import LinkPrivacyPolity from "../../../../../ui/link/link-privacy-polity.svelte";
15
- import TabUnderline from "../../../../../ui/tabs/ui/tab-underline.svelte";
16
- import ButtonBack from "../../../../../ui/button/ButtonBack.svelte";
17
- import LabelOr from "../../../../../ui/label/core/LabelOr.svelte";
18
- import type { Snippet } from "svelte";
19
- import { LightSwitch } from "../../../../../ui/light-switch";
20
- import { t } from "../../../../../../i18n";
21
- import type {
22
- LoginFormType,
23
- LoginRequestDto,
24
- LinkProps,
25
- SocialLoginItem,
26
- } from "../../types";
27
- import FormLoginEmailPassword from "./FormLoginEmailPassword.svelte";
28
- import FormLoginUsernamePassword from "./FormLoginUsernamePassword.svelte";
29
- import FormLoginPhonePassword from "./FormLoginPhonePassword.svelte";
30
-
31
- type Props = {
32
- formType?: LoginFormType;
33
- onSubmit?: (credential: LoginRequestDto) => void;
34
- register?: Snippet;
35
- forgetPassword?: LinkProps;
36
- privacyPolicy?: LinkProps;
37
- termsOfService?: LinkProps;
38
- socialLogins?: SocialLoginItem[];
39
- };
40
-
41
- let {
42
- formType,
43
- onSubmit,
44
- register,
45
- forgetPassword,
46
- privacyPolicy,
47
- termsOfService,
48
- socialLogins = [],
49
- }: Props = $props();
50
- </script>
51
-
52
- <div class="flex-1 flex flex-col justify-between h-screen bg-gradient-right">
53
- <nav class="flex justify-between p-5 md:bg-transparent">
54
- <div>
55
- <ButtonBack />
56
- </div>
57
- <div class="flex gap-2">
58
- <LightSwitch />
59
- <LanguageSwitcher />
60
- </div>
61
- </nav>
62
-
63
- <div
64
- class="p-5 h-full border-t-2 bg-background md:border-none rounded-tl-[35px] rounded-tr-[35px]"
65
- >
66
- <TabUnderline
67
- items={[
68
- {
69
- item: { label: $t("label.login"), value: "login" },
70
- children: loginSnippet,
71
- },
72
- ...(register
73
- ? [
74
- {
75
- item: { label: $t("label.register"), value: "register" },
76
- children: registerSnippet,
77
- },
78
- ]
79
- : []),
80
- ]}
81
- />
82
-
83
- {#snippet loginSnippet()}
84
- {#if formType == "EMAIL_PASSWORD"}
85
- <FormLoginEmailPassword
86
- {onSubmit}
87
- {forgetPassword}
88
- {socialLogins}
89
- inputLabelClass="text-white"
90
- inputClass="text-white/90 placeholder:text-white/50"
91
- />
92
- {:else if formType == "USERNAME_PASSWORD"}
93
- <FormLoginUsernamePassword
94
- {onSubmit}
95
- {forgetPassword}
96
- {socialLogins}
97
- inputLabelClass="text-white"
98
- inputClass="text-white/90 placeholder:text-white/50"
99
- />
100
- {:else if formType == "PHONE_PASSWORD"}
101
- <FormLoginPhonePassword
102
- {onSubmit}
103
- {forgetPassword}
104
- {socialLogins}
105
- inputLabelClass="text-white"
106
- inputClass="text-white/90 placeholder:text-white/50"
107
- />
108
- {/if}
109
- {/snippet}
110
-
111
- {#snippet registerSnippet()}
112
- {#if register}
113
- {@render register()}
114
- {/if}
115
- {/snippet}
116
- </div>
117
-
118
- <!-- Footer Terms -->
119
- <div
120
- class="text-[11px] text-slate-400 py-2 flex justify-center gap-2 bg-background"
121
- >
122
- <LinkPrivacyPolity
123
- href={privacyPolicy?.url}
124
- onclick={privacyPolicy?.onclick}
125
- />
126
- <LabelOr />
127
- <LinkTermsOfService
128
- href={termsOfService?.url}
129
- onclick={termsOfService?.onclick}
130
- />
131
- </div>
132
- </div>
1
+ <script lang="ts" module>
2
+ /**
3
+ * @component LoginCard
4
+ * Authentication card with login/register tabs, back button, light switch, and link footer.
5
+ *
6
+ * @example svelte
7
+ * <LoginCard formType="EMAIL_PASSWORD" onSubmit={(cred) => login(cred)} />
8
+ */
9
+ </script>
10
+
11
+ <script lang="ts">
12
+ import LanguageSwitcher from "../../../../../ui/language-switcher/language-switcher.svelte";
13
+ import LinkTermsOfService from "../../../../../ui/link/link-terms-of-service.svelte";
14
+ import LinkPrivacyPolity from "../../../../../ui/link/link-privacy-polity.svelte";
15
+ import TabUnderline from "../../../../../ui/tabs/ui/tab-underline.svelte";
16
+ import ButtonBack from "../../../../../ui/button/ButtonBack.svelte";
17
+ import LabelOr from "../../../../../ui/label/core/LabelOr.svelte";
18
+ import type { Snippet } from "svelte";
19
+ import { LightSwitch } from "../../../../../ui/light-switch";
20
+ import { t } from "../../../../../../i18n";
21
+ import type {
22
+ LoginFormType,
23
+ LoginRequestDto,
24
+ LinkProps,
25
+ SocialLoginItem,
26
+ } from "../../types";
27
+ import FormLoginEmailPassword from "./FormLoginEmailPassword.svelte";
28
+ import FormLoginUsernamePassword from "./FormLoginUsernamePassword.svelte";
29
+ import FormLoginPhonePassword from "./FormLoginPhonePassword.svelte";
30
+
31
+ type Props = {
32
+ formType?: LoginFormType;
33
+ onSubmit?: (credential: LoginRequestDto) => void;
34
+ register?: Snippet;
35
+ forgetPassword?: LinkProps;
36
+ privacyPolicy?: LinkProps;
37
+ termsOfService?: LinkProps;
38
+ socialLogins?: SocialLoginItem[];
39
+ textClass?: string;
40
+ isLoading?: boolean;
41
+ };
42
+
43
+ let {
44
+ formType,
45
+ onSubmit,
46
+ register,
47
+ forgetPassword,
48
+ privacyPolicy,
49
+ termsOfService,
50
+ socialLogins = [],
51
+ textClass,
52
+ isLoading,
53
+ }: Props = $props();
54
+ </script>
55
+
56
+ <div class="flex-1 flex flex-col justify-between h-screen bg-gradient-right">
57
+ <nav class="flex justify-between p-5 md:bg-transparent">
58
+ <div>
59
+ <ButtonBack />
60
+ </div>
61
+ <div class="flex gap-2">
62
+ <LightSwitch />
63
+ <LanguageSwitcher />
64
+ </div>
65
+ </nav>
66
+
67
+ <div
68
+ class="p-5 h-full border-t-2 md:border-none rounded-tl-[35px] rounded-tr-[35px]"
69
+ >
70
+ <TabUnderline
71
+ items={[
72
+ {
73
+ item: {
74
+ label: $t("label.login"),
75
+ value: "login",
76
+ className: "text-white",
77
+ },
78
+ children: loginSnippet,
79
+ },
80
+ ...(register
81
+ ? [
82
+ {
83
+ item: {
84
+ label: $t("label.register"),
85
+ value: "register",
86
+ className: "text-white",
87
+ },
88
+ children: registerSnippet,
89
+ },
90
+ ]
91
+ : []),
92
+ ]}
93
+ />
94
+
95
+ {#snippet loginSnippet()}
96
+ {#if formType == "EMAIL_PASSWORD"}
97
+ <FormLoginEmailPassword
98
+ {onSubmit}
99
+ {forgetPassword}
100
+ {socialLogins}
101
+ {isLoading}
102
+ inputLabelClass="text-white"
103
+ inputClass="text-white/90 placeholder:text-white/50"
104
+ textClass="text-white"
105
+ />
106
+ {:else if formType == "USERNAME_PASSWORD"}
107
+ <FormLoginUsernamePassword
108
+ {onSubmit}
109
+ {forgetPassword}
110
+ {socialLogins}
111
+ {isLoading}
112
+ inputLabelClass="text-white"
113
+ inputClass="text-white/90 placeholder:text-white/50"
114
+ textClass="text-white"
115
+ />
116
+ {:else if formType == "PHONE_PASSWORD"}
117
+ <FormLoginPhonePassword
118
+ {onSubmit}
119
+ {forgetPassword}
120
+ {socialLogins}
121
+ {isLoading}
122
+ inputLabelClass="text-white"
123
+ inputClass="text-white/90 placeholder:text-white/50"
124
+ textClass="text-white"
125
+ />
126
+ {/if}
127
+ {/snippet}
128
+
129
+ {#snippet registerSnippet()}
130
+ {#if register}
131
+ {@render register()}
132
+ {/if}
133
+ {/snippet}
134
+ </div>
135
+
136
+ <!-- Footer Terms -->
137
+ <div class="text-[11px] text-white py-2 flex justify-center gap-2">
138
+ <LinkPrivacyPolity
139
+ href={privacyPolicy?.url}
140
+ onclick={privacyPolicy?.onclick}
141
+ />
142
+ <LabelOr />
143
+ <LinkTermsOfService
144
+ href={termsOfService?.url}
145
+ onclick={termsOfService?.onclick}
146
+ />
147
+ </div>
148
+ </div>
@@ -8,6 +8,8 @@ type Props = {
8
8
  privacyPolicy?: LinkProps;
9
9
  termsOfService?: LinkProps;
10
10
  socialLogins?: SocialLoginItem[];
11
+ textClass?: string;
12
+ isLoading?: boolean;
11
13
  };
12
14
  declare const LoginCard01: import("svelte").Component<Props, {}, "">;
13
15
  type LoginCard01 = ReturnType<typeof LoginCard01>;
@@ -1,64 +1,66 @@
1
- <script lang="ts" module>
2
- /**
3
- * @component PageLogin01
4
- * Variant 01 of the login page. Split layout: hero on the left, auth card on the right.
5
- *
6
- * @example svelte
7
- * <PageLogin01 formType="USERNAME_PASSWORD" onSubmit={(cred) => login(cred)} />
8
- */
9
- </script>
10
-
11
- <script lang="ts">
12
- import LoginCard01 from "./LoginCard01.svelte";
13
- import PageAuth01 from "../../../auth/PageAuth01.svelte";
14
- import type { PageLoginProps } from "../../types";
15
- import { t } from "../../../../../../i18n";
16
-
17
- let {
18
- carousel,
19
- type,
20
- title,
21
- formType = "USERNAME_PASSWORD",
22
- children,
23
- onSubmit,
24
- forgetPassword,
25
- privacyPolicy,
26
- termsOfService,
27
- socialLogins = [],
28
- }: PageLoginProps = $props();
29
-
30
- const defaultCarousel = $derived([
31
- {
32
- buttonText: $t("label.next"),
33
- title: $t("carousel.login.slide1.title"),
34
- description: $t("carousel.login.slide1.description"),
35
- },
36
- {
37
- buttonText: $t("label.next"),
38
- title: $t("carousel.login.slide2.title"),
39
- description: $t("carousel.login.slide2.description"),
40
- },
41
- {
42
- buttonText: $t("label.next"),
43
- title: $t("carousel.login.slide3.title"),
44
- description: $t("carousel.login.slide3.description"),
45
- },
46
- ]);
47
-
48
- const carouselItems = $derived(carousel ?? defaultCarousel);
49
- </script>
50
-
51
- <PageAuth01 {title} {type} carousel={carouselItems}>
52
- {#if children}
53
- {@render children()}
54
- {:else}
55
- <LoginCard01
56
- {formType}
57
- {onSubmit}
58
- {forgetPassword}
59
- {privacyPolicy}
60
- {termsOfService}
61
- {socialLogins}
62
- />
63
- {/if}
64
- </PageAuth01>
1
+ <script lang="ts" module>
2
+ /**
3
+ * @component PageLogin01
4
+ * Variant 01 of the login page. Split layout: hero on the left, auth card on the right.
5
+ *
6
+ * @example svelte
7
+ * <PageLogin01 formType="USERNAME_PASSWORD" onSubmit={(cred) => login(cred)} />
8
+ */
9
+ </script>
10
+
11
+ <script lang="ts">
12
+ import LoginCard01 from "./LoginCard01.svelte";
13
+ import PageAuth01 from "../../../auth/PageAuth01.svelte";
14
+ import type { PageLoginProps } from "../../types";
15
+ import { t } from "../../../../../../i18n";
16
+
17
+ let {
18
+ carousel,
19
+ type,
20
+ title,
21
+ formType = "USERNAME_PASSWORD",
22
+ children,
23
+ onSubmit,
24
+ forgetPassword,
25
+ privacyPolicy,
26
+ termsOfService,
27
+ socialLogins = [],
28
+ isLoading,
29
+ }: PageLoginProps = $props();
30
+
31
+ const defaultCarousel = $derived([
32
+ {
33
+ buttonText: $t("label.next"),
34
+ title: $t("carousel.login.slide1.title"),
35
+ description: $t("carousel.login.slide1.description"),
36
+ },
37
+ {
38
+ buttonText: $t("label.next"),
39
+ title: $t("carousel.login.slide2.title"),
40
+ description: $t("carousel.login.slide2.description"),
41
+ },
42
+ {
43
+ buttonText: $t("label.next"),
44
+ title: $t("carousel.login.slide3.title"),
45
+ description: $t("carousel.login.slide3.description"),
46
+ },
47
+ ]);
48
+
49
+ const carouselItems = $derived(carousel ?? defaultCarousel);
50
+ </script>
51
+
52
+ <PageAuth01 {title} {type} carousel={carouselItems}>
53
+ {#if children}
54
+ {@render children()}
55
+ {:else}
56
+ <LoginCard01
57
+ {formType}
58
+ {onSubmit}
59
+ {forgetPassword}
60
+ {privacyPolicy}
61
+ {termsOfService}
62
+ {socialLogins}
63
+ {isLoading}
64
+ />
65
+ {/if}
66
+ </PageAuth01>
@@ -1,72 +1,82 @@
1
- <script lang="ts" module>
2
- /**
3
- * @component FormLogin02
4
- * Variant 02 login form with input variants (EMAIL, USERNAME, PHONE).
5
- *
6
- * @example svelte
7
- * <FormLogin02 variant="EMAIL" onSubmit={(cred) => login(cred)} />
8
- */
9
- </script>
10
-
11
- <script lang="ts">
12
- import InputEmail from "../../../../../ui/form/ui/input-email.svelte";
13
- import InputUsername from "../../../../../ui/form/ui/input-username.svelte";
14
- import InputPhone from "../../../../../ui/form/ui/input-phone.svelte";
15
- import InputPassword from "../../../../../ui/form/ui/input-password.svelte";
16
- import SocialLogin from "../../../../../ui/social-login/social-login.svelte";
17
- import { t } from "../../../../../../i18n";
18
- import type { LoginRequestDto, LoginVariant, LinkProps, SocialLoginItem } from "../../types";
19
-
20
- type Props = {
21
- variant: LoginVariant;
22
- onSubmit?: (credential: LoginRequestDto) => void;
23
- forgetPassword?: LinkProps;
24
- socialLogins?: SocialLoginItem[];
25
- inputLabelClass?: string;
26
- inputClass?: string;
27
- };
28
-
29
- let { variant, onSubmit, forgetPassword, socialLogins = [], inputLabelClass, inputClass }: Props = $props();
30
- let data = $state("");
31
- let password = $state("");
32
-
33
- function handleSubmit(e: Event) {
34
- e.preventDefault();
35
- onSubmit?.({ data, password });
36
- }
37
- </script>
38
-
39
- <form class="w-full space-y-4" onsubmit={handleSubmit}>
40
- <div class="space-y-1">
41
- {#if variant === "EMAIL"}
42
- <InputEmail labelClass={inputLabelClass} inputClass={inputClass} bind:value={data} />
43
- {:else if variant === "USERNAME"}
44
- <InputUsername labelClass={inputLabelClass} inputClass={inputClass} bind:value={data} />
45
- {:else if variant === "PHONE"}
46
- <InputPhone labelClass={inputLabelClass} inputClass={inputClass} bind:value={data} />
47
- {/if}
48
- </div>
49
-
50
- <div class="space-y-1">
51
- <InputPassword labelClass={inputLabelClass} inputClass={inputClass} bind:value={password} />
52
- </div>
53
-
54
- <div class="flex justify-end">
55
- <a
56
- href={forgetPassword?.url ?? "/forget-password"}
57
- onclick={forgetPassword?.onclick}
58
- class="text-sm font-medium text-primary hover:underline"
59
- >
60
- {$t("link.forget.password")}?
61
- </a>
62
- </div>
63
-
64
- <button
65
- type="submit"
66
- class="w-full flex items-center justify-center gap-2 px-4 py-2.5 bg-primary text-white rounded-lg text-sm font-semibold transition-colors"
67
- >
68
- {$t("label.login")}
69
- </button>
70
-
71
- <SocialLogin items={socialLogins} />
72
- </form>
1
+ <script lang="ts" module>
2
+ /**
3
+ * @component FormLogin02
4
+ * Variant 02 login form with input variants (EMAIL, USERNAME, PHONE).
5
+ *
6
+ * @example svelte
7
+ * <FormLogin02 variant="EMAIL" onSubmit={(cred) => login(cred)} />
8
+ */
9
+ </script>
10
+
11
+ <script lang="ts">
12
+ import InputEmail from "../../../../../ui/form/ui/input-email.svelte";
13
+ import InputUsername from "../../../../../ui/form/ui/input-username.svelte";
14
+ import InputPhone from "../../../../../ui/form/ui/input-phone.svelte";
15
+ import InputPassword from "../../../../../ui/form/ui/input-password.svelte";
16
+ import SocialLogin from "../../../../../ui/social-login/social-login.svelte";
17
+ import { t } from "../../../../../../i18n";
18
+ import type { LoginRequestDto, LoginVariant, LinkProps, SocialLoginItem } from "../../types";
19
+
20
+ type Props = {
21
+ variant: LoginVariant;
22
+ onSubmit?: (credential: LoginRequestDto) => void;
23
+ forgetPassword?: LinkProps;
24
+ socialLogins?: SocialLoginItem[];
25
+ inputLabelClass?: string;
26
+ inputClass?: string;
27
+ isLoading?: boolean;
28
+ };
29
+
30
+ let {
31
+ variant,
32
+ onSubmit,
33
+ forgetPassword,
34
+ socialLogins = [],
35
+ inputLabelClass,
36
+ inputClass,
37
+ isLoading = false,
38
+ }: Props = $props();
39
+ let data = $state("");
40
+ let password = $state("");
41
+
42
+ function handleSubmit(e: Event) {
43
+ e.preventDefault();
44
+ onSubmit?.({ data, password });
45
+ }
46
+ </script>
47
+
48
+ <form class="w-full space-y-4" onsubmit={handleSubmit}>
49
+ <div class="space-y-1">
50
+ {#if variant === "EMAIL"}
51
+ <InputEmail labelClass={inputLabelClass} inputClass={inputClass} bind:value={data} />
52
+ {:else if variant === "USERNAME"}
53
+ <InputUsername labelClass={inputLabelClass} inputClass={inputClass} bind:value={data} />
54
+ {:else if variant === "PHONE"}
55
+ <InputPhone labelClass={inputLabelClass} inputClass={inputClass} bind:value={data} />
56
+ {/if}
57
+ </div>
58
+
59
+ <div class="space-y-1">
60
+ <InputPassword labelClass={inputLabelClass} inputClass={inputClass} bind:value={password} />
61
+ </div>
62
+
63
+ <div class="flex justify-end">
64
+ <a
65
+ href={forgetPassword?.url ?? "/forget-password"}
66
+ onclick={forgetPassword?.onclick}
67
+ class="text-sm font-medium text-primary hover:underline"
68
+ >
69
+ {$t("link.forget.password")}?
70
+ </a>
71
+ </div>
72
+
73
+ <button
74
+ type="submit"
75
+ disabled={isLoading}
76
+ class="w-full flex items-center justify-center gap-2 px-4 py-2.5 bg-primary text-white rounded-lg text-sm font-semibold transition-colors disabled:pointer-events-none disabled:opacity-50"
77
+ >
78
+ {$t("label.login")}
79
+ </button>
80
+
81
+ <SocialLogin items={socialLogins} />
82
+ </form>
@@ -6,6 +6,7 @@ type Props = {
6
6
  socialLogins?: SocialLoginItem[];
7
7
  inputLabelClass?: string;
8
8
  inputClass?: string;
9
+ isLoading?: boolean;
9
10
  };
10
11
  declare const FormLogin02: import("svelte").Component<Props, {}, "">;
11
12
  type FormLogin02 = ReturnType<typeof FormLogin02>;
@@ -1,26 +1,27 @@
1
- <script lang="ts" module>
2
- /**
3
- * @component FormLoginEmailPassword02
4
- * Variant 02 form with email and password. Wrapper of FormLogin02 variant="EMAIL".
5
- *
6
- * @example svelte
7
- * <FormLoginEmailPassword02 onSubmit={(cred) => login(cred)} />
8
- */
9
- </script>
10
-
11
- <script lang="ts">
12
- import FormLogin02 from "./FormLogin02.svelte";
13
- import type { LoginRequestDto, LinkProps, SocialLoginItem } from "../../types";
14
-
15
- type Props = {
16
- onSubmit?: (credential: LoginRequestDto) => void;
17
- forgetPassword?: LinkProps;
18
- socialLogins?: SocialLoginItem[];
19
- inputLabelClass?: string;
20
- inputClass?: string;
21
- };
22
-
23
- let { onSubmit, forgetPassword, socialLogins = [], inputLabelClass, inputClass }: Props = $props();
24
- </script>
25
-
26
- <FormLogin02 variant="EMAIL" {onSubmit} {forgetPassword} {socialLogins} {inputLabelClass} {inputClass} />
1
+ <script lang="ts" module>
2
+ /**
3
+ * @component FormLoginEmailPassword02
4
+ * Variant 02 form with email and password. Wrapper of FormLogin02 variant="EMAIL".
5
+ *
6
+ * @example svelte
7
+ * <FormLoginEmailPassword02 onSubmit={(cred) => login(cred)} />
8
+ */
9
+ </script>
10
+
11
+ <script lang="ts">
12
+ import FormLogin02 from "./FormLogin02.svelte";
13
+ import type { LoginRequestDto, LinkProps, SocialLoginItem } from "../../types";
14
+
15
+ type Props = {
16
+ onSubmit?: (credential: LoginRequestDto) => void;
17
+ forgetPassword?: LinkProps;
18
+ socialLogins?: SocialLoginItem[];
19
+ inputLabelClass?: string;
20
+ inputClass?: string;
21
+ isLoading?: boolean;
22
+ };
23
+
24
+ let { onSubmit, forgetPassword, socialLogins = [], inputLabelClass, inputClass, isLoading }: Props = $props();
25
+ </script>
26
+
27
+ <FormLogin02 variant="EMAIL" {onSubmit} {forgetPassword} {socialLogins} {inputLabelClass} {inputClass} {isLoading} />
@@ -5,6 +5,7 @@ type Props = {
5
5
  socialLogins?: SocialLoginItem[];
6
6
  inputLabelClass?: string;
7
7
  inputClass?: string;
8
+ isLoading?: boolean;
8
9
  };
9
10
  declare const FormLoginEmailPassword02: import("svelte").Component<Props, {}, "">;
10
11
  type FormLoginEmailPassword02 = ReturnType<typeof FormLoginEmailPassword02>;