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,114 +1,114 @@
1
- <script lang="ts">
2
- import { HugeiconsIcon } from "@hugeicons/svelte";
3
- import { ArrowRight01Icon } from "@hugeicons/core-free-icons";
4
- import type { LoginCarouselProps } from "../../pages/security/login/types";
5
- import type { Snippet } from "svelte";
6
- import Button from "../button/button.svelte";
7
- import { t } from "../../../i18n";
8
- import Logo from "../../../assets/login-01-admin.webp";
9
-
10
- type Props = {
11
- title?: string | Snippet;
12
- autoPlayInterval?: number;
13
- };
14
-
15
- let {
16
- title,
17
- items = [],
18
- type = "DOT",
19
- autoPlayInterval = 5000,
20
- }: Props & LoginCarouselProps = $props();
21
-
22
- let currentIndex = $state(0);
23
- let currentItem = $derived(items[currentIndex] ?? items[0]);
24
-
25
- function goTo(index: number) {
26
- currentIndex = index;
27
- }
28
-
29
- function next() {
30
- if (items.length === 0) return;
31
- currentIndex = (currentIndex + 1) % items.length;
32
- }
33
-
34
- $effect(() => {
35
- if (items.length <= 1) return;
36
- const timer = setInterval(next, autoPlayInterval);
37
- return () => clearInterval(timer);
38
- });
39
- </script>
40
-
41
- <div
42
- class="relative flex flex-col justify-between overflow-hidden h-screen p-8 bg-gradient text-white"
43
- >
44
- <div class="flex items-center gap-2">
45
- <div class="font-bold text-xl tracking-wider flex items-center gap-2">
46
- {#if typeof title === "function"}
47
- {@render title()}
48
- {:else}
49
- {title || $t("label.welcome")}
50
- {/if}
51
- </div>
52
- </div>
53
-
54
- <section class="flex flex-col gap-5">
55
- <div class="my-auto max-w-sm md:max-w-md lg:max-w-100">
56
- {#if currentItem}
57
- {#key currentIndex}
58
- <div
59
- class="text-xl md:text-2xl font-bold tracking-tight mb-4 leading-tight animate-fade-in duration-300"
60
- >
61
- {currentItem.title}
62
- </div>
63
- <p class=" text-sm mb-6 leading-relaxed animate-fade-in duration-300">
64
- {currentItem.description}
65
- </p>
66
- {/key}
67
- <Button
68
- variant="outline"
69
- class="inline-flex items-center gap-2 text-sm font-semibold bg-primary"
70
- >
71
- {currentItem.buttonText}
72
- <HugeiconsIcon icon={ArrowRight01Icon} size={16} />
73
- </Button>
74
- {/if}
75
- </div>
76
-
77
- <div class="flex items-center gap-2 mb-2">
78
- {#each items as it, i (it.title)}
79
- <button
80
- type="button"
81
- onclick={() => goTo(i)}
82
- aria-label={`Ir para o item ${i + 1}`}
83
- aria-current={currentIndex === i}
84
- class="transition-all duration-300 focus:outline-none flex items-center justify-center {currentIndex ===
85
- i
86
- ? 'opacity-100 scale-110'
87
- : 'opacity-50 hover:opacity-75'}"
88
- >
89
- {#if type === "NUMBER"}
90
- <span
91
- class="w-6 h-6 text-xs font-semibold rounded-full text-primary flex items-center justify-center"
92
- >
93
- {i + 1}
94
- </span>
95
- {:else}
96
- <span class="w-2 h-2 rounded-full bg-white"></span>
97
- {/if}
98
- </button>
99
- {/each}
100
- </div>
101
- </section>
102
-
103
- <aside
104
- class="hidden z-50 lg:block lg:absolute lg:right-0 lg:-bottom-3 lg:w-105 lg:h-105"
105
- >
106
- <img
107
- src={Logo}
108
- alt=""
109
- class="shadow rounded-tl-lg rounded-bl-lg lg:w-105 lg:h-105"
110
- />
111
- </aside>
112
- </div>
113
-
114
- <aside class="absolute grid-pattern p-0 top-0 h-screen w-8/12"></aside>
1
+ <script lang="ts">
2
+ import { HugeiconsIcon } from "@hugeicons/svelte";
3
+ import { ArrowRight01Icon } from "@hugeicons/core-free-icons";
4
+ import type { LoginCarouselProps } from "../../pages/security/login/types";
5
+ import type { Snippet } from "svelte";
6
+ import Button from "../button/button.svelte";
7
+ import { t } from "../../../i18n";
8
+ import Logo from "../../../assets/login-01-admin.webp";
9
+
10
+ type Props = {
11
+ title?: string | Snippet;
12
+ autoPlayInterval?: number;
13
+ };
14
+
15
+ let {
16
+ title,
17
+ items = [],
18
+ type = "DOT",
19
+ autoPlayInterval = 5000,
20
+ }: Props & LoginCarouselProps = $props();
21
+
22
+ let currentIndex = $state(0);
23
+ let currentItem = $derived(items[currentIndex] ?? items[0]);
24
+
25
+ function goTo(index: number) {
26
+ currentIndex = index;
27
+ }
28
+
29
+ function next() {
30
+ if (items.length === 0) return;
31
+ currentIndex = (currentIndex + 1) % items.length;
32
+ }
33
+
34
+ $effect(() => {
35
+ if (items.length <= 1) return;
36
+ const timer = setInterval(next, autoPlayInterval);
37
+ return () => clearInterval(timer);
38
+ });
39
+ </script>
40
+
41
+ <div
42
+ class="relative flex flex-col justify-between overflow-hidden h-screen p-8"
43
+ >
44
+ <div class="flex items-center gap-2">
45
+ <div class="font-bold text-xl tracking-wider flex items-center gap-2">
46
+ {#if typeof title === "function"}
47
+ {@render title()}
48
+ {:else}
49
+ {title || $t("label.welcome")}
50
+ {/if}
51
+ </div>
52
+ </div>
53
+
54
+ <section class="flex flex-col gap-5">
55
+ <div class="my-auto max-w-sm md:max-w-md lg:max-w-100">
56
+ {#if currentItem}
57
+ {#key currentIndex}
58
+ <div
59
+ class="text-xl md:text-2xl font-bold tracking-tight mb-4 leading-tight animate-fade-in duration-300"
60
+ >
61
+ {currentItem.title}
62
+ </div>
63
+ <p class=" text-sm mb-6 leading-relaxed animate-fade-in duration-300">
64
+ {currentItem.description}
65
+ </p>
66
+ {/key}
67
+ <Button
68
+ variant="outline"
69
+ class="inline-flex items-center gap-2 text-sm font-semibold bg-primary"
70
+ >
71
+ {currentItem.buttonText}
72
+ <HugeiconsIcon icon={ArrowRight01Icon} size={16} />
73
+ </Button>
74
+ {/if}
75
+ </div>
76
+
77
+ <div class="flex items-center gap-2 mb-2">
78
+ {#each items as it, i (it.title)}
79
+ <button
80
+ type="button"
81
+ onclick={() => goTo(i)}
82
+ aria-label={`Ir para o item ${i + 1}`}
83
+ aria-current={currentIndex === i}
84
+ class="transition-all duration-300 focus:outline-none flex items-center justify-center {currentIndex ===
85
+ i
86
+ ? 'opacity-100 scale-110'
87
+ : 'opacity-50 hover:opacity-75'}"
88
+ >
89
+ {#if type === "NUMBER"}
90
+ <span
91
+ class="w-6 h-6 text-xs font-semibold rounded-full text-primary flex items-center justify-center"
92
+ >
93
+ {i + 1}
94
+ </span>
95
+ {:else}
96
+ <span class="w-2 h-2 rounded-full bg-white"></span>
97
+ {/if}
98
+ </button>
99
+ {/each}
100
+ </div>
101
+ </section>
102
+
103
+ <aside
104
+ class="hidden z-50 lg:absolute lg:right-0 lg:-bottom-3 lg:w-105 lg:h-105"
105
+ >
106
+ <img
107
+ src={Logo}
108
+ alt=""
109
+ class="shadow rounded-tl-lg rounded-bl-lg lg:w-105 lg:h-105"
110
+ />
111
+ </aside>
112
+ </div>
113
+
114
+ <aside class="absolute grid-pattern p-0 top-0 h-screen w-8/12"></aside>
@@ -1,66 +1,66 @@
1
- <script lang="ts">
2
- import * as Empty from "../empty/index.js";
3
- import { t } from "../../../i18n";
4
- import { HugeiconsIcon } from "@hugeicons/svelte";
5
- import { Search01Icon } from "@hugeicons/core-free-icons";
6
- import type { NotFoundEmptyProps } from "./type";
7
-
8
- let {
9
- title,
10
- description,
11
- icon = Search01Icon,
12
- className = "",
13
- actionHref = "#/",
14
- actionLabel,
15
- onAction,
16
- showAction = false,
17
- children,
18
- }: NotFoundEmptyProps = $props();
19
-
20
- const resolvedTitle = $derived(title ?? $t("empty.title"));
21
- const resolvedDescription = $derived(description ?? $t("empty.description"));
22
- </script>
23
-
24
- <Empty.Root class="w-full py-8 {className}">
25
- <Empty.Header>
26
- {#if icon}
27
- <Empty.Media variant="icon">
28
- <HugeiconsIcon {icon} class="size-6 text-muted-foreground" />
29
- </Empty.Media>
30
- {/if}
31
- <Empty.Title class="text-base font-semibold">
32
- {resolvedTitle}
33
- </Empty.Title>
34
- <Empty.Description class="text-sm text-muted-foreground max-w-sm">
35
- {resolvedDescription}
36
- </Empty.Description>
37
- </Empty.Header>
38
-
39
- {#if children}
40
- <Empty.Content>
41
- {@render children()}
42
- </Empty.Content>
43
- {:else if showAction || onAction}
44
- <Empty.Content>
45
- {#if onAction}
46
- <button
47
- type="button"
48
- onclick={onAction}
49
- class="text-xs font-medium text-primary hover:underline"
50
- >
51
- {actionLabel ?? $t("empty.contact_support")}
52
- </button>
53
- {:else}
54
- <Empty.Description class="text-xs">
55
- {$t("empty.support")}
56
- <a
57
- href={actionHref}
58
- class="text-primary hover:underline font-medium ml-1"
59
- >
60
- {actionLabel ?? $t("empty.contact_support")}
61
- </a>
62
- </Empty.Description>
63
- {/if}
64
- </Empty.Content>
65
- {/if}
66
- </Empty.Root>
1
+ <script lang="ts">
2
+ import * as Empty from "../empty/index.js";
3
+ import { t } from "../../../i18n";
4
+ import { HugeiconsIcon } from "@hugeicons/svelte";
5
+ import { Search01Icon } from "@hugeicons/core-free-icons";
6
+ import type { NotFoundEmptyProps } from "./type";
7
+
8
+ let {
9
+ title,
10
+ description,
11
+ icon = Search01Icon,
12
+ className = "",
13
+ actionHref = "#/",
14
+ actionLabel,
15
+ onAction,
16
+ showAction = false,
17
+ children,
18
+ }: NotFoundEmptyProps = $props();
19
+
20
+ const resolvedTitle = $derived(title ?? $t("empty.title"));
21
+ const resolvedDescription = $derived(description ?? $t("empty.description"));
22
+ </script>
23
+
24
+ <Empty.Root class="w-full py-8 {className}">
25
+ <Empty.Header>
26
+ {#if icon}
27
+ <Empty.Media variant="icon">
28
+ <HugeiconsIcon {icon} class="size-6 text-muted-foreground" />
29
+ </Empty.Media>
30
+ {/if}
31
+ <Empty.Title class="text-base font-semibold">
32
+ {resolvedTitle}
33
+ </Empty.Title>
34
+ <Empty.Description class="text-sm text-muted-foreground max-w-sm">
35
+ {resolvedDescription}
36
+ </Empty.Description>
37
+ </Empty.Header>
38
+
39
+ {#if children}
40
+ <Empty.Content>
41
+ {@render children()}
42
+ </Empty.Content>
43
+ {:else if showAction || onAction}
44
+ <Empty.Content>
45
+ {#if onAction}
46
+ <button
47
+ type="button"
48
+ onclick={onAction}
49
+ class="text-xs font-medium text-primary hover:underline"
50
+ >
51
+ {actionLabel ?? $t("empty.contact_support")}
52
+ </button>
53
+ {:else}
54
+ <Empty.Description class="text-xs">
55
+ {$t("empty.support")}
56
+ <a
57
+ href={actionHref}
58
+ class="text-primary hover:underline font-medium ml-1"
59
+ >
60
+ {actionLabel ?? $t("empty.contact_support")}
61
+ </a>
62
+ </Empty.Description>
63
+ {/if}
64
+ </Empty.Content>
65
+ {/if}
66
+ </Empty.Root>
@@ -1,87 +1,87 @@
1
- <script lang="ts" module>
2
- import type { Country } from './types';
3
-
4
- export const COUNTRIES: Country[] = [
5
- { id: 'ao', iso2: 'ao', name: 'Angola', dialCode: '244' },
6
- { id: 'br', iso2: 'br', name: 'Brazil', dialCode: '55' },
7
- { id: 'cv', iso2: 'cv', name: 'Cape Verde', dialCode: '238' },
8
- { id: 'cn', iso2: 'cn', name: 'China', dialCode: '86' },
9
- { id: 'fr', iso2: 'fr', name: 'France', dialCode: '33' },
10
- { id: 'gw', iso2: 'gw', name: 'Guinea-Bissau', dialCode: '245' },
11
- { id: 'jp', iso2: 'jp', name: 'Japan', dialCode: '81' },
12
- { id: 'mz', iso2: 'mz', name: 'Mozambique', dialCode: '258' },
13
- { id: 'pt', iso2: 'pt', name: 'Portugal', dialCode: '351' },
14
- { id: 'st', iso2: 'st', name: 'São Tomé and Príncipe', dialCode: '239' },
15
- { id: 'za', iso2: 'za', name: 'South Africa', dialCode: '27' },
16
- { id: 'es', iso2: 'es', name: 'Spain', dialCode: '34' },
17
- { id: 'gb', iso2: 'gb', name: 'United Kingdom', dialCode: '44' },
18
- { id: 'us', iso2: 'us', name: 'United States', dialCode: '1' }
19
- ];
20
- </script>
21
-
22
- <script lang="ts">
23
- import { cn } from '../../../utils.js';
24
- import { HugeiconsIcon } from '@hugeicons/svelte';
25
- import { GlobalIcon, UnfoldMoreIcon } from '@hugeicons/core-free-icons';
26
- import type { CountryCode } from './types';
27
-
28
- interface Props {
29
- selected?: CountryCode | null;
30
- dialCode?: string;
31
- disabled?: boolean;
32
- onselect?: (val: CountryCode | null) => void;
33
- order?: (a: Country, b: Country) => number;
34
- }
35
-
36
- let {
37
- selected = $bindable(null),
38
- // eslint-disable-next-line no-useless-assignment
39
- dialCode = $bindable(''),
40
- disabled = false,
41
- onselect = undefined,
42
- order = (a, b) => {
43
- return a.name.localeCompare(b.name);
44
- }
45
- }: Props = $props();
46
-
47
- let ordered = $derived(COUNTRIES.slice().sort(order));
48
-
49
- function handleChange(e: Event) {
50
- selected = (e.currentTarget as HTMLSelectElement).value;
51
- onselect?.(selected);
52
- }
53
-
54
- $effect(() => {
55
- const country = COUNTRIES.find((c) => c.iso2 === selected);
56
- dialCode = country?.dialCode ?? '';
57
- });
58
- </script>
59
-
60
- <div class="relative flex shrink-0 items-center">
61
- <HugeiconsIcon
62
- icon={GlobalIcon}
63
- strokeWidth={2}
64
- class="text-muted-foreground pointer-events-none absolute left-2.5 size-4"
65
- />
66
- <select
67
- value={selected ?? ''}
68
- onchange={handleChange}
69
- aria-label="Country code"
70
- {disabled}
71
- class={cn(
72
- 'border-input bg-input/30 focus-visible:ring-ring/50 dark:bg-input/30 focus-visible:border-ring h-9 w-fit appearance-none rounded-l-md rounded-r-none border py-1 pr-8 pl-8 text-sm transition-[color,box-shadow] focus-visible:ring-[3px] outline-none disabled:cursor-not-allowed disabled:opacity-50 [&>option]:bg-background',
73
- disabled ? 'cursor-not-allowed opacity-50' : ''
74
- )}
75
- >
76
- {#each ordered as country (country.id)}
77
- <option value={country.iso2}>
78
- {country.name} (+{country.dialCode})
79
- </option>
80
- {/each}
81
- </select>
82
- <HugeiconsIcon
83
- icon={UnfoldMoreIcon}
84
- strokeWidth={2}
85
- class="text-muted-foreground pointer-events-none absolute right-2.5 size-4"
86
- />
87
- </div>
1
+ <script lang="ts" module>
2
+ import type { Country } from "./types";
3
+
4
+ export const COUNTRIES: Country[] = [
5
+ { id: "ao", iso2: "ao", name: "Angola", dialCode: "244" },
6
+ { id: "br", iso2: "br", name: "Brazil", dialCode: "55" },
7
+ { id: "cv", iso2: "cv", name: "Cape Verde", dialCode: "238" },
8
+ { id: "cn", iso2: "cn", name: "China", dialCode: "86" },
9
+ { id: "fr", iso2: "fr", name: "France", dialCode: "33" },
10
+ { id: "gw", iso2: "gw", name: "Guinea-Bissau", dialCode: "245" },
11
+ { id: "jp", iso2: "jp", name: "Japan", dialCode: "81" },
12
+ { id: "mz", iso2: "mz", name: "Mozambique", dialCode: "258" },
13
+ { id: "pt", iso2: "pt", name: "Portugal", dialCode: "351" },
14
+ {
15
+ id: "st",
16
+ iso2: "st",
17
+ name: "São Tomé and Príncipe",
18
+ dialCode: "239",
19
+ },
20
+ { id: "za", iso2: "za", name: "South Africa", dialCode: "27" },
21
+ { id: "es", iso2: "es", name: "Spain", dialCode: "34" },
22
+ { id: "gb", iso2: "gb", name: "United Kingdom", dialCode: "44" },
23
+ { id: "us", iso2: "us", name: "United States", dialCode: "1" },
24
+ ];
25
+ </script>
26
+
27
+ <script lang="ts">
28
+ import { cn } from "../../../utils.js";
29
+ import { HugeiconsIcon } from "@hugeicons/svelte";
30
+ import { GlobalIcon } from "@hugeicons/core-free-icons";
31
+ import type { CountryCode } from "./types";
32
+
33
+ interface Props {
34
+ selected?: CountryCode | null;
35
+ dialCode?: string;
36
+ disabled?: boolean;
37
+ onselect?: (val: CountryCode | null) => void;
38
+ order?: (a: Country, b: Country) => number;
39
+ }
40
+
41
+ let {
42
+ selected = $bindable(null),
43
+ // eslint-disable-next-line no-useless-assignment
44
+ dialCode = $bindable(""),
45
+ disabled = false,
46
+ onselect = undefined,
47
+ order = (a, b) => {
48
+ return a.name.localeCompare(b.name);
49
+ },
50
+ }: Props = $props();
51
+
52
+ let ordered = $derived(COUNTRIES.slice().sort(order));
53
+
54
+ function handleChange(e: Event) {
55
+ selected = (e.currentTarget as HTMLSelectElement).value;
56
+ onselect?.(selected);
57
+ }
58
+
59
+ $effect(() => {
60
+ const country = COUNTRIES.find((c) => c.iso2 === selected);
61
+ dialCode = country?.dialCode ?? "";
62
+ });
63
+ </script>
64
+
65
+ <div class="relative flex shrink-0 items-center">
66
+ <HugeiconsIcon
67
+ icon={GlobalIcon}
68
+ strokeWidth={2}
69
+ class="text-muted-foreground pointer-events-none absolute left-2.5 size-4"
70
+ />
71
+ <select
72
+ value={selected ?? ""}
73
+ onchange={handleChange}
74
+ aria-label="Country code"
75
+ {disabled}
76
+ class={cn(
77
+ "border-input bg-input/30 focus-visible:ring-ring/50 dark:bg-input/30 focus-visible:border-ring h-9 w-fit appearance-none rounded-l-md rounded-r-none border py-1 pr-8 pl-8 text-sm transition-[color,box-shadow] focus-visible:ring-[3px] outline-none disabled:cursor-not-allowed disabled:opacity-50 [&>option]:bg-background",
78
+ disabled ? "cursor-not-allowed opacity-50" : "",
79
+ )}
80
+ >
81
+ {#each ordered as country (country.id)}
82
+ <option value={country.iso2}>
83
+ (+{country.dialCode})
84
+ </option>
85
+ {/each}
86
+ </select>
87
+ </div>
@@ -1,6 +1,6 @@
1
- import type { Country } from './types';
1
+ import type { Country } from "./types";
2
2
  export declare const COUNTRIES: Country[];
3
- import type { CountryCode } from './types';
3
+ import type { CountryCode } from "./types";
4
4
  interface Props {
5
5
  selected?: CountryCode | null;
6
6
  dialCode?: string;
@@ -1,12 +1,12 @@
1
- <script lang="ts">
2
- import type { Country } from './types';
3
-
4
- interface Props {
5
- country?: Country | null;
6
- }
7
-
8
- let { country = null }: Props = $props();
9
- </script>
10
-
11
- <span class="bg-foreground/20 flex h-4 w-6 shrink-0 overflow-clip rounded-sm">
1
+ <script lang="ts">
2
+ import type { Country } from './types';
3
+
4
+ interface Props {
5
+ country?: Country | null;
6
+ }
7
+
8
+ let { country = null }: Props = $props();
9
+ </script>
10
+
11
+ <span class="bg-foreground/20 flex h-4 w-6 shrink-0 overflow-clip rounded-sm">
12
12
  </span>