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
@@ -1,18 +1,23 @@
1
+ <script lang="ts" module>
2
+ /**
3
+ * @component ResetPasswordCard
4
+ * Password reset card with tabs, back button, and light switch.
5
+ *
6
+ * @example svelte
7
+ * <ResetPasswordCard otpLength={6} onSubmit={(req) => reset(req)} />
8
+ */
9
+ </script>
10
+
1
11
  <script lang="ts">
2
- import LanguageSwitcher from "../../../../ui/language-switcher/language-switcher.svelte";
3
- import ButtonBack from "../../../../core/button/ButtonBack.svelte";
12
+ import LanguageSwitcher from "../../../../../ui/language-switcher/language-switcher.svelte";
13
+ import ButtonBack from "../../../../../core/button/ButtonBack.svelte";
4
14
  import type { Snippet } from "svelte";
5
- import { LightSwitch } from "../../../../ui/light-switch";
6
- import { t } from "../../../../../i18n";
15
+ import { LightSwitch } from "../../../../../ui/light-switch";
16
+ import { t } from "../../../../../../i18n";
7
17
  import type { ResetPasswordRequestDto } from "../../types";
8
18
  import FormResetPassword from "./FormResetPassword.svelte";
9
- import TabUnderline from "../../../../core/tabs/ui/tab-underline.svelte";
19
+ import TabUnderline from "../../../../../core/tabs/ui/tab-underline.svelte";
10
20
 
