negodesign 0.0.41 → 0.0.43
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/core/card/product/01/CardProduct01.svelte +6 -0
- package/dist/components/core/card/product/02/CardProduct02.svelte +6 -0
- package/dist/components/core/card/product/data.js +1 -1
- package/dist/components/core/carousel/hero/CarouselHero.svelte +2 -1
- package/dist/components/core/carousel/types.d.ts +1 -0
- package/dist/components/core/footer/ui/01/Footer01.svelte +0 -9
- package/dist/components/pages/privacy-policy-or-terms-of-use/01/PrivacyPolicyOrTermsOfUse01.svelte +20 -10
- package/dist/components/pages/privacy-policy-or-terms-of-use/01/PrivacyPolicyOrTermsOfUse01.svelte.d.ts +2 -5
- package/dist/components/pages/privacy-policy-or-terms-of-use/02/PrivacyPolicyOrTermsOfUse02.svelte +3 -3
- package/dist/components/pages/privacy-policy-or-terms-of-use/02/PrivacyPolicyOrTermsOfUse02.svelte.d.ts +2 -5
- package/dist/components/pages/privacy-policy-or-terms-of-use/PrivacyPolicyOrTermsOfUse.svelte +5 -5
- package/dist/components/pages/privacy-policy-or-terms-of-use/types.d.ts +10 -13
- package/dist/index.d.ts +14 -0
- package/dist/index.js +14 -0
- package/dist/types/index.d.ts +9 -1
- package/package.json +1 -1
|
@@ -86,6 +86,12 @@
|
|
|
86
86
|
onerror={(e) =>
|
|
87
87
|
((e.target as HTMLImageElement).src = ImgPlaceHolderGallery)}
|
|
88
88
|
/>
|
|
89
|
+
{:else}
|
|
90
|
+
<img
|
|
91
|
+
src={ImgPlaceHolderGallery}
|
|
92
|
+
alt="Not Found"
|
|
93
|
+
class="rounded-lg h-36 md:h-44 w-full object-cover object-center"
|
|
94
|
+
/>
|
|
89
95
|
{/if}
|
|
90
96
|
<div class="absolute inset-0 bg-black/5 rounded-sm h-full w-full"></div>
|
|
91
97
|
</aside>
|
|
@@ -85,6 +85,12 @@
|
|
|
85
85
|
onerror={(e) =>
|
|
86
86
|
((e.target as HTMLImageElement).src = ImgPlaceHolderGallery)}
|
|
87
87
|
/>
|
|
88
|
+
{:else}
|
|
89
|
+
<img
|
|
90
|
+
src={ImgPlaceHolderGallery}
|
|
91
|
+
alt="Not Found"
|
|
92
|
+
class="rounded-lg h-36 md:h-44 w-full object-cover object-center"
|
|
93
|
+
/>
|
|
88
94
|
{/if}
|
|
89
95
|
<div class="absolute inset-0 bg-black/5 rounded-sm h-full w-full"></div>
|
|
90
96
|
</aside>
|
|
@@ -2,7 +2,7 @@ import { GlobalIcon, MapPin, NecklaceIcon } from "@hugeicons/core-free-icons";
|
|
|
2
2
|
const items = [
|
|
3
3
|
{
|
|
4
4
|
id: 1,
|
|
5
|
-
imageUrl: "https://images.unsplash.com/photo-1507525428034-b723cf961d3e?q=80&w=1170&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
|
|
5
|
+
//imageUrl: "https://images.unsplash.com/photo-1507525428034-b723cf961d3e?q=80&w=1170&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
|
|
6
6
|
title: "Hotel Baía Azul",
|
|
7
7
|
content: "Acomodação premium de frente para o mar com quartos luxuosos, restaurante internacional, piscina aquecida e serviço de transfer exclusivo para hóspedes.",
|
|
8
8
|
isFavorite: true,
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
intervalMs = 5000,
|
|
14
14
|
transitionMs = 1200,
|
|
15
15
|
indicatorShow = false,
|
|
16
|
+
sectionClass,
|
|
16
17
|
}: CarouselHeroProps & {
|
|
17
18
|
children?: Snippet;
|
|
18
19
|
intervalMs?: number;
|
|
@@ -110,7 +111,7 @@
|
|
|
110
111
|
<NavMenu {...navMenu} />
|
|
111
112
|
|
|
112
113
|
<section
|
|
113
|
-
class="flex flex-col justify-center items-center flex-1 w-full h-auto text-center px-4"
|
|
114
|
+
class="flex flex-col justify-center items-center flex-1 w-full h-auto text-center px-4 {sectionClass}"
|
|
114
115
|
>
|
|
115
116
|
{#key selected.title}
|
|
116
117
|
<div
|
|
@@ -16,16 +16,7 @@
|
|
|
16
16
|
onSubscribe,
|
|
17
17
|
}: FooterProps = $props();
|
|
18
18
|
|
|
19
|
-
let email = $state("");
|
|
20
19
|
const year = new Date().getFullYear();
|
|
21
|
-
|
|
22
|
-
function handleSubscribe(e: SubmitEvent) {
|
|
23
|
-
e.preventDefault();
|
|
24
|
-
const value = email.trim();
|
|
25
|
-
if (!value) return;
|
|
26
|
-
onSubscribe?.(value);
|
|
27
|
-
email = "";
|
|
28
|
-
}
|
|
29
20
|
</script>
|
|
30
21
|
|
|
31
22
|
<footer class="p-10">
|
package/dist/components/pages/privacy-policy-or-terms-of-use/01/PrivacyPolicyOrTermsOfUse01.svelte
CHANGED
|
@@ -12,16 +12,23 @@
|
|
|
12
12
|
</script>
|
|
13
13
|
|
|
14
14
|
<script lang="ts">
|
|
15
|
-
import type { DocPageData } from "../types";
|
|
16
15
|
import { buildToc } from "../shared/toc";
|
|
17
16
|
import PrivacyPolicyOrTermsOfUseBreadcrumb from "../shared/PrivacyPolicyOrTermsOfUseBreadcrumb.svelte";
|
|
18
17
|
import DocSectionView from "../shared/DocSectionView.svelte";
|
|
19
18
|
import DocsSidebar from "./DocsSidebar.svelte";
|
|
20
19
|
import TableOfContents from "./TableOfContents.svelte";
|
|
20
|
+
import type { PrivacyPolicyOrTermsOfUseProps } from "../types";
|
|
21
21
|
|
|
22
|
-
let {
|
|
22
|
+
let {
|
|
23
|
+
breadcrumb,
|
|
24
|
+
sections,
|
|
25
|
+
title,
|
|
26
|
+
lastUpdated,
|
|
27
|
+
isVisibleMenuLeft = true,
|
|
28
|
+
isVisibleMenuRight,
|
|
29
|
+
}: PrivacyPolicyOrTermsOfUseProps = $props();
|
|
23
30
|
|
|
24
|
-
const toc = $derived(buildToc(
|
|
31
|
+
const toc = $derived(buildToc(sections));
|
|
25
32
|
|
|
26
33
|
/** Currently visible section, for highlighting in the TOC (simple scroll-spy). */
|
|
27
34
|
let activeId = $state<string | undefined>(undefined);
|
|
@@ -48,26 +55,29 @@
|
|
|
48
55
|
|
|
49
56
|
<div class="mx-auto max-w-7xl px-6 py-10">
|
|
50
57
|
<div class="flex gap-10">
|
|
51
|
-
|
|
58
|
+
{#if isVisibleMenuLeft}
|
|
59
|
+
<DocsSidebar {sections} {activeId} />
|
|
60
|
+
{/if}
|
|
52
61
|
|
|
53
62
|
<main class="min-w-0 flex-1 flex flex-col gap-8">
|
|
54
63
|
<header class="flex flex-col gap-4">
|
|
55
64
|
<div>
|
|
56
|
-
<h1 class="text-3xl font-bold tracking-tight">{
|
|
65
|
+
<h1 class="text-3xl font-bold tracking-tight">{title}</h1>
|
|
57
66
|
<p class="mt-1 text-sm text-muted-foreground">
|
|
58
|
-
Latest update: {
|
|
67
|
+
Latest update: {lastUpdated}
|
|
59
68
|
</p>
|
|
60
69
|
</div>
|
|
61
|
-
<PrivacyPolicyOrTermsOfUseBreadcrumb items={
|
|
70
|
+
<PrivacyPolicyOrTermsOfUseBreadcrumb items={breadcrumb} />
|
|
62
71
|
</header>
|
|
63
72
|
|
|
64
73
|
<div class="flex flex-col gap-10">
|
|
65
|
-
{#each
|
|
74
|
+
{#each sections as section (section.id)}
|
|
66
75
|
<DocSectionView {section} />
|
|
67
76
|
{/each}
|
|
68
77
|
</div>
|
|
69
78
|
</main>
|
|
70
|
-
|
|
71
|
-
|
|
79
|
+
{#if isVisibleMenuRight}
|
|
80
|
+
<TableOfContents items={toc} {activeId} />
|
|
81
|
+
{/if}
|
|
72
82
|
</div>
|
|
73
83
|
</div>
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
data: DocPageData;
|
|
4
|
-
};
|
|
5
|
-
declare const PrivacyPolicyOrTermsOfUse01: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
1
|
+
import type { PrivacyPolicyOrTermsOfUseProps } from "../types";
|
|
2
|
+
declare const PrivacyPolicyOrTermsOfUse01: import("svelte").Component<PrivacyPolicyOrTermsOfUseProps, {}, "">;
|
|
6
3
|
type PrivacyPolicyOrTermsOfUse01 = ReturnType<typeof PrivacyPolicyOrTermsOfUse01>;
|
|
7
4
|
export default PrivacyPolicyOrTermsOfUse01;
|
package/dist/components/pages/privacy-policy-or-terms-of-use/02/PrivacyPolicyOrTermsOfUse02.svelte
CHANGED
|
@@ -11,14 +11,14 @@
|
|
|
11
11
|
</script>
|
|
12
12
|
|
|
13
13
|
<script lang="ts">
|
|
14
|
-
import type { DocPageData } from "../types";
|
|
15
14
|
import DocsPageHero from "./DocsPageHero.svelte";
|
|
15
|
+
import type { PrivacyPolicyOrTermsOfUseProps } from "../types";
|
|
16
16
|
|
|
17
|
-
let { data }:
|
|
17
|
+
let { ...data }: PrivacyPolicyOrTermsOfUseProps = $props();
|
|
18
18
|
</script>
|
|
19
19
|
|
|
20
20
|
<svelte:head>
|
|
21
21
|
<title>{data.title}</title>
|
|
22
22
|
</svelte:head>
|
|
23
23
|
|
|
24
|
-
<DocsPageHero
|
|
24
|
+
<DocsPageHero {data} />
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
data: DocPageData;
|
|
4
|
-
};
|
|
5
|
-
declare const PrivacyPolicyOrTermsOfUse02: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
1
|
+
import type { PrivacyPolicyOrTermsOfUseProps } from "../types";
|
|
2
|
+
declare const PrivacyPolicyOrTermsOfUse02: import("svelte").Component<PrivacyPolicyOrTermsOfUseProps, {}, "">;
|
|
6
3
|
type PrivacyPolicyOrTermsOfUse02 = ReturnType<typeof PrivacyPolicyOrTermsOfUse02>;
|
|
7
4
|
export default PrivacyPolicyOrTermsOfUse02;
|
package/dist/components/pages/privacy-policy-or-terms-of-use/PrivacyPolicyOrTermsOfUse.svelte
CHANGED
|
@@ -8,10 +8,10 @@
|
|
|
8
8
|
* @component
|
|
9
9
|
* @example
|
|
10
10
|
* ```svelte
|
|
11
|
-
|
|
11
|
+
* <!-- Variant 1 (default) — docs layout with sidebar -->
|
|
12
12
|
* <PrivacyPolicyOrTermsOfUse variant={1} data={pageData} />
|
|
13
13
|
*
|
|
14
|
-
|
|
14
|
+
* <!-- Variant 2 — layout with hero -->
|
|
15
15
|
* <PrivacyPolicyOrTermsOfUse variant={2} data={pageData} />
|
|
16
16
|
* ```
|
|
17
17
|
*/
|
|
@@ -22,11 +22,11 @@
|
|
|
22
22
|
import PrivacyPolicyOrTermsOfUse01 from "./01/PrivacyPolicyOrTermsOfUse01.svelte";
|
|
23
23
|
import PrivacyPolicyOrTermsOfUse02 from "./02/PrivacyPolicyOrTermsOfUse02.svelte";
|
|
24
24
|
|
|
25
|
-
let { variant = 1, data }: PrivacyPolicyOrTermsOfUseProps = $props();
|
|
25
|
+
let { variant = 1, ...data }: PrivacyPolicyOrTermsOfUseProps = $props();
|
|
26
26
|
</script>
|
|
27
27
|
|
|
28
28
|
{#if variant === 2}
|
|
29
|
-
<PrivacyPolicyOrTermsOfUse02 {data} />
|
|
29
|
+
<PrivacyPolicyOrTermsOfUse02 {...data} />
|
|
30
30
|
{:else}
|
|
31
|
-
<PrivacyPolicyOrTermsOfUse01 {data} />
|
|
31
|
+
<PrivacyPolicyOrTermsOfUse01 {...data} />
|
|
32
32
|
{/if}
|
|
@@ -37,17 +37,6 @@ export interface DocSection {
|
|
|
37
37
|
/** subsecções aninhadas */
|
|
38
38
|
subsections?: DocSection[];
|
|
39
39
|
}
|
|
40
|
-
/** Dados completos de uma página de documentação/política. */
|
|
41
|
-
export interface DocPageData {
|
|
42
|
-
/** título da página */
|
|
43
|
-
title: string;
|
|
44
|
-
/** data da última atualização */
|
|
45
|
-
lastUpdated: string;
|
|
46
|
-
/** itens do breadcrumb */
|
|
47
|
-
breadcrumb: BreadcrumbItem[];
|
|
48
|
-
/** secções de conteúdo (usadas pela sidebar, TOC e renderização) */
|
|
49
|
-
sections: DocSection[];
|
|
50
|
-
}
|
|
51
40
|
/** Item derivado automaticamente das secções, para a tabela de conteúdos (TOC). */
|
|
52
41
|
export interface TocItem {
|
|
53
42
|
id: string;
|
|
@@ -57,6 +46,14 @@ export interface TocItem {
|
|
|
57
46
|
export interface PrivacyPolicyOrTermsOfUseProps {
|
|
58
47
|
/** Variante do layout: 1 = sidebar+TOC, 2 = hero+coluna. */
|
|
59
48
|
variant?: 1 | 2;
|
|
60
|
-
/**
|
|
61
|
-
|
|
49
|
+
/** título da página */
|
|
50
|
+
title: string;
|
|
51
|
+
/** data da última atualização */
|
|
52
|
+
lastUpdated: string;
|
|
53
|
+
/** itens do breadcrumb */
|
|
54
|
+
breadcrumb: BreadcrumbItem[];
|
|
55
|
+
/** secções de conteúdo (usadas pela sidebar, TOC e renderização) */
|
|
56
|
+
sections: DocSection[];
|
|
57
|
+
isVisibleMenuLeft?: boolean;
|
|
58
|
+
isVisibleMenuRight?: boolean;
|
|
62
59
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -19,6 +19,8 @@ import PageOtpVerification from "./components/pages/security/otp-verification/Pa
|
|
|
19
19
|
import PageForgetPassword from "./components/pages/security/forget-password/PageForgetPassword.svelte";
|
|
20
20
|
import PageResetPassword from "./components/pages/security/reset-password/PageResetPassword.svelte";
|
|
21
21
|
import TabUnderline from "./components/core/tabs/ui/tab-underline.svelte";
|
|
22
|
+
import CarouselGridPromotion from "./components/core/carousel/grid/promotion/ui/CarouselGridPromotion.svelte";
|
|
23
|
+
import CarouselGridProduct from "./components/core/carousel/grid/product/ui/CarouselGridProduct.svelte";
|
|
22
24
|
import CarouselGridProfile from "./components/core/carousel/grid/profile/ui/CarouselGridProfile.svelte";
|
|
23
25
|
import CarouselHighlights from "./components/core/carousel/highlights/ui/CarouselHighlights.svelte";
|
|
24
26
|
import CarouselGridMedia from "./components/core/carousel/grid/media/ui/CarouselGridMedia.svelte";
|
|
@@ -120,6 +122,18 @@ CarouselGridMedia,
|
|
|
120
122
|
* @see CarouselProfileProps
|
|
121
123
|
*/
|
|
122
124
|
CarouselGridProfile,
|
|
125
|
+
/**
|
|
126
|
+
* Layout em grid responsivo de cards de produto (imagens ou vídeos).
|
|
127
|
+
* Em telas mobile transforma-se num carousel com swipe.
|
|
128
|
+
* @see CarouselProductProps
|
|
129
|
+
*/
|
|
130
|
+
CarouselGridProduct,
|
|
131
|
+
/**
|
|
132
|
+
* Layout em grid responsivo de cards de produto in promotion (imagens ou vídeos).
|
|
133
|
+
* Em telas mobile transforma-se num carousel com swipe.
|
|
134
|
+
* @see CarouselGridPromotion
|
|
135
|
+
*/
|
|
136
|
+
CarouselGridPromotion,
|
|
123
137
|
/**
|
|
124
138
|
* Componente de abas com estilo underline. Troca o conteúdo (Snippet)
|
|
125
139
|
* conforme a aba selecionada.
|
package/dist/index.js
CHANGED
|
@@ -19,6 +19,8 @@ import PageOtpVerification from "./components/pages/security/otp-verification/Pa
|
|
|
19
19
|
import PageForgetPassword from "./components/pages/security/forget-password/PageForgetPassword.svelte";
|
|
20
20
|
import PageResetPassword from "./components/pages/security/reset-password/PageResetPassword.svelte";
|
|
21
21
|
import TabUnderline from "./components/core/tabs/ui/tab-underline.svelte";
|
|
22
|
+
import CarouselGridPromotion from "./components/core/carousel/grid/promotion/ui/CarouselGridPromotion.svelte";
|
|
23
|
+
import CarouselGridProduct from "./components/core/carousel/grid/product/ui/CarouselGridProduct.svelte";
|
|
22
24
|
import CarouselGridProfile from "./components/core/carousel/grid/profile/ui/CarouselGridProfile.svelte";
|
|
23
25
|
import CarouselHighlights from "./components/core/carousel/highlights/ui/CarouselHighlights.svelte";
|
|
24
26
|
import CarouselGridMedia from "./components/core/carousel/grid/media/ui/CarouselGridMedia.svelte";
|
|
@@ -120,6 +122,18 @@ CarouselGridMedia,
|
|
|
120
122
|
* @see CarouselProfileProps
|
|
121
123
|
*/
|
|
122
124
|
CarouselGridProfile,
|
|
125
|
+
/**
|
|
126
|
+
* Layout em grid responsivo de cards de produto (imagens ou vídeos).
|
|
127
|
+
* Em telas mobile transforma-se num carousel com swipe.
|
|
128
|
+
* @see CarouselProductProps
|
|
129
|
+
*/
|
|
130
|
+
CarouselGridProduct,
|
|
131
|
+
/**
|
|
132
|
+
* Layout em grid responsivo de cards de produto in promotion (imagens ou vídeos).
|
|
133
|
+
* Em telas mobile transforma-se num carousel com swipe.
|
|
134
|
+
* @see CarouselGridPromotion
|
|
135
|
+
*/
|
|
136
|
+
CarouselGridPromotion,
|
|
123
137
|
/**
|
|
124
138
|
* Componente de abas com estilo underline. Troca o conteúdo (Snippet)
|
|
125
139
|
* conforme a aba selecionada.
|
package/dist/types/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import type { OtpVerificationRequestDto, PageOtpVerificationProps } from "../com
|
|
|
5
5
|
import type { NavMenuLinksProps, NavMenuLogoProps, NavMenuActionsProps, NavMenuProps } from "../components/core/nav/data/nav-menu";
|
|
6
6
|
import type { NavMenuSidebarProps, NavMenuAndSubmenuSidebarProps, GroupMenuSidebarProps, SubMenuSidebarProps, NavMenuItem } from "../components/core/nav/data/nav-menu-sidebar";
|
|
7
7
|
import type { NavUserSidebarProps } from "../components/core/nav/data/nav-user-sidebar";
|
|
8
|
-
import type { CardMediaProps, CardProfileProps, CardPromotionProps, CardHighlightProps, CardTagsProps } from "../components/core/card/types";
|
|
8
|
+
import type { CardMediaProps, CardProfileProps, CardPromotionProps, CardHighlightProps, CardTagsProps, CardProductProps } from "../components/core/card/types";
|
|
9
9
|
import type { CarouselGridMediaProps } from "../components/core/carousel/grid/media/types";
|
|
10
10
|
import type { CarouselGridProfileProps } from "../components/core/carousel/grid/profile/types";
|
|
11
11
|
import type { CarouselHighlightsProps } from "../components/core/carousel/highlights/types";
|
|
@@ -25,6 +25,8 @@ import type { ProductDetailsProps, ProductDetailsData, ProductDetailsBreadcrumbI
|
|
|
25
25
|
import type { PrivacyPolicyOrTermsOfUseProps, DocPageData, DocSection, ContentBlock, BreadcrumbItem, TocItem } from "../components/pages/privacy-policy-or-terms-of-use/types";
|
|
26
26
|
import type { InputLabelProps } from "../components/core/form/data/InputLabel.svelte";
|
|
27
27
|
import type { NegoDesignProps } from "../components/types";
|
|
28
|
+
import type { CarouselGridPromotionProps } from "../components/core/carousel/grid/promotion/types";
|
|
29
|
+
import type { CarouselGridProductProps } from "../components/core/carousel/grid/product/types";
|
|
28
30
|
export type {
|
|
29
31
|
/** Props de um link individual no menu de navegação. @see NavMenuLinksProps */
|
|
30
32
|
NavMenuLinksProps,
|
|
@@ -56,6 +58,8 @@ CardProfileProps,
|
|
|
56
58
|
CardPromotionProps,
|
|
57
59
|
/** Props do CardHighlight — card de destaque/organização com botão de ação. @see CardHighlightProps */
|
|
58
60
|
CardHighlightProps,
|
|
61
|
+
/** Props do CardProduct — card de produto com preço antigo/novo e botão comprar. @see CardProductProps */
|
|
62
|
+
CardProductProps,
|
|
59
63
|
/** Props do cabeçalho de carousel (título, descrição, botão "Ver tudo"). @see CarouselHeaderProps */
|
|
60
64
|
CarouselHeaderProps,
|
|
61
65
|
/** Props do slot/container de carousel (botões navegação, plugins, bordas). @see CarouselSlotProps */
|
|
@@ -76,6 +80,10 @@ CarouselGridProfileProps,
|
|
|
76
80
|
CarouselHighlightsProps,
|
|
77
81
|
/** Props do CarouselPromotion — carousel de cards de promoção com preços. @see CarouselPromotionProps */
|
|
78
82
|
CarouselPromotionProps,
|
|
83
|
+
/** Props do CarouselGridPromotion — grid de cards de produto em promoção. @see CarouselGridPromotionProps */
|
|
84
|
+
CarouselGridPromotionProps,
|
|
85
|
+
/** Props do CarouselGridProduct — grid de cards de produto @see CarouselGridProductProps */
|
|
86
|
+
CarouselGridProductProps,
|
|
79
87
|
/** Props base do banner de anúncio (AdCardBanner). @see BannerProps */
|
|
80
88
|
BannerProps,
|
|
81
89
|
/** Alias para BannerProps — props do componente AdCardBanner. @see AdCardBannerProps */
|