negodesign 0.0.11 → 0.0.13

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 (223) hide show
  1. package/dist/components/NegoDesign.svelte +1 -1
  2. package/dist/components/NegoDesign.svelte.d.ts +1 -1
  3. package/dist/components/core/button/ButtonBack.svelte +1 -1
  4. package/dist/components/core/button/ButtonLogin.svelte +1 -1
  5. package/dist/components/core/button/ButtonLoginWith.svelte +1 -1
  6. package/dist/components/core/button/ButtonSend.svelte +1 -1
  7. package/dist/components/core/card/media/01/CardMedia01.svelte +114 -0
  8. package/dist/components/core/card/media/01/CardMedia01.svelte.d.ts +4 -0
  9. package/dist/components/core/card/media/02/CardMedia02.svelte +113 -0
  10. package/dist/components/core/card/media/02/CardMedia02.svelte.d.ts +4 -0
  11. package/dist/components/core/card/media/CardMedia.svelte +17 -0
  12. package/dist/components/core/card/media/CardMedia.svelte.d.ts +8 -0
  13. package/dist/components/core/card/media/data.d.ts +3 -0
  14. package/dist/components/core/card/media/data.js +117 -0
  15. package/dist/components/core/card/profile/01/CardProfile01.svelte +101 -0
  16. package/dist/components/core/card/profile/01/CardProfile01.svelte.d.ts +4 -0
  17. package/dist/components/core/card/profile/02/CardProfile02.svelte +97 -0
  18. package/dist/components/core/card/profile/02/CardProfile02.svelte.d.ts +4 -0
  19. package/dist/components/core/card/profile/CardProfile.svelte +17 -0
  20. package/dist/components/core/card/profile/CardProfile.svelte.d.ts +8 -0
  21. package/dist/components/core/card/profile/data.d.ts +3 -0
  22. package/dist/components/core/card/profile/data.js +107 -0
  23. package/dist/components/core/card/promotion/CardPromotion.svelte +44 -0
  24. package/dist/components/core/card/promotion/CardPromotion.svelte.d.ts +8 -0
  25. package/dist/components/core/card/promotion/data.d.ts +3 -0
  26. package/dist/components/core/card/promotion/data.js +31 -0
  27. package/dist/components/core/card/shared/CardButton.svelte +30 -0
  28. package/dist/components/core/card/shared/CardButton.svelte.d.ts +12 -0
  29. package/dist/components/core/card/shared/CardDescription.svelte +23 -0
  30. package/dist/components/core/card/shared/CardDescription.svelte.d.ts +6 -0
  31. package/dist/components/core/card/shared/CardFavorite.svelte +28 -0
  32. package/dist/components/core/card/shared/CardFavorite.svelte.d.ts +7 -0
  33. package/dist/components/core/card/shared/CardStarRating.svelte +20 -0
  34. package/dist/components/core/card/shared/CardStarRating.svelte.d.ts +7 -0
  35. package/dist/components/core/card/shared/CardTags.svelte +56 -0
  36. package/dist/components/core/card/shared/CardTags.svelte.d.ts +10 -0
  37. package/dist/components/core/card/shared/CardThumbnailVideo.svelte +170 -0
  38. package/dist/components/core/card/shared/CardThumbnailVideo.svelte.d.ts +10 -0
  39. package/dist/components/core/card/shared/TruncatableText.svelte +56 -0
  40. package/dist/components/core/card/shared/TruncatableText.svelte.d.ts +8 -0
  41. package/dist/components/core/card/types.d.ts +54 -0
  42. package/dist/components/core/carousel/promotion/ui/CarouselPromotion.svelte +53 -0
  43. package/dist/components/core/carousel/promotion/ui/CarouselPromotion.svelte.d.ts +4 -0
  44. package/dist/components/core/carousel/shared/ui/SimpleBadgeCarousel.svelte +59 -0
  45. package/dist/components/core/carousel/shared/ui/SimpleBadgeCarousel.svelte.d.ts +4 -0
  46. package/dist/components/core/carousel/types.d.ts +34 -0
  47. package/dist/components/core/datatable/ui/DataTableCore.svelte +5 -5
  48. package/dist/components/core/form/ui/input-code-otp.svelte +3 -3
  49. package/dist/components/core/form/ui/input-code-otp.svelte.d.ts +2 -2
  50. package/dist/components/core/form/ui/input-email-or-phone.svelte +1 -1
  51. package/dist/components/core/form/ui/input-email.svelte +1 -1
  52. package/dist/components/core/form/ui/input-password-confirm.svelte +1 -1
  53. package/dist/components/core/form/ui/input-password.svelte +1 -1
  54. package/dist/components/core/form/ui/input-phone.svelte +1 -1
  55. package/dist/components/core/form/ui/input-username.svelte +2 -2
  56. package/dist/components/core/nav/data/nav-menu-sidebar.d.ts +7 -7
  57. package/dist/components/core/nav/data/nav-menu.d.ts +31 -0
  58. package/dist/components/core/nav/data/nav-user-sidebar.d.ts +1 -1
  59. package/dist/components/core/nav/ui/menu-links.svelte +28 -0
  60. package/dist/components/core/nav/ui/menu-links.svelte.d.ts +10 -0
  61. package/dist/components/core/nav/ui/mobile/nav-menu-drawer.svelte +85 -0
  62. package/dist/components/core/nav/ui/mobile/nav-menu-drawer.svelte.d.ts +9 -0
  63. package/dist/components/core/nav/ui/{nav-menu-bottom-bar.svelte → nav-menu-bottom-sidebar.svelte} +2 -2
  64. package/dist/components/core/nav/ui/nav-menu-bottom-sidebar.svelte.d.ts +10 -0
  65. package/dist/components/core/nav/ui/nav-menu-header-sidebar.svelte.d.ts +10 -0
  66. package/dist/components/core/nav/ui/{nav-menu-bar.svelte → nav-menu-sidebar.svelte} +7 -7
  67. package/dist/components/core/nav/ui/nav-menu-sidebar.svelte.d.ts +7 -0
  68. package/dist/components/core/nav/ui/nav-menu-top-bar-sidebar.svelte.d.ts +4 -0
  69. package/dist/components/core/nav/ui/nav-menu.svelte +98 -0
  70. package/dist/components/core/nav/ui/nav-menu.svelte.d.ts +4 -0
  71. package/dist/components/core/nav/ui/nav-user-sidebar.svelte +2 -2
  72. package/dist/components/core/nav/ui/nav-user-sidebar.svelte.d.ts +2 -2
  73. package/dist/components/core/panel/CarouselSlot.svelte +38 -0
  74. package/dist/components/core/panel/CarouselSlot.svelte.d.ts +11 -0
  75. package/dist/components/core/panel/LeftHero.svelte +3 -3
  76. package/dist/components/core/panel/LeftHero.svelte.d.ts +2 -2
  77. package/dist/components/core/search/01/Search01.svelte +15 -0
  78. package/dist/components/core/search/01/Search01.svelte.d.ts +4 -0
  79. package/dist/components/core/search/02/Search02.svelte +15 -0
  80. package/dist/components/core/search/02/Search02.svelte.d.ts +4 -0
  81. package/dist/components/core/search/SearchInput.svelte +32 -0
  82. package/dist/components/core/search/SearchInput.svelte.d.ts +4 -0
  83. package/dist/components/core/search/shared/SearchInputCore.svelte +66 -0
  84. package/dist/components/core/search/shared/SearchInputCore.svelte.d.ts +4 -0
  85. package/dist/components/core/search/types.d.ts +15 -0
  86. package/dist/components/core/sidebar/MenuBarSidebar.svelte +14 -14
  87. package/dist/components/core/sidebar/MenuBarSidebar.svelte.d.ts +8 -8
  88. package/dist/components/pages/admin/{ui → 01/ui}/AdminContent.svelte +1 -1
  89. package/dist/components/pages/admin/{ui → 01/ui}/AdminContent.svelte.d.ts +1 -1
  90. package/dist/components/pages/admin/{ui → 01/ui}/AdminPanel.svelte +8 -8
  91. package/dist/components/pages/admin/{ui → 01/ui}/AdminPanel.svelte.d.ts +4 -4
  92. package/dist/components/pages/privacy-policy-or-terms-of-use/01/DocsSidebar.svelte +69 -0
  93. package/dist/components/pages/privacy-policy-or-terms-of-use/01/DocsSidebar.svelte.d.ts +10 -0
  94. package/dist/components/pages/privacy-policy-or-terms-of-use/01/PrivacyPolicyOrTermsOfUse01.svelte +73 -0
  95. package/dist/components/pages/privacy-policy-or-terms-of-use/01/PrivacyPolicyOrTermsOfUse01.svelte.d.ts +7 -0
  96. package/dist/components/pages/privacy-policy-or-terms-of-use/01/TableOfContents.svelte +37 -0
  97. package/dist/components/pages/privacy-policy-or-terms-of-use/01/TableOfContents.svelte.d.ts +8 -0
  98. package/dist/components/pages/privacy-policy-or-terms-of-use/02/DocsPageHero.svelte +59 -0
  99. package/dist/components/pages/privacy-policy-or-terms-of-use/02/DocsPageHero.svelte.d.ts +10 -0
  100. package/dist/components/pages/privacy-policy-or-terms-of-use/02/PageHero.svelte +51 -0
  101. package/dist/components/pages/privacy-policy-or-terms-of-use/02/PageHero.svelte.d.ts +14 -0
  102. package/dist/components/pages/privacy-policy-or-terms-of-use/02/PrivacyPolicyOrTermsOfUse02.svelte +24 -0
  103. package/dist/components/pages/privacy-policy-or-terms-of-use/02/PrivacyPolicyOrTermsOfUse02.svelte.d.ts +7 -0
  104. package/dist/components/pages/privacy-policy-or-terms-of-use/PrivacyPolicyOrTermsOfUse.svelte +32 -0
  105. package/dist/components/pages/privacy-policy-or-terms-of-use/PrivacyPolicyOrTermsOfUse.svelte.d.ts +4 -0
  106. package/dist/components/pages/privacy-policy-or-terms-of-use/shared/ContentBlockView.svelte +26 -0
  107. package/dist/components/pages/privacy-policy-or-terms-of-use/shared/ContentBlockView.svelte.d.ts +7 -0
  108. package/dist/components/pages/privacy-policy-or-terms-of-use/shared/DocSectionView.svelte +44 -0
  109. package/dist/components/pages/privacy-policy-or-terms-of-use/shared/DocSectionView.svelte.d.ts +7 -0
  110. package/dist/components/pages/privacy-policy-or-terms-of-use/shared/PrivacyPolicyOrTermsOfUseBreadcrumb.svelte +34 -0
  111. package/dist/components/pages/privacy-policy-or-terms-of-use/shared/PrivacyPolicyOrTermsOfUseBreadcrumb.svelte.d.ts +7 -0
  112. package/dist/components/pages/privacy-policy-or-terms-of-use/shared/toc.d.ts +8 -0
  113. package/dist/components/pages/privacy-policy-or-terms-of-use/shared/toc.js +14 -0
  114. package/dist/components/pages/privacy-policy-or-terms-of-use/types.d.ts +62 -0
  115. package/dist/components/pages/privacy-policy-or-terms-of-use/types.js +5 -0
  116. package/dist/components/pages/{forget-password → security/forget-password}/01/ui/ForgetPasswordCard.svelte +15 -10
  117. package/dist/components/pages/{forget-password → security/forget-password}/01/ui/ForgetPasswordCard.svelte.d.ts +0 -5
  118. package/dist/components/pages/{forget-password → security/forget-password}/01/ui/FormForgetPassword.svelte +15 -5
  119. package/dist/components/pages/{forget-password → security/forget-password}/01/ui/PageForgetPassword01.svelte +6 -6
  120. package/dist/components/pages/{forget-password → security/forget-password}/PageForgetPassword.svelte +10 -7
  121. package/dist/components/pages/{forget-password → security/forget-password}/PageForgetPassword.svelte.d.ts +0 -7
  122. package/dist/components/pages/{forget-password → security/forget-password}/types.d.ts +3 -3
  123. package/dist/components/pages/{login → security/login}/01/ui/FormLogin.svelte +19 -15
  124. package/dist/components/pages/{login → security/login}/01/ui/FormLogin.svelte.d.ts +0 -6
  125. package/dist/components/pages/{login → security/login}/01/ui/FormLoginEmailPassword.svelte +10 -1
  126. package/dist/components/pages/{login → security/login}/01/ui/FormLoginEmailPassword.svelte.d.ts +0 -1
  127. package/dist/components/pages/{login → security/login}/01/ui/FormLoginPhonePassword.svelte +10 -1
  128. package/dist/components/pages/{login → security/login}/01/ui/FormLoginPhonePassword.svelte.d.ts +0 -1
  129. package/dist/components/pages/{login → security/login}/01/ui/FormLoginUsernamePassword.svelte +10 -1
  130. package/dist/components/pages/{login → security/login}/01/ui/FormLoginUsernamePassword.svelte.d.ts +0 -1
  131. package/dist/components/pages/{login → security/login}/01/ui/FormRegister.svelte +5 -5
  132. package/dist/components/pages/{login → security/login}/01/ui/LoginCard.svelte +28 -20
  133. package/dist/components/pages/security/login/01/ui/LoginCard.svelte.d.ts +13 -0
  134. package/dist/components/pages/{login → security/login}/01/ui/PageLogin01.svelte +12 -11
  135. package/dist/components/pages/security/login/PageLogin.svelte +22 -0
  136. package/dist/components/pages/security/login/PageLogin.svelte.d.ts +8 -0
  137. package/dist/components/pages/security/login/types.d.ts +33 -0
  138. package/dist/components/pages/security/login/types.js +1 -0
  139. package/dist/components/pages/{otp-verification → security/otp-verification}/01/ui/FormOtpVerification.svelte +13 -3
  140. package/dist/components/pages/{otp-verification → security/otp-verification}/01/ui/OtpVerificationCard.svelte +15 -10
  141. package/dist/components/pages/{otp-verification → security/otp-verification}/01/ui/OtpVerificationCard.svelte.d.ts +0 -5
  142. package/dist/components/pages/{otp-verification → security/otp-verification}/01/ui/PageOtpVerification01.svelte +12 -6
  143. package/dist/components/pages/{otp-verification → security/otp-verification}/PageOtpVerification.svelte +10 -4
  144. package/dist/components/pages/{otp-verification → security/otp-verification}/PageOtpVerification.svelte.d.ts +0 -4
  145. package/dist/components/pages/{otp-verification → security/otp-verification}/types.d.ts +3 -3
  146. package/dist/components/pages/security/otp-verification/types.js +1 -0
  147. package/dist/components/pages/{reset-password → security/reset-password}/01/ui/FormResetPassword.svelte +15 -5
  148. package/dist/components/pages/{reset-password → security/reset-password}/01/ui/PageResetPassword01.svelte +12 -6
  149. package/dist/components/pages/{reset-password → security/reset-password}/01/ui/ResetPasswordCard.svelte +15 -10
  150. package/dist/components/pages/{reset-password → security/reset-password}/01/ui/ResetPasswordCard.svelte.d.ts +0 -5
  151. package/dist/components/pages/{reset-password → security/reset-password}/PageResetPassword.svelte +10 -4
  152. package/dist/components/pages/{reset-password → security/reset-password}/PageResetPassword.svelte.d.ts +0 -4
  153. package/dist/components/pages/{reset-password → security/reset-password}/types.d.ts +3 -3
  154. package/dist/components/pages/security/reset-password/types.js +1 -0
  155. package/dist/components/ui/button/button.svelte +82 -101
  156. package/dist/components/ui/button/button.svelte.d.ts +36 -63
  157. package/dist/components/ui/button/index.d.ts +2 -2
  158. package/dist/components/ui/button/index.js +2 -2
  159. package/dist/components/ui/carousel/carousel-content.svelte +43 -0
  160. package/dist/components/ui/carousel/carousel-content.svelte.d.ts +5 -0
  161. package/dist/components/ui/carousel/carousel-item.svelte +30 -0
  162. package/dist/components/ui/carousel/carousel-item.svelte.d.ts +5 -0
  163. package/dist/components/ui/carousel/carousel-next.svelte +40 -0
  164. package/dist/components/ui/carousel/carousel-next.svelte.d.ts +4 -0
  165. package/dist/components/ui/carousel/carousel-previous.svelte +40 -0
  166. package/dist/components/ui/carousel/carousel-previous.svelte.d.ts +4 -0
  167. package/dist/components/ui/carousel/carousel.svelte +94 -0
  168. package/dist/components/ui/carousel/carousel.svelte.d.ts +5 -0
  169. package/dist/components/ui/carousel/context.d.ts +31 -0
  170. package/dist/components/ui/carousel/context.js +12 -0
  171. package/dist/components/ui/carousel/index.d.ts +6 -0
  172. package/dist/components/ui/carousel/index.js +8 -0
  173. package/dist/components/ui/input-group/input-group-addon.svelte +6 -0
  174. package/dist/components/ui/input-group/input-group-addon.svelte.d.ts +6 -0
  175. package/dist/components/ui/light-switch/light-switch.svelte +17 -6
  176. package/dist/components/ui/light-switch/light-switch.svelte.d.ts +2 -2
  177. package/dist/components/ui/star-rating/index.d.ts +2 -0
  178. package/dist/components/ui/star-rating/index.js +2 -0
  179. package/dist/components/ui/star-rating/star-rating-star.svelte +41 -0
  180. package/dist/components/ui/star-rating/star-rating-star.svelte.d.ts +4 -0
  181. package/dist/components/ui/star-rating/star-rating.svelte +20 -0
  182. package/dist/components/ui/star-rating/star-rating.svelte.d.ts +4 -0
  183. package/dist/components/ui/star-rating/types.d.ts +5 -0
  184. package/dist/components/ui/star-rating/types.js +1 -0
  185. package/dist/globals.css +645 -36
  186. package/dist/hooks/responsive.svelte.d.ts +3 -0
  187. package/dist/hooks/responsive.svelte.js +18 -0
  188. package/dist/i18n/index.d.ts +2 -2
  189. package/dist/i18n/index.js +2 -2
  190. package/dist/i18n/langs/en.d.ts +23 -8
  191. package/dist/i18n/langs/en.js +23 -8
  192. package/dist/i18n/langs/pt.d.ts +23 -8
  193. package/dist/i18n/langs/pt.js +23 -8
  194. package/dist/i18n/translations.d.ts +46 -16
  195. package/dist/index.d.ts +15 -9
  196. package/dist/index.js +15 -9
  197. package/dist/styles/globals.css +147 -141
  198. package/dist/types/index.d.ts +4 -4
  199. package/package.json +11 -9
  200. package/dist/components/core/carousel/data/CarouselModel.d.ts +0 -11
  201. package/dist/components/core/nav/ui/nav-menu-bar.svelte.d.ts +0 -7
  202. package/dist/components/core/nav/ui/nav-menu-bottom-bar.svelte.d.ts +0 -10
  203. package/dist/components/core/nav/ui/nav-menu-header.svelte.d.ts +0 -10
  204. package/dist/components/core/nav/ui/nav-menu-top-bar.svelte.d.ts +0 -4
  205. package/dist/components/pages/login/01/ui/LoginCard.svelte.d.ts +0 -21
  206. package/dist/components/pages/login/PageLogin.svelte +0 -21
  207. package/dist/components/pages/login/PageLogin.svelte.d.ts +0 -17
  208. package/dist/components/pages/login/types.d.ts +0 -23
  209. /package/dist/components/{pages/forget-password → core/card}/types.js +0 -0
  210. /package/dist/components/{pages/login → core/carousel}/types.js +0 -0
  211. /package/dist/components/core/{carousel/data/CarouselModel.js → nav/data/nav-menu.js} +0 -0
  212. /package/dist/components/core/nav/ui/{nav-menu-header.svelte → nav-menu-header-sidebar.svelte} +0 -0
  213. /package/dist/components/core/nav/ui/{nav-menu-top-bar.svelte → nav-menu-top-bar-sidebar.svelte} +0 -0
  214. /package/dist/components/{pages/otp-verification → core/search}/types.js +0 -0
  215. /package/dist/components/pages/{forget-password → security/forget-password}/01/ui/FormForgetPassword.svelte.d.ts +0 -0
  216. /package/dist/components/pages/{forget-password → security/forget-password}/01/ui/PageForgetPassword01.svelte.d.ts +0 -0
  217. /package/dist/components/pages/{reset-password → security/forget-password}/types.js +0 -0
  218. /package/dist/components/pages/{login → security/login}/01/ui/FormRegister.svelte.d.ts +0 -0
  219. /package/dist/components/pages/{login → security/login}/01/ui/PageLogin01.svelte.d.ts +0 -0
  220. /package/dist/components/pages/{otp-verification → security/otp-verification}/01/ui/FormOtpVerification.svelte.d.ts +0 -0
  221. /package/dist/components/pages/{otp-verification → security/otp-verification}/01/ui/PageOtpVerification01.svelte.d.ts +0 -0
  222. /package/dist/components/pages/{reset-password → security/reset-password}/01/ui/FormResetPassword.svelte.d.ts +0 -0
  223. /package/dist/components/pages/{reset-password → security/reset-password}/01/ui/PageResetPassword01.svelte.d.ts +0 -0