11
- /**
12
- * Card de redefinição de senha.
13
- * @property {number} otpLength - Quantidade de caixas do código OTP
14
- * @property {(req: ResetPasswordRequestDto) => void} onSubmit - Callback ao submeter
15
- */
16
21
  type Props = {
17
22
  otpLength?: number;
18
23
  onSubmit?: (request: ResetPasswordRequestDto) => void;
@@ -1,10 +1,5 @@
1
1
  import type { Snippet } from "svelte";
2
2
  import type { ResetPasswordRequestDto } from "../../types";
3
- /**
4
- * Card de redefinição de senha.
5
- * @property {number} otpLength - Quantidade de caixas do código OTP
6
- * @property {(req: ResetPasswordRequestDto) => void} onSubmit - Callback ao submeter
7
- */
8
3
  type Props = {
9
4
  otpLength?: number;
10
5
  onSubmit?: (request: ResetPasswordRequestDto) => void;
@@ -1,11 +1,17 @@
1
+ <script lang="ts" module>
2
+ /**
3
+ * @component PageResetPassword
4
+ * Password reset page. Routes to the specified layout variant.
5
+ *
6
+ * @example svelte
7
+ * <PageResetPassword varient="01" otpLength={6} onSubmit={(req) => reset(req)} />
8
+ */
9
+ </script>
10
+
1
11
  <script lang="ts">
2
12
  import type { PageResetPasswordProps } from "./types";
3
13
  import PageResetPassword01 from "./01/ui/PageResetPassword01.svelte";
4
14
 
5
- /**
6
- * Página de redefinição de senha.
7
- * @property {"01"} varient - Variante do layout
8
- */
9
15
  type Props = {
10
16
  varient?: "01";
11
17
  };
@@ -1,8 +1,4 @@
1
1
  import type { PageResetPasswordProps } from "./types";
2
- /**
3
- * Página de redefinição de senha.
4
- * @property {"01"} varient - Variante do layout
5
- */
6
2
  type Props = {
7
3
  varient?: "01";
8
4
  };
@@ -1,4 +1,4 @@
1
- import type { CarouselItem, CarouselItemType } from "../../core/carousel/data/CarouselModel";
1
+ import type { LoginCarouselItem, LoginCarouselItemType } from "../login/types";
2
2
  import type { Snippet } from "svelte";
3
3
  export type ResetPasswordRequestDto = {
4
4
  code: string;
@@ -6,8 +6,8 @@ export type ResetPasswordRequestDto = {
6
6
  confirmPassword: string;
7
7
  };
8
8
  export type PageResetPasswordProps = {
9
- carousel?: CarouselItem[];
10
- varient?: CarouselItemType;
9
+ carousel?: LoginCarouselItem[];
10
+ varient?: LoginCarouselItemType;
11
11
  title?: string;
12
12
  children?: Snippet;
13
13
  otpLength?: number;
@@ -1,101 +1,82 @@
1
- <script lang="ts" module>
2
- import { cn, type WithElementRef } from '../../../utils.js';
3
- import type { HTMLAnchorAttributes, HTMLButtonAttributes } from 'svelte/elements';
4
- import { type VariantProps, tv } from 'tailwind-variants';
5
-
6
- export const buttonVariants = tv({
7
- base: "focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 group/button inline-flex shrink-0 items-center justify-center rounded-md border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:ring-3 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:ring-3 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
8
- variants: {
9
- variant: {
10
- default: 'bg-primary text-primary-foreground hover:bg-primary/80',
11
- outline:
12
- 'border-border bg-background hover:bg-muted hover:text-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 aria-expanded:bg-muted aria-expanded:text-foreground shadow-xs',
13
- secondary:
14
- 'bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground',
15
- ghost:
16
- 'hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground',
17
- destructive:
18
- 'bg-destructive/10 hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/20 text-destructive focus-visible:border-destructive/40 dark:hover:bg-destructive/30',
19
- link: 'text-primary underline-offset-4 hover:underline'
20
- },
21
- size: {
22
- default:
23
- 'h-9 gap-1.5 px-2.5 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2',
24
- xs: "h-6 gap-1 rounded-[min(var(--radius-md),8px)] px-2 text-xs in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",
25
- sm: 'h-8 gap-1 rounded-[min(var(--radius-md),10px)] px-2.5 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5',
26
- lg: 'h-10 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2',
27
- icon: 'size-9',
28
- 'icon-xs':
29
- "size-6 rounded-[min(var(--radius-md),8px)] in-data-[slot=button-group]:rounded-md [&_svg:not([class*='size-'])]:size-3",
30
- 'icon-sm':
31
- 'size-8 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-md',
32
- 'icon-lg': 'size-10'
33
- }
34
- },
35
- defaultVariants: {
36
- variant: 'default',
37
- size: 'default'
38
- }
39
- });
40
-
41
- export type ButtonVariant = VariantProps<typeof buttonVariants>['variant'];
42
- export type ButtonSize = NonNullable<VariantProps<typeof buttonVariants>['size']>;
43
- export type Size = ButtonSize;
44
-
45
- export const sizeMap = {
46
- default: { icon: "icon" as ButtonSize },
47
- xs: { icon: "icon-xs" as ButtonSize },
48
- sm: { icon: "icon-sm" as ButtonSize },
49
- lg: { icon: "icon-lg" as ButtonSize },
50
- icon: { icon: "icon" as ButtonSize },
51
- "icon-xs": { icon: "icon-xs" as ButtonSize },
52
- "icon-sm": { icon: "icon-sm" as ButtonSize },
53
- "icon-lg": { icon: "icon-lg" as ButtonSize },
54
- } satisfies Record<ButtonSize, { icon: ButtonSize }>;
55
-
56
- export type ButtonProps = WithElementRef<HTMLButtonAttributes> &
57
- WithElementRef<HTMLAnchorAttributes> & {
58
- variant?: ButtonVariant;
59
- size?: ButtonSize;
60
- };
61
- </script>
62
-
63
- <script lang="ts">
64
- let {
65
- class: className,
66
- variant = 'default',
67
- size = 'default',
68
- ref = $bindable(null),
69
- href = undefined,
70
- type = 'button',
71
- disabled,
72
- children,
73
- ...restProps
74
- }: ButtonProps = $props();
75
- </script>
76
-
77
- {#if href}
78
- <a
79
- bind:this={ref}
80
- data-slot="button"
81
- class={cn(buttonVariants({ variant, size }), className)}
82
- href={disabled ? undefined : href}
83
- aria-disabled={disabled}
84
- role={disabled ? 'link' : undefined}
85
- tabindex={disabled ? -1 : undefined}
86
- {...restProps}
87
- >
88
- {@render children?.()}
89
- </a>
90
- {:else}
91
- <button
92
- bind:this={ref}
93
- data-slot="button"
94
- class={cn(buttonVariants({ variant, size }), className)}
95
- {type}
96
- {disabled}
97
- {...restProps}
98
- >
99
- {@render children?.()}
100
- </button>
101
- {/if}
1
+ <script lang="ts" module>
2
+ import { type VariantProps, tv } from "tailwind-variants";
3
+ import { cn, type WithElementRef } from "../../../utils.js";
4
+ import type { HTMLAnchorAttributes, HTMLButtonAttributes } from "svelte/elements";
5
+
6
+ export const buttonVariants = tv({
7
+ base: "rounded-sm border border-transparent bg-clip-padding text-sm font-medium focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px aria-invalid:border-destructive aria-invalid:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 group/button inline-flex shrink-0 items-center justify-center whitespace-nowrap transition-all outline-none select-none disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",
8
+ variants: {
9
+ variant: {
10
+ default: "bg-primary text-primary-foreground hover:bg-primary/80",
11
+ outline: "border-border bg-input/30 hover:bg-input/50 hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground",
12
+ secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",
13
+ ghost: "hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",
14
+ destructive: "bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",
15
+ link: "text-primary underline-offset-4 hover:underline",
16
+ },
17
+ size: {
18
+ default: "h-9 gap-1.5 px-3 has-data-[icon=inline-end]:pr-2.5 has-data-[icon=inline-start]:pl-2.5",
19
+ xs: "h-6 gap-1 px-2.5 text-xs has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 [&_svg:not([class*='size-'])]:size-3",
20
+ sm: "h-8 gap-1 px-3 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",
21
+ lg: "h-10 gap-1.5 px-4 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3",
22
+ icon: "size-9",
23
+ "icon-xs": "size-6 [&_svg:not([class*='size-'])]:size-3",
24
+ "icon-sm": "size-8",
25
+ "icon-lg": "size-10",
26
+ },
27
+ },
28
+ defaultVariants: {
29
+ variant: "default",
30
+ size: "default",
31
+ },
32
+ });
33
+
34
+ export type ButtonVariant = VariantProps<typeof buttonVariants>["variant"];
35
+ export type ButtonSize = VariantProps<typeof buttonVariants>["size"];
36
+
37
+ export type ButtonProps = WithElementRef<HTMLButtonAttributes> &
38
+ WithElementRef<HTMLAnchorAttributes> & {
39
+ variant?: ButtonVariant;
40
+ size?: ButtonSize;
41
+ };
42
+ </script>
43
+
44
+ <script lang="ts">
45
+ let {
46
+ class: className,
47
+ variant = "default",
48
+ size = "default",
49
+ ref = $bindable(null),
50
+ href = undefined,
51
+ type = "button",
52
+ disabled,
53
+ children,
54
+ ...restProps
55
+ }: ButtonProps = $props();
56
+ </script>
57
+
58
+ {#if href}
59
+ <a
60
+ bind:this={ref}
61
+ data-slot="button"
62
+ class={cn(buttonVariants({ variant, size }), className)}
63
+ href={disabled ? undefined : href}
64
+ aria-disabled={disabled}
65
+ role={disabled ? "link" : undefined}
66
+ tabindex={disabled ? -1 : undefined}
67
+ {...restProps}
68
+ >
69
+ {@render children?.()}
70
+ </a>
71
+ {:else}
72
+ <button
73
+ bind:this={ref}
74
+ data-slot="button"
75
+ class={cn(buttonVariants({ variant, size }), className)}
76
+ {type}
77
+ {disabled}
78
+ {...restProps}
79
+ >
80
+ {@render children?.()}
81
+ </button>
82
+ {/if}
@@ -1,93 +1,66 @@
1
- import { type WithElementRef } from '../../../utils.js';
2
- import type { HTMLAnchorAttributes, HTMLButtonAttributes } from 'svelte/elements';
3
- import { type VariantProps } from 'tailwind-variants';
1
+ import { type VariantProps } from "tailwind-variants";
2
+ import { type WithElementRef } from "../../../utils.js";
3
+ import type { HTMLAnchorAttributes, HTMLButtonAttributes } from "svelte/elements";
4
4
  export declare const buttonVariants: import("tailwind-variants").TVReturnType<{
5
5
  variant: {
6
6
  default: "bg-primary text-primary-foreground hover:bg-primary/80";
7
- outline: "border-border bg-background hover:bg-muted hover:text-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 aria-expanded:bg-muted aria-expanded:text-foreground shadow-xs";
7
+ outline: "border-border bg-input/30 hover:bg-input/50 hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground";
8
8
  secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground";
9
- ghost: "hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground";
10
- destructive: "bg-destructive/10 hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/20 text-destructive focus-visible:border-destructive/40 dark:hover:bg-destructive/30";
9
+ ghost: "hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50";
10
+ destructive: "bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40";
11
11
  link: "text-primary underline-offset-4 hover:underline";
12
12
  };
13
13
  size: {
14
- default: "h-9 gap-1.5 px-2.5 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2";
15
- xs: "h-6 gap-1 rounded-[min(var(--radius-md),8px)] px-2 text-xs in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3";
16
- sm: "h-8 gap-1 rounded-[min(var(--radius-md),10px)] px-2.5 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5";
17
- lg: "h-10 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2";
14
+ default: "h-9 gap-1.5 px-3 has-data-[icon=inline-end]:pr-2.5 has-data-[icon=inline-start]:pl-2.5";
15
+ xs: "h-6 gap-1 px-2.5 text-xs has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 [&_svg:not([class*='size-'])]:size-3";
16
+ sm: "h-8 gap-1 px-3 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2";
17
+ lg: "h-10 gap-1.5 px-4 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3";
18
18
  icon: "size-9";
19
- 'icon-xs': "size-6 rounded-[min(var(--radius-md),8px)] in-data-[slot=button-group]:rounded-md [&_svg:not([class*='size-'])]:size-3";
20
- 'icon-sm': "size-8 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-md";
21
- 'icon-lg': "size-10";
19
+ "icon-xs": "size-6 [&_svg:not([class*='size-'])]:size-3";
20
+ "icon-sm": "size-8";
21
+ "icon-lg": "size-10";
22
22
  };
23
- }, undefined, "focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 group/button inline-flex shrink-0 items-center justify-center rounded-md border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:ring-3 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:ring-3 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", {
23
+ }, undefined, "rounded-sm border border-transparent bg-clip-padding text-sm font-medium focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px aria-invalid:border-destructive aria-invalid:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 group/button inline-flex shrink-0 items-center justify-center whitespace-nowrap transition-all outline-none select-none disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0", {
24
24
  variant: {
25
25
  default: "bg-primary text-primary-foreground hover:bg-primary/80";
26
- outline: "border-border bg-background hover:bg-muted hover:text-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 aria-expanded:bg-muted aria-expanded:text-foreground shadow-xs";
26
+ outline: "border-border bg-input/30 hover:bg-input/50 hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground";
27
27
  secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground";
28
- ghost: "hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground";
29
- destructive: "bg-destructive/10 hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/20 text-destructive focus-visible:border-destructive/40 dark:hover:bg-destructive/30";
28
+ ghost: "hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50";
29
+ destructive: "bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40";
30
30
  link: "text-primary underline-offset-4 hover:underline";
31
31
  };
32
32
  size: {
33
- default: "h-9 gap-1.5 px-2.5 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2";
34
- xs: "h-6 gap-1 rounded-[min(var(--radius-md),8px)] px-2 text-xs in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3";
35
- sm: "h-8 gap-1 rounded-[min(var(--radius-md),10px)] px-2.5 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5";
36
- lg: "h-10 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2";
33
+ default: "h-9 gap-1.5 px-3 has-data-[icon=inline-end]:pr-2.5 has-data-[icon=inline-start]:pl-2.5";
34
+ xs: "h-6 gap-1 px-2.5 text-xs has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 [&_svg:not([class*='size-'])]:size-3";
35
+ sm: "h-8 gap-1 px-3 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2";
36
+ lg: "h-10 gap-1.5 px-4 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3";
37
37
  icon: "size-9";
38
- 'icon-xs': "size-6 rounded-[min(var(--radius-md),8px)] in-data-[slot=button-group]:rounded-md [&_svg:not([class*='size-'])]:size-3";
39
- 'icon-sm': "size-8 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-md";
40
- 'icon-lg': "size-10";
38
+ "icon-xs": "size-6 [&_svg:not([class*='size-'])]:size-3";
39
+ "icon-sm": "size-8";
40
+ "icon-lg": "size-10";
41
41
  };
42
42
  }, undefined, import("tailwind-variants").TVReturnTypeLike<{
43
43
  variant: {
44
44
  default: "bg-primary text-primary-foreground hover:bg-primary/80";
45
- outline: "border-border bg-background hover:bg-muted hover:text-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 aria-expanded:bg-muted aria-expanded:text-foreground shadow-xs";
45
+ outline: "border-border bg-input/30 hover:bg-input/50 hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground";
46
46
  secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground";
47
- ghost: "hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground";
48
- destructive: "bg-destructive/10 hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/20 text-destructive focus-visible:border-destructive/40 dark:hover:bg-destructive/30";
47
+ ghost: "hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50";
48
+ destructive: "bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40";
49
49
  link: "text-primary underline-offset-4 hover:underline";
50
50
  };
51
51
  size: {
52
- default: "h-9 gap-1.5 px-2.5 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2";
53
- xs: "h-6 gap-1 rounded-[min(var(--radius-md),8px)] px-2 text-xs in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3";
54
- sm: "h-8 gap-1 rounded-[min(var(--radius-md),10px)] px-2.5 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5";
55
- lg: "h-10 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2";
52
+ default: "h-9 gap-1.5 px-3 has-data-[icon=inline-end]:pr-2.5 has-data-[icon=inline-start]:pl-2.5";
53
+ xs: "h-6 gap-1 px-2.5 text-xs has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 [&_svg:not([class*='size-'])]:size-3";
54
+ sm: "h-8 gap-1 px-3 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2";
55
+ lg: "h-10 gap-1.5 px-4 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3";
56
56
  icon: "size-9";
57
- 'icon-xs': "size-6 rounded-[min(var(--radius-md),8px)] in-data-[slot=button-group]:rounded-md [&_svg:not([class*='size-'])]:size-3";
58
- 'icon-sm': "size-8 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-md";
59
- 'icon-lg': "size-10";
57
+ "icon-xs": "size-6 [&_svg:not([class*='size-'])]:size-3";
58
+ "icon-sm": "size-8";
59
+ "icon-lg": "size-10";
60
60
  };
61
61
  }, undefined>>;
62
- export type ButtonVariant = VariantProps<typeof buttonVariants>['variant'];
63
- export type ButtonSize = NonNullable<VariantProps<typeof buttonVariants>['size']>;
64
- export type Size = ButtonSize;
65
- export declare const sizeMap: {
66
- default: {
67
- icon: ButtonSize;
68
- };
69
- xs: {
70
- icon: ButtonSize;
71
- };
72
- sm: {
73
- icon: ButtonSize;
74
- };
75
- lg: {
76
- icon: ButtonSize;
77
- };
78
- icon: {
79
- icon: ButtonSize;
80
- };
81
- "icon-xs": {
82
- icon: ButtonSize;
83
- };
84
- "icon-sm": {
85
- icon: ButtonSize;
86
- };
87
- "icon-lg": {
88
- icon: ButtonSize;
89
- };
90
- };
62
+ export type ButtonVariant = VariantProps<typeof buttonVariants>["variant"];
63
+ export type ButtonSize = VariantProps<typeof buttonVariants>["size"];
91
64
  export type ButtonProps = WithElementRef<HTMLButtonAttributes> & WithElementRef<HTMLAnchorAttributes> & {
92
65
  variant?: ButtonVariant;
93
66
  size?: ButtonSize;
@@ -1,2 +1,2 @@
1
- import Root, { type ButtonProps, type ButtonSize, type ButtonVariant, buttonVariants } from './button.svelte';
2
- export { Root, type ButtonProps as Props, Root as Button, buttonVariants, type ButtonProps, type ButtonSize, type ButtonVariant };
1
+ import Root, { type ButtonProps, type ButtonSize, type ButtonVariant, buttonVariants } from "./button.svelte";
2
+ export { Root, type ButtonProps as Props, Root as Button, buttonVariants, type ButtonProps, type ButtonSize, type ButtonVariant, };
@@ -1,4 +1,4 @@
1
- import Root, { buttonVariants } from './button.svelte';
1
+ import Root, { buttonVariants, } from "./button.svelte";
2
2
  export { Root,
3
3
  //
4
- Root as Button, buttonVariants };
4
+ Root as Button, buttonVariants, };
@@ -0,0 +1,43 @@
1
+ <script lang="ts">
2
+ import emblaCarouselSvelte from "embla-carousel-svelte";
3
+ import { cn, type WithElementRef } from "../../../utils.js";
4
+ import { getEmblaContext } from "./context.js";
5
+ import type { HTMLAttributes } from "svelte/elements";
6
+
7
+ let {
8
+ ref = $bindable(null),
9
+ class: className,
10
+ children,
11
+ ...restProps
12
+ }: WithElementRef<HTMLAttributes<HTMLDivElement>> = $props();
13
+
14
+ const emblaCtx = getEmblaContext("<Carousel.Content/>");
15
+ </script>
16
+
17
+ <div
18
+ data-slot="carousel-content"
19
+ class="overflow-hidden"
20
+ use:emblaCarouselSvelte={{
21
+ options: {
22
+ container: "[data-embla-container]",
23
+ slides: "[data-embla-slide]",
24
+ ...emblaCtx.options,
25
+ axis: emblaCtx.orientation === "horizontal" ? "x" : "y",
26
+ },
27
+ plugins: emblaCtx.plugins,
28
+ }}
29
+ onemblaInit={emblaCtx.onInit}
30
+ >
31
+ <div
32
+ bind:this={ref}
33
+ class={cn(
34
+ "flex",
35
+ emblaCtx.orientation === "horizontal" ? "-ms-4" : "-mt-4 flex-col",
36
+ className
37
+ )}
38
+ data-embla-container=""
39
+ {...restProps}
40
+ >
41
+ {@render children?.()}
42
+ </div>
43
+ </div>
@@ -0,0 +1,5 @@
1
+ import { type WithElementRef } from "../../../utils.js";
2
+ import type { HTMLAttributes } from "svelte/elements";
3
+ declare const CarouselContent: import("svelte").Component<WithElementRef<HTMLAttributes<HTMLDivElement>>, {}, "ref">;
4
+ type CarouselContent = ReturnType<typeof CarouselContent>;
5
+ export default CarouselContent;
@@ -0,0 +1,30 @@
1
+ <script lang="ts">
2
+ import { cn, type WithElementRef } from "../../../utils.js";
3
+ import { getEmblaContext } from "./context.js";
4
+ import type { HTMLAttributes } from "svelte/elements";
5
+
6
+ let {
7
+ ref = $bindable(null),
8
+ class: className,
9
+ children,
10
+ ...restProps
11
+ }: WithElementRef<HTMLAttributes<HTMLDivElement>> = $props();
12
+
13
+ const emblaCtx = getEmblaContext("<Carousel.Item/>");
14
+ </script>
15
+
16
+ <div
17
+ bind:this={ref}
18
+ data-slot="carousel-item"
19
+ role="group"
20
+ aria-roledescription="slide"
21
+ class={cn(
22
+ "min-w-0 shrink-0 grow-0 basis-full",
23
+ emblaCtx.orientation === "horizontal" ? "ps-4" : "pt-4",
24
+ className
25
+ )}
26
+ data-embla-slide=""
27
+ {...restProps}
28
+ >
29
+ {@render children?.()}
30
+ </div>
@@ -0,0 +1,5 @@
1
+ import { type WithElementRef } from "../../../utils.js";
2
+ import type { HTMLAttributes } from "svelte/elements";
3
+ declare const CarouselItem: import("svelte").Component<WithElementRef<HTMLAttributes<HTMLDivElement>>, {}, "ref">;
4
+ type CarouselItem = ReturnType<typeof CarouselItem>;
5
+ export default CarouselItem;
@@ -0,0 +1,40 @@
1
+ <script lang="ts">
2
+ import { HugeiconsIcon } from "@hugeicons/svelte"
3
+ import { ArrowRight01Icon } from '@hugeicons/core-free-icons';
4
+ import { Button, type Props } from "../button/index.js";
5
+ import { cn } from "../../../utils.js";
6
+ import { getEmblaContext } from "./context.js";
7
+ import type { WithoutChildren } from "bits-ui";
8
+
9
+ let {
10
+ ref = $bindable(null),
11
+ class: className,
12
+ variant = "outline",
13
+ size = "icon-sm",
14
+ ...restProps
15
+ }: WithoutChildren<Props> = $props();
16
+
17
+ const emblaCtx = getEmblaContext("<Carousel.Next/>");
18
+ </script>
19
+
20
+ <Button
21
+ data-slot="carousel-next"
22
+ {variant}
23
+ {size}
24
+ aria-disabled={!emblaCtx.canScrollNext}
25
+ disabled={!emblaCtx.canScrollNext}
26
+ class={cn(
27
+ "rounded-full absolute touch-manipulation",
28
+ emblaCtx.orientation === "horizontal"
29
+ ? "inset-y-0 -end-12 my-auto"
30
+ : "start-1/2 -bottom-12 -translate-x-1/2 rotate-90",
31
+ className
32
+ )}
33
+ onclick={emblaCtx.scrollNext}
34
+ onkeydown={emblaCtx.handleKeyDown}
35
+ bind:ref
36
+ {...restProps}
37
+ >
38
+ <HugeiconsIcon icon={ArrowRight01Icon} strokeWidth={2} />
39
+ <span class="sr-only">Next slide</span>
40
+ </Button>
@@ -0,0 +1,4 @@
1
+ import { type Props } from "../button/index.js";
2
+ declare const CarouselNext: import("svelte").Component<Omit<Props, "children">, {}, "ref">;
3
+ type CarouselNext = ReturnType<typeof CarouselNext>;
4
+ export default CarouselNext;
@@ -0,0 +1,40 @@
1
+ <script lang="ts">
2
+ import { HugeiconsIcon } from "@hugeicons/svelte"
3
+ import { ArrowLeft01Icon } from '@hugeicons/core-free-icons';
4
+ import { Button, type Props } from "../button/index.js";
5
+ import { cn } from "../../../utils.js";
6
+ import { getEmblaContext } from "./context.js";
7
+ import type { WithoutChildren } from "bits-ui";
8
+
9
+ let {
10
+ ref = $bindable(null),
11
+ class: className,
12
+ variant = "outline",
13
+ size = "icon-sm",
14
+ ...restProps
15
+ }: WithoutChildren<Props> = $props();
16
+
17
+ const emblaCtx = getEmblaContext("<Carousel.Previous/>");
18
+ </script>
19
+
20
+ <Button
21
+ data-slot="carousel-previous"
22
+ {variant}
23
+ {size}
24
+ aria-disabled={!emblaCtx.canScrollPrev}
25
+ disabled={!emblaCtx.canScrollPrev}
26
+ class={cn(
27
+ "rounded-full absolute touch-manipulation",
28
+ emblaCtx.orientation === "horizontal"
29
+ ? "inset-y-0 -start-12 my-auto"
30
+ : "start-1/2 -top-12 -translate-x-1/2 rotate-90",
31
+ className
32
+ )}
33
+ onclick={emblaCtx.scrollPrev}
34
+ onkeydown={emblaCtx.handleKeyDown}
35
+ {...restProps}
36
+ bind:ref
37
+ >
38
+ <HugeiconsIcon icon={ArrowLeft01Icon} strokeWidth={2} />
39
+ <span class="sr-only">Previous slide</span>
40
+ </Button>
@@ -0,0 +1,4 @@
1
+ import { type Props } from "../button/index.js";
2
+ declare const CarouselPrevious: import("svelte").Component<Omit<Props, "children">, {}, "ref">;
3
+ type CarouselPrevious = ReturnType<typeof CarouselPrevious>;
4
+ export default CarouselPrevious;