negodesign 0.0.10 → 0.0.12
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.
- package/dist/components/NegoDesign.svelte +1 -1
- package/dist/components/NegoDesign.svelte.d.ts +1 -1
- package/dist/components/core/button/ButtonBack.svelte +1 -1
- package/dist/components/core/button/ButtonLogin.svelte +1 -1
- package/dist/components/core/button/ButtonLoginWith.svelte +1 -1
- package/dist/components/core/button/ButtonSend.svelte +1 -1
- package/dist/components/core/card/media/01/CardMedia01.svelte +114 -0
- package/dist/components/core/card/media/01/CardMedia01.svelte.d.ts +4 -0
- package/dist/components/core/card/media/02/CardMedia02.svelte +113 -0
- package/dist/components/core/card/media/02/CardMedia02.svelte.d.ts +4 -0
- package/dist/components/core/card/media/CardMedia.svelte +17 -0
- package/dist/components/core/card/media/CardMedia.svelte.d.ts +8 -0
- package/dist/components/core/card/media/data.d.ts +3 -0
- package/dist/components/core/card/media/data.js +117 -0
- package/dist/components/core/card/profile/01/CardProfile01.svelte +101 -0
- package/dist/components/core/card/profile/01/CardProfile01.svelte.d.ts +4 -0
- package/dist/components/core/card/profile/02/CardProfile02.svelte +97 -0
- package/dist/components/core/card/profile/02/CardProfile02.svelte.d.ts +4 -0
- package/dist/components/core/card/profile/CardProfile.svelte +17 -0
- package/dist/components/core/card/profile/CardProfile.svelte.d.ts +8 -0
- package/dist/components/core/card/profile/data.d.ts +3 -0
- package/dist/components/core/card/profile/data.js +107 -0
- package/dist/components/core/card/shared/CardButton.svelte +30 -0
- package/dist/components/core/card/shared/CardButton.svelte.d.ts +12 -0
- package/dist/components/core/card/shared/CardDescription.svelte +23 -0
- package/dist/components/core/card/shared/CardDescription.svelte.d.ts +6 -0
- package/dist/components/core/card/shared/CardFavorite.svelte +28 -0
- package/dist/components/core/card/shared/CardFavorite.svelte.d.ts +7 -0
- package/dist/components/core/card/shared/CardStarRating.svelte +20 -0
- package/dist/components/core/card/shared/CardStarRating.svelte.d.ts +7 -0
- package/dist/components/core/card/shared/CardTags.svelte +56 -0
- package/dist/components/core/card/shared/CardTags.svelte.d.ts +10 -0
- package/dist/components/core/card/shared/CardThumbnailVideo.svelte +170 -0
- package/dist/components/core/card/shared/CardThumbnailVideo.svelte.d.ts +10 -0
- package/dist/components/core/card/shared/TruncatableText.svelte +56 -0
- package/dist/components/core/card/shared/TruncatableText.svelte.d.ts +8 -0
- package/dist/components/core/card/types.d.ts +44 -0
- package/dist/components/core/carousel/types.d.ts +23 -0
- package/dist/components/core/carousel/ui/SimpleCarousel.svelte +62 -0
- package/dist/components/core/carousel/ui/SimpleCarousel.svelte.d.ts +4 -0
- package/dist/components/core/datatable/ui/DataTableCore.svelte +5 -5
- package/dist/components/core/form/ui/input-code-otp.svelte +3 -3
- package/dist/components/core/form/ui/input-code-otp.svelte.d.ts +2 -2
- package/dist/components/core/form/ui/input-email-or-phone.svelte +1 -1
- package/dist/components/core/form/ui/input-email.svelte +1 -1
- package/dist/components/core/form/ui/input-password-confirm.svelte +1 -1
- package/dist/components/core/form/ui/input-password.svelte +1 -1
- package/dist/components/core/form/ui/input-phone.svelte +1 -1
- package/dist/components/core/form/ui/input-username.svelte +2 -2
- package/dist/components/core/nav/data/nav-menu-sidebar.d.ts +7 -7
- package/dist/components/core/nav/data/nav-menu.d.ts +31 -0
- package/dist/components/core/nav/data/nav-user-sidebar.d.ts +1 -1
- package/dist/components/core/nav/ui/menu-links.svelte +28 -0
- package/dist/components/core/nav/ui/menu-links.svelte.d.ts +10 -0
- package/dist/components/core/nav/ui/mobile/nav-menu-drawer.svelte +85 -0
- package/dist/components/core/nav/ui/mobile/nav-menu-drawer.svelte.d.ts +9 -0
- package/dist/components/core/nav/ui/{nav-menu-bottom-bar.svelte → nav-menu-bottom-sidebar.svelte} +2 -2
- package/dist/components/core/nav/ui/nav-menu-bottom-sidebar.svelte.d.ts +10 -0
- package/dist/components/core/nav/ui/nav-menu-header-sidebar.svelte.d.ts +10 -0
- package/dist/components/core/nav/ui/{nav-menu-bar.svelte → nav-menu-sidebar.svelte} +7 -7
- package/dist/components/core/nav/ui/nav-menu-sidebar.svelte.d.ts +7 -0
- package/dist/components/core/nav/ui/nav-menu-top-bar-sidebar.svelte.d.ts +4 -0
- package/dist/components/core/nav/ui/nav-menu.svelte +98 -0
- package/dist/components/core/nav/ui/nav-menu.svelte.d.ts +4 -0
- package/dist/components/core/nav/ui/nav-user-sidebar.svelte +2 -2
- package/dist/components/core/nav/ui/nav-user-sidebar.svelte.d.ts +2 -2
- package/dist/components/core/panel/LeftHero.svelte +3 -3
- package/dist/components/core/panel/LeftHero.svelte.d.ts +2 -2
- package/dist/components/core/search/01/Search01.svelte +15 -0
- package/dist/components/core/search/01/Search01.svelte.d.ts +4 -0
- package/dist/components/core/search/02/Search02.svelte +15 -0
- package/dist/components/core/search/02/Search02.svelte.d.ts +4 -0
- package/dist/components/core/search/SearchInput.svelte +32 -0
- package/dist/components/core/search/SearchInput.svelte.d.ts +4 -0
- package/dist/components/core/search/shared/SearchInputCore.svelte +66 -0
- package/dist/components/core/search/shared/SearchInputCore.svelte.d.ts +4 -0
- package/dist/components/core/search/types.d.ts +15 -0
- package/dist/components/core/sidebar/MenuBarSidebar.svelte +14 -14
- package/dist/components/core/sidebar/MenuBarSidebar.svelte.d.ts +8 -8
- package/dist/components/pages/admin/{ui → 01/ui}/AdminContent.svelte +1 -1
- package/dist/components/pages/admin/{ui → 01/ui}/AdminContent.svelte.d.ts +1 -1
- package/dist/components/pages/admin/{ui → 01/ui}/AdminPanel.svelte +8 -8
- package/dist/components/pages/admin/{ui → 01/ui}/AdminPanel.svelte.d.ts +4 -4
- package/dist/components/pages/privacy-policy-or-terms-of-use/01/DocsSidebar.svelte +69 -0
- package/dist/components/pages/privacy-policy-or-terms-of-use/01/DocsSidebar.svelte.d.ts +10 -0
- package/dist/components/pages/privacy-policy-or-terms-of-use/01/PrivacyPolicyOrTermsOfUse01.svelte +73 -0
- package/dist/components/pages/privacy-policy-or-terms-of-use/01/PrivacyPolicyOrTermsOfUse01.svelte.d.ts +7 -0
- package/dist/components/pages/privacy-policy-or-terms-of-use/01/TableOfContents.svelte +37 -0
- package/dist/components/pages/privacy-policy-or-terms-of-use/01/TableOfContents.svelte.d.ts +8 -0
- package/dist/components/pages/privacy-policy-or-terms-of-use/02/DocsPageHero.svelte +59 -0
- package/dist/components/pages/privacy-policy-or-terms-of-use/02/DocsPageHero.svelte.d.ts +10 -0
- package/dist/components/pages/privacy-policy-or-terms-of-use/02/PageHero.svelte +51 -0
- package/dist/components/pages/privacy-policy-or-terms-of-use/02/PageHero.svelte.d.ts +14 -0
- package/dist/components/pages/privacy-policy-or-terms-of-use/02/PrivacyPolicyOrTermsOfUse02.svelte +24 -0
- package/dist/components/pages/privacy-policy-or-terms-of-use/02/PrivacyPolicyOrTermsOfUse02.svelte.d.ts +7 -0
- package/dist/components/pages/privacy-policy-or-terms-of-use/PrivacyPolicyOrTermsOfUse.svelte +32 -0
- package/dist/components/pages/privacy-policy-or-terms-of-use/PrivacyPolicyOrTermsOfUse.svelte.d.ts +4 -0
- package/dist/components/pages/privacy-policy-or-terms-of-use/shared/ContentBlockView.svelte +26 -0
- package/dist/components/pages/privacy-policy-or-terms-of-use/shared/ContentBlockView.svelte.d.ts +7 -0
- package/dist/components/pages/privacy-policy-or-terms-of-use/shared/DocSectionView.svelte +44 -0
- package/dist/components/pages/privacy-policy-or-terms-of-use/shared/DocSectionView.svelte.d.ts +7 -0
- package/dist/components/pages/privacy-policy-or-terms-of-use/shared/PrivacyPolicyOrTermsOfUseBreadcrumb.svelte +34 -0
- package/dist/components/pages/privacy-policy-or-terms-of-use/shared/PrivacyPolicyOrTermsOfUseBreadcrumb.svelte.d.ts +7 -0
- package/dist/components/pages/privacy-policy-or-terms-of-use/shared/toc.d.ts +8 -0
- package/dist/components/pages/privacy-policy-or-terms-of-use/shared/toc.js +14 -0
- package/dist/components/pages/privacy-policy-or-terms-of-use/types.d.ts +62 -0
- package/dist/components/pages/privacy-policy-or-terms-of-use/types.js +5 -0
- package/dist/components/pages/{forget-password → security/forget-password}/01/ui/ForgetPasswordCard.svelte +15 -10
- package/dist/components/pages/{forget-password → security/forget-password}/01/ui/ForgetPasswordCard.svelte.d.ts +0 -5
- package/dist/components/pages/{forget-password → security/forget-password}/01/ui/FormForgetPassword.svelte +15 -5
- package/dist/components/pages/{forget-password → security/forget-password}/01/ui/PageForgetPassword01.svelte +6 -6
- package/dist/components/pages/{forget-password → security/forget-password}/PageForgetPassword.svelte +10 -7
- package/dist/components/pages/{forget-password → security/forget-password}/PageForgetPassword.svelte.d.ts +0 -7
- package/dist/components/pages/{forget-password → security/forget-password}/types.d.ts +3 -3
- package/dist/components/pages/{login → security/login}/01/ui/FormLogin.svelte +19 -15
- package/dist/components/pages/{login → security/login}/01/ui/FormLogin.svelte.d.ts +0 -6
- package/dist/components/pages/{login → security/login}/01/ui/FormLoginEmailPassword.svelte +10 -1
- package/dist/components/pages/{login → security/login}/01/ui/FormLoginEmailPassword.svelte.d.ts +0 -1
- package/dist/components/pages/{login → security/login}/01/ui/FormLoginPhonePassword.svelte +10 -1
- package/dist/components/pages/{login → security/login}/01/ui/FormLoginPhonePassword.svelte.d.ts +0 -1
- package/dist/components/pages/{login → security/login}/01/ui/FormLoginUsernamePassword.svelte +10 -1
- package/dist/components/pages/{login → security/login}/01/ui/FormLoginUsernamePassword.svelte.d.ts +0 -1
- package/dist/components/pages/{login → security/login}/01/ui/FormRegister.svelte +5 -5
- package/dist/components/pages/{login → security/login}/01/ui/LoginCard.svelte +28 -20
- package/dist/components/pages/security/login/01/ui/LoginCard.svelte.d.ts +13 -0
- package/dist/components/pages/{login → security/login}/01/ui/PageLogin01.svelte +12 -11
- package/dist/components/pages/security/login/PageLogin.svelte +22 -0
- package/dist/components/pages/security/login/PageLogin.svelte.d.ts +8 -0
- package/dist/components/pages/security/login/types.d.ts +33 -0
- package/dist/components/pages/security/login/types.js +1 -0
- package/dist/components/pages/{otp-verification → security/otp-verification}/01/ui/FormOtpVerification.svelte +13 -3
- package/dist/components/pages/{otp-verification → security/otp-verification}/01/ui/OtpVerificationCard.svelte +15 -10
- package/dist/components/pages/{otp-verification → security/otp-verification}/01/ui/OtpVerificationCard.svelte.d.ts +0 -5
- package/dist/components/pages/{otp-verification → security/otp-verification}/01/ui/PageOtpVerification01.svelte +12 -6
- package/dist/components/pages/{otp-verification → security/otp-verification}/PageOtpVerification.svelte +10 -4
- package/dist/components/pages/{otp-verification → security/otp-verification}/PageOtpVerification.svelte.d.ts +0 -4
- package/dist/components/pages/{otp-verification → security/otp-verification}/types.d.ts +3 -3
- package/dist/components/pages/security/otp-verification/types.js +1 -0
- package/dist/components/pages/{reset-password → security/reset-password}/01/ui/FormResetPassword.svelte +15 -5
- package/dist/components/pages/{reset-password → security/reset-password}/01/ui/PageResetPassword01.svelte +12 -6
- package/dist/components/pages/{reset-password → security/reset-password}/01/ui/ResetPasswordCard.svelte +15 -10
- package/dist/components/pages/{reset-password → security/reset-password}/01/ui/ResetPasswordCard.svelte.d.ts +0 -5
- package/dist/components/pages/{reset-password → security/reset-password}/PageResetPassword.svelte +10 -4
- package/dist/components/pages/{reset-password → security/reset-password}/PageResetPassword.svelte.d.ts +0 -4
- package/dist/components/pages/{reset-password → security/reset-password}/types.d.ts +3 -3
- package/dist/components/pages/security/reset-password/types.js +1 -0
- package/dist/components/ui/button/button.svelte +82 -101
- package/dist/components/ui/button/button.svelte.d.ts +36 -63
- package/dist/components/ui/button/index.d.ts +2 -2
- package/dist/components/ui/button/index.js +2 -2
- package/dist/components/ui/carousel/carousel-content.svelte +43 -0
- package/dist/components/ui/carousel/carousel-content.svelte.d.ts +5 -0
- package/dist/components/ui/carousel/carousel-item.svelte +30 -0
- package/dist/components/ui/carousel/carousel-item.svelte.d.ts +5 -0
- package/dist/components/ui/carousel/carousel-next.svelte +40 -0
- package/dist/components/ui/carousel/carousel-next.svelte.d.ts +4 -0
- package/dist/components/ui/carousel/carousel-previous.svelte +40 -0
- package/dist/components/ui/carousel/carousel-previous.svelte.d.ts +4 -0
- package/dist/components/ui/carousel/carousel.svelte +94 -0
- package/dist/components/ui/carousel/carousel.svelte.d.ts +5 -0
- package/dist/components/ui/carousel/context.d.ts +31 -0
- package/dist/components/ui/carousel/context.js +12 -0
- package/dist/components/ui/carousel/index.d.ts +6 -0
- package/dist/components/ui/carousel/index.js +8 -0
- package/dist/components/ui/input-group/input-group-addon.svelte +6 -0
- package/dist/components/ui/input-group/input-group-addon.svelte.d.ts +6 -0
- package/dist/components/ui/light-switch/light-switch.svelte +17 -6
- package/dist/components/ui/light-switch/light-switch.svelte.d.ts +2 -2
- package/dist/components/ui/star-rating/index.d.ts +2 -0
- package/dist/components/ui/star-rating/index.js +2 -0
- package/dist/components/ui/star-rating/star-rating-star.svelte +41 -0
- package/dist/components/ui/star-rating/star-rating-star.svelte.d.ts +4 -0
- package/dist/components/ui/star-rating/star-rating.svelte +20 -0
- package/dist/components/ui/star-rating/star-rating.svelte.d.ts +4 -0
- package/dist/components/ui/star-rating/types.d.ts +5 -0
- package/dist/components/ui/star-rating/types.js +1 -0
- package/dist/globals.css +602 -36
- package/dist/hooks/responsive.svelte.d.ts +3 -0
- package/dist/hooks/responsive.svelte.js +18 -0
- package/dist/i18n/index.d.ts +2 -2
- package/dist/i18n/index.js +2 -2
- package/dist/i18n/langs/en.d.ts +22 -8
- package/dist/i18n/langs/en.js +22 -8
- package/dist/i18n/langs/pt.d.ts +22 -8
- package/dist/i18n/langs/pt.js +22 -8
- package/dist/i18n/translations.d.ts +44 -16
- package/dist/index.d.ts +14 -9
- package/dist/index.js +14 -9
- package/dist/styles/globals.css +143 -141
- package/dist/types/index.d.ts +4 -4
- package/package.json +11 -8
- package/dist/components/core/carousel/data/CarouselModel.d.ts +0 -11
- package/dist/components/core/nav/ui/nav-menu-bar.svelte.d.ts +0 -7
- package/dist/components/core/nav/ui/nav-menu-bottom-bar.svelte.d.ts +0 -10
- package/dist/components/core/nav/ui/nav-menu-header.svelte.d.ts +0 -10
- package/dist/components/core/nav/ui/nav-menu-top-bar.svelte.d.ts +0 -4
- package/dist/components/pages/login/01/ui/LoginCard.svelte.d.ts +0 -21
- package/dist/components/pages/login/PageLogin.svelte +0 -21
- package/dist/components/pages/login/PageLogin.svelte.d.ts +0 -17
- package/dist/components/pages/login/types.d.ts +0 -23
- /package/dist/components/{pages/forget-password → core/card}/types.js +0 -0
- /package/dist/components/{pages/login → core/carousel}/types.js +0 -0
- /package/dist/components/core/{carousel/data/CarouselModel.js → nav/data/nav-menu.js} +0 -0
- /package/dist/components/core/nav/ui/{nav-menu-header.svelte → nav-menu-header-sidebar.svelte} +0 -0
- /package/dist/components/core/nav/ui/{nav-menu-top-bar.svelte → nav-menu-top-bar-sidebar.svelte} +0 -0
- /package/dist/components/{pages/otp-verification → core/search}/types.js +0 -0
- /package/dist/components/pages/{forget-password → security/forget-password}/01/ui/FormForgetPassword.svelte.d.ts +0 -0
- /package/dist/components/pages/{forget-password → security/forget-password}/01/ui/PageForgetPassword01.svelte.d.ts +0 -0
- /package/dist/components/pages/{reset-password → security/forget-password}/types.js +0 -0
- /package/dist/components/pages/{login → security/login}/01/ui/FormRegister.svelte.d.ts +0 -0
- /package/dist/components/pages/{login → security/login}/01/ui/PageLogin01.svelte.d.ts +0 -0
- /package/dist/components/pages/{otp-verification → security/otp-verification}/01/ui/FormOtpVerification.svelte.d.ts +0 -0
- /package/dist/components/pages/{otp-verification → security/otp-verification}/01/ui/PageOtpVerification01.svelte.d.ts +0 -0
- /package/dist/components/pages/{reset-password → security/reset-password}/01/ui/FormResetPassword.svelte.d.ts +0 -0
- /package/dist/components/pages/{reset-password → security/reset-password}/01/ui/PageResetPassword01.svelte.d.ts +0 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import * as Carousel from "../../../ui/carousel/index.js";
|
|
3
|
+
import type { SimpleCarouselProps } from "../types.js";
|
|
4
|
+
import { HugeiconsIcon } from "@hugeicons/svelte";
|
|
5
|
+
|
|
6
|
+
const {
|
|
7
|
+
items,
|
|
8
|
+
imageClass,
|
|
9
|
+
iconClass,
|
|
10
|
+
labelClass,
|
|
11
|
+
activeClass,
|
|
12
|
+
valueActive,
|
|
13
|
+
orientation = "horizontal",
|
|
14
|
+
isBorderItem = true,
|
|
15
|
+
isBorderBottom = true,
|
|
16
|
+
isButtonPreviousAndNext = true,
|
|
17
|
+
buttonPreviousAndNextClass = "",
|
|
18
|
+
}: SimpleCarouselProps = $props();
|
|
19
|
+
|
|
20
|
+
const DEFAULT_IMG_OR_ICON_CLASS = "size-5 rounded-lg";
|
|
21
|
+
</script>
|
|
22
|
+
|
|
23
|
+
<nav class={`relative py-3 px-2 ${isBorderBottom ? "border-b" : ""}`}>
|
|
24
|
+
<Carousel.Root>
|
|
25
|
+
<Carousel.Content class="ml-10">
|
|
26
|
+
{#each items as item (item.value)}
|
|
27
|
+
<Carousel.Item
|
|
28
|
+
onclick={() => item.onClick?.(item.value)}
|
|
29
|
+
class={`
|
|
30
|
+
flex cursor-pointer items-center justify-center gap-1 basis-auto mx-3 pl-0
|
|
31
|
+
${isBorderItem ? "border border-solid border-gray-300 rounded-lg" : ""}
|
|
32
|
+
${item.value === valueActive ? activeClass : ""}`}
|
|
33
|
+
>
|
|
34
|
+
<div class={`
|
|
35
|
+
flex gap-1 mx-2 p-0.5 justify-center items-center
|
|
36
|
+
${orientation === "horizontal" ? "flex-row" : "flex-col"}
|
|
37
|
+
`}>
|
|
38
|
+
{#if item.image}
|
|
39
|
+
<img
|
|
40
|
+
src={item.image}
|
|
41
|
+
alt={item.label}
|
|
42
|
+
class={imageClass || DEFAULT_IMG_OR_ICON_CLASS}
|
|
43
|
+
/>
|
|
44
|
+
{:else if item.icon}
|
|
45
|
+
<HugeiconsIcon
|
|
46
|
+
icon={item.icon}
|
|
47
|
+
class={iconClass || DEFAULT_IMG_OR_ICON_CLASS}
|
|
48
|
+
/>
|
|
49
|
+
{/if}
|
|
50
|
+
<div class={`${labelClass}`}>{item.label}</div>
|
|
51
|
+
</div>
|
|
52
|
+
</Carousel.Item>
|
|
53
|
+
{/each}
|
|
54
|
+
</Carousel.Content>
|
|
55
|
+
{#if isButtonPreviousAndNext}
|
|
56
|
+
<Carousel.Previous
|
|
57
|
+
class={`absolute top-1/2 -translate-y-1/2 left-1 mt-0.5 ${buttonPreviousAndNextClass}`}
|
|
58
|
+
/>
|
|
59
|
+
<Carousel.Next class={`absolute top-1/2 -translate-y-1/2 right-1 mt-0.5 ${buttonPreviousAndNextClass}`} />
|
|
60
|
+
{/if}
|
|
61
|
+
</Carousel.Root>
|
|
62
|
+
</nav>
|
|
@@ -28,11 +28,11 @@
|
|
|
28
28
|
import DataTableListPagination from "./DataTableListPagination.svelte";
|
|
29
29
|
|
|
30
30
|
/**
|
|
31
|
-
*
|
|
32
|
-
* @property {DataTableItem<T>["config"]} config -
|
|
33
|
-
* @property {keyof T} columnFilter -
|
|
34
|
-
* @property {Component} actions -
|
|
35
|
-
* @property {T[]} items -
|
|
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
|
-
/**
|
|
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
|
-
/**
|
|
16
|
+
/** Number of OTP code boxes. Default: 6 */
|
|
17
17
|
length?: number;
|
|
18
|
-
/**
|
|
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
|
-
/**
|
|
3
|
+
/** Number of OTP code boxes. Default: 6 */
|
|
4
4
|
length?: number;
|
|
5
|
-
/**
|
|
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
|
-
/**
|
|
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.
|
|
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
|
|
2
|
+
export interface GroupMenuSidebarProps {
|
|
3
3
|
name: string;
|
|
4
4
|
}
|
|
5
|
-
export interface
|
|
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
|
|
11
|
+
export interface NavMenuSidebarProps {
|
|
12
12
|
title: string;
|
|
13
13
|
url?: string;
|
|
14
14
|
icon: IconSvgElement;
|
|
15
15
|
isActive?: boolean;
|
|
16
|
-
group?:
|
|
16
|
+
group?: GroupMenuSidebarProps;
|
|
17
17
|
}
|
|
18
|
-
export interface
|
|
19
|
-
submenus?:
|
|
18
|
+
export interface NavMenuAndSubmenuSidebarProps extends NavMenuSidebarProps {
|
|
19
|
+
submenus?: SubMenuSidebarProps[];
|
|
20
20
|
}
|
|
21
|
-
export type NavMenuItem =
|
|
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
|
+
}
|
|
@@ -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;
|
package/dist/components/core/nav/ui/{nav-menu-bottom-bar.svelte → nav-menu-bottom-sidebar.svelte}
RENAMED
|
@@ -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 {
|
|
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?:
|
|
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
|
-
|
|
8
|
+
NavMenuAndSubmenuSidebarProps,
|
|
9
9
|
NavMenuItem,
|
|
10
|
-
|
|
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
|
-
//
|
|
20
|
-
//
|
|
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:
|
|
25
|
-
): item is
|
|
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;
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { Button } from "../../../ui/button/index.js";
|
|
3
|
+
import { HugeiconsIcon } from "@hugeicons/svelte";
|
|
4
|
+
import type { NavMenuProps } from "../data/nav-menu";
|
|
5
|
+
import LightSwitch from "../../../ui/light-switch/light-switch.svelte";
|
|
6
|
+
import LanguageSwitcher from "../../../ui/language-switcher/language-switcher.svelte";
|
|
7
|
+
import { t } from "../../../../i18n";
|
|
8
|
+
import { Login03Icon, User03Icon } from "@hugeicons/core-free-icons";
|
|
9
|
+
import { useIsMobile } from "../../../../hooks/responsive.svelte";
|
|
10
|
+
import NavMenuDrawer from "./mobile/nav-menu-drawer.svelte";
|
|
11
|
+
import MenuLinks from "./menu-links.svelte";
|
|
12
|
+
|
|
13
|
+
let {
|
|
14
|
+
logo,
|
|
15
|
+
links,
|
|
16
|
+
actions,
|
|
17
|
+
linkClass = "",
|
|
18
|
+
buttonClass = "",
|
|
19
|
+
align = "LINK_SEPARATED_ACTIONS",
|
|
20
|
+
onclickButtonLogin,
|
|
21
|
+
onclickButtonRegister,
|
|
22
|
+
}: NavMenuProps = $props();
|
|
23
|
+
|
|
24
|
+
const responsive = useIsMobile();
|
|
25
|
+
</script>
|
|
26
|
+
|
|
27
|
+
{#snippet actionButtons()}
|
|
28
|
+
<div class="flex items-center gap-2">
|
|
29
|
+
<LightSwitch />
|
|
30
|
+
<LanguageSwitcher />
|
|
31
|
+
{#each actions as item (item.label)}
|
|
32
|
+
<Button
|
|
33
|
+
variant={item.type === "LINK" ? "ghost" : "outline"}
|
|
34
|
+
class={item.className}
|
|
35
|
+
onclick={item.onclick}
|
|
36
|
+
>
|
|
37
|
+
{#if item.icon}
|
|
38
|
+
<HugeiconsIcon icon={item.icon} />
|
|
39
|
+
{/if}
|
|
40
|
+
{item.label}
|
|
41
|
+
</Button>
|
|
42
|
+
{/each}
|
|
43
|
+
{#if onclickButtonRegister}
|
|
44
|
+
<Button
|
|
45
|
+
variant="outline"
|
|
46
|
+
onclick={onclickButtonRegister}
|
|
47
|
+
class={buttonClass}
|
|
48
|
+
>
|
|
49
|
+
<HugeiconsIcon icon={User03Icon} />
|
|
50
|
+
{$t("label.register")}
|
|
51
|
+
</Button>
|
|
52
|
+
{/if}
|
|
53
|
+
{#if onclickButtonLogin}
|
|
54
|
+
<Button
|
|
55
|
+
variant="outline"
|
|
56
|
+
onclick={onclickButtonLogin}
|
|
57
|
+
class={buttonClass}
|
|
58
|
+
>
|
|
59
|
+
<HugeiconsIcon icon={Login03Icon} />
|
|
60
|
+
{$t("label.login")}
|
|
61
|
+
</Button>
|
|
62
|
+
{/if}
|
|
63
|
+
</div>
|
|
64
|
+
{/snippet}
|
|
65
|
+
|
|
66
|
+
<nav class="flex items-center justify-between container py-5 md:px-5">
|
|
67
|
+
{#if logo}
|
|
68
|
+
<div>
|
|
69
|
+
{#if logo.img}
|
|
70
|
+
<img
|
|
71
|
+
src={logo.img}
|
|
72
|
+
alt="logo of site"
|
|
73
|
+
class={`max-h-50 ${logo.className}`}
|
|
74
|
+
/>
|
|
75
|
+
{:else if logo.label}
|
|
76
|
+
<span class={logo.className}>{logo.label}</span>
|
|
77
|
+
{/if}
|
|
78
|
+
</div>
|
|
79
|
+
{:else}
|
|
80
|
+
<div>
|
|
81
|
+
<span class="hidden">Logo</span>
|
|
82
|
+
</div>
|
|
83
|
+
{/if}
|
|
84
|
+
|
|
85
|
+
{#if responsive.isMobile}
|
|
86
|
+
<NavMenuDrawer {links} {onclickButtonLogin} {onclickButtonRegister} />
|
|
87
|
+
{:else}
|
|
88
|
+
{#if align === "LINK_SEPARATED_ACTIONS"}
|
|
89
|
+
<MenuLinks {links} {linkClass} orientation="horizontal" />
|
|
90
|
+
{@render actionButtons()}
|
|
91
|
+
{:else if align === "LINK_INTO_ACTIONS"}
|
|
92
|
+
<div class="flex items-center gap-2">
|
|
93
|
+
<MenuLinks {links} {linkClass} orientation="vertical" />
|
|
94
|
+
{@render actionButtons()}
|
|
95
|
+
</div>
|
|
96
|
+
{/if}
|
|
97
|
+
{/if}
|
|
98
|
+
</nav>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import * as Avatar from "../../../ui/avatar/index.js";
|
|
3
3
|
import * as DropdownMenu from "../../../ui/dropdown-menu/index.js";
|
|
4
4
|
import * as Sidebar from "../../../ui/sidebar/index.js";
|
|
5
|
-
import type {
|
|
5
|
+
import type { NavUserSidebarProps } from "../data/nav-user-sidebar";
|
|
6
6
|
import { useSidebar } from "../../../ui/sidebar/index.js";
|
|
7
7
|
import { HugeiconsIcon } from "@hugeicons/svelte";
|
|
8
8
|
import {
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
} from "@hugeicons/core-free-icons";
|
|
13
13
|
import { t } from "../../../../i18n";
|
|
14
14
|
|
|
15
|
-
let { user: userLogged }: { user:
|
|
15
|
+
let { user: userLogged }: { user: NavUserSidebarProps } = $props();
|
|
16
16
|
|
|
17
17
|
const sidebar = useSidebar();
|
|
18
18
|
</script>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { NavUserSidebarProps } from "../data/nav-user-sidebar";
|
|
2
2
|
type $$ComponentProps = {
|
|
3
|
-
user:
|
|
3
|
+
user: NavUserSidebarProps;
|
|
4
4
|
};
|
|
5
5
|
declare const NavUserSidebar: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
6
6
|
type NavUserSidebar = ReturnType<typeof NavUserSidebar>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { HugeiconsIcon } from "@hugeicons/svelte";
|
|
3
3
|
import { ArrowRight01Icon } from "@hugeicons/core-free-icons";
|
|
4
|
-
import type {
|
|
4
|
+
import type { LoginCarouselProps } from "../../pages/security/login/types";
|
|
5
5
|
import type { Snippet } from "svelte";
|
|
6
6
|
import Button from "../../ui/button/button.svelte";
|
|
7
7
|
import { t } from "../../../i18n";
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
items = [],
|
|
19
19
|
variant = "DOT",
|
|
20
20
|
autoPlayInterval = 5000,
|
|
21
|
-
}: Props &
|
|
21
|
+
}: Props & LoginCarouselProps = $props();
|
|
22
22
|
|
|
23
23
|
let currentIndex = $state(0);
|
|
24
24
|
let currentItem = $derived(items[currentIndex] ?? items[0]);
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
</div>
|
|
54
54
|
|
|
55
55
|
<section class="flex flex-col gap-5">
|
|
56
|
-
<div class="my-auto max-w-sm md:max-w-md lg:max-w-
|
|
56
|
+
<div class="my-auto max-w-sm md:max-w-md lg:max-w-100">
|
|
57
57
|
{#if currentItem}
|
|
58
58
|
{#key currentIndex}
|
|
59
59
|
<div
|