negodesign 0.0.59 → 0.0.60

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 (136) hide show
  1. package/dist/components/core/banner/AdCardBanner.svelte +74 -74
  2. package/dist/components/core/banner/CtaCardBanner.svelte +118 -118
  3. package/dist/components/core/breadcrumb/breadcrumb-list.svelte +31 -31
  4. package/dist/components/core/button/ButtonBack.svelte +18 -18
  5. package/dist/components/core/button/ButtonLogin.svelte +15 -15
  6. package/dist/components/core/button/ButtonLoginWith.svelte +57 -57
  7. package/dist/components/core/button/ButtonSend.svelte +15 -15
  8. package/dist/components/core/card/highlight/01/CardHighlight01.svelte +103 -103
  9. package/dist/components/core/card/highlight/02/CardHighlight02.svelte +99 -99
  10. package/dist/components/core/card/highlight/CardHighlight.svelte +22 -22
  11. package/dist/components/core/card/media/01/CardMedia01.svelte +133 -133
  12. package/dist/components/core/card/media/02/CardMedia02.svelte +127 -127
  13. package/dist/components/core/card/media/CardMedia.svelte +18 -18
  14. package/dist/components/core/card/product/01/CardProduct01.svelte +136 -136
  15. package/dist/components/core/card/product/02/CardProduct02.svelte +124 -124
  16. package/dist/components/core/card/product/CardProduct.svelte +22 -22
  17. package/dist/components/core/card/profile/01/CardProfile01.svelte +134 -134
  18. package/dist/components/core/card/profile/02/CardProfile02.svelte +132 -132
  19. package/dist/components/core/card/profile/CardProfile.svelte +18 -18
  20. package/dist/components/core/card/promotion/CardPromotion.svelte +139 -139
  21. package/dist/components/core/card/promotion/CardPromotionPrice.svelte +32 -32
  22. package/dist/components/core/card/shared/CardButton.svelte +42 -42
  23. package/dist/components/core/card/shared/CardCart.svelte +36 -36
  24. package/dist/components/core/card/shared/CardDescription.svelte +41 -41
  25. package/dist/components/core/card/shared/CardFavorite.svelte +33 -33
  26. package/dist/components/core/card/shared/CardLogo.svelte +19 -19
  27. package/dist/components/core/card/shared/CardPhoneOrWhatsapp.svelte +45 -45
  28. package/dist/components/core/card/shared/CardStarRating.svelte +24 -24
  29. package/dist/components/core/card/shared/CardTags.svelte +95 -95
  30. package/dist/components/core/card/shared/CardThumbnailVideo.svelte +232 -232
  31. package/dist/components/core/card/shared/CardTitlePrice.svelte +24 -24
  32. package/dist/components/core/card/shared/TruncatableText.svelte +49 -49
  33. package/dist/components/core/carousel/badge/ui/CarouselBadge.svelte +109 -109
  34. package/dist/components/core/carousel/grid/shared/ui/CarouselGridSlot.svelte +38 -38
  35. package/dist/components/core/carousel/hero/ui/CarouselHero.svelte +163 -163
  36. package/dist/components/core/carousel/shared/ui/CarouselHeader.svelte +60 -60
  37. package/dist/components/core/datatable/ui/DataTableActions.svelte +28 -28
  38. package/dist/components/core/datatable/ui/DataTableCheckbox.svelte +22 -22
  39. package/dist/components/core/datatable/ui/DataTableContent.svelte +59 -59
  40. package/dist/components/core/datatable/ui/DataTableCore.svelte +151 -151
  41. package/dist/components/core/datatable/ui/DataTableDragHandle.svelte +8 -8
  42. package/dist/components/core/datatable/ui/DataTableListFilter.svelte +59 -59
  43. package/dist/components/core/datatable/ui/DataTableListPagination.svelte +35 -35
  44. package/dist/components/core/footer/ui/Footer.svelte +18 -18
  45. package/dist/components/core/form/ui/input-base.svelte +81 -81
  46. package/dist/components/core/form/ui/input-email-or-phone.svelte +23 -23
  47. package/dist/components/core/form/ui/input-email.svelte +23 -23
  48. package/dist/components/core/form/ui/input-password-confirm.svelte +23 -23
  49. package/dist/components/core/form/ui/input-password.svelte +23 -23
  50. package/dist/components/core/form/ui/input-phone.svelte +33 -33
  51. package/dist/components/core/form/ui/input-username.svelte +22 -22
  52. package/dist/components/core/grid/ui/01/Grid01.svelte +28 -28
  53. package/dist/components/core/grid/ui/02/Grid02.svelte +28 -28
  54. package/dist/components/core/grid/ui/PanelGrid.svelte +27 -27
  55. package/dist/components/core/grid/ui/SimpleGrid.svelte +35 -35
  56. package/dist/components/core/grid/ui/shared/DescriptionGrid.svelte +23 -23
  57. package/dist/components/core/grid/ui/shared/IconRenderGrid.svelte +21 -21
  58. package/dist/components/core/grid/ui/shared/TitleGrid.svelte +19 -19
  59. package/dist/components/core/hero/SimpleHero.svelte +65 -65
  60. package/dist/components/core/label/LabelOr.svelte +25 -25
  61. package/dist/components/core/link/link-forget-password.svelte +12 -12
  62. package/dist/components/core/link/link-privacy-polity.svelte +12 -12
  63. package/dist/components/core/link/link-terms-of-service.svelte +12 -12
  64. package/dist/components/core/nav/ui/ComplexMenu.svelte +36 -36
  65. package/dist/components/core/nav/ui/Menu.svelte +70 -70
  66. package/dist/components/core/nav/ui/SimpleMenu.svelte +14 -14
  67. package/dist/components/core/nav/ui/mobile/MenuMobile.svelte +54 -54
  68. package/dist/components/core/nav/ui/shared/MenuButton.svelte +51 -51
  69. package/dist/components/core/nav/ui/shared/MenuLinks.svelte +40 -40
  70. package/dist/components/core/nav/ui/shared/MenuListItem.svelte +48 -48
  71. package/dist/components/core/nav/ui/shared/MenuLogo.svelte +13 -13
  72. package/dist/components/core/nav/ui/shared/navigation/NavigationMenuItem.svelte +15 -15
  73. package/dist/components/core/nav/ui/shared/navigation/NavigationMenuItemCard.svelte +62 -62
  74. package/dist/components/core/nav/ui/shared/navigation/NavigationMenuItemGrid.svelte +32 -32
  75. package/dist/components/core/nav/ui/shared/navigation/NavigationMenuItemList.svelte +24 -24
  76. package/dist/components/core/nav/ui/shared/navigation/NavigationMenuItems.svelte +21 -21
  77. package/dist/components/core/panel/CarouselSlot.svelte +57 -57
  78. package/dist/components/core/panel/LeftHero.svelte +117 -117
  79. package/dist/components/core/search/SearchInput.svelte +32 -32
  80. package/dist/components/core/search/shared/SearchInputCore.svelte +66 -66
  81. package/dist/components/core/sidebar/MenuBarSidebar.svelte +70 -70
  82. package/dist/components/core/sidebar/ui/navbar/NavMenuBarSidebar.svelte +97 -97
  83. package/dist/components/core/sidebar/ui/navbar/NavMenuBottomSidebar.svelte +33 -33
  84. package/dist/components/core/sidebar/ui/navbar/NavMenuTopBarSidebar.svelte +103 -103
  85. package/dist/components/core/tabs/ui/tab-underline.svelte +43 -43
  86. package/dist/components/pages/admin/01/ui/AdminContent.svelte +14 -14
  87. package/dist/components/pages/admin/01/ui/AdminPanel.svelte +46 -46
  88. package/dist/components/pages/security/login/01/ui/FormRegister.svelte +28 -28
  89. package/dist/components/pages/security/login/01/ui/LoginCard.svelte +107 -107
  90. package/dist/components/pages/security/login/PageLogin.svelte +22 -22
  91. package/dist/components/ui/badge/badge.svelte +49 -49
  92. package/dist/components/ui/button/button.svelte +82 -82
  93. package/dist/components/ui/chart/chart-container.svelte +80 -80
  94. package/dist/components/ui/chart/chart-style.svelte +37 -37
  95. package/dist/components/ui/chart/chart-tooltip.svelte +184 -184
  96. package/dist/components/ui/checkbox/checkbox.svelte +40 -40
  97. package/dist/components/ui/data-table/flex-render.svelte +40 -40
  98. package/dist/components/ui/drawer/drawer-close.svelte +7 -7
  99. package/dist/components/ui/drawer/drawer-content.svelte +33 -33
  100. package/dist/components/ui/drawer/drawer-description.svelte +17 -17
  101. package/dist/components/ui/drawer/drawer-footer.svelte +20 -20
  102. package/dist/components/ui/drawer/drawer-header.svelte +20 -20
  103. package/dist/components/ui/drawer/drawer-nested.svelte +12 -12
  104. package/dist/components/ui/drawer/drawer-overlay.svelte +17 -17
  105. package/dist/components/ui/drawer/drawer-portal.svelte +7 -7
  106. package/dist/components/ui/drawer/drawer-title.svelte +17 -17
  107. package/dist/components/ui/drawer/drawer-trigger.svelte +7 -7
  108. package/dist/components/ui/drawer/drawer.svelte +12 -12
  109. package/dist/components/ui/select/select-content.svelte +45 -45
  110. package/dist/components/ui/select/select-group-heading.svelte +21 -21
  111. package/dist/components/ui/select/select-group.svelte +17 -17
  112. package/dist/components/ui/select/select-item.svelte +41 -41
  113. package/dist/components/ui/select/select-label.svelte +20 -20
  114. package/dist/components/ui/select/select-portal.svelte +7 -7
  115. package/dist/components/ui/select/select-scroll-down-button.svelte +21 -21
  116. package/dist/components/ui/select/select-scroll-up-button.svelte +21 -21
  117. package/dist/components/ui/select/select-separator.svelte +18 -18
  118. package/dist/components/ui/select/select-trigger.svelte +30 -30
  119. package/dist/components/ui/select/select.svelte +11 -11
  120. package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte +39 -39
  121. package/dist/components/ui/star-rating/star-rating-star.svelte +41 -41
  122. package/dist/components/ui/star-rating/star-rating.svelte +20 -20
  123. package/dist/components/ui/table/table-body.svelte +15 -15
  124. package/dist/components/ui/table/table-caption.svelte +20 -20
  125. package/dist/components/ui/table/table-cell.svelte +15 -15
  126. package/dist/components/ui/table/table-footer.svelte +20 -20
  127. package/dist/components/ui/table/table-head.svelte +15 -15
  128. package/dist/components/ui/table/table-header.svelte +20 -20
  129. package/dist/components/ui/table/table-row.svelte +15 -15
  130. package/dist/components/ui/table/table.svelte +17 -17
  131. package/dist/components/ui/tabs/tabs-content.svelte +17 -17
  132. package/dist/components/ui/tabs/tabs-list.svelte +40 -40
  133. package/dist/components/ui/tabs/tabs-trigger.svelte +23 -23
  134. package/dist/components/ui/tabs/tabs.svelte +19 -19
  135. package/dist/styles/globals.css +149 -149
  136. package/package.json +113 -113