@@ -0,0 +1,54 @@
1
+ import type { IconSvgElement } from "@hugeicons/svelte";
2
+ export interface CardTagsProps {
3
+ icon?: IconSvgElement;
4
+ text: string;
5
+ }
6
+ export interface CardMediaProps {
7
+ id: string | number;
8
+ logo?: string;
9
+ title?: string;
10
+ content?: string;
11
+ startMax?: number;
12
+ imageUrl?: string;
13
+ videoUrl?: string;
14
+ className?: string;
15
+ tags?: CardTagsProps[];
16
+ isFavorite?: boolean;
17
+ startNumber?: number;
18
+ isTagBorderBottom?: boolean;
19
+ buttonProfileClass?: string;
20
+ buttonDetailsClass?: string;
21
+ isVideoButtonMaximized?: boolean;
22
+ isImageButtonMaximized?: boolean;
23
+ onFavoriteClick?: (id: string | number) => void;
24
+ onButtonProfile?: (id: string | number) => void;
25
+ onButtonDetails?: (id: string | number) => void;
26
+ videoAction?: 'START_REPRODUCTION' | 'HOVER_REPRODUCTION';
27
+ }
28
+ export interface CardProfileProps {
29
+ id: string | number;
30
+ logo?: string;
31
+ title?: string;
32
+ content?: string;
33
+ startMax?: number;
34
+ className?: string;
35
+ tags?: CardTagsProps[];
36
+ isFavorite?: boolean;
37
+ startNumber?: number;
38
+ isTagBorderBottom?: boolean;
39
+ buttonProfileClass?: string;
40
+ buttonDetailsClass?: string;
41
+ onFavoriteClick?: (id: string | number) => void;
42
+ onButtonProfile?: (id: string | number) => void;
43
+ onButtonDetails?: (id: string | number) => void;
44
+ }
45
+ export interface CardPromotionProps {
46
+ id: string | number;
47
+ logo?: string;
48
+ imageUrl?: string;
49
+ title?: string;
50
+ className?: string;
51
+ isFavorite?: boolean;
52
+ oldPrice?: string | number;
53
+ newPrice?: string | number;
54
+ }
@@ -0,0 +1,53 @@
1
+ <script lang="ts">
2
+ import CardPromotion from "../../../card/promotion/CardPromotion.svelte";
3
+ import type { CarouselPromotionProps } from "../../types.js";
4
+ import Button from "../../../../ui/button/button.svelte";
5
+ import CarouselSlot from "../../../panel/CarouselSlot.svelte";
6
+ import { t } from "../../../../../i18n";
7
+ import { HugeiconsIcon } from "@hugeicons/svelte";
8
+ import { ArrowRight02Icon } from "@hugeicons/core-free-icons";
9
+
10
+ const {
11
+ title,
12
+ items,
13
+ isButtonPreviousAndNext = true,
14
+ buttonPreviousAndNextClass = "",
15
+ containerClass = "",
16
+ onButtonViewAll,
17
+ }: CarouselPromotionProps = $props();
18
+ </script>
19
+
20
+ <div class="w-full flex justify-center">
21
+ <div class="w-[95%] p-2 rounded-xl {containerClass}">
22
+ <div class="ml-10 flex flex-col gap-1">
23
+ <div class="flex justify-between">
24
+ <div class="text-xl">{title ?? $t("label.promotion")}</div>
25
+ {#if onButtonViewAll}
26
+ <div>
27
+ <Button
28
+ variant="ghost"
29
+ size="sm"
30
+ class="flex items-center gap-0.5"
31
+ onclick={onButtonViewAll}
32
+ >
33
+ {$t("label.view.full")}
34
+ <HugeiconsIcon icon={ArrowRight02Icon} />
35
+ </Button>
36
+ </div>
37
+ {/if}
38
+ </div>
39
+ </div>
40
+ <CarouselSlot
41
+ isBorderBottom={false}
42
+ {isButtonPreviousAndNext}
43
+ {buttonPreviousAndNextClass}
44
+ containerClass="w-full"
45
+ >
46
+ {#each items as item (item.id)}
47
+ <div class="mx-2">
48
+ <CardPromotion {...item} />
49
+ </div>
50
+ {/each}
51
+ </CarouselSlot>
52
+ </div>
53
+ </div>
@@ -0,0 +1,4 @@
1
+ import type { CarouselPromotionProps } from "../../types.js";
2
+ declare const CarouselPromotion: import("svelte").Component<CarouselPromotionProps, {}, "">;
3
+ type CarouselPromotion = ReturnType<typeof CarouselPromotion>;
4
+ export default CarouselPromotion;
@@ -0,0 +1,59 @@
1
+ <script lang="ts">
2
+ import * as Carousel from "../../../../ui/carousel/index.js";
3
+ import type { SimpleBadgeCarouselProps } from "../../types.js";
4
+ import { HugeiconsIcon } from "@hugeicons/svelte";
5
+ import CarouselSlot from "../../../panel/CarouselSlot.svelte";
6
+
7
+ const {
8
+ items,
9
+ imageClass,
10
+ iconClass,
11
+ labelClass,
12
+ activeClass,
13
+ valueActive,
14
+ orientation = "horizontal",
15
+ isBorderItem = true,
16
+ isBorderBottom = true,
17
+ isButtonPreviousAndNext = true,
18
+ buttonPreviousAndNextClass = "",
19
+ }: SimpleBadgeCarouselProps = $props();
20
+
21
+ const DEFAULT_IMG_OR_ICON_CLASS = "size-5 rounded-lg";
22
+ </script>
23
+
24
+ <CarouselSlot
25
+ {isBorderBottom}
26
+ {isButtonPreviousAndNext}
27
+ {buttonPreviousAndNextClass}
28
+ >
29
+ {#each items as item (item.value)}
30
+ <Carousel.Item
31
+ onclick={() => item.onClick?.(item.value)}
32
+ class={`
33
+ flex cursor-pointer items-center justify-center gap-1 basis-auto mx-3 pl-0
34
+ ${isBorderItem ? "border border-solid border-gray-300 rounded-lg" : ""}
35
+ ${item.value === valueActive ? activeClass : ""}`}
36
+ >
37
+ <div
38
+ class={`
39
+ flex gap-1 mx-2 p-0.5 justify-center items-center
40
+ ${orientation === "horizontal" ? "flex-row" : "flex-col"}
41
+ `}
42
+ >
43
+ {#if item.image}
44
+ <img
45
+ src={item.image}
46
+ alt={item.label}
47
+ class={imageClass || DEFAULT_IMG_OR_ICON_CLASS}
48
+ />
49
+ {:else if item.icon}
50
+ <HugeiconsIcon
51
+ icon={item.icon}
52
+ class={iconClass || DEFAULT_IMG_OR_ICON_CLASS}
53
+ />
54
+ {/if}
55
+ <div class={`${labelClass}`}>{item.label}</div>
56
+ </div>
57
+ </Carousel.Item>
58
+ {/each}
59
+ </CarouselSlot>
@@ -0,0 +1,4 @@
1
+ import type { SimpleBadgeCarouselProps } from "../../types.js";
2
+ declare const SimpleBadgeCarousel: import("svelte").Component<SimpleBadgeCarouselProps, {}, "">;
3
+ type SimpleBadgeCarousel = ReturnType<typeof SimpleBadgeCarousel>;
4
+ export default SimpleBadgeCarousel;
@@ -0,0 +1,34 @@
1
+ import type { IconSvgElement } from "@hugeicons/svelte";
2
+ import type { CardPromotionProps } from "../card/types";
3
+ export interface ItemCarousel {
4
+ value: string;
5
+ label: string;
6
+ image?: string;
7
+ link?: string;
8
+ icon?: IconSvgElement;
9
+ isActive?: boolean;
10
+ onClick?: (value: string) => void;
11
+ }
12
+ export interface SimpleBadgeCarouselProps {
13
+ items: ItemCarousel[];
14
+ orientation?: "horizontal" | "vertical";
15
+ imageClass?: string;
16
+ iconClass?: string;
17
+ labelClass?: string;
18
+ activeClass?: string;
19
+ valueActive?: string;
20
+ isBorderItem?: boolean;
21
+ isBorderBottom?: boolean;
22
+ isButtonPreviousAndNext?: boolean;
23
+ buttonPreviousAndNextClass?: string;
24
+ }
25
+ export interface CarouselPromotionProps {
26
+ title?: string;
27
+ description?: string;
28
+ items: CardPromotionProps[];
29
+ isBorderBottom?: boolean;
30
+ isButtonPreviousAndNext?: boolean;
31
+ buttonPreviousAndNextClass?: string;
32
+ containerClass?: string;
33
+ onButtonViewAll?: () => void;
34
+ }
@@ -28,11 +28,11 @@
28
28
  import DataTableListPagination from "./DataTableListPagination.svelte";
29
29
 
30
30
  /**
31
- * Tabela de dados genérica com paginação, ordenação e filtros.
32
- * @property {DataTableItem<T>["config"]} config - Definição das colunas
33
- * @property {keyof T} columnFilter - Chave para filtro por coluna
34
- * @property {Component} actions - Componente de ações por linha
35
- * @property {T[]} items - Dados da tabela
31
+ * Generic data table with pagination, sorting, and filtering.
32
+ * @property {DataTableItem<T>["config"]} config - Column definitions
33
+ * @property {keyof T} columnFilter - Key for column filtering
34
+ * @property {Component} actions - Per-row actions component
35
+ * @property {T[]} items - Table data
36
36
  */
37
37
  let { config, columnFilter, actions, items = [] }: DataTableItem<T> = $props();
38
38
 
@@ -4,7 +4,7 @@
4
4
  import { Label } from "../../../ui/label";
5
5
  import { t } from "../../../../i18n";
6
6
 
7
- /** Campo de input para código OTP com caixas configuráveis. */
7
+ /** OTP code input field with configurable boxes. */
8
8
  let {
9
9
  label,
10
10
  isLabel,
@@ -13,9 +13,9 @@
13
13
  separator = true,
14
14
  value = $bindable(""),
15
15
  }: InputLabelProps & {
16
- /** Quantidade de caixas do código OTP. Padrão: 6 */
16
+ /** Number of OTP code boxes. Default: 6 */
17
17
  length?: number;
18
- /** Exibir separador entre os grupos. Padrão: true */
18
+ /** Show separator between groups. Default: true */
19
19
  separator?: boolean;
20
20
  } = $props();
21
21
 
@@ -1,8 +1,8 @@
1
1
  import type { InputLabelProps } from "../data/InputLabel.svelte";
2
2
  type $$ComponentProps = InputLabelProps & {
3
- /** Quantidade de caixas do código OTP. Padrão: 6 */
3
+ /** Number of OTP code boxes. Default: 6 */
4
4
  length?: number;
5
- /** Exibir separador entre os grupos. Padrão: true */
5
+ /** Show separator between groups. Default: true */
6
6
  separator?: boolean;
7
7
  };
8
8
  declare const InputCodeOtp: import("svelte").Component<$$ComponentProps, {}, "value">;
@@ -3,7 +3,7 @@
3
3
  import InputBase from "./input-base.svelte";
4
4
  import { t } from "../../../../i18n";
5
5
 
6
- /** Campo de input para email com ícone e label. */
6
+ /** Email or phone input field with icon and label. */
7
7
  let {
8
8
  label,
9
9
  placeholder,
@@ -3,7 +3,7 @@
3
3
  import InputBase from "./input-base.svelte";
4
4
  import { t } from "../../../../i18n";
5
5
 
6
- /** Campo de input para email com ícone e label. */
6
+ /** Email input field with icon and label. */
7
7
  let {
8
8
  label,
9
9
  placeholder,
@@ -3,7 +3,7 @@
3
3
  import InputBase from "./input-base.svelte";
4
4
  import { t } from "../../../../i18n";
5
5
 
6
- /** Campo de input para confirmação de senha com ícone e label. */
6
+ /** Password confirmation input field with icon and label. */
7
7
  let {
8
8
  label,
9
9
  placeholder,
@@ -3,7 +3,7 @@
3
3
  import InputBase from "./input-base.svelte";
4
4
  import { t } from "../../../../i18n";
5
5
 
6
- /** Campo de input para senha com ícone e label. */
6
+ /** Password input field with icon and label. */
7
7
  let {
8
8
  label,
9
9
  placeholder,
@@ -4,7 +4,7 @@
4
4
  import { Label } from "../../../ui/label";
5
5
  import { t } from "../../../../i18n";
6
6
 
7
- /** Campo de input para telefone com ícone e label. */
7
+ /** Phone input field with icon and label. */
8
8
  let {
9
9
  label,
10
10
  isLabel,
@@ -3,7 +3,7 @@
3
3
  import InputBase from "./input-base.svelte";
4
4
  import { t } from "../../../../i18n";
5
5
 
6
- /** Campo de input para nome de usuário com ícone e label. */
6
+ /** Username input field with icon and label. */
7
7
  let {
8
8
  label,
9
9
  placeholder,
@@ -13,7 +13,7 @@
13
13
  </script>
14
14
 
15
15
  <InputBase
16
- label={label || $t("input.usename.label")}
16
+ label={label || $t("input.username.label")}
17
17
  placeholder={placeholder || $t("input.username.placeholder")}
18
18
  isLabel
19
19
  isIcon
@@ -1,21 +1,21 @@
1
1
  import type { IconSvgElement } from "@hugeicons/svelte";
2
- export interface GroupMenuSidebar {
2
+ export interface GroupMenuSidebarProps {
3
3
  name: string;
4
4
  }
5
- export interface SubMenuSidebar {
5
+ export interface SubMenuSidebarProps {
6
6
  title: string;
7
7
  url: string;
8
8
  icon: IconSvgElement;
9
9
  isActive?: boolean;
10
10
  }
11
- export interface NavMenuSidebar {
11
+ export interface NavMenuSidebarProps {
12
12
  title: string;
13
13
  url?: string;
14
14
  icon: IconSvgElement;
15
15
  isActive?: boolean;
16
- group?: GroupMenuSidebar;
16
+ group?: GroupMenuSidebarProps;
17
17
  }
18
- export interface NavMenuAndSubmenuSidebar extends NavMenuSidebar {
19
- submenus?: SubMenuSidebar[];
18
+ export interface NavMenuAndSubmenuSidebarProps extends NavMenuSidebarProps {
19
+ submenus?: SubMenuSidebarProps[];
20
20
  }
21
- export type NavMenuItem = NavMenuSidebar | NavMenuAndSubmenuSidebar;
21
+ export type NavMenuItem = NavMenuSidebarProps | NavMenuAndSubmenuSidebarProps;
@@ -0,0 +1,31 @@
1
+ import type { IconSvgElement } from "@hugeicons/svelte";
2
+ export interface NavMenuLogoProps {
3
+ img?: string;
4
+ label: string;
5
+ className?: string;
6
+ onclick?: () => void;
7
+ }
8
+ export interface NavMenuLinksProps {
9
+ url?: string;
10
+ label: string;
11
+ icon?: IconSvgElement;
12
+ onclick?: () => void;
13
+ }
14
+ export interface NavMenuActionsProps {
15
+ url?: string;
16
+ label: string;
17
+ type?: 'BUTTON' | 'LINK';
18
+ className?: string;
19
+ icon?: IconSvgElement;
20
+ onclick?: () => void;
21
+ }
22
+ export interface NavMenuProps {
23
+ linkClass?: string;
24
+ buttonClass?: string;
25
+ logo?: NavMenuLogoProps;
26
+ links: NavMenuLinksProps[];
27
+ actions: NavMenuActionsProps[];
28
+ align?: 'LINK_SEPARATED_ACTIONS' | 'LINK_INTO_ACTIONS';
29
+ onclickButtonLogin?: () => void;
30
+ onclickButtonRegister?: () => void;
31
+ }
@@ -1,5 +1,5 @@
1
1
  import type { IconSvgElement } from "@hugeicons/svelte";
2
- export interface NavUserSidebarItem {
2
+ export interface NavUserSidebarProps {
3
3
  user: {
4
4
  name: string;
5
5
  email: string;
@@ -0,0 +1,28 @@
1
+ <script lang="ts">
2
+ import { HugeiconsIcon } from "@hugeicons/svelte";
3
+ import type { NavMenuLinksProps } from "../data/nav-menu";
4
+
5
+ type Props = {
6
+ links: NavMenuLinksProps[];
7
+ linkClass?: string;
8
+ groupClass?: string;
9
+ orientation?: "horizontal" | "vertical";
10
+ };
11
+
12
+ let { links, linkClass, groupClass, orientation }: Props = $props();
13
+ </script>
14
+ <ul class={`flex ${orientation === "vertical" ? "flex-col" : "items-center"} gap-2 md:gap-5 lg:gap-15 ${groupClass}`}>
15
+ {#each links as item (item.label)}
16
+ <li>
17
+ <a
18
+ class={`flex items-center gap-1 ${linkClass}`}
19
+ href={item.url || "#"}
20
+ >
21
+ {#if item.icon}
22
+ <HugeiconsIcon icon={item.icon} size={15} />
23
+ {/if}
24
+ {item.label}
25
+ </a>
26
+ </li>
27
+ {/each}
28
+ </ul>
@@ -0,0 +1,10 @@
1
+ import type { NavMenuLinksProps } from "../data/nav-menu";
2
+ type Props = {
3
+ links: NavMenuLinksProps[];
4
+ linkClass?: string;
5
+ groupClass?: string;
6
+ orientation?: "horizontal" | "vertical";
7
+ };
8
+ declare const MenuLinks: import("svelte").Component<Props, {}, "">;
9
+ type MenuLinks = ReturnType<typeof MenuLinks>;
10
+ export default MenuLinks;
@@ -0,0 +1,85 @@
1
+ <script lang="ts">
2
+ import * as Drawer from "../../../../ui/drawer/index.js";
3
+ import { Button } from "../../../../ui/button/index.js";
4
+ import type { NavMenuLinksProps } from "../../data/nav-menu";
5
+ import { buttonVariants } from "../../../../ui/button/index.js";
6
+ import { cn } from "../../../../../utils.js";
7
+ import { HugeiconsIcon } from "@hugeicons/svelte";
8
+ import { Login03Icon, Menu, User03Icon } from "@hugeicons/core-free-icons";
9
+ import MenuLinks from "../menu-links.svelte";
10
+ import LightSwitch from "../../../../ui/light-switch/light-switch.svelte";
11
+ import LanguageSwitcher from "../../../../ui/language-switcher/language-switcher.svelte";
12
+ import { t } from "../../../../../i18n";
13
+
14
+ type Props = {
15
+ links: NavMenuLinksProps[];
16
+ onclickButtonLogin?: () => void;
17
+ onclickButtonRegister?: () => void;
18
+ };
19
+
20
+ const { links, onclickButtonLogin, onclickButtonRegister }: Props =
21
+ $props();
22
+ </script>
23
+
24
+ <div class="flex flex-wrap gap-2">
25
+ <Drawer.Root direction="right">
26
+ <Drawer.Trigger
27
+ class={cn(buttonVariants({ variant: "outline" }), "capitalize")}
28
+ >
29
+ <HugeiconsIcon icon={Menu} />
30
+ </Drawer.Trigger>
31
+ <Drawer.Content
32
+ class="data-[vaul-drawer-direction=bottom]:max-h-[50vh] data-[vaul-drawer-direction=top]:max-h-[50vh]"
33
+ >
34
+ <Drawer.Header>
35
+ <Drawer.Title>{$t("label.menu")}</Drawer.Title>
36
+ <Drawer.Description>
37
+ {$t("label.navigation.text")}
38
+ </Drawer.Description>
39
+ </Drawer.Header>
40
+ <div class="no-scrollbar overflow-y-auto px-4">
41
+ <nav>
42
+ <div class="mt-5 mb-4 font-semibold">{$t("label.navigation")}</div>
43
+ <MenuLinks
44
+ {links}
45
+ groupClass="space-y-3"
46
+ orientation="vertical"
47
+ />
48
+ </nav>
49
+
50
+ <div class="mt-5">
51
+ <div class="mt-5 mb-4 font-semibold">{$t("label.action")}</div>
52
+ <section >
53
+ {#if onclickButtonRegister}
54
+ <Button
55
+ variant="outline"
56
+ onclick={onclickButtonRegister}
57
+ >
58
+ <HugeiconsIcon icon={User03Icon} />
59
+ {$t("label.register")}
60
+ </Button>
61
+ {/if}
62
+ {#if onclickButtonLogin}
63
+ <Button
64
+ variant="outline"
65
+ onclick={onclickButtonLogin}
66
+ >
67
+ <HugeiconsIcon icon={Login03Icon} />
68
+ {$t("label.login")}
69
+ </Button>
70
+ {/if}
71
+ </section>
72
+ </div>
73
+ </div>
74
+ <Drawer.Footer>
75
+ <div class="flex justify-center gap-5 py-5">
76
+ <LightSwitch />
77
+ <LanguageSwitcher />
78
+ </div>
79
+ <Drawer.Close class={buttonVariants({ variant: "outline" })}>
80
+ {$t("label.close")}
81
+ </Drawer.Close>
82
+ </Drawer.Footer>
83
+ </Drawer.Content>
84
+ </Drawer.Root>
85
+ </div>
@@ -0,0 +1,9 @@
1
+ import type { NavMenuLinksProps } from "../../data/nav-menu";
2
+ type Props = {
3
+ links: NavMenuLinksProps[];
4
+ onclickButtonLogin?: () => void;
5
+ onclickButtonRegister?: () => void;
6
+ };
7
+ declare const NavMenuDrawer: import("svelte").Component<Props, {}, "">;
8
+ type NavMenuDrawer = ReturnType<typeof NavMenuDrawer>;
9
+ export default NavMenuDrawer;
@@ -2,13 +2,13 @@
2
2
  import * as Sidebar from "../../../ui/sidebar/index.js";
3
3
  import type { WithoutChildren } from "../../../../utils.js";
4
4
  import type { ComponentProps } from "svelte";
5
- import type { NavMenuSidebar } from "../data/nav-menu-sidebar";
5
+ import type { NavMenuSidebarProps } from "../data/nav-menu-sidebar";
6
6
  import { HugeiconsIcon } from "@hugeicons/svelte";
7
7
 
8
8
  let {
9
9
  items,
10
10
  ...restProps
11
- }: { items?: NavMenuSidebar[] } & WithoutChildren<
11
+ }: { items?: NavMenuSidebarProps[] } & WithoutChildren<
12
12
  ComponentProps<typeof Sidebar.Group>
13
13
  > = $props();
14
14
  </script>
@@ -0,0 +1,10 @@
1
+ import * as Sidebar from "../../../ui/sidebar/index.js";
2
+ import type { WithoutChildren } from "../../../../utils.js";
3
+ import type { ComponentProps } from "svelte";
4
+ import type { NavMenuSidebarProps } from "../data/nav-menu-sidebar";
5
+ type $$ComponentProps = {
6
+ items?: NavMenuSidebarProps[];
7
+ } & WithoutChildren<ComponentProps<typeof Sidebar.Group>>;
8
+ declare const NavMenuBottomSidebar: import("svelte").Component<$$ComponentProps, {}, "">;
9
+ type NavMenuBottomSidebar = ReturnType<typeof NavMenuBottomSidebar>;
10
+ export default NavMenuBottomSidebar;
@@ -0,0 +1,10 @@
1
+ type $$ComponentProps = {
2
+ teams: {
3
+ name: string;
4
+ logo: any;
5
+ plan: string;
6
+ }[];
7
+ };
8
+ declare const NavMenuHeaderSidebar: import("svelte").Component<$$ComponentProps, {}, "">;
9
+ type NavMenuHeaderSidebar = ReturnType<typeof NavMenuHeaderSidebar>;
10
+ export default NavMenuHeaderSidebar;
@@ -1,13 +1,13 @@
1
- <script lang="ts">
1
+ <script lang="ts">
2
2
  /* eslint-disable @typescript-eslint/no-explicit-any */
3
3
  import * as Collapsible from "../../../ui/collapsible/index.js";
4
4
  import * as Sidebar from "../../../ui/sidebar/index.js";
5
5
  import ChevronRightIcon from "@lucide/svelte/icons/chevron-right";
6
6
  import { HugeiconsIcon } from "@hugeicons/svelte";
7
7
  import type {
8
- NavMenuAndSubmenuSidebar,
8
+ NavMenuAndSubmenuSidebarProps,
9
9
  NavMenuItem,
10
- NavMenuSidebar,
10
+ NavMenuSidebarProps,
11
11
  } from "../data/nav-menu-sidebar";
12
12
 
13
13
  let {
@@ -16,13 +16,13 @@
16
16
  items: NavMenuItem[];
17
17
  } = $props();
18
18
 
19
- // Chave interna para itens sem group; nunca colide com um nome real
20
- // porque não é uma string acessível a quem define os itens.
19
+ // Internal key for items without a group; never collides with a real name
20
+ // because it's not a string accessible to whoever defines the items.
21
21
  const UNGROUPED = Symbol("ungrouped");
22
22
 
23
23
  function hasSubmenus(
24
- item: NavMenuSidebar | NavMenuAndSubmenuSidebar,
25
- ): item is NavMenuAndSubmenuSidebar {
24
+ item: NavMenuSidebarProps | NavMenuAndSubmenuSidebarProps,
25
+ ): item is NavMenuAndSubmenuSidebarProps {
26
26
  return "submenus" in item && Array.isArray(item.submenus);
27
27
  }
28
28
 
@@ -0,0 +1,7 @@
1
+ import type { NavMenuItem } from "../data/nav-menu-sidebar";
2
+ type $$ComponentProps = {
3
+ items: NavMenuItem[];
4
+ };
5
+ declare const NavMenuSidebar: import("svelte").Component<$$ComponentProps, {}, "">;
6
+ type NavMenuSidebar = ReturnType<typeof NavMenuSidebar>;
7
+ export default NavMenuSidebar;
@@ -0,0 +1,4 @@
1
+ import type { NavTopBarSidebarItem } from "../data/nav-top-bar-sidebar";
2
+ declare const NavMenuTopBarSidebar: import("svelte").Component<NavTopBarSidebarItem, {}, "">;
3
+ type NavMenuTopBarSidebar = ReturnType<typeof NavMenuTopBarSidebar>;
4
+ export default NavMenuTopBarSidebar;