@@ -1,22 +1,22 @@
1
- <script lang="ts">
2
- import type { InputLabelProps } from "../data/InputLabel.svelte";
3
- import InputBase from "./input-base.svelte";
4
- import { t } from "../../../../i18n";
5
-
6
- /** Username input field with icon and label. */
7
- let {
8
- label,
9
- placeholder,
10
- value = $bindable(""),
11
- ...restProps
12
- }: InputLabelProps = $props();
13
- </script>
14
-
15
- <InputBase
16
- label={label || $t("input.username.label")}
17
- placeholder={placeholder || $t("input.username.placeholder")}
18
- isLabel
19
- isIcon
20
- bind:value
21
- {...restProps}
22
- />
1
+ <script lang="ts">
2
+ import type { InputLabelProps } from "../data/InputLabel.svelte";
3
+ import InputBase from "./input-base.svelte";
4
+ import { t } from "../../../../i18n";
5
+
6
+ /** Username input field with icon and label. */
7
+ let {
8
+ label,
9
+ placeholder,
10
+ value = $bindable(""),
11
+ ...restProps
12
+ }: InputLabelProps = $props();
13
+ </script>
14
+
15
+ <InputBase
16
+ label={label || $t("input.username.label")}
17
+ placeholder={placeholder || $t("input.username.placeholder")}
18
+ isLabel
19
+ isIcon
20
+ bind:value
21
+ {...restProps}
22
+ />
@@ -1,28 +1,28 @@
1
- <script lang="ts">
2
- import type { ItemGridProps } from "../../data/types";
3
- import DescriptionGrid from "../shared/DescriptionGrid.svelte";
4
- import IconRenderGrid from "../shared/IconRenderGrid.svelte";
5
- import TitleGrid from "../shared/TitleGrid.svelte";
6
-
7
- let {
8
- id,
9
- icon,
10
- title,
11
- isLoading,
12
- titleClass,
13
- description,
14
- descriptionClass,
15
- onClick,
16
- }: ItemGridProps = $props();
17
- </script>
18
-
19
- <button
20
- onclick={() => {
21
- if (id && onClick) onClick(id);
22
- }}
23
- class="flex flex-col justify-center items-center gap-2"
24
- >
25
- <IconRenderGrid {icon} {isLoading} />
26
- <TitleGrid {titleClass} {title} {isLoading} />
27
- <DescriptionGrid {descriptionClass} {description} {isLoading} />
28
- </button>
1
+ <script lang="ts">
2
+ import type { ItemGridProps } from "../../data/types";
3
+ import DescriptionGrid from "../shared/DescriptionGrid.svelte";
4
+ import IconRenderGrid from "../shared/IconRenderGrid.svelte";
5
+ import TitleGrid from "../shared/TitleGrid.svelte";
6
+
7
+ let {
8
+ id,
9
+ icon,
10
+ title,
11
+ isLoading,
12
+ titleClass,
13
+ description,
14
+ descriptionClass,
15
+ onClick,
16
+ }: ItemGridProps = $props();
17
+ </script>
18
+
19
+ <button
20
+ onclick={() => {
21
+ if (id && onClick) onClick(id);
22
+ }}
23
+ class="flex flex-col justify-center items-center gap-2"
24
+ >
25
+ <IconRenderGrid {icon} {isLoading} />
26
+ <TitleGrid {titleClass} {title} {isLoading} />
27
+ <DescriptionGrid {descriptionClass} {description} {isLoading} />
28
+ </button>
@@ -1,28 +1,28 @@
1
- <script lang="ts">
2
- import type { ItemGridProps } from "../../data/types";
3
- import DescriptionGrid from "../shared/DescriptionGrid.svelte";
4
- import IconRenderGrid from "../shared/IconRenderGrid.svelte";
5
- import TitleGrid from "../shared/TitleGrid.svelte";
6
-
7
- let {
8
- id,
9
- icon,
10
- title,
11
- isLoading,
12
- description,
13
- titleClass,
14
- descriptionClass,
15
- onClick,
16
- }: ItemGridProps = $props();
17
- </script>
18
-
19
- <button
20
- onclick={() => {
21
- if (id && onClick) onClick(id);
22
- }}
23
- class="flex flex-col justify-center items-center gap-2 border rounded-lg p-2 cursor-pointer"
24
- >
25
- <IconRenderGrid {icon} {isLoading} />
26
- <TitleGrid {titleClass} {title} {isLoading} />
27
- <DescriptionGrid {descriptionClass} {description} {isLoading} />
28
- </button>
1
+ <script lang="ts">
2
+ import type { ItemGridProps } from "../../data/types";
3
+ import DescriptionGrid from "../shared/DescriptionGrid.svelte";
4
+ import IconRenderGrid from "../shared/IconRenderGrid.svelte";
5
+ import TitleGrid from "../shared/TitleGrid.svelte";
6
+
7
+ let {
8
+ id,
9
+ icon,
10
+ title,
11
+ isLoading,
12
+ description,
13
+ titleClass,
14
+ descriptionClass,
15
+ onClick,
16
+ }: ItemGridProps = $props();
17
+ </script>
18
+
19
+ <button
20
+ onclick={() => {
21
+ if (id && onClick) onClick(id);
22
+ }}
23
+ class="flex flex-col justify-center items-center gap-2 border rounded-lg p-2 cursor-pointer"
24
+ >
25
+ <IconRenderGrid {icon} {isLoading} />
26
+ <TitleGrid {titleClass} {title} {isLoading} />
27
+ <DescriptionGrid {descriptionClass} {description} {isLoading} />
28
+ </button>
@@ -1,27 +1,27 @@
1
- <script lang="ts">
2
- import { useDevice } from "../../../../hooks/responsive.svelte";
3
- import type { GridProps } from "../data/types";
4
- import Grid02 from "./02/Grid02.svelte";
5
- import Grid01 from "./01/Grid01.svelte";
6
-
7
- let { variant, className, isLoading, items, onClick }: GridProps = $props();
8
-
9
- const styleMobile = "flex justify-between overflow-x-auto no-scrollbar";
10
-
11
- const responsive = useDevice();
12
- </script>
13
-
14
- <div
15
- class="gap-4 my-2 {responsive.isMobile
16
- ? styleMobile
17
- : 'grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 max-h-237.5 overflow-y-auto'}
18
- {className}"
19
- >
20
- {#each items as item, i (i)}
21
- {#if variant == 2}
22
- <Grid02 {...item} {onClick} {isLoading} />
23
- {:else}
24
- <Grid01 {...item} {onClick} {isLoading} />
25
- {/if}
26
- {/each}
27
- </div>
1
+ <script lang="ts">
2
+ import { useDevice } from "../../../../hooks/responsive.svelte";
3
+ import type { GridProps } from "../data/types";
4
+ import Grid02 from "./02/Grid02.svelte";
5
+ import Grid01 from "./01/Grid01.svelte";
6
+
7
+ let { variant, className, isLoading, items, onClick }: GridProps = $props();
8
+
9
+ const styleMobile = "flex justify-between overflow-x-auto no-scrollbar";
10
+
11
+ const responsive = useDevice();
12
+ </script>
13
+
14
+ <div
15
+ class="gap-4 my-2 {responsive.isMobile
16
+ ? styleMobile
17
+ : 'grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 max-h-237.5 overflow-y-auto'}
18
+ {className}"
19
+ >
20
+ {#each items as item, i (i)}
21
+ {#if variant == 2}
22
+ <Grid02 {...item} {onClick} {isLoading} />
23
+ {:else}
24
+ <Grid01 {...item} {onClick} {isLoading} />
25
+ {/if}
26
+ {/each}
27
+ </div>
@@ -1,35 +1,35 @@
1
- <script lang="ts">
2
- import { useDevice } from "../../../../hooks/responsive.svelte";
3
- import type { GridProps } from "../data/types";
4
- import Grid02 from "./02/Grid02.svelte";
5
- import Grid01 from "./01/Grid01.svelte";
6
-
7
- let { variant, className, isLoading, items }: GridProps = $props();
8
-
9
- const styleMobile = "flex justify-between overflow-x-auto no-scrollbar";
10
-
11
- const cols = (): string => {
12
- const len = items?.length ?? 0;
13
- if (len <= 3) return "grid grid-cols-3";
14
- if (len <= 4) return "grid grid-cols-4";
15
- if (len <= 5) return "grid grid-cols-5";
16
- if (len <= 6) return "grid grid-cols-6";
17
- if (len <= 7) return "grid grid-cols-7";
18
- if (len > 7) return styleMobile;
19
- return "grid grid-cols-1";
20
- };
21
-
22
- const responsive = useDevice();
23
- </script>
24
-
25
- <div
26
- class="{responsive.isMobile ? styleMobile : cols()} gap-4 my-2 {className}"
27
- >
28
- {#each items as item, i (i)}
29
- {#if variant == 2}
30
- <Grid02 {...item} {isLoading} />
31
- {:else}
32
- <Grid01 {...item} {isLoading} />
33
- {/if}
34
- {/each}
35
- </div>
1
+ <script lang="ts">
2
+ import { useDevice } from "../../../../hooks/responsive.svelte";
3
+ import type { GridProps } from "../data/types";
4
+ import Grid02 from "./02/Grid02.svelte";
5
+ import Grid01 from "./01/Grid01.svelte";
6
+
7
+ let { variant, className, isLoading, items }: GridProps = $props();
8
+
9
+ const styleMobile = "flex justify-between overflow-x-auto no-scrollbar";
10
+
11
+ const cols = (): string => {
12
+ const len = items?.length ?? 0;
13
+ if (len <= 3) return "grid grid-cols-3";
14
+ if (len <= 4) return "grid grid-cols-4";
15
+ if (len <= 5) return "grid grid-cols-5";
16
+ if (len <= 6) return "grid grid-cols-6";
17
+ if (len <= 7) return "grid grid-cols-7";
18
+ if (len > 7) return styleMobile;
19
+ return "grid grid-cols-1";
20
+ };
21
+
22
+ const responsive = useDevice();
23
+ </script>
24
+
25
+ <div
26
+ class="{responsive.isMobile ? styleMobile : cols()} gap-4 my-2 {className}"
27
+ >
28
+ {#each items as item, i (i)}
29
+ {#if variant == 2}
30
+ <Grid02 {...item} {isLoading} />
31
+ {:else}
32
+ <Grid01 {...item} {isLoading} />
33
+ {/if}
34
+ {/each}
35
+ </div>
@@ -1,23 +1,23 @@
1
- <script lang="ts">
2
- import Skeleton from "../../../../ui/skeleton/skeleton.svelte";
3
-
4
- let {
5
- isLoading,
6
- description,
7
- descriptionClass,
8
- }: {
9
- isLoading?: boolean;
10
- description?: string;
11
- descriptionClass?: string;
12
- } = $props();
13
- </script>
14
-
15
- {#if isLoading}
16
- <Skeleton class="w-full h-2.5 bg-gray-500/95" />
17
- {:else if description}
18
- <p
19
- class="{descriptionClass} text-center min-w-48 md:w-52 lg:w-56 text-muted-foreground line-clamp-2 md:line-clamp-3"
20
- >
21
- {description}
22
- </p>
23
- {/if}
1
+ <script lang="ts">
2
+ import Skeleton from "../../../../ui/skeleton/skeleton.svelte";
3
+
4
+ let {
5
+ isLoading,
6
+ description,
7
+ descriptionClass,
8
+ }: {
9
+ isLoading?: boolean;
10
+ description?: string;
11
+ descriptionClass?: string;
12
+ } = $props();
13
+ </script>
14
+
15
+ {#if isLoading}
16
+ <Skeleton class="w-full h-2.5 bg-gray-500/95" />
17
+ {:else if description}
18
+ <p
19
+ class="{descriptionClass} text-center min-w-48 md:w-52 lg:w-56 text-muted-foreground line-clamp-2 md:line-clamp-3"
20
+ >
21
+ {description}
22
+ </p>
23
+ {/if}
@@ -1,21 +1,21 @@
1
- <script lang="ts">
2
- import Skeleton from "../../../../ui/skeleton/skeleton.svelte";
3
- import { HugeiconsIcon } from "@hugeicons/svelte";
4
- import type { IconSvgElement } from "@hugeicons/svelte";
5
-
6
- let {
7
- icon,
8
- isLoading,
9
- }: {
10
- icon: string | IconSvgElement;
11
- isLoading?: boolean;
12
- } = $props();
13
- </script>
14
-
15
- {#if isLoading}
16
- <Skeleton class="min-w-17.5 md:min-w-25 h-2.5 bg-gray-400" />
17
- {:else if typeof icon === "string"}
18
- <i class="{icon} text-4xl md:text-6xl"></i>
19
- {:else}
20
- <HugeiconsIcon {icon} class="size-8 md:size-10" />
21
- {/if}
1
+ <script lang="ts">
2
+ import Skeleton from "../../../../ui/skeleton/skeleton.svelte";
3
+ import { HugeiconsIcon } from "@hugeicons/svelte";
4
+ import type { IconSvgElement } from "@hugeicons/svelte";
5
+
6
+ let {
7
+ icon,
8
+ isLoading,
9
+ }: {
10
+ icon: string | IconSvgElement;
11
+ isLoading?: boolean;
12
+ } = $props();
13
+ </script>
14
+
15
+ {#if isLoading}
16
+ <Skeleton class="min-w-17.5 md:min-w-25 h-2.5 bg-gray-400" />
17
+ {:else if typeof icon === "string"}
18
+ <i class="{icon} text-4xl md:text-6xl"></i>
19
+ {:else}
20
+ <HugeiconsIcon {icon} class="size-8 md:size-10" />
21
+ {/if}
@@ -1,19 +1,19 @@
1
- <script lang="ts">
2
- import { Skeleton } from "../../../../ui/skeleton";
3
-
4
- let {
5
- isLoading,
6
- title,
7
- titleClass,
8
- }: {
9
- isLoading?: boolean;
10
- title?: string;
11
- titleClass?: string;
12
- } = $props();
13
- </script>
14
-
15
- {#if isLoading}
16
- <Skeleton class="w-full h-12.5 bg-gray-500/95" />
17
- {:else}
18
- <p class={titleClass}>{title}</p>
19
- {/if}
1
+ <script lang="ts">
2
+ import { Skeleton } from "../../../../ui/skeleton";
3
+
4
+ let {
5
+ isLoading,
6
+ title,
7
+ titleClass,
8
+ }: {
9
+ isLoading?: boolean;
10
+ title?: string;
11
+ titleClass?: string;
12
+ } = $props();
13
+ </script>
14
+
15
+ {#if isLoading}
16
+ <Skeleton class="w-full h-12.5 bg-gray-500/95" />
17
+ {:else}
18
+ <p class={titleClass}>{title}</p>
19
+ {/if}
@@ -1,65 +1,65 @@
1
- <script lang="ts">
2
- import { Button } from "../../ui/button/index.js";
3
- import type { HeroSimpleProps } from "./types";
4
- let {
5
- title,
6
- subTitle,
7
- description,
8
- image,
9
- buttons,
10
- titleClass,
11
- subTitleClass,
12
- descriptionClass,
13
- imageClass,
14
- }: HeroSimpleProps = $props();
15
- </script>
16
-
17
- <section class="relative flex p-2">
18
- <div class="w-full grid grid-cols-10 md:grid-cols-2 min-h-50 md:min-h-125">
19
- <div class="flex justify-center items-center">
20
- <div class="space-y-1">
21
- {#if title}
22
- <h1
23
- class="font-bold text-[24px] md:text-[60px] lg:text-[80px] {titleClass}"
24
- >
25
- {title}
26
- </h1>
27
- {/if}
28
- {#if subTitle}
29
- <p class="font-semibold text-[16px] md:text-[40px] {subTitleClass}">
30
- {subTitle}
31
- </p>
32
- {/if}
33
- {#if description}
34
- <p
35
- class="text-[12px] md:text-[20px] md:w-8/12 mt-5 {descriptionClass}"
36
- >
37
- {description}
38
- </p>
39
- {/if}
40
- {#if buttons}
41
- <div class="flex flex-wrap gap-2 mt-5 md:mt-10">
42
- {#each buttons as button, i (i)}
43
- <Button
44
- href={button.href}
45
- class={button.className}
46
- onclick={button.onClick}
47
- >
48
- {button.label}
49
- </Button>
50
- {/each}
51
- </div>
52
- {/if}
53
- </div>
54
- </div>
55
- <div class="flex justify-center items-center">
56
- {#if image}
57
- <img
58
- src={image}
59
- alt={image}
60
- class="rounded-lg h-50 md:h-125 w-[60%] object-cover {imageClass}"
61
- />
62
- {/if}
63
- </div>
64
- </div>
65
- </section>
1
+ <script lang="ts">
2
+ import { Button } from "../../ui/button/index.js";
3
+ import type { HeroSimpleProps } from "./types";
4
+ let {
5
+ title,
6
+ subTitle,
7
+ description,
8
+ image,
9
+ buttons,
10
+ titleClass,
11
+ subTitleClass,
12
+ descriptionClass,
13
+ imageClass,
14
+ }: HeroSimpleProps = $props();
15
+ </script>
16
+
17
+ <section class="relative flex p-2">
18
+ <div class="w-full grid grid-cols-10 md:grid-cols-2 min-h-50 md:min-h-125">
19
+ <div class="flex justify-center items-center">
20
+ <div class="space-y-1">
21
+ {#if title}
22
+ <h1
23
+ class="font-bold text-[24px] md:text-[60px] lg:text-[80px] {titleClass}"
24
+ >
25
+ {title}
26
+ </h1>
27
+ {/if}
28
+ {#if subTitle}
29
+ <p class="font-semibold text-[16px] md:text-[40px] {subTitleClass}">
30
+ {subTitle}
31
+ </p>
32
+ {/if}
33
+ {#if description}
34
+ <p
35
+ class="text-[12px] md:text-[20px] md:w-8/12 mt-5 {descriptionClass}"
36
+ >
37
+ {description}
38
+ </p>
39
+ {/if}
40
+ {#if buttons}
41
+ <div class="flex flex-wrap gap-2 mt-5 md:mt-10">
42
+ {#each buttons as button, i (i)}
43
+ <Button
44
+ href={button.href}
45
+ class={button.className}
46
+ onclick={button.onClick}
47
+ >
48
+ {button.label}
49
+ </Button>
50
+ {/each}
51
+ </div>
52
+ {/if}
53
+ </div>
54
+ </div>
55
+ <div class="flex justify-center items-center">
56
+ {#if image}
57
+ <img
58
+ src={image}
59
+ alt={image}
60
+ class="rounded-lg h-50 md:h-125 w-[60%] object-cover {imageClass}"
61
+ />
62
+ {/if}
63
+ </div>
64
+ </div>
65
+ </section>
@@ -1,25 +1,25 @@
1
- <script lang="ts">
2
- import Separator from "../../ui/separator/separator.svelte";
3
- import { t } from "../../../i18n";
4
-
5
- type Props = {
6
- variant?: "SEPARATOR";
7
- };
8
-
9
- let { variant }: Props = $props();
10
- </script>
11
-
12
- {#if variant === "SEPARATOR"}
13
- <div class="relative my-1 text-center">
14
- <div class="absolute inset-0 flex items-center">
15
- <Separator />
16
- </div>
17
- <span
18
- class="relative bg-white dark:bg-primary px-4 text-[10px] uppercase text-slate-400 tracking-wider"
19
- >
20
- {$t("label.or")}
21
- </span>
22
- </div>
23
- {:else}
24
- {$t("label.or")}
25
- {/if}
1
+ <script lang="ts">
2
+ import Separator from "../../ui/separator/separator.svelte";
3
+ import { t } from "../../../i18n";
4
+
5
+ type Props = {
6
+ variant?: "SEPARATOR";
7
+ };
8
+
9
+ let { variant }: Props = $props();
10
+ </script>
11
+
12
+ {#if variant === "SEPARATOR"}
13
+ <div class="relative my-1 text-center">
14
+ <div class="absolute inset-0 flex items-center">
15
+ <Separator />
16
+ </div>
17
+ <span
18
+ class="relative bg-white dark:bg-primary px-4 text-[10px] uppercase text-slate-400 tracking-wider"
19
+ >
20
+ {$t("label.or")}
21
+ </span>
22
+ </div>
23
+ {:else}
24
+ {$t("label.or")}
25
+ {/if}
@@ -1,12 +1,12 @@
1
- <script lang="ts">
2
- import { t } from "../../../i18n";
3
- import type { HTMLAnchorAttributes } from "svelte/elements";
4
-
5
- type Props = HTMLAnchorAttributes;
6
-
7
- let { ...restProps }: Props = $props();
8
- </script>
9
-
10
- <a {...restProps} class="text-xs text-slate-500 hover:text-slate-800 z-10">
11
- {$t("link.forget.password")}!
12
- </a>
1
+ <script lang="ts">
2
+ import { t } from "../../../i18n";
3
+ import type { HTMLAnchorAttributes } from "svelte/elements";
4
+
5
+ type Props = HTMLAnchorAttributes;
6
+
7
+ let { ...restProps }: Props = $props();
8
+ </script>
9
+
10
+ <a {...restProps} class="text-xs text-slate-500 hover:text-slate-800 z-10">
11
+ {$t("link.forget.password")}!
12
+ </a>
@@ -1,12 +1,12 @@
1
- <script lang="ts">
2
- import { t } from "../../../i18n";
3
- import type { HTMLAnchorAttributes } from "svelte/elements";
4
-
5
- type Props = HTMLAnchorAttributes;
6
-
7
- let { ...restProps }: Props = $props();
8
- </script>
9
-
10
- <a {...restProps} class="text-xs text-slate-500 hover:text-slate-800 z-10">
11
- {$t("link.privacy-policy.label")}
12
- </a>
1
+ <script lang="ts">
2
+ import { t } from "../../../i18n";
3
+ import type { HTMLAnchorAttributes } from "svelte/elements";
4
+
5
+ type Props = HTMLAnchorAttributes;
6
+
7
+ let { ...restProps }: Props = $props();
8
+ </script>
9
+
10
+ <a {...restProps} class="text-xs text-slate-500 hover:text-slate-800 z-10">
11
+ {$t("link.privacy-policy.label")}
12
+ </a